报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

EA 与 SOA 概念辨析和实施应用建议

  • 2007-07-25
  • 本文字数:1500 字

    阅读完需:约 5 分钟

EA 和 SOA 作为频频出现的两个名词,在概念、活动、流程和结果方面存在重叠,作为设计师或者架构师的我们该怎么看待和实践它们呢?近期,IBM developerWorks 中国网站上发布了一个帮助理解SOA 与EA(Enterprise Architecture,企业体系结构)的系列文章,试图分析这两个概念。

EA 除了是体系结构外,更多的是一个规程,同时强调通过需求获取,定义 IT 与业务策略的结合;SOA 也是一个体系结构,主要是根据企业需要对资源进行关联,与 EA 不同的是,SOA 中所有资源都是统一的服务形式。两者普遍采用层次方式组织体系结构,其中 EA 概念由于提出的比较早,而且不同厂商都有自己独立的方法论,因此 EA 中还在层次体系上纵向划分出很多视图(微软称之为面向业务的概念视图、面向应用的逻辑视图和面向部署的物理视图;IBM 则称之为面向各类技术领域的技术性部分和面向业务的业务性部分)。但如果把 EA 和 SOA 的每个领域剖开看的话,还是有很多不同:

领域 SOA 框架 EA 框架 业务 业务流程 业务体系结构 应用程序 服务与组件 应用程序体系结构 集成与中间件 集成体系结构 /ESB 技术体系结构 数据 数据体系结构 信息体系结构 操作 QoS、安全性、监视和基础设施 技术体系结构不难看出,SOA 的每个领域都只是 EA 对应领域的一个细化,出现这种情况也很容易理解,因为技术上 SOA 调用的资源仅仅是服务,而这只是 EA 中资源的一种形式而已,因此从每个层次上看,SOA 都是服务化的特例。以环境集成而言,SOA 使用 ESB 进行服务的集成,但在 EA 中除了基于服务的集成外,还可以从通过很多手段集成:

  • 数据的集成:在很多企业中,这种方式使用的非常普遍,由于网络隔离、应用建设时间先后、开发平台等因素,企业内部应用林林总总,但关键的数据(尤其是核心业务数据)总是处于中心位置,应用间围绕数据进行集成。
  • 功能性集成:在多个应用采用相同开发平台的情况下也非常普遍,比如.NET 平台可以通过 WCF、.NET Remoting、COM+ 完成;Java 平台可以通过 EJB、RMI 等方式集成;简单的跨平台的技术也很多,比如 Socket。
  • 展现的集成:这个在 Web 应用大行其道的今天,也很常见:企业增加新 Web 应用后在 Portal 上加个超级链接,这样通过 UI 部分的穿针引线同样可以集成。

这样看,SOA 似乎只是 EA 中“术业有专攻”的一个分支而已?不尽然。文章的第二部分说明了 SOA 在体系、治理上与 EA 的诸多不同之处。

那么作为用户而非 IT 厂商的我们该怎么选择呢?

  • 如果信息化仅仅是平地开始建设,还没有到需要应用间互相整合的时候,识别出关键 IT 资源,根据未来的 IT 规划选择一个近期预期集成方法倒是很经济的做法。EA 等于企业给自己提供了更多的选择机会。
  • 如果已经有了一定数量的应用,出现了统一整理的需要,但所有的开发均基于单一的开发平台(.NET 或 Java),也不用盲目赶时髦走 SOA,也许一个企业内部的集中数据交换平台从成本上、运行管理上、投资和执行效率上都是不错的选择,用 EA 的观点分析企业内部自己的事情。
  • 如果企业运转依赖于 Internet 上的各个合作伙伴,但是企业内部应用很单一,也不一定用 SOA,关键业务资源暴露为服务就可以了。但要注意这些服务的标准化(公共标准和行业标准),这样如果有一天需要过渡到 SOA 的时候,也可以开着汽车换轮子。
  • 如果企业应用类型、开发平台、运行平台、消息机制已经很繁多的时候,与其作个乘法不如做个加法,把大家都连接到服务总线上,用 SOA 中“服务”这个实施上相对简单的概念解决复杂的“大麻烦”。

