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