java學習心得筆記
<soap-env:header>;
<t:transaction xmlns:t="some-uri" soap-env:mustunderstand="1">;
5
</t:transaction>;
</soap-env:header>;
<soap-env:body>;
<m:getlasttradeprice xmlns:m="some-uri">;
<symbol>;sunw</symbol>;
</m:getlasttradeprice>;
</soap-env:body>;
</soap-env:envelope>;
jaxr
為了支持uddi在java平臺上的功能,java apis for xml registries (jaxr)允許開發者來訪問注冊中心。
值得注意的是,jaxr并不是建立web服務必需的,你可以利用其他常用的xml apis來直接集成這些協議。
jaxr是一個方便的api,它提供了java api來發布,查找以及編輯那些注冊信息。它的重點在于基于xml的b2b應用,復雜的地址本查找以及對xml消息訂閱的支持等web服務。
它也可以用來訪問其他類型的注冊中心,象ebxml注冊中心。
這些對web服務的注冊信息進行的操作,可以使用當前的一些web服務工具來完成(例如第三方的soap和ebxml消息工具)。另外,當jaxp提供了一致并具有針對性的api來完成這些操作,這將使開發變得更加容易。
jax/rpc
為了使開發人員專注于建立象soap那樣的基于xml的請求,jcp正在開發基于rpc (jax/rpc) 的java api。jax/rpc是用來發送和接收方法調用請求的,它基于xml協議,象soap,或者其他的象xmlp (xml protocol,要了解更多可以參考。jax/rpc使你不用再關注這些協議的規范,使應用的開發更快速。不久,開發人員就不用直接以xml表示方法調用了。
目前有很多第三方實現了soap,開發人員可以在不同的層次上調用soap,并選擇使用哪一種。將來,jax/rpc會取代這些apis并提供一個統一的接口來構造以及處理soap rpc請求。
在接收一個從商業伙伴那里過來的soap請求的時候,一個java servlet用jax/rpc來接收這個基于xml的請求。一旦接收到請求后,servlet會調用商務方法,并且把結果回復給商業伙伴。
jaxm
當從商業合作伙伴那里接收一個web服務的請求時,我們需要java api實現一個servlet來處理ebxml消息,就象我們用jax/rpc來處理soap請求一樣。
java api for xml messaging (jaxm) 是集成xml消息標準(象ebxml消息或者soap消息)的規范。
這個api是用來推動xml消息處理的,它檢測那些預定單的消息格式以及約束。它控制了所有的消息封裝機制,用一種直觀的方式分割了消息中的信息,象路由信息,發貨單。這樣,開發人員只要關注消息的有效負載,而不用去擔心那些消息的重復處理。
目前的開發人員用jaxp來實現jaxm將要提供的功能,jaxm將會提供一套非常具有針對性的api來處理基于xml的消息傳送。這將大大簡化開發人員的代碼,并使它們具有統一的接口。
jaxm和jax/rpc的差別在于處理消息導向的中間件以及遠程過程調用的不同。jaxm注重于消息導向,而jax/rpc是用來完成遠程過程調用的。以下是圖解。
請注意,在jaxm 和 jax/rpc技術成熟之前,開發人員還是依賴于第三方的soap apis,象apache soap, idooxoap, 以及 glue。當jaxm 和 jax/rpc正式發布后,它將為當前不同的soap和ebxml消息提供統一的接口。就象jdbc位多種不同的數據庫提供統一的接口。
jaxb
xml綁定技術可以把xml文檔和java對象進行自由轉換。
用jaxb,你可以在后臺的ejb層,把xml文檔轉換成java對象。同樣你也可以把從ejb中取出的java對象轉換成xml文檔返回給用戶。
jaxb接口提供了比sax和dom更高級的方法來處理xml文檔。它提供的特性可以在xml數據和java類之間互相映射,提供了一個簡單的方法來轉換xml數據。它比逐個解析標記更簡單。
2.2 建立weservice的步驟
在建立weservice的時候,有三個主要步驟:
1.建立客戶端聯接
為了允許applets,applications,商業合作伙伴,瀏覽器和pdas 使用web服務。
2.實現web服務
包括工作流,數據傳送,商業邏輯以及數據訪問。這些功能是隱藏在web服務后,并且為客戶端工作的。
3.聯接后臺系統
這個系統可能包括一個或多個數據庫,現存的企業信息系統,商業合作伙伴自己的系統或者web服務,以及在多個系統中共享的數據。
基于j2ee的web服務的核心構架:
rmi
1. rmi-iiop
2. rmi 是在java中使用remote method invocation的最初的方法,rmi使用java.rmi包
rmi-iiop 是rmi的一個特殊版本,rmi-iiop可以和corba兼容,rmi-iiop使用java.rmi包和javax.rmi
jaf(java活動構架)
開發者可以使用jaf來決定任意一塊數據的類型、封裝對數據的訪問、尋找合適的操作、實例化相關的bean來執行這些操作等。
例如,javamail就是使用jaf根據mime類型來決定實例化那一個對象。
ejb
1. ejb組件實現代碼的限制
ejb組件的約束
ejb的開發者并不需要在ejb的組件實現代碼中編寫系統級的服務,ejb提供商/開發
者需知道并且嚴格地遵守一些限制,這些限制與開發穩定的和可移植的ejb組件的利益有