部署 JAX-RPC 应用程序的定制数据绑定程序的使用模式
使用定制数据绑定程序在 XML 模式类型与 Java™ 对象之间进行映射。 定制数据绑定程序为当前 Java API for XML-based Remote Call Procedure (JAX-RPC) 规范不支持的 XML 模式类型提供绑定。WebSphere® Application Server 为称为 CustomBinder 接口的 Web Services for Java Platform, Enterprise Edition (Java EE) 编程模型提供了扩展,该接口为特定的 XML 模式类型实现这些定制绑定。定制绑定提供程序是定制数据绑定程序的导入到运行时中的包。
要了解有关 CustomBinder API 的更多信息,请参阅“JAX-RPC 应用程序的 CustomBinder 接口”信息。有关定制绑定程序的常规信息,请参阅“JAX-RPC 应用程序的定制数据绑定程序”信息。请参阅“JAX-RPC 应用程序的定制绑定提供程序”信息,以复审如何打包定制绑定提供程序以用于开发。
此使用模式回顾了如何将提供程序包部署到运行时中以及定制绑定过程中涉及的角色。
定制数据绑定中涉及的角色
- 定制绑定提供商负责实现必需的定制数据绑定程序、在 CustomBindingProvider.xml 文件中声明这些绑定程序以及将绑定类封装到 Java 归档 (JAR) 文件中。
- 应用程序开发者负责应用定制绑定提供程序 JAR 文件和生成开发工件。
- 应用程序组装者需要了解定制数据绑定方面的应用程序需求和决定如何将定制提供程序 JAR 文件作为应用程序的一部分来封装。
- 应用程序部署者配置共享库以使应用程序可获得定制数据绑定支持。如果定制提供程序 JAR 文件未与应用程序封装在一起,那么需要完成此操作。如果未部署应用程序,那么在安装应用程序之后,部署程序必须运行 Web Service 部署工具。
公共使用模式
- 在服务器级别上部署定制数据绑定程序
此模式确保服务器上运行的所有应用程序都受定制数据绑定程序影响,并且在引入了不受标准 JAX-RPC 映射规则支持的基础 XML 类型的情况下,此模式很有用。
对于定义新模式类型的新 Web Service 规范,这种情况经常发生。例如,WS-Addressing 规范定义了不受 JAX-RPC 映射规则支持的 EndpointReferenceType 模式类型。因为此模式需要增加服务器类路径,所以它对服务器运行时有重大影响并且会影响已安装的应用程序。此模式最适合于 WebSphere Application Server 内部组件。
- 为多个应用程序部署定制绑定程序
如果只需要定制数据绑定程序影响指定应用程序并且有关 XML 模式类型适用于一组应用程序,请使用此模式。在应用程序的不同组之间进行隔离时,可以在一组应用程序内共享定制数据绑定程序。
- 为应用程序中的特定 Web 模块部署定制绑定程序
使用此模式会确保特定 Web 模块受已部署的定制数据绑定程序影响。当细颗粒度是定制绑定所必需的时,此模式很有用。不能将此模式与 EJB 模块配合使用,因为该模块及其引用的库属于整个应用程序。
使用模式
- 服务器级别部署
如果在服务器级别上部署了定制数据绑定程序,那么需要将已声明的绑定提供程序的作用域属性设为 server。如果服务器与应用程序之间存在冲突,那么将该值设为 server 会确保已声明的绑定程序具有较高的优先级。定制绑定提供程序 JAR 文件需要位于适当的位置以便服务器运行时可获取。请配置服务器路径并使定制绑定提供程序 JAR 文件成为服务器类路径的一部分。要了解配置服务器类路径时所使用的值,请参阅“Java 虚拟机设置”信息。
- 为一个或多个应用程序部署定制数据绑定程序
要为一个或多个应用程序部署定制数据绑定程序,请将已声明的定制绑定提供程序的作用域属性设为 application。将该值设为 application 会确保在应用程序与模块之间存在冲突的情况下,绑定程序具有较高优先级。如果多个应用程序使用定制数据绑定程序,请配置共享库以便应用程序引用。要了解配置共享库路径时所使用的值,请参阅“管理共享库”信息。
- 为应用程序中的特定 Web 模块部署定制数据绑定程序
要在应用程序内为特定 Web 模块部署定制数据绑定程序,请将已声明的定制绑定提供程序的作用域属性设为值 module。将定制数据绑定程序应用于此模式的唯一方法是将定制绑定提供程序 JAR 文件与 Web 模块预封装在一起,例如,将 JAR 文件放在 /WEB-INF/lib 目录中。