在SOA的使用中存在着隐患,很多人已经被这些错误的概念或者做法误导,那么,理解这些隐患,能够帮助你达到深谋远虑的程度,从而使你在SOA的道路上更加安全的前行。为了使你有一个好的开端,我们已经收集了五种最为常见的、SOA使用中的隐患。

现在是SOA领域动荡变化的时期,其发展变幻莫测,而这仅仅只是开始。由于服务设计、服务总线、服务治理甚至服务本身都处于不断变化中,而且各大公司仍在重审这一舞台,因此,人们的立场通常很复杂。对于IT产业中SOA的成熟度和整体状态,许多人还非常迷惑,但是,可以确定的是,SOA在结合商业和技术方面的潜力的确非凡。
去年发布了许多SOA的新方案,每一个方案都有其特定的一套目标和期望。很可惜,其中一些方案与成功相距甚远,一些方案距成功仅仅是一步之遥。但是,对于大多数方案而言,它们都实现了最初的目标,其成功的决定因素是——借鉴那些经历过失败项目的人们的宝贵经验。这些前辈讲述他们的经验教训,告诉人们在通往SOA道路上所要警惕的重重障碍。
在我们的日常工作中,我们被卷入进度不同、状态不同的多个项目中。而现在,我们已经看到,很好的SOA变得越来越差,甚至更糟。虽然,问题能够被解决,错误能够被避免,但是,总是有一种强大的力量把事情拖回到原来的轨道上。很明显,最佳做法就是:第一时间避免问题和错误。
在SOA的使用中存在着隐患,很多人已经被这些错误的概念或者做法误导,那么,理解这些隐患,能够帮助你达到深谋远虑的程度,从而使你在SOA的道路上更加安全的前行。为了使你有一个好的开端,我们已经收集了五种最为常见的、SOA使用中的隐患。
  没有理解SOA的性能需求
松散耦合是需要代价的。当使用Web服务实现松散耦合时,SOA引入了数据处理层,同时也带来了由这些层所影响到的上层的相关性能。当SOA项目刚开始时,规模较小,因此,构建符合功能和响应要求的、面向服务的解决方案并不复杂。但是,随着规模的增加,需要添加更多的功能,由此可以预见到,基于信息的通讯量将会大幅度增长。如果事先没有考虑这一情况,没有准备好构建环境的话,那么,就需要对前一阶段所做的小规模系统进行必要的遗留处理。
要构建一个成功的面向服务的解决方案,其关键是:尽快理解你的解决方案的性能需求、以及基础架构的性能瓶颈。这意味着测试(如果需要的话,增强)你的构建环境的消息处理能力,并且密切关注服务设计,从而达到传输率、传输规模以及与其他服务特性之间的一个可接受的平衡点——这一平衡点会影响解决方案的性能。
  没有从XML基础架构开始
在今天的SOA世界中,每件事情都开始于Web服务。这似乎已经成为公司内部的既成标准,但是它并不完全正确。事实上,在今天的SOA世界中,所有的事情都开始于XML。这才是真正的标准,依据这一标准,许多补充的标准都已经逐渐发展起来,并且形成了实际的数据表示架构。这一标准的核心,奠定了许多Web服务规则的形成基础,并且促进着SOA的发展。
因此,人们更多地关注于数据在服务之间是如何传输的,而经常忽略在服务背后,数据构造和验证的方式。这一疏忽可能导致无法合理实现SOA的持久化XML数据表示层。对于SOA而言,这一层是基础,如果它存在着弱点,那么,所有基于这一层的解决方案都会受到不利影响。
  没有创建一个过渡计划
如果没有使用一个详尽的过渡计划,那么,成功迁移的机会将会降低很多。因为,在一个企业内部,服务终端所处位置的范围将导致环境基础架构的重新确定,一次差强人意的迁移有可能带来重大影响。使用过渡计划,你就能够控制面向服务和SOA特性,并且进行相应的协调,如此一来,迁移就能够在技术、架构以及组织层面上,按照计划进行。
对于一个SOA过渡计划而言,其典型的组件包括:一个具有重大影响的分析结果(预测SOA的改变程度将如何影响已有资源处理、用户标准和技术)、过渡架构(目标是SOA,勾画出一系列通向这一目标的中间过渡状态)以及推测分析(考虑Web服务和支持技术的未来发展)。
  没有标准化SOA
