以ArcGIS Workflow Manager为核心的任务管理系统搭建

1
分享 2019-08-16
作者 Esri Canada 郭嘉琪
 
 
 
背 景

最近半年接触的几个大型客户都有相似的项目系统结构:
1:大量的的实地勘察人员 (field work) 来采集种类繁多的任务。 
2:办公室内的领队需要把收集到的各种任务分配到相应的GIS任务处理小组
3:任务处理小组的GIS技术工作人员需要有效的记录自己的工作进度和所遇问题
4:管理层需要监测各个任务的进度从而根据情况即使调整人员分配。

如果把以上结构简分为几个人员类别则是:1-采集人员,2-任务管理(技术领队),3- GIS技术人员,4-项目管理人员。
针对4种不同的人员类型,此类系统都一般需要四类相对应软件:
1 - 众包软件(Crowdsourcing), 
2 – 任务种类布置管理软件 (Job Assignment, workflow control) 
3 - 任务处理软件 (GIS Task processing)
4 -  项目检测 (Project monitoring) 

本文将会逐一实现以上软件使用ArcGIS的产品:
众包软件: Web AppBuilder App
任务布置: Workflow Manager Administrator
任务处理:ArcMap 带 Workflow Manager Extension 
项目检测: Workflow Manager Javascript Viewer (或Operational Dashboard)

** 本文将不会覆盖如何使用Operational Dashboard
** 
本文要求读者有一定的ArcGIS Enterprise ,Web App Builder 开发者版本,ArcGIS Workflow Manager 本地系统,以及ArcGIS Service的发布有一定的了解。



关于ArcGIS Workflow Manager 

ArcGIS Workflow Manager 是企业工作流管理应用程序,为 ArcGIS 多用户地理数据库环境提供集成框架。ArcGIS Workflow Manager 可帮助解决 GIS 和非 GIS 环境中出现的许多业务潜在痛点,例如:
•    共享工作任务的工作流不一致
•    终端工作人员以及任务完成时间的相关信息的匮乏
•    无法有效监控所执行工作的状态和进度
•    在收集要报告给股东和领导层的信息方面浪费了过多时间和精力
•    终端工作人员不了解各自应负责处理的工作
•    很难对与执行的特定任务相关的历史信息进行分类
•    管理各个任务相应的版本
•    追踪出于不同原因而临时暂停的任务

许多企业级的任务系统一般由三大部分组成:1: 工作的规划和布置。2: 工作的审视和提高。3: 工作的实施及管理。

1.png


ArcGIS Workflow Manager 可以帮助你提高管理效率,精简工作步骤,本文将会介绍如何在云端虚拟机用ArcGIS企业版及相关产品部署一个以ArcGIS Workflow Manger为核心的任务管理系统。

第一步: 生成 Workflow Manager Database
在ArcToolBox的Workflow Manager Tools当中,找到Create Workflow Manger Database. Create Workflow Manager Tool由四个输入因素:企业版空间数据库的链接SDE文件,任务兴趣区域的坐标系,基本配置,和用户数据的储存方式。

2.png

 
在Esri官方资料中,兴趣区域的坐标系最佳选择WGS 1984 Web Mercator. 基本配置中选择Quick Configuration可以帮助Workflow Manager数据库生成一些系统默认的工作项数据。用户储存有两种选项,Traditional和Portal,选择Traditional将会承接企业数据库中的用户模型,Portal将会承接ArcGIS企业版中的built-in User。部署时可以根据自己的实际情况来选择,本文中选择了使用Traditional, 承接数据库模型。

该程序会在企业版数据库中生成一组Workflow Manager自己独立的数据库,Workflow Manager有自己的独立的Schema,为优化数据库表现,Esri 官方资料建议把Workflow Manager数据库从其他工作数据库中独立出来。

第二步: 发布Workflow Manager服务WMX Service

在Workflow Manager Administrator客户端程序中,点击Add Connection添加上一步建立好的Workflow Manager,并将其设置为default database.设置成功后数据库名称的后方会显示(default)。之后右键点击,选择share as a workflow manager service。逐步选择后发布本地的Workflow Manager数据库到相对应的ArcGIS Server当中,生成WMX Service. 

3.png
 

