網誌的配色代表著寬容、和平、希望、溫柔、純真、俏皮、逗趣最後則是行動力,而這就代表著我心目中的我…

日常生活使用資訊處理的操作,學校學習資訊工程的技術,工作應用資訊管理的整合,未來研究資訊安全的領域

切換模式閱讀  

2011年11月27日星期日

Web Service 開發心得

聽音樂寫程式的感覺真不錯,尤其在面臨感情的困擾時,最近花了點時間做了 Web Services 相關的應用程式,順便複習 Java 程式設計。


首先要如何建立 SOAP 的 Web Service 呢?基本上以可使用 Apache Axis2 搭配 Apache Tomcat  Eclipse 快速創建 Web Service,此時可參考「Eclipse WTP Tutorials - Creating Bottom Up Web Service via Apache Axis2」的文章 。





當建立好 Web Service 接下來就是要如何與資料庫連接,此時就用 MySQL 的 Workbench 工具,就能很簡單的管理資料庫,但重點在於 Java 要如何存取資料庫呢?第一步就要先下載 JDBC 連接的相關 JAR 檔,匯入至 Eclipse 的專案 Library 中,最後若能正常 import java.sql.*; 基本就能開始存取資料庫的資料,至於程式如何撰寫呢?網路資源非常多,簡單來說,先設定 JDBC 的驅動程式,再連接資料庫,最後再執行 SQL 的敘述指令,就能將結果取回進行分析

當確保能 Web Service 正常進行資料庫存取之 CRUD 的功能,接著下來就是要如何開發視窗應用程式,此時 NetBeans 在於 JAVA 的 Swing 視窗設計工具,非常的實用,但最後的重點在於,應用程式要如何使用 SOAP 的 Web Service 呢?其實很簡單,首先將 Axis 相關的 JAR 檔,匯入至 NetBeans 的專案 Library 中,接著再透過 wsdl2java.bat 的命令,產生出 WebService 相關 Class ,最後應用程式就能透過該 Callback 和 Stub 的 Class 使用 Web Service 。
結論是當要建立 SOAP 的 Web Service ,僅僅環境和部署的設定,就要搭配許多的工具才能開發,接著當程式要應用 SOAP 的 Web Service ,基本上還必須透過工具產生對應的相關程式碼才能進行存取,且存取時基本上是透過 Stub 的 Class 建立相關的 request 呼叫,最後再透過 response 取回相關的結果,但這樣實作真的彈性真的高嗎?且若真的很實用,那為何現在很多網站提供的服務皆是以 RESTful 的 Web Service 為主呢?差異在於安全的議題嗎?事實上之前有看到一篇文章「How REST replaced SOAP on the Web: What it means to you」以及「More On REST」值得做參考,那花時間學習舊有的技術,值得嗎?我個人認為不在於學技術,而在於學習為何當初會如此的設計,其背後的概念和困難才是重點,至於技術,基本上就只要會善用適合的工具,但又不要太依賴工具,簡單來說,當您要實作 JAVA 的視窗應用程式會採用 Eclipse 的 Swing GUI Desinger 的 Plug-in,還是直接使用 NetBeans 呢?以及當您要產生 SOAP 的 Web Service 的相關 Class 會採用 Eclipse 的 Plug-in ,還是直接使用命令的方式呢?就我個人而言,比較喜歡更多元的嘗試,而不太喜歡全部皆採用 Eclipse 來達到我的所有目標,理由很簡單,為何我要花時間嘗試幾乎人都會做的事情呢?花同樣的時間嘗試不同的方式,過程中更能體會不同的樂趣,而當以後真的需要使用正規的方式時,就直接上網搜尋教學步驟啦!