在SOA(面向服务的架构)的浪潮中,厂商们都积极地重新调整自身已有的产品组合。也都会借此机会大张旗鼓地宣传他们的技术和产品是最适合用户的。
在IBM喊出“软件即中间件”的口号时,几乎所有中间件厂商都在借助SOA实现了发展和跨越,并被业内用户广泛认识,不过就在这个时候,一些意外出现了……
分布式SOA姿态强硬
在SOA被炒得火热的时候,大家对SOA提出的问题却越来越多,例如SOA如何保证服务质量?SOA如何保证服务安全性?SOA如何进行综合治理?在这个时候,IONA公司开始推广一种分布式SOA的概念。
但目前最常见的SOA方法是基于平台的集成方法。这个平台类似于SOA集成服务器,它采用多种集成技术,为其他有需要的应用和服务提供可重用的业务服务。大多数厂商提供的这个平台以企业服务总线的形式出现,也有一些厂商采用其他形式,比如围绕BPM进行业务流程集成。
IONA公司大中国区总裁薛志勇先生表示,当前企业和供应商之间的边界变得越来越模糊,企业和业务的价值链将越来越呈现出分布式的特点,以分布式状态存在的信息将成为企业的核心资产。
从概念上来讲,SOA与生俱来就应该是分布式的。在部署和使用可共享和可重复使用的功能和服务方面,分布式SOA架构是一种简单易行的途径。SOA的目的就是要变革IT系统的构建方式,由原来建立专有的单一应用变为建立更为高级和整合的应用,从而充分利用已有的、可以共享和重复使用的功能和服务。
互联网就是迄今为止规模最大的分布式应用,分布式SOA架构具备互联网的这种分布式特性。当用户使用浏览器点击URL链接时,其请求并不是通过安装在服务器或Hub的中央控制程序来路由,而是由浏览器直接传递到请求页面所在的网络服务器。
这种方法非常适合互联网,同样也非常适合企业的SOA架构。由于请求不需要通过Hub或中央服务器,因此互联网的每个端点可以自由更新而不致影响客户端,也不会影响其他站点,更不用更新Hub或中央服务器。
薛志勇认为,目前大家所了解的SOA大都是一种紧耦合的SOA,也就是说SOA与企业的数据库、操作系统、服务器绑在一起,但是这种紧耦合方式的SOA缺乏与其他系统的互操作性,很难在技术上保持中立性和兼容性。
因为企业的机房不是集中的,这些机房分布在不同的地点,采用不同的应用、不同的中间件、不同的平台,系统建立在不同的时期,甚至选择的开发商也不同。这样看来,实际上企业的信息化基础架构就是分布式的,很难制定一个标准来实现统一。
另外,这种模式的中间件要占用资源,数据转换要占用资源,业务流程的编制要占用资源,导致对硬件平台提出了比较高的要求,本来用PC就可以实现的功能,现在则要用服务器才能实现。
IONA公司为此发布的分布式SOA架构及产品套件,除了拥有SOA所具备的编排、治理、安全、数据转换、交易处理等功能外,它还通过封装现有系统实现异构应用环境的整合。不过,最让人意外的,莫过于薛志勇强调了这样一句话:“分布式SOA属于SOA2.0,到了SOA3.0时代将终结中间件。”
真能终结中间件?
对于SOA3.0时代将终结中间件的说法,中间件厂商却不这样认为。东方通科技首席软件设计师朱律玮认为, SOA本身就需要基础软件来支撑SOA解决方案,这样才能去实现SOA应用,无论把这种基础性的软件叫哪种SOA或者中间件也好。最终都要去解决用户的问题,不同的厂家根据自己定位有不同的说法而已。
从IONA的分布式SOA实现方式去理解,不管用户想要实现什么样的服务,分布式SOA都会提供这个服务通用的中间层服务。用户需要增加哪一项服务,就把哪一项服务对应地进行封装,只要在用户的端点上加入程序、纳入SOA网络就可以了。未来SOA继续发展,当Web Service继续延伸,各种应用都符合标准的时候,用户就可以不需要再用中间件。
不过,这其中却存在一个疑惑,无论是基于.COM的还是基于Java的产品,都采用IONA的Artix(可扩展的企业服务总线产品)进行封装。这显然已经把SOA产品化。
业内一直把SOA与中间件比喻为鱼与水的关系。这种关系包括两层意思:一是说采用中间件产品可以很好地构建SOA的应用;再就是采用中间件产品开发出来的应用,将很容易被整合进SOA架构。
赛迪顾问公布的2006~2007年中国中间件软件市场研究年度报告显示,第一阵营排名前三的仍然是传统三强:IBM、BEA和东方通科技。三强所占的市场份额有所上升,总体水平达到了58.8%。
第一阵营在中间件市场的业绩整体回暖,而这首先便与SOA有着十分微妙的联系。中间件厂商“搭车”SOA可以说是近几年一个大势所趋的选择。从技术上来看,如果中间件产品没有考虑SOA是短视的,在技术跟随上也会显得行动缓慢。
不过朱律玮承认,SOA系统大而全、繁而重,令它对中小企业有些水土不适,并不能包治百病,因为中小企业需要的综合协同管理平台是功能简捷、目标明确、投资小、见效快的信息化解决方案,而不是SOA之类庞然大物。
为此,东方通和SUN展开了技术合作,在Java基础上推出了面向业务的体系架构BOA,顾名思义,就是Business +SOA。BOA可理解为在SOA技术的基础之上融入行业经验,利用传统技术和SOA技术来实现对业务系统通用构件的对接、部署,使得SOA与行业个性化应用得以融合。
BOA的架构可以分为基础中间件、集成中间件和VSP(垂直行业解决方案包)三个层面,每个层面应对用户不同的需求层次,如基础中间件满足用户基础信息系统的建设,集成中间件满足信息的整合需求,VSP满足行业的深层次应用需求。
其实,BOA对SOA的实现的作用是显而易见的,也是相辅相成的。BOA可以用传统的EAI方式去实现,但用SOA架构去实现则更好,通过整合大量的满足本土用户需求的应用经验,SOA方式能更好地满足日益膨胀的“行业支撑平台”的需求,最终确保SOA落地。
SOA在技术的实现上还没有一个公认一致的架构,存在着大量的标准,不同厂家围绕自己已有的产品提供不同的技术实现,这些实现对SOA特性的支持程度也不一样,当前还没有一个厂家可以宣称自己的产品可以完全满足SOA的各种特性。
虽然像交易中间件、消息中间件等基础中间件可以较好地满足系统的需求,但是有限度的,一旦用户有信息整合方面的需求,基础中间件则难以应付,因此需要应用到集成中间件。
不过在几个月前,SOA两个重要标准SCA和SDO正式推出,并由国际开放标准组织OASIS进行推广,它们其实也是实现SOA的方法,对实现方式进行了规范,使基于该标准开发的产品可以更好地实现互联互通,用户也可以有更多的选择余地。
这个标准可以更好地体现SOA的价值:松耦合、敏捷性、服务重用、基于标准、不绑定在某一厂家的产品上。在标准的指导下,各厂商都可以根据自身的实际情况和能力,开发相应的产品,以支持SOA应用。在这样的条件下,大公司仍然可以开发全套产品。对于其它企业可以根据自身强项开发特定的产品。
每个厂商都有对自己产品的宣传策略,但SOA需要基础软件支撑是个不争的事实,至于怎么去称呼这个软件也大可不必去争论。惟一确定的是厂商是否遵从标准,是否还在扩展自己的独有特性,这都将影响SOA的发展和用户最终对产品的选择。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
购买应用集成工具可以采取平衡做法
购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。