一、什么是soa?
SOA(Service-Oriented Architecture,面向服務架構) 是一種架構模型,
它可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署、
組合和使用。服務層是SOA的基礎,可以直接被應用調用,使得構建在這樣的系
統中的服務可以使用統一和標準的方式進行通信。
二、soa的目標
SOA的根本目標:實現與敏捷業務相適應的IT基礎,促進而不是阻礙企業達成靈
活應變,從而在快速變化的時代里獲得增長優勢。
三、soa中繽紛的概念
java的世界各種各樣的名詞讓人眼花繚亂,有些其實很簡單,但因為名次擋在門外
soa中更是如此,這里簡單介紹一下相關的一些名次:
1,SCA(Service Component Architecture)不同的軟件模 塊通過服務組件
的標準化而統一地封裝起來和被調用訪問。
2,SDO(Service Data Objects)則作為一種數據編程架構和API,它統一了不同數據源類型的數據編程,
讓開發人員可以從不 同的數據源以統一的方式訪問和操縱數據。
可以說,SCA以面向構件的方法,簡化了客戶的業務邏輯編程,提高了應用的靈活性。
而SDO則更進一步從數據對象 上大大簡化了開發。
3,OSOA:2005 年 11 月, IBM、BEA、IONA、Oracle、SAP AG、Sybase、Xcalia 和 Zend
就合作建立新的業內規范來簡化 SOA 應用發展達成了一致,共同發布了兩項針對SOA的重要構件模型
規范——SCA 0.9和SDO。此后,該團體陸續吸引了 Cape Clear、Interface21、普元、
Progress Software(前 Sonic Software)、Red Hat、Rogue Wave Software、Software AG、
Sun Microsystems 和 TIBCO Software 、Siemens AG等多家公司的加盟,目前成員數量躍至 18家,
形成了OSOA聯盟。
4,eai
什么是EAI(enterprise application integration)企業應用集成?
EAI是將基于各種不同平臺、用不同方案建立的異構應用集成的一種方法和技術。
EAI通過建立底層結構,來聯系橫貫整個企業的異構系統、應用、數據源等,完成
在企業內部的 ERP、CRM、SCM、數據庫、數據倉庫,以及其他重要的內部系統之
間無縫地共享和交換數據的需要。有了 EAI,企業就可以將企業核心應用和新的
Internet解決方案結合在一起。
EAI(企業應用集成)將進程、軟件、標準和硬件聯合起來,在兩個或更多的企業系
統之間實現無縫集成,使它們就像一個整體一樣。盡管EAI常常表現為對一個商業
實體(例如一家公司)的信息系統進行業務應用集成,但當在多個企業系統之間
進行商務交易的時候,EAI也表現為不同公司實體之間的企業系統集成,
例如B2B的電子商務。
5,ESB是企業服務總線(Enterprise Service Bus)的縮寫。企業服務總線是一個靈活的用于集成各種應用
和各種服務的連接基礎架構。企業服務總線能夠通過簡化應用和服務之間接口的數量、接口大小及接口復雜度等
方法使客戶的面向服務體系(SOA)更加的強大。企業服務總線提供以下功能:
在服務與服務之間路由消息;
在請求者與服務者之間轉換傳輸協議;
在請求者與服務者之間轉換消息格式;
處理來自于各種異構源的業務事件;
6,webservice:Web Service就是為了使原來各孤立的站點之間的信息能夠相互通信、共享而提出的一種接口。
Web Service所使用的是Internet上統一、開放的標準,如HTTP、XML、SOAP(簡單對象訪問協議)、
WSDL等,所以Web Service可以在任何支持這些標準的環境(Windows,Linux)中使用。
注:SOAP協議(Simple Object Access Protocal,簡單對象訪問協議),它是一個用于分散和分布式環境
下網絡信息交換的基于XML的通訊協議。在此協議下,軟件組件或應用程序能夠通過標準的HTTP協議進行通訊。
它的設計目標就是簡單性和擴展性,這有助于大量異構程序和平臺之間的互操作性,從而使存在的應用程序能夠
被廣泛的用戶訪問。
7,soap:SOAP即簡單對象訪問協議(Simple Object Access Protocol),它是用于交換XML編碼信息的
輕量級協議。它有三個主要方面:XML-envelope為描述信息內容和如何處理內容定義了框架,將程序對象編碼
成為XML對象的規則,執行遠程過程調用(RPC)的約定。SOAP可以運行在任何其他傳輸協議上。例如,你可以使
用 SMTP,即因特網電子郵件協議來傳遞SOAP消息,這可是很有誘惑力的。在傳輸層之間的頭是不同的,
但XML有效負載保持相同。
8,uddi:UDDI 的目的是為電子商務建立標準;UDDI是一套基于Web的、分布式的、為Web Service提供的、
信息注冊中心的實現標準規范,同時也包含一組使企業能將自身提供的Web Service注冊,以使別的企業能夠
發現的訪問協議的實現標準。
9,wsdl:Web Service描述語言WSDL就是用機器能閱讀的方式提供的一個正式描述文檔而基于XML的語言,
用于描述Web Service及其函數、參數和返回值。因為是基于XML的,所以WSDL既是機器可閱讀的,
又是人可閱讀的。
10,bpel:BPEL是一門用于自動化業務流程的形式規約語言。 用XML文檔寫入BPEL中的流程能在Web 服務之間
以標準化的交互方式得到精心組織。這些流程能夠在任何一個符合BPEL規范的平臺或產品上執行。 所以,通過
允許顧客們在各種各樣的創作工具和執行平臺之間移動這些流程,BPEL使得他們保護了他們在流程自動化上的
投資。盡管以前想使業務流程定義標準化,但BPEL已經引起了史無前例的興趣,而且它最早在軟件供應商中獲
得大量認可。
11,ibm mq:消息隊列(MQ)是一種應用程序對應用程序的通信方法。應用程序通過寫和檢索出入列隊的針
對應用程序的數據(消息)來通信,而無需專用連接來鏈接它們。消息傳遞指的是程序之間通過在消息中發送
數據進行通信,而不是通過直接調用彼此來通信,直接調用通常是用于諸如遠程過程調用的技術。排隊指的是
應用程序通過隊列來通信。隊列的使用除去了接收和發送應用程序同時執行的要求。
12,jms:在不同系統之間交換信息的一大障礙是如何在精確交換和格式化數據方面取得一致。
Java Message Service( Java消息服務,簡稱JMS)通過提供一種與J2EE應用程序或傳統系統交互的方
法部分的解決了這個問題。 JMS的通用接口集合以異步方式發送或接收消息。異步方式接收消息顯然是使用
間斷網絡連接的客戶機,諸如移動電話和PDA的最好的選擇。另外, JMS采用一種寬松結合方式整合企業系統的方法,
其主要的目的就是創建能夠使用跨平臺數據信息的、可移植的企業級應用程序,而把開發人力解放出來。
13,ibm mb:Message Broker是 IBM 的應用整合中間件,是 IBM WebSphere 業務整合解決方案的重要
組成部分之一,用于企業應用整合領域。它的前身為 WebSphere MQ Integrator Borker 是一種Esb的實現