• 《SOA思想、技术与系统集成应用详解》读书笔记三SCA


    SOA是思想,如何具体体现或者按照SOA的思想来编程呢?方案很多,我们现在来学习下最常用和正在茁壮成长的SCA。SCA-Service Component Architecture,即为服务组件架构,是IBM和BEA等提出来的一套面向服务的SOA编程模型或者说是编程架构,是SOA思想的一种实现方式。这就说明了SOA与SCA间的关系,SOA是思想,SCA是对SOA思想的一种实现或者说细化。

    编程思想经历了结构化程序设计-面向对象-面向组件-面向服务的变化,系统是越来越复杂,但是模块间的耦合是越来越低。并不是说面向服务编程就不需要面向对象思想了,它们是在不同高度的编程思想。SCA中的服务“Service"就是对组件编程(EJB,COM,CORBAR)的进一步升华,此处的服务是独立于具体的技术(即与编程语言和传输协议无关),并提供一个完整的业务功能(不是分步的、细节的)。

    SCA的目标是很容易地实现大规模系统的集成,通过服务间的松耦合、独立于具体技术来实现服务组件的最大可重用性。

    SCA特点:

    1. SCA是用于建构服务的,松耦合的。

    2. SCA是一个跟实现语言无关的组件编程模型。SCA提供了统一的调用方式,可把不同的服务类型(POJO/EJB/BPEL/JMS/WEB服务)通过统一的接口来封装调用。使得整合已有的异构系统成为可能。

    3。SCA支持不同的通讯协议,如Web服务、JMS、Rest、JSON/RPC等

    4。SCA隔离了业务逻辑和具体技术实现。使开发者更集中于业务逻辑而非技术细节,也极大地提高了业务逻辑的灵活度-可以采用不同的服务实现而无需改变业务逻辑。

    5。SCA提供了许多面向企业计算的QoS能力。

    SCA-服务组件体系架构,显然服务组件-SCA Component是该体系架构的基本单元。它提供服务,引用其他服务,并包含property-组件属性。其结构如下图:

    服务(Service),是一个接口,也可以是WSDL的portType,表示有本组件提供给其他组件使用的业务功能,是用来让其他服务组件调用的。

    引用(Reference),表示本组件的实现所依赖的由其他组件提供的服务。

    属性(Property),这是一些影响业务功能的数据值,可以通过设置这些属性值来对实现进行配置。

    组件实现(Implementation),指提供了特定业务功能(service)的代码段。对java来说,就是接口实现类。

    一个服务组件,对外提供的服务(Service)和服务实现是必须的,属性和对其他组件的引用不是必须的。

    服务模块-SCA Composite,服务模块的作用是按照一定的逻辑划分对组件进行分组,同时把一个分组内的各个组件连接在一起,即便它们使用了不同的实现技术。反过来,也可以把模块作为组件,用来构建其他更复杂的模块。集成办法:通过service和reference的连线(wire)-即组件的reference调用其他组件的服务service,将组件的service和reference提升(promote)为模块的service和reference。服务模块组成如下图:

    对于模块内部组件间如何连线,如何设置服务的绑定和引用的绑定,我们将通过Apache SCA Tuscany实例来解释。

  • 相关阅读:
    腾讯实习前端工程师面经-一面-腾讯看点
    Redux的createStore实现
    GNU ARM 汇编基础
    python爬虫学习04-爬取贴吧
    python学习03-使用动态ua
    Python爬虫学习02--pyinstaller
    python爬虫学习01--电子书爬取
    简单的SQL语句学习
    微信小程序的五个生命周期函数
    python学习(12)使用正则表达式
  • 原文地址:https://www.cnblogs.com/whuqin/p/4982131.html
Copyright © 2020-2023  润新知