与其他的架构相同,SOA也需要创建并且执行内部设计标准,以便能够使人们真正地认识到它的优势。举例说明,如果一个项目采用构建面向服务的解决方案,与其他项目不同,那么,该项目的解决方案的关键点将不再是与相关的应用程序保持一致,它可能是需要互操作或者分享某些不可预知的服务。
这可能引发很多问题,包括不匹配的数据表示、含有不规则接口特性和语义的服务契约,以及使用非互补的Web服务扩展(或者是用不同方式实现的扩展)。
SOA的出现,促进了分离后端处理这一开发环境的发展,因此,在每个应用程序内部,SOA都能够独立执行。然而,标准化仍然要求——服务需要封装这一后端逻辑,并且在设计和交互上确保一致性。
  将SOA构建成传统分布式架构
在实现SOA的过程中,企业一直面对的诱惑是:自称SOA已经实现了,但是在构建面向服务的解决方案时,采用与构建传统分布式解决方案相同的构建方式。
SOA既不是CORBA + XML,也不是 ASP.NET + WSE。同样,面向服务既不是面向对象,也不是“足够接近”面向对象。虽然,通常情况下,构建面向对象组建逻辑总是“非常适合”于面向服务解决方案的环境。但是,SOA是基于面向服务的、与众不同的架构模型,以及截然不同的设计模式。对于构建自动化逻辑——纯粹的面向服务,与SOA产业向全球规模发展保持一致——理解上述这些不同之处,是非常关键的。

职场 互联网 休闲

0

分享

微博 QQ 微信

收藏

上一篇:网络解决方案展示 MPLS TE... 下一篇:Trojan-Downloade...
sppb

63篇文章,9W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

推荐专栏更多

网络安全入门到实战,让SQLmap子弹飞一会儿

9本网络安全实战书籍精华

共23章 | simeon2005

¥51.00 830人订阅

订   阅

Web网站安全评估分析及防御

企业级网安运维

共30章 | simeon2005

¥51.00 408人订阅

订   阅

负载均衡高手炼成记

高并发架构之路

共15章 | sery

¥51.00 507人订阅

订   阅

猜你喜欢

我的友情链接 精英设计师的情书 DNS域名系统 OpenResty的现状、趋势、使用及学习方法 C#调用WebService实现天气预报 Windows 8.1 正式版全新完美激活 KMS 工具 Office 2013全新完美激活工具 “ KMSpico v9.0.5.20131119” Java线程:线程的调度-休眠 我们不得不面对的中年职场危机 Spring Boot 2.0(三):Spring Boot 开源软件都有哪些? ***619错误处理办法及***链接成功后无法联网解决办法 浅谈DNS体系结构:DNS系列之一 17款奇骏智能互联连接成功--高德导航 通过关键字获取漏洞平台最新漏洞信息 11月10日直播:EVE-NG模拟器入门和老司机心得分享,你来不来? 网工2.0 - 给你一次逆袭的机会 python-dnspod:批量添加域名、解析记录和修改解析记录等 H3C室外无线AP(WA4320X)胖瘦切换设置方法 网络运维 - 你与真相就差一层窗户纸 F5负载均衡上使用iRule 来选择SNAT pool 高校智能DNS解析技术总结分析

扫一扫,领取大礼包

0

分享

sppb

转载于:https://blog.51cto.com/innovo/49019

