SOA读书笔记

原创 2006年05月23日 18:03:00

SOA用Web Service来实现:
1、 封装
从Web服务的角度来看,可以分成两种服务:一、基于Roles的临时性类,它是在运行状态中来消费message。二、基于应用程序逻辑的永久性类,它提供了roles所要进行消费的环境。所以以此来分成:service roles和service model。
Web服务中,可以有不同的Roles如initiator,relayer或者消息接收器等。在SOA中Web服务在不同的商务逻辑中担任不同的角色。
角色有:
1) service provider。这里面依据不同的作用,又可分为service provider entity与service provider agent。
2) service requestor
3) Intermediaries(中间体)。这里有两种类型的Intermediary,第一个叫做passive intermediary(被动的中间体),是典型的为并发点路由消息。例如:SOPA消息头处理来决定路由路径,而从另一方面来说,之所以叫passive ,是因为它并没有改动过消息。另一种叫做active intermediaries(活性中间体),它也具有路由消息的功能,但优先转换消息,用来处理、修改消息内容。如特殊的SOPA头消息处理,当找到相关的消息后,会response一些消息,或者修改头消息或插入、删除相应的头消息。
4) 服务合成。为了解决具体商业逻辑,有几个服务组成一个合成的服务。
Service models
前面所说的角色是由WS提供,其是一个内部方法是透明的(不可知的)。这些角色生成了各种状态存储于context中。以这种的管理方式,以程序的逻辑结构和角色之间的商务关系来分类,就是Service models。常见有以下几种:
1) Business service model。
2) Utility service model
3) Controller service model
其实这种分类的方式有点类似于MVC的方式,各种服务进行归类,分层管理。
2、 配置。Service 描述
WS配置主要是通过WSDL来说明的,WSDL结合XSD与Policy组成WS的Metadata。
3、 交流
通过SOAP来进行交互。SOAP的组成部份有:HEAD,BODY。
Header blocks在SOA中很重要,消息的独立性是通过header blocks来实现的,在header部份可以用来存储meta消息,可以包括消息的路由信息,合同信息,规则,指令和属性等。所以SOAP消息依据Header,可以包容很多附加消息来分发与处理消息与内容。下面有很多WS-*用用到SOPA的Header。

