SOMA 读书笔记

最近拜读了一下 Ali Arsanjani 博士一篇关于 SOMA (Service-Oriented Modeling and Architecture) 文章,把一些重点和体会记录下来。 SOMA 是关于 SOAD (Service Oriented Analysis and Design) 的一种开发方法。

SOA 架构概念模型
包括了 Service Providor (服务的实现者和提供者) 、Service Description (对于服务内容的定义) 和 Service Consumer (服务的使用者),我们通常讲的 Service 应该包括 Service Description 和 Service Providor 两部分。

SOA 架构
描述一个 SOA 系统所要用到的基本框架,我们要设计一个 SOA 系统的话,可以以这个框架为模板来写架构设计文档。

1) 操作系统层:搭建 SOA  系统一定会涉及遗留系统,这是 SOA 一个很大的优点,SOA 改造不会影响现有的系统的正常运行;
2) 企业构件层:这里包含的就是服务的具体实现者 Service Providor,当然每一个 Service Providor 应该由多个子系统和构件所实现;
3) 服务层:该层就是服务对外的展现 Service Description,多个服务也可以被拼装起来形成一个组合服务(composite service);
4) 业务流程定义层:将服务拼装成满足具体业务流程需要的应用,Websphere Integration Developer  可以完成这个工作并生成 BPEL;
5) 展示层:目前的 SOA 架构好象跟这一层次无关,但已经有一些标准如 Web Services for Remote Portlets Version 2.0 出现来试图在用户界面这一层央提供可重用的服务;
6) 整合层:由企业服务总线ESB提供;
7) 服务质量层:定义安全性、性能、可靠性等一些非功能的质量属性。

 SOAD 的过程
包括服务的发现(Identification)、服务的描述(Specification)和服务的实现(Realization)三个步骤。

1) 发现服务有三种方法:
    自顶向下(Top-Down 或 Domain Decomposition),从业务流程中去抽取服务,RUP 中的业务建模可以很好胜任这个工作;
    自底向上(Bottom-Up 或 Existing System Analysis),利用现有的遗留系统来构建服务,可以利用 Adapter (也叫 Wrapper) 设计模式来重用遗留系统所提供的服务功能;
    由里而外(Middle-Out 或 Goal-service Modeling),企业的某些业务目标是不包含在任何一个特定的业务流程中的,如“提高客户满意度”这样一个业务目标,它是跟每一个业务流程都相关的,所以我们可以通过目标服务建模来满足这一业务目标。(还不是太了解 Goal-service Modeling 的内容,需要继续研究)
2) 描述服务
    这一步骤还只是把服务的接口(service specification)、数据结构(message & event specification)、实现组件(subsystem, component) 的功能规范定义清楚。
3) 实现服务
    利用传统的面向对象分析设计方法开发实现具体的组件,对外公布的服务就是由这些组件构成的。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值