SOA相關概念解析
1,SOA----一種架構準則,其中心內容是把IT資產描述和公開為(遠程)服務。然后可以把這些服務以松散耦合的方式作為高級業務流程的一部分,從而在面臨IT異構性時提供業務靈活性。
一種設計方法,其目標是重用應用中立的服務,從而提高IT適應性和效能。
SOA是一種企業集成的解決方案,它利用Web services 和業務流程執行語言(Business Process Execution Language,BPEL)。這些技術提供開放的、基于標準的集成,該集成通過組合消息傳遞技術和 XML 及各種Web services 標準來提供互操作性。一旦開發了Web service 接口,您就可以使用BPEL 來定義和編排業務事務,最終使遺留系統轉變成全新的現代信息系統。
2,(遠程)服務,是指提供遠程調用能力的組件。提供了功能。可以為遠程的客戶端提供服務。EJB,JMS,Corba,COM,Web Service等遠程調用機制,就是這里說的服務。
3,Web Services是SOA的原料。它解決了其他遠程調用機制的兼容性問題。它與任何語言和平臺無關。幾乎所有遠程調用機制都可以生成Web Services。Web Services是遠程服務的世界語。
盡管SOA未必一定是用Web Services,但是SOA概念的提出和今天的熱火朝天,主要是由于Web Services這種遠程服務的世界語,消除了企業IT資產遠程重用的障礙。
4,ESB(EntERPrise Services Bus)企業服務總線
Corba有服務器,發布和管理Corba遠程服務;COM組件業有服務器DCOM,發布和管理Corba遠程服務;JMS,EJB也有服務器J2EE,發布和管理J2EE平臺下的遠程服務。
Web Services可以被各類中間件服務器發布。但是,還沒有管理它們的服務器。如,J2EE服務器沒有管理Web Services的功能。
ESB(Enterprise Services Bus)企業服務總線,就是這樣一個Web Services的中間件服務器。它發布和管理所有的Web Services,正如EJB容器使用JNDI發布和管理所有的遠程EJB一樣。
ESB服務器是Web Services的儲存、管理之地。是SOA取得Web Services的地方。這也有助于SOA開發人員管理、尋找和重用Web Services。
5,BPEL(Business Process Execution Language)業務程序執行語言。也有叫作BPEL4WS或BPELWS,意思是:使用Web Services的業務程序執行語言。
意思都是一樣的。
這是工作流語言/業務程序管理語言的擴展,它是能夠使用Web Services為業務程序服務的業務程序。
xPDL是一種業務程序語言規范。jBPM提供了擴展JPDL語言。它使用了類似UML的活動圖。可以使用業務程序變量、腳本語言、bbbbbbHandler實現類。因為它是只使用Java的POJO類的業務程序引擎。所以可以使用java的一些特性。
實際上,我們也可以使用POJO來代表Web Services,間接的調用Web Services。但是,由于它是JPDL語言,依賴于Java,所以,該業務程序定義不能夠直接被不同的語言平臺所使用!
BPEL雖然只是業務程序管理引擎的擴展,但是它只使用Web Services,從而有一些特殊的要求。
1,它不使用任何特定的編程語言。Web Services是一種脫離特定語言實現的描述語言。所以,在BPEL中,我們也不能使用任何特定的語言。
2,在JPDL中,我們可以在bbbbbbHandler中委派Web Services執行業務邏輯。但是,我們可以在bbbbbbHandler中使用Java語法執行特定的功能。
在BPEL中,我們唯一能夠使用的就只有現有的Web Services,所以,我們必須提供編程語言的一些語法機制,幫助我們僅僅使用BPEL語法就可以完成業務流程。
但是,請注意,可能我們最終無法脫離特定的語言來構建BPEL。
現在已經提出了BPELJ這種Java擴展的BPEL。
本文標簽:SOA相關概念解析
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《SOA相關概念解析》相關權利人與機電之家網取得聯系。










