CIO的新难题: 认清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产业向全球规模发展保持一致——理解上述这些不同之处,是非常关键的。 
相关文章
|
11月前
|
数据采集 供应链 搜索推荐
商业案例 I AllData数据中台商业版落地实践
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
机器学习/深度学习 运维 监控
用SLS配置日志关键字告警的N种方法
本文主要介绍一种免运维,高性能,支持灵活配置的方案,使用SLS接入日志和告警。
2460 1
用SLS配置日志关键字告警的N种方法
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
590 212
|
4天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
234 138
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
828 60
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1208 157