ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案。同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并提供了一系列的标准接口。
ESB不是一个应用程序框架,也不是一个企业应用的解决方案,它只是一个基于消息的调用企业服务的通信模块,它可以嵌入到应用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系统中。ESB为实现可集成的MES系统提供了一个框架和简便的方法。
3. BPEL
面向Web服务的业务流程执行语言BPEL(或BPEL4WS)是一种使用Web服务定义和执行业务流程的语言。BPEL使您可以通过组合、编排和协调Web服务自上而下地实现SOA。BPEL提供了一种相对简单易懂的方法,可将多个Web服务组合到一个新的复合服务(称作业务流程)中。
BPEL基于XML和Web服务构建,它使用一种基于Web的语言,该语言支持Web服务技术系列,包括SOAP、WSDL、UDDI、Web服务可靠性消息、Web服务寻址、Web服务协调以及Web服务事务。
在企业内部,BPEL用于标准化企业应用程序集成以及将此集成扩展到先前孤立的系统。在企业之间,BPEL使与业务合作伙伴的集成变得更容易、更高效。BPEL激发企业进一步定义它们的业务流程,从而导致业务流程的优化、重新设计以及选择最合适的流程,进而实现了组织的进一步优化。BPEL中描述的业务流程定义并不影响现有系统,因此,对升级产生了促进作用。在已经或将要通过Web服务公开功能的环境中,BPEL是一项重要的技术。随着Web服务的不断普及,BPEL的重要性也随之提高。
由此可见,为了实现可集成的、通用的MES系统,BPEL的重要性是显而易见的。以生产任务分排为例,简单介绍BPEL在MES系统中的应用。ERP系统只制定生产计划,而没有将具体的生产执行计划制定出来,MES系统得到ERP系统的生产计划后,需要对生产计划进行分解,将其分解为若干个生产请求。因此可以将生产任务分派的流程描述为:
计划分解—→预定生产产品需要的资源—→更新处理的状态—→开始生产
而这个流程可以通过应用BPEL来进行描述,从而可以实现现有Web服务的重用。
文章来源于领测软件测试网 https://www.ltesting.net/