在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...
推荐专栏更多
网络安全入门到实战,让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解析技术总结分析
扫一扫,领取大礼包
转载于:https://blog.51cto.com/innovo/49019
应用分析:CIO须注意SOA使用中的五大隐患相关推荐
- 视频分析服务器系统架构,视频管理软件技术分析报告(四)--基于SOA的VMS软件架构设计...
设备管理服务(包含设备IO服务):是ONVIF中定义的核心服务,对设备进行设备参数,设备状态等信息的管理和配置.通过设备管理服务能够获取其它服务的地址. 媒体服务:提供对媒体设备相关元数据(视频源.视 ...
- 没有SOA,CIO 将面临什么
CIO心中的SOA和厂商宣传的SOA,好像并不是一码事儿. 为什么SOA(Service Oriented Architecture,面向服务架构)正在大行其道?答案也许简单到极点.今年9月,BEA公 ...
- 当cio遇见soa架构 是该希望还是该恐惧 (1)
cio心中的soa和厂商宣传的soa,好像并不是一码事儿. 为什么soa(service oriented architecture,面向服务架构)正在大行其道?答案也许简单到极点.今年9月,bea公 ...
- Teradata QueryGrid整合最佳分析技术 拓展客户选择空间
ZDNET至顶网CIO与应用频道 05月11日 北京消息: 为持续帮助企业克服数据散布在不同分析系统的困难,全球领先的大数据分析和营销应用服务供应商Teradata天睿公司宣布对Teradata Q ...
- 房产管理系统平台安全性分析?
房产管理系统是数图互通公司自主研发的FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发的一套标准产品:通过在中国100多所高校的成功实施和迭代,形成了一套成熟.完善.全生命周期 ...
- 基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型
引言 在<面向服务体系架构(SOA)和业务组件(BC)的思考>(以下简称< SOA 和 BC >)一文中介绍了基于面向服务体系架构(SOA)的组件模型,本文按照"分离 ...
- TiKV 源码解析系列文章(二)raft-rs proposal 示例情景分析
作者:屈鹏 本文为 TiKV 源码解析系列的第二篇,按照计划首先将为大家介绍 TiKV 依赖的周边库 raft-rs .raft-rs 是 Raft 算法的 Rust 语言实现.Raft 是分布式领域 ...
- Thread源码分析之join方法
2019独角兽企业重金招聘Python工程师标准>>> join方法示例1 源码 import java.util.concurrent.TimeUnit;public class ...
- concat效率 mysql_MySQL统计函数GROUP_CONCAT使用陷阱分析
本文实例分析了MySQL统计函数GROUP_CONCAT使用中的陷阱.分享给大家供大家参考,具体如下: 最近在用MySQL做一些数据的预处理,经常会用到group_concat函数,比如类似下面一条语 ...
最新文章
- SetProcessWorkingSetSize 降低程序运行内存
- eigrp 重分布默认路由
- Spring中的p标签(转)good
- jquery调用asp.net 页面后台的实现代码
- 即时通讯开发(逐行、隔行扫描)
- 【Flink】Disconnect from JobManager responsible for
- canvas简单实现动态时钟
- 救命!!连接Oracle问题,在线等!
- 计算二叉树的叶子结点个数
- uniapp与微信小程序常用api
- Visual Studio2022 离线安装包下载
- oracle中常用函数学习
- 移植libmodbus到ARM开发板总结
- Python模块和包的导入
- 关于Bmob的一些浅述
- 玩客云刷入armbian系统总结
- deepin 20安装后系统没有声音解决方案(亲测有效)
- 排球分组循环交叉编排_第九届“理工杯”学生排球比赛正式拉开帷幕
- 在IPhone上添加邮箱(163示例)
- 《实用技巧》网页保存方式(完整保存)总结
热门文章
- mdx格式的词典用什么软件打开_视频大神都用什么软件转换视频的格式?
- Windows核心编程 第23章 结束处理程序
- hdu3006 状态压缩+位运算+hash(小想法题)
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 项目中配置 OpenSSL 开源库 | 使用 OpenSSL 开源库解密 dex 文件 )
- tp6中使用微信支付sdk
- JMeter性能测试的基础知识和个人理解
- 解决 WIndows,Linux 以及 MacOS 终端无法使用代理的问题
- struts2官方 中文教程 系列一:创建一个struts2 web Application
- 修复efi引导的win7
- 从xib 创建 collectionViewCell