基于SOA的数据同步方案

来源:互联网 发布:笨太子 知乎 编辑:程序博客网 时间:2024/05/21 10:32
2.1 SOA及其相关技术

    面向服务的体系架构(service—orientedarchitectI埔,SOA)是一种粗粒度、松耦合的服务结构。SOA是服务的集合,服务是最核心的抽象手段,业务被划分(组件化)为一系列粗粒度的业务服务和业务流程嘲。服务通过基于标准、精确定义的接口通信,通信可能涉及简单数据传递、两个或更多的在一个活动中协作的服务。由此,SOA是一个其所有功能均被定义成精确定义的、可调用的、独立的服务,且能被有序编排、构建业务流程的应用架构。

    SOA通过应用组件和传输协议的松散耦合,服务的即时绑定,从而实现业务组件的虚拟化,造就一个虚拟的集成架构或者集成平台服务总线,这样使得服务集成不受任何限制,可以同时集成.NET组件和J2EE组件,以及集成其它遗留系统的各种应用,同时也可以随时更换这些服务组件。最终达到敏捷的、不受限制的服务集成目标,从而使IT能够随着业务需求的变化而自由调整,达到所谓的“随需而变”的最高境界。

    SOA是目前EAI领域最先进的体系结构,并得到了IBM、BEA等众多IT厂商的支持,并推出自己的解决方案和相关产品,已日益成为行业应用集成标准。SOA很适合于应用在像数字化校园这种分布式、松耦合、异构平台的场合,它可以彻底地解决“信息孤岛”问题,并且充分利用已有的软件资源。所以,采用SOA框架构建数字校园是实现数字校园信息资源整合的最佳选择。

    实现SOA架构的技术有ESB、Web Services和JMS等。

    (1)ESB技术。企业服务总线(enterprise servicebus,ESB)是构建基于SOA解决方案时所使用基础架构的关键部分,是由中间件技术实现并支持SOA的一组基础架构功能Ⅲ。它是一种为进行连接服务提供的标准化的通信基础结构,基于开放的标准,为应用提供了一个可靠的、可度量的和高度安全的环境,并可帮助企业对业务流程进行设计和模拟,对每个业务流程实施控制和跟踪、分析并改进流程和性能。目前各大IT公司都推出了基于自己的平台工具的ESB产品,如IBM的WebSphere ESB、BEA的AquaLogic Service Bus等。除此之外,也出现了众多的开源ESB产品,如Mule、ServiceMix和ApacheSynapse等。

    (2)Web Services技术。WebServices主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。该接口隐藏了服务实现的细节,允许通过独立于服务实现、独立于硬件或软件平台、独立于编写服务所使用的编程语言的方式使用该服务。Web Services可以通过HrrP、SOAP(XML)、SMTP等协议的组合被访问,利用标准网络协议和XML数据进行通信,具有良好的普适性和灵活性,这使得基于WebServices的应用程序具备松散耦合、面向组件和跨技术实现的特点。Web Services技术的主要目标是在各种异构平台的基础之上构建一个同样的、与平台与语言无关的技术层,各种应用都可以靠这个技术层来实施彼此的连接和集成。

    (3)JMS技术。Java消息服务(Javamessage service,JMS)是访问企业消息系统的标准API,是Sun公司提出的Java消息服务规范,是用于访问消息系统的不依赖于某个具体厂商的APl,它提供给应用程序创建,发送,接受和读取消息的接口,具体实现可以不同m。JMS技术采用异步通信模式,发送消息者将需要变更的数据消息提交到消息平台后,就完成了自己的任务,就可以进行其它的操作,不需要等待服务器端的消息处理结果。这时即使网络出现故障甚至服务器崩溃也不会造成数据的丢失或不一致,消息会保存在消息队列中直到被最终接收。

原创粉丝点击