`
cuiyi.crazy
  • 浏览: 52494 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SOA关键问题精彩解答集锦(很好的帖子,转自csdn)

阅读更多

来源:CSDN http://news.csdn.net/n/20070123/100877.html

  面向服务导向架构(Service Oriented Architecture,SOA),企业用户存在各种各样模糊的认识,这些模糊认识很可能将企业的SOA项目引入误区,在这样的状况下部署SOA,可能 会把企业的业务带入歧途,了解SOA的关键问题,或许可帮助CIO避开SOA部署中的陷阱。

  1. 为什么不同的人对SOA有不同的解释?

  SOA 的定义取决于你在组织业务中的角色。

  对于业务执行人员,SOA创建了企业希望向其客户和合作伙伴或组织的其他部分公开的一组服务。对于IT架构师,SOA是一种体系结构样式,此样式至少需要有服务提供者、请求者和服务描述。对于程序员,SOA是一个由标准、工具和Web服务等技术加以补充的编程模型。

  当然,企业信息技术系统及流程管理人员之所以存在似是而非的SOA概念,还可能因为软件厂商没有向企业用户解释清楚SOA的含义。比如,SOA 中的服务(Service)并非我们理解的传统企业服务,而是软件开发的专业用语,指技术层面的、细颗粒度的功能模块,还远未达到与企业业务流程直接对应 的程度。软件厂商在强调SOA给企业带来巨大商业价值的同时,并没有具体阐释这一点。

  2. 业务流程管理(BPM)和SOA是何关系?

  BPM与SOA既可以单独部署,也可以组合使用。

  如果企业的IT系统比较简单,企业规模比较小,用同样的一组IT人员就可以控制所有IT系统,那么,部署一个不使用SOA的BPM套件,就可以 获得快速创建、执行和监控/管理业务流程的能力,而不必部署SOA。但是,如果BPM套件由一个IT小组部署,而同时使用来自另一个IT小组的系统服务, 那么SOA就可以帮上忙了。

  如果企业的IT系统足够复杂,可以考虑将BPM和SOA组合使用,通常在SOA上实施BPM解决方案可以获得更大的业务灵活性。如果BPM项目达到一定的范围和规模时效果才能显现,最好先开发出BPM,而将SOA组件留待以后考虑。

  最好一开始就让业务流程团队和IT架构团队保持持续良好沟通,针对未来进行可行性规划。例如,BPM套件本身应该能够提供丰富的连通性,以便无需全面应用完善的SOA来使得BPM运行,不要让BPM与SOA成为互不连通的两套系统。

  3. “瀑布式”开发与迭代式开发哪个适合SOA?

  企业部署SOA最好是通过迭代模型来实现。

  迭代模型将标识一组对业务非常关键且价值高的功能来进行服务支持工作。此模型可随后供后续服务支持项目和活动使用。如果采用传统应用程序开发时使用的“瀑布式”开发方法部署SOA,可能导致创建仅能部署一次的服务,而无法在以后对其进行重用。

  使用迭代式开发部署SOA,可通过允许组织逐步纳入到系统中,从而减少出现业务故障的风险。同时,任何组织接受和容纳更改的能力都是有限的,迭代式开发可确保引入新的流程和系统带来的更改非常适应企业的容量,且不会在企业中引起大的混乱。

  同时,在SOA中,新功能并不一定总是仅受单个业务部门(Line Of Business,LOB)的约束,需要考虑很多跨组织的依赖关系,迭代式开发也有助于解决跨组织的协调。

4. Web服务与SOA是一样的吗?

  Web服务仅仅是目前最流行的SOA实现技术,但并非可以用于开发SOA的唯一技术。

  SOA与Web服务(Web Service)的数量无关。对于SOA来说,真正有价值的是对于Web服务的再利用而不是Web服务本身。即使将所有信息技术系统都用Web服务实现, 也不见得就等于部署了SOA。有些企业使用了太多的Web服务来做同样的IT服务,结果部署SOA的效果非常差。将Web服务等同于SOA,很容易发生在 一些希望快速实现SOA但是并未真正理解SOA的企业身上。

  很多SOA项目都涉及到集成遗留数据,此类数据包含在使用MQSeries和CORBA(Common Object Request Broker Architecture)等“旧”技术的系统中。其中的许多技术都已针对SOA进行了调整,不管有没有Web服务都可使用。事实上,企业可以只使用 MQSeries、CORBA甚至远程过程调用(Remote Procedure Call,RPC)技术就能实现SOA。

  5. 所有应用程序或环境都适合部署SOA吗?

  不是所有的应用环境都适合部署SOA,很多情况下,部署SOA的效果可能会适得其反。

  SOA可以根据需求通过网络对各种应用组件进行分布式部署、组合和使用,从而满足用户统一服务界面、快速部署新业务等需求。但是,如果企业的 IT系统并不复杂,系统基本上都建立在同一架构上,整合系统并不困难,那么实施SOA并不能给企业带来太多好处,反而可能会带来负面影响。

  专家认为,针对某些应用程序或IT环境,SOA可能并不值得推荐。比如,不需要组件或者应用集成的、独立的、非分布式的应用程序;应用范围非常 狭小或者生命周期短的应用程序;建立在同一架构上的应用程序环境等等。对于一些企业来说,采用了单一厂商的技术和产品,拥有同一架构的IT环境,就不需要 那么急迫地实施SOA,或者实施的效果并不是很明显。

  有些企业很多年前就已经成形了业务支撑系统,虽然经过了很多次修修补补,但都一直在正常运作。专业人士认为,这种结构老、补丁多、又肩负重任的系统,与其用SOA动大手术,还不如等这种系统寿终正寝,重新开发符合SOA架构的新系统,进行自然淘汰比较好。

  6. 企业应该如何着手部署SOA?

  部署SOA应该制定明确的路线图,循序渐进。

  企业部署SOA时最好先制订一个清晰的路线图,然后从单个应用程序开始构建SOA架构,可以先从比较简单的应用开始。这样,企业可以在做出全面部署SOA之前先衡量投资回报率,并在出现大的问题之前积累足够的经验。

  当企业计划部署SOA项目时,CIO要注意各种细节,比如,供应商提供的软件是否支持Web服务和SOA;开发某些应用程序时,该应用是否要支 持其他业务需求;哪些应用需要嵌入对Web服务的支持等。如果企业大规模部署SOA,还需要建立企业服务总线(ESB),通过ESB提供服务请求。当然 ESB的建立也需要一个过程,CIO必须注意部署节奏。

  尽管目前已经可以找到很多关于SOA的知识,但部署SOA仍然非常困难。其中最直接的原因在于SOA需要企业部门之间的高度沟通,而且要求整个 企业都为变革做好准备。变化带来的问题解决之后,可能又会出现技术问题。因此,企业部署SOA需要提前做好各种各样的准备,并且有长期的详细计划安排。



crazycy 2007-04-28 02:02 发表评论
分享到:
评论

相关推荐

    解答SOA关键问题

    尽管SOA有显著的优点,但也存在挑战,如供应商锁定(vendor-centricity)问题。虽然XML、SOAP等基础标准已经确立,但在实现SOA高级功能时,如安全性、事务处理、信任和联合身份管理等,仍需要依赖特定供应商的规范和...

    SOA面向服务架构

    通过对SOA的关键特性的理解及其应用场景的了解,可以帮助企业更好地利用这一架构模式来提高业务灵活性、降低开发成本并提升服务质量。同时,也需要关注SOA实施过程中可能遇到的挑战,采取相应的措施来克服这些难题。

    很好的Soa学习资料

    例如,在处理订单、支付、库存管理等关键业务流程时,SOA架构能够确保这些服务的独立性和可重用性,即使面对突发的大规模流量,系统也能保持稳定运行。 ### 面向服务架构在企业应用集成中的演变 企业应用集成...

    解读SOA :SOA实践方法论

    SOA越来越被企业接受,很多公司都准备规划SOA。但具体怎么上,没有一套很好的方法论是不行的。资料是IBM在长期的摸索中总结的一套SOMA方法论,由于是内部培训资料,所以比较难得。 内容 一个现象 -SOA正在被企业...

    ibm wmb wsrr soa esb 常见问题解答及JavaAPI

    在"FAQ.rar"中,可能包含了IBM WMB、WSRR、SOA和ESB使用过程中遇到的常见问题及其解答,这可以帮助开发者解决实际工作中的问题,提高工作效率。而"JavaAPI.rar"则可能包含详细的Java API文档和示例代码,帮助开发者...

    CSDN 软件开发2.0技术会议:程立-大规模SOA系统中的分布事务处理

    通过对程立在CSDN软件开发2.0技术会议上的演讲内容进行分析,我们可以看到,随着SOA系统的发展,分布式事务处理面临着诸多挑战。为了应对这些挑战,需要采用一系列的原则、模式以及相关的框架和设施。虽然现有的方案...

    真实世界里的SOA

    在SOA环境中,服务的生命周期管理、版本控制、安全性、性能监控等都是关键因素。有效的SOA治理可以帮助组织确保服务质量,防止服务间的不一致性,同时促进服务的重用。 总之,“真实世界里的面向服务架构”这本...

    SOA的关键技术的研究与应用实现

    ### SOA的关键技术的研究与应用实现 #### 引言 随着中国经济的快速发展,特别是企业规模的迅速扩大,信息化的需求也在持续增长。为了适应激烈的市场竞争,企业必须不断优化内部管理流程,提升运营效率,这就需要...

    soa +web service1

    ### SOA与Web Service 关键知识点详解 #### 一、SOA (面向服务的架构) 概念解析 **SOA**(Service Oriented Architecture,面向服务的架构)是一种设计和构建软件应用的方式,它强调服务之间的交互以及通过标准化...

    面向服务架构(SOA)中南大学SOA原理与技术 00 课程简介(共66页).ppt

    面向服务架构(SOA)中南大学SOA原理与技术 01 SOA技术概述(共74页).ppt 面向服务架构(SOA)中南大学SOA原理与技术 02 Web服务基础(共66页).ppt 面向服务架构(SOA)中南大学SOA原理与技术 03 Web服务实现(共...

    SOA开发精彩技巧汇总

    ### SOA开发精彩技巧汇总:深入解析与应用 在当今高度互联、数据驱动的企业环境中,服务导向架构(Service-Oriented Architecture,简称SOA)已成为构建灵活、可扩展且易于集成的信息系统的关键策略之一。SOA的核心...

    SOA in the real world

    通过学习本章,读者将能够更好地理解如何利用消息传递来设计高效的服务架构,并探索一些常见的 SOA 场景。 #### 致谢 我们非常感谢所有参与第二章编写的贡献者们,他们的专业知识极大地丰富了本章节的内容。 #### ...

    Manning - SOA Security (Dec 2007)

    《SOA安全》是一本深度探讨面向服务架构(Service-Oriented Architecture,简称SOA)安全性的专业书籍,由Manning出版社于2007年12月发行。该书全面解析了在SOA环境中如何保护服务、数据以及整个体系结构免受潜在...

    SOA.rar_SOA_SOA 开发

    **SOA(Service-Oriented Architecture,面向服务架构)是一种软件设计模式,它提倡将功能作为独立的服务,这些服务可以通过网络进行交互,实现模块化、松耦合的系统。在本压缩包“SOA.rar”中,我们主要探讨的是...

    面向服务的架构(SOA)新手入门

    5. **ESB**:企业服务总线,用于连接不同的服务并协调它们之间的通信,是实现SOA的关键技术之一。 ### SOA的实施挑战 尽管SOA带来了诸多优势,但在实际部署过程中也会面临一些挑战: 1. **集成复杂性**:不同服务...

    SOA.zip_SOA optical_SOA 光_SOA 半导体_VPI SOA仿真_光放大

    **SOA光学与半导体光放大器** 在信息技术领域,特别是在...总的来说,SOA及其仿真技术是现代光纤通信和光子学研究的重要工具,通过MATLAB代码"SOA.m",我们可以深入研究这一关键技术并优化其在各种应用场景中的性能。

    通过Oracle EBS 看SOA

    从那时才开始对SOA有一些具体的了解,最近由亍工作的需要,买了一些SOA的书籍,幵在网络上阅读了大量的SOA资料,对原来感觉很模糊的SOA,忽然有了一些清晰:原来自己做过的很多项目中,已经做了很多接近“SOA”的...

    凤凰公司信息系统 SOA 转型建议书

    ### 凤凰公司信息系统SOA转型建议书关键知识点解析 #### 一、SOA转型背景与价值 **凤凰公司信息系统SOA转型建议书**聚焦于该公司信息系统向面向服务的架构(SOA)的转变,旨在通过整合CRM(客户关系管理)与ERP(企业...

Global site tag (gtag.js) - Google Analytics