第三步:发布Workflow Manager 中的兴趣地域(AOI,LOI)服务MapServer Service

4.png

 
在Workflow Manager数据库中,有两种兴趣地域类型:点和区域,LOI(location of interest), AOI(area of interest). 打开ArcMap的Catalog,从Workflow Manager数据库中找到AOI和POI文件,把它们加入到ArcMap的Table of Content中,之后从file -> share as -> service, 把AOI和LOI文件发布到部署了ArcGIS 企业版的ArcGIS Server之上。

第四步: 使用Web App Builder的Workflow Manger Create Job微件

WAB Workflow Manager Create Job 自定义微件可以在Web App Builder开发者版本中使用,该微件可以从Github下载,地址如下:https://github.com/Esri/workfl ... idget
将下载好的微件解压后放到Web App Builder的widgets子目录之中,之后打开本地的Web App Builder对其进行配置。

在“Workflow Manager Service项”填写第二步发布好的WMX服务地址。
”Workflow Manager Service URl”项中填写第三步发布好的AOI服务地址,根据情况选择AOI和POI的顺序(1 或者 2)“+Job Type”中添加Workflow Manager服务中的工作种类

5.png


6.png

 
之后可以在WAB App中创建新的Job并且通过在图上绘制来生产相应的兴趣区域(AOI/LOI)。

7.png

 
再加入其他相关微件后,发布这个WAB app到ArcGIS企业版的portal之中(此portal 应该和之前发布service的ArcGIS Server进行过 federation)

**本文将不会覆盖Workflow Manager Extended Properties以及多种数据库安全模型,也不会覆盖如何使用Feature Service来选择预设好的AOI等,关于微件具体信息,访问Github:https://github.com/Esri/workflowmanager-createjob-widget 


第五步: 使用Workflow Manger JavaScript Viewer App

ArcGIS Workflow Manager JavaScript Viewer 是一款功能全面的示例应用程序,可用于访问 web 上的工作流管理功能。Workflow Manager 可通过提供相关工具,将业务流程作为工作流进行简化和标准化,从而帮助应对 GIS 和非 GIS 环境中出现的许多业务挑战。它还提供相关工具,可创建名为作业的工作单元、分配资源和追踪作业的状态和进度。

Workflow Manager JavaScript Viewer App可以从github下载: https://github.com/esri/workflowmanager-viewer-js

8.png

 
请按照以下步骤部署 JavaScript Viewer。

1.    安装 HTTP 服务器,例如 IIS 或 Apache。
2.    将 Workflow Manager JavaScript Viewer 文件夹的内容复制到 HTTP 服务器的 web 文件夹(根文件夹或子文件夹)。(例如:C:\Inetpub\wwwroot、C:\Inetpub\wwwroot\wmviewer、C:\Apache\htdocs 或 C:\Apache\htdocs\wmviewer)。
3.    修改已部署的 js/app/WorkflowManager/config/AppConfig.js 文件,以便通过服务配置应用程序。必须需要修改的目标为:ServiceRoot, 此项改为第二步中发布的WMX service地址。jobLOILayer -> url, 此项改为第三步中发布的AOI/LOI service 地址
 
9.png


更多信息访问JS Viewer Github地址:https://github.com/esri/workflowmanager-viewer-js 

**本文将不会覆盖Workflow Manager JS Viewer中各种数据库安全模型,也不会覆盖关于proxy server的部署。

至此你的workflow manager任务管理系统搭建完成。
 
1: 工作的提交. - > Workflow Manager Web App Builder App来发布
2: 工作的规划和布置. - > Workflow Manager Administrator客户端程序
3: 工作的实施. -> Workflow Manager客户端终端或者有ArcMap内置插件来完成. 
4: 工作的评估和改进. ->Workflow Manager JS Viewer App

更多关于workflow Manager相关信息,请访问Esri Workflow Manager产品官网:
https://www.esri.com/en-us/arcgis/products/arcgis-workflow-manager/overview  

参考资料:
http://desktop.arcgis.com/en/arcmap/latest/extensions/workflow-manager/what-is-workflow-manager-.htm  
https://github.com/Esri/workflowmanager-createjob-widget  
https://github.com/esri/workflowmanager-viewer-js  
 
 

0 个评论

要回复文章请先登录注册