揭示SOA标准悖论

日期: 2008-04-09 作者:Adam Michelson 来源:TechTarget中国

面向服务架构要是没有标准会变成什么样子?如果没有这么大量而且复杂的SOA 标准存在,SOA可以更好地发展吗? 可能在现在的你我眼中都或多或少的有了对标准的依赖和重视。试想,难道SOA的发展是因为这些标准才变的更好的?   就像更简单的脚本语言一样,Java和Java EE 也是由于标准过多而造成了隔阂。如果 SOA 标准和规格继续到增多而且变得越来越复杂的话,SOA 将遭受一样命运。我们已经看到专业IT人员为SOA 标准寻找的出路――很简单的REST Web服务。

标准到了应该进行精简的时候了。   要想阻止SOA标准的出台真的是件很不容易的事。很多时候,标准的出台和支持都是存在政治利益,是为了……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

面向服务架构要是没有标准会变成什么样子?如果没有这么大量而且复杂的SOA 标准存在,SOA可以更好地发展吗? 可能在现在的你我眼中都或多或少的有了对标准的依赖和重视。试想,难道SOA的发展是因为这些标准才变的更好的?

  就像更简单的脚本语言一样,Java和Java EE 也是由于标准过多而造成了隔阂。如果 SOA 标准和规格继续到增多而且变得越来越复杂的话,SOA 将遭受一样命运。我们已经看到专业IT人员为SOA 标准寻找的出路――很简单的REST Web服务。标准到了应该进行精简的时候了。

  要想阻止SOA标准的出台真的是件很不容易的事。很多时候,标准的出台和支持都是存在政治利益,是为了支持软件提供商的营销计划而指定的。那些侥幸出台的标准为开发者造成了巨大影响,所以,其结果就是希望出台没有缺陷的标准并使它成为最适用的标准。在大量SOA标准出台之前,我还是应该重新审视SOA标准,对现有的SOA标准做一下彻底的分析和研究。 这就是本系列文章的主旨。

  我们将关注主要的SOA标准并努力找到哪些标准是可被采用的。不过可惜这不是容易的任务。明确哪些标准本应是大量普及的标准,现在却仅仅小范围使用,不被大众接受使用,给人的感觉就像被冷落怠慢或者没有归属感一样。可是,现在有大量已经存在的SOA标准而且这些标准经常改变,所以对它们一一地讨论和研究是根本不可能的。所有标准又有不同的版本所以整个标准体系非常复杂。这篇文章里面大概提到70多个单独标准,当然,对于一线的IT工作人员来讲,要想同时考虑符合所有标准是很难的事。

  这一系列文章将努力引导我们详细审视现有的SOA标准。它将列举出一些得到共识的标准,或者提出一些标准中值得注意的地方。它将比较相似的标准,并试着将它们之间的关键部分的不同点区分开本文将列举SOA标准,同时介绍支持这些标准的标准组织。以后的文章将更加深入的剖析人们关注的大多数SOA标准。我们将按照类别考察这些标准,努力分析它们之间的相似之处和不同点。最终详细介绍现存的标准,使您和您的企业能更好的了解现在使用的标准。

  我们这里要讨论的一些标准本身并不是真正的标准,而技术规范。它们是技术规范、API、协议和一些SOA概念的集合。为了充分地比较SOA标准,我们将与其他的标准及相似的技术概念进行对比。因此,希望你暂时能模糊掉标准、技术规范、API和协议等等之间的区别,以便于我们更好本着这个主题进行讨论。

  主要的标准组织

  制定了这么多的标准,当然存在着很多标准组织。这些各自为政的组织可能会混淆标准本身。所以,在我们回顾标准前,最好先了解一下现有的标准组织。按照这个方法,回顾的那些标准只对应于那些主要的标准组织。就像前面讨论标准时一样,当然也确实存在着大量标准组织,不过,我们为了简化问题,在这里只详细介绍一些主要的标准组织。这些组织并不是都发布了SOA标准,但是它们都参与技术性标准的发布。很多伟大的当代技术人都是这些组织的参与人。那就让我们去了解一下它们吧。

  下面的图表中列出了一些主要的标准组织。在这,我又使用了“标准”这一术语,当然,它还是涵盖了一些技术说明、API等在内。OASIS 的Peter Roden帮助我完成原始的图表,为了方便讨论,我又稍微的做了一下调整和平衡。

  主要的标准组织:

  最近,参与SOA标准制定的较有影响的组织包括:

  W3C——世界广域网联盟
  OASIS——结构化信息标准促进组织
  WS-I——网络服务协作组织
  OSOA ——开放式SOA

  简要的介绍一下这些组织,这些描述大部分来自于其所属于组织的网站。

  W3C: W3C通过定义相关的说明和指导来促进网络技术的发展,即让软件和工具充分的发掘网络的潜能。为了发挥网络的最大潜能,最基础的网络技术必须要求硬件与软件之间相互兼容。W3C将这个目标称之为“网络共融化”。通过发布公开化,非私有化和为网络语言和协议提供标准,W3C制止和避免了很多因为网络混乱而产生的市场混乱。W3C由Tim Berners-Lee于1994年创立。

  OASIS: 结构化信息标准促进组织OASIS 是非营利性的国际化组织,推动了电子商务标准的发展,合并和实施。此组织制定了比其他组织更多的网络服务标准,这些标准主要是关于安全性,电子商务和标准化的问题,为公共服务使用的行业应用作出了贡献。OASIS最初在1993年由SGML Open改制而成,并将其名称在1998年改为OASIS。

  WS-I: WS-I 是一个特许的工业化组织,主要是通过平台,操作系统和编程语言来推进网络服务互通性。 其主旨是针对现今过多的网络服务标准。在WS-I内存在的两种工作标准, 基础分布标准(BP)包括连接分布标准和基础安全分布标准(BSP)。

  JCP: 在1998年作为开放的,为修订和发展JAVA技术的技术说明推出,同时设计实行和测试。JCP已经促进了在JAVA平台上进行开发的国际化。

  OSOA: OSOA是一个代表工业领导者们的意图的组织,定义了为迎合正在挖掘出服务向导体系的的特点和优势的企业开发人员而定义的一种自然程序化模型语言。这个研究会并不是一个标准组织,而是那些希望得到用于快速开发的程序模型并且投入应用的买家们而设置的。最初成立的时候,其主要向一些正规的标准体,例如OASIS或W3C提供一些技术说明用于将来标准制定的参考。这些企业的合作伙伴正在为两个重要的项目而工作服务成分建筑(SCA)和服务数据对象(SOD)。

  对SOA标准进行基础的分类,我们用以下方法去定义和比较一些通用的标准:

  附件类–为在信息中包含了数据扩展而设置的标准
  发现类–为描述和定位服务的标准.
  事件类–不使用请求-回答模式而使用事件模式来请求服务的标准
  综合类- 为互连系统系统协同工作而制定的标准
  经营类-为控制、监视和管理服务而设置的标准。
  建模类–为设计SOA体系和元素而服务的标准这些标准也包含了那些保证模型建立的正确的标准。
  协议类–定义了信息系统和体系结构框架的标准。
  处理类- 使服务支持状态,数据传输和时事性的标准,经常涉及到安全和时事信息。
  安全类- 为SOA信息安全和服务认证而制定的标准。

  一些标准系列为了应付在SOA框架、网络服务或其他专业领域中遗留下来的缺陷而制定的。例如:网络服务并没有包括数据的信息化,技术事件的相应,处理事件和安全等方面。这些功能是一些像JMS、CORBA和IIOP本身所具有的属性和特点,但是并没有在网络服务中自然的存在。因此很多的标准尝试在网络服务中加入信息处理进程。其他的一些标准组织则更加的具有战略眼光,例如格式类和管理类标准便为中间件添加了新的属性。格式化促使商业进程信息化,但是管理类标准需要在近期的商业环境中响应政府管理命令。于是,最终一些标准过于绝对,想为SOA体系建立一个通用的建模技术说明。这些只是我个人对这些标准的观点和认识,为了让其他人更方便的理解和处理现有的服务。

  在接下来的文章中,我们将稍微深刻的剖析一些种类的标准。我们将对比相互竞争的标准,找出他们各自的优势。我们还可以预测一下标准间竞争的结果,试着分析指出哪个将被采用而那个将被淘汰。

  SOA的存在依靠标准的梳理,因此我们必须学会怎样利用它们,而不是盲目的扩大它。

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 购买应用集成工具可以采取平衡做法

    购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。