hengheng123456789
BlogJava
::
首頁
::
聯系
::
聚合
::
管理
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型結構(53)
云(18)
人生諫言(17)
健康第一(2)
如是我聞(40)
市場學習(42)
法律學習(3)
禮儀學習(6)
管理學習(24)
英語學習(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)
應用參考(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
搜索
積分與排名
積分 - 433117
排名 - 128
最新評論
1.?re: 6、模型Bean:Model Bean
好復雜呀。概念的東西,其實就是各種info,還有描述。
--袁良錠
2.?re: 5、用Apache的commons-modeler來輔助開發JMX
樓主第一個類忘記去掉implements HelloMBean了。
--袁良錠
3.?re: 4、動態MBean:DynamicMBean
最喜歡你這種的寫博客了。簡潔,demo代碼又全。
--袁良錠
4.?re: 3、Notification的使用
通過Notification發日志到主工作站。
Notification也可以通過網絡發送?
--袁良錠
5.?re: 2、JMX簡介
很好的內容呀。簡潔清晰。
--袁良錠
閱讀排行榜
1.?Hive 入門(轉)(30065)
2.?Linux中Eclipse的安裝(10311)
3.?簡便更改Eclipse的Title標題/標題圖標/啟動畫面/幫助信息(8886)
4.?調試運行Eclipse插件遇到的問題:The editor class could not be instantiated.(8244)
5.?JAAS 實例配置(6025)
評論排行榜
1.?JAAS 實例配置(13)
2.?提高代碼質量的Eclipse插件之CheckStyle(6)
3.?簡便更改Eclipse的Title標題/標題圖標/啟動畫面/幫助信息(6)
4.?如何更改Eclipse運行環境的Title標題(5)
5.?Jboss之JMX實例:上傳文件到Jboss目錄中(4)
Liferay Portal 技術理解之 概述
Liferay
不再依賴于
EJB
,它完全可以單獨裝配到一個
servlet
容器(如:
Tomcat,JBoss
等)中。而所有的業務邏輯都通過
Spring
管理的
POJO
來實現。這樣的實現利益于
Spring
的
AOP
各
IOC
特性。
但在
POJO
的實現方法上
Liferay
的兩個版本有所不同,企業版(
enterprise
)中通過
EJB
從而為大站點提供了高擴展性各良好的事務支持能力(如集群),而專業版(
professiona
)直接通過輕量級的接口完成。
所有的業務數據都通過
Hibernate
來實現并通過
POJO
來調用。
Liferay
曾經使用
CMP
技術
.
來實現持久層,但后來因速度及靈活性等原因改用
Hibernate
。在數據庫方面,
Liferay
也完全兼容大多數主流類型
DB
。
Liferay
使用
JAAS
來完成用戶認證安全管理,好處是當一個用戶登錄后,它的安全屬性可以在
Servlet
和
EJB
層中沿用,真正作到系統級的
SSO
。具體講,遠程
EJB
可以沿用安全檢查及權限屬性,本地的
EJB
是為其它
EJB
提供業務邏輯服務的,不能被遠程調用所以也不必做此類檢查;安全原則也派生到
POJO
實現中,而這此實現其實是遠程
EJB
的基礎類。
企業版式使用
EJB
,所以系統分別可以在
WEB
服務器、
EJB
服務器、數據庫服務器三層中實現集群。當然在
n
層的系統中,集群也保持優勢,而且在每一層都并不強迫使用集群,這些都為大企業應用提供了極好的彈性選擇權。
系統中的
EJB
、
HBM
、以及模式
Model
者是
ant
執行
build-ejb
任務時,通過讀取目錄
/portal-ejb
下的
ejb.xml
文件,然后自動生成的。每個有持久層對象的門戶單元(
portlet
)都有自己的
ejb.xml
文件(可以在
/portal-ejb
下搜索得到清單)。當需要生成持久層的類時,就把文件復制到
/portal-ejb
下,這生成工具是建立在
XDoclet
之上的。
例如:通過讀取
Bookmarks
門戶單元的
ejb.xml
文件配置后,自動生成下列的模式類。每個類對應數據庫中的一個表。永遠不要手工修改
BookmarksEntryModel
類,而要通過修改
BookmarksEntry
,然后再更新
BookmarksEntryModel
內容。這樣做的好處是減少了直接寫代碼的工作,而只做相應的標記工作。
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
類是根據模式(
model
)類對應生成的。這樣就可以在多層系統中允許模式類是可作序列化處理的,而
Hibernate
類則不必。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryHBM
com.liferay.portlet.bookmarks.ejb.BookmarksFolderHBM
持久層的方法如:
add, update, delete, find, remove,
以及
count
,系統都默認自動生成。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryPersistence
com.liferay.portlet.bookmarks.ejb.BookmarksFolderPersistence
也生成了專門的協助類(
Helper classes
),可以用來調用持久層方法。默認時,協助類調用
Hibernate
的方法來對數據庫進行更新操作,但是也可以改寫
portal.properties
中的配置,使用自己專用的類來完成,但這種類要求要繼承默認的持久層類。換言之,用戶完全可以定制自己的持久層數據,可以是一個正統的數據庫,或者是
LDAP
服務器,其它什么的。
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
用來實現業務邏輯的
POJ
O類,通過繼承
PrincipalBean
類,來實現有關調用者的方法,所以可以遠程調用。如:調用
getUserId()
可以得到當前用戶的
ID
;調用
getUser()
則返回當前用戶的對象。
EJB
再繼承這類
POJO
,實現遠程調用。
例如:下面的類實現了,允許當且公當
bookmark
項目或目錄的生成者可以刪除它。這些對象只有在不存在時才可能被創建。
協助類(
Helper classes
)是在
POJO
的實現基礎上生成的。它可以節約開發者的工作,不必書寫很多行的代碼,而只要簡單的找到合適的
EJB wrapper
或
POJO
實現,通過調用
BookmarksEntryManagerUtil.addEntry
來間接調用相應的
BookmarksEntryManagerImpl.addEntry
方法就可以了。
BookmarksEntryManagerUtil
通過調用
BookmarksFolderManagerFactory
來查找實現
BookmarksEntryManager
的類。也正是通過
BookmarksFolderManagerFactory
來識別
Spring
和
portal.properties
中的配置來決定要是載入
EJB wrapper
還是
POJO
實現。
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
)是用來實現通過
80
端口來調用
POJO
的。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManagerHttp
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManagerHttp
Soap
類也是用來實現通過
80
端口來調用
POJO
的。雖然與隧道類相比
Soap
類在速度上要差一點,原因是隧道類使用二進制數據流。但
Soap
類用靈活,可以適用各種客戶端(不局限于
Java
)。
com.liferay.portlet.bookmarks.ejb.BookmarksEntryManagerSoap
com.liferay.portlet.bookmarks.ejb.BookmarksFolderManagerSoap
Soap
類也是用來實現通過
80
端口來調用
POJO
的。雖然與隧道類相比
Soap
類在速度上要差一點,原因是隧道類使用二進制數據流。但
Soap
類用靈活,可以適用各種客戶端(不局限于
Java
)。
這些類只有在檢驗到不存在時才會被創建。
同時協助類也生成了。
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
但總有一些用戶需要調用引種當地類,于是完全相對應的遠程類也應用而生了。
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
的優點,而且還最小化重復的代碼等工作,從而你可以在努力與結果之間找到一個良好的平衡點。
Spring
也給
Liferay
帶來了更多的好處。開發者既可以利用專業版在一個
servlet
容器中測試
POJO
的實現,也可以通過企業版在應用服務器上裝載要上線的產品。
posted on 2007-02-10 13:10
哼哼
閱讀(1196)
評論(1)
編輯
收藏
所屬分類:
JAVA-Web
Feedback
#
re: Liferay Portal 技術理解之 概述
2008-07-04 21:28
Beijing_M
Hi ,好消息和大家分享:
Liferay 大連的聯系方式:
MSN: eonpeter@gmail.com
大家可以和peter聯系,可以從他那得到足夠幫助
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
Easy Ajax with Struts 2
Using Drools in Your Enterprise Java Application
Apache MINA 快速入門
MINA Beginning
Wicket Beginning
FLEX是什么及與FLASH的關系的介紹
Liferay Portal 之 jbpm 配置
Java Web services 開發之建立Web services(使用 Web Tools Project)
Java Web services 開發之WSDL (使用 Web Tools Project)
Java Web services 開發之概念
Copyright @ 哼哼
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster
主站蜘蛛池模板:
久久亚洲AV无码西西人体
|
亚洲电影一区二区
|
巨胸喷奶水www永久免费
|
亚洲精品在线不卡
|
小小影视日本动漫观看免费
|
久久国产一片免费观看
|
亚洲精品在线网站
|
亚洲国模精品一区
|
亚洲啪啪免费视频
|
成人免费夜片在线观看
|
无套内谢孕妇毛片免费看看
|
国产精品亚洲片在线
|
成在人线AV无码免费
|
国产一精品一AV一免费
|
亚洲国产成人手机在线观看
|
亚洲av之男人的天堂网站
|
成人男女网18免费视频
|
精品国产免费一区二区三区香蕉
|
亚洲熟妇AV一区二区三区浪潮
|
国产亚洲精品观看91在线
|
永久久久免费浮力影院
|
最近免费中文字幕大全免费版视频
|
国产精品成人亚洲
|
亚洲成a人片在线观看中文app
|
国产成人A人亚洲精品无码
|
四虎www免费人成
|
7m凹凸精品分类大全免费
|
成年大片免费高清在线看黄
|
国产精品亚洲四区在线观看
|
久久精品国产亚洲av麻豆
|
亚洲最大av无码网址
|
色播在线永久免费视频
|
日本XXX黄区免费看
|
老司机69精品成免费视频
|
一级毛片免费在线观看网站
|
色噜噜噜噜亚洲第一
|
国产99在线|亚洲
|
亚洲欧洲中文日产
|
婷婷精品国产亚洲AV麻豆不片
|
很黄很色很刺激的视频免费
|
日韩人妻一区二区三区免费
|