应用分析:CIO须注意SOA使用中的五大隐患相关推荐

  1. 视频分析服务器系统架构,视频管理软件技术分析报告(四)--基于SOA的VMS软件架构设计...

    设备管理服务(包含设备IO服务):是ONVIF中定义的核心服务,对设备进行设备参数,设备状态等信息的管理和配置.通过设备管理服务能够获取其它服务的地址. 媒体服务:提供对媒体设备相关元数据(视频源.视 ...

  2. 没有SOA,CIO 将面临什么

    CIO心中的SOA和厂商宣传的SOA,好像并不是一码事儿. 为什么SOA(Service Oriented Architecture,面向服务架构)正在大行其道?答案也许简单到极点.今年9月,BEA公 ...

  3. 当cio遇见soa架构 是该希望还是该恐惧 (1)

    cio心中的soa和厂商宣传的soa,好像并不是一码事儿. 为什么soa(service oriented architecture,面向服务架构)正在大行其道?答案也许简单到极点.今年9月,bea公 ...

  4. Teradata QueryGrid整合最佳分析技术 拓展客户选择空间

    ZDNET至顶网CIO与应用频道 05月11日 北京消息: 为持续帮助企业克服数据散布在不同分析系统的困难,全球领先的大数据分析和营销应用服务供应商Teradata天睿公司宣布对Teradata  Q ...

  5. 房产管理系统平台安全性分析?

    房产管理系统是数图互通公司自主研发的FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发的一套标准产品:通过在中国100多所高校的成功实施和迭代,形成了一套成熟.完善.全生命周期 ...

  6. 基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型

    引言 在<面向服务体系架构(SOA)和业务组件(BC)的思考>(以下简称< SOA 和 BC >)一文中介绍了基于面向服务体系架构(SOA)的组件模型,本文按照"分离 ...

  7. TiKV 源码解析系列文章(二)raft-rs proposal 示例情景分析

    作者:屈鹏 本文为 TiKV 源码解析系列的第二篇,按照计划首先将为大家介绍 TiKV 依赖的周边库 raft-rs .raft-rs 是 Raft 算法的 Rust 语言实现.Raft 是分布式领域 ...

  8. Thread源码分析之join方法

    2019独角兽企业重金招聘Python工程师标准>>> join方法示例1 源码 import java.util.concurrent.TimeUnit;public class ...

  9. concat效率 mysql_MySQL统计函数GROUP_CONCAT使用陷阱分析

    本文实例分析了MySQL统计函数GROUP_CONCAT使用中的陷阱.分享给大家供大家参考,具体如下: 最近在用MySQL做一些数据的预处理,经常会用到group_concat函数,比如类似下面一条语 ...

最新文章

  1. SetProcessWorkingSetSize 降低程序运行内存
  2. eigrp 重分布默认路由
  3. Spring中的p标签(转)good
  4. jquery调用asp.net 页面后台的实现代码
  5. 即时通讯开发(逐行、隔行扫描)
  6. 【Flink】Disconnect from JobManager responsible for
  7. canvas简单实现动态时钟
  8. 救命!!连接Oracle问题,在线等!
  9. 计算二叉树的叶子结点个数
  10. uniapp与微信小程序常用api
  11. Visual Studio2022 离线安装包下载
  12. oracle中常用函数学习
  13. 移植libmodbus到ARM开发板总结
  14. Python模块和包的导入
  15. 关于Bmob的一些浅述
  16. 玩客云刷入armbian系统总结
  17. deepin 20安装后系统没有声音解决方案(亲测有效)
  18. 排球分组循环交叉编排_第九届“理工杯”学生排球比赛正式拉开帷幕
  19. 在IPhone上添加邮箱(163示例)
  20. 《实用技巧》网页保存方式(完整保存)总结

热门文章

  1. mdx格式的词典用什么软件打开_视频大神都用什么软件转换视频的格式?
  2. Windows核心编程 第23章 结束处理程序
  3. hdu3006 状态压缩+位运算+hash(小想法题)
  4. 【Android 安全】DEX 加密 ( 代理 Application 开发 | 项目中配置 OpenSSL 开源库 | 使用 OpenSSL 开源库解密 dex 文件 )
  5. tp6中使用微信支付sdk
  6. JMeter性能测试的基础知识和个人理解
  7. 解决 WIndows,Linux 以及 MacOS 终端无法使用代理的问题
  8. struts2官方 中文教程 系列一:创建一个struts2 web Application
  9. 修复efi引导的win7
  10. 从xib 创建 collectionViewCell