在現在的企業應用開發中,Webservice已經是個必備的工具了。在各個企業中,經過一段時間積累,會有很多不同種類的應用,這些應用可能都會使用不同的語言開發,并且需要互相之間的通訊。通訊的首選就是Webservice。前背景的互動,服務之間的互動,或者不同語言之間的互動,都可以使用Webservice這個技術。
Webservice的實作方式多種多樣,兩者共同點是大家都是以HTTP協定為基礎的,都可以跨域,跨語言進行通路。
用的比較多的,一個是SOAP協定的方式。這是比較傳統的webservice 的實作,這個協定比較重量級,釋出者會将webservice以wsdl形式釋出,調用者通過wsdl可以直接生成實體類等。對于調用者來說,“調用”這個步驟會更容易處理一些。不過SOAP形式也存在着消息量大,傳輸效率低等缺陷。SOAP協定本身的可選項比較多,比較複雜,各個屬性設定略有差異會導緻服務通訊的失敗,需要在調試中需要花費更多的時間。
現在更加流行的是使用RESTFUL的Webservice。這種技術是簡化了URL,或者說對URL做了一定格式的限定,同時配合上HTTP的各種method,包括有GET,POST,DELTE,PUT 等,來實作整體service的各種功能。一般傳輸的内容都是json格式的字元串。Restful的Webservice的優點在于這是一種更加輕量級的使用方式,傳輸效率更高,接口約定更加清晰,雙方調試也會更加便利一些。缺點在于,json格式太靈活,是以雙方都需要自行處理json中的各個參數。對于接口實體類的處理需要更多的邏輯和代碼。
J2EE部分
JDBC(可以在J2SE中使用)
JDBC用于java和資料庫互動。它是Java面向接口程式設計的一個典型執行個體:開發者使用JDBC的API進行開發,但是底層可以針對不同的資料庫使用不同的JDBC驅動(由各個資料庫供應商提供)。JDBC被歸為了J2EE的規範中,但是在一般的java程式中也可以使用,而且也是幾乎都會被直接或者間接使用(除非不用資料庫)。這從側面也說明了,其實J2EE企業開發和web開發并不是同一個概念,而是互相融合的。