用户在使用普元的EOS、BPS产品开发完项目之后,经过测试后,就可以正式部署上线了。在部署上线前,需要一些准备工作,下面分别说明。
1、环境准备和产品安装
主要是软、硬件的准备,如主机、操作系统、数据库、应用服务器(集群)的安装配置,管理服务器(集群需要)和管理应用(Governor、Workspace)的安装,产品的安装,应用的配置等。请参考安装部分的文档。
对于单机安装,管理应用(Governor和Workspace)和业务应用(默认Default)可以安装在同一个应用服务器上,也可以安装在不同的服务器上,参见图1。对于集群安装,管理应用安装在管理服务器上,业务应用要安装在集群上,参见图2。
1)单机部署典型场景
图1: 单机部署的典型场景(部署在一个应用服务器上)
如图1所示,Governor管理应用,Workspace流程引擎管理应用,和Default业务应用部署在同一个应用服务器上,这是用户常用的部署形态。
图2: 单机部署的典型场景(部署在两个应用服务器上)
如图2所示,Default业务应用和Governor等管理应用也可以分开部署。Governor和Workspace可以管理远程的Server或BPS引擎应用。将Default业务应用分开部署的好处是,部署形态灵活,可以单独使用EAR/WAR方式进行部署,并且业务应用的运行耗费资源小,不需要运行Governor、Workspace管理应用,避免业务应用和管理应用相互影响,同时管理应用还可以管控管理多个业务应用。当然缺点是要增加一个应用服务器实例,部署过程比前者复杂,部署后,需要在管理添加业务应用。
2)集群部署的典型场景
图3: 集群环境应用部署典型场景
如上图,管理应用Governor和Workspace部署在管理服务器上,而业务应用部署在集群的被管服务器上,Governor和Workspace管理集群上的应用。集群环境的管理应用和业务应用必须分开部署。
2、准备许可证
对于正式上线的应用,默认许可证是不够用的,里面可能有很多限制,比如并发数限制等。需要向普元商务部申请正式上线的永久许可。
3、部署介质准备和应用部署
部署介质就是要安装的业务应用。安装介质安装的业务应用(比如默认的Default应用,应用名称用户可以自定义)只是一个不包含业务应用,只含有普元产品框架引擎、流程引擎的应用,里面没有任何业务程序。用户通过开发版开发出来的业务项目,需要导出为部署介质,才可以上线,有三种部署介质,ECD/EPD、EAR/WAR、PAR。应用部署包含SOA应用和流程应用的部署,应用部署根据部署包的不同,也分不同的几种形式。
1)部署包ecd,补丁包epd
开发环境的Studio开发应用后可以导出应用部署包ecd文件,或增量的部署文件epd文件。可以通过Governor向业务应用上进行部署。ecd文件一般用于全量应用程序的部署,而epd文件是用来修改bug,增加新功能后的增量部署,两种方式都可以。
2) EAR或WAR部署
6.5版本及以上产品 Studio可以导出应用EAR和WAR包,对于Tomcat,可以导出WAR包,对于JBoss、WebLogic、WebSphere、PAS等可以导出EAR或WAR包。EAR和WAR应用部署包,可以通过应用服务器的标准的应用部署方式进行部署,另外需要配置一个外置配置目录就可以了。有了外置配置目录,应用在第一次启动时会将WAR中内含的配置文件复制到外面的目录,这样以后如果通过Governor修改应用的配置,会保存在外面的配置目录中,重新部署EAR应用不会将以前的配置文件覆盖掉。
3) PAR包的部署
另外BPS产品也默认提供了已经导出的PAR的流程部署包。PAR包需要通过BPS的Workspace管理进行部署。
下面使用一个表格来详细说明上面三种部署方式的不同点:
部署方式 |
Platform |
Platform |
BPS | |
---|---|---|---|---|
概念 | ECD是构件包部署包,EPD是构件包补丁包。 | EAR/WAR是标准的JavaEE应用的部署包, | PAR是流程部署包,包含了流程相关 | |
导出方式 | 通过 Studio导出。 | 通过Studio导出。对于Tomcat,只能导出 | 通过Studio导出。 | |
前提条件 | 上线应用服务器需要预先安装普元产品的业 | 上线应用服务器不需要预先安装普元的SOA | 上线应用服务器需要预先安装普元的流 | |
应用场景 | 通过运行环境的安装包安装SOA运行环境,再 | 不需要预先安装运行环境,直接通过应用服 | 不需要预先安装运行环境,直接通过应 | |
部署过程 | 1、启动管理服务器和被管服务器(如果有的话)。 | 1、启动应用服务器的管理服务器和被管服务 | 1、通过Studio导出PAR。 | |
集群部署特点 | 1、通过Governor向组(6.5版本以前)或EOS | 1、通过管理应用服务器的控制台,向集群部署 | 1、通过Workspace应用向集群中任何一个 |
|
4、数据库驱动的部署
在部署应用后,要注意部署一下数据库的jdbc驱动程序。将jdbc驱动程序的jar部署到应用服务器的lib目录下。下面是几种应用服务器的jdbc驱动的建议存放目录。
1)Tomcat
- 5.5.x:<TomcatHome>/shared/lib
- 7.x:<TomcatHome>/lib
2)JBoss:<JBossHome>/server/default/lib
3)WebLogic:<domainHome>/lib
4)WebSphere:<WAS_Home>/lib/ext
5)PAS:通过控制台部署jdbc驱动,一般部署在<PAS_HOME>/pas-6.0/repository/jdbc目录下。
5、数据库初始化
部署应用之前应该将数据库初始化好,否则应用启动的时候会报错。初始化数据库包括下面三个方面:
1)普元产品系统表的初始化
系统表是产品内使用的系统表,包含普元产品系统表和流程相关系统表。推荐通过Governor进行系统表和数据的初始化。Governor的初始化数据库功能可以选择模块(如Server、BPS)等进行数据的初始化。
2)用户业务字典的数据初始化
业务字典和用户的业务息息相关,需要用户自己准备初始化的数据,准备好后,通过数据库客户端直接运行初始化SQL脚本进行初始化。
3)用户业务表初始化
用户的业务表是用户业务上使用的数据库表,这些表的初始化需要用户自己准备初始化脚本,并通过数据库客户端直接运行初始化SQL脚本进行初始化。