今天在论坛上又现针对SOA的评价,其实自从SOA概念被提出来以后褒贬不一的评价不绝于耳,有人说它一无是处只是炒作而已,有的人说它是整合异构系统的法宝,本人自接触SOA到现在已经差不多有三年左右,期间一直在做SOA相关产品和项目的研发和实施,到现在有种不说不快的感觉,以下是我的一点拙见写下来与大家共勉。
1. SOA是什么,每次看到大家一说到SOA就必提BPEL、ESB等概念,SOA是Service Oriented Architecture的缩写。中文的翻译应该是面向服务的构架,既然它是一个构架,那么它必定是以服务的创建、管理、监控等一系列从下至上的以服务为中心的构架,那么其中涉及到的技术规范就很多了而并不只是BPEL、ESB等概念了。
l 首先是服务的创建,从面向过程的程序设计到面向对象的程序设计,主要解决的目的是让程序具有更好的可扩展性和可复用性。而在SOA下,IBM提出了SCA和SDO规范用于创建更具扩展性和复用性的程序模块,这种扩展性不仅仅局限在API之间的调用,更是扩大到更为广阔的空间,例如一个用Java开发了一个符合SCA的服务模块,你可以将其发布成为WebSerivce或者其他的服务类型,而不仅仅是API,真正实现模块即服务的模型。万丈高楼平地起,良好的服务基础是SOA落地的关键,在此我并不是说SCA是构建服务的唯一方式,但是它的确是一个很有效很好的模型。另外在构架服务的过程中,大家会经常提到一个服务粒度划分的问题,服务粒度可大可小,关键是要考虑系统(由很多服务组成)的发展会怎么样影响服务本身的定义。我们可以将一个面向服务构架的系统看成是一个生态系统,而不是部署完就一劳永逸的系统,其实这个正式SOA的本质和目的所在,如果是一个生态系统那么我们会在实施前就有一个系统的近期规划、远期规划等,结合这些规划再来做服务粒度的划分就会比较科学,而不是大家拍脑袋拍出来的。
l 服务的管理,服务开发出来了后,为了实现其效用必须有一个统一的管理和调度,那么在这个层面上涉及到的技术和规范包含了很多内容,比如:ESB、BPEL、BPMN、WS-I,WS一系列的技术规范。我们还是从下到上的来理解,首先各个系统或者历史遗留系统提供的服务的方式都各不一样,有的是WebService、有的是JMS,有的是DB,有的是文件,或者是符合特定系统的API。SOA必需提供一个统一的平台实现服务的透明性。ESB是解决服务透明性的一个解决方案,各个服务按照自身的服务标准接入到ESB中,而ESB提供多种调用方式实现N*N的调用。而在这个过程中涉及到很多的技术规范和标准,例如WS-I、WS-addressing等,我们可以把ESB看做是一块主干,上面提供了多种插槽,通过主板各个在插槽上的元器件可以通信,实现了服务的透明性后,另外一个很重要的问题是,如何根据业务流程组织这些服务,这个就是BPEL需要实现的内容了。而目前被大家所熟识的BPEL其实是BPEL4WS,它定义的一套自动执行流程,即中间步骤不包括人的活动,而这种流程在实际过程中会遇到很多问题,其实在很多的流程中还是需要人来参与的,那么BPEL又扩展其针对人工处理的协议BPEL4HUMAN,其实BPEL为了实现更多的流程类型,扩展了很多比如BPEL4JAVA等,支持BPEL的厂商都是一些大腕,比如:IBM,ORACLE等,但是还有其他的比如富士通就提供类XPDL的流程定义和解析,而BPMN规范提倡的是用BPEL作为其执行引擎的定义,而用BPMN用于显示其流程定义。邓老先生提出了“不管是黑猫还是白毛,抓到老鼠都是好猫”,在流程这块,我个人认为只要开发出能解决问题的产品就是好的产品,比如像:EOS:)
l 服务的上层模块,为什么我叫他是服务的上层模块呢,其实这个部分也是SOA发展的上层台阶,包括了BI、模型分析等内容,目前本人还没深入了解。
综上:SOA是一个服务生态系统,其中包括了一摩尔的技术协议和规范,SOA项目的设计是需要近期规划、远期规划,从上而下的规划。而SOA的落地则需要的是从下而上的组合。
2. 待续…
分享到:
相关推荐
soa 简单实例说明
解读SOA Interpret SOA SOA越来越被企业接受,很多公司都准备规划SOA。但具体怎么上,没有一套很好的方法论是不行的。资料是IBM在长期的摸索中总结的一套SOMA方法论,由于是内部培训资料,所以比较难得。 内容 ...
SOA的模式SOA的模式SOA的模式SOA的模式SOA的模式SOA的模式SOA的模式SOA的模式SOA的模式SOA的模式
SOA资源,SOA教程,SOA开发SOA资源,SOA教程,SOA开发
面向服务架构(SOA)中南大学SOA原理与技术 01 SOA技术概述(共74页).ppt 面向服务架构(SOA)中南大学SOA原理与技术 02 Web服务基础(共66页).ppt 面向服务架构(SOA)中南大学SOA原理与技术 03 Web服务实现(共...
讲述关于SOA的原理,有关架构,是一种新兴的技术,用来支持WEbservice,提供服务
英飞凌 SOA 曲线 图解说明
SOA作业及要求SOA作业及要求SOA作业及要求
SOA Practition SOA实践指南
SOA实践者说分布式环境下的系统集成实例源码ch8(1)
SOA与Web服务SOA与Web服务SOA与Web服务SOA与Web服务
客户首先要问的问题是:“我怎么开始我的SOA之旅”? 13 我们对目标用户说: 13 “IBM能帮助您开始走上SOA之路” 13 “IBM 能够使SOA入门更加简单可行” 14 第四部分:明确目标客户需求 15 诊断性问题 15 发掘企业的...
SOA 入门 了解
什么是面向服务的体系架构 SOA的价值 构成SOA的技术 如何构建SOA系统 IBM的SOA工具与产品 网格计算与SOA
SOA成熟度模型(SOA Maturity Model)可以为IT和业务用户提供一种框架,使其能够正确地评估SOA在企业中的适用性和收益。 在过去的10年中,面向服务的架构(SOA)已经成为应用设计、开发和实施领域中意义最为重大的一...
IBM 合作伙伴培训教材SOA Governance 英文
SOA架构好书,首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。 1.SOA(Service Oriented Architecture)“面向服务的架构”:...
MATLAB SOA仿真代码 详细模拟了半导体光放大器的各个参数特性
采用IBM产品的SOA整合之道,比较具有事件价值