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