《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > Apusic應用服務器技術概覽

Apusic應用服務器技術概覽

2008-12-02
作者:袁紅崗

??? 在Java規范的三個版本中,J2EE(Java 2 Enterprise Edition)是面向企業應用定義了一系列分布式服務的規范,Apusic應用服務器" title="應用服務器">應用服務器是國內第一個自有知識產權嚴格遵循J2EE規范的應用服務器產品,同時還為企業應用提供了很多功能拓展。Apusic應用服務器的體系結構為:



??????????????????????????????????????? 圖一: Apusic應用服務器的體系結構
Apusic應用服務器提供了下列服務和功能:
.EJB容器(無狀態Session Bean、有狀態Session Bean、Entity Beans、Message-Driven Beans);
.?Web容器;
.分布式事務服務;
.安全服務;
.?基于JMX的管理服務;
.?JMS;
.?Web Services;
.?JDBC服務;
.?Java Mail服務等。
在此,就以下幾個方面分析Apusic應用服務器提供的服務和功能:
表現層
業務邏輯層
數據層
安全服務
事務服務
名字服務
Web Services
與CORBA的互操作
一.?表示層
多層應用模型中的表示層主要被用于與瀏覽器、桌面應用、無線設備及其他客戶端" title="客戶端">客戶端的交互,Apusic應用服務器支持所有的客戶機/服務器的交互機制。
J2EE?規范中包含了JSP和Servlet規范,JSP和Servlet定義了J2EE企業應用中的表示層的編程模型。通過使用JSP和Servlet,實現Web內容的動態生成。Apusic應用服務器完全支持JSP、Servlet規范,提供了對于諸如Filter等最新特性的支持
對于通過瀏覽器進行的HTTP請求,Apusic應用服務器提供了一個高效可靠的Web服務器。通過使用Servlet和JSP實例池、結果緩存、JSP編譯調試工具等工具和技術,對部署于服務器上的JSP和Servlet,Apusic應用服務器服提供了一個高效可靠的運行時環境和開發、部署和維護的高效易用的平臺。
除了對J2EE相關JSP和Servlet規范的實現,Apusic應用服務器中的Web容器和相關工具還提供了一些特有的特性,通過這些特有的特性,使得面向Apusic應用服務器的表示層的開發、部署、運行和維護變得更加方便和高效。
·? 虛擬主機
可以在單個的Apusic應用服務器上配置多個Web站點。通過域名與應用服務器的路徑映射實現此功能,只需指定域名即可實現對站點的訪問。
·? 多路復用
Apusic 應用服務器采用了多路復用(multiplexing)通訊技術。在一個TCP/IP 連接上建立多個雙向的虛擬連接,每個虛擬連接可以進行完全獨立的通訊功能。通訊雙方可以根據需要打開或關閉虛擬連接,進行通訊,實現了將多個服務統一到一個端口上,降低服務器的管理成本。
·? 使用第三方Web服務器
除了Apusic應用服務器內置的Web服務器外 ,Apusic應用服務器可以與其他現有的Web服務器進行整合,如Apache、Microsoft IIS等,通過使用Apusic應用服務器提供的負載均衡功能,為企業應用提供一個更高可用性和伸縮性的平臺。
·? 負載均衡與失效恢復
Apusic應用服務器提供了基于Web層的負載均衡的功能。當使用Apusic作為集群中的負載均衡器時,服務器提供了獨有的負載均衡和失效恢復的特性。

·? JSPC工具
為提高表示層JSP的開發調試的效率,Apusic提供了一個簡單易用的JSP命令行編譯工具JSPC,通過此工具,開發者可以對JSP進行更為高效的開發和調試,通過設置相關調試工具,可以實現對JSP的源碼級調試。


