與J2EE中Web service有關的要害技術如下: • Web Services for J2EE 1.1。結合單個J2EE技術創建Web service的主要是Web Services for J2EE。它定義了客戶端、service端以及容器之間的部署協議。新的部署描述符文件,webservices.xm,為每一種組件定義了部署模式。Web Services for J2EE 還定義了編程模型(JAX-RPC)、 使用JNDI查找提供service的對象、和安全。最后,它還提供了一個新的Hander對象,開發者可以用這種對象阻止和操作SOAP消息。
• JAX-RPC 1.1 (Java API for XM-Remote Procedure Cas)。JAX-RPC是一個標準的遠程過程調用接口,它使用XM作為方法調用和返回值的序列化協議。JAX-RPC 把servet和無狀態會話Beans定義為在SOAP和 WSD (Web Services Description anguage)的基礎上的XM Web service的service端。Service端是實現了Web service邏輯的軟件組件。JAX-RPC 的cient接口定義了對Web service的遠程調用是如何發生的,以及參數和返回值(包括coection)是如何序列化的。JAX-RPC 1.1 還支持對安全Web services的基于SS的驗證。
• JAXR 1.0 (Java API for XM Registries)。 JAXR 把不同的XM注冊表統一到單個模型。程序員可以利用XM注冊表發現和查找service,訪問它們的內容和元數據。例如,你可以用應用創建工具訪問指定服務器上的注冊表,找出服務器提供了哪些service,設計SOAP客戶端使用其中的一個service。JARX還使得外部Web service客戶端可以訪問J2EE Web service。
• SAAJ 1.2 (SOAP with Attachments API for Java)。SAAJ用具有MIME附件的SOAP消息處理客戶端和Web service之間的SOAP消息傳遞。MIME附件既可以用來發送文檔(對基于文檔的Web service而言)又可以用來發送傳遞大量數據的參數(對 RPC式的Web service)。 SAAJ還為帶附件的SOAP消息定義了DOM(document.nbspObject mode,文檔對象模型)。它答應用戶對如何編碼SOAP消息進行控制, 為重復或復雜的任務提供了automation hook。
• JAXP 1.2 (Java API for XM Parsing)。這個包統一了解析和處理XM的各種方法。負責解析的類可以在部署時與運行時之間切換。JAXP 1.2包含了SAX 2.0、 DOM eve 2、和XST。
Web層增強 不是所有的J2EE 1.4中的Web層增強都與Web service有關?,F有的核心技術也得到了更新。 J2EE 1.4中的Web層最大的增強在于jsp 2.0。JST(JavaServer Pages Standard Tag ibrary)提供了范圍廣泛的通用tag,這些tag極大地方便了Web層的開發。JST還定義了新的表達式語言,這種語言可以用來編寫存儲在任何范圍內的Web層JavaBean組件的表達式。下一個技巧說明了如何使用幾種這樣的tag。
企業Java BuePrint for J2EE 1.4 Java BuePrint示例應用是J2EE平臺的必要部分。示例應用展示了應用設計和開發的最佳實踐,提供了如何使用J2EE技術的例子。J2EE 1.4 SDK開發版本包含了AdventureBuider,這是新增的J2EE的Web service示例應用。它也包含了原有的Java Pet Store和無線游戲示例應用。
其他變化 J2EE平臺其他的一些重要變化包括: JACC 1.0(Java Authorization Contract for Containers ):答應自由選擇安全和基于角色的授權提供者。 Java Depoyment API 1.1: 獨立于服務器的部署工具。 Java Message Service (1.1) 增強 J2EE Connectors 1.5:包括了對異步、雙向、多線程連接器的完全支持。 J2EE Depoyment 1.1:包括了可代替DTD的用XM模式定義的部署描述符,為了向后兼容保留了DTD. J2EE Management 1.0:用Java工具或非Java工具治理企業資源。 新版JavaMai (1.3),Java Transaction API (JTA 版本1.01B), 和JDBC 3.0 安裝服務器
用J2EE 1.4新的GUI安裝程序安裝服務器很簡單。所支持的操作系統如下: Soaris SPARC 8 Soaris SPARC 9 windows 2000 Pro SP3+ Windows xp Pro SP1+ Windows 2000 Server SP3+ Windows Server 2003 inux RedHat 8
除了對inux RedHat的支持以外,只需作很少的修改,甚至不需修改,服務器就能在許多其他的inux版本環境運行。在inux上安裝的主要要求是J2RE 1.4.1以上的版本。 在所支持的任意一個操作系統上安裝服務器的步驟是: 1. 下載適當的軟件包(http://java.sun.com/j2ee/1.4/downoad-dr.htm)。 2. 運行下載的可執行程序。 在Macintosh OS X 或Darwin上安裝J2EE 1.4 SDK是可能的,盡管沒有宣稱對它們的支持。要在OS X 或Darwin上安裝J2EE 1.4 SDK,你必須有root訪問權限,J2RE必須是1.4.1以上的版本。 在OS X 或Darwin上安裝J2EE 1.4 SDK的步驟如下: 1. 下載SDK的inux版本(http://java.sun.com/j2ee/1.4/downoad-dr.htm)。下載的文件將是EF二進制文件。 2. 用unzip命令行實用程序將壓縮文件解壓到一個空目錄。必須用unzip,用象StuffIt這樣的程序是不行的。在提示符(‘$’)后輸入: $ unzip j2eesdk-1_4-dr-inux-eva 3. 開始安裝,輸入: $ java -cp package/PackageFormat.jar:. appserv 安裝程序會開始安裝SDK。假如偶然不能看到安裝時顯示的提示,這時可以調整窗口的大小。 4. 安裝程序要求輸入Java路徑時,輸入: /ibrary/Java/Home 安裝程序會給出一個提示信息“server requires JDK 1.4.2. Java 2 version 1.4.1 wi work propery”,選擇&t;continue>。 5. 安裝程序完成后,還必須做些工作。第一件要做的工作是改變安裝目錄img/bin的訪問權限。輸入: $ chmod a+x /Users/yourname/SUNWappserver/imq/bin 這里yourname是你的用戶名。(這假定服務器安裝在/Users/yourname。) 6. 最后一步要求root訪問權限。服務器在/ibrary/Java/Home/jre/bin內查找java和javac,這個目錄還不存在。你必須創建這個目錄,創建這些程序的二進制代碼的符號連接。輸入: $ sudo mkdir -p /ibrary/Java/Home/jre/bin $ cd /ibrary/Java/Home/jre/bin $ sudo n -s /ibrary/Java/Home/bin/java java $ sudo n -s /ibrary/Java/Home/bin/javac javac sudo命令在第一次運行時會要求你輸入口令。假如你不是系統治理員,你必須以root身份登錄或su到root才能完成這些工作。 7. 安裝到此已經完成。啟動應用服務器,輸入: $ cd /Users/yourname/SUNWappserver/bin $ asadmin start-domain
JST(THE JAVA STANDARD TAG IBRARY) 過去幾年,我們一直自己編寫定制tag實現JSP頁面的顯示邏輯。已經建立了幾個流行的tag庫,用來執行迭代、處理XM、調用輔助函數和訪問Web層JavaBean。這些庫的功能有許多重疊,更主要的是它們互不兼容。
為了解決這個不兼容問題,JCP就一個共用邏輯和現實tag集達成了一致。這些tag通常在創建Web應用的視圖時非常有用。這個新的tag集被稱之為JST(JavaServer Pages Standard Tag ibrary)。