2004年5月12日据业内分析,面向服务的架构(SOA)的基本概念--重用性和互用性--已经提出了大约20年。那么SOA具有哪些新的特色呢?为什么其他技术和标准都惨遭失败,而SOA却能够成功呢?BEA的首席信息官Rhonda Hocker回答了有关SOA如何发挥IT潜力方面的问题。
问:您认为SOA的哪些方面在其成功中起到了至关重要的作用?
答:第一点就是灵活性。就长期以来在广大公司中的知名度而言,SOA可能名列IT架构第一,而内容一直在变化。一个SOA实质上就是一套松散耦合的服务。在必要的情况下,每一项服务都可以进行构造和替换,而相关的费用很低。松散耦合甚至还可以让架构适应一些改变,并不像传统的紧耦合架构表现得那么脆弱;在一个SOA中,您能够使用一种服务替换另一种服务,无需考虑下列技术:接口问题,它是否在Web服务和XML的通用标准中已经定义。这就是通过互用性所体现出来的灵活性。灵活性还表现为利用现有资产、遗留应用程序和数据库的能力,通过将他们扩展到SOA中,而非进行替换,使其成为整个企业解决方案的组成部分。最终结果就是具备快速高效发展的能力,换句话说,就是按照业务需求"有机地"进行适应。这就是真正的新特色。
第二点就是"业务相关性":SOA就是最终表现为对业务人员意义重大这一层面上的IT架构。如果您也相信IT架构的核心问题就是业务和IT专家的联盟和协作,那么这就是关键。今天的SOA服务能够完成映射为业务流程活动的各部分工作:例如,想起一个命名为"更新客户订单状态"的服务。这种服务与那些能够参与创造和使用这些服务定义新流程的业务分析人员密切相关,因而能够形成那种服务驱动型的企业。因为Web服务已将其大部分技术作了摘要,所以几乎不再需要技术说明。公司和IT业能够将关注的重点转移到业务逻辑和通讯上。他们最终共享"服务"的通用语言。也就是说,是真正的新特色,在IT架构的交付中具有深刻的蕴涵。
问:您认为什么是SOA成功的最大障碍呢?
答:SOA是新型IT架构的蓝图。由于总是伴随着大的变化发生,因此最大的障碍就是组织,而非技术。主要包括以下几个方面:
管理:共享服务是SOA方法的核心。这种快速组装应用或编排流程的能力是在一些现有的能被共享的服务的基础上实现的。共享资源需要进行管理。
开发文化:切换到SOA要求开发风格发生极大的变化。大多数开发人员仍然适应那种将每一个应用程序作为一个独立的问题解决的方式。目前可以重用的代码还非常少。在SOA中,开发人员需要编写自己的应用程序,同时还要留意要让自己编写的代码可以重用,不仅包括使用现有代码,还要包括计划在未来的应用程序中重用他们的代码。
业务流程架构技能:SOA方法让公司和IT合作伙伴能够在业务流程的创造中完成更高效率的协同工作。他们的成功将有赖于其实施业务流程架构的技能。也需要他们灵活应对业务流程并且要将自己看作是业务流程架构设计师。
这些方面的确都具有极大的挑战性,但是便于管理。最后,那些善于管理,IT和业务人员知道如何有效合作,流程和架构技能受到重视的公司将会从自身的SOA中得到更多的回报。这几乎是最好的方式,它有助于解决IT 问题。
问:现在的SOA与以前的集成/连通标准,如CORBA有哪些不同之处?
答:很好,我将会用案例说明以上我所描述的两个SOA有别于其他标准的优点。问题是为什么分布式架构中的CORBA和其他方法无法表现出这些优点呢?
高度概括性的回答就是:CORBA比SOA具有更大的技术难度,在其执行过程中需要强大的技能和知识支持。那些技能十分贫乏,如果没有真正的CORBA标准将会无济于事。而比较而言,SOA简单,基于真正通用的标准。这就确保了构造它们的这些技能是广泛可用的。
更为详细的回答请您查看他们的架构方法和原理的基本差别。
在一个SOA中,分布式资产就是"粗粒度"服务,它可以完成一些非常有用的功能,如"更新客户订单状态"。使用CORBA,分布式资产就是一些对象,每个对象都拥有自己的属性和方法。例如,订单对象具有"状态"属性和"更新"方法。这样对架构设计师而言是相当繁琐的,它需要具有很高水平的知识和技能。在这种细粒度级别之下很难保证一致性。而使用SOA,会控制少和动力少,却易于管理。这种方法在技术上并不是非常强大,但在IT成功方面的组织和人员角色上却体现出了相当的敏捷度。
问:为什么SOA会成功而CORBA会导致失败呢?
答:SOA会成功主要取决于合作伙伴的帮助。就重用效率或企业广泛一致性而言,由中心IT组织独立推动的架构都无法在长时间的运行中获得成功。我认为使用SOA,我们将会拥有第一个业务合作伙伴帮助推动企业架构的实例。这不是因为他们喜欢架构本身,而是因为他们的支持是基于SOA的业务相关性的,很快就可以从结果上看出,开发生命周期改变了它的重点,由原来较长的交付周期应用程序的交付转变成小单元代码--服务的交付和集成。持续的结果将使业务合作伙伴效忠于这种方法。
问:Java在SOA的潜在成功中起到了什么作用?
答:Java作为实现服务的最流行的编程标准,是非常重要的。Java社区的规模和技能保证大量高质量的技能可以用于构造SOA。这就是Java实现帮助SOA成功的方式。也就是说,Java只是实现服务的一种方式。没有一个大的IT组织会只运作一个单一的编程标准。有利的方面就是使用SOA您不需要一个单一的编程标准。服务范例的定义只能以Web服务和XML的接口标准识别出这种内在的多相性并设立需求。
分享到:
相关推荐
### 为什么选择SOA? 企业选择SOA的原因包括但不限于: 1. **灵活性**:SOA允许企业通过模块化的方式构建和扩展应用,以适应不断变化的业务需求。 2. **重用性**:服务可以被多个应用重用,减少了开发新应用的成本...
**什么是SOA?** SOA,即Service-Oriented Architecture,是一种软件架构风格,它强调将业务逻辑和功能模块化为独立的服务,这些服务之间通过标准化的接口进行通信,实现了松耦合。SOA的核心理念是将复杂的企业级...
BEA提供了广泛的SOA解决方案,包括但不限于WebLogic Server、WebLogic Integration、WebLogic Portal等,这些工具和服务为构建和管理SOA环境提供了强大的技术支持。BEA还推出了dev2dev订阅服务,为企业提供了SOA开发...
【什么是 SOA?】 SOA(Service-Oriented Architecture,面向服务的架构)是一种软件设计和构建应用程序的方法,它强调将功能分解为一系列可独立访问的服务。这些服务通过标准接口进行交互,允许不同系统和应用之间...
SOA是一种软件设计范式,它强调将业务功能分解为独立的服务,这些服务可以通过网络进行交互和组合,以提供复杂的业务流程。SOA的核心理念是解耦、重用和服务的自治性,这使得系统更具灵活性和可扩展性。 在实施SOA...
**为什么要SOA?** SOA的出现主要是为了解决传统IT系统中存在的问题,如系统间的紧密耦合、维护困难和扩展性差等。通过SOA,企业能够快速响应市场变化,灵活地组合和重新配置服务来满足新的业务需求。SOA的核心理念...
SOA主张将复杂的系统分解为一组功能明确、相对独立的服务,这些服务之间通过标准接口进行通信,允许系统以松散耦合的方式协同工作。这种设计方式提高了系统的灵活性、可扩展性和互操作性。 接下来,我们会讨论**SOA...
- **工具与平台**:选择合适的工具和技术支持SOA治理。 - **监控与评估**:建立监控机制,定期评估SOA环境的表现。 - **培训与教育**:提升员工对SOA治理重要性的认识和技能水平。 #### Oracle SOA治理框架 Oracle...
**SOA(Service-Oriented Architecture,面向服务架构)**是一种设计和构建软件...书中可能涵盖了服务设计原则、SOA框架选择、ESB的使用、服务治理策略以及最佳实践等内容,对于提升对SOA的理解和技术能力大有裨益。
SOA的设计原则使得它能够兼容多种不同的技术和产品,为组织提供了更大的选择空间。 #### 三、代表性的SOA厂家与产品实现 本节将介绍几家在市场上具有代表性的SOA产品提供商及其解决方案。 ##### (一) 用友 U9 1....
**SOA(Service-Oriented Architecture,面向服务的架构)是一种软件设计方法,它强调将功能分解为一组可重用的服务,这些服务可以独立部署、组合和管理,以支持业务流程。IBM作为SOA领域的领先者,提供了丰富的认证...
关于SOA服务的应用场景,Web应用占据了主导地位,70.5%的受访者选择了这一领域。数据服务和遗留系统集成也是SOA服务的重要应用场景,分别有51.3%和48.7%的受访者提及。Web应用的倾向性显示,企业正积极利用SOA来提升...
SOA是一种设计原则,它提倡将业务功能分解为独立的服务,这些服务可以通过网络进行交互,以创建灵活、可重用的业务流程。IBM提供了多款ESB产品,如IBM WebSphere ESB、IBM Integration Bus (IIB)等,用于支持SOA架构...
面向服务的体系结构(SOA,Service-Oriented Architecture)是一种设计模式,它提倡将功能作为独立的服务,这些服务可以通过...通过学习这两个文件,你可以对SOA有更全面的理解,为实际项目中的SOA应用打下坚实基础。
基于SOA的架构则是一种以服务为中心的体系结构,它强调将应用程序功能拆分为独立、接口标准化的服务。这些服务允许企业根据需求快速调整,提供业务灵活性。在SOA中,系统是通过组合服务来构建的,服务是可复用的...
SOA的灵活架构使其成为支持SaaS的理想选择,尤其是在ERP和CRM等领域,SOA和SaaS的结合可以极大地提升应用的灵活性和服务质量。 #### SOA与ESB - **ESB的角色**:ESB(Enterprise Service Bus)作为一种中间件,为...
面向服务的体系架构(SOA)是一种软件设计和构建的方法,其核心思想是将复杂的业务逻辑分解为一系列可...在实施SOA的过程中,选择合适的工具和产品,以及理解并掌握构成SOA的关键技术,对于构建成功的SOA系统至关重要。
选择SOA的主要原因是它允许企业以模块化的方式响应业务变化,通过创建新的服务或更新现有服务来满足新需求,同时保持与现有应用和基础设施的兼容性。通过这种方式,SOA保护了IT投资,因为旧的应用程序可以作为服务再...