二.業務邏輯層
多層應用模型中的業務邏輯層被用于封裝應用業務邏輯,包括獨立于應用界面的業務組件,通過應用服務器中的組件容器提供運行時環境。 Enterprise JavaBeans?(以下稱EJB)是J2EE?應用中的業務邏輯層的組件模型。Apusic應用服務器提供了對EJB2.0規范的完全實現,同時提供了相關的特有特性,以簡化對J2EE應用邏輯層的開發、部署、管理和維護。
Apusic應用服務器中的EJB容器提供對EJB的生存周期管理、緩存、持久性和事務管理等服務,Apusic提供三種類型的EJB的支持:Session Bean、Entity Bean和Message-driven Bean。 同時提供了相關的一些特性,如CMR、EJB QL等,為提高應用執行的效率,還提供了新的Local接口。
1.Entity Bean
Entity Bean被用于表示應用中的業務實體,通常與數據庫或傳統應用中的業務數據實體保持映射關系,可以理解為數據庫或傳統應用中的業務數據實體在內存中的對象表示方式。
Apusic應用服務器支持新的容器管理關系模型(CMR)和Entity Bean的查詢語言EJB QL。
(1) 容器管理持久性(Container Managed Persistence)指由EJB容器處理Entity Bean需要的對數據庫的訪問。使Entity Bean可以脫離特定類型的數據庫,從而具有更高的靈活性。
(2) 容器管理關系(Container Managed Relation)
容器管理關系用于對實體數據對象之間關系的管理。
容器管理持久性的Entity Bean有以下四種容器管理關系:
·? one-to-one,一個Bean的單個實例關聯另一個Bean的單個實例;
·? one-to-many,一個Bean的單個實例關聯另一個Bean的多個實例;
·? many-to-one,一個Bean的多個實例關聯另一個Bean的單個實例;
·? many-to-many,一個Bean的多個實例關聯另一個Bean的多個實例;
容器管理關系的方向可以是雙向或單向。在一個雙向的關系中,涉及的Bean都有一個關系域與另外的Bean關聯,通過關系域,可以從一個Bean的實例中訪問關聯的Bean對象,反之亦可。在一個單向的關系中,只有一個Bean擁有關聯其他Bean的關系域,只能從這個Bean的實例訪問被關聯的Bean對象,而不可從被關聯的Bean對象訪問到這個實例。
(3)EJBQL
對于容器管理持久性的Entity Bean,需要在部署描述中定義抽象模式的名字。這些名字將可以通過使用Enterprise JavaBeas? Query Language(EJB? QL)編寫的查詢語句進行引用。例如,必須為每一個finder方法定義一個EJB QL查詢語句,通過此語句定義當此finder方法被調用時,容器執行的查詢。
另外在Apusic的自有特性中提供了對從EJBQL中查詢出的對象進行排序的功能,即擴展的了EJBQL的語句提供了Order By語句可以進行排序。

2.Session Bean
Session Bean通常被用于實現業務過程邏輯,通過對Entity Bean的操作完成業務過程并封裝過程邏輯。 盡管在需要的情況下,Session Bean可以有保持數據到持久存儲機制的能力,如數據庫,但Session Beans不是持久的。
相對于表示業務實體的Entity Bean,Session Bean的生存時間要短,大致等于于一個客戶端會話的延續時間。例如,客戶通過瀏覽器,訪問與Session Bean表示的相關業務過程,或通過一個Java應用程序" title="應用程序">應用程序或者是Applet訪問的相關業務過程的持續時間,或其它Enterprise Bean訪問此業務過程的持續時間。
Session Bean是非持久的,其狀態不被保存到持久存儲機制(如數據庫、文件系統)中,盡管Session Bean本身可以執行對數據庫的操作,但它并不是一種持久對象的表示。
Session Bean表示客戶端與應用之間的會話。會話由客戶端與組件之間的交互組成,一般表現為一系列的方法調用" title="方法調用">方法調用。
根據Session Bean保持會話狀態的方式,可分為狀態的和無狀態的Session Bean。

(1)無狀態(Stateless)的Session Bean,會話狀態只會在單個方法調用中被保持,一旦方法調用結束,組件將丟棄方法調用過程中保持的狀態,不保持跨越方法調用的會話狀態。
(2)對于有狀態(Stateful)的Session Bean,在整個會話期間,特定組件實例將保持與某個特定客戶端之間跨越方法調用的會話狀態。

