SOA和PHP

來源:互聯網
上載者:User

SOA和PHP

 

什麼是SOA?


SOA(Service Oriented Architecture,面向服務的架構)是一種新的面向服務架構的編程模型,號稱“下一代軟體架構”。SOA由Gartner在1996年提出的,到了2002年12月,Gartner又提出了SOA是“現代應用開發領域最重要的課題”,並預計到2008年,SOA將成為佔有絕對優勢的軟體工程實踐方法。

 

SOA就是服務的集合。從軟體和業務功能兩方面的觀點看,服務就是定義良好的軟體組件,它不依賴於任何調用它的應用程式的上下文或狀態。

在技術上,定義這些服務以及它們到應用程式的介面,然後實現這些服務,是SOA的核心部分.這些服務通常被實現為Web Services,應用程式可以通過簡易物件存取通訊協定 (SOAP)(Simple Object Access Protocol,SOAP)來訪問它,基於HTTP協議以XML的形式進行傳輸.

從根本上說,SOA是服務介面的一種流和一種關係,設計介面及其關係需要熟練掌握Web技術、商務程序和服務下的技術平台以及採用它們的應用程式等方面的知識。架構師不僅必須瞭解如何構造Web服務,而且還要瞭解現有應用程式和計劃未來使用的應用程式如何使用它們。


 

SOA和Web Services是比較大的概念,是一種規範(封裝服務和提供服務的規範),它們降低了背景程式如何啟動並執行重要程度。你可以用不同的程式設計語言和平台來並實現SOA和Web Services。甚至有人由此預計五年後JavaEE不再是主流的標準程式設計模型,因為Java EE太過複雜。很顯然,如果我用簡單的方式也可以實現SOA,那麼為什麼要用Java EE呢? 這就是平台的力量,平台的影響力總是大於應用,JavaEE是個小平台(對於一般的開發而言,它已經是個非常大的平台,但是技術和需要總是在不斷髮展的),而SOA是個大平台。從面向過程,物件導向,面向組件和面向業務各種編程模型,目前JavaEE大部份時候是在面向組件和面向業務之間,而SOA是面向業務,應該說對於公司專屬應用程式非常有優勢。

 

目前IBM可以說是SOA的主宰力量,我們可以看到它甚至在PHP方面也在大力推廣SOA(IBM、Oracle 嘗試把PHP 應用到SOA 之中),足見其野心之大。

 

我們看看IBM在PHP SOA方面的進展:

2005.7 IBM用PHP實現SDO並提交到PHP的PECL庫

2005.12 IBM聯合BEA、Oracle、IONA、SAP、Siebel、Sybase、Xcalia以及Zend公司,共同發布了兩項針對SOA的重要編程模型規範——SCA(Service Component Architecture)和SDO(Service Data Object)。  注意,包括Zend公司。Zend和PHP的關係,就類似於Sun和Java。       

2006.3 PHP SDO v1.0.0發布
2006.9 PHP SDO v1.0.4發布
2006.9 PHP SCA v0.1.0發布

 

詳情請參看:

SOA PHP Homepage

 

其實單獨地說PHP中的SOA並不是一件很有意義的事,因為那隻不過是一個Java的移植,以現在PHP5的物件導向編程模型,基本上已經足夠勝任,甚至有些方面更方便,因為PHP是弱類型和動態類型的語言(Type Juggling),在實現SDO時,寫代碼不用像Java那麼煩瑣(不需要寫那麼多geter/seter)。但是實現之後,能否推廣起來?這種“抽象、鬆散耦合和粗粒度”的軟體架構能否真正被接受?

 

光靠IBM的力量(可能還有Oracle、Zend)來發展PHP SOA,可以說是沒有可能成功的。當然話又說回來,如果SOA發展很好,PHP SOA也一定會流行起來,也會有更多技術廠家加入。一個技術能否被接受,能否流行,很多情況下還是要看大環境。

參考:

SOA PHP Homepage

解讀SCA/SDO ——SOA已進入實質階段

An introduction to Service Data Objects for PHP

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.