【来源:《IT经理世界》】赵捷

基于SOA 原理开发的软件和产品并不能保证企业具有SOA 架构,它们之间没有必然联系。

近期,我国IT 业对SOA的讨论和推崇轰轰烈烈,很多IT 产品和服务提供商纷纷举办各种有关SOA的培训和产品展示。

这个跨行业和范围甚广的SOA 引起了包括国内很多著名大型企业在内的CIO、IT 总经理、IT 高管们的注意和兴趣,更有不少专家在各种场合谈论SOA,有的企业还实施了SOA。然而大多数IT管理者们要么对SOA的定义、概念和内涵混沌不清,要么就是以自己的理解来阐述SOA的内涵,还有一些人则是为了避免“落后”而人云亦云,在本企业开始SOA 的尝试。

对新生事物的探讨和追寻永远是吸引人的,特别是在这个社会快速发展的时期,企业和组织的运行越来越多地依赖信息技术和IT 基础设施所提供的能力,企业对IT 的支持和资源投入也越来越多。当我们的IT 正在走向成熟时,正确的选择和决策就更为重要,这意味着在我们想尽办法寻找最佳IT解决方案时,在厂商和供应商向我们推销SOA时,我们愈要加深对SOA 的探讨和了解——SOA到底是什么?对企业而言,S O A 意味着什么? 要不要采纳SOA?如何采纳SOA?实施SOA 的代价和对企业的价值是什么?

最近,我参加了IDC中国举办的有关SOA 的会议。令我欣慰的是,IDC 全球研究副总裁兼总经理Mr.Vernon Turner 先生和IDC 中国研究主管经理韩国华女士在讲演中的一些观点和统计数据与我产生了共鸣。

在IDC 2005 年对全球大型企业的CIO 和IT 高管的调查中(采样数据为224),对SOA非常了解的CIO仅为14%、了解的约为26%,没有概念和不了解的则占了大约60%。业务部门对SOA 的了解比例就更低了。认为SOA 对本企业的IT 和IT 供应商的重要性的比例为:非常重要的约为12%、较重要为24%,其余的是不重要和不知道。由此,可以看出即使在国际大型企业和组织中,目前对SOA的认知度仍较低。在企业中真正确定采纳SOA 的就更少了。韩国华女士更在结论中说明“SOA是面向服务的体系架构,更确切地说是一种架构的风格”。 对此,我可以补充一点——SOA是一种风格和理念,强调的是资源共享和复用、企业架构动态和柔性的组合。

SOA来源于软件和应用系统的开发商和产品供应商。实际上,从2000 年出现的Web 服务 (Web Services) 应用就是在开发软件和应用系统中,具体采用SOA的开始。Web服务中的3 要素 ——

WSDL(Web 服务描述语言)、UDDI(Web 服务通用目录)提供具体的服务(应用模块)、SOAP提供灵活的服务通信协议。这3要素的有机协作与组合,定义和具体地实现了SOA在软件和系统开发中的应用,其体现的特性为:服务池、服务模块、服务的自我描述、动态参数配置、自主按需服务调用、操作的协议标准定义等。今天,IT 领域大讲的SOA的一切元素都在其中了。也是从2000年开始,更多软件和系统开发商开发了基于“SOA” (Web服务)的IT 产品和系统。

实际上,在企业级信息系统总体架构和大型复杂系统的设计方面,我们需要的是面向服务的基础架构 SOI (Service Oriented Infrastructure)和面向服务的企业架构SOE (Service Oriented Enterprise)。在这点上,Mr. Turner先生也有同样的认知。在企业的IT规划和实施方面,我们用SOI 和SOE可以更准确地定义、规范面向服务的IT 架构,这与国际企业IT架构的认知保持了一致。

在企业级信息系统总体架构和大型复杂系统的设计方面,我们需要的是面向服务的基础架构SOI和面向服务的企业架构SOE

发达国家的企业IT 架构也有很多风格和理念,例如联邦式IT架构(Federated Enterprise

Architecture)、适应性IT 架构(Adaptive Enterprise Architecture)、集中式IT 架构(Centralized Enterprise Architecture)等等,这些就是针对企业级SOI和SOE的。更准确地讲,SOA 是针对着IT 产品和模块开发的,SOI和SOE则适用于企业IT 和企业IT 的基础架构。

理论上,SOA本来只是用于IT 产品和IT 应用系统的开发,但是在IT 厂商的力推下,“SOA”一词却被冠用到了企业IT一级的架构上。我将SOA、SOI和SOE在企业级IT 中,看作同一个范畴,但是在概念上,我觉得一定要清晰地区别它们。我对SOA、SOI 的IT 架构定义是:

I. 基于独立的服务(应用)模块和清晰的数据、流程和展示(渠道)层面;

II. 基于离散的和松散耦合的服务(应用)系统上;

III. 服务(应用)系统可以自我描述,通过架构协议定义的标准接口,可以提供被其他服务请求共享的机理;

IV. 服务(应用)可以构建一个动态和适应性的企业IT 架构。

不同的来源可能在定义上有不同的描述,但是以上定义的基本原理是一样的——从软件开发和企业总体架构两个方面引申发展而来的。需要切记的是,开发商和I T 产品供应商强调其产品的SOA,与大多数企业IT 应用主管需要的企业级SOA和SOI(SOE)架构,决不仅仅是一个层次上的概念。基于SOA 原理开发的软件和产品不能保证一个企业IT和复杂系统具有SOI架构,它们之间没有必然联系。

更有甚者,在软件上强调的SOA机理可能会对企业大系统的IT 架构SOI 产生反作用。当一个供应商标定其产品支持企业IT的SOA架构时,IT经理和主管需要从企业总体架构和大系统的位置和角度,用以上的企业SOA 标准来衡量该产品是否能够支持企业的SOI架构,并能在企业IT 中发挥产品的SOA 作用。