3.Message-driven Bean
Message-driven Bean 是EJB2.0規范中新增的一個enterprise bean 類型,通常被用于異步接收從客戶端發送的消息,觸發相應的業務處理過程。
Message-Driven Bean 作為EJB2.0規范中新增的一個enterprise bean 類型,除得到應用服務器管理的事務,安全和資源訪問的服務之外,同時作為 JMS消息系統中的消息使用者 (Message Consumer)接收并處理應用消息。
通過消息機制而非直接的方法調用,客戶端可以繼續執行而不必等待服務器的運行結果,服務器可以選擇在方法調用完成后通知客戶,而消息機制本身保證了信息傳輸的可靠性, 同時使用消息域(Message Domain)中的消息類型模型以達到事件廣播的機制。
(1) Message-driven Bean 作為一般的JMS 使用者(consumer)
作為一種具有JMS使用者(consumer)功能的Enterprise Bean組件模型,Message-Driven Bean由EJB容器進行管理,具有一般的JMS使用者(consumer)所不具有的優點,如對于一個Message-driven Bean,容器可創建多個實例來處理大量的并發消息,而一般的JMS使用者 (consumer)開發時則必須對此進行處理才能獲得類似的功能。同時Message-Driven Bean可取得EJB所能獲得的標準服務,如容器管理事務等服務。
(2) Message-driven Bean 與其他Enterprise Bean
作為Enterprise Bean組件模型之一,Message-driven Bean,具有一些與Session Bean 和Entity Bean相同的方法,但由于Message-driven Bean本身不處理客戶端調用,也無會話狀態,客戶只能通過向與Message Driven Bean關聯的隊列或主題發送消息從而與Message-driven Bean 進行交互,因此,Message-driven Bean 與Session Bean 和Entity Bean之間最大的不同之處在于Message-Driven Bean不具有組件接口及Home接口。
另外,Message-driven Bean異步地處理隊列(Queue)或主題(Topic)中的消息,而非方法調用。

4.Apusic專有特性
除了對EJB2.0規范的實現,Apusic應用服務器中的EJB容器和相關系統服務還提供了一些高端增值特性,通過這些增值特性,使得面向Apusic應用服務器的業務邏輯層的開發、部署、運行和維護變得更加方便、高效和可靠。
(1)實例池
通過圖形化的配置工具或簡單修改組件配置文件,Apusic應用服務器可以預先裝載指定數量的對象實例到實例池中,使對客戶請求進行響應的過程更加高效。
(2)CMP Entity Bean自動升遷
對于一個按照EJB1.1規范編寫的CMP Entity Bean,應用服務器在運行時將其自動升級到EJB2.0,使按照EJB1.1規范編寫的EJB可以使用EJB2.0規范中提供的Lazy Loading和Smart Update技術以提高應用執行的效率,同時降低已有應用在維護上的成本。
(3)熱部署
為提高企業應用開發、調試和維護的效率,Apusic應用服務器提供了熱部署的功能。在運行時,可以動態地部署和修改應用中的應用程序,無需停止和重新啟動服務器即可應用新的改動。
(4)自動遷移及部署
不同的應用服務器廠商提供的基于J2EE?規范實現的應用服務器的不同,使得多數企業應用在不同的服務器之間遷移時,需要改動一些配置,提高了應用移植的成本,Apusic應用服務器提供了自動遷移和部署的能力,對于面向其他非Apusic應用服務器開發的企業應用,可以不改動應用程序,而由應用服務器自動完成移植的工作并部署到應用服務器,大大降低了應用移植的成本。
目前對于面向Weblogic8.1和J2EE?RI開發的企業應用,可以直接使用這項功能,Apusic應用服務器還將在此項功能上添加對當前其他主流應用服務器的支持。
(5)自動生成查詢
為提高面向CMP Entity Bean的開發效率和降低開發的難度,Apusic應用服務器可為CMP Entity Bean自動生成缺省的finder query。

