ESB Mule 中间件技术.ppt
- 格式:ppt
- 大小:6.96 MB
- 文档页数:89


龙源期刊网
ESB技术在MES系统中运用的重要性研究
作者:徐荣照 洪中华 沈立东 邹欣延 赵旭 粟源 刘洋博
来源:《科学与信息化》2019年第06期
摘 要 MES(Manufacturing Execution System,生产制造执行系统)是集团推进企业信息化建设的重要系统,依靠现代信息技术实现生产智能化,提升生产过程柔性化。ESB是工厂各执行系统与MES系统间集成的重要手段,其通信方式与传统的编程对接相比具有灵活可变、即插即用等诸多优点,但是其实施难度大,主要体现在标准统一管理方面。
关键词 MES;ESB;系统集成
1 ESB概述
ESB是传统中间件技术与XML、WEB结合的产物,提供了网络中最基本的连接中枢。它可以消除应用间的技术差异,让不同应用服务器协调配合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口[1]。
2 ESB的核心架构
ESB的核心架构分为三个组件或子系统,即偏开发态的设计器,偏运行态的ESB核心引擎和SOA治理管控平台三个方面的内容。以上三者组合和集成形成一款完整的ESB服务总线产品[2]。
首先对于ESB总线引擎是一个完全相对独立的内容,即常说的ESB的Server端,一个完整的ESB引擎一般都有集成消息中间件的能力。类似ServiceMix的ESB可以看到核心是基于OSGI运行框架下的ActiveMQ+CXF组件来实现基础核心功能。没有设计器和管控平台,引擎也可以独立部署和运行,即可以自己写代码或写配置文件,将开发好的服务包部署到ESB引擎环境里面。
一个ESB引擎本身也需要部署在application server里面,即引擎可以部署在类似weblogic,jboss或tomcat等各种中间件容器中。而对于很多开源的ESB可以看到引擎本身已经集成了更加轻量的Jetty作为服务运行容器。
关于ESB(企业服务总线)
⼀.什么是ESB
ESB是Enterprise Service Bus的简称,中⽂翻译为企业服务总线,企业服务总线是⼀个实现系统间集成和互联互通的重要技术架构,可以理解为是⼀种消息和服务集成的中间件平台。
⼆.ESB解决了什么问题以及什么是HSB
ESB主要是为了解决多个应⽤系统互联所⾯临的的复杂性,减低集成和维护成本。
举个例⼦,⽐如我们的医疗业务系统都知道分为很多个系统,包括HIS、LIS、EMR等等。
如果这些业务系统是由多个商家做的,可能会有构建语⾔不同、通信协议不同、数据传输格式不同等问题,那么如何把这些系统⽤⼀条线串起来呢?就是⽤ESB;
还有我们医疗从业者、患者、管理⼈员等可以通过多个渠道访问后台系统,⽐如浏览器的portal,移动设备等;
还有⼀些特殊的医疗业务应⽤系统,⽐如双向会诊、远程会诊、业务协同等等,即实现了ESB的基本特点,⼜满⾜医疗卫⽣⾏业的特定需求的ESB,叫做健康服务总线(Health Service Bus,HSB)。ESB为了解决刚才说的问题,就需要保证多个应⽤系统的服务接⼊,协议转换,提供可靠的消息传输,数据格式转换,基于内容路由等功能。
有⼈可能会有疑问,应⽤A发送消息给ESB,ESB再将消息转换给应⽤B,那么应⽤A直接通过SOAP协议发送给B,效率不是应该更⾼吗?
⽽且如果这些IT系统都在⼀个⽹络中,提供的WebService都在统⼀命名空间下,就可以相互通信,为什么还要加上这⼀层?有两点需要考虑。
(1)点对点做服务的时候,通常需要考虑⽇志记录,服务访问安全、传输安全、数据安全、路由分发等⼀系列问题,⽽这些完全可以统⼀管理,统⼀验证,灵活配置;
如果应⽤A调⽤了应⽤B,在调⽤了应⽤C等具有逻辑流程的调⽤时,还可以在ESB上实现流程引擎;
(2)ESB是⼀个中间件平台,包含了消息中间件的全部功能,有异步消息处理机制,可以实现业务系统之间真正的松耦合的结构。
Apache Synapse ESB
简要介绍
林浩生2011-6-3
一、 简要介绍
ESB——企业服务总线,是各种业务应用程序和路由之间的中间件,同时还负责转换消息。由于ESB充当了消息传递总线,系统间点对点的连接就不需要了,当一个系统需要与另一个系统通信时,它只是简单的发送一条消息给总线,然后ESB负责决定如何将消息路由到目标端点,消息也在这个过程中被转换为任何所需要的格式。这样ESB就扮演着一个重要的角色,即在不同的协议间做桥接。比如说,与一个ERP系统做接口需要SOAP,但内部的CRM系统可能只支持通过JMS传递XML这种方式,ESB可以在这些协议之间充当翻译,将CRM发出的JMS消息转换成ERP能够理解的SOAP Web服务调用。通常由ESB的“适配器”与那些风格迥异的协议组进行通信,包括SOAP、CORBA、JMS、MQ Series、MSMQ、FTP、POP3、TTP,等等。
Apache Synapse 是Apache的一个顶级项目,它是一个简单、轻量级的高性能企业服务总线,是在 Apache Software Foundation 的 Apache License Version 2.0 下发布的。使用
Apache Synapse,我们可以通过 HTTP、HTTPS、JMS、SMTP、POP3、FTP、文件系统和许多其他传输介质筛选、转换、路由、操作和监视经过大型企业系统的 SOAP、二进制文件、XML
和纯文本消息。相对ServiceMix和Mule,Synapse是轻量级的,配置简单的,又能够承担服务中介功能,同时它在实现了所有esb所要具备的功能的同时,还保持了优异的性能。应该是大多数企业的明智之选。
下面简单介绍下作为ESB,Synapse所具备的功能:
1、 协议适配器
Synapse主要是基于Axis 2 web服务引擎构建起来的。它对基于SOAP的web服务支持的很好,包括:ws-addressing、ws-reliablemessaging、ws-security、ws-policy。其他常见的协议,如:jms、tcp、http、https、pop3、smtp、imap也都完整地支持,另外,它还通过apache通用虚拟文件系统支持其他的一些协议,以提供对本地文件系统中或s/ftp上的文件的访问。此外,它还提供压缩的支持,比如:zip、jar、tar、gzip。
MULE_ESB部署手册
美国赛特斯网络科技(南京)有限责任公司
赛特斯网络科技有限公司
2 1 说明
本文档适合的阅读对象为刚接触ESB项目研发人员需要了解ESB产品部署的测试人员。通过阅读本文档,测试及FAE人员能够初步掌握ESB的部署方法。
2 Linux安装配置MULE_ESB环境
2.1 JDK安装配置(可视具体情况而定)
推荐使用的JDK版本为JDK1.6.0_24。
将jdk-6u24-linux-i586.bin放到/usr/java下
修改jdk-6u24-linux-i586.bin文件权限,具有可执行权限
Chmod 777 jdk-6u24-linux-i586.bin
执行该文件:./ jdk-6u24-linux-i586.bin
添加环境变量:
进入profile文件vi /etc/profile
在profile中最后添加如下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_24
export PATH=$JAVA_HOME/bin:$PATH
执行source命令
[root@localhost plugins]# source /etc/profile
查看系统中java启动是否正确,注意这个和环境变量:
[root@localhost java]# java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)
如果出现上面的内容,则表示SUN JDK安装成功
2.2 MULE安装配置(可视具体情况而定)