这里所指的Composite应该是对应于SCA规范,如果要翻译过来应该是SOA复合式应用吧。Composite的部署管理与J2EE应用一样,同样会涉及三个部署阶段,即:开发时部署、测试时部署及生产时部署。如下图:
开发阶段
此阶段主要是借助IDE开发工具(例如:JDeveloper)进行应用的开发与测试(借助JDeveloper内嵌服务器或外部服务器),最后将开发出的应用签入到SVN服务器。但是这里有需要注意,由于开发环境、测试环境与生产环境中的配置有可能不同(例如:数据库链接、文件夹路径),所以需要将这些未来可能发生变化的部分抽离出来生成配置计划文件(Config Plan)。未来系统环境发生变化时,只需修改配置计划即可,无需深入到代码内部进行修改。
测试阶段
此阶段从SVN服务器签出需要测试的项目及配置计划,根据测试环境修改配置计划。由于此步无需开发工具的介入,因此,这里的应用的编译与发布过程都是借助命令行与脚本工具(例如:Ant)完成。测试完成后,将生成应用包文件(SAR或JAR包)签入到SVN服务器。
生产阶段
此阶段是将应用包从SVN签出,最终发布到生产环境中实际运行。由于此步多是由系统维护人员完成,所以系统维护人员需要借助基于Web的管理工具(例如:Enterprise Manager)通过发布向导完成。
2. 配置计划
这里以文件适配器(File Adapter)为例,文件适配器中有一个属性FileNamingConvention,即:文件适配器需要打交道的文件名规则。这个属性可能在未来测试或生产品环境中有所改变,因此,我们将其抽离到配置计划中。如下图:
修改完成后,右键点击“composite.xml”文件,选择“Generate Config Plan”。这样就生成了配置计划,当然,我们也可以选择“Validate Config Plan”验证查看我们生成的配置计划。
3. 通过Ant脚本编译与部署
注:此步所需的Ant脚本位于:%JDEVELOPER_HOME%\bin下
a. 加载环境变量,执行setDomainEnv.cmd,例如在我的环境中:
D:\oracle\fmw\user_projects\domains\soa_domain\bin\setDomainEnv.cmd
b. 编译打包,例:
ant -f ant-sca-package.xml
-DcompositeDir=C:\po\POProcessing\POProcessing
-DcompositeName=POProcessing
-Drevision=1.0
-Dscac.application.home=C:\po\POProcessing
c. 部署,例:
ant -f ant-sca-deploy.xml
-DserverURL=<a href="http://localhost:8001">http://localhost:8001</a>
-DsarLocation=C:\po\POProcessing\POProcessing\deploy\sca_
POProcessing_rev1.0.jar
-Doverwrite=true
-Duser=weblogic
-Dpassword=welcome1
-DforceDefault=true
-Dconfigplan=C:\po\POProcessing\POProcessing\POProcessing_dev_
cfgplan.xml
4. 通过EM部署