引言
随着经济全球化和科学技术的发展,企业需要面对激烈的市场竞争和瞬息万变的市场需求。为了提高企业竞争力,人们从科学技术、管理模式和组织角度进行了研究。人们逐渐认识到传统生产与经营管理模式的局限性,以及梳理企业自身业务流程以凝练核心竞争力的重要性[1]。在此需求的驱动下,我们研发了面向现代服务业的智能服务平台套件软件产品,包括自动化服务流程生成环境、半自动化服务流程生成环境、多业务流程交互环境、移动应用生成环境、统一消息空间和服务流程运行环境等。该产品可以有效帮助企业管理与优化自身的业务流程,快速提高企业信息化程度,提高其核心竞争力。智能服务软件平台套件解决了现代服务业软件系统在研发、技术改造过程中所面临的共性基础问题,为多种典型应用和服务提供高效运行和快速开发平台套件支持,可加快现代服务业的发展。
智能服务平台
自动化服务流程生成环境
由于市场和客户需求都在快速变化,这必然导致企业的业务流程呈现出变化、动态的特点。传统软件系统所面向的是稳定不变的业务流程,因此面对业务流程的新特点,传统的开发方法难以奏效。我们采取由宏观到微观逐步求精的办法来解决这一问题。每个模板都是一个业务流程执行语言(Business Process Execution Language, BPEL)[2]的子流程,模板的进一步细化,则是一系列的子模块(Web服务)。Web服务是相对独立的业务功能实体的软件实现,通过标准的接口向外提供功能。通过Web服务,可以将企业的资源、信息、人员服务化,并可按需组合,快速响应业务的变化。为了增加BPEL开发的灵活性和有效降低开发人员在二次开发时的难度,我们不仅提供了一套完整的BPEL图形化的开发环境,也实现了一套基于模板的BPEL子流程的复用机制。该系统拥有独立的模板模型,定义了一套模板方法来扩展和实现模板的抽取、封装、组装和导出的机制,最终得到仍然符合BPEL规范的、可执行的BPEL业务流程。因此,业务流程最终仍然是以标准的BPEL语言的形式展现,也必然能在所有的通用BPEL执行环境中运行。该业务开发环境提供了三个步骤用于快速实现业务流程开发和重用,即生成模板、组装模板和导出模板,如图1所示。
图1 自动化服务流程生成环境
生成模板。该过程能够解析BPEL流程的结构,通过与用户的交互来定位需要进行复用的BPEL子流程。业务开发环境会自动抽取用户需要复用的BPEL子流程,根据定义的模板模型对子流程进行封装,并且给出封装后模板的接口定义,为将来的模板组装阶段做好准备。最后将生成的模板保存到本地的模板库中。
组装模板。该过程将模板的复用机制与BPEL的流程开发统一在一个开发环境中。该过程会自动将模板库中的模板加载到业务流程的开发环境中,并且能与模板库保持同步更新,从而使得用户在进行BPEL流程开发的同时也能够调用模板来实现BPEL子流程的复用,快速完成业务开发工作。此外,该过程还提供了模板接口的对接功能,从而保证了模板的正常调用。同时,还提供了相应的BPEL语法验证和一定程度上模板相关性的检验能力。
导出模板。该过程实现了将业务流程模板转换为标准的可执行的BPEL流程的功能。通过该过程,能够获得在标准的BPEL执行环境中可执行的、有意义的BPEL流程。该过程主要是对已经封装的BPEL模板中的变量、条件等参数进行有流程意义的转换,得到符合具体业务流程要求的BPEL片段,然后补充成完整的BPEL流程,得到可执行的标准BPEL流程。
基于BPEL的业务流程开发系统提供了图形化的开发环境,给出了一套基于模板机制实现的对BPEL业务流程进行复用和开发的完整的解决方案。模板及Web服务都需要一个长期积累过程才能形成相应的Web服务库与模板库,其积累方式有两个:一是从网上获取;二是通过大量的工程实践的累积。后者更为实用,也更为重要。通过与企业合作,可在今后的长期积累中逐步构成自己的Web服务库与模板库,这相当于硬件设计中的集成电路块。有了这些库的支撑,今后业务流程的设计会愈来愈方便,工作效率与质量将会日益提高。
半自动化业务流程生成环境
半自动化业务流程生成环境能够根据企业单位的实际人事结构和业务流程定制出适合于不同企业、不同场景和不同角色的流程。其可视化开发使整个开发过程更加人性化,包括流程定义、可视化的表单设计、可视化的构件绑定、可视化的角色分配控制及管理、可视化的表单绑定等一系列可视化操作,流程设计人员仅设置一些必需的参数即可。流程设计完成后发布到流程控制台服务器中,便可以实现流程的管理和运行。这包括管理员对流程定义及流程实例的管理,和普通用户对与自己相关的流程定义和流程实例的管理。半自动化业务流程生成环境的功能结构如图2所示。
图2 半自动化业务流程生成环境
半自动化业务流程包括新建工作流工程导航、用户组织模型建模视图和构件库视图等3个功能模块。其中,新建工作流工程导航模块主要是针对开发人员简化工作的需求,在新建工程阶段进行相应的自动配置工作;用户组织模型建模视图主要是为了开发人员方便地、可视化地进行组织模型的建模工作,同时可以可视化地给相应的人员分配任务;构件库视图主要是为开发人员提供可视化的构件库形式,可供开发人员直接加载至编辑器中进行使用。在提供系统构件库的同时,为用户构件库的扩展提供了接口,开发人员可以在使用过程中添加自己的构件并进行加载使用,也可以删除不再使用的构件。
工作流控制台客户端,包括流程操作和账户管理两个子系统,主要是处理代办任务、查看任务信息、发起流程、回退任务、修改个人信息、修改密码等6个功能模块。可以实现任务的处理、委派,历史任务和委派任务的信息查看,收回委派任务,任务的回退以及流程实例的发起等功能。对于用户账户管理,可以实现个人信息和个人账户密码的修改功能。
工作流控制台管理员客户端,包括流程管理、用户管理和组管理等3个功能模块。其中,流程管理模块包括流程定义分类管理、流程定义管理、流程实例管理功能;用户管理包括添加用户、删除用户、修改用户密码、初始化用户密码、发送邮件以及待办事项数目设置功能;组管理包括添加用户组和删除用户组两个功能。
多业务流程交互环境
传统的以控制流为核心的方法,其内部任务节点之间往往有严格的静态依赖关系,这也就决定了它不能很好地适应物联网环境的多变性。对于开发者而言,一个物联网业务流程的开发过程很繁琐,往往需要很长的开发周期。开发人员不仅需要关注业务流程的建模,还需要有较高的编程能力。考虑到以上这些问题,我们设计并实现了一套支持事件驱动多业务流程交互的流程开发工具和运行环境,支持不同层次流程基于不同粒度的事件进行分布式松耦合交互,从而使系统能够快速地响应和处理来自物理世界的事件,契合了物联网业务系统作用范围广、实时性要求高的特点,适用于企业集成信息化、指挥控制、应急处置、灾难救援等领域。多业务流程交互环境的功能结构如图3所示。
图3 多业务流程交互环境
多流程交互设计器是一个基于Eclipse框架的编辑器,它支持用户以图形化的方式来创建具体的业务流程和业务流程之间的事件交互关系。验证器是为开发人员设计的辅助开发工具,它帮助开发者校验所创建的多流程交互关系是否有逻辑错误。处理引擎是核心组件,负责每个业务流程的正确执行,以及流程之间的交互事件按需、按序分发和路由。
用户仅仅需要三步就可以创建自己的物联网业务流程协作图。第一步,以拖拽的方式构建流程模型,我们为用户设计、提供了一个图形元素丰富的元素库(包括各种类型的任务节点、网关等等);第二步,用户按照事件的类型和紧急程度,为事件定义主题和优先级;第三步,将事件通过流程变量绑定到流程的发送/接收节点中(发送节点负责将主题分发到LDAP中,以及将事件发送到发布订阅网络;相似的,接收节点负责订阅这两者)。这样,一个完整的物联网业务流程模型就建立起来了。多业务流程交互采用事件驱动的流程式服务聚合方式,为了完成一个更高层的业务目标,服务可以跨领域和系统进行共享和协作。
移动应用生成环境
移动终端业务生成平台是基于HTML5技术的跨智能操作系统平台的快速开发解决方案。利用HTML5+CSS3+JavaScript技术可以快速地开发移动终端上的应用。移动终端业务生成平台提供了应用引擎、开发工具、UI框架、调试模拟器、应用管理和数据统计等一体化解决方案,使开发者可以快速地进入移动终端业务开发领域[3]。总体来说,移动终端业务生成平台主要包括面向智能移动终端的图形化移动窗口部件(Widget)设计与适配环境,轻量级的服务聚合引擎与应用生成环境和服务资源接入系统。移动应用生成环境的功能结构如图4所示。
图4 移动应用生成环境
移动Widget设计与适配环境。包括面向智能移动终端的界面交互设计器和智能移动终端适配器,是面向智能移动终端的图形化设计环境。其中,面向智能移动终端的界面交互设计器为开发人员提供了一种基于标准Web开发技术和语言(HTML5+JS+CSS)的所见即所得的方式进行移动终端人机交互界面的设计;智能移动终端适配工具,将基于标准Web技术开发的交互界面统一适配到主流智能移动终端上(Android, iOS, Windows),实现一次开发、多个平台部署的功能。
轻量级服务聚合与应用生成环境。具体说来,在数据聚合方面,在支持多源异构数据服务资源接入的基础上,提供数据聚合引擎,支持对异构数据进行抽取、转换、过滤、分类和合并等处理功能,能够为上层应用形成统一的数据视图;在轻量级服务流程聚合方面,以用户为中心,基于标准的Web 2.0技术,提供基于Web的轻量级服务聚合环境,能够让最终用户参与其中,自主进行配置和编排服务,实现最终用户主导的轻量级即时服务聚合与应用生成方法。
服务资源接入系统。提供了目前主流的基于Web服务和RESTful服务资源的接入模式,包括各种数据库资源、Web服务资源、RESTful服务资源和本地文件资源等。支持用户从特定格式的数据源中获取数据,如XML或RDF。支持用户对多种数据源的访问,包括数据库、CSV、Excel表格等本地数据源,以及网络数据源Web Service(SOAP/REST),同时支持多种数据描述规范,如XML、HTML、JSON、电子邮件和文本文件等。
统一消息空间
统一消息空间为动态复杂的、事件驱动的分布式异构服务提供运行支撑,是物联网应用的基础,它直接支持面向服务的原则,例如标准化服务契约、松耦合、服务抽象、重用、服务自治、互操作、可发现性和可组合性等。物联网服务通信基础设施中的扩展技术使实现面向服务的架构(SOA)友好的应用变得更容易。它提供基于服务总线的编程模型,支持Web 服务和基于REST的服务[4]。其创新点在于,将广域异构的传感数据和物联网服务聚合在一起,为上层应用提供逻辑统一的视图,以及本地化资源与服务的访问,同时提供系统的扩展性和适配的柔性。统一消息空间的功能结构如图5所示。
图5 统一消息空间
统一消息空间主要涉及3类基本问题。第一类是智能服务的描述和消息协议定义,由智能业务执行平台中物联网资源描述与接入层解决;第二类问题是智能服务的主动感知和执行,由智能业务执行平台中事件驱动的服务编排来解决;最后一类为服务实时协作的问题,由我们提供的统一消息空间来解决。其中,统一消息空间是分布式支持的基础支撑结构。统一消息空间包含实时事件投递、实时事件过滤、情景关联分析、实时业务协同等4个子系统。事件投递子系统接入不同的事件源,该事件源可以是无线射频识别(RFID)、传感器或其他业务系统。对接入的事件,按照业务与用户的要求实时予以投递。该子系统具有分布式部署架构,可支持子机构众多、地理位置分散的企业便捷地实施物联网业务。实时事件过滤子系统的功能,其一是滤去事件中不准确甚至是错误的信息,去伪存真,去粗取精;其二是按业务指定的条件,实时提取其感兴趣的事件。情景关联子系统通过情景感知、事件关联分析,得到企业真正感兴趣的高层业务事件,用户可以指定关联规则、匹配模式,该子系统具有大规模并发处理复杂事件的能力,并保证处理的实时性。实时业务协同子系统通过事件来驱动业务实时执行,使其对高层业务事件进行及时响应,例如自动处理业务交易订单等,并将处理结果实时反馈给用户。在此过程中实时业务协同子系统保证不同的业务能正确地协作,健壮地运行。
服务流程运行环境
对于开发完成的服务流程,只有运行起来才有价值。运行与维护业务流程的软件系统称为业务执行环境。业务执行环境中采用了企业服务总线(ESB),通过ESB集中控制业务流程中的Web服务的连接,以及Web服务的维护与运行等基础性工作,简化了维护工作量,便于业务流程优化改进。通过集中的总线大道,将不同的Web服务连接在一起,并统一优化管理,同时该总线还提供连接服务、传输服务以及事件服务等。对于一个企业来说,业务流程在任何时候都能实时高性能地执行至关重要。为了保证业务流程的大规模并发运行,服务流程运行环境采取如下两项措施:其一是将业务流程的每个执行动作采用“业务扁平化”方式并发执行;其二是将人、物、信息、流程之间来往交互的消息采用“按需取予”方式进行并发传输。业务流程是企业的核心资产,服务流程运行环境提供了全方位的安全管理,并采用冗余手段支持负载均衡,从而实现业务的高可靠性。除此之外,还提供了图形化分层次的管理控制台,可以满足不同层次人员以及第三方业务管理的需要;配置工具为不同用户提供个性化的配置方法,根据配置自动进行系统的安装与维护。服务流程运行环境整体结构如图6所示。
服务流程运行环境包括融合引擎、平台管理、安全控制、服务工具、资源与能力适配等5大部分。融合引擎部分包括构成平台基础的服务总线、动态流程执行引擎、分布式事件执行引擎,以及不同部分之间的集成机制等,它实现流程的执行与事件传送功能。平台管理部分包括对基于服务的会话进行管理、分布式负载均衡管理、对过载进行控制的接纳控制管理、生命周期管理、对平台运行情况监视和测量等功能,它保证平台可靠高效地运行。安全控制部分包括访问控制管理、隐私管理、身份管理、运行审计等模块,为业务提供全方位的安全保障。服务工具部分包括为整个平台提供服务注册与查找功能的服务注册库、配置管理、告警服务模块、日志与调试服务、业务数据存储访问以及服务注册查找的注册数据库、知识管理、上下文处理和注册与发布等模块,它提供平台的基础性服务,管理Web服务构造块的相关信息以及提供Web服务使用方法。资源与能力适配部分主要研制资源与能力的适配机制,将网络服务和企业资源适配到平台中,可由业务组件透明访问。
具体应用
针对我国北方地区建筑的冬季集中供热方式,结合上述物联网服务提供关键技术的研究,我们开发了区域集中供热信息物联网服务系统。该系统围绕城市集中供热信息化发展中的区域锅炉房监控和家庭热计量为远程监控对象,开发了面向城市集中供热锅炉房远程监控和室温热计量监控的物联网服务提供平台,通过接入区域供热行业各种不同的锅炉、换热站和无线室温系统,实现感知信息的实时监测以及设备的远程控制,提供供热行业供热、节能、管理和运营的一体化物联网服务,图7是区域供热物联网服务系统。
整个系统采取分级分区的结构,在智能执行服务平台的支持下,当业务规模扩大时,可以建立分级的子集控中心。该应用案例中采用公司总部与小区两级模式,总部采用分区管理策略,支持系统自由扩展,持续接入新的小区和新的系统。小区级功能相对简单,主要支持维修值班和本地监控,也支持其未来扩展。
结语
面向生产型现代服务业的智能服务平台主要解决现代服务业软件系统在研发、技术改造过程中所面临的共性基础问题,可应用于厂、矿生产或管理的信息化与自动化,也可用于物流业以及物联网中的各种应用,为多种典型生产型现代服务业提供高效运行和快速开发平台的支持。■
参考文献
[1] OASIS. Web Services Business Process Execution Language (version 2.0)[OL].[2007-04-11].http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.pdf.
[2] 程渤, 陈俊亮, 章洋, 等. 网络信息服务的演进[J].中国计算机学会通讯,2010, 6(9): 12-15.
[3] Wang Z, Cheng B, Zhai Z, et al. EasyApp: A Cross-platform Mobile Applications Development Environment Based on OSGi[C]// Proceedings of the 2016 conference on ACM SIGCOMM. New York: ACM Press, 2016: 615-616.
[4] Cheng B, Zhu D, Zhao S, et al. Situation-Aware IoT Services Coordination Platform Using Event Driven SOA Paradigm[J]. IEEE Transactions on Network & Service Management, 2016, 13(2):349-361.
所有评论仅代表网友意见