SOA之SCA/SDO标准体系介绍

日期: 2008-02-17 来源:TechTarget中国

  Open CSA组织促进了服务组件架构(SCA)和服务数据对象(SDO)规范系列的创建和采用。

  服务组件架构(SCA)

  服务组件架构(SCA)是一组规范,它描述了利用面向服务架构(SOA)来构建应用程序和系统的模型。SCA是基于开放标准(例如Web服务)构建的,它扩展和补充了先前的服务实现方法。

  SCA的基本思想是将业务功能作为一系列服务来提供,这些服务组合到一起,以创建满足特定业务需要的解决方案。这些复合应用程序既可以包含专门为该应用程序创建的新服务,也可以包含来自现有系统和应用程序的业务功能(作为复合应用程序的一部分来重用)。SCA为服务组合和服务组件的创建(包括SCA复合应用程序内部现有应用程序功能的重用)提供了模型。

  SCA这一模型旨在包含广泛的服务组件技术以及用于连接这些组件的访问方法。对于组件,它不仅包括各种编程语言,还包括通常与这些语言一起使用的框架和环境。对于访问方法,SCA复合应用程序允许使用各种常用的通信和服务访问技术,例如,Web服务、消息传递系统和远程过程调用(RPC)。

  SCA包含以下规范:

  SCA EJB组件模型

  SCA Java  EJB客户及实现(SCA Java EJB Client and Implementation)规范描述了如何在SCA复合应用程序中使用EJB和EJB模块。它在两个层次上定义了EJB的使用:

  可以将完整的EJB模块像SCA复合体一样使用,不需要做任何内部细节上的改动,借助SCA连接到EJB模块提供的服务上,并将EJB模块的服务需求连接到EJB模块的外部组件所提供的服务上。
  可以使用单个EJB,由SCA提供所有的连接。

  SCA装配模型

  SCA装配模型(SCA Assembly Model)定义了构成一个SCA系统的各种构件和他们之间的关系。包括:SCA复合体,SCA构件,服务,服务实现,服务需要,连线等等。

  SCA策略框架(SCA Policy Framework)

  非功能性需求(例如安全性)的捕获和表示是服务定义的一个重要方面,在组件和复合应用程序的整个生命周期中都会对SCA产生影响。SCA提供了策略框架以支持约束、能力和服务质量(QoS)预期的规范,从组件设计直到具体部署。此规范描述了框架及其使用。

  SCA Java注释、API和组件实现

  SCA Java公共注释和API(SCA Java Common Annotations and API)规范定义了Java API和注释,以支持使用Java编程语言来构建服务组件和服务客户。有一些紧密相关的模型,它们描述了如何在SOA上下文中使用其他基于Java的框架和模型,例如Spring和EJB,这些模型也使用此规范定义的公共注释和API。此外,Java组件实现规范还定义了用于创建服务组件的简单Java POJO模型。

  SCA客户及实现:C++

  SCA C++客户及实现(C++ C&I)规范定义了API和注释,以支持使用C++来编写适合SCA组装模型的服务组件和服务客户。

  SCA客户及实现:BPEL

  SCA WS-BPEL客户及实现(BPEL C&I)模型指定了如何将WS-BPEL进程用作SCA组件。

  SCA客户及实现:PHP

  针对PHP的SCA客户及实现模型定义了如何在“SCA装配”中使用PHP脚本和对象。

  SCA客户机及实现:Spring

  针对Spring的SCA Java客户及实现模型指定了Spring框架如何与SCA一起使用,以实现以下目的:

  进行粗粒度的集成:与Spring的集成将在SCA复合体层次进行,其中Spring应用程序上下文提供了完整的SCA复合体,并通过SCA暴露的服务和服务需求。这意味着Spring应用程序上下文定义了SCA复合体的具体实现的内部结构。

  从SCA组件类型开始:利用Spring,可以实现任何SCA复合应用程序,这些应用程序使用WSDL或Java接口来定义可能具有某些特定于SCA扩展的服务。

  从Spring上下文开始:可以将任何有效的Spring应用程序上下文用作SOA中的组件实现。特别地,应该可以从任何Spring上下文生成SCA复合应用程序,并在“SCA装配”中使用这些复合应用程序。

  SCA绑定规范

  SCA绑定(SCA Binding)规范适用于服务和服务需求。绑定允许通过特定的访问方法或传输来提供服务并满足服务需求。

  Web服务绑定允许利用Web服务技术来访问外部需求或公开SCA服务。SCA提供了服务组件之间的互连的复合视图,而Web服务提供了用于访问服务组件的互操作方式。Web服务绑定还提供了SCA系统与其他服务之间的互操作衔接,这里的其他服务是指SCA系统的外部服务,但它们供SCA复合体使用。

  JMS绑定允许SCA组件使用JMS API来通信。它提供了连接到所需的JMS资源的JMS特有的连接细节。它支持使用Queue和Topic类型的目标。

  EJB Session Bean绑定可以将先前部署的Session Bean集成到SCA装配中,并允许向使用EJB编程模型的客户公开SCA服务。EJB绑定既支持无状态的Session Bean模型也支持有状态的Session Bean模型。

  服务数据对象(SDO)

  服务数据对象(SDO)的设计是为了简化和统一应用程序处理数据的方式。利用SDO,应用程序编程人员可以一致地访问和操纵来自异构数据源的数据,包括关系数据库、XML数据源、Web服务和企业信息系统。

  为支持各种可能的应用,标准中包括了对各种常用语言的支持,包括:SDO for Java and C++,SDO for PHP,SDO for C,SDO for COBOL。详细内容可以从相关的白皮书和规范正文中获得。

 

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SAP收购CallidusCloud 与Salesforce竞争

    一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]

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

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

  • 揭秘New Relic APM技术细节

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

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

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