随着SOA渐成IT潮流,越来越多的SOA项目启动了。有些项目彻底失败了,有些项目则勉强成功了。如何吸取这些失败项目的教训,并形成自己规划SOA路线图所需的远见与策略,这将是未来SOA项目成功实现的关键。在此我们收集了自去年以来所注意到的SOA实现八大陷阱,希望能为SOA的实施提供借鉴。
1.与SOA市场的脱节
在IT市场各领域中很少有像SOA 领域如此变化多端。任何SOA计划均需考虑市场的现状和趋势,以决定现在投资哪些平台技术,哪些则可以等待。
针对基于Web服务的SOA实现,有许多产品和平台技术可供选择。由于许多用户喜欢评估和选择不同的技术实现路线,SOA市场竞争也必将愈演愈烈。从Web服务的角度来说,一个考虑的技术市场因素则是产品提供商如何对待现在正处于发展阶段的各种Web服务规范。厂商多样化及其各种平台与开放标技术的靠拢是SOA实现计划的关键考虑,但这些经常被忽视,并导致错误的决策与投资。
2.缺少Web服务安全计划
很多基于Web服务的SOA实现倾向从小项目开始,其Web服务技术的应用程度也就往往局限于特定环境下开发人员及架构师对该技术框架的了解和掌握程度。一旦Web服务技术在占据了IT架构的主导作用后,对信息安全和共享服务的访问控制也就提上了日程。Web服务安全框架建立了一套普遍认可的安全模型,这种模型基于一系列规范并最终成为面向服务应用及企业IT架构等各个层面的重要组成部分。
即使你的平台供应商未能提供足够的Web服务安全支持,甚至你现在基于SSL的实现也符合当前需要,我们还是提倡密切关注潜在的变化与需求。任何缺乏Web服务安全考虑的计划必将导致重构甚至二次开发。如果只在急剧增加服务应用数量后才考虑Web服务安全问题,这种问题将显得更加严重。
3.缺少服务治理计划
在采纳SOA的过程中,企业组织必将面临如何控制和管理,以及演变不断增加的服务应用数量。当一个企业加快重用服务的开发时,并相应迅速增加服务应用的共享时,这种问题将更加突出。SOA治理对企业组织的许多方面提出挑战,如资源分配、IT人员的角色、内部标准、流程及项目周期。缺少SOA治理计划必将造成任何大规模SOA实现的失败。
4.缺少对SOA性能需求的理解
松耦合是需要付出代价的。以Web服务为基础的SOA引进数据处理的多层结构并由此带来了额外的性能开销。当SOA大规模应用时,基于消息的通讯流量相应几何增长,此时性能问题必将突显。因此,任何成功的SOA实现需要预先正确理解各种IT应用的性能需求及基础架构性能局限。这意味着对消息处理能力的大量测试,密切注意服务设计,以在各种影响性能的因素之间取得平衡。
5.缺少对XML数据格式的总体考虑
XML是基于Web服务的SOA实现的核心。关于XML 的规范是Web服务规范标准的基础。许多SOA实现过于关注服务间的数据转移,而忽略了对数据结构和效验的设计。这种忽略必将导致XML数据格式层的不恰当实现,由其缺陷所带来的影响将波及SOA 应用的各个层面。
6. 缺少迁移计划
缺乏迁移计划会大大减少SOA部署的成功机会,因为许多服务的部署与设计将导致基础架构的重新考虑。迁移计划允许公司组织有控制地阶段性实现SOA,并从技术,架构,及组织层面进行计划。
典型的用SOA迁移计划包括影响分析(SOA对现有资源、流程、特殊标准及技术的改变程度等),迁移架构(SOA实现各阶段的架构及其最终目标架构),以及机会与风险分析(考虑Web及相关技术的前景与风险机会)。
7 .缺少关于SOA的内部标准
真正的SOA实现需要制定并遵循一套严格的内部设计标准。缺乏标准将导致许多问题,包括不兼容的数据格式和不规则的服务接口。一套严格的内部标准可以确保封装后台逻辑的设计与服务交互的统一性。
8.以传统的分布式架构实现SOA
SOA 实现的首要陷阱是以传统的分布式架构实现面向服务的应用,并认为SOA已经实现了。SOA不是CORBA+XML,更不是ASP.NET+WSE。 面向服务与面向对象不同,面向对象的组件逻辑也远未能适合面向服务的应用环境。SOA是一种完全不同的基于面向服务的架构模式,一种不同的设计范式。正确理解这些不同之处是实现SOA的关键所在。
注:本文中的一些概念来自《ervice-Oriented Architecture: Concepts, Technology, and Design》一书,作者为Thomas Erl,由Prentice Hall/Pearson PTR出版。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突