面向服務的架構(SOA)是一個組件模型,它將應用程序的不一樣功能單元(稱爲服務)進行拆分,並經過這些服務之間定義良好的接口和契約聯繫起來。接口是採用中立的方式進行定義的,它應該獨立於實現服務的硬件平臺、操做系統和編程語言。這使得構建在各類各樣的系統中的服務能夠以一種統一和通用的方式進行交互。編程
面向服務架構,它能夠根據需求經過網絡對鬆散耦合的粗粒度應用組件進行分佈式部署、組合和使用。服務層是SOA的基礎,能夠直接被應用調用,從而有效控制系統中與軟件代理交互的人爲依賴性。SOA是一種粗粒度、鬆耦合服務架構,服務之間經過簡單、精肯定義接口進行通信,不涉及底層編程接口和通信模型。SOA能夠看做是B/S模型、XML(標準通用標記語言的子集)/Web Service技術以後的天然延伸。SOA將可以幫助軟件工程師們站在一個新的高度理解企業級架構中的各類組件的開發、部署形式,它將幫助企業系統架構者以更迅速、更可靠、更具重用性架構整個業務系統。較之以往,以SOA架構的系統可以更加從容地面對業務的急劇變化。SOA系統是一種企業通用性架構。後端
案例分析:描述瞭如何使用「面向服務的體系結構中的服務建立場景」實現模式來解決與賬戶開立項目案例研究相關的業務和 IT 挑戰。安全
1,使用外部服務網絡
計劃在業務流程中使用此外部服務。更新 ESB服務註冊中心,將一個入口添加到此外部服務,而後這項服務就可使用了。還須要更新服務註冊中心,以便包含該服務的元數據。ESB 將有效地虛擬化該服務。當一個服務使用者向 ESB 發送請求時,該服務使用者將獲得一個迴應。必要時,ESB 能夠在運行時決定是否使用備用提供商。當備用服務具備不一樣的消息 schema 時,ESB 能夠將該請求轉換爲所需的 schema,表明使用者發出請求,並將該響應轉換回用戶所需的形式。整個流程對請求者應用程序(如業務流程)是透明的。架構
2,建立新服務編程語言
使用 Rational Software Architect 中的工具從 WSDL 中生成 EJB™ 代碼來建立新服務。還將生成映射代碼以解析 SOAP 請求消息,所以,EJB 能夠看到 Java 形式的消息並在 SOAP 中生成從 Java 返回的響應消息。開發人員無需 XML 知識就可建立服務。具體的工做(如查詢記賬)是標準的 Java 編程。可使用 Web 服務嚮導來生成簡單的測試應用程序來實驗該服務。分佈式
3,將現有應用程序做爲服務直接公開工具
許多現有應用程序平臺和企業信息系統提供了將現有應用程序功能做爲服務直接公開以供重用的能力。此方法通常不多須要或根本不須要編程,這就極大地減小了開發與測試的時間與成本。即便那些對現有應用程序或企業信息系統(如 CICS)不太懂或者根本不懂的開發人員也能夠利用嚮導輕鬆地將現有的應用程序功能做爲服務公開。測試
4,將現有應用程序做爲服務間接公開spa
適配器和鏈接器提供了間接訪問各類平臺上的應用程序的功能,如 z/OS® 上的企業信息系統(例如,CICS、IMS 和 SAP)。該適配器或鏈接器提供一個 Java API,從而將開發人員屏蔽開,他們無需瞭解後端應用程序。經過將該適配器或鏈接器的 Java 代碼做爲服務包裝起來,能夠將該應用程序功能做爲服務公開和使用以及供重用。此實現模式稱爲間接公開模式。
5,使 WebSphere Message Broker 流支持服務
WebSphere Message Broker 流已經存在,支持服務是做爲服務重用的快速、直接的方法。
當須要轉換消息和傳輸協議以及須要整合消息數據時,應考慮使新的 WebSphere Message Broker 流支持服務。WebSphere Message Broker 流提供了可供業務服務組合使用的諸如安全性和審覈之類的基礎結構服務。WebSphere Message Broker 使用的 JMS 和 WebSphere MQ 是進行可靠消息傳遞的綜合性行業標準,同時仍是一種普遍採用的、包括 IMS 鏈接性在內的業務到業務的集成技術。提供一個耦合了中介的服務實現。利用 WebSphere MQ 進行基本的消息傳遞和 Web 服務流動。
6,使 IMS 事務支持服務
IMS TM 資源適配器使用 J2EE Connector Architecture (JCA)標準進行消息傳遞,使此選項成爲最普遍採用的 IMS 鏈接選項,且具備當今最高的服務質量。提供一個耦合了中介的服務實現。若是客戶使用 WebSphere Application Server 建立中間層組件,則最佳集成選項通常是使用 IMS TM 資源適配器的 J2C。