一、背景介绍
Tuscany 是 Apache 的开源项目,它是 IBM、Oracle、SAP 等厂商联合成立的 SOA 标准化组织 -OSOA 支持下开发出的 SCA 框架,它既是开源界 SCA 的试金石,也是当前开源界最成熟的 SCA (SCA: Service Component Architecture)框架之一。
tuscany是一套开源的SCA框架模型,是做SOA的基础架构,SOA它是面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来
二、知识剖析
SCA是什么?
SCA为构建基于SOA的应用和解决方案提供了编程模型。它基于这样的理念:将业务功能作为一系列的服务而提供,并由这一系列的服务组装起来的解决方案来满足特定业务需求。这些组合的应用既包括为应用而新创建的特定服务,也包括源自已已存在系统和应用的业务逻辑,这些业务逻辑作为组合构件的一部分被复用。SCA既为服务的组合也为服务构件的创建提供了模型,包括对SCA组组合构件中对已存在应用功能的复用。
(2)
SCA的基础工件就是component,它是SCA的构成单元。构件(component)由一个实现的可配置(implementation)实例所组成。在该构件中,实现是提供业务功能的程序代码片段。该业务功能作为服务(service)而提供,为其他构件所使用。实现也许依赖于由其他构件所提供的服务,这些依赖被称作”引用”(reference)。实现可以有一个可设置的属性(properties),该属性是可以影响业务功能操作的数据值。构件通过提供属性值和连线(wire)到由其他构件提供服务的引用来配置实现。
三、常见问题
Tuscany的例子很少。官网已经不维护了,建议多百度,看师兄日报。
四、解决方案
SCA装配模型在Tuscany中是用一系列接口表示的。如下是些关键的元素。
SCA component 是配置化的SCA实现的实例,它可以提供服务或消费服务。
SCA service用于声明实现的可以被外部访问的服务
SCA reference用于表示该实现对某些其他实现所提供的服务的依赖。该依赖的服务可以通过配置来指定。
Implementation是用于描述软件技术的概念,例如在面向服务的应用中实现了一个或多个服务的Java 类,BEPL,XSLT转换,C++类。SCA composite也是implementaion。
Interface定义了一个或多个业务功能。这些业务功能通过Service提供,通过Reference让其他组件使用。服务是由实现的接口来定义的。现在SCA支持两种接口类型系统:Java接口、SWDL portType
SCA composite是SCA域中的compositon的基础单元。SCA Composite是组件的装配,服务、应用和wire都互相连接。
Binding是被服务和引用所使用的。引用使用绑定来描述访问机制,该机制用于访问连接的服务。服务使用绑定来描述客户程序调用服务的访问机制。
Property是考虑到有的实现配置需要显式地设置数据值。该数据值由组件提供,当然也可能来源于容器composite的属性。
五、扩展思考
什么是Dubbo?它们之前区别?
提问与回答
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !