Chapter01 企業(yè)級開發(fā)背景知識一,、什么是企業(yè)級程序(Enterprise Application),? 具有以下特點的程序: (1) 圍繞商業(yè)目的; (2) 分布分層的程序架構(gòu),。 二,、企業(yè)級應(yīng)用的架構(gòu)發(fā)展歷史 Host/Terminal(主機/終端,終端不具備處理能力,,數(shù)據(jù)由主機處理) 終端為啞終端,,可接受命令,,不處理命令 優(yōu)點:安全(不能直接訪問) 性能優(yōu)越(目前關(guān)鍵應(yīng)用仍在使用) 缺點:使用代價過高,設(shè)備昂貴1· 升級維護困難 C/S(Client/Server客戶端/服務(wù)器端) 終端擁有一定的計算能力,,應(yīng)用架構(gòu)演變?yōu)?/span>C/S架構(gòu) Multi-layered(多層架構(gòu)) Sample:Browser——Web Server——EJB Server——Database 三,、為什么要使用EJB,即使用EJB的動機是什么,? (1) 大型的企業(yè)級程序分解為分層分布的應(yīng)用,,必須使用EJB; (2) 構(gòu)建多層程序架構(gòu); (3) 各層獨立,,專注自己擅長的領(lǐng)域,; (4) 采用EJB可以不用考慮中間件服務(wù)(Middleware Service) Tips:中間件服務(wù) 1,RMI(Remote Method Invocations, 遠程調(diào)用) 2,,Load Balancing(負載均衡,,將訪問負荷分散到各個服務(wù)器中) 3,Transparent Fail-over(透明的故障切換) 4,,Clustering(集群,用多個小的服務(wù)器代替大型機) 5,,Back-end-Integration(后端集成,用現(xiàn)有的,、新開發(fā)的系統(tǒng)如何去集成遺留的系統(tǒng)) 6,,Transaction事務(wù)(全局/局部)全局事務(wù)(分布式事務(wù))局部事務(wù)(在同一數(shù)據(jù)庫聯(lián)接內(nèi)的事務(wù)) 7,Dynamic Redeployment(動態(tài)重新部署,在不停止原系統(tǒng)的情況下,,部署新的系統(tǒng)) 8,,System Management(系統(tǒng)管理) 9,Threading(多線程處理) 10,,Message-oriented Middleware面向消息的中間件(異步的調(diào)用編程) 11,,Component Life Cycle(組件的生命周期管理) 12,Resource pooling(資源池) 13,,Security(安全) 14,,Caching(緩存)
四、什么是EJB,? EJB是采用Java語言開發(fā),、部署服務(wù)器端的分布式組件的標準和框架。 分布式組件: 程序=業(yè)務(wù)+底層中間件服務(wù) 組件:按照一定的規(guī)范開發(fā),,并部署到相應(yīng)的容器中適當?shù)膶ο蠛拖嚓P(guān)部署文件,。 分布式組件: 多個容器之間的組件需要進行跨容器調(diào)用。 EJB:動態(tài)可伸縮的,、可靠,、安全的組件框架,。 與中間件服務(wù)提供商無關(guān),,采用EJB開發(fā),,不用考慮容器,。 五、EJB可以用在哪些地方,? 業(yè)務(wù)運算,。 六、EJB的價值 (1) 行業(yè)標準(Industry standard) (2) 便攜性 (3) 快速開發(fā) 七,、EJB的運行機制 (1) 代理/委托模式 代理模式:存根(Stub)和攔截器(Request interceptor)都使用了同一個遠程接口(Remote Interface),。 委托模式:攔截器將業(yè)務(wù)請求委托EJB來負責。
(2) 顯示中間件服務(wù): 缺點:生產(chǎn)率底下 代碼維護困難(中間件服務(wù)與業(yè)務(wù)邏輯糾纏) 優(yōu)點:細粒度地控制中間件服務(wù) 什么叫粒度:對象的相對大小,,對客戶端暴露的細節(jié)的程度,。 (3) 隱式中間件服務(wù):不直接調(diào)用中間件,采用配置文件來聲明中間件服務(wù),,容器自動調(diào)用,。 優(yōu)點:相對與顯示中間件服務(wù),開發(fā)進度加快,,容易維護,。 缺點:粗粒度,只能在方法級來聲明中間件服務(wù),,稍微影響性能,。 API: Request interceptor:攔截器,攔截中間件服務(wù),,負責調(diào)用相應(yīng)的中間件API,,業(yè)務(wù)調(diào)用交給相應(yīng)的API。 Stub/Skeleton:屏蔽了網(wǎng)絡(luò)調(diào)用的細節(jié),,攔截器屏蔽了中間件調(diào)用的細節(jié),,EJB只需考慮對象的調(diào)用, Stub,、Skeleton,、Request Interceptor由容器生成。 編程需要寫的類:業(yè)務(wù)接口(Remote Interface),,EJB,客戶端(Client,,用于訪問EJB),。
EJB是怎么運行的: (1) 開發(fā)出來的EJB對應(yīng)的Stub被應(yīng)用服務(wù)器或容器(如 Sun Application Server)綁定到JNDI服務(wù)器,名稱為全限定名,。 Stub相當于遠程對象在本地的代理,,屏蔽了網(wǎng)絡(luò)調(diào)用,編碼,,解碼,,協(xié)議轉(zhuǎn)換等細節(jié),。 (2) 客戶端通過上下文(Context),找到Stub,。 八,、EJB生態(tài)系統(tǒng)的八個角色 九、SOA(面向服務(wù)架構(gòu)) (1) 程序由多個服務(wù)構(gòu)成,; (2) 服務(wù)是由一組相關(guān)的組件構(gòu)成,,完成某個特定的業(yè)務(wù)功能,服務(wù)可由不同的編程語言實現(xiàn),; 服務(wù)通過HTTP協(xié)議,,SOAP、WSDL等相關(guān)協(xié)議實現(xiàn)的一種分布式應(yīng)用架構(gòu),。 SOA(面向服務(wù)的架構(gòu))和EJB的關(guān)系 SOAP(簡單對象訪問協(xié)議) WSDL(Web服務(wù)描述語言)(Web Services) EJB發(fā)布為Web服務(wù),,從而實現(xiàn)SOA。 十,、Java EE相關(guān)知識 (1) Java EE是一個標準,; (2) Java EE是用來開發(fā)多層、分布式企業(yè)應(yīng)用的平臺,。 |
|
來自: lance library > 《EJB》