深入了解SOA(莫淘)

来源:互联网 发布:缺少 mysql connect 编辑:程序博客网 时间:2024/05/07 08:45
 

课程内容安排

SOA概览

构建服务

       WCF概览

       架构SOA的原则

       WCF架构

       WCF行为特征

       服务流程

SOA的设计模式和“反模式”

服务管理

 

第一部分:SOA概览

 

1SOA

由于大多数的SOA研究人员和分析人员是技术导向的,这导致“架构”在服务开发的过程中被忽略了

A”代表了你如何开发,部署,访问和管理你的服务,如果没有“A”,“SOA”系统的构建将是灾难

 

2、服务“S”和基于“SOA”的系统是不同的

一个服务是通过信息交换,进而产生交互的程序。它具有以下特点:

Built to last

可用性和稳定性是至关重要的

一个“系统”是一系列的已经部署的服务和任务的总合。它具有以下特点:

Built to change

系统的柔性是至关重要的

 

3、面向服务的业务流程

粗粒度的业务服务操作(客户程序与业务流程)

中等粒度的内部服务操作(业务流程与BusinessCompoent

细粒度的对象和数据库调用(BusinessComponent与数据库)

 

4、组合应用程序

应用应该是有多个服务组成的

强调Composed,而不是Built

跨越原有的功能

可以增加业务逻辑。暴露额外的接口

portalDevicesOfficeOther——Composite Application——Composition PlatForm

 

5SOA包括的内容:

工具:用户交互、业务流程、数据、访问管理、服务和信息

服务的管理:构建无缝的、丰富的用户体验、组合和集成业务流程、提供针对多种数据的无缝的访问能力、提供集成的安全性、针对多种系统的连接能力

 

第二部分:构建服务

 

 

1Microsoft SOA框架

首先,如何决定应该暴露什么服务

这点在SOA的设计中是最难的

几乎没有人有丰富的经验

核心:为将来使用这些服务的应用定义正确的用例图

一些建议:

通过服务包装器定义业务逻辑

不要直接暴漏对象

不要让开发人员决定暴露何种服务

 

2Top—Down方法:

工作模式:首先定义逻辑框架

使用Microsoft’s Motion 方法论

发现哪些服务是必须的

创建针对服务的应用程序

优点:这些服务清晰、干净

缺点:在很多组织内,做到这点很难

做到基于业务的灵活性也是很难的

 

3Bottom Up方法:

Language ConstructsLanguage LibrariesObject ModulesDistributed ObjectsService Models

工作模式:

构建面向服务的应用

集中精力解决SOA的问题——e.g.,Security and Management

优点:

在许多组织内部,便于执行

缺点:

对于定位服务来说,这种方法并不优美

面临“无用服务”的问题, 这些通常导致无法制定一个良好的计划

 

4、面向服务分析中通常面临的问题:

实体的辨别

实体的工厂化

服务的辨别

服务的工厂化

处理的规范

“触点”的选择

规则映射

SLAS

...

 

5、面向服务设计中通常面临的问题:

Schema定义

Message定义

Contract定义

消息截获

流程管理

事务模式

操作的兼容性

异常管理

消息到对象的映射

Refinement of Analysis

Windows Communication Foundation Architecture

Service Model之间的通讯的设计

 

第三部分:SOA的设计模式和“反模式”

 

1、活动服务模式

单元工作应该是尽可能合理的尽快执行

同步业务组件

跨越多个实体交易的“伪同步”机制

单一界面:针对文档类型的RPC

通常会被多种User Case来调用

从可重用性中获得ROI

购买和构建的组合

 

2、处理的服务模式

为实现业务处理的工作流提供控制接口

针对每个接口的不同权限

维护流程的状态

允许跨组组织的过程的执行

为每一个业务流程的控制点提供接口

异步触点

多层的策略

有一些流程会被跨越用例的调用

需要保持“主流程”和用例的统一性

从“非居间化”中获得ROI

通常需要构建,而且最好在一个翻译器中进行

 

基础架构服务模式

满足水平操作性的需求

实现和操作由公共标准定义的协约和实体

从系统服务商处购买

有时处于性能的要求,进行部署上的重新配置

否则,从其它模式,例如:处理、活动或实体服务模式中衍生

从管理过程的标准化中获得ROI,并在高度依赖于应用组合