在SOA 架构的层次和应用范围上,IT 主管要把关注点放在如何在SOI 架构的企业级理念上,实现服务和应用层的细分;应用系统的资源共享;系统本身和流程的参数化配置;应用(服务)系统服务平台和数据平台的建设(提供服务的动态配置),以实现一个切合本行业和本企业实际的、能够充分支持今天和未来业务发展的、对业务变化快速反应的、提供企业最佳投资回报的SOI 的IT 总体架构。如果仔细评估一下本企业的IT 架构和将要实施的IT 架构,你也许会发现你的企业已经和将要把SOA理念渗透于不是全部至少是部分IT架构中,你或许更清楚如何把握SOA 在未来IT 架构中的作用,使之产生最大的企业价值。 (本文作者为原美国银行总体架构师、神州数码融信资深董事)

(责任编辑:水涨船高)

SOA、SOI和SOE相关推荐

  1. 计算机专业英语词汇缩写大全(J-Z)

    转载自:http://hi.baidu.com/zhanglianzhang/blog/item/3fb22dd30f68f30b3af3cfbd.html J J2EE - Java 2 Enter ...

  2. 利用ArcGIS Server SOI 创建水印地图

    ArcGIS Server 10.3.1中新出了一个功能叫SOI,其本质上是一个拦截器,可以对地图服务进行拦截,更改返回的地图信息,具体各种官方术语看官方文档. 开发和部署SOI需要安装ArcObje ...

  3. ArcGIS Server SOI的调试与触发

    本人在完成创建水印出图SOI(https://blog.csdn.net/u010520626/article/details/50899642,感谢yizhi鬼的实验记录)的实验编码后,一度懵逼不知 ...

  4. Portal技术在SOA系统集成应用中的实现

    导读: Portal技术在SOA系统集成应用中的实现 一. 引言 1.1项目背景 凤凰医疗设备有限公司(以下简称"凤凰",虚构的名字,便于讲解)是一家专门制造和营销专业医疗器械和实 ...

  5. SOA标准发展混乱 国内业务缺少经验

    近年来,SOA已经成为国际及我国信息技术领域的重大热点之一.从2005年至今,SOA逐渐成为影响中国IT系统构建的主导思想.从2006年开始,SOA的建设方法已在我国部分行业信息化项目中开始得以越来越 ...

  6. 基于SOA分布式架构的dubbo框架基础学习篇

    以需求用例为基,抽象接口,Case&Coding两条线并行,服务(M)&消费(VC)分离,单元.接口.功能.集成四层质量管理,自动化集成.测试.交付全程支持. 3个大阶段(需求分析阶段 ...

  7. 应用基于资产的开发到 SOA 的服务中1

    SOA 的主要原则之一是在整个 SOA 生命周期中将服务视为可重用资产.因此,务必在 SOA 中对服务应用正式的资产开发流程和指南.本文可帮助 IT 架构师.项目经理和 SOA 管理员全面了解一些主要 ...

  8. 服务应该去版本化,不管是微服务还是SOA

    在阅读本文之前,你需要先对前面的背景有些了解,下面是本系列的前两篇文章:\ \ 每天都在谈SOA和微服务,但你真的理解什么是服务吗? \ \ 服务的技术架构之争 经过前面的热身,我相信后面两章我们谈S ...

  9. SOA+AIOT=无限可能,上汽零束 AIOT 沙龙上海站火热报名中

    上汽零束致力于打造融合SOA.AI和IOT为一体的开发者平台,帮助汽车电子企业快速便捷应用SOA.物联网技术,实现在智能汽车时代的竞争力升级.本次活动聚焦在全面解读上汽零束SOA+AIOT的发展布局. ...

最新文章

  1. @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  2. linux怎么挂载第二块硬盘分区,linux下挂载第二块已有linux分区的硬盘,要读取从硬盘的文件,应该怎么打开第二块硬盘?...
  3. 3.odoo13之跟着官网做项目/实例(模型关联,模型类模型表的关联)
  4. c++ unicode转换中文_彻底弄懂UTF-8、Unicode、宽字符、locale
  5. Spring写第一个程序HelloSpring
  6. Largest Number(leetcode 179)
  7. Matlab Tricks(十一)—— padarray 关于边缘成镜像对称
  8. IIS的状态代码(微软文档)
  9. HTML图片热点及表单
  10. VBS整人代码大合集
  11. html实现宿舍管理系统,宿舍管理系统部分代码实现
  12. Hive exited with status 1
  13. 甘孜州2021高考 康定中学宴冬梅成绩查询,最新2021甘孜州高中排名
  14. 用计算机制作多媒体作品使用的素材都必须,制作多媒体作品(选择题).doc
  15. Epson机械手简单实例编程
  16. 是不是还在为毕业设计而发愁,看了这篇文章,相信你会感谢我的
  17. dmesg 命令详解
  18. Golang 结构体
  19. 需求响应|动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)
  20. 计算机的基础知识有哪些呢?

热门文章

  1. ArcGIS 30mDEM数据空洞填补
  2. mysql命令创建用户_使用MySQL命令行新建用户并授予权限的方法
  3. IEC 61850 Compatible OpenPLC for Cyber Attack Case Studies on Smart Substation Systems
  4. 【STM32F429开发板用户手册】第7章 STM32F429下载和调试方法(IAR8)
  5. jQuery事件 笔记
  6. 大数据Impala系列之初识Impala
  7. exam平台Java试题阶段(二)
  8. 语音识别开发---基于科大讯飞开放平台
  9. 【封装】Deviation求方差
  10. Tensorflow物体检测(Object Detection)