发表于: 2017-05-25 22:55:59

2 1280


今天完成的事:

学习Tuscany

Tuscany 是 Apache 的开源项目,它是 IBM、Oracle、SAP 等厂商联合成立的 SOA 标准化组织 -OSOA 支持下开发出的 SCA 框架,它既是开源界 SCA 的试金石,也是当前开源界最成熟的 SCA 框架之一


SCA全称Service Component Architecture,即服务组件框架。它由BEA、IBM、Oracle等知名中间件厂商联合制定的一套符合SOA思想的规范


SOA架构,是一种粗粒度、开放式、松耦合的服务结构,要求软件产品在开发过程中,按照相关的标准或协议,进行分层开发。通过这种分层设计或架构体系可以使软件产品变得更加弹性和灵活,且尽可能的与第三方软件产品互补兼容,以达到快速扩展,满足或响应市场或客户需求的多样化、多变性
  SOA体系架构带来的主要观点是业务驱动IT,即业务驱动和业务更加紧密地联系在一起。以粗粒度的业务服务作为基础来对公司业务进行建模,这样就可以产生简洁的业务和系统视图;以业务服务为基础来实现的IT系统更灵活、更易于重用、也更快地应对企业业务需求的变化;以业务服务为基础,通过显式地方式来定义、描述、实现和管理业务层次的粗粒度服务(包括业务流程),提供了业务服务模型和相关IT业务之间提供了更好的"可追溯性"


SCA 面向组件(构件)的架构。(组件就是构件,二者是一个意思)
  1、先了解下一些基本概念,有助于sca的学习
  (1)构件:构件是SCA装配和表达业务功能的基本单元,他可以提供服务或者引用其他构件。
  (2)实现:构件的实现要指出构件的功能具体是如何实现,如:java,C++,javascript等。
  (3)接口:接口定义个1-n个业务功能,就是定义组件的多个操作,也就是方法了。
  (4)组合构件:可以简单理解为有多个构件(组件)组合而成,同时也是SCA域的基本单元。在一个组合构件中包含若干个构件、服务、引用和他们之间的连线,以及用于构件配置中的属性。
  (5)属性:通过属性,可以给实现来传递一些外部数据。
  (6)引用:组合构件的引用表示提升了其中构件的引用,构件的引用可以引用其他构件和组合构件。
  (7)服务:服务用于将构件或者组合构件采用一定的协议和访问方式,来为外部程序提供访问。
  (8)连线:引用者与被引用者之间的引用关系。
  (9)绑定:用于将构件绑定为一定的协议对外发布,可以讲一种构件绑定为另一种构件,如:webservice等。

  2、图形描述构件(组件)

 


上图中有两个属性 (黄色),对外提供了三个服务(绿色),引用了三个构件或者组合构件(紫色)

构件的实现是Java、bpel。

3、图形描述组合构件(组件)



上图为一个组合构件的装配示例图

组件A引用了组件B,这种关系称为连接,二者合起来为组合构件。其中组件A的服务接口被提升为组合构件的服务,组件B的引用提升为组合构件的引用,组件A有一个属性(黄色),组件B有两个属性,组件A的属性被提升为组合构件的属性。

2:参照例子运行代码:http://blog.csdn.net/ajun_studio/article/details/7770238

纯Java部分没有问题

利用tuscany工厂跑却有问题(我确定文件路径是没有问题的,因为ctrl+enter可以跳转到配置文件中去)

照着例子代码爆红

implementation.java 

换上下面的头就好了

xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
targetNamespace="http://sample"
name="Calculator" >

但是运行还是有问题(百度找还没解决)

明天计划的事:继续整今天的问题

遇到的问题:例子跑不通

收获:Tuscany初步认识

总结:好好学习。


返回列表 返回列表
评论

    分享到