很多 Web 開發人員喜歡 PHP 的豐富功能和簡單易用,但有時候他們需要訪問 J2EE 應用程序服務器中已有的業務邏輯。本文將通過一些例子說明如何通過 PHP 5 中新的 SOAP 擴展使用 Web 服務來訪問 J2EE 應用程序,而不必脫離 PHP 環境,也不用學習新的編程模型。
PHP、Web 服務和 SOAP 簡介
本文將介紹如何從 PHP 腳本中訪問企業應用程序。您可能是一位 PHP 程序員,需要為部門 Web 應用程序編寫代碼,以便訪問公司總部以 Web 服務方式提供的服務。您或許是一位有經驗的 J2EE 開發人員,希望多了解一點 PHP 及其應用。本文中的例子是一個運行在 IBM WebSphere? 應用程序服務器上的 Enterprise JavaBean(EJB),但本文並沒有討論 Web 服務的部署。它的主要目標是介紹如何從 PHP 中使用 Web 服務,這一點可以應用於各種 Web 服務實現。
什麼是 PHP?
PHP:Hypertext Preprocessor(超文本預處理器,PHP)是一種流行的服務器端腳本語言,用於創建動態 Web 內容。PHP 解釋器為主流平台提供了源代碼或者編譯好的二進制文件,這些平台包括大多數 Linux? 版本、Windows?、Mac OS X 和 iSeries?。
確實有數百萬台 Web 服務器正在運行 PHP,其中大部分使用的是 PHP 4。2004 年 7 月推出的 PHP 5 正在逐漸被采用。PHP 5 改進了對象模型,底層的內存管理也從多線程和性能的角度重新作了設計。但是需要注意少數無法向後兼容的修改,PHP 手冊中對這些進行了記錄。
什麼是 Web 服務技術?
Web 服務指的是自成體系的、模塊化的應用程序,客戶機和服務在這種應用程序中是松耦合的。關於 Web 服務的詳細信息,對於本文來說,您只需要了解其中的主要技術:
SOAP(簡單對象訪問協議)定義了客戶機與服務器之間傳遞的消息。消息采用 XML 格式。SOAP 獨立於平台、編程語言、網絡和傳輸層。本文將討論 HTTP 上的 SOAP。
WSDL(Web 服務描述語言)是用於描述 Web 服務的基於 XML 的語言,描述內容包括服務的位置、格式、操作、參數和數據類型。
UDDI(統一描述、發現和集成)是用 API 和 UDDI Registry 實現來提供在網絡上存儲和檢索 Web 服務信息的方法。
本文包括 SOAP 消息和 WSDL 文檔的一些例子,但沒有提供 UDDI 的例子。
XMethods 網站是一個有用的 Web 服務工具,在那裡可以找到在各種服務器平台上實現的可公開使用的 Web 服務的列表。可以使用本文中的例子很方便地訪問從 XMethods 中選擇的服務。