UWF4.1 环境搭建部署

580 阅读4分钟

UWF安装环境要求

软件组件应用程序和版本号推荐版本
数据库SQL Server 2016及以上SQL Server 2016

开发环境:

名称环境备注
服务器VS 2019.Net Core环境需安装勾选.Net Core跨平台开发模块

正式环境 / 测试环境:

名称.Net Core环境下载地址
应用服务器dotnet-hosting-3.1.8-win.exedotnet-hosting-3.1.8-win.exe

获取部署文件

若需获取部署程序源码,请联系Ultimus

目录讲解

描述文件目录
config:程序公共配置文件
jobservice:公共服务程序,例如windows service或任务计划等
sql: 数据库部署脚本
webservice:产品webservice站点
webportal:前端portal门户站点程序
uwf8.png

部署UWF数据库

5.1-1.png

  1. 创建一个空的业务库,乳:UltimusBiz,排序规则与Ultimus产品库保持一致
  2. 打开部署文件中的sql文件夹,其中有structure.sql和data.sql两个脚本文件
  3. 执行structure.sql创建表结构,其中需要注意的是,与产品库相关的视图,需要修改成对应的产品库名称
  4. data.sql插入UWF框架基础数据 数据库部署好之后,我们需要更新下项目配置数据,例如:
-- 项目编号,不允许中文及空格。如uwf
update com_appsettings set value='uwf' where NAME='CompanyCodeSettings'

以上步骤执行完毕,数据库就创建好了

部署UWF网站

1.部署Portal网站(需要部署到Web服务器)

  1. 部署UWFPortal

  2. 站点目录:webportal\Ultimus.UWF.WebApi

应用程序池设置无托管

创建uwf4_Website站点,端口号无要求
uwf1.png

修改数据库配置Portal站点对应的路径,例如:

-- 修改Portal站点路径
update com_appsettings set value='http://10.0.0.1:5041' where NAME='SendEmail.RootPath'

2. 部署WebService

站点目录:\webservice\Ultimus.UWF.WebService.V2021

部署WebService应用程序池关闭支持32位,设置为false:应用程序池的用户为LocalSystem
uwf2.pnguwf3.pnguwf4.png

修改数据库配置WebService对应的路径,例如:

update com_appsettings set value='http://10.0.0.10:8002/UltimusService.asmx' where NAME='webservice.url'

3.部署Ultimus.EIK.WebApi

站点目录:webservice\Ultimus.EIK.WebApi

部署Ultimus.EIK.WebApi应用程序池的用户为产品发布使用的域账号
这里我使用的是本地域账号
uwf5.pnguwf4.png
应用程序池关闭32位
1653890310(1).png

修改数据库配置Ultimus.EIK.WebApi 对应的路径,例如:

update com_appsettings set value='http://10.0.0.10:8003' where NAME='ultimusapi.url'

4.部署ConvertXMLToWFL

目录:\webservice\ConvertXMLToWFL

此处有两种配置方式

配置方式一(推荐)

部署到任务计划程序中,打开任务计划程序,创建任务

1.配置程序基本信息2.设置系统启动时执行
uwf1.pnguwf2.png
3.配置exe启动文件和启动路径4.设置程序参数,例如:"D:\UWF4\eik\Ultimus.EIK.WebApi\temp"带上双引号
uwf3.pnguwf4.png
5.取消只有在计算机使用交流电源时才启动此任务勾选6.取消如果请求后任务还在运行,强行将其停止勾选
uwf5.pnguwf6.png

配置方式二

1.打开webservice\ConvertXMLToWFL\bin\Debug2.在路径中输入cmd回车打开控制台
uwf10.pnguwf11.png

3.在命令行中执行convertxmltowfl.exe
例如,输入:

convertxmltowfl.exe "C:\UWF41\webservice\Ultimus.EIK.WebApi\temp"

按回车,看到光标闪烁就算成功了 uwf13.png

5. 部署移动端

站点目录:mobile\h5

添加h5移动端子站点创建站点
uwf10.png6.1-8.png
应用程序池选择IIS默认的4.0以上的.net即可

