[AIX Solaris HP-UX Linux Windows][z/OS]

SCA 中WebSphere Application Server:概述(已弃用)

服务组件体系结构 (SCA) 的支持提供一种方法来构造基于面向服务的体系结构 (SOA) 的应用程序。 此支持利用 Apache Tuscany 开放式源代码技术来提供已发布的 SCA 规范的实现。

已弃用的功能:8.5.5.19或更高版本服务组件体系结构 (SCA) 编程模型和示例已弃用,并将在将来的版本中删除。 无法部署新的 SCA 业务级应用程序。

请更新应用程序以使用其他编程模型。 您使用的编程模型将根据您先前在应用程序中合并 SCA 的方式而变。

如果将 SCA 用于绑定,请合并您的应用程序符合一些标准(例如,Java API for RESTful Web Services (JAX-RS) 或 Java 消息服务 (JMS))时所采用的方式。 例如,将 JAX-RS 用于应用程序绑定。 为了最大程度地减少绑定级别的实现重复,请构造应用程序以使用共享代码。

如果您想继续使用 SCA 作为长期战略的一部分,请考虑将您的应用程序托管在IBMBusiness Process Manager

SCA 在由以下机构制定的一套开放规范中定义: IBM®并通过开放 SOA 协作 (OSOA) 和 OASIS 与其他行业领导者合作。

可以使用 SCA 组装和组合企业中的现有服务。 SCA 支持演示的 SOA 的关键原则是能够使用现有服务来创建新服务。

SCA 的另一个主要目标是突出 Java™ 中 SCA 服务开发的易用性。这是通过演示使用简单的 JAR 打包方案部署的带注释的 Plain-Old Java-Object (POJO) 组件、易于使用的组装模型和支持通过不同传输和协议进行服务定义的接线抽象来实现的。

要了解有关 SCA 的信息WebSphere® Application Server产品,请参阅以下一般信息:

SCA 的优势

SCA 使您的组织能够快速地进入 SOA 领域,如下所示:

提高应用程序部署方面的灵活性
  • 快速改编应用程序,以在业务环境中反映更改
  • 复用在其他业务流程中创建的组件以及组合应用程序
  • 轻松地将服务组成更复杂的组合应用程序
  • 调整解决方案以适应不断变化的技术(即,协议或部署目标),而不必重建业务应用程序
提高程序员的效率
  • 继续着眼于解决业务问题,不必陷身于单一的复杂技术情况而与服务使用者和服务提供者联系
  • 使用同一基本原则来统一表示现有资产和新构建组件
  • 将服务组件组织成逻辑模块,以加快组合应用程序开发
  • 利用带明确服务定义的松耦合服务模型,使多个开发者能够独立地并行工作,以便快速交付解决方案

OSOA 支持

SCA 中WebSphere Application Server遵循 OSOA 记录的技术定义。 定义一组一致性测试套件已不是 OSOA 宪章的一部分,因此,此产品中提供的实现会使用下列规范作为指导原则。 但是,IBM 提供了严格符合规范解释的实现。

  • SCA 组装模型
  • SCA EJB 会话 Bean 绑定
  • SCA Java 组件实现
  • SCA Java 公共注释和 API
  • SCA Java EE 集成
  • SCA JMS 绑定
  • SCA 策略框架
  • SCA Spring 实现
  • SCA 事务策略
  • SCA Web Service 绑定

请参阅不受支持的 SCA 规范部分主题,了解不受支持的限制和局限性。

OASIS 支持

本产品提供了对以下服务组件体系结构 (SCA) OASIS 规范的部分支持:

  • OASIS 服务组件体系结构/组合件 (SCA-Assembly) 1.1
  • OASIS 服务组件体系结构/策略框架 (SCA-Policy) 1.1

    产品支持 OASIS 策略连接,但不支持 OASIS 策略集定义。

  • OASIS 服务组件体系结构/绑定 (SCA-Bindings) 1.1

    此产品支持 OASIS SCA JMS 绑定 1.1 和 OASIS SCA Web Service 绑定 1.1,但不支持 OASIS SCA JCA 绑定 1.1。

  • OASIS 服务组件体系结构/J (SCA-J) 1.1

本产品支持将 EJB 绑定、POJO、JAXB 和 SDO 作为数据类型。

请参阅不受支持的 SCA 规范部分主题,了解不受支持的限制和局限性。

OSOA 和 OASIS 规范之间的差别

OASIS SCA 规范是根据 OSOA SCA 规范开发的,但存在一些细微的差别。 下表列出了 OSOA 和 OASIS 规范之间的差别:

