SOA定义及其分解

来源:互联网 发布:配眼镜哪里好 知乎 编辑:程序博客网 时间:2024/05/21 05:38

SOA(Service Oriented Architecture):面向服务的架构。目前尚无统一定义,先看张参考架构图吧。

一个SOA参考架构

面向服务架构是一个组件模型,它将应用程序的不同功能单元——服务,通过服务间定义良好的接口和契约联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。————基于SOA的企业信息资源整合。吕希艳,张润彤。中国科技论坛,2006.3(2)

SOA是一种松散耦合的软件体系结构,在这种体系结构中,由各自独立可复用的服务去构成系统功能. 这些服务向外公布有意义明确的接口,软件的开发是通过对这些实现透明的接口的调用来完成。————基于SOA体系结构的软件开发方法研究。魏东,陈晓江,房鼎益。微电子学与计算机,2005,22(6)

IBM 这样定义SOA:它是一个组件模型,将应用程序的不同功能单元(称为服务)通过服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在各种系统中的服务能够以统一和通用的方式进行交互。 ————一个面向服务的EAI 框架。王颖,吴荣泉,黄美锋,邵培南。计算机工程,2006,1(32)

S(Service):  服务是执行可重复任务的可发现资源,由外部化的服务规范进行描述。[IBM]。服务也没有统一的定义,基本上包括两各方面一个是组件提供功能(功能单元)、一个实现了统一接口。服务具有独立性,可单独开发、测试、继承。

O(Oriented):面向是思维方式,是看待世界及分解世界组成的思维方式。

A(Architecture):架构是在组件彼此间和与环境间关系,引导设计发展原则中体现的系统基本结构[IEEE 1471]。 架构是系统的组织结构和相关行为。架构可被重复分解为通过接口,互联部分的关系和结合部相互作用的部分。通过接口相互作用的部分包括类,组件和子系统。[UML 1.5]。看起来都不怎么容易理解,简单点就是组件构成的基本结构。这里的基本结构是系统重要元素间的交互、分类、分层关系。 架构是相对稳定的。它可以形成框架。框架包括为了解决问题的技术集合与技术的组装及结构、实用过程中遇到问题的解决方案与实现的插件或补丁。

SO(Service Oriented):是一种哲学(世界观与方法论的统一)。面向对象是原子及原子间相互关系组成世界的世界观,面向服务则是将世界的基本元素是独立功能体的集合,组合、关联各功能体来构造世界。组合、关联的方法、方式(实现和实施),将世界分解、抽象为功能体的方法、模式(设计),及处理实际中问题(安全等)的方法等构成了SO的方法论。

架构是相对稳定的,这类产品也不会出现太多。我们就不必同IBM、BEA这些公司竞争了。服务是业务决定的,服务的种类、数量也较多,也是最需要大家去实现的。SO的方法论也是需要我们去努力开拓、总结的,这才是将来SOA技术的核心所在。

                                                     ------------  bampool 初稿于2007-08-16

原创粉丝点击