技术开发 频道

强化Java EE和SCA的同盟

【IT168 分析评论】

    开放SOA合作组织刚刚发表了Service Component Architecture(SCA) Java EE集成规范草案0.9版,该草案定义了在Java EE应用环境中如何集成SCA和Java EE。它使用Java EE组件作为服务组件实现,Java EE程序包既可部署到SCA部署单元(Contribution)内部,也可部署为SCA部署单元。它定义了在一个Java EE运行时环境中使用SCA装配的模型,该模型所支持的和Java EE技术集成的级别包括细粒度组件级别,以及使用Java EE应用和模块的粗粒度大系统级别。

    规范支持以下Java EE和SCA的集成场景:

  • 从Java EE组件消费暴露的SCA服务。规范定义了一个Web组件(一个servlet或一个JSP页面)消费由SCA服务组件实现的服务的方式。
  • 使用Session Bean作为服务组件实现。规范定义了如何使用Session Bean实现服务组件。使用RMI、JMS和Web服务通信。
  • 将企业应用暴露进入SCA域(Domain)。规范定义了SCA和Java EE装配模型之间的关系,同时还为建构在Java EE层上、提供跨企业应用装配能力的SCA部署单元(Contribution)描述了一个部署模型。
  • 在企业应用中使用递归SCA装配。规范描述了如何使用SCA装配为复杂企业应用定义复杂应用装配的方法。
  • 将SCA组件部署为Java EE应用的一部分。规范为那些作为Java EE应用一部分、使用“异端”技术(如BPEL)实现的组件定义了部署模型,其中利用了那些现有的部署和管理Java EE应用生命周期的工具和基础设施。
  • 使用Java EE程序包作为服务组件实现。通过彼此串联Java EE程序包和连接使用其他技术实现的组件,规范定义了如何创建包含多个Java EE程序包的高级SCA应用。这个用例需要将Java EE应用的高层次视图视为一个单个SCA组件,将所提供的服务和消费的引用视为一个单个组件。

    此外,规范还支持在EJB类或Session Bean接口使用SCA注解。

    这个规范旨在进一步强化Java EE和SCA之间的关系,这有助于使SCA成为Java EE中实现SOA的普及技术。这样做的主要目的之一是,当前的Java社区仍然分裂成SCA和JBI。JSR 316:Java Platform, Enterprise Edition 6(Java EE 6)Specification仍需考虑两者,但是还没有明确决定采用哪个技术路线。尽管大多数厂商的应用服务器都支持SCA,但是开源实现仍然大都以JBI为基础。

    SCA的标准化进程目前由OASIS和OSOA推动,仍然缺乏Java全面支持。

0
相关文章