EOS、BPS怎样进行应用的部署
阅读原文
用户在使用普元的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脚本进行初始化。
EOS、BPS怎样进行应用的部署相关推荐
- 普元 EOS Platform 7.6 集群部署在BES9.5.2.4692,重启集群节点偶发报错:java.util.ConcurrentModificationException
[问题描述] 普元EOS Platform 7.6 集群部署在BES9.5.2.4692,重启集群节点偶发报错: [com.primeton.runtime.resource.impl.Contrib ...
- 普元EOS/BPS为什么没有安装成功 ?
原文连接 在实际的Platform/BPS的产品安装使用中,经常会遇到安装不成功的场景,运行版不成功多于开发版,运行版中集群安装不成功又多于单机版.手工部署安装问题也会多于安装介质的安装.下面说明一下 ...
- 区块链100讲:EOS环境安装和智能合约部署实战
2019独角兽企业重金招聘Python工程师标准>>> 1 硬件配置 操作系统要求 1.Amazon 2017.09 and higher 2.Centos 7 3.Fedora 2 ...
- 区块链学习(8) EOS环境安装和智能合约部署实战(绝对干货!)
硬件配置 操作系统要求 1. Amazon 2017.09 and higher 2. Centos 7 3. Fedora 25 and higher (Fedora 27 recommended) ...
- EOS钱包,本地docker节点部署实现
eos钱包:钱包可直接创建,每个钱包可以关联多个账户. eos账户:eos账户创建必须需要eos其他老用户创建,创建者需要消耗一定的EOS作为抵押. eos密钥:公私钥对,公钥需要在创建账户时指定,私 ...
- [转]EOS智能合约 私链激活 基本操作
链接:https://www.jianshu.com/p/90dea623ffdf 简介 本篇文章,将跟大家介绍eos私链的激活.基础智能合约的安装,以及为大家演示转账等基础操作.还没有安装eos私链 ...
- 普元连接mysql_普元EOS 案例 - 还有一行代码的个人空间 - OSCHINA - 中文开源技术交流社区...
1 创建项目 1) 进入EOS Studio开发透视图: 单击主菜单项"文件"选择"新建"->"空EOS项目 2) 在弹出的"创 ...
- 不容错过 | 超干货免费公开课「EOS区块链应用开发入门实战」,文末送书!
扫码报名,观看直播课 区块链的发展,被认为是新一代互联网WEB 3.0.从原则上讲,要真正借鉴互联网成功发展几十年的经验,而不是简单照搬 web 1.0 的方式各种炒作.今后的正确发展方向是把互联网成 ...
- 利用模型算法部署图像识别_利用这些技巧增强您的图像识别模型
利用模型算法部署图像识别 So, you have gathered a dataset, built a neural network, and trained your model. 因此,您已经 ...
最新文章
- 机器之心公开演讲:如何用AI技术传播AI知识
- python电子章_Python语言程序设计(电子)答案
- [LeetCode] Max Points on a Line 题解
- 华为发布智简全光网战略,携手上下游重新定义光产业
- php对mysql的操作教程,php与Mysql的一些简单的操作
- python的基础是java_Python基础学习
- 3升5升得4升——倒水问题的万能解法(扩展欧几里得算法)
- idea插件安装在哪个目录_从零开始编写自己需要的IntelliJ IDEA 插件
- 全网首发:为什么依赖库编译时加了-fPIC,还是提示依赖库要使用-fPIC?
- 台达伺服控制器接线图_【工控项目分享】台达ASDA-AB系列伺服驱动器——内部位置控制...
- linux内核编程--4netfiter钩子函数
- RC电路延时公式推导
- FileInputStreamFileOutputStream 和 BufferedInputStreamBufferedOutputStrem的性能测试小案例
- ubuntu20.04离线安装rabbitvcs
- 中国房地产总市值与GDP的比例
- git管理账户忘记了_gitlab管理员账号密码重置
- 选择正规的资质好的期货公司开户
- 华为程序员频交 Linux 内核补丁遭质疑,管理员后续回应:承认贡献,但请不要琐碎提交
- 玩家交互体验—剑网3好友系统
- 单目图像3D物体的姿态检测
热门文章
- Windows系统删除蓝牙图标
- 处理数据时不进行归一化会有什么影响?归一化的作用是什么?什么时候需要归一化?有哪些归一化的方法?
- python成绩查询系统_Python爬虫实战:登录教务系统查成绩
- npm安装webpack时,报错npm WARN ajv-keywords@3.1.0 requires a peer of ajv@^6.0.0 but none is installed.
- JointJS入门实例01-在JOINTJS元素中使用HTML
- 【MATLAB教程案例12】基于GA遗传优化算法的函数极值计算matlab仿真及其他应用
- TPM分析笔记(九)TPM资源实体-句柄
- 怎么拼魔方6个面方法_怎样拼魔方,6面的
- 2、JDK,JRE,JVM关系
- libjpeg库和libpng库的移植和使用