模块通常使用库中的工件。工件和库包含在您部署模块时标识的 Java™ 归档(JAR)文件中。
在开发模块时,可标识能被模块的各个部分使用的某些资源或组件。这些资源或组件可以是您开发该模块时创建的对象,也可以是服务器上已部署的库中的对象。本主题描述安装应用程序时需要使用的库和文件。
什么是库?
库包含由
WebSphere® Integration Developer 中的多个模块使用的对象或资源。工件可以包含在
JAR、资源归档(RAR)或 Web service 归档(WAR)文件中。这些工件包括:
- 接口或 Web 服务描述符(扩展名为 .wsdl 的文件)
- 业务对象 XML 模式定义(扩展名为 .xsd 的文件)
- 业务对象映射(扩展名为 .map 的文件)
- 关系和角色定义(扩展名为 .rel 和 .rol 的文件)
当模块需要工件时,服务器就会在 EAR 类路径中查找该工件,如果尚未装入该工件,就会将其装入内存。从那以后,直到该工件被替换之前,任何对该工件的请求都将使用该副本。
图 1 说明了应用程序如何包含组件和相关的库。
图 1. 模块、组件和库之间的关系
什么是 JAR、RAR 和 WAR 文件?
许多文件可以包含模块的组件。Java 2 Enterprise Edition(J2EE)规范对这些文件作了详细描述。在 JAR 规范中可以找到有关 JAR 文件的详细信息。
在 WebSphere Process Server 中,JAR 文件还包含应用程序。应用程序是模块的组装版本,它包含该模块使用的任何其他服务组件的支持引用和接口。要全面地安装应用程序,您需要这个 JAR 文件、任何其他库(例如
JAR 文件、Web service 归档(WAR)文件、资源归档(RAR)文件、登台库(企业 Java Bean - EJB)JAR 文件)或任何其他归档,并使用 serviceDeploy 命令来创建可安装的 EAR 文件(请参阅在生产服务器上安装模块)。
登台模块的命名约定
在库中,对登台模块的名称有一些要求。这些名称对于特定模块来说是唯一的。请对部署应用程序时所需的任何其他模块进行命名,以避免与登台模块名发生冲突。对于名为
myService 的模块来说,登台模块名是:
- myServiceApp
- myServiceEJB
- myServiceEJBClient
- myServiceWeb
注: 如果服务包含 WSDL 端口类型服务,则 serviceDeploy 命令将仅创建
myService Web 登台模块。
使用库时的注意事项
由于每个调用模块都有自己的特定组件副本,正在使用的库在模块之间提供了业务对象一致性以及处理的一致性。为了防止出现不一致和故障情况,确保在所有调用模块之间协调对调用模块所使用的组件和业务对象进行的更改是很重要的。通过执行下列操作,更新调用模块:
- 将该模块以及库的最新副本复制到生产服务器
- 使用 serviceDeploy 命令来重建可安装的 EAR 文件
- 停止运行中的包含调用模块的应用程序,然后重新安装它
- 重新启动包含调用模块的应用程序