与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有关。现有的核心技术也得到了更新。 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)。