2009年8月18日 星期二

用 Java 寫 WebService (1)

既然是用Java 寫 Web Service 就不是 Top-Down(Contract first) 的寫法,主要是透過 jax-ws api 來寫,當然 jax-ws 也可用於 contract first 方式寫。


雖然以 jax-ws api 來寫 web service 但還是產生方式



最簡單的 Web service



在 Java SE 6 的環境下即可寫一個簡單的 pojo 即可產生 Web Service


一個 pojo Web Service



Web Service 發佈程式



一個用 Java 寫的簡單 Web Service 即完成



佈署在 Web Container 上



可否將 Web Service 也佈署在 Web Container 上呢?可以的(非標準規範),但必須加上額外的 jar 檔,在 maven 的 pom 檔上須加上



另外在 還須在 Web.xml 檔中加上額外的 Listener 和 servlet 設定



WSServlet 用來處理所有的 Web Service, 至於實際處理 Web Service 部份則定義在另一張設定檔 sun-jaxws.xml 中





該設定檔中定義了兩個 Web Service 分別對應到兩個 Web Service 實作


比較可惜的是,在 Web Container 的環境中目前尚未有標準的規範。目前還需額外設定。



2009年8月3日 星期一

XML API 比較測試

比較幾個常用的XML API 的寫法與實做,並測試較能


我們以一份 Google map 的 kml 檔來做我們 parse 的對象




StAX




DOM API




XPath API




JDOM API




DOM4J API






幾種 API 測試下來的結果 StAX 的較能的最好的約 1/5~1/7 的時間內可完成;
dom、 jdom、 dom4j、 XPath 較能差異不大,個人的偏好以xpath方式來編寫,但也是幾個 API 中效能最差的一個