企业应用集成(EntERPrise Application Integration,EAI)是指对企业中完成不同业务功能的应用系统进行集成并建立可供数据交流和应用沟通的纽带,进而使系统间的信息交互成为可能的过程。传统的EAI主要有数据集成、应用接口集成和业务逻辑集成,这3种集成方式均属于紧耦合模式。然而,这类集成方式存在着缺陷,如:易导致数据损坏,暴露了数据库的安全缺口;当采用API接口进行修改时,会增加过大的工作量,也可能导致现有业务系统的不稳定性。因此,紧耦合模式降低了业务系统的灵活性和扩展性,增加了维护难度,阻碍了业务的流程调整和优化,不利于企业业务的发展。
上海烟草机械有限责任公司(上海烟机)信息化(一期)项目,完成了基础数据建设并搭建了信息化应用平台(PDM/CAPP/CAD,ERP,MES/NCS,KBS,HR,CRM),初步实现了上述6大业务系统的紧耦合模式集成,见图1。随着市场竞争的日益加剧,烟机制造企业将从传统的“以产品为导向”的管理模式,逐步转变为“以市场为导向”和“以客户为导向”的管理模式,为了完成这种管理模式的根本转变,需要提升各个业务单元实体之间的协作能力。而这一要求反映到信息化建设上,就要突破原有各个独立的业务系统之间的壁垒,提升各系统间的业务协作能力和数据交互能力,从而适应管理模式的转变。由于受到上述紧耦合模式缺陷的制约,亟需一种面向功能层的企业应用集成方式对此应用平台进行升级完善。
面向服务架构(Service Oriented Architecture,SOA)的出现,提供了一个良好的解决方案。借助Web服务在跨平台、易实现以及扩展性方面的优势,使用SOA信息集成体系,不仅能保证公司原有系统的数据安全性和逻辑可靠性,还能实现各业务系统之间的松耦合,方便业务流程的重组和优化,快速满足不断变化的业务需求。为此,以上海烟机为例,介绍了基于SOA模式的离散制造业信息系统在烟机企业中的集成应用。
1 基于Web服务的SOA信息集成体系
1.1 SOA技术
SOA是能够通过连接完成特定任务的独立功能实体,以解决在Internet环境下业务集成的需要。SOA是一个组件模型,将应用程序的不同功能单元通过相互之间定义良好的接口和契约联系起来。其接口采用中立方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言,从而使构建在各种系统中的服务能够以统一、通用的方式进行交互。
传统的Web技术解决了人与信息系统的交互和沟通问题,而Web服务技术则解决了信息系统之间的交互和沟通问题。SOA采用面向服务的商业建模技术和Web服务技术,实现系统之间的松耦合,从而实现系统之间的整合与协同。Web服务和SOA的本质思路在于使信息系统个体在沟通的基础上实现协同工作。
1.2 采用SOA进行信息系统集成的步骤
(1)提取各应用系统中需对外暴露的功能模块。这些功能模块通常都是一些能够清晰完整地表现其业务价值的软件实体,该软件实体包含了所能提供的全部服务。
(2)将上述功能模块表现为服务组件的形式。定义服务的描述信息、服务的接口以及调用服务所需要的定位信息等。将软件实体的概念模型转换成实际的服务模型。
(3)将已实现的服务发布到服务注册器,供其他服务调用者进行查找和绑定。
(4)绑定和调用服务,将各应用系统集成起来,实现企业应用在功能层面的集成。
1.3 SOA的核心技术
企业服务总线(EntERPrise Service Buses,ESB)是整个SOA的核心,其作用在于通过全局方式控制、掌握企业内各应用系统中松散分布的、以点对点方式通信的Web服务的实际“状况”,并最终实现统一管理维护。针对上海烟机目前使用的信息系统现状,制定开发了基于Net平台的ESB系统(WebService Man-age,WSM),其主要特性如下。
(1)简单注册与层次管理企业内所有WebService的位置。Web服务是基于点对点的通信方式,随着企业信息化系统的增加以及系统间集成业务量的增加。集成点将爆炸似的增长,企业系统间的交互网随时间而变得千头万绪,从而使各系统Web服务数量、某个功能的Web服务化追踪成为难题。因此,WSM系统在每个应用程序层上建立一个服务层,使用Web服务包装各系统内的一些具体操作,提供各种用于完成系统各业务单元活动的细粒度服务(称为业务服务)。随后,WSM组合各种代理服务,以创建粗粒度服务(称为代理服务),完成一次完整的业务交互,见图2。所有注册的Web服务将在WSM中清晰列出,就不会出现由于信息滞后而重复开发相同功能的Web服务的局面。
(2)服务聚合。在WSM系统中,一系列的Web服务调用可作为一个Web服务出现,即当调用一个粗粒度的代理服务时,多个细粒度的业务服务将按特定顺序被调用,并按照具体需求返回一个结果。
(3)监控。在WSM中提供对服务执行情况的监控和详细日志,并记录各服务执行成功与否等状态,便于对不同情况及时采取措施。
(4)完全基于配置。在WSM中采用配置与编程相互结合的方式,以方便客户使用。
2 实际应用
以上海烟机信息化应用平台中添加“设备新增计划”为例,阐释Web服务与WSM如何协同工作。此项流程主要在负责生产制造的MES系统中完成,同时需要办公自动化KBS系统进行配合。“设备新增计划”包含“设备新增申请单”、“设备开箱验收单”、“设备固定资产验收单”3个流程。首先在MES中创建计划,逐个填写单证后在KBS中启动上述3个流程,前一流程未结束时不可启动后续流程,MES与KBS的交互方式见图3。对比紧耦合方式,基于WSM和Web服务方式进行该工作的交互方式见图4。
首先,进行细粒度服务建设:
(1)MES中提供以计划号、流程号为参数的业务服务(细粒度)A,取得“设备新增申请单”或“设备开箱验收单”或“设备固定资产验收单”的数据,并在WSM中注册。
(2)MES中提供以计划号、流程号为参数的改变流程状态的业务服务(细粒度)c,用于将某流程状态改为指定状态,并注册到WSM。
(3)MES中提供以计划号、流程号以及相应审批信息为参数的业务服务(细粒度)D,用于将流程审批信息插入数据库中,并注册到WSM。
(4)KBS中提供以流程类型以及所需信息(如“设备新增申请单”数据)为参数的业务服务(细粒度)B,用于启动某种流程,并注册到WSM。
其次,进行粗粒度服务建设:
(5)WSM中创建以计划号、流程号为参数的“新建设备新增申请单”代理服务(粗粒度)X,该服务中首先调用A,然后调用B,并将A的返回数据传人B中。
(6)WSM中创建以审批信息为参数的“完成设备新增申请单”代理服务(粗粒度)Y,该服务中调用C,并传人完成标志,然后调用D并传入审批信息。
最后,完成系统内调用:
(7)MES中在原来插入KBS数据库相应单证数据的位置调用x。
(8)KBS中在原流程完毕后,在审批信息与状态回写至MES的位置调用Y,并传入流程审批信息。在上述实例中,由于采用了基于Web服务与WSM-ESB的SOA集成方式,各系统实现了“非侵入式”交互,这样各系统仅完成各自的职能,其他系统也仅是数据的提供者,原来各系统相互的数据库依赖转变为仅依赖于WSM的代理服务(粗粒度),保证了各业务系统的稳定性和数据交互的可靠性。细粒度的服务作为单一功能点可以被多个粗粒度的服务复用,而粗粒度的服务只需做到简单组合或数据合并。若业务需求发生变化,无需更改各系统的代码调用点,只需重新组合代理服务(粗粒度)即可满足新需求,从而达到了“业务敏捷”的目的,同时降低了重复开发的风险和维护成本。
3 结语
上海烟机公司通过基于SOA模式的信息系统业务整合应用,实现了将业务流程从单一、点对点、重复向维护成本较低的高度利用、共享服务应用转变,迅速适应和传送企业关键业务服务,以满足市场需求,提高服务水平。同时高效地转入转出能够降低整个业务的’复杂性和难度,节约时间和IT应用成本。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:SOA模式下的离散制造业信息系统集成应用