Tuncany Project实现了SCA,SDO,DAS技术,而使用SCA不一定需要SDO和DAS的支持;SCA提供了了一个
技术中立的装配能力用于处理业务层的组陈应用程序,可使用多种技术将服务开发或链接在一起。
1. SCA Assembly Model
见附件SCA Assembly Model.jpg。
2. Tuscany’s Java runtime for SCA
Tuscany SCA 提供了一个开箱即用的轻量级的运行环境使用SCA用于组合应用程序,Tuscan Libraries可以嵌入
其他 应用程序以便于处理SCA Composite Application.
Tuscany Runtime采用的是模块化和可插拔的底层架构,见附件:Tuscany SCA Java Runtime.jpg.下面对该
图进行讲解:
(1) Composite Application
表示使用Tucany和SCA构建的应用程序,使用SCA规范中定义的Assembly Model XML来描述。
(2) SCA API
用于运行环境中Composite Application中Component之间交互,SCA API 的实现是与语言相关的。
(3) Tuscany Core
用于支持Comonent和Service的构造,将Component组装成Composite Application以及管理整个应用程序。
(4) Tucany SPI
用于支持添加新的Extension。
(5) Tuncany Extension :Binding,DataBinding,Implementation Type,Policy,Interface
Bings 提供支持各种不同的交流协议:SOAP/HTTP Web Service,JSON-RPC,RMI;
DataBings 提供支持不同的数据格式用于服务之间的传递,如:SDO,JAXB,AXION;
Implementation Type提供支持不同的编程语言和容器模型,如:Java,BPEL,Spring,Script, OSGi;
Policy提供灵活性用于调整底层相关的策略,如安全,事务,而不需要影响业务逻辑代码;
Interface指定接口描述的技术,Java Interface或WSDL.
Tuscany Hosting提供支持Tuncany可运行的容器平台,如:Tomcat,Jetty,Geronimo etc.
3. 服务与组件的区别:服务和组件类似,是一个自包含的功能能单元;与服务不同,组件不一定要被暴露给外部使用,
它的用途只限于在它所运行的应用程序上下文中提供功能。
4. 粗粒度的服务与细粒度的服务:
细粒度的服务很窄也很具体,而一个粗粒度的服务则可能是打包了多个细粒度服务的功能。