Aqualogic Service Registry(以下简称ALSR)是Service Oriented Architecture (SOa) 的重要组成部分,是SOA治理(Governance) 和服务生命周期管理的基础。 ALSR完全符合UDDI v3标准,在SOA体系架构中作为服务注册中心,可以被用来注册,发现和查找服务。
ALSR可以单独运行,也可以部署到J2EE应用服务器上,并能支持集群部署。由于ALSR设计为与应用服务器独立,因此在移植到某特定应用服务器上时需要做一些修改和配置。 本文就是介绍了如何将ALSR部署到基于WebLogic Server的集群上。
基于WebLogic Server的ALSR集群配置
假设:
两台机器组成集群,hostname分别是jizhou01和publictesting;
数据库使用MS SQL Server2005;
使用WebLogic Server 9.2(可以使用WebLogic Server 8.1 sp5以上版本,WebLogic Server 9.x)
外部访问URL:http://jizhou01:7021/discovery/uddi/web
说明:以ALSR Discovery Registry配置集群为例

Balancer 为域管理节点(非集群节点),负责负载均衡和代理转发请求
Configuration Manager: 集群被管理节点,负责集群各个节点的配置与数据同步,保持数据的一致性,这里以jizhou01上的manager节点为Configuration Manager
Configuration listener: 集群被管理节点,可以配置多个,这里只以listener1节点为例,运行在publictesting机器上
具体步骤:
安装ALSR3.0:
a) 选择使用WebLogic应用服务器作为部署平台;
b) 选择合适的数据库;注意集群部署方式不要使用默认自带的数据库,本例使用MS SQLServer2005;
c) 安装时选择适当的Registry模式,本例只安装discovery类型的Registry, 因此上下文就使用discovery;
d) 安装时不要选择“安装后部署”选项;否则将部署到域管理节点上,如果不需要集群,则可以选择此项;
e) 安装结束后在%Registry%\conf\porting\weblogic\build下会生成discovery.war。该文件需要进行配置修改,因此在build目录下创建文件夹discovery,使用winzip或jar工具将discovery.war内容解压缩到discovery目录下
说明:只需在管理节点安装,集群其他机器上没有必要再安装。
配置正确后的ALSR,运行时是一个基于标准的web应用,非常方便管理。
创建WebLogic Server Domain:
a) 管理节点为AdminServer, 启用SSL,监听端口为7022, 常规监听端口为7021
b) 添加被管理节点manager, listener1;分别启用SSL, 监听端口为7032, 常规监听端口为7031;注意集群软件代理(proxy)需要使用管理节点,不再单独配置,也可使用硬件负载均衡如F5代替
c) 创建集群mycluster, 将manager, listener1添加到集群, 集群地址 http://jizhou01:7031,http://publictesting:7031
d) 将所需数据库的JDBC Driver添加到Classpath,可以在Domain的bin目录下的setDomainEnv.cmd或setDomainEnv.sh中设置;注意集群中所有节点都需要添加驱动
e) 验证集群配置正确;对集群部署还不熟悉的,可以参考部署BEA自带的例子weblogic92\samples\server\examples\src\examples\cluster\sessionrep\inmemrep
f) 注意,不要使用默认的集群多播地址和端口,以免和其他人配置的多播地址与端口冲突。
安全配置:
a) 通过IE浏览器访问集群的被管理节点获得集群节点的证书,将其保存为Base64格式的*.cer文件。如图:

b) 在%Registry%\conf\porting\weblogic\build\discovery\conf下有配置文件pstore.xml,需要将集群中所有节点的证书导入到该文件;该文件中的证书作为应用的可信证书,可以使用如下面的命令:
PStoreTool add -config %pstore_path%\pstore.xml -certFile [ 证书文件名]
其中pstore_path=%Registry%\conf\porting\weblogic\build\discovery\conf

注意将%beahome%\weblogic92\server\lib下的CertGenCA.der也添加到pstore.xml中,因为其是节点证书的签发CA证书。在生产环境中,也需要将CA证书导入到该pstore.xml中
c) 注意安装后有文件%Registry%\conf\jaas.config, 将该文件复制到所有节点的domain目录下,然后在setDomainEnv脚本加入(可以在第一行)
Set JAVA_OPTIONS=-Djava.security.auth.login.config= %domain%\jaas.config
日志文件配置:
a) 修改%Registry%\conf\porting\weblogic\build\discovery\conf下的log4j.config文件中日志文件地址正确,如果指定文件夹不存在会抛异常。确保集群中所有节点的日志文件地址指向相同结构的文件夹。




