Professional Web APIs with PHP:eBay,
 Google, PayPal, Amazon, FedEx,
 Plus Web Feeds

 Paul Reinheimer/著,
 Wrox Press出版
 售價:39.99美元
 Amazon四顆半星


Web APIs已經是Web 2.0時代不可忽視的一項重要特色,過去在API機制尚未普遍的Web世界裡,當無法取得足夠資訊的前提下,常常會以畫面擷取(Screen Scraping)的方式進行異質系統之間的整合,雖然已經有些開放源碼的函式庫可以支援HTML元素的擷取(像Apache Jakarta專案中的HttpClient、OpenSymphony的SiteMesh等),但仍然會因為資料來源網頁的版面更新,造成需要經常修改程式,實用性並不高。

服務導向概念興起,API水漲船高
慢慢地,服務整合SOA的呼聲水漲船高,加上每個軟體平臺大廠都奉SOA為至高無尚的圭臬時,不管是以結構嚴謹的SOAP,或是輕巧簡單的REST(Representational State Transfer,代表性狀態傳輸)訊息結構方式,XML與HTTP已經是網際網路舞臺的閃亮主角。基於這兩種技術的簡單易用,加上跨平臺及幾乎所有開發語言都能支援的特性,XML與HTTP迅速地被開發人員廣泛接受,利用它來實作服務整合的API介面,已經是十分普遍的現象。

這樣的應用不僅僅在企業之間的服務開始整合,某些知名的網路服務提供者也因為使用率的提升,也提供方便使用者進一步整合的API介面,讓大家可以依自己所需,將這些來自不同提供者的強大功能更密切地整合在一起,提供更無縫式的完美服務。

領先大廠投入網路服務API開發
本書以數個全球知名的網路服務為例,包括了耳熟能詳的Google、Amazon、 FedEx、eBay、PayPal、Flickr、Del.icio.us等,這些服務具有大量使用者。作者詳細說明如何使用這些Web APIs整合到自己的網路服務中,而實作的技術則是在網頁開發領域歷久不衰的PHP技術。

這些Web APIs具備了以下幾項共通的特點:

● 幾乎都提供多種不同的程式語言供開發者選擇,不在技術上有任何偏好及限制,符合開放標準的精神。

● 在使用前都必須申請授權碼,利用取得的授權碼呼叫API,使用上亦有所限制,避免有限的資源遭濫用。

● SOAP幾乎已經成了各家廠商必然提供的標準,只要是網路服務API,幾乎都會提供SOAP介面,有些甚至亦同時提供REST方式。

● 原則上相關的軟體套件都採用免費的方式提供給玩家們使用,當然你若需要應用在商業用途上,會有不同的授權方式。

閱讀重點放在如何自行設計,而非API的使用
參考了別人家的Web APIs怎麼用,重點在於如何為自己的網站服務規畫設計出專業的API。本書的第十二章便是筆者認為全書較具價值之處。這裡提到了以下的思考重點:

● 在不同實作技術下,針對資料安全性的考量是否完備?

● 評估選擇SOAP或REST方式實作時,其優劣之處及適用時機為何?

● 在效能提升上可以採取的改善及解決方法,以避免因為大量使用造成效能不彰。

● 必須重視API錯誤回應碼的分類及定義,讓前端能有效掌握系統狀態,提供更友善的訊息內容。

● 除了設計API,也需提供網路社群的相關資源,包括技術文件、討論區、相關套件下載等。

● 未來在API的版本控管及升級時,能提供不同版本之間的相容性。

全書篇幅不多,你可以跳著閱讀自己認為較有幫助的部份。幾近三分之二的章節都在介紹這些APIs如何使用,但筆者建議讀者閱讀的重點,是透過本書對這些領先品牌服務平臺的整理,而不在於這些PHP程式碼應怎麼寫,思考這些APIs背後的設計方式及規格的定義,有助於未來規畫網路服務API時的參考。

《作者簡介》陳宏一
交通大學資訊管理研究所碩士。目前任職於某數位行銷公司技術經理,曾任職於南亞科技資訊部工程師、資迅人網路研發副理、艾群科技產品研發部經理,專精於OOAD、 J2EE 相關技術、Open Source、資料庫設計、軟體開發流程及專案管理等;取得SCJP、SCWCD、SCJD、SCEA、ITIL等認證。曾經歷大型社群及電子商務網站、 WAP/3G行動加值服務、CTI/CRM客服系統架構規畫設計等。

熱門新聞

Advertisement