web 服務是通過標準的web協議可以訪問的一個應用程序組件。
它是一種可以接收從internet 或者internet 上的其他系統傳遞過來的請求的輕量級獨立的通信技術。這種技術允許網絡上的所有系統進行交互。
j2ee平臺是圍繞web服務來構架的,其中的技術和web服務相關的有JAX-RCP 、Web Service、SAAJ 、JAXR 、EJB 、JAC 等,其中Web Services for J2EE 是WEB服務總框架,JAX-RCP是J2EE的WEB服務的核心技術,SAAJ為處理帶附件的SOAP消息提供了JAVA編程API.
在J2EE平臺中,要開發WEB服務可以使用兩種技術,一種基于XML遠程調用的技術-JAX-RCP,另外一個基于XML的消息發送技術-JAXM.
這里主要針對JAX-RCP 詳細說一下。
JAX-RCP( JAVA API FOR XMLBASED RCP) 是一種遠程方法調用(或者說遠程過程調用),那么它和其他遠程方法調用(RPC,COM,CORBA RMI)有什么區別呢
綜合比較長遠的遠程方法調用技術,他們有以下共性。
1,在客戶端和服務端有通用的編程接口。
2,在客戶端STUB,在服務端有SKELETON.
3,客戶端和服務端有專門的協議進行數據傳輸。
對于通用接口的描述,比如CORBA 有IDL OF CORBA ,JAVA RMI 有JAVA RMI INTERFACE IN RMI ,對于基于XML的RPC 來說,IDL 就是WSDL。那么對于XML-RPC來說,這個結構中“傳輸協議”當然是SAOP,SOAP消息是將以傳輸文本為基礎的協議(HTTP,SMTP FTP)作為載體來使用的。也就是說,SOAP消息的傳輸建立在HTTP SMTP FTP之上。
JAX-RCP的客戶端調用方法:
1,基于STUB
2,動態代理
3,動態調用