没有合适的资源?快使用搜索试试~ 我知道了~
效劳组件架构.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 10 浏览量
2023-06-08
18:56:58
上传
评论
收藏 384KB PDF 举报
温馨提示
试读
11页
效劳组件架构.pdf
资源推荐
资源详情
资源评论
效劳组件架构(SCA)是一个开发 SOA 面向效劳应用的简单模型。这篇文章通过一个例子描述了 SCA
的各类优势,并介绍 SCA 的相关概念。本文中的例子是基于 Apache Tuscany 开源项目开发的(。文
中所涉及的实例源码均经 Apache License 认证(,在本文的参考资料部份提供了相关文件的链接。
Apache Tuscany 和 PHP SCA_SDO ([url]提供了免费的面向效劳的基础架构,在其上能够利用 SCA
编程模型创建、打包、发布和治理应用。
SCA 编程模型本身是由众多厂家和个人共同开发的规范,这套规范被贡献给了 Open SOA 协作组织
()。
SCA
面向服务的体系架构(SOA)提供了一条途径来解决紧耦合和应用固化的问题。SOA 承诺它将带来
诸多好处,例如提高商业敏捷性,提高灵活性,降低成本,使异构和分布式环境中的信息共享变得更
加容易。
SOA 描绘了一个蓝图,但实现 SOA 仍然是一个挑战。可供选择的用来实现 SOA 的技术令技术人员
迷惑, 他们需要具有比较全面的技术才能成功建构一个 SOA 应用。SCA 可以解决这一问题——提供
了一个用以创建面向服务的端到端企业应用的简单模型。采用了 SCA 的业务将从以下几个方面受益:
1) 快速开发,提高生产力: SCA 把一个应用看成一系列相互连接的组件。它提供了一个简单的、
语言中立的组件模型,组件可以是新创建的,也可以重用已有组件。组件可以用 SCA 运行环境所支
持的任何语言来实现。通过组件的实现和组装细节的分离,SCA 实现了真正的松耦合。这种自底向
上的开发风格允许开发人员集中精力开发业务相关代码,而不用担心如何使其适用于整个解决方案。
2) 更高的组织敏捷性和灵活性:SCA 同样支持由顶向下的开发方式,通过 SCA 灵活的服务装配模
型创建业务解决方案。SCA 组件可以在一个构件组中连接在一起。一个组件可以被有着相同接口的
另一个组件所替代。这个构件组可以根据 IT 架构需求进行调整,例如服务连接、传输协议、事务、
安全和消息可靠性。可供选择的传输绑定方式使开发出的解决方案可以适应更广泛的部署需求。
3) 更高的投资回报: SCA 组件模型使得重用已投资的现有应用和服务变得非常容易。其标准方法
是封装和抽象接口,通过重新连接服务创建新应用,以此重用服务。SCA 本身是技术中立的,也并非
要取代现有的技术。其仅仅提供了一个组件组装模型,并描述了如何去装配新的和现有的服务。
图 1 取自 SCA 装配模型规范,其展示了 SCA 的主要组成。(
深蓝色方框(ComponentA 和 ComponentB)表示是组件(Component)。组件是 SCA 核心,其
封装了业务逻辑。组件可以采用运行环境支持的任何编程技术实现。例如, Apache Tuscany 项目目
前支持 Java、JavaScript、Ruby、Python 和 C++组件类型,同时为创建新的组件类型提供了扩展
API。
SCA 组件可以定义属性(Property,ComponentA 和 ComponentB 上方的黄色方框表示属性)。属
性控制组件的行为,在部署其间可以被可改变。例如,一个股票报价应用程序可能会有一个属性用来
指定股票报价中使用的货币类型。
SCA 组件描述了接口,这些接口可供其它组件调用时使用。在图中接口用组件方框左边的绿色箭头来
表示,被称作 SCA 的“服务”(Service)。组件也描述了被该组件调用的其它组件的接口,在图中这样
的接口用组件方框右边的粉红色箭头来表示,称为 SCA 的“引用”(Reference)。这些服务和引用被
连接在一起,组成一个可运行的系统。
图中的两个组件,A 和 B,被组装在一个更大“构件组”(Composite)范围内,被称作构件组 A。
SCA 的构件组描述了一个由互相连接的组件所构成的集合。正如你所看到,构件组也声明了服务和
引用,它们被暴露到构件组外部.一个构件组内部的组件彼此连接就如同创建一个运行在同一进程中
的紧耦合的应用程序。将构件组通过服务和引用连接在一起,则形成了一个更加松耦合的系统;系统
中的每一个构件组都可能运行在一个单独的进程或处理器中,在网络中通过各种的协议和传输绑定连
接起来。通过这个途径 SCA 为独立和分布式应用提供了统一的编程模型。
实例场景
本文将使用一个虚构的 MostMortgage 公司抵押贷款申批应用来介绍 SCA 的更多细节。贷款审
批应用(Loan Approval)接受抵押申请,包括客户的详细资料和申请的贷款数目。应用首先会检查客户
的信用记录(Credit Check),确保信用额度符合最低要求。根据申请的本金数量,贷款条约以及客户
的家庭状况,得出利息率(Interest Rate)。然后使用按揭计算器(Mortgage Calculator),用可能的月偿
还额度除以客户的月收入额计算出比率。根据这个比率和客户的信用评分进行风险评估(Risk
Assessment),然后做最终的决定。(见图 2)
用 SCA 实现抵押贷款审批应用程序
在下面的部分,将介绍如何用 SCA 实现贷款审批应用程序(Loan Approval Application),其中会
详细讲解每个 SCA 元素的创建过程。从整体上看,贷款审批应用程序可以被分解成组合装配所需要
的若干 SCA 组件。这个构件组(Mortgage Composite)所包含的组件有:贷款审批(Loan Approval),
信用检查(Credit Check),利率计算(Interest Rate),按揭计算器(Mortgage Calculator)和风
险评估(Risk Assessment)。整个构件组部署在一个 SCA 系统中。(见图 3)
SCA 组件
SCA 组件是开发 SOA 应用程序的基本构造单元。其具备三个特有的同时也彼此关联的部分:
a)构造组件功能的程序逻辑(简称为组件实现)
b)组件与其它组件交互的定义(简称为组件类型)
c)这一组件和其它组件如何装配以形成一个解决方案的具体描述(简称组件装配或构件组)
本文将在下面的章节具体介绍并举例说明每一部分。
组件实现: 组件实现可以由任何 SCA 运行环境所支持的编程语言来完成。组件实现可以自由地
选择自己的风格,但其需要与服务、引用和属性绑定,按照组件类型的定义进行组件间的交互。SCA
规范描述了程序语言和 SCA 间的映射。
组件类型:组件类型通过组件所暴露的服务,依赖的引用以及控制组件行为的属性来描述一个组
件的轮廓。组件类型信息可以通过文件定义,通常文件名称是<实现文件名>ponentType,或者通
过考察组件实现获取,或者两者并用。
组件装配或构件组:一旦组件的实现和组件类型已经定义,组件就可以被装配到服务网络中,与
其它服务一同提供一个 SOA 解决方案。装配文件定义了一个 SCA 构件组。SCA 的运行环境使用此
文件中的信息来实例化一个 SCA 应用程序。
服务组件描述语言(SCDL)是 SCA 定义的一种可扩展标记语言(XML)格式,被用于定义组件类型
文件和装配文件。例如:贷款审批应用中的按揭计算器(Mortgage Calculator)组件有组件类型文件,
组件实现文件以及将按揭计算器组件与其它组件连接在一起的装配文件。(见图 4)
组件类型(Component Type)
按揭计算器组件类型文件描述了这一组件提供的服务,其并没有引用其它组件,同时也没有提供
任何可配置的属性,因此引用<reference>和属性<proprety>元素并没有出现在这个定义中。
<componentType>
<service name="MortgageCalculatorService">
< inter/>
</service>
</componentType>
组件实现(Component Implementation)
剩余10页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 58
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功