基于面向消息中间件的SOA系统集成技术探索
- 格式:docx
- 大小:280.83 KB
- 文档页数:12
面向服务架构的系统集成研究一、引言随着信息技术的快速发展,企业信息化建设已经成为了企业生产力和核心竞争力的重要组成部分。
而系统集成则成为实现信息化建设的重要手段之一。
随着面向服务架构(SOA)的兴起,系统集成的方式也发生着巨大的变化。
本文将从SOA角度出发,探讨面向服务架构的系统集成研究。
二、面向服务架构1. SOA 概述SOA是一种面向服务的架构模式,是一种将企业内部和与之交互的外部系统、服务组件等构建为基于服务的应用程序的软件架构。
其核心思想是将业务分解为独立的可重用的服务,通过服务间的协调组合构建一个完整的应用系统。
SOA实现重点在于服务的发布、查找、绑定、协议转换、消息处理和传输等。
2. SOA 主要特点SOA的三个重要特点是松散耦合、服务稳定化和服务重用。
(1)松散耦合:服务提供者、服务消费者之间通过约定的可寻址接口进行信息交换,实现了服务之间的松散耦合。
(2)服务稳定化:如果一个服务提供者发生了变化,但是其公开的服务接口不变,服务消费者不需要进行任何改变便可继续使用该服务。
(3)服务重用:SOA的服务可被多个应用程序复用,大大提高了系统整体的开发效率。
三、面向服务架构的系统集成传统的系统集成较为复杂,主要存在以下几个问题:1)软件环境差异造成的集成难度;2)异构系统接口的兼容性难题;3)当多个系统集成时,因为每个系统都有自己的开发语言、数据格式等差异,导致实现统一管理和去中心化管理困难。
SOA可以有效的解决以上问题。
1. 面向服务架构的系统集成的优势(1)松散耦合的服务可以降低整个系统的复杂度;(2)将业务系统中的功能模块分离成各种服务,便于对应不同的业务需求,强调服务的独立性,提高系统的可用性和灵活性;(3)提高了系统集成的效率,不同的服务之间可以采取异步通信,从而避免服务操作阻塞等问题,提高了服务的并发性和整体的响应速度;(4)面向服务的系统集成可以为企业提供更好的数据安全性,在集成过程中隔离各个系统之间的信息流,便于数据备份和恢复。
基于消息通信的SOA系统的设计与实现的开题报告1. 研究背景和意义随着信息技术的不断发展和应用,越来越多的企业开始了解和实践面向服务的体系结构(Service Oriented Architecture,SOA)的设计和开发。
SOA是一种基于服务的系统设计方法,将每一个应用组件作为服务来对待,这些服务可以从多个应用程序中进行构建和组合。
采用SOA的方法可以帮助企业快速地构建和组合应用组件,提高应用程序整体的可扩展性、可重用性和可维护性。
在当今的信息时代,由于企业规模的扩大和业务复杂性的增加,SOA已经被广泛应用于各个领域。
然而,对于分布式SOA系统来说,服务间的通信是其关键问题之一。
采用基于消息通信的方式实现SOA系统,可以帮助企业更好地管理和调度分布式服务,增强系统的可靠性和可扩展性。
2. 研究内容和目标本文将研究基于消息通信的SOA系统的设计和实现。
研究内容包括以下三个部分:(1)分析消息通信模型的特点和优势,研究基于消息通信的SOA系统架构和实现方式;(2)研究SOA系统服务的注册、发现、调用和管理方法,设计基于消息通信的服务注册中心和统一管理平台;(3)实现一个基于消息通信的SOA系统原型,测试其性能和可用性,分析系统的优缺点。
本文的研究目标是:(1)掌握基于消息通信的SOA系统的设计和实现方法;(2)设计并实现一个基于消息通信的SOA系统原型,并对其进行性能和可用性测试;(3)评估基于消息通信的SOA系统的优劣势,并对其进行讨论和总结。
3. 研究方法和步骤本文将采用以下研究方法和步骤:(1)文献调研:通过查阅相关文献,了解相关领域的发展趋势和研究进展;(2)需求分析和系统设计:分析用户需求,设计系统架构和接口,确定系统功能和服务模块;(3)开发实现:开发系统原型,实现基于消息通信的服务注册中心和统一管理平台,验证系统的正确性和可用性;(4)性能测试和评估:测试系统性能,对系统的性能和可用性进行评估,并比较基于消息通信的SOA系统与基于其它通信方式的SOA系统的差异;(5)总结和展望:总结研究成果,分析系统设计和实现中存在的问题和不足,并提出进一步研究的方向和展望。
基于MOM-面向消息中间件的SOA系统集成技术一、什么是MOM?MOM是Message-Oriented Middleware(面向消息的中间件)的缩写,MOM 的作用就是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成,通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。
目前流行的MOM产品有IBM的WebSphere MQ和基于JMS标准的系列中间件等。
二、MOM特点MOM是一个基础架构,在基于MOM的通信环境中,通常是异步地发送和接受消息,它将应用抽象地划分为发送者和接收者,它们之间无需彼此了解,MOM最重要的作用就是将消息转发到它们的目的地。
下图就是MOM的简单模型图:从上图可以看出,为了支持消息传递的异步模型,MOM位于客户端和服务器之间,使用消息队列临时存储调用,并允许客户端和服务器分别在不同的时候运行,消息的目标端也不需要立即处理消息,并且客户端和服务器的程序之间不需要彼此知道对方的存在,它们之间不需要考虑它们之间的网络通讯复杂性。
MOM不同于普通的通讯系统的地方在于,通讯的接收和发送两端必须同时运行,并且消息必须即时处理。
三、MOM原理MOM要实现高效可靠的消息传递机制,必须实现以下三大功能:●实现消息的异步发送和接收,实现发布/订阅模式●实现消息的持久化,保证消息可靠性传输●优化网络传输,支持断点续传要实现以上三大功能,需要实现消息队列,消息队列为构造以同步或异步方式实现的分布式应用提供了松耦合的方式,队列是消息的安全存放的位置,队列存储消息直到它被应用程序处理,这样的工作机制,能够保证在各种网络环境下能够可靠的传递。
在消息队列的应用上,各个不同的MOM产品应用上有所不同,例如,JMS 标准的MOM和IBM Websphere MQ实现上就有所区别。
从上图,可以看出IBM WebSphere MQ的结构和JMS结构在队列的应用上略有不同,IBM WebSphere MQ在客户机上存在有传输队列,而JMS在客户机方面不存在任何队列,所以说JMS相对于MQ而言,只是规范了消息的存取,而没有规范消息数据的传输,因为JMS客户机并不拥有存放数据的队列,所以所有发送的操作都要由应用程序来控制,JMS服务器本身不代理传输,也不保证数据在远程队列间的传输可靠性。
面向SOA的Web服务管理中间件的研究与实现随着信息技术的快速发展,企业对于灵活、可扩展的软件系统的需求不断增加。
面向服务架构(Service-Oriented Architecture,SOA)应运而生,成为一种流行的软件架构模式。
SOA通过将应用程序划分为一系列独立的服务,并通过Web服务进行通信,实现了系统的松耦合和可重用性。
然而,随着SOA架构的普及,Web服务的数量和复杂性也不断增加,给Web服务管理带来了挑战。
为了有效管理和监控Web服务,提高系统的可靠性和性能,研究者们开始关注面向SOA的Web服务管理中间件。
面向SOA的Web服务管理中间件作为一种关键技术,可以提供各种管理功能,如服务注册与发现、服务监控与调度、安全认证与授权等。
这些功能旨在帮助企业实现对Web服务的集中管理和控制,提高系统的可用性和可维护性。
在研究与实现面向SOA的Web服务管理中间件时,需要考虑以下几个方面:首先,中间件需要提供强大的服务注册与发现功能。
通过注册机制,可以将服务信息存储在中间件的注册表中,并提供查询接口供其他服务使用。
这样可以方便地实现服务的动态发现和调用。
其次,中间件需要具备服务监控与调度的能力。
通过监控服务的运行状态和性能指标,可以及时发现和解决问题,保证服务的可靠性和性能。
同时,调度机制可以根据系统负载和优先级进行服务的智能调度,提高系统的整体效率。
另外,中间件还需要提供安全认证与授权功能。
通过身份验证和权限管理,可以确保只有合法用户才能访问受保护的服务,保证系统的安全性。
最后,中间件的实现需要考虑可扩展性和性能。
随着系统规模的不断扩大,中间件需要能够支持大量的服务和并发请求,保证系统的高效运行。
综上所述,面向SOA的Web服务管理中间件是实现分布式系统管理的关键技术之一。
通过提供服务注册与发现、服务监控与调度、安全认证与授权等功能,中间件可以实现对Web服务的集中管理和控制。
在研究与实现过程中,需要关注服务注册与发现、服务监控与调度、安全认证与授权等方面,同时考虑可扩展性和性能,以满足企业对于灵活、可扩展的软件系统的需求。
基于面向服务架构(SOA)的港口企业信息集成系统的应用研究的开题报告一、研究背景随着全球经济不断发展和进步,货运量不断增加,港口企业作为货物流通的门户,承担着越来越重要的角色。
然而,港口企业信息系统多样化,信息孤岛现象普遍存在,信息共享难度大,而面向服务架构(SOA)正是一种可以较好处理这类问题的技术。
因此,本研究基于面向服务架构(SOA)技术,将尝试构建一个适用于港口企业信息管理的信息集成系统。
二、研究目的和意义本研究的主要目的是设计和开发一个基于面向服务架构(SOA)的港口企业信息集成系统,以解决港口企业信息系统多样化、信息孤岛、信息共享难度大等问题,提高港口企业信息系统的集成度和协同工作效率。
此外,本研究的意义还体现在以下几个方面:1.提高港口企业的信息化水平现代物流的高效运转在很大程度上取决于信息技术的支持。
本研究通过构建港口企业信息集成系统,将有助于提高港口企业的信息化水平,推动港口企业的现代化转型。
2.促进港口企业的协同工作港口企业信息集成系统可以将各个信息系统的数据整合起来,形成一个完整的信息资源池,为下一步的分析和应用提供可靠的数据支持。
这样便于港口企业内部的信息沟通,实现更好的协同工作。
3.推进企业数字化转型随着信息技术的不断发展,传统的港口企业正加速数字化转型的步伐。
本研究通过构建基于面向服务架构(SOA)技术的港口企业信息集成系统,将是推进企业数字化转型的有力工具。
三、研究内容和方法1.研究内容本研究将主要涵盖以下内容:1)港口企业信息系统现状调研2)面向服务架构(SOA)的技术原理3)港口企业信息集成系统设计和开发4)系统性能测试和优化2.研究方法本研究将主要采用以下研究方法:1)文献调研法:通过查阅大量文献,了解港口企业信息集成系统建设的相关技术和理论知识,为系统设计提供理论基础。
2)案例研究法:选取几个典型的港口企业信息系统案例进行分析,了解现有港口企业信息系统的技术现状和存在的问题,为系统设计提供借鉴经验。
基于SOA的应用集成解决方案SOA(Service Oriented Architecture,面向服务的架构)是一种架构风格,用于设计和开发应用程序,以实现应用程序组件和系统之间的松耦合和可重用的服务交互。
基于SOA的应用集成解决方案是一种将不同应用程序和系统集成在一起的方法,以实现更高效的业务流程和信息共享。
以下是基于SOA的应用集成解决方案的一些重点。
1.服务建模和标准化:在设计和实施SOA集成解决方案之前,应进行服务建模和标准化。
这包括识别业务流程和功能,将它们转化为可重复使用的服务,并制定标准化的服务接口和数据格式。
2.服务注册与发现:通过服务注册与发现机制,应用程序和系统能够查找和使用其他应用程序和系统提供的服务。
这种机制可以通过使用注册表或中央服务管理器来实现。
3.服务编排与治理:服务编排是指将不同的服务组合在一起,形成更复杂的业务流程。
服务治理是指在整个服务生命周期中管理和监控服务的过程。
这包括服务的部署、更新、维护和性能监控等。
4.数据转换和映射:在集成不同应用程序和系统时,通常需要进行数据转换和映射。
这是因为不同应用程序和系统通常使用不同的数据格式和结构。
数据转换和映射可以通过使用集成平台或中间件来实现。
5.安全和身份验证:在基于SOA的应用集成解决方案中,安全是一个非常关键的问题。
应确保所有服务和数据的访问是受控和安全的。
这可以通过使用安全协议和数字证书,以及实施身份验证和授权机制来实现。
6.异步和分布式通信:在基于SOA的应用集成解决方案中,通常涉及到跨多个应用程序和系统的异步和分布式通信。
这可以通过使用消息队列、异步通信模式和远程过程调用(RPC)等技术来实现。
7.监控和故障处理:在部署和运行基于SOA的应用集成解决方案时,应该实施监控和故障处理机制,以确保系统的稳定性和可用性。
这包括实时监控服务的性能和状态,并且能够快速检测和处理故障。
8.持续集成和部署:基于SOA的应用集成解决方案通常包含多个应用程序和系统的集成和部署。
基于SOA架构的应用集成中间件研发与产业化建议书SOA1.项目概述 ..................................................................... ................................................. 3 2.国内外相关技术发展与市场情况说明 ....................................................................42.1国内外相关技术的发展状况 ..................................................................... .. (4)2.2国内外相关产品信息 ..................................................................... .. (8)2.3 SOA平台的发展趋势 ..................................................................... .. (11)2.4 SOA平台的市场情况 ..................................................................... ................. 13 3.技术总体方案 ..................................................................... (15)3.1总体设计方案 ..................................................................... . (15)3.2产品方案 ..................................................................... ....................................... 26 4.项目实施方案 ..................................................................... (29)4.1组织方式 ..................................................................... (29)4.2技术路线 ..................................................................... (35)4.3关键技术解决方案 ..................................................................... . (38)4.4培训方案 ..................................................................... (64)4.5产业化推广方案...................................................................... .......................... 655.承担项目的可行性分析...................................................................... . (67)5.1可行性分析 ..................................................................... .. (67)5.2分险分析 ..................................................................... ....................................... 68 6.进度安排与考核指标 ..................................................................... (70)6.1项目管理及风险控制 ..................................................................... (70)6.2计划进度安排 ..................................................................... . (70)6.3验收目标 ..................................................................... (71)6.4持续发展计划和发展目标 ..................................................................... . (71)21基于SOA架构的应用集成中间件研发与产业化开发平台引入Web服务技术、采用SOA架构,为解决我国信息化建设推进过程中遇到的信息集成问题,研制具有自主知识产权的系统平台,提供基于Web服务技术的应用软件集成方法、过程、行业解决方案,为我国基础应用软件产业发展提供核心技术支持,提升我国软件产业的层次和水平。
基于SOA架构的信息系统集成研究与应用摘要:随着企业的业务模式不断创新发展,传统模式已经不能满足企业发展的需求,SOA架构是一种面向服务的架构,SOA架构对企业信息集成系统具有积极作用,本文主要对SOA架构的基本情况进行介绍,探讨SOA架构对企业信息系统集成的研究与应用。
关键词:SOA构架;信息系统;研究与应用前言:面向服务体系架构(SOA)最早在20世纪90年代中期被提出,随着XML语言的出现及发展,以及WebService等技术的发展,SOA开始走入人们的视野,从概念逐渐转向于应用。
SOA以松散耦合、可重用的服务、标准化接口和服务设计为主要特征,契合现代企业高速发展和业务创新条件下信息系统建设的要求。
目前,博物馆行业越来越注重互联网+新技术的应用,对信息系统的架构要求也日趋灵活,采用SOA架构,建立企业服务、接口标准,对现有系统进行服务封装,并对未来信息系统建设提出标准要求,是支撑互联网+新技术环境下管理业务需求的必然选择。
1传统架构存在不足目前很多企业正在使用的信息系统架构都是在数年前或更早时期设计和部署的,为支撑企业业务体系立下汗马功劳,但是在业务战略变革更加迅速、业务需求更加复杂的情况下,传统企业架构(烟囱式、竖井式、分散式)逐渐显现出许多问题,已不能快速的与业务保持一致,具体如下:(1)模块之间耦合度太高,其中一个升级其他都得升级。
(2)系统的扩展性差,开发困难,各个团队开发最后都要一起整合。
(3)不能灵活的进行分布式部署。
2 SOA架构概述SOA架构是把企业的应用功能做成服务形式的软件设计思想,服务之间是一种抽象的、松散耦合的粗粒度软件架构,服务可以重复使用,操作独立,互不影响,并且可以通过重新组合构成一个新的服务再进行使用。
基于SOA架构是目前EAI领域最先进的体系结构设计方法和架构思想。
基于SOA架构搭建的平台具有以下几点优势:(1)以宏观的理念来设置整个平台的全部服务组件,从而避免不合理设计。
中创中间件基于InforSuite的SOA解决方案背景当前,迫于市场的压力,企业迫切需要以低成本推出能提升企业盈利的新业务。
企业期望通过功能提升、使用简便的IT服务来拓展自己的业务领地。
同时限制对企业内数据与服务的访问,降低风险。
最后,还需要凭借服务的盈利能力及更低的初始成本与长期成本,提高投资回报。
传统的IT基础设施可以描述为“信息竖井”。
库存、订单处理和客户服务等应用程序都驻留在彼此无法通信的异构平台和数据库之中。
关键性信息分散在企业的异构系统中,例如,客户关系管理 (CRM) 系统、企业资源规划 (ERP) 系统、计费系统、电子商务系统和客户支持系统,其中的信息被封闭在一个应用程序内,而且几乎不对其他应用程序开放。
如何在企业应用程序之间有效地共享数据,成为企业打造属于自己的IT 企业架构和基础设施最紧迫的问题。
企业必须链接组织内、外的子公司或商业伙伴中的程序、人员与信息。
简言之,缺乏整合是组织针对维持竞争力与成长力所做之努力所面临的最大挑战。
在过去的十年里,许多机构自己来集成其应用程序,这使得企业IT 软件基础设施演变成为一种称为“随意架构”的东西。
兼并和收购活动使得情况更加复杂化。
许多公司正在向面向服务的架构 (SOA)转变,以便于以新的方式利用其已有的 IT资产。
SOA 是业务集成中的一项关键技术,有助于增强敏捷性,提高客户满意度,同时改进响应性。
解决方案面向服务架构 (SOA)是一项IT架构设计方式,它可将企业内部的分散的异构系统及应用整合到一个高度弹性的柔性IT架构中。
一个良好的 SOA 基础设施可协助企业实现较佳的反应力,可以帮助企业充分利用原有IT资源,包括遗留应用、遗留数据资源以及已有的服务资源,企业建立新系统可以通过服务的重用,将遗留应用和数据纳入新的企业整体解决方案,同时也可以利用已有的服务进行快速组合搭建起新的应用系统。
中创软件商用中间件股份有限公司在已有Infors系列中间件的工作基础之上,自主研发的核高基国产集成化中间件套件产品InforSuite SOA Infrastructure,是企业构建SOA应用、打造面向服务的柔性IT基础设施的神兵利器。
基于MOM-面向消息中间件的SOA系统集成技术探索一、什么是MOM?MOM是Message-Oriented Middleware(面向消息的中间件)的缩写,MOM 的作用就是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成,通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。
目前流行的MOM产品有IBM的WebSphere MQ和基于JMS标准的系列中间件等。
二、MOM特点MOM是一个基础架构,在基于MOM的通信环境中,通常是异步地发送和接受消息,它将应用抽象地划分为发送者和接收者,它们之间无需彼此了解,MOM最重要的作用就是将消息转发到它们的目的地。
下图就是MOM的简单模型图:从上图可以看出,为了支持消息传递的异步模型,MOM位于客户端和服务器之间,使用消息队列临时存储调用,并允许客户端和服务器分别在不同的时候运行,消息的目标端也不需要立即处理消息,并且客户端和服务器的程序之间不需要彼此知道对方的存在,它们之间不需要考虑它们之间的网络通讯复杂性。
MOM不同于普通的通讯系统的地方在于,通讯的接收和发送两端必须同时运行,并且消息必须即时处理。
三、MOM原理MOM要实现高效可靠的消息传递机制,必须实现以下三大功能:●实现消息的异步发送和接收,实现发布/订阅模式●实现消息的持久化,保证消息可靠性传输●优化网络传输,支持断点续传要实现以上三大功能,需要实现消息队列,消息队列为构造以同步或异步方式实现的分布式应用提供了松耦合的方式,队列是消息的安全存放的位置,队列存储消息直到它被应用程序处理,这样的工作机制,能够保证在各种网络环境下能够可靠的传递。
在消息队列的应用上,各个不同的MOM产品应用上有所不同,例如,JMS 标准的MOM和IBM Websphere MQ实现上就有所区别。
从上图,可以看出IBM WebSphere MQ的结构和JMS结构在队列的应用上略有不同,IBM WebSphere MQ在客户机上存在有传输队列,而JMS在客户机方面不存在任何队列,所以说JMS相对于MQ而言,只是规范了消息的存取,而没有规范消息数据的传输,因为JMS客户机并不拥有存放数据的队列,所以所有发送的操作都要由应用程序来控制,JMS服务器本身不代理传输,也不保证数据在远程队列间的传输可靠性。
IBM MQ通过通道与传输队列和远程队列来保证队列间的传输可靠性,IBM MQ支持客户端的断网续传,而客户端的应用程序不用做任何工作,但是,这种方式需要客户端本地安装MQ的客户端。
四、MOM通讯模式MOM主要存在3工作模式:点对点模式、发布/订阅模式以及消息队列模式,其中,点对点模式和发布/订阅模式统称为消息传递模式。
点对点模式(Point-to-Point)点对点模式用于消息生产者和消息消费者之间点到点的通信,是一种程序到程序的直接通信模式。
消息生产者将消息发送到由某个名字标识的特定消费者,点对点消息允许客户端通过队列这个虚拟通道来同步和异步发送、接收消息,传统上,点对点模型是一个基于拉取(Pull)或基于轮询(Polling)的消息传递模式,这种模型从队列中请求消息,而不是自动地将消息推送到客户端。
点对点消息传送模型的一个突出特点就是:发送到队列的消息被一个而且仅仅一个接收者所接收,即使可能有多个接收者在一个队列中侦听同一消息时,也是如此。
●发布订阅模式(Publish-and-Subscribe)在发布/订阅模型中,消息会被发布到一个名为主题(topic)的虚拟通道中。
消息生产者称为发布者(publisher),而消息消费者则称为订阅者(subscriber)。
与点对点模型不同,使用发布/订阅模型发布到一个主题的消息,能够由多个订阅者所接收。
有时候,也称这项技术为广播(broadcasting)消息。
每个订阅者都会接收到每条消息的一个副本。
总地来说,发布/订阅消息传送模型基本上是一个基于推送(push)的模型,其中消息自动地向消费者广播,它们无须请求或轮询主题来获得新消息。
如上图所示,在发布/订阅模式下,没有传统意义上的客户端和服务器,而是在网络中进行消息发布的应用程序和接收某个特定主题消息的应用程序,发布消息的客户端将消息传递给消息代理,有消息代理负责路由消息给相应的订阅消息的客户端,由消息代理实现消息的动态路由,发布者和订阅者在空间上是松耦合的,客户端和服务器不需要知道对方的地址和具体的数量,简化了配置,更容易重用。
这种模式也是目前应用最广泛的模式。
●消息队列模式消息队列模式是一种程序之间的无连接的通信模式,它允许程序通过消息队列进行通信,它将消息放入队列(通常基于内存和硬盘)直接或者按顺序传送,这种方式允许程序按照不同的速度独立运行,而不需要双方之间建立一条逻辑连接。
这种模式需要系统中包含有队列管理器,用于处理本地队列,保证消息传送到存在于本机或者网络中某个位置的目的地。
队列管理器与其他节点上的队列器合作控制网络路由机制。
支持不同Qos(服务质量),包括:●Qos 0至多一次消息会丢失或重复,但是只发送一次●Qos 1 至少一次确保消息到达,但消息重复可能会发生。
●Qos 2 只有一次确保消息到达一次消息队列可以是永久性或者非永久性的,永久性的消息存放在硬盘上,非永久性的消息存放在内存中,当队列管理器出现故障时,非永久性队列的消息会全部丢失,而永久性的消息会自动恢复。
消息队列支持触发,当请求消息和应答消息到达本地队列,但是应用程序未处于活动状态时,自动启动这个应用程序。
这种方式只有在工作需要完成时,处于活动状态,从而避免不必要的资源浪费。
目前,IBM MQ主要采用就是这种消息队列模式。
五、MOM消息传递模式比较●点对点模型在点对点模式下,每个消息都被发送到特定的队列,接收者从队列中获取消息,队列保留着消息,直到它们被消费或者超时。
每个消息只有一个消费者(Consumer)(即一旦被消费,消息就不再在消息队列中)发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,它不会影响到消息被发送到队列。
接收者在成功接收消息之后需向队列应答成功这种模式保证发送的每条消息都被消费者成功接收。
●发布/订阅模型在发布/订阅模型中,客户端将消息发送到主题。
多个发布者将消息发送到Topic,系统将这些消息传递给多个订阅者。
每个消息可以有多个消费者发布者和订阅者之间有时间上的依赖性。
针对某个主题(Topic)的订阅者,它必须创建一个订阅之后,才能消费发布者的消息,而且,为了消费消息,订阅者必须保持运行的状态。
当然,为了缓和这种严格的时间相关性,有些MOM系统,例如利用了JMS 的MOM系统,允许订阅者创建一个可持久化的订阅。
这样,即使订阅者没有被激活(运行),它也能接收到发布者的消息。
在JMS中,持久化订阅者可以定义为durable(持久化的),持久化的订阅者注册一个带有JMS保持的唯一标识的持久化订阅,带有相同标识的后续订阅者会再续前一个订阅者的订阅状态,如果持久化订阅没有活动的订阅者,JMS会保持订阅消息,知道消息被订阅接收或者过期。
如果希望发送的消息可以不被做任何处理、或者被一个消费者处理、或者可以被多个消费者处理的话,那么可以采用发布/订阅模型。
六、系统业务集成的目标信息系统业务集成的目标是构建一个开放、松散耦合的系统集成环境,就目前公司开发的各个产品而言,存在多平台、多开发语言的特点,比如ZLHIS基于VB6+Windows平台、ZLBH基于.net +Windows平台、移动临床基于Java+Android 和Object C+IOS两种平台、社区一部分产品基于B/S架构运行于浏览器,而且在具体实施时还面临第三方厂商业务集成的需要。
由于各系统采用的技术路线不统一,进行业务集成是,需要开发新的接口或者采用其他集成方法,最终导致业务集成成本提高,增加了现有系统的复杂程度,而且随着各个应用系统上的业务交叉点越来越广,传统的数据集成已经不能满足现实的需求,需要一种支持业务流程编排重组的业务流程集成方式才能解决。
SOA是一种软件系统架构和软件设计模式,而WebService是就目前而言最适合实现SOA架构的核心技术,WebService基于XML、SOAP、WSDL和UDDI协议形成了实现SOA的一系列技术的集合。
企业服务总线(Enterprise Service Bus,ESB)为SOA系统的实现提供了一个核心架构,是一种分布式的集成框架,ESB 相当于一个WebService的组装平台,它支持各个异构系统间通过Webservice实现面向服务的交互,ESB智能的在企业系统间路由数据流,配合和转换各个系统需要的数据信息,为SOA提供一种连通性基础架构,用以连接SOA中的各个服务。
这种模式有助于减少应用接口的数据量和复杂性。
七、MOM在ESB中的应用ESB概念的四个支柱-MOM、WebService、数据变换和路由智能,其中MOM 是ESB实现消息和事件驱动的核心技术,对于ESB而言,可靠的传输是ESB的基础,比如IBM Message Broker就是建立于IBM MQ基础之上的(这里从名字也可以看得出来),Oracle Service Bus是基于JMS基础之上的。
例如,上图中可靠、异步、安全的消息传递机制就是依赖于JMS方式。
这里再举一个例子:上图简单示意了,出院程序如何通过ESB调用重庆医保的Webservice接口和ZLHIS出院结算接口,完成出院结算消息提醒,并通知到ZLHIS和ZLBH客户端以及IOS/android设备客户端。
1、出院程序首先调用ESB上公布的出院WebService,传入病人住院号;2、ESB通过传入的病人住院号调用数据库存储过程,通过病人住院号查询到病人的医保号和身份证号信息以及住院费用信息;3、ESB通过服务编排传入医保号和住院费用信息,调用重庆医保接口获得病人该次住院的医保结算报销费用;4、将出院报销费用和总费用传给zlhis出院结算WebService,检查该病人住院预缴金额是否充足,并将欠费金额组织成格式消息发送到消息代理上,消息代理转发消息至指定病区的护士工作站和移动护士工作站。
5、护士通过订阅消息获得病人出院信息,并作相应处理。
在这里,ESB通过服务组织调用不同的WebService或内置业务逻辑进行消息路由后,获得最终结果消息发送到消息代理,由消息代理将消息可靠的、异步的传输到工作站程序上。
因为目前ZLHIS运行环境的复杂性,消息的传递必须具备以下几个条件1、消息的通知必须是异步的,因为类似于移动设备可能因为移动网络原因和省电的原因,不可能一直保持连接;2、消息的通知必须能够通过推送的方式送达;3、消息接收的客户端要是能够跨平台的;如果要达到以上几点要求,ESB的消息传递就必须使用MOM,而目前厂商的ESB产品内置了MOM的功能。