- 浏览: 323575 次
- 性别:
- 来自: 长沙
-
文章分类
最新评论
-
完善自我:
支持一下!
揭秘IT人才特点:中美印日四国程序员比较 -
悲剧了:
好文,看玩thinking in java的提到的异常处理,看 ...
高效的Java异常处理框架(转) -
yin_bp:
开源框架bbossgroups页支持组件异步方法调用哦,详情请 ...
Spring 3中异步方法调用 -
flyjava:
sun的悲哀
Apache怒了,威胁说要离开JCP
【IT168 技术文章】
面向服务架构的架构及其所支持的Web服务已经成为当今最热门的软件趋势。但同时,人们对它的理解也最不全面。
理论上,面向服务的架构(SOA)和它的名字一样不是那么复杂。Open Group给SOA做了一个简单的定义:“一个支持以服务为导向的架构风格。”---一种你可以创建业务流程的方式,SOA就像胶水一样,可以将你的应用紧紧“粘连”在一起。然而,在实践中,这一原则可以说是极其复杂并且使人感到很迷惑。部署一个SOA就像为一个几十年的老房子建造地下室一样让人感到很没有底气。你如何才能搭建一个基础去支持一些已建成的应用呢?你如何才将已经存在的应用“粘连”在一起呢?
尽管实施SOA的前景是如此的“恐怖”和“黯淡”,但是,现在投资与SOA服务和技术的公司比以往任何时候都要多。在其 “2007---2008年SOA开支报告”中,市场研究机构AMR Research发现,企业投资与SOA的预算正在以惊人的速度增长:在接受调查的公司中,有53%的公司正在使用SOA,而在去年同期,这一比例仅仅为 21%,增加了一倍多。另外,还有37%的公司正考虑准备部署第一个SOA,预计到2010部署完毕。
投资服务和技术以支持SOA的开销是非常昂贵的,但这种方法给企业的部分承诺是:这项支出将很快在企业中看到回报,提高企业的生产力、业务效率、客户满意度,并通过重用性减少成本。此外,从长远来看,企业投资于SOA可以避免昂贵的点到点的集成项目,如果采用传统架构,每次产品升级企业都要进行这样的集成,这使得企业的开支大大减少。
把SOA应用于企业流程而获得成功的企业在各个行业数不胜数。纽约健康及心理卫生署(New York City Department of Health and Mental Hygiene)在部署了SOA项目以后,其文件处理的效率提高了25倍;Parametric Technology是一家财富500强企业,主要向客户提供软件和服务,该公司在使用了甲骨文的Fusion中间件以后,业务效率大大提高,可以实时满足其各个商业领域客户的需求。不过,并非所有公司都如此成功:根据AMR Research的调查报告,2008年投资与SOA的费用将高达数百万美元,但“大多数被浪费了”。为了确保你的公司所实施的SOA是最好的,我将在下面介绍一个部署SOA的步骤,以便使你在部署过程中不会手忙脚乱不知所措。
第1步:尽职调查,做好你自己的功课
尽管SOA正在变得日益普及,但围绕“到底什么是SOA”仍然有一些混乱。市场分析机构Saddletree Research公司总裁和首席分析师Paul Stockford指出,人们对于SOA最常见的误解以及就是认为它是一种产品。“SOA不是你可以买到的一个现成产品,”Stockford说。相反,SOA指的是一系列的开发和集成应用的原则;而Web 服务正是实现这些原则的是一套标准。
由于在过去的几年里人们对SOA炒作和关注已经到了疯狂的地步,这使得很容易形成这样一种思维定式,认为SOA是企业的灵丹妙药---一个能立刻治愈所有服务的痛苦的架构。不过,现实总是不参杂任何感情色彩的。企业在掏钱部署SOA之前,需要了解SOA的基本原则是如何切实适用于特定的业务流程的。“个案研究是一个了解SOA如何才能给你的公司提供帮助的有效方式”,AMR Research分析师Ian Finley说。此外,你也可以借助杂志、商展和竞争对手来了解SOA。与软件供应商进行讨论是你可以利用的另一个潜在资源;Finley建议同多个不同的软件供应商进行沟通,因为有些供应商出于私利有可能会夸大自己的SOA技术。
第2步:成立一个团队
几乎所有的专家都一致认为,一个成功的 SOA项目中其中最关键的步骤是确保你公司的各个部门之间进行沟通。Nice Systems公司全球行销副总裁Eyal Danon称SOA为“IT和业务之间的桥梁”。 SOA或Web服务项目的技术天性要求它应该几乎完全由企业的技术部门(或外部顾问)承担,但是由于这些项目的核心部分是为了推动业务流程的,所以高层主管行政人员也应该参与进来,这是必不可少的。
为了做到这一点,其中一个最有效的方法是成立一个由高层主管行政人员和顶尖的IT员工组成的专门小组。市场研究机构Aberdeen Group公司高级分析师Michael Dortch说:“一流的公司总是将企业各个部门最合适的人才组成一个智囊团,听取他们的意见。要使SOA的建设取得成功并使企业更具竞争力,也需要多方面集思广益。”通过建立一个跨部门的团队致力于你的SOA项目,这样就可以确保来自企业各个部门的人都会关注并对SOA项目负责,直至成功。你可以为这个团队指定一个负责人来领导项目建设,这依赖于你的企业文化。
第3步:制定现实的目标
我们应该如何看待SOA呢?我们可以用《金发姑娘和三只小熊》打个比喻:计划太大或者计划太小都是不明智的;最好是恰恰能满足公司的需要。如果你确定要实施一个SOA,那么你一定要在脑中有一个清晰的目标。如果这些目标是没有被明确地定义,那么你就有可能花费了大量精力和金钱才掌握的技术以及建设的基础设施是你不需要的。但是,还有这样一个同样危险的陷阱:“一些公司常犯的一个错误是,他们试图把一切东西都设计得非常完美,” Finley说。“超大规模的SOA项目本身就是一个错误。”
部署SOA的一种有效方法是寻找一个单一业务部门,在那里创建一个基于Web服务的应用将能收到立竿见影的效果。将SOA项目分阶段部署能够使该项目更容易实施。在部署第一个SOA应用之前,你必须问自己:SOA能给我的公司带来什么好处呢?这将依赖于你的企业的年龄和复杂度、企业文化、优先次序和企业的系统结构。
第4步:有效地管理你的数据
因为SOA有助于推动企业数据的无缝共享,而企业数据是服务的动力源泉,所以SOA的成功与否与企业数据息息相关。换句话说,数据质量不够好的话就有可能对企业业务造成伤害。“在面向服务的架构中,你想要最大限度地共享和重用资源,比如客户资料,”市场研究机构Forrester Research高级分析师James Kobielus说。“企业往往会做错的一件事就是他们没有将自己的客户数据集成到一个核心企业知识库里。”
要创建一个客户数据集成(Customer Data Integration,CDI)仓库,企业在尝试部署SOA之前,往往需要投资于购买主数据管理(Master Data Management,MDM)工具。虽然很多公司选择从他们的CRM供应商那里购买MDM工具,但Kobielus建议在部署MDM之前,应综合考虑各个厂商的产品,选择一个最适合自己的厂商。几乎所有的数据清洗(Data-Cleaning厂商已经实现了Web服务标准,因此,不论软件的品牌是什么,易集成性都很高。
第5步:自己创建还是购买SOA
在培训和规划阶段,仔细考虑你的SOA倡议的具体细节是很重要的。随着具备SOA技术的厂商逐渐增多,你的选择也相应地增加了。在过去,如果一个公司想要把SOA准则运用于自己的业务中,它需要自己做很多工作。但是,随着现在越来越多的供应商可以提供一套完整的SOA架构,它是一个可以帮助你构建SOA的预构建(Prebuild)工具 。
为了制定适合你的公司的最好方法,SOA 团队必须考虑你的公司所具备的业务优势,并同可能的SOA供应商讨论各个候选方案的优势和劣势。预构建工具在SOA部署过程中可以起到润滑剂的作用,并可以减轻IT团队的很多压力。甲骨文、IBM 和SAP是一领域的领头羊,他们都有具备这些功能的工具集。对于那些过去利用花钱购买套装应用来创建IT系统的公司来说,建SOA工具毫无疑问对他们来说很有吸引力。
另一方面,如果一个公司采用更加先进的SOA可能意味着会带来更多的收入,那么,这些公司就希望利用管理工具帮助他们创建自己的基础设施。“在投标如此密集的市场领域,有时候几毫秒的时间就能影响到生意的成败,所以,自己建设SOA也是很有意义的”,Aberdeen Group高级研究分析师Ian Michiels说。在Forrester公布的市场调查报告《The Forrester Wave:单独SOA和Web服务管理解决方案,2007年第四季度》中,Progress Software 、AmberPoint、IBM的解决方案被列为最高效的解决方案,但是,仔细调查多个供应商从中选择一个最适合你企业的厂商仍然很重要。
第6步:循序渐进
“婴儿学步”应该是成功部署SOA这个“游戏”最合适的代名词。正如我们在第3步中讨论的那样,首先从一个小项目着手部署是很重要的。企业在应用集成过程中所面临挑战的困难度可以更加清楚地显示部署SOA带来的好处。这种交叉作用的程度各个公司可能会有所差异。
对小项目仔细测量对于SOA在更广泛的范围内取得成功是非常重要的。在项目开始之前和结束之后进行标准检查对于未来SOA部署的成功也是必须的。Dortch发现,在一流的SOA用户中,60%的用户会部署SOA性能分析和报告软件,40%的用户会为SOA应用和服务建立服务质量指标。
在以业务为中心的地方放上度量手段,就能看到性能是否提高以及员工使用的服务数目的是否增加。Dortch解释说,虽然有很多公司忽略了这个明显步骤,但是,建立一个精确的性能测试却是一个显而易见的好办法。“你正在做任何一个称职的IT系统自丛诞生以来一直在干的事情:复制和调整。”
第7步:保持跟踪
对于任何业务项目,为了能从投资中获得最大的价值,时刻对它保持关注很重要。对于SOA项目来说,持续跟踪尤为重要。在企业范围内,一个完整的 SOA集成可能需要几年的时间,而这带来的好处甚至可能需要更长的时间才能完全释放出来。你需要保持你任命的SOA团队时刻处于待命状态并准备迎接可能出现的挑战。Dortch建议为这个团队创建一个基于成功部署的激励结构。如果你向行政人员证明SOA正在给企业带来他们所关心的商业利益,他们也会对 SOA项目保持关注。“告诉他们你在做什么,并让他们负责协调一些工作。这是一个不能跳过得步骤。” Dortch说。
SOA供应商业会根据最新出现的标准继续配置他们的产品,并开发新的并且不同的创建SOA的方法。在这个瞬息万变的领域里,企业应该时刻关注业界出现的新兴技术以保持竞争力并跟上时代发展的步伐。“SOA的未来是非常光明的,”Stockford说。“这给供应商和使用者都带来了巨大的机遇,利用SOA的集成创新技术创造竞争优势。”
原文:http://tech.it168.com/d/2008-07-01/200807012240769_1.shtml
发表评论
-
WS-I闭关,这对WS-*意味着什么?
2010-11-15 21:19 984观点 :Web Services互操作组织(WS-I) 刚 ... -
EDA 和 SOA 的融合以及实践
2010-11-08 09:55 1090EDA 和 SOA SOA 简介 ... -
REST vs. SOAP
2010-11-04 17:08 1815看起来在web API协议之争(如果曾经有过)中,潮流正稳步的 ... -
SOA分析和设计中的错误处理要点
2010-10-24 23:51 1134在SOA分析和设计阶段进行全面的错误处理需求分析对于正确完成设 ... -
WebSphere Message Broker 开发和部署最佳实践
2010-10-23 18:24 2381简介: 本文以多个客户企业的经验为基础,给出了使用 Web ... -
带附件的 SOAP 消息
2010-09-30 15:16 1377简介: 本 文介绍了一种在 MIME Multipa ... -
利用 Geronimo 2.2 创建安全的 Web Service 应用
2010-09-30 14:49 1061简介: 随着 Web Service ... -
大学内的云计算解决方案
2010-09-29 14:16 1778本文通过使用一个 Virtual Computing Lab ... -
整合 WebSphere ILOG JRules 与 IBM Content Manager Enterprise Edition
2010-09-28 10:30 2264简介: 自动决策在内 ... -
评估企业是否适合开发复合业务服务
2010-09-27 17:01 1078本文介绍如何评估一个 ... -
集成 IBM 元数据存储库,第 2 部分: 在 WebSphere Service Registry and Repository 中治理元数据生命周期
2010-09-27 16:55 1130通过将您的应用程序与 IBM® Rational® Asset ... -
集成 IBM 元数据存储库,第 1 部: APIs for accessing Rational Asset Manager
2010-09-27 16:52 991通过将您的应用程序与 IBM® Rational® Asset ... -
不使用客户端证书的 WS-Security
2010-09-27 15:42 1378许多 WS-Security 配置要 ... -
CXF 性能比较
2010-09-27 15:15 1745Apache CXF Web 服务栈建立在与本系列早期文章讨论 ... -
通过 CXF 使用 WS-Security
2010-09-27 15:11 2837与 本系列 前面的文章 ... -
CXF 简介
2010-09-27 15:07 4399Apache CXF Web 服务堆栈是来自 Apache ... -
比较 Metro 与 Axis2 性能
2010-09-27 15:04 1166Metro Web 服务堆栈是基于 ... -
Metro 服务下的 WS-Security
2010-09-27 15:00 1360本文展示如何通过 Metro 来使用和配置 WS-Securi ... -
Metro 简介
2010-09-27 14:52 2025Metro Web 服务栈是由 Sun M ... -
Axis2 中的 JAXB 和 JAX-WS
2010-09-27 10:38 1749早期的 Apache Axis 建立在第一个面向 Web 服务 ...
相关推荐
成功部署SOA需要清晰理解业务目标,定义实施范围,避免一开始就尝试大规模改革。应从小规模项目开始,逐步扩展。选择合适的技术至关重要,需要进行试验和评估,确保所选技术能满足业务需求和标准。此外,要有完善的...
### 精通 SOA 软件开发的 7 个步骤 #### 第一部分:构建服务组合 **概述** 面向服务的架构 (SOA) 是一种新兴的技术方法论,旨在通过标准化的服务来促进不同软件组件间的交互。采用 SOA 的关键在于构建可重用的...
最后,对实际参与构建和部署SOA的工程师进行具体技能培训。要注意,由于SOA的复杂性和新颖性,初期培训可能不会立即带来理想的效果,但持续的培训和支持可以帮助员工克服“规范效应”,即对新概念的抵触。 3. **...
总之,Oracle SOA Web应用的发布是一个涉及多个步骤的过程,需要对Oracle企业管理器、SOA Suite以及Web应用部署有深入理解。正确地执行这些步骤,将确保你的SOA服务能够有效地在企业环境中运行,为业务流程提供支持...
在本篇Linux环境下Oracle SOA集群的中文安装配置手册中,主要涵盖了多个步骤来帮助用户在Linux操作系统上成功部署和配置Oracle SOA(Service Oriented Architecture)集群。以下是每个步骤的关键知识点: 1. **安装...
通过XFire,开发者可以快速地构建和部署SOA服务。尽管XFire已被更现代的框架如Apache CXF取代,但它仍然为我们提供了一种理解SOA概念和实践的途径。在学习SOA时,理解服务的定义、服务间的通信以及如何使用像XFire...
实现SOA涉及多个步骤,包括定义业务流程、创建领域模型、设计服务接口和实施治理策略。领域模型是理解业务实体和它们之间关系的关键工具,帮助抽象出业务逻辑并转化为服务。 **业务策略与流程:将SOA对应到业务** ...
我们还将探讨 SOA 在企业中的应用场景、实施步骤和挑战,以及如何使用 Oracle SOA 方法论来确保 SOA 项目的成功实施。 SOA 的定义和特点 SOA 是一种架构和设计原则,可以使得 IT 系统资源变得更加灵活和可重用。它...
SOA的实现通常涉及以下步骤: 1. **需求分析**:明确业务需求,确定哪些部分适合以服务的形式实现。 2. **服务设计**:根据需求分析结果,设计服务的接口、功能和数据结构。 3. **服务实现**:编码实现服务,并确保...
Oracle SOA Suite 是一个全面的中间件平台,支持构建、部署和管理基于 SOA 的应用程序和服务。本文档旨在提供 Oracle SOA Suite 环境安装的详尽指南,包括必要的软件列表及版本、数据库配置以及 WebLogic Server 的...
实施 SOA 治理的过程包括以下几个关键步骤: 1. **需求分析**:深入理解业务需求,明确服务的目标和范围。 2. **策略制定**:根据业务需求和组织特点,制定适合的服务治理策略。 3. **组织结构优化**:建立专门的 ...
基于成熟度模型构建的SOA路线图,如Oracle的五级SOA成熟度模型(Level5 SOA),使企业能够开始SOA之旅,并通过每个连续步骤管理向SOA的转型,最终实现预期的SOA收益,包括服务复用、改进集成、互操作性和业务敏捷性...
7. SOA实施案例:一个成功的SOA实施案例会包含企业如何通过定义服务、管理服务生命周期、实现服务通信和最终实现业务流程自动化等步骤,来解决特定的业务问题或提升业务效率。 尽管文档的部分内容无法完整阅读,但...
文档中提到了一个具体的案例,即通过敏捷SOA方法论实现报价到合同自动化的过程,这个过程仅用了不到六个月的时间。这体现了SOA在快速响应市场变化方面的能力。具体步骤包括: - 采用自顶向下的方法进行流程映射,...
### SOA—Project: SOA收益的项目 #### 深入理解SOA与项目管理 **服务导向架构(SOA)**是一种设计方法...然而,成功的SOA实施需要深入理解其核心原则,精心规划和执行,以及持续的监控与治理,才能充分发挥其潜力。
Oracle提出的SOA治理框架包括以下六个关键步骤: 1. **确定业务目标**:明确SOA项目的目标,并将其与企业的战略目标对齐。 2. **定义治理政策**:制定一套适用于整个组织的治理政策和指南。 3. **建立治理机构**:...