|
SOA的概念是Gartner在1996年提出來的,并于2002年12月進(jìn)一步提出SOA是“現(xiàn)代應(yīng)用開發(fā)領(lǐng)域最重要的課題”。
一、SOA的定義
SOA分為廣義的SOA和狹義的SOA,廣義的SOA是指一種新的企業(yè)應(yīng)用架構(gòu)和企業(yè)IT基礎(chǔ)架構(gòu),它可以使企業(yè)實(shí)現(xiàn)跨應(yīng)用,跨部門,跨企業(yè)甚至跨行業(yè)之間的離散系統(tǒng)實(shí)現(xiàn)互連。(注意:這里所指的服務(wù)并不單單是Web Service,它可以是以Web Service實(shí)現(xiàn) ,也可以以業(yè)務(wù)方式實(shí)現(xiàn),甚至是書面口頭承諾實(shí)現(xiàn))。而狹義的SOA是指一種軟件架構(gòu),它可以根據(jù)需求通過網(wǎng)絡(luò)對(duì)松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。
二、如何實(shí)現(xiàn)SOA
目前Web Service越來越流行,并成為實(shí)現(xiàn)SOA的一種手段。Web Service使應(yīng)用功能通過標(biāo)準(zhǔn)化接口(WSDL)提供,使用標(biāo)準(zhǔn)化語言(XML)進(jìn)行描述,并可基于標(biāo)準(zhǔn)化傳輸方式(HTTP和JMS)、采用標(biāo)準(zhǔn)化協(xié)議(SOAP)進(jìn)行調(diào)用,并使用XML SCHEMA方式對(duì)數(shù)據(jù)進(jìn)行描述。你也可以不采用Web服務(wù)來創(chuàng)建SOA應(yīng)用,但是這種標(biāo)準(zhǔn)的重要性日益增加、應(yīng)用日趨普遍。
三、Web Service實(shí)現(xiàn)SOA的好處
第一,Web Service是跨平臺(tái)的,應(yīng)用程序經(jīng)常需要從運(yùn)行在IBM主機(jī)上的程序中獲取數(shù)據(jù),然后把數(shù)據(jù)發(fā)送到主機(jī)或UNIX應(yīng)用程序中去。即使在同一個(gè)平臺(tái)上,不同軟件廠商生產(chǎn)的各種軟件也常常需要集成起來。通過WebService,應(yīng)用程序可以用標(biāo)準(zhǔn)的方法把功能和數(shù)據(jù)“暴露”出來,供其它應(yīng)用程序使用。
第二,Web Service是無語言限制的,你可以使用.NET,Java,php,VB......等多種語言開發(fā)并進(jìn)行相互調(diào)用。
第三, 使用SOAP時(shí)數(shù)據(jù)是以ASCII文本的方式傳輸,調(diào)用很方便,數(shù)據(jù)容易通過防火墻而實(shí)現(xiàn)無縫連接。
四、WCF是什么
WCF是微軟為了實(shí)現(xiàn)各個(gè)開發(fā)平臺(tái)之間的無疑縫連接而開發(fā)一種嶄新工具,它是為分布式處理而開發(fā)。WCF將DCOM、Remoting、Web Service、WSE、MSMQ、AJAX服務(wù)、TCP開發(fā)集成在一起,從而降低了分布式系統(tǒng)開發(fā)者的學(xué)習(xí)曲線,并統(tǒng)一了開發(fā)標(biāo)準(zhǔn)。
五、WCF的優(yōu)點(diǎn)
第一,開發(fā)的統(tǒng)一性。WCF是對(duì)于ASMX, Remoting,Enterprise Service,WSE,MSMQ,TCP開發(fā)等技術(shù)的整合。WCF是由托管代碼編寫,無論你是使用TCP通訊,Rmoting通訊還是Web Service,我們都可以使用統(tǒng)一的模式進(jìn)行開發(fā),利用WCF來創(chuàng)建面向服務(wù)的應(yīng)用程序。
第二,WCF能夠?qū)崿F(xiàn)多方互操作。它是使用SOAP通信機(jī)制,這就保證了系統(tǒng)之間的互操作性,即使是運(yùn)行不同開發(fā)語言,也可以跨進(jìn)程、跨機(jī)器甚至于跨平臺(tái)的通信。例如:使用J2EE的服務(wù)器(如WebSphere,WebLogic),應(yīng)用程序可以在Windows操作系統(tǒng)進(jìn)行調(diào)用,也可以運(yùn)行在其他的操作系統(tǒng),如Sun Solaris,HP Unix,Linux等等。
第三,提供高效的安全與可信賴度,它可以使用不同的安全認(rèn)證將WS-Security,WS-Trust和WS-SecureConversation等添加到SOAP消息中。在SOAP的header中增加了WS-ReliableMessaging允許可信賴的端對(duì)端通信。而建立在WS-Coordination和WS-AtomicTransaction之上的基于SOAP格式交換的信息,則支持兩階段的事務(wù)提交(two-phase commit transactions)。
第四,WCF支持多支消息交換模式,如請(qǐng)求-應(yīng)答,單工,雙工等等。另外WCF還支持對(duì)等網(wǎng)——利用嚙合網(wǎng)絡(luò)址,客戶端能在沒有中心控制的情況下找到彼此并實(shí)現(xiàn)相互通信。
總括來說,WCF是實(shí)現(xiàn)SOA的的一個(gè)優(yōu)秀選擇,利用WCF能夠?qū)崿F(xiàn)跨平臺(tái),跨語言的無縫連接,從而實(shí)現(xiàn)Web服務(wù)的相互調(diào)用。
it知識(shí)庫:熱門話題:使用WCF實(shí)現(xiàn)SOA面向服務(wù)編程——SOA的概念,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。