欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于SOA架构模式的煤矿业务应用集成实现.docx

    • 资源ID:4413247       资源大小:631.95KB        全文页数:15页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于SOA架构模式的煤矿业务应用集成实现.docx

    1、基于SOA架构模式的煤矿业务应用集成实现基于SOA架构模式的煤矿业务应用集成实现杨林 刘坤(兖矿集团信息技术中心)摘要:煤矿信息系统整体应用深度不足、融合性差,生产、安全监控系统大多是分布式、异构系统,开放性差。如何构建基于不同平台、不同方案建立的异构应用集成,是煤矿企业亟待解决的问题。本文提出基于SOA面向服务的架构模型,构建松散耦合、可重用的服务和服务接口设计管理的消息服务总线,实现按需定制的BPM业务流程,并在煤矿应急指挥管理信息系统中进行了实践。关键词:SOA(面向服务架构);WCF;EAI(企业应用集成);BPM(业务流程管理);AMQP(高级消息队列协议)1 引言随着煤矿信息化的迅

    2、猛发展,煤矿各生产经营管理部门间的应用协作与信息共享日益广泛,迫切需要将安全生产六大系统、综合自动化系统、工业电视系统及上层经营管理系统进行整合,实现业务流和数据流运作的自动化,从而达到业务的实时响应与高效,使煤矿集成应用系统更适应于经常变化的业务管理。但是,由于历史原因,煤矿内、外部的应用系统建设通常是独立成系统的,封闭和异构的,大大增加了应用系统集成的难度,传统的基于请求/应答的点对点、同步通信已无法满足当前大规模动态分布式应用环境。本文针对目前煤矿信息系统应用集成的实际需求,提出了一种基于SOA架构的煤矿系统应用集成设计方法。该方法提供了一种构建 IT 组织的标准和方法,通过建立可组合、

    3、可重用的服务体系来减少IT业务冗余,并加快项目开发的进程。此种架构负责在企业应用系统的主要业务模块(服务) 之间担任通信中介,通过BPM业务事件驱动企业核心业务处理数据、流程的共享与业务协作。该方法具有异步、松耦合和多点通信的特点,使得系统设计者可以方便、灵活、可靠地依据煤矿应用业务流,轻松地把煤矿六大系统、综合自动化、经营管理等子系统中各种数据有机的联系起来,实现通信与业务逻辑的分离,以构建多维松散耦合的、良好可操作性和可集成的异构分布式应用系统。2 平台建设背景、现状及建设意义2.1 平台建设背景及现状兖矿集团近年来加快推进生产安全信息化建设,本部矿井六大系统建设完备,矿井综合自动化、生产

    4、计量系统、工业电视系统建设完成,建立了覆盖采矿、选矿、机运、通防等工作范围的安全监测、设备驱动和生产过程控制的数字化系统,实现了生产过程自动化和智能化,提高了矿井集约生产能力和本质安全水平。煤矿监测监控、人员定位、通讯联络、紧急避险、压风自救、供水施救安全避险六大系统及矿井综合自动化、生产计量、工业电视等系统是独立的异构系统,建成时间不一,厂商不同,管理所有者各异,提供的接口数据各异。现阶段针对这些系统的相关应用集成都是开发部署独立的访问接口。长期以来,形成了如图2-1所示的网状接口调用的应用架构。图2-1 传统应用集成模式图面对越来越多的企业业务应用需求,一个成熟的系统架构在IT构建上需要解

    5、决以下问题:(1)如何实现应用系统的快速构建,迁移和伸缩;(2)如何能够让已有的多种应用系统无缝的集成起来;(3)如何设计现代IT架构,使系统不仅功能强大和可靠,而且还有强大的灵活性和可扩展性,以满足不断增长的新需求。在企业应用集成建设过程中,也面临如下难题:(1)协调由不同系统实现的、不兼容的业务流程(2)协调不同系统所使用的数据的差别(3)协调用以实现不同系统的、不兼容的技术(4)协调不同系统所采用的时间刻度(5)协调不同系统所使用的交互模式集成的过程中除了克服上述难题外,理想的集成方案还必须满足下列要求:(1)低成本,具有较快的投资回报(2)易于掌握和管理(3)不会影响现有系统(4)具有

    6、可伸缩性、可靠性、高可用率、容错性及安全性等等2.2 平台建设意义通过SOA面向服务应用架构的建设,将煤矿需要共享的各种系统资源统一以服务的形式进行封装和接入,让它们在物理上保持分布自治的同时实现以“虚拟信息中心”为基础的逻辑上的一体化管理,以透明的方式进行资源的优化选取、按需中介和有效访问,并能够支持用户主动参与应用配置。最终实现以松耦合的煤矿元数据服务为基础业务应用随需扩展,达到煤矿信息系统由以技术驱动的建设模式向以业务驱动的转变。3 SOA架构平台及相关技术3.1 SOA 及相关技术3.1.1 SOA 简介SOA(Service Oriented Architecture)是一种软件体系

    7、结构范型,可以组织和使用处于不同所有者控制下的分布式功能。对SOA的理解多种多样,从技术角度看,SOA就是一种体系架构,它描述了一种IT基础设施,使得不同的业务服务可以相互交换数据,参与业务流程,通过灵活的互相协作方式来完成具体的业务操作。这些业务服务独立于编程语言,独立于实现方法,独立于运行环境。3.1.2 SOA特点 重点关注服务SOA 支持面向服务的开发方法,是对前续的面向过程、面向消息、面向数据库和面向对象开发方法的补充。 松耦合SOA 强调服务间的松耦合,包括接口松耦合、技术松耦合、流程松耦合。 重构的灵活性在 SOA 系统建设中,基本的单位是实现业务功能的服务,而不是实现业务逻辑的

    8、对象、过程、函数等较小的技术单位。 对标准的支持为了强调互操作性,在 SOA系统中,服务需要尽量符合开放标准。3.1.3 AMQP高级消息队列协议的MOM(消息集成)消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需用专用连接来链接它们。 AMQP(Advanced Message Queuing Protocol)高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP 的主要特征是面向消息、队列、 路由(包括点对点和发布/订阅)、可靠性、安全性要求很严格。RabbitMQ是一个在AMQP基础上完整

    9、的,可复用的企业消息系统。遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,具有高性能、健壮、高并发效率、高可靠性的特性。支持多种客户端,如: Python、Ruby、.NET、Java、JMS、C、PHP、 ActionScript、XMPP、STOMP 等, 支持 AJAX。 基本原理RabbitMQ 的两大核心组件是 Exchange 和Queue,以下是它的运行原理图:图3-1 RabbitMQ 通信原理消息队列是一个具名缓冲区,它们代表一组消费者应用程序保存的消息。应用程序在其权限范围之内可以自由的创建、共享、使用和消

    10、费消息队列。RabbitMQ列队能以WCF服务的方式进行发布。3.4 WCF 技术Windows Communication Foundation(WCF)是由微软发展的一组数据通信应用程序开发接口,是.NET框架的一部分,是SOA面向服务架构的技术产品。在WCF通信中,双方的沟通方式由合约来定义。通信双方所遵循的通信方法,由协议绑定来定义。通信期间的安全性,由双方约定的安全性层次来定义。3.5 数据适配器煤矿各系统由不同厂商建设,基础元数据多种多样,包括文本、数据库数据、告警消息、多媒体等;接口类型也种类繁多,有的系统提供交换文件接口,如人员定位系统、监测监控系统;有的系统提供工业OPC接口

    11、,还有的系统提供实时数据库接口、SDK开发接口,这就要求平台集成消息服务层能实现不同协议、不同接口、不同类型的底层元数据接入,适配器就是数据接入的接口转换组件,实现了数据信息按照标准进行编码和序列化的传输。 4 基于SOA的煤矿业务集成平台架构及实现4.1 煤矿业务集成平台架构基于SOA的煤矿业务集成平台架构主要分为三层结构,如图4-1所示:图4-1 煤矿业务集成平台架构4.2 数据采集层平台架构第一层是数据采集层,数据采集层通过适配器解决已有资源面向 SOA 的服务封装,实现已有资源的可重用性。通过适配器,已有资源仅需要与 SOA 基础技术平台中的连通服务相连接,而不需要与每个服务直接相连,

    12、实现了服务之间的互操作。图4-2 适配器与已有资源和SOA基础技术平台之间的关系图4.3 数据服务层平台架构第二层是数据服务层,数据服务层主要功能是服务管理和业务流程化服务定义。数据服务层负责管理各数据服务程序之间的联系,保证各个应用能实时了解到数据的变化,而无需知道变化的原因。使用数据服务作为业务应用层下面的基础服务提高了可重用性和敏捷性,并缩短了新服务的开发和部署所需的时间。构架良好的数据服务层依赖于使用标准的API接口的有高度兼容性的高性能数据存取中间件。同时,作为业务服务和底层的元数据之间的桥梁;业务用户无需担心他们所用的数据到底来自数据库、某个子系统、某文件系统或者任何地方。流程化服

    13、务是按业务需求定义的一组服务集合,可以按照特定的顺序并使用一组特定的规则进行调用。业务流程化服务可以由不同粒度的服务组成,其本身可视为服务,通过流程工具定义,由基本服务组合形成。按新业务需求开发服务均可使用已有的服务。服务描述信息通过资源管理服务进行存储和管理,服务运行信息由运行管理服务进行存储和管理。4.4 业务应用层第三层为业务应用层,数据服务层通过科学合理地组织各类底层数据资源及自定义的流程化服务数据,将海量异质的矿山工业化数据信息进行全面、高效和有序的管理和整合。包括对井下生产、安全监察、物料移动、事务处理等业务过程数字化,构建面向煤矿安全生产经营管理的各种业务应用,进而实现矿井的高度

    14、信息化、智能化与高效、安全生产。5 煤矿应急指挥管理信息系统的业务应用集成实现5.1 系统概述煤矿应急指挥管理信息系统是满足矿井调度工作及处置突发事件需要,围绕安全生产监控、指挥、调度、会议、通讯等各种功能合一的调度平台。系统实现生产安全事故、突发事件和应急响应程序的规范管理。日常工作中能实现矿井人员、产量等信息监控及安全监测监控系统报警联动;应急发生时,可实现现场及全矿安全生产的实时监控,并通过现代化的通讯技术提高应急救援能力,保证及时有效地实施应急调度救援工作。5.2 系统的业务构建5.2.1 业务需求煤矿调度室在日常工作中监测矿井人员、安全监测监控、主要生产状况、产量、辅助运输、工业电视

    15、等系统的数据及实时状态,如果矿井安全监测监控系统出现告警,可实现告警提示,并联动短信、视频;在应急发生时,按照应急处置程序工作流程,实现处置过程的快速查询、辅助提示,结合工业及安防视频系统、综合自动化组态、工业实时数据、安全监测系统、大屏显示以及短信、电话,实现处置过程中大屏场景一键切换、现场实时视频数据监控、井上下一键短信电话通知,辅助调度指挥人员实施快速、科学、高效的救灾指挥。 图5-1 煤矿应急指挥管理业务流程图 图5-2 业务数据总体需求 图5-3 应急系统与矿井子系统的需求关系5.2.2 业务需求建模应急指挥管理信息系统业务数据来源于不同业务域,有基础服务数据,也有流程化服务数据,我

    16、们对这些业务活动采取自底向上的方法进行分解、归纳、汇总去重抽象后,最终形成不可再分的基本数据服务,也就是说所有的业务活动数据来源均由这些基础服务演绎和组合形成。表5-1 应急指挥管理信息系统主要业务活动及基本服务分解目录序号业务类别基础数据服务序号业务类别基础数据服务1实时监测井下人员13应急处置应急预案2安全监测14救援物资3生产计量15工业视频4主要生产设备16实时数据5通风17大屏显示控制6压风18短信7供水19通信联络8报警联动监测监控告警20案例库9短信10工业视频11通信联络12调度广播针对主要业务活动的分析,构建基于基础服务的流程化服务活动模型如下: 实时监测图5-4 实时数据B

    17、PM服务模型图 报警联动图5-5 告警联动BPM服务模型图 应急处置图5-6 应急处置BPM服务模型图5.3 系统开发及实现本项目基于微软.NET框架开发,平台采用轻量级的SOA架构消息队列系统RabbitMQ搭建,目前该开源项目已非常成熟,并应用于工业、金融系统等领域,可提供电信级的服务,具有高并发效率,高可靠性等特点,并提供了相应的.net客户端实现。5.3.1 消息队列的实现面向消息的中间件系统用来为不同类型的系统提供消息通道。 RabbitMQ为应用提供了一种公共的、可靠的方式,使这些应用能够轻松地创建、交换和处理消息,而无需考虑消息传递客户机的实现细节。 消息结构消息包括消息头,消息

    18、属性,消息体三部分。消息头:所有的消息使用相同的消息头属性集合,主要用来标示消息ID,路由信息等消息属性:对消息头信息的补充,因为消息头是固定的一些属性,而消息属性可以自己定义的。消息体: RabbitMQ支持主要的一些消息类型,数据流消息、图形消息、文本消息、告警信息、流媒体消息、字节消息、Json格式消息等。系统定义了StreamMessage, GraphMessage, TextMessage,AlarmMessage, ObjectMessage,VideoStreamMessage、 BytesMessage等消息实体模型,用以支持不同的数据源。 消息生产者(数据适配器)通过对矿井

    19、安全生产监测各子系统的元数据进行实体建模抽象,不同实体模型按照接口协定进行编码和序列化,通过RabbitMQ客户端API开发的数据适配器构造消息实体对象并将消息发布到发布到MOM(集中式消息服务中间件)RabbitMQ队列。代码实现:/定义要链接的rabbitmq-server地址(基于amqp协议)Uri uri = new Uri(amqp:/192.168.0.100:5672/);/定义交换方式/abbitmq交换方式分为三种:Direct Exchange-处理路由键,Fanout Exchange-不处理路由键,Topic Exchange-将路由键和某模式进行匹配。string

    20、exchange = exAlarm;string exchangeType = direct;string routingKey = mAlarm;/是否对消息队列持久化保存bool persistMode = true;/使用ConnectionFactory创建连接ConnectionFactory cf = new ConnectionFactory(); /配置环境信息 cf.UserName = alarm; cf.Password = *;cf.VirtualHost = alarm_mq;cf.RequestedHeartbeat = 0;cf.Endpoint = new A

    21、mqpTcpEndpoint(uri);/实例化IConnection对象,并设置交换方式 IModel ch = conn.CreateModel()ch.ExchangeDeclare(exchange, exchangeType);ch.QueueDeclare(qAlarm, true);ch.QueueBind(qAlarm, exAlarm, mAlarm, false, null); ./构造消息实体对象并发布到消息队列上IMapMessageBuilder b = new MapMessageBuilder(ch);IDictionary target = b.Headers;

    22、targetheader = alarmMessage;IDictionary targetBody = b.Body;targetBodybody = *;if (persistMode) (IBasicProperties)b.GetContentHeader().DeliveryMode = 2; /简单发布方式ch.BasicPublish(exchange, routingKey, (IBasicProperties)b.GetContentHeader(), b.GetContentBody();这样就实现了单条消息的发布。 消息消费者消费者客户端采用RabbitMQ API开发,

    23、可通过虚拟主机(virtual host),交换机(exchange),队列(queue)和绑定(binding)实现消息的接收。获取消息可以使用两种方式,一种是主动获取BasicGet模式,另一种是基于订阅(QueueingBasicConsumer)模式,即让当前获取消息的线程阻塞,用于绑定到指定的队列上,当有新的消息入队之后,该阻塞线程会被运行,从队列中获取新入队的消息。 业务服务WCF发布消息队列建立后,以WCF服务的方式进行发布。这包括所有的基础服务,如各子系统实时数据服务、短信服务、通信服务、视频流服务等,也可通过业务需求按需定制各种BPM流程服务。5.4 系统功能系统实现功能模块如图所示:图5-7 应急指挥管理信息系统功能模块图6 总结及展望本文提出了一种基于SOA的企业应用集成系统设计实现的方法,并在煤矿应急指挥管理信息系统的开发中作了研究和实践。实践证明,使用该设计方法可以方便、灵活地将煤矿安全生产经营各子系统实现业务级别的应用集成,从而实现了业务流和数据流的共享,将生产过程的自动化与生产管理的信息化进行融合,满足了煤矿业务管理协作的需要,实现了安全生产过程的精细化、集约化管理。在以后的研究和应用过程中,将针对SOA架构下云计算及物联网的应用方面做进一步的工作。【参考文献】1 (美)乔苏蒂斯(Josuttis,N.M.),SOA实践指南,电子工业出版社,2008


    注意事项

    本文(基于SOA架构模式的煤矿业务应用集成实现.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开