SOA之我见

时间:2022-05-05 01:38:47

发表时间:2007-07-08 发表人:洪江

个人信息∷

洪江:拥有十多年丰富的软件工程实践经验,某软件公司技术总监、首席架构师。致力于软件工程相关领域的研究、应用实践,在业务建模、需求分析、架构设计等有深入理解和研究。领导和指导完成过多个大型复杂项目的业务建模、需求分析和架构设计。

高原山风的文章分类∷

业务建模

工作流

需求分析

架构设计

软件开发及过程改进

项目管理

休闲人生

SOA是一种方法论,一种架构思想,不是具体的软件产品。SOA其实并不是太新的东西,早在很多年前就已经提出了这种思想方法,只是最近才有了广泛性的应用。

SOA是一种分布式处理的技术架构,它要解决的问题领域跟CORBA、DCOM、EJB等早期的分布式技术式一样,但SOA在松散耦合、语言无关、平台无关等方面做的要比后者好很多,并且SOA提出的这种技术架构最大限度的包容了以往的技术,使已有的IT投资得到了保护和重用,让旧式应用与新技术结合起来,使之焕发了新的光彩。

SOA的技术架构包括几个部分:ESB(企业服务总线)、SCA(面向服务组件架构)、SDO(服务数据对象)、BO(业务对象)、BPEL(业务流程编排语言)、BSM(业务状态机)等等。下图是SOA的应用架构示意图。

SOA在开发流程上还界定了不同类别的角色:业务建模人员、服务提供者、服务消费者、流程组装者等。

实现SOA应用所使用的技术并不是什么专有新技术,它其实是利用已有的分布式技术来构造自身的应用架构。例如,SOA应用可以采用Web Service、CORBA、DCOM、RMI等中的任何一种来实现。

换句话说,这些分布式技术都可以作为SOA的实现技术。不过,Web Service技术对SOA支持的最好,也是被广泛应用于SOA的实现技术。

SOA的应用案例其实很多,IBM的中间件产品WebSphere Server最新版本本身就是采用SOA来架构的,BEA公司最新的WebLogic Server也是。在具体应用领域里成功使用SOA技术架构的应用有:中远集装箱运输有限公司的EDI平台、山西移动、广州电信等。

分布式应用虽然是SOA的应用重点领域,但这并不妨碍它应用于集中式领域。前面已经说了,SOA不是一种产品,也不是一种软件,它是一种架构方法,就像在建立系统架构需要进行分层和划分子系统一样。这种架构方法最大限度解决了子系统的耦合问题,使各个子系统的耦合度降到最低。在软件设计里,采用SOA是一种解决各个子系统的封装、交互、集成和重用的很好机制。

责任编辑:王勇 E-mail:.cn 美术编辑:王云 E-mail:.cn

上一篇:托管CRM延伸SaaS理念 下一篇:管窥存储技术族谱