SCA/SDO规范的来龙去脉

日期: 2008-01-23 来源:TechTarget中国

  SOA已经成为公认的IT基础架构发展的趋势,它为我们描绘了一幅美妙的IT系统和业务系统完美结合的图画。然而,即使是在各咨询机构推崇SOA,各厂商大肆宣传推广SOA,用户普遍认可SOA的今天,SOA的美好未来依然给人一种不清晰、不踏实的感觉。

  我们常常说SOA需要解决如何落地的问题。这个难题无法一蹴而就,必须花费很多时间才能逐步进行解决。但在目前,我们已经为SOA找到了一个着地的落脚点,这就是SCA/SDO规范。

  2005年11月, IBM、BEA、IONA、Oracle、S等几家厂商就合作建立新的业内规范来简化 SOA 应用发展达成了一致,共同发布了两项针对SOA的重要构件模型规范——SCA 0.9和SDO。此后,该团体陆续吸引了Red Hat、普元、TIBCO等多家公司的加盟,形成了OSOA(Open Service Oriented Architecture)联盟,目前成员数量达到18家。OSOA联盟旨在为SOA起草一系列的规范,并以免版税的许可方式提供给业界使用。AP

  2007年3月,OSOA联盟宣布了SCA和SDO规范中关键部分的完成,发布了SCA 1.0和SDO 2.1,并将其正式提交给OASIS,通过其开放式标准过程进行推动。

  SCA规范旨在简化服务的创建和合成,对于运用基于SOA方式服务的应用构建十分关键。随着SCA规范的完成,联盟合作厂商希望将其标准化过程提交给OASIS。此外,联盟厂商也已完成了SDO规范,旨在实现对多个站点中多种格式数据的统一访问,并将把SDO基于Java的规范开发和管理提交给Java社团过程(Java Community Process,JCP)组织,而基于非Java的规范(C++)提交给OASIS。

  SCA和SDO规范能帮助企业更便捷地创建新的以及改造现有的IT资产,使之可复用、易整合,以满足不断变化的业务需求。这些规范提供了统一服务的途径,大大降低了在应用开发过程中,因程序设计语言与部署平台的不同而产生的复杂性。SCA和SDO规范都是用于简化业务逻辑和业务数据呈现的新兴技术。

  “我们对OSOA联盟取得这一里程碑成就,并选择了在接下来通过开放标准过程继续推动这一重要工作表示欢迎和赞赏,”OASIS CEO和总裁Patrick Gannon说,“我们希望能进一步推进SCA规范,实现标准化,获得最广泛的行业应用。”

  OASIS不只是研究和产生标准,同时也跟其他国际组织一起合作推动标准的采用和技术的发展。通过十多年的努力,OASIS已经得到广泛的承认,可以直接向国际标准组织、国际电联和联合国相关标准组织直接提交标准提案。

  SCA是一种规范,它使开发人员可以将注意力集中在业务逻辑的编写上。更直接地说,它是一种大大改进了的部署描述符,它可以使用任何语言而不限于Java。此外,编程人员还可以使用编程式语言和声明式语言,比如BPEL和XSLT(eXtensible Stylesheet Language Transformation,扩展样式表转换语言)。SCA的特别之处在于,它对安全性、事务和可靠消息传递之类的特性使用了声明式策略的理念。

  SCA是专门针对SOA设计的,而不像J2EE只是面向SOA做了修改。SCA关注的是如何描述按照各种编程模型和协议编写的组件所组成的程序集。SCA允许开发应用程序集而不考虑特定的API或具体语言。中间件

  SCA的核心概念是服务及其相关实现。服务由接口定义,而接口包含一组操作。服务实现可以引用其他服务,称为引用。服务可以有一个或多个属性,这些属性是可以在外部配置的数据值。

  SCA中的一个关键推动因素是SDO(Service Data Object,服务数据对象)。SDO用于表示业务数据、参数以及服务调用的返回值,当它遍历服务网络时,它还是一种表示数据的方式。注意,也可以使用XML Beans及其他技术。

  SCA组件被组成为程序集。程序集是服务级的应用程序,它是服务的集合,这些服务被连接在一起,并进行了正确的配置。SCA程序集运行在两个级别:第一种情况,程序集是系统内的一组松散连接的组件;另一种情况,程序集是模块内的一组松散连接的组件。二者的区别在于,一般来说,模块是组件的集合,而系统是模块的集合。此外,系统对应于“大规模编程”(programming in the large或megaprogramming),而模块对应于“小规模编程”(programming in the small),比如构建当今的典型应用程序。

  将组件连接到它所依赖的服务的方式就是服务网络“装配”的方式。程序集已经在许多技术和框架中广为应用,比如CORBA、J2EE、ATG Dynamo和Spring,也就是说,它并不是新出现的。从这些技术中我们可以知道,程序集提供了许多重要的优点,比如更轻松的迭代开发,以及避免使业务逻辑依赖于中间件容器。SCA使用程序集解决了许多SOA开发中的重要问题,包括:

  *业务逻辑与底层基础架构、服务质量和传输的分离。

  *“小规模编程”与“大规模编程”的联系。

  *为架构的设计、编码和操作性部署在自底向上(bottom-up)和自顶向下(top-down)两种方法中来回切换提供了一种统一的方式。

 

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

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

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

  • 任意云 | 戴尔-云宏强强联合,“任意云”继续布局

    2016年3月28日,北京 – 戴尔公司与云宏信息就云计算系列应用解决方案以及推出整合双方基础架构及虚拟化软件优势的一体机等内容签署了合作备忘录,共同打造完整的云计算和大数据生态系统,为客户提供更高安全级别的混合云解决方案。

  • 揭秘New Relic APM技术细节

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

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

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