三. 數據層
Apusic應用服務器模型中的數據層提供企業應用對關系型數據庫和傳統企業應用數據的高效而可靠的訪問。使得企業應用可以通過JDBC實現對關系型數據庫安全、可靠而且高效的訪問。目前Apusic應用服務器提供了對最新的JDBC3.0版本的支持。任意合法的J2EE?編程模型都可以從Apusic應用服務器數據庫連接池中獲得對關系型數據庫的連接。
按照J2EE?的規范,Entity Bean被設計為與數據庫直接交互的最佳模型,但在實際的企業運用開發中,任何一種編程模型都有可能直接與數據庫進行交互,針對這種情形,Apusic應用服務器提供了很多功能或特性,使對數據層訪問的開發更為簡單同時達到更為高效而安全的目標。
·? JDBC結果集緩存
對于Session Bean、JSP、Servlets為主的J2EE應用中,頻繁訪問數據庫而缺少對應的數據緩存等機制,往往會成為企業應用的瓶頸。因此,Apusic應用服務器提供了JDBC結果集緩存技術,通過將數據庫返回的結果集保存在內存中可以大幅提高應用系統的性能,同時,使用結果集緩存對應用開發者是完全透明的,保證了應用的可移植特性。
·? JDBC語句緩存
對于Session Bean、JSP、Servlets為主的J2EE應用中,頻繁訪問數據庫而缺少對應的數據緩存等機制,往往會成為企業應用的瓶頸。因此,Apusic應用服務器提供了JDBC語句緩存技術,同時使用預編譯的查詢語句,提高應用程序訪問數據庫的效率。
·? 連接池
對于復雜的企業應用而言,對數據庫連接池的可靠、效率,成本都有著極高的要求,Apusic應用服務器提供了對連接資源的優化,使有限的數據庫連接資源得到最大程度的利用,同時,對于應用錯誤使用連接造成的死鎖" title="死鎖">死鎖或阻塞,提供了死鎖檢測的技術,而以上的特性對于用戶而言是完全透明的。


四.安全服務
對于企業應用而言,應用服務器所能提供的安全方面的功能是保證企業應用數據完整、邏輯完整和減少被入侵可能的 重要特性,針對多層的分布式企業應用的安全要求,Apusic應用服務器提供了可靠高效的安全構架。同時,為應用程序的加密需求提供了一個安全、強壯、高效的JCE(Java Cryptography Extension)提供者。


?
?????????????????????????????????????? 圖二 Apusic服務器數據安全功能的架構
·? 身份鑒定
Apusic應用服務器提供了面向用戶、調用過程和客戶端調用等方式的身份鑒定,通過使用用戶名和密碼、證書等等方式,將合法的應用用戶和調用程序區別于非法的入侵者。
·? 授權
授權是使企業應用的完整性和安全性得以保證的重要因素,Apusic應用服務器對企業應用的授權策略提供了易于配置和修改的方法與工具,同時提供了可靠安全的授權機制。
·? 加密
對于企業應用中的敏感數據的保存和交換,Apusic提供了高效可靠的加密機制。
Apusic 安全服務提供了數字簽名、消息摘要、消息鑒別碼、RSA 非對稱加密、序列密碼加密、分組密鑰密碼加密、密鑰生成、密鑰交換等常用的算法。
·? 安全數據存儲
對于系統中的關鍵數據,如消息、用戶信息等等,Apusic提供了極安全的內部保護存儲機制。
Apusic 應用服務器的加密算法完全是自主實現的,一舉打破國際對中國加密算法位數的限制。國內企業,政府部門等使用Apusic 應用服務器會更加安全可靠。
Apusic應用服務器同時提供了對JSSE的實現。


五.事務服務
J2EE中對于事務的處理是分布式的,Apusic完全提供對XA事務的支持,顯示對大型企業應用的支持。
為了簡化開發者對事務的處理,Apusic應用服務器在EJB容器中提供容器管理事務(Container Managed Transaction),應用開發者使用EJB管理數據即自動獲得了事務的保證,由于EJB容器對數據庫的管理是分布式的開發者又由此自動獲得了對應用開發較為困難的分布事務管理能力,這一切都由應用服務器完成。
為保證應用數據和業務邏輯的的完整性,除了提供完全符合規范和強壯的事務管理器之外,Apusic應用服務器對Entity Bean中特別是CMP類型的組件,提供了強壯而靈活的事務構架。
·? 死鎖檢測
能夠根據資源等待圖自動檢測出死鎖狀態,當事務發生死鎖時將其中一個事務回滾,以釋放事務所占用的資源,使其他事務能夠繼續執行。
·? 并發控制
提供了靈活和強壯的EJB并發控制機制,單獨分離出了并發控制部分,可以使用插件的形式同時提供多種并發控制協議。
·? JMS全局事務
提供了一個作為事務性資源管理器的JMS 提供者(Provider),允許從JSP,Servlet, EJB 等應用組件中對JMS 進行事務性的訪問。同時,從一個單一事務邊界中允許多個應用組件訪問JMS 提供者。

