SCA 介绍及应用实例 中国软件评测中心 陈兵 1. 什么是 SCA SCA(Service Component Architecture)是针对 SOA 提出的一套服务体系构建框架协议,内部既融合了 IOC 的思想,同时又把面向对象的复用由代码复用上升到了业务模块组件复用,同时将服务接口,实现,部署,调用完全分离,通过配置的形式灵活的组装,绑定。 从代码级的面向对象思想,到组件级的 EJB 概念,再到服务级的 SOA 理念,是一个开发复用的不断提升的过程,经历的经验教训正在给实践做出最好的指导。SOA 提倡的就是更高级别的复用,服务的复用,Internet 提供了开放的环境,但是没有一种统一的服务访问模式,让各个企业之间成了信息内部丰富的孤岛,需要将这些孤岛串联起来,同时要最大限度的复用有限的资源,因此提出了面向服务概念,但是多年的 SOA 口号下却缺少着一个真正的实施标准和解决方案,因此SOA 的理论传播大于实际实施。 面向服务的体系架构(SOA)提供了一条途径来解决紧耦合和应用固化的问题。SOA 承诺它将带来诸多好处,例如提高商业敏捷性,提高灵活性,降低成本,使异构和分布式环境中的信息共享变得更加容易。 SOA 描绘了一个蓝图,但实现 SOA 仍然是一个挑战。可供选择的用来实现SOA 的技术令技术人员迷惑, 他们需要具有比较全面的技术才能成功建构一个SOA 应用。SCA 可以解决这一问题——提供了一个用以创建面向服务的端到端企业应用的简单模型。SCA(Service Component Architecture)其实就是将过去EJB 的成果继续下去,基于Component 的复用,同时吸收了 IOC 的思想,Component之间的组装是通过SCA 框架来实现的,但是很重要的一点,他没有走 EJB 的老路,而是学习 spring 的轻量级框架,不再为开发者作的面面俱到。SCA 的 Component 和OSGI 的 Bundle 一样其实是对 Java 封装的一种贯彻,它有需要Import 的服务引用,需要Export 的服务,很重要一点就是它对于Component,service,reference 的实现都没有作限制,这类对象只需要有个接口定义和实现描述即可,当前规范中支持的接口定义可以是 java 接口也可以是 wsdl 文件(最终也是转换成为 java 接口),实现的话那么更加广泛 java,webservice,rmi,jms,脚本语言等等,同时提供了扩展接口。采用了SCA 的业务将从以下几个方面受益: 快速开发,提高生产力: SCA 把一个应用看成一系列相互连接的组件。它提供了一个简单的、语言中立的组件...