SOA

来自开放百科 - 灰狐
2006年9月23日 (六) 10:09WikiSysop (讨论 | 贡献)的版本

跳转到: 导航, 搜索
Logo-osoa.gif

SOA: Service-Oriented Architecture

SOA - IT与业务的融合剂

ESB(Enterprise Service Bus): SOA的核心和基础架构, 先了解一下ESB功能

面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

Sun-soa-platform.jpg

更多细节: SOA Best Practices: A Conversation With Sun Microsystems Distinguished Engineer Mark Hapner

目录

SOA的原则

SOA是一种企业架构,因此,它是从企业的需求开始的。但是,SOA和其它企业架构方法的不同之处在于SOA提供的业务敏捷性。业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力。对架构设计师来说,创建一个业务敏捷的架构意味着创建这样一个IT架构,它可以满足当前还未知的业务需求。

要满足这种业务敏捷性,SOA的实践必须遵循以下原则:

  • 业务驱动服务,服务驱动技术

从本质上说,在抽象层次上,服务位于业务和技术中间。面向服务的架构设计师一方面必须理解在业务需求和可以提供的服务之间的动态关系,另一方面,同样要理解服务与提供这些服务的底层技术之间的关系。

  • 业务敏捷是基本的业务需求

SOA考虑的是下一个抽象层次:提供响应变化需求的能力是新的“元需求”,而不是处理一些业务上的固定不变的需求。从硬件系统而上的整个架构都必须满足业务敏捷的需求,因为,在SOA中任何的瓶颈都会影响到整个IT环境的灵活性。

  • 一个成功的SOA总在变化之中

SOA工作的场景,更象是一个活的生物体,而不是象传统所说的“盖一栋房子”。IT环境唯一不变的就是变化,因此面向服务架构设计师的工作永远不会结束。对于习惯于盖房子的设计师来说,要转向设计一个活的生物体要求崭新的思维方式。如下文所写的,SOA的基础还是一些类似的架构准则。

SOA控制

  • 服务定义,包括服务的范围、接口和边界
  • 服务部署生命周期,包括各个生命周期阶段
  • 服务版本控制,包括兼容性
  • 服务迁移、包括弃用和退役
  • 服务注册中心,包括依赖关系
  • 服务消息模型,包括规范数据模型
  • 服务监视,包括进行问题确定
  • 服务所有权,包括合作组织
  • 服务测试,包括重复测试
  • 服务安全、包括可接受的保护范围

SOA与网格

网格观点: 虚拟化是 SOA 环境的基础:SOA 和基础设施虚拟化技术之间是高度协作的关系。随着企业采用的服务不断增多,这些服务的大小和规模也不断增大,实现支持这些服务的基础设施虚拟化技术也日益重要。没有基础设施的虚拟化,企业的管理就会变得非常复杂,很难实现服务的灵活性优点。在本文中,将对网格计算和 SOA 以及基础设施虚拟化技术之间的相似和不同之处进行简要分析。

SOA与数据中心

”ZapThink公司的资深分析家Jason Bloomberg说,“存储虚拟化可以处理存储,而网格计算则可以对处理器功能进行虚拟化,面向服务的体系结构实质上是对软件应用功能进行虚拟化。”

SOA推进新一代数据中心的企业应用和商业流程

SOA的分析和设计

SOAD-figure4.gif 设计层次

实现SOA的技术

开源项目

厂商方案

相关链接

书籍

Iona-soa-book.jpg Understanding SOA with Web Services 中文版

国内第一本SOA图书,享有声望的专家Eric Newcomer和Greg Lomow为大家献上了关于SOA计划与实现全方位的实践战略和经证明的最佳实务.

精彩图集

BPM、EA 和 OOAD 的位置
SOAD 及其组成部分:OOAD、BPM 和 EA
SOAD 服务定义层次
分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