六.名字服務
由于J2EE應用的關鍵特性是分布式的,其提供的服務可能分布在任何一個機器或網絡,應用的開發統一通過JNDI(Java Naming and Directory Interface)來獲得服務,開發者在開發時可以不用關心服務的物理所在。
Apusic完全支持使用JNDI,并且開發完成后,部署者(Deployer)可以在部署工具中配置應用所需要的環境、資源、服務,使應用獲得所需的分布式服務,完成最終生產環境的建立。

七.Web Services
Apusic應用服務器實現了對Web Services的支持。Apusic Web Services 是一個開放的遵循業界標準的Web Services實現,主要實現了以下 的Web Services相關規范:
.?JAX-RPC1.0
.?JAXM1.1
.?SAAJ1.1
.?JAXR1.0
.?SOAP1.1
.?SOAP with Attachments
.?WSDL1.1
.?UDDI2.0
Apusic Web Services支持和其他Web Services產品的交互,包括Weblogic和.Net。
八.與CORBA的互操作
CORBA(Common Object Request Broker Architecture, 公共對象請求代理體系結構)是由OMG(對象管理組織,Object Management Group)提出的應用軟件體系結構和對象技術規范,被廣泛的用來開發分布式系統。Apusic應用服務器完整的實現了CORBA-EJB映射規范,因此可以和CORBA對象進行互相調用。CORBA和EJB的互操作規范包含以下四個方面:
.?EJB接口到CORBA接口的映射;
.?JNDI名字到CORBA名稱服務(CosNaming )的映射;
.?EJB和CORBA之間的事務傳播;
.?EJB和CORBA之間的安全傳播。
Apusic應用服務器實現了RMI-IIOP(Internet Inter-ORB Protocol)協議,能夠在多個Apusic服務器實例之間傳播事務、安全等上下文信息(Context)。

經過上面的初步分析可以看出,Apusic應用服務器是一個完全基于J2EE?1.3規范的應用服務器產品,為分布式企業應用提供了安全、可靠、高效的開發、部署、維護的平臺。特別適合為電子商務、電子政務和行業應用的開發提供基礎平臺。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产精品无码专区在线播放 | 一级伦理电线在2019| 五月激情丁香网| 亚洲国产欧美国产综合一区| 亚洲午夜无码久久久久小说| 亚洲午夜久久久久久久久电影网 | 国产成人av一区二区三区在线 | 免费理论片51人人看电影| www.91久久| 日本三级视频网站| 亚洲区小说区图片区qvod| 男女无遮挡毛片视频播放| 国产人久久人人人人爽| 香蕉在线精品一区二区| 女人18毛片水真多免费看| 久久er这里只有精品| 最近免费中文字幕大全视频 | 亚洲日韩V无码中文字幕| 精品国产欧美另类一区| 国产午夜免费福利红片| 影音先锋男人看片资源| 夜夜高潮夜夜爽夜夜爱爱一区| 中国老师69xxxx高清hd| 日韩免费观看一级毛片看看| 亚洲日本国产精华液| 真实的国产乱xxxx在线| 国产一区二区电影| 国产成人yy精品1024在线| 国产色视频一区| a级片免费在线播放| 成人观看网站a| 久久亚洲私人国产精品| 欧美BBBWBBWBBWBBW| 亚洲爱情岛论坛| 男女疯狂一边摸一边做羞羞视频 | 精品无码av无码专区| 国产区精品视频| 狠狠色综合色区| 国产精品国产三级国产av中文| 99热都是精品久久久久久| 开心久久婷婷综合中文字幕|