随着互联网技术的发展和全球经济一体化时代的来临,企业在信息化建设中产生了大量为满足产品和服务的软件系统,比如“ERP”、“OA”、“CRM”以及电子政务等,而这些系统之间缺少集成和通讯,形成了一个个的信息孤岛。而以应用集成和流程集成为目标的中间件产品成为了该领域的热点。
传统的企业集成软件所采用的技术可以分为以下几类:
(1)远程过程调用(Remote Produce call)
(2)面向消息的中间件(Message-Oriented MiddleWare) —MQ
(3)对象请求代理(Object request Brokers)—DCOM、CORBA、J2EE
传统的集成方式是一种紧耦合的继承方式;通讯协议也是非标准的,如微软的DCOM组件和JAVA EE的EJB组件之间无法直接调用;信息格式的非标准化,导致服务请求者和服务提供者之间无法直接通信;应用组件和传输协议的紧耦合,如EJB应用组件紧密耦合RMI传输协议,导致应用只能接受特定协议的请求消息;接口调用的非标准化,如java xml的接口调用方法和JDBC的接口调用不一致,使得XML文件系统的信息资源和数据库的信息资源无法整合。
Web service是一套规范,它定义了应用程序如何实现互操作性,并且和运行平台、操作系统、编程语言无关。为了实现互操作性,Web service提供一套标准的类型定义,用于沟通不同平台、编程语言和组件模型中的不同数据类型。在传统的分布式系统中,基于接口的技术提供了一些方法来描述接口、方法和参数(如COM和COBAR中的IDL语言)。同样的,Web service平台也提供一种标准来描述Web service,让客户可以得到足够的信息来调用这个Web service。最后,还必须有一种方法来对这个Web service进行远程调用。这种方法实际是一种远程过程调用协议(RPC)。为了达到互操作性,这种RPC协议还必须与平台和编程语言无关。
SOA(Service Oriented Architecture,面向服务的体系架构)是近年来软件规划和构建的一种新方法,其概念最早由国际咨询机构Gartner公司于1996年首次提出。SOA这个新的技术路线的提出很好的解决了中间件领域存在的难题,SOA具有以下的特征:
粗粒度服务:对于粗粒度的服务,当业务发生变化时,服务抽象层次的定义保持不变,通过服务时限层次的变更适应变化;保持服务定义层次不变,使得需求变更对于服务的消费者而言是透明的。这种服务实现的可替换性将业务需求的变化对IT的影响控制在合理的范围内,只对IT系统做必要的变更,从而提高对业务变化的响应速度。
松散耦合:服务消费者和服务提供者之间的松散耦合。在服务契约设计上,通过抽象设计减少技术依赖性:在服务调用层面上,通过各种中介保持服务调用双方的技术透明性;
标准化:采用Web Service相关的协议标准如SOAP和WSDL,它能够隔离协议和消息等技术层面的关注,再调用Endpoint屏蔽应用层面的技术异构性,从而达到平台中立。
SOA可以看作是B/S模型、XML/Web Service技术之后的自然延伸。SOA将能够帮助客户站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。以SOA架构的系统能够更加从容地面对业务的急剧变化
SOA产品向微内核容器的架构方向发展
在系统平台的搭建过程中,模块的组织方式决定了系统平台将如何进行开发以及如何进行部署。传统的方式下通过包名的方式来区分模块,通过包名来区分模块的方式使得模块的复用变得特别的复杂,在每个模块一个工程的方式则可以让模块的复用比较的简单,由于模块的组织通常来说和系统的基础架构有直接的关联,由于系统的基础架构没有形成规范,这样就导致有可能因为模块的组织方式不同而无法复用的现象。
现在的趋势是基于OSGI规范构造软件产品基础平台,提供开放和通用的架构,使得用户以统一的方式开发、部署和管理服务模块。平台通过提供灵活的服务部署机制和强大的管理功能增强了设备的智能性。采用Bundle的方式来进行模块组织,对模块的引用只需接口调用,这就保证了模块模块引用和部署的简单性。在OSGI的规范下,对模块的重用比较简单。
OSGI的介绍
OSGI联盟成立于1999年3月,致力于制定管理本地网络设备服务的规范。OSGI组织是为家用设备、汽车、手机、桌面、小型办公环境以及其他环境制定下一代网络服务标准的领导者。
OSGI R4规范由Framework、Standard Services、Framework Services、System Services、Protocol Services、Miscellaneous Services共同组成。
协同的软件主板SynchroMC
软件主板是一个微内核、插件式的基础平台,实现中间件的插件化运行环境及动态组装、基础服务。它基于OSGI规范,平台提供了开放和通用的架构,使得用户以统一的方式开发、部署和管理服务模块。
平台通过提供灵活的服务部署机制和强大的管理功能增强了智能性,采用Bundle的方式来进行模块组织,对模块的引用只需接口调用,这就保证了模块引用和部署的简单性。
软件主板的关键技术路线包括:
(1)中间件的插件化运行环境
为了提供插件统一的生命周期管理、配置、更新管理以及系统服务、管理、事务等公共功能,基于OSGI实现微内核、插件式的基础平台,实现集成中间件的个性化定制和动态组装平台。
(2)支持分布式体系的iSynchro插件规范
iSynchro插件规范提供了比OSGI规范更高级的调用接口,它使其他应用和中间件系统可以无缝的插接到软件主板上。更重要的是,本规范要支持分布式体系,即分布在不同计算机上的多个软件主板上的插件系统可以实现集成,就好像插接在一个软件主板上一样。这将极大的提高整体系统的可扩展性。
软件主板体系架构如下图所示:
软件主板体系架构
基于软件主板,可以按照需要定制成各种新产品,实现多种集成化的中间件套件产品,如组装成应用服务器中间件、流程集成中间件、数据集成中间件、服务集成中间件等。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
微服务模块化编程接口之反思
传统模块化编程被视为应用的功能元素的创建“过程”,因此过程调用就成为了连接它们进入单一结构的机制。一旦有必要把组件跨网络隔离开来时,合理的步骤就是RPC。