还有一点,就是一定要算经济账,无论是 EA 还是 SOA,三五年后肯定又会过时,用 EA 或者 SOA 的观点规划 IT 与业务远景的契合是必要的,但现在就把自己的 IT 环境大动干戈地折腾一下,“划算”吗?

2007-07-25 11:301349
用户头像

发布了 61 篇内容, 共 12.0 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

图分析在吴亦凡事件中的应用场景

6979阿强

图算法 图计算 GraphScope 吴亦凡 一站式图计算平台

面试官:你说说一条查询SQL的执行过程

艾小仙

高防服务器选择注意的三大方面

九河云安全

WICC 2021 技术分论坛 “开箱即用”语聊房Demo成亮点

融云 RongCloud

微前端在平台级管理系统中的最佳实践

中原银行

2021Java春招面试真题:记一次蚂蚁金服Java研发岗的面试经历

策划Java工程师

Java 程序员 后端

高防云服务器 VS 云服务器

九河云安全

阿里P8架构师又传喜讯!最新产出 Java 架构师 1575 道“完美圣经”,汇总十家互联网大厂面试题!

Java 编程 IT 计算机 知识

外包三年经验,耗时半年进大厂,整合出 25W 字 Java 全栈面试题,把初心分享出来!

编程 架构 面试 IT 计算机

互联网通信云崛起的“融云曲线”

融云 RongCloud

科技融合:Hightopo受邀参加厦门公安科技活动周

一只数据鲸鱼

数据可视化 智慧公安 智能化 安全态势

架构学习总结

c

架构实战营

2021 年最全Java架构面试点+技术点标准手册:完全对准一线大厂,猛攻!

Java 编程 面试 IT 计算机

容器和虚拟机水火不容?不存在的!

谐云

驶向未来之海的“必备罗盘”:百度智能云升级发布全新智能化中台

百度大脑

人工智能 企业服务

Cocos Creator v3.2 正式支持 HarmonyOS 多设备协同能力

科技汇

百度大脑FaceID人脸识别模型量化技术,确保算法精度无损加速一倍

百度大脑

算法 人脸识别 精度

高亮的架构毕业总结

高亮

架构训练营

鬼知道我这一年是怎么过来的?Java 开发从二面被拒到收割阿里架构 offer!

Java 编程 面试 IT 计算机

3000人群被字节内部技术图谱“炸”翻了,惊艳级实用

Java架构师迁哥

万字深入HarmonyOS ACE UI框架解析,带你看懂UI渲染流程

科技汇

LeetCode题解:173. 二叉搜索树迭代器,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

1个月学会Java开发!2021年最新Java面试点梳理

策划Java工程师

Java 程序员 后端

应对极端天气,百度智能云推出城市内涝智能监测预警系统

科技热闻

258W 字 Java 全栈面试题!实锤:阿里架构师耗时半年整合而来!

Java 编程 架构 面试 计算机

体验百度EasyEdge,畅快部署超多AI芯片

百度大脑

人工智能 飞桨

面试官:你了解Java中的锁优化吗?

程序员阿杜

Java 面试 JVM 同步 8月日更

NLP随笔(一)

毛显新

人工智能 自然语言处理 深度学习

ONES x 知名游戏公司 | 持续快速交付高质量游戏产品

万事ONES

研发管理 解决方案

香港服务器流量选择,该如何选择?高防服务器租用防御多少G合适呢?

九河云安全

IM开发干货分享:网易云信IM客户端的聊天消息全文检索技术实践

JackJiang

全文检索 即时通讯 IM

EA与SOA概念辨析和实施应用建议_SOA_王翔_InfoQ精选文章