1996年的美國,互聯(lián)網(wǎng)已經(jīng)很發(fā)達了。但是互聯(lián)網(wǎng)技術并沒有跟上。企業(yè)仍然封閉在自己的信息化世界。雖然有CORBA、COM+、RMIEJB這些技術模型在支撐,但向互聯(lián)網(wǎng)公眾提供信息服務,而非上下游合作伙伴提供信息服務,CORBA、COM+、RIMEJB仍然在穿透防火墻和通用數(shù)據(jù)格式傳輸上仍然存在問題,三個體系都有自己的通訊協(xié)議和數(shù)據(jù)傳輸協(xié)議,普通消費者無法參與其中。
2000年,XML產(chǎn)生。隨機基于HTTP的SOAP、WSDL、UDDI產(chǎn)生,WebService作為一個基于互聯(lián)網(wǎng)通用技術基礎上發(fā)展的數(shù)據(jù)通訊協(xié)議和數(shù)據(jù)傳輸訪問協(xié)議體系產(chǎn)生了。
但是WebService只是定義了基于通用互聯(lián)網(wǎng)技術的數(shù)據(jù)通訊和數(shù)據(jù)傳輸訪問。就相當于底層通路通了,但是基于上面的應用呢,還是沒有一個規(guī)范。就相當于路通了,但是在這條路上什么樣規(guī)格的車跑起來最順暢,還沒有這個規(guī)范——當然你可以不要規(guī)范,自己造個自己的車,但以后在和擁有統(tǒng)一規(guī)格的車一起管理和運行時交互時就有了問題。這個描述也為了回答相當一部份人提出的那個問題:我們既然有了WebService,那干嘛還要SCASDO呢?
SOA就是干這件事的。
但是,對于SOA,業(yè)界大佬太過于著急。就如同在.COM大潮中,每個企業(yè)都急于申明我們是一家.COM公司。于是,這個市場混淆了各種視聽。
做工作流的、做OA(OfficeAutomation,)的、做業(yè)務基礎平臺的、做組件的、做中間件的、做EAI(EnterpriseApplicationIntegration,企業(yè)應用集成)的,都號稱自己已經(jīng)是SOA了。
有的說SOA是為了業(yè)務敏捷,即可以靈活調(diào)整系統(tǒng)以適應快速發(fā)生變化的業(yè)務競爭?,F(xiàn)摘錄一段話:SOA通過把傳統(tǒng)應用模塊分解成更小的構件,并把這些構件當作可以重用的Web服務,CIO們就能通過選擇和安排所需構件,來生成最貼合的系統(tǒng)。這和當年我們做WINDOWSDNA架構是多么相似。但當年SOA已經(jīng)提出,但并沒有人說WINDOWSDNA架構是SOA架構。有的說SOA是為了系統(tǒng)整合,有的說SOA是企業(yè)總線,有的說SOA是種業(yè)務分析設計思想,有的說SOA是技術架構模型,有的說SOA有類似UML的作用,可以使業(yè)務設計人員和技術設計人員有共同語言,有人更說SOA就和Web2.0一樣,就是個概念。頗像當年微軟急于把自己所有產(chǎn)品都打上.NET標志一樣,最后弄的大家都搞不清楚什么是.NET了。直到2007年發(fā)布WPF、WCF、WF之后,.NET的技術走向才算基礎架構定型。SOA和當時的.NET非常相似。
如今,SOA規(guī)范才真正落地為SCA(ServiceComponentArchitecture,服務組件架構)和SDO(ServiceDataObjects)。工作流規(guī)范業(yè)界已經(jīng)成型,WF也符合業(yè)界工作流規(guī)范,所以SOA中并沒有定義工作流規(guī)范。而對應WPF的SOA顯然也不需要,畢竟SOA考慮的是業(yè)務接口服務層面,而非這個服務以什么樣的圖形界面規(guī)范來讓客戶存取,沒有必要。但中國普元補上了這一環(huán)節(jié)。中國普元也是OSOA頂級成員之一。光有接口沒有UI,還是需要程序員動手寫這個UI,業(yè)務人員不可能沒有UI去做靈活改變業(yè)務功能和流程,即使有BPEL和DSL也不行。別給業(yè)務人員任何技術的東西,別想著DSL和UML就能讓業(yè)務人員用起來。所以,SCA和SDO已經(jīng)夠用了,SOA架構真正成型。
但SCA和SDO是2007年8月才定型的----雖然2005年已經(jīng)有了草案。所以之前急于號稱是SOA產(chǎn)品的廠商不知作何感想。
信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com