表 1. SCA 装配模型 OSOA 和 OASIS 规范之间的差别。
类型 OSOA OASIS
名称空间 https://www.oasis-opencsa.org/sca-assembly http://docs.oasis-open.org/ns/opencsa/sca/200912
XSD   可扩展性可避免出现偶尔发生的 UPA 问题。

sca:extensions 元素显示在不同的位置。

composite.xml 引用目标 component/service

将未配置的绑定置于引用上。

引用目标 component/service/binding

请勿将未配置的绑定置于引用上。 目标字符串会识别它们,且会从服务拉出配置。

异步调用 不受支持 支持异步调用。 通过在接口(或服务或引用)上包含 asyncInvocation 意向来将其激活。
对话数 受支持 不受支持
操作配置 在服务或引用中受支持 在服务或引用中不受支持
接口 无法从组合中标记为 remotable 可从组合中标记为 remotable
有线格式   绑定可具有 wireFormat 子元素
操作选择器   绑定可具有 operationSelector 子元素
连线   新替换语义
域级别   忽略引用和服务
definitions.xml 具有绑定元素 不具有绑定元素
表 2. SCA Java API 和注释 OSOA 和 OASIS 规范之间的差别。
类型 OSOA OASIS
API   SCA 客户机 API
API 具有 CallableReferences 不具有 CallableReferences。 具有 ServiceReference。
API   新异常:InvalidServiceException、NoSuchDomainException、NoSuchServiceException
API 具有转换 API 不具有转换 API
注释   具有 AsyncInvocation。 不具有对话。

SCA 应用程序中 OSOA 和 OASIS 之间的差别

  • 您可以通过查看 SCA 工件 XML 名称空间来区分 OSOA 和 OASIS 组合。
    在 OSOA 组合描述中,名称空间类似于:
    <composite xmlns=http://docs.oasis-open.org/ns/opencsa/sca/200912 ...>
    ...
    </composite>
    在 OASIS 组合描述中,名称空间类似于:
    <composite xmlns=http://www.osoa.org/xmlns/sca/1.0 ...>
    ...
    </composite>
  • 您不能在同一个资产中混合使用 OSOA 和 OASIS 的 SCA 工件,如 .composite 文件或 sca-contribution.xml 文件。 但是,您可以在 OSOA 和 OASIS 的 SCA 组件在一个单元格中运行时,将这两个 SCA 组合连接在一起。

    对于 OSOA,如果 Java 归档 (JAR) 中只有一个 default.composite 文件,那么 sca-contribution.xml 文件不是必需的。 sca-contribution.xml 文件可以驻留在 META-INF/ 目录或子目录中。

    对于 OASIS,sca-contribution.xml 文件是必需的,并且必须驻留在 META-INF/ 目录中,而不是在一个子目录中。

针对 SCA 的 WebSphere 支持

正如前面提到的,OSOA 和 OASIS 定义了多个规范,并且开源提供的 Tuscany 扩展超出了WebSphere Application Server。 每个供应商都可以决定 SCA 的哪些方面适用于其产品。 为了WebSphere Application Server,重点是实现组合为服务、Java 组件以及类似服务的交易和安全的关键质量的集成。

SCA 可以使中介、业务规则和业务流程执行语言被视为任何其他服务,同时WebSphere Application Server提供在这些语言和环境中实现的连接服务的机制,但该产品不提供承载这些类型的服务实现的本机支持。

SCA 支持包括以下内容:
  • POJO(Plain Old Java 对象)服务组件实现,包括对注释的支持
  • 异步功能
  • 递归组合模型支持
  • 支持 SCA 规范
  • 支持从现有 WSDL 文件或 Java 代码开发的 SCA 服务
  • SCA 组合在业务级应用程序中的部署
  • SCA 授权和安全身份策略
  • SCA 应用程序的 PassByReference 优化
  • 多种绑定类型,包括Web服务绑定、SCA默认绑定、企业 JavaBeans (EJB)、Java消息服务(JMS)、Atom和 HTTP 绑定
  • 支持 SCA 应用程序中的 Java XML 绑定体系结构 (JAXB) 数据绑定
  • Java Platform, Enterprise Edition (Java EE) Web 模块、会话 bean 和消息驱动的 bean 的 SCA 注释
  • 本机 SCA 部署的预览
  • SCA 应用程序中的 Spring 2.5.5 容器
  • OSGi 应用程序作为 SCA 实现
  • 服务数据对象 2.1.1
  • 为了与此产品配合使用而专门编译的样本 SCA 组合