更新Ultimus2021补丁

  1. 使用Ultimus2021,产品最新补丁提供有自动发布接口,这里我们需要安装Ultimus2021补丁
  2. 对于Ultimus2021之前的老版本,当UWF框架生成好xml流程文件后,则需要手动发布流程图,不需要执安装此补丁

1.安装产品补丁

  1. 打开路径:C:\Program Files\Ultimus Digital Process Automation Suite,产品安装路径
  2. 复制补丁包中的UltEik.dll文件,替换掉产品目录中的旧文件
  3. 以管理员身份打开cmd,cd跳转到C:\Program Files\Ultimus Digital Process Automation Suite目录
    命令: cd C:\Program Files\Ultimus Digital Process Automation Suite
  4. 依次执行卸载和安装,命令如下:
    Uninstall Binary from GAC
    C:\Program Files\Ultimus Digital Process Automation Suite\gacutil/u UltEik
    Install Binary in GAC
    C:\Program Files\Ultimus Digital Process Automation Suite\gacutil/i UltEik.dll

2.替换ConvertXMLToWFL补丁

  1. 复制UltEik.dll文件,替换掉webservice\ConvertXMLToWFL\bin\Debug目录中的UltEik.dll旧文件

3.替换Ultimus.EIK.WebApi补丁

  1. 复制UltEik.dll文件,替换掉webservice\Ultimus.EIK.WebApi\bin目录中的UltEik.dll旧文件

部署UWF相关服务

部署Ultimus.UWF.ServiceUseXml

Ultimus.UWF.ServiceUseXml 部署为 Windows Service服务

1.以管理员身份运行0Ultimus.UWF.ServiceClient.exe6.2-8.png
2.根据自己需要,修改服务名称,依次点击安装服务 启动服务即可
5.安装成功后,可以再Service中看到我们安装好的服务UWF4 - JobService
6.2-9.png

jobs.xml服务配置

  1. TaskQueueJob:TaskQueuel流程队列服务
  2. TaskOverdueJob:TaskOverdue流程超时邮件提醒服务,邮件模板jobservice\Ultimus.UWF.ServiceUseXml\bin\Debug\templatesTaskOverdue.cshtml
<?xml version="1.0" encoding="utf-8" ?>
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData">
  <processing-directives>
    <overwrite-existing-data>true</overwrite-existing-data>
  </processing-directives>

  <schedule>
    <!-- TaskQueuel流程队列服务 -->
    <job>
      <name>TaskQueueJob</name>
      <group>Workflow</group>
      <description>Task任务队列TaskQueue</description>
      <job-type>Ultimus.UWF.TaskQueue.TaskQueueJob,Ultimus.UWF.TaskQueue</job-type>
      <durable>true</durable>
      <recover>false</recover>
    </job>
    <trigger>
      <cron>
        <name>TaskQueueJobTrigger</name>
        <group>Workflow</group>
        <job-name>TaskQueueJob</job-name>
        <job-group>Workflow</job-group>
        <cron-expression>0/3 * * * * ? </cron-expression>
      </cron>
    </trigger>
      
	<!-- TaskOverdue流程超时提醒服务 -->
    <job>
      <name>TaskOverdueJob</name>
      <group>Workflow</group>
      <description>Task超时通知服务TaskOverdueJob</description>
      <job-type>Ultimus.UWF.Overdue.TaskOverdueJob,Ultimus.UWF.Overdue</job-type>
      <durable>true</durable>
      <recover>false</recover>
    </job>
    <trigger>
      <cron>
        <name>TaskOverdueJobTrigger</name>
        <group>Workflow</group>
        <job-name>TaskOverdueJob</job-name>
        <job-group>Workflow</job-group>
        <cron-expression>0 0 1 * * ? </cron-expression>
      </cron>
    </trigger>

  </schedule>
</job-scheduling-data>

部署Ultimus.UWF.EventSubscription 引擎订阅

流程状态订阅服务,部署在任务计划程序中

服务创建步骤
1.使用最高权限运行6.3-1.png
2.按计划执行,每分钟执行一次6.3-2.png
3.选择可执行文件Ultimus.UWF.EventSubscription.exe6.3-3.png
4.取消只有在计算机使用交流电源时才启动此任务勾选6.3-4.png
4.取消如果请求后任务还在运行,强行将其停止勾选6.3-5.png