SOA和WS-*扩展
1、 消息交换模式。所谓的MEP(Message Exchange patterns)就是提供为一组消息映射到消息交换序列的模板。最为一般的模式就是request/response的模式。
1) Request Response:这种模式一般是用来实现同步的方式。
2) Fire-and-forget:这是基于单向的异步传输模式。包括:single-destination模式,一个源与一个目的地;multi-cast:一个源多个目的地(目的地是定义好的);broadcast:类似于multi-cast,只不过它是向所有点广播消息,目的地没有固定。
3) Complex MEP。以上的两个模式可以方便的解决简单任务,但是也可以由此组件一个更大的模式,组装成一个不同类型的消息模式,这就叫做complex MEP.例如:publish-and-subscribe模式,就是对multi-cast的一种改进,提供了一种新的角色来控制订阅者,来触发消息的发送。其实这个模式是由以下两个模式的组合而成的实现方式:一、由request-response模式,当订阅者向publisher发送订阅请求,要求订阅该主题,publisher依据请求消息来给出reponse确认订阅succeeded或者failed.二、fire-and-forget模式让plublisher来单身的广播消息到订阅者处。现在ws-*关于消息传输模式的协议有:WS-BasNotificatin, WS-BrokeredNotification, WS-Topics, WS-Eventing。
2、 WSDL中的消息模式有:
1) Request-response operation:服务收到一消息后,必须返回一个标准的消息或fault消息。
2) Solictit-response operation:当服务向service requestor提交一条消息后,期盼着能收到service requestor的response消息。
3) One-way opeation:服务只会收到消息,没有response.
4) Notification operation:服务发送一条消息,但不期盼有回复。
而在WSDL2.0中定义了8种消息传输模式,而ServiceMix实现了大部份的消息传输模式,并且还实现了Notification模式,可以参考wsn2005-component。
以这些消息模式组成不同服务之间消息交换,这种服务与服务之间的交换只是一种简单的服务激活。其实SOA中,可以由几个服务依据不同的消息模式先组成一个大的服务模块,再由这些大的服务模块之前再由不同的消息模式来激活,这就是复杂的服务激活方式。激活体就是服务的最体实例,为实现某一任务具体的运行过程的一个整体。复杂的激活过程应该考虑以下四个方面:
1) 在激活体中services的数量
2) 激活体的持久性
3) 激活体转变的频率。
4) 多个相同的激活体是否并行存在
规范WS-Coordination就是来协调不同服务组成的激活体的框架。
3、 WS-Coordination.它是基于coordinator service model,这个模型由以下的服务组成:
1) Activation Service:负责创建新的context和协助context与激活体。
2) Registration Service::让参与的Services能够用到context信息,每一个激活体服务都被注册,来为context提供信息。
3) Protocol-specific Services:这些服务通过coordinator的coordination类型来提供protocols支持。
4) Coordinator:是服务合成管理器,也叫做coordination service.
每一个Corrdinator都是基于coordination类型。Coodination类型是激活体底层逻辑,是Context消息被管理的地方。
4、 Atomic transactions:相关的ws规范有ws-AtomicTransaction,它ws-Coordination中相关协议。
5、 WS-BusinessActivity。类似于ACID的事务处理,但其没有rollback,当出理错误时,他只会执行B计划,相当于执行另一个候选计划。
6、 (Orchestration)WS-BPEL中的几个概念。Sequences, flows, links
Sequences:把相关的激活体组成一个列表,这个列表就决定了激活体的执行顺序。这种方式适合于一个激活体的产出就是另一个激活体的输入。
Flows:也是一些有关联的激活体,但是他们的执行不一样。在flow中的每个程序逻辑片断都可以并行执行,这就意味着,在flow中的激活体,在自身开始执行时,没有必要等待其他激活体是否运行完毕,但是flows只有当它所有包括的激活体完成后才能结束。
Links:也是用为建立激活体之间的依赖关系。这种关系就是,当激活体开始执行之前,必须先建立它的前驱激活体的完成后。类似于flows,任何激活体只要他的前驱完成,都可以开始执行。Links也提供Rules的设置。
7、 Orchestrations和choreographies之间的区别
这两者都 是复杂的消息交换模式,但是它们两有着明显的区别,Orchestrations表达的是organizaiton-specific商务工作流,也就是说这个组织拥有并控制着业务逻辑,即使业务逻辑内部与外部逻辑相互调用。而choreography,它就没有要求是所于一个单独的实体,它是在组织之间,或者说服务是由不同的组织实体来提供,并不在一个组织的控制下。
Choreography的代表规范是:WS-CDL(Choreographies Description Language)。
8、 Addressing。应该由以下几个部份组成:
1) 哪里来2)哪里去3)谁收4)没人接收将如何处理
WS-Addressing规范为SOAP消息头提供了两种类型。很多WS-*规范都引用了WS-Addresing。通过对SOAP消息头加入相关消息(这消息叫做message information MI).
WS-Addressing提供的MI包括:
1) destination。
2) Source endpoint
3) Reply endpoint
4) Fault endpoint
5) Message id
6) Relationship。在Request/Response的模式下经常用到,用来包括相关的message id。
7) Action.是一个URI用来批示消息的意图。
WS-Addressing的间接的支持有状态服务。
9、 可靠的消息服务。
WS-ReliableMessaging提供了消息的可靠性服务框架。它能保证以下几个方面:
1) 服务提供者是否成功接收到消息。
2) 消息传输基于特殊的队列关系,并且以期望的顺序到达。
它是以SOAP的header块来实现消息的跟踪。
10、WS-Policy框架

读书笔记二——第一章《面向服务的体系架构SOA》下

1      服务器的路由和负载均衡 1.1    服务化的演变 分布式应用架构体系对于业务逻辑服用的需求十分强烈,公共业务被拆分出来,形成可共用的服务,最大程度的保障了代码和逻辑的复用,这种设计称为...

读书笔记二——第一章《面向服务的体系架构SOA》上

1      基于TCP协议的RPC 1.1    RPC名词解释 RPC全称Remote Process Call,即远程过程调用,实现方式很多,有RMI,WebService 等诸多成熟的方案。 ...

《SOA思想、技术与系统集成应用详解》读书笔记一(推荐)

本篇主要对SOA有总体上的认识。      SOA是一种软件体系结构,它的构成元素是服务,此处服务主要指web服务。它有三种角色:服务提供者、服务请求者、服务注册中心。对于编程者来说,SOA是一...
  • joeyon
  • joeyon
  • 2015年06月30日 18:45
  • 450

软件工程项目管理读书笔记

  • 2017年11月07日 20:18
  • 555KB
  • 下载

读书笔记----深入理解WinCE

张冬泉老师的《wince 实用开发技术》读书笔记。 1、系统架构 CE被设计为一种分层结构,从底层向上分别为硬件层、OEM层、操作系统层和应用层。 OEM层由如下模块组成:OAL(OEM适配层)...
  • chi001
  • chi001
  • 2011年08月02日 15:04
  • 270

算法导论 读书笔记

  • 2015年02月05日 16:13
  • 325KB
  • 下载

《Android群英传》读书笔记(12)第十二章:Android 5.X新特性详解

由于第十章是介绍的Bmob云服务器,内容不多而且都很简单,就直接跳过了。下面来看看十一章关于Material Design的内容。 一、Material Design主题 使用兼容包里的Materia...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SOA读书笔记
举报原因:
原因补充:

(最多只允许输入30个字)