hengheng123456789
BlogJava
::
首頁
::
聯(lián)系
::
聚合
::
管理
297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(33)
給我留言
查看公開留言
查看私人留言
我參與的團隊
隨筆分類
(337)
Android(2)
CMMI-Common(5)
CMMI-PPQA(6)
JAVA-BI(6)
JAVA-Common(39)
JAVA-DB(7)
JAVA-Definition(4)
JAVA-Eclipse(25)
JAVA-IP(3)
JAVA-Server(2)
JAVA-Web(19)
Mobile-Common(1)
OS(2)
T型結(jié)構(gòu)(53)
云(18)
人生諫言(17)
健康第一(2)
如是我聞(40)
市場學(xué)習(xí)(42)
法律學(xué)習(xí)(3)
禮儀學(xué)習(xí)(6)
管理學(xué)習(xí)(24)
英語學(xué)習(xí)(5)
談判無處不在(6)
隨筆檔案
(296)
2011年5月 (1)
2011年4月 (4)
2011年2月 (2)
2011年1月 (9)
2010年12月 (9)
2010年9月 (6)
2010年8月 (39)
2008年2月 (8)
2008年1月 (42)
2007年12月 (15)
2007年10月 (6)
2007年9月 (44)
2007年6月 (9)
2007年5月 (8)
2007年4月 (6)
2007年3月 (33)
2007年2月 (12)
2007年1月 (11)
2006年12月 (5)
2006年11月 (7)
2006年10月 (3)
2006年9月 (2)
2006年8月 (15)
文章分類
(78)
BI(15)
Code Generation(2)
Design Pattern(9)
Eclipse(4)
EDI(1)
HSQL(1)
IP
JBOSS(2)
JMS(1)
JMX(10)
Linux(5)
QA(1)
SWT(16)
WorkFlow
XML(1)
其他(8)
應(yīng)用參考(2)
文章檔案
(68)
2007年9月 (1)
2007年3月 (10)
2007年2月 (1)
2006年12月 (9)
2006年11月 (21)
2006年10月 (5)
2006年9月 (7)
2006年8月 (14)
相冊
TEMP
搜索
積分與排名
積分 - 432878
排名 - 128
最新評論
1.?re: 6、模型Bean:Model Bean
好復(fù)雜呀。概念的東西,其實就是各種info,還有描述。
--袁良錠
2.?re: 5、用Apache的commons-modeler來輔助開發(fā)JMX
樓主第一個類忘記去掉implements HelloMBean了。
--袁良錠
3.?re: 4、動態(tài)MBean:DynamicMBean
最喜歡你這種的寫博客了。簡潔,demo代碼又全。
--袁良錠
4.?re: 3、Notification的使用
通過Notification發(fā)日志到主工作站。
Notification也可以通過網(wǎng)絡(luò)發(fā)送?
--袁良錠
5.?re: 2、JMX簡介
很好的內(nèi)容呀。簡潔清晰。
--袁良錠
閱讀排行榜
1.?Hive 入門(轉(zhuǎn))(30063)
2.?Linux中Eclipse的安裝(10308)
3.?簡便更改Eclipse的Title標題/標題圖標/啟動畫面/幫助信息(8884)
4.?調(diào)試運行Eclipse插件遇到的問題:The editor class could not be instantiated.(8243)
5.?JAAS 實例配置(6024)
評論排行榜
1.?JAAS 實例配置(13)
2.?提高代碼質(zhì)量的Eclipse插件之CheckStyle(6)
3.?簡便更改Eclipse的Title標題/標題圖標/啟動畫面/幫助信息(6)
4.?如何更改Eclipse運行環(huán)境的Title標題(5)
5.?Jboss之JMX實例:上傳文件到Jboss目錄中(4)
Liferay Portal 技術(shù)理解之 概述
Liferay
不再依賴于
EJB
,它完全可以單獨裝配到一個
servlet
容器(如:
Tomcat,JBoss
等)中。而所有的業(yè)務(wù)邏輯都通過
Spring
管理的
POJO
來實現(xiàn)。這樣的實現(xiàn)利益于
Spring
的
AOP
各
IOC
特性。
但在
POJO
的實現(xiàn)方法上
Liferay
的兩個版本有所不同,企業(yè)版(
enterprise
)中通過
EJB
從而為大站點提供了高擴展性各良好的事務(wù)支持能力(如集群),而專業(yè)版(
professiona
)直接通過輕量級的接口完成。
所有的業(yè)務(wù)數(shù)據(jù)都通過
Hibernate
來實現(xiàn)并通過
POJO
來調(diào)用。
Liferay
曾經(jīng)使用
CMP
技術(shù)
.
來實現(xiàn)持久層,但后來因速度及靈活性等原因改用
Hibernate
。在數(shù)據(jù)庫方面,
Liferay
也完全兼容大多數(shù)主流類型
DB
。
Liferay
使用
JAAS
來完成用戶認證安全管理,好處是當一個用戶登錄后,它的安全屬性可以在
Servlet
和
EJB
層中沿用,真正作到系統(tǒng)級的
SSO
。具體講,遠程
EJB
可以沿用安全檢查及權(quán)限屬性,本地的
EJB
是為其它
EJB
提供業(yè)務(wù)邏輯服務(wù)的,不能被遠程調(diào)用所以也不必做此類檢查;安全原則也派生到
POJO
實現(xiàn)中,而這此實現(xiàn)其實是遠程
EJB
的基礎(chǔ)類。
企業(yè)版式使用
EJB
,所以系統(tǒng)分別可以在
WEB
服務(wù)器、
EJB
服務(wù)器、數(shù)據(jù)庫服務(wù)器三層中實現(xiàn)集群。當然在
n
層的系統(tǒng)中,集群也保持優(yōu)勢,而且在每一層都并不強迫使用集群,這些都為大企業(yè)應(yīng)用提供了極好的彈性選擇權(quán)。
系統(tǒng)中的
EJB
、
HBM
、以及模式
Model
者是
ant
執(zhí)行
build-ejb
任務(wù)時,通過讀取目錄
/portal-ejb
下的
ejb.xml
文件,然后自動生成的。每個有持久層對象的門戶單元(
portlet
)都有自己的
ejb.xml
文件(可以在
/portal-ejb
下搜索得到清單)。當需要生成持久層的類時,就把文件復(fù)制到
/portal-ejb
下,這生成工具是建立在
XDoclet
之上的。
例如:通過讀取
Bookmarks
門戶單元的
ejb.xml
文件配置后,自動生成下列的模式類。每個類對應(yīng)數(shù)據(jù)庫中的一個表。永遠不要手工修改
BookmarksEntryModel
類,而要通過修改
BookmarksEntry
,然后再更新
BookmarksEntryModel
內(nèi)容。這樣做的好處是減少了直接寫代碼的工作,而只做相應(yīng)的標記工作。
com.liferay.portlet.bookmarks.model.BookmarksEntry
com.liferay.portlet.bookmarks.model.BookmarksEntryModel
com.liferay.portlet.bookmarks.model.BookmarksFolder
com.liferay.portlet.bookmarks.model.BookmarksFolderModel
Hibernate
類是根據(jù)模式(
model
)類對應(yīng)生成的。這樣就可以在多層系統(tǒng)中允許模式類是可作序列化處理的,而
Hibernate
類則不必。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryHBM
com.liferay.portlet.bookmarks.ejb.BookmarksFolderHBM
持久層的方法如:
add, update, delete, find, remove,
以及
count
,系統(tǒng)都默認自動生成。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryPersistence
com.liferay.portlet.bookmarks.ejb.BookmarksFolderPersistence
也生成了專門的協(xié)助類(
Helper classes
),可以用來調(diào)用持久層方法。默認時,協(xié)助類調(diào)用
Hibernate
的方法來對數(shù)據(jù)庫進行更新操作,但是也可以改寫
portal.properties
中的配置,使用自己專用的類來完成,但這種類要求要繼承默認的持久層類。換言之,用戶完全可以定制自己的持久層數(shù)據(jù),可以是一個正統(tǒng)的數(shù)據(jù)庫,或者是
LDAP
服務(wù)器,其它什么的。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryUtil
com.liferay.portlet.bookmarks.ejb.BookmarksFolderUtil
為了減少對象生成的成本,引入了對象池,可以通過修改
portal.properties
文件來控制池的基本動作。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryPool
com.liferay.portlet.bookmarks.ejb.BookmarksFolderPool
用來實現(xiàn)業(yè)務(wù)邏輯的
POJ
O類,通過繼承
PrincipalBean
類,來實現(xiàn)有關(guān)調(diào)用者的方法,所以可以遠程調(diào)用。如:調(diào)用
getUserId()
可以得到當前用戶的
ID
;調(diào)用
getUser()
則返回當前用戶的對象。
EJB
再繼承這類
POJO
,實現(xiàn)遠程調(diào)用。
例如:下面的類實現(xiàn)了,允許當且公當
bookmark
項目或目錄的生成者可以刪除它。這些對象只有在不存在時才可能被創(chuàng)建。
協(xié)助類(
Helper classes
)是在
POJO
的實現(xiàn)基礎(chǔ)上生成的。它可以節(jié)約開發(fā)者的工作,不必書寫很多行的代碼,而只要簡單的找到合適的
EJB wrapper
或
POJO
實現(xiàn),通過調(diào)用
BookmarksEntryManagerUtil.addEntry
來間接調(diào)用相應(yīng)的
BookmarksEntryManagerImpl.addEntry
方法就可以了。
BookmarksEntryManagerUtil
通過調(diào)用
BookmarksFolderManagerFactory
來查找實現(xiàn)
BookmarksEntryManager
的類。也正是通過
BookmarksFolderManagerFactory
來識別
Spring
和
portal.properties
中的配置來決定要是載入
EJB wrapper
還是
POJO
實現(xiàn)。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManager
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManagerEJB
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManagerEJBImpl
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManagerFactory
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManagerHome
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManagerUtil
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManager
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManagerEJB
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManagerEJBImpl
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManagerFactory
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManagerHome
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManagerUtil
隧道類(
Tunneling classes
)是用來實現(xiàn)通過
80
端口來調(diào)用
POJO
的。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManagerHttp
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManagerHttp
Soap
類也是用來實現(xiàn)通過
80
端口來調(diào)用
POJO
的。雖然與隧道類相比
Soap
類在速度上要差一點,原因是隧道類使用二進制數(shù)據(jù)流。但
Soap
類用靈活,可以適用各種客戶端(不局限于
Java
)。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManagerSoap
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManagerSoap
Soap
類也是用來實現(xiàn)通過
80
端口來調(diào)用
POJO
的。雖然與隧道類相比
Soap
類在速度上要差一點,原因是隧道類使用二進制數(shù)據(jù)流。但
Soap
類用靈活,可以適用各種客戶端(不局限于
Java
)。
這些類只有在檢驗到不存在時才會被創(chuàng)建。
同時協(xié)助類也生成了。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryLocalManager
com.liferay.portlet.bookmarks.ejb.BookmarksEntryLocalManagerEJB
com.liferay.portlet.bookmarks.ejb.BookmarksEntryLocalManagerEJBImpl
com.liferay.portlet.bookmarks.ejb.BookmarksEntryLocalManagerFactory
com.liferay.portlet.bookmarks.ejb.BookmarksEntryLocalManagerHome
com.liferay.portlet.bookmarks.ejb.BookmarksEntryLocalManagerUtil
com.liferay.portlet.bookmarks.ejb.BookmarksFolderLocalManager
com.liferay.portlet.bookmarks.ejb.BookmarksFolderLocalManagerEJB
com.liferay.portlet.bookmarks.ejb.BookmarksFolderLocalManagerEJBImpl
com.liferay.portlet.bookmarks.ejb.BookmarksFolderLocalManagerFactory
com.liferay.portlet.bookmarks.ejb.BookmarksFolderLocalManagerHome
com.liferay.portlet.bookmarks.ejb.BookmarksFolderLocalManagerUtil
但總有一些用戶需要調(diào)用引種當?shù)仡悾谑峭耆鄬?yīng)的遠程類也應(yīng)用而生了。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryRemoteManager
com.liferay.portlet.bookmarks.ejb.BookmarksEntryRemoteManagerEJB
com.liferay.portlet.bookmarks.ejb.BookmarksEntryRemoteManagerEJBImpl
com.liferay.portlet.bookmarks.ejb.BookmarksEntryRemoteManagerFactory
com.liferay.portlet.bookmarks.ejb.BookmarksEntryRemoteManagerHome
com.liferay.portlet.bookmarks.ejb.BookmarksEntryRemoteManagerUtil
com.liferay.portlet.bookmarks.ejb.BookmarksFolderRemoteManager
com.liferay.portlet.bookmarks.ejb.BookmarksFolderRemoteManagerEJB
com.liferay.portlet.bookmarks.ejb.BookmarksFolderRemoteManagerEJBImpl
com.liferay.portlet.bookmarks.ejb.BookmarksFolderRemoteManagerFactory
com.liferay.portlet.bookmarks.ejb.BookmarksFolderRemoteManagerHome
com.liferay.portlet.bookmarks.ejb.BookmarksFolderRemoteManagerUtil
許多人避免使用
EJB
,因為它的重量級,需要大量的代碼工作。
Liferay
的自動生成腳本可以使得,既不損失
EJB
的優(yōu)點,而且還最小化重復(fù)的代碼等工作,從而你可以在努力與結(jié)果之間找到一個良好的平衡點。
Spring
也給
Liferay
帶來了更多的好處。開發(fā)者既可以利用專業(yè)版在一個
servlet
容器中測試
POJO
的實現(xiàn),也可以通過企業(yè)版在應(yīng)用服務(wù)器上裝載要上線的產(chǎn)品。
posted on 2007-02-10 13:10
哼哼
閱讀(1196)
評論(1)
編輯
收藏
所屬分類:
JAVA-Web
Feedback
#
re: Liferay Portal 技術(shù)理解之 概述
2008-07-04 21:28
Beijing_M
Hi ,好消息和大家分享:
Liferay 大連的聯(lián)系方式:
MSN: eonpeter@gmail.com
大家可以和peter聯(lián)系,可以從他那得到足夠幫助
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
Easy Ajax with Struts 2
Using Drools in Your Enterprise Java Application
Apache MINA 快速入門
MINA Beginning
Wicket Beginning
FLEX是什么及與FLASH的關(guān)系的介紹
Liferay Portal 之 jbpm 配置
Java Web services 開發(fā)之建立Web services(使用 Web Tools Project)
Java Web services 開發(fā)之WSDL (使用 Web Tools Project)
Java Web services 開發(fā)之概念
Copyright @ 哼哼
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster
主站蜘蛛池模板:
久久亚洲欧美国产精品
|
香蕉国产在线观看免费
|
亚洲一区无码精品色
|
无码精品A∨在线观看免费
|
成人毛片100免费观看
|
亚洲AV日韩综合一区
|
亚洲人成黄网在线观看
|
久久综合九九亚洲一区
|
四虎永久免费影院
|
精品国产一区二区三区免费看
|
久久99热精品免费观看牛牛
|
国产裸体美女永久免费无遮挡
|
久久亚洲精品无码av
|
亚洲xxxx视频
|
亚洲中文无码亚洲人成影院
|
亚洲一级黄色大片
|
亚洲最新中文字幕
|
亚洲美女视频一区二区三区
|
久久青草亚洲AV无码麻豆
|
亚洲国产精品无码久久SM
|
国产综合亚洲专区在线
|
亚洲人成色77777在线观看大
|
亚洲国产精品无码久久久秋霞2
|
亚洲黄黄黄网站在线观看
|
国产大片91精品免费看3
|
暖暖在线日本免费中文
|
韩国免费三片在线视频
|
日韩免费观看视频
|
最好免费观看韩国+日本
|
免费无码又爽又高潮视频
|
最好免费观看韩国+日本
|
国产又粗又长又硬免费视频
|
免费理论片51人人看电影
|
午夜视频免费观看
|
国产男女猛烈无遮挡免费视频
|
日韩一区二区免费视频
|
国产三级电影免费观看
|
亚洲精品无码久久久久AV麻豆
|
国产亚洲av人片在线观看
|
久久亚洲精品中文字幕三区
|
亚洲不卡中文字幕无码
|