工作流监控及短信子系统

周六接到任务,协助我们公司的几位同事开发一个POC(Proof of Concept)项目,给我们的开发时间是四天,使用BizTalk 04 & .NET来开发。而我们的对手已经开发了一个多月。

任务非常紧张,周六从早上十点钟加班到周日凌晨五点左右,回家睡了一小觉,上午十一点赶到客户处继续开始工作。

我的任务主要是做一些外围工作,不参与具体的工作流编制任务,所以不需要理解具体的业务,主要的工作有以下两部分:

  • 工作流程图形监控:由于BizTalk提供的图形监控具体普遍抽象性,不牵涉具体的业务环境,而且仅提供WinForm方式,还需要安装BTS Server,所以根据客户的需要,需要一个基于Browser的图形监控系统,可以查看到系统中所有的流程,并且可以可以标志当前流程的进程的状态,以及查看某一具体环节的详细信息;
  • 工作流程通知系统:当有新任务分配到具体的工作人员时,通过手机短信或者MSN Messenger方式,将该通知发送给相关的业务人员;

对于第一个任务,由于经常碰到类似的客户需求。所以我决定做一个比较通用的系统,利于以后重用。

所以在开发中,我把绘图的核心类包装了一个单独的Assemly。利用此核心类,我们可以组织出来基本的流程图。左图中的开始结点、中间结点、判断节点以及结束结点均是对象,根据节点的状态从对应的色彩模板中选择颜色进行绘制,做为一个整图输出(由于开发时间比较紧张,我还做不出来特别复杂的流程图,比如两线相交、曲线等,以后慢慢整理)。

图形绘制出来后,通过Response.OutStream将其直接绘制为一个jpg图形,再在另外一个ASPX页面中使用Image控件引用它,使用Map元素为其添加Tooltip以及Href等功能。这个功能到今晨两点左右已经比较完善了。

第二个任务比较简单,我直接调用了新浪的SMS的Web Service,只用了几行代码就加以实现。而使用MSN Messenger则的确难为了我一阵子,最终的方法是使用了DotMSN程序集,并且在里面实现了机器人功能,通过输入相应的命令,可以查看当前处理的订单、监控系统运行状态、启动或者关闭监控系统。在有新任务到达时,主动发送消息通知用户。这个功能今晚十二点左右也比较完善了。而且客户反应,已经远远超过他们的期望。另外,还有一个监控系统,是一个Windows Application,可以以列表方式查看当前正在处理的订单信息。

等本周Demo完系统后,准备抽时间把这套子系统进行细化,在未来的项目中加以复用。上周还一直应另外一个客户要求,做一个SharePoint Portal Server 2003的插件,在文档库中的右键菜单中增加一项右键菜单,如果是Word文档,则查看其“索引及目录”,而如果是PowerPoint,则查看其所有Slide的标题。不过还未做完,可能要等到周末左右才能完成了。

打赏作者

“工作流监控及短信子系统”的19个回复

  1. 流程图 的数据来源是 BizTalk提供的吧。Web Service 接口??对BizTalk不熟悉的人很多。 BizTalk 的一些接口多介绍介绍,给我们熏陶熏陶。

  2. To rIPPER: BizTalk 2004的开发环境就在VS.NET当中,你可以使用任何.NET语言做Adapter之类的东西。而且我这个图与BizTalk无关,所有的数据是从数据库中读取的,当然,如果我有时间,完全可以从BizTalk的Adapter中读取。
    To Moslem:图标的颜色及形状是由客户选择的,我现在每一个图形都是类,想改形状的话,只要重载一下Draw方法即可。而配色的方案在WorkFlow类中有一个专门的属性可以赋一个配色方案。
    To ALL:大家可以思考一下在这种图形中,如何处理形状与连线的关系?:)这是最耗我时间的,累坏了:'(

  3. 我也很想了解一下新浪的SMS的Web Service,他们是用什么方式提供的,怎么计费,服务是否稳定?

  4. biztalk
    仅是一个服务软件,
    它为用户抽象了完成数据交换和转换的接口.
    而具体如何获得数据,如何分析数据,转换数据,发送数据,
    那么需在用户去实现相应的接口,因为biztalk所提供的可视开发
    组件只支持一些长规的计算和mapping.

  5. 这样的图形,用gis做起来,应该恨简单,包括复杂的图形(矢量分量,空间分析,网络分析,拓扑分析)各种显示方式(shape,color,style) 各种事件响应

评论已关闭。