在写完那篇帖子之后,我一直在反思SOA到底是什么,是一种什么样的架构。因为在在TIBCO中国研发中心工作的原因,可以接触到TIBCO的一些最新的SOA产品。
虽然了解到一些基于SOA构架的产品,但总觉得依然“隔着一层纸”,并不清楚什么才是真正的SOA架构。
很多时候,我依然会认为SOA构架只是满足把应用暴露成Service(或者说是WebService),以SOAP等之类的消息进行信息的传输,以及基于Service之间的一些业务逻辑的整合应用(比如BPEL)等。
我相信,这样的困惑,在国内很多中间件产品、应用产品中都存在,在很多国内的开发人员、架构师心中也存在。
昨天,有幸参加了CSDN主办的“SOA产业链及未来企业软件趋势”研讨会,收获不小。参见昨天写的blog随感“
参加“SOA产业链及企业软件趋势研讨会”的感想”。经过那些专家们(毛新生、Tiger、李勇、梁耀文等)的解惑,对SOA是一种什么样的构架,有了一些更深刻的认识。
但说真的,如果不是目前在TIBCO中国研发中心工作的经历,以及所接触到一些国外最新产品构架的巨变,仅凭昨天的听讲,也很难把握毛先生他们所说的那些SOA理念。
今天只谈反思:SOA架构的本质。
刚刚看到一篇新闻,讲的是SAP
代号为A1S的新产品软件设计方法,参见“新闻分析:解密代号A1S”。这和昨天研讨会上,SAP的李勇先生,所阐述的一些观点很类似:SAP的产品在往SOA架构迁移中,经历了三个大的步骤:第一步,提供更好的服务层面的容器或平台的支持;第二步,把业务抽象成服务,确切地说,是抽象业务对象(Business Object);第三步,把面向垂直或水平层面的各个产品,基于业务对象进行整合。
事实上,这就包含了昨天各个专家所阐述的SOA架构的本质:一切围绕业务对象(Business Object)或业务模型(Business Model),至于“服务”,只是这些业务模型暴露出来的形式,因为以统一的服务形式暴露出来,更便于不同供应商和客户之间的信息交互。
在Gartner十年前提出SOA概念的时候(1996年),尚没有web service技术。SOA架构的本质,并不是说把你的应用或者组件包装成Service就是SOA,而是说,你需要基于一种构架,能够让你的产品能够更适应“业务敏捷性(Business Agility)”。但是这种业务敏捷性仅仅是一家提供商或产品是很难满足的,肯定需要各个不同的供应商协助完成,不同的产品之间能够比较容易的进行消息交互。这样的灵活度肯定不是传统的基于消息的EAI产品所能够满足的,需要一种新的协议或标准来支撑。—— 当Web Service诞生之后,所有的大厂商都发现这是一种非常符合他们需求的技术。
但是服务的本质,是在后端能够提供一套“业务模型”。而制成这种业务模型或业务对象构建的技术,正好就是前几年所热炒的“模型驱动构架(Model-Driven-Architecture)”。事实上,现在各大厂商都在基于这个构架在转变自己的产品构架,BEA,IBM,TIBCO都在进行着这样的巨变。
在回头想想我们常说的“SOA真理三角”:数据(Data)——组件架构(Component Architecture)——组合(Composition)。因为几乎所有的业务模型最终需要被“业务对象+业务组件”反映出来,而它们之间需要进行一系列的组合和交互,来满足业务的处理。
在SOA联盟组织的SDO和SCA标准,正是用于解决数据和组件模型描述的问题,这方面几乎所有的EAI厂商都加盟进来了,IBM、BEA、IONA、Oracle、SAP、Sybase、TIBCO、Software AG等等,这其中好包含国内的普元软件。
分享到:
相关推荐
1. **松散耦合**:SOA架构中的服务应尽可能地独立于彼此,减少相互依赖的程度,以便提高系统的灵活性和可扩展性。 2. **非物质化接口**:服务之间通过标准格式的数据进行通信,而这些数据通常是XML格式的,这使得...
1. **定义SOA**:SOA是一种设计思想,它将应用程序的不同功能单元通过服务接口和服务协议进行集成。这些服务接口被明确定义,并且可以独立于实现服务的具体系统或平台而存在。 2. **SOA的优势**: - **成本降低**:...
面向服务的架构(SOA) 面向服务的架构(SOA)是一种软件架构风格,它将软件系统设计为一个服务集合,每个服务都是一个独立的功能单元,可以被复用和组合以满足不同的业务需求。SOA架构的核心思想是将软件系统分解...
本书一直以来都是在SOA、面向服务和服务技术方面的、端到端的教程。如今,已经更新到第2版,正式引入微服务和微任务抽象,作为面向服务架构及其相关服务层的一部分。新版的案例研究示例和图例进一步阐释和定位微服务...
通过对《Enterprise SOA中文版:面向服务架构的最佳实战》的学习,读者不仅可以理解SOA的理论基础,还能掌握在实际项目中实施SOA所需的技术和策略,从而为企业构建更加高效、灵活的信息系统。阅读书中的PDF文件,...
- 随着技术的进步和业务需求的变化,组织需要不断地对其SOA架构进行优化和迭代。 - 通过持续改进,可以更好地应对未来的挑战,确保SOA体系能够长期支持业务发展。 综上所述,支付宝在其SOA系统的演进过程中,不仅...
在服务导向架构(Service-Oriented Architecture,简称SOA)的背景下,治理往往被误解。有些人将SOA治理理解为服务生命周期治理,即从创建到部署整个过程中的管理;而另一些人则认为它是关于在运行时对服务应用策略...
2. **性能问题**:SOA的多层架构可能会引入额外的延迟和开销。 3. **管理复杂度**:随着服务数量的增加,管理和监控变得越来越复杂。 #### 七、SOA与传统架构的区别 - **面向对象架构(OOA)**:OOA强调对象的封装和...
- **持续演进**:SOA是动态的,应随着业务变化持续优化服务。 **3. SOA的基础** SOA的基础组件包括: - **服务提供者**:创建并执行服务的实体。 - **服务消费者**:通过服务接口调用服务的实体。 - **服务代理/...
在SOA架构的层次和应用范围上,IT主管要把关注点放在如何在SOI架构的企业级理念上,实现服务和应用层的细分;应用系统的资源共享;系统本身和流程的参数化配置;应用(服务)系统服务平台和数据平台的建设(提供服务的...
**服务导向架构(Service-Oriented Architecture, SOA)**是一种软件设计方法论,它将应用程序的不同功能单元通过服务接口联系起来,这些接口是采用中立的方式进行定义的,与实现服务的硬件平台、操作系统和编程语言...
在面向服务的架构(SOA)环境中,治理作为一个重要的概念却常常被误解。SOA治理不仅仅是管理服务的生命周期,也不仅仅是在运行时对服务施加策略。本文旨在深入探讨SOA治理的核心意义及其对企业的重要性。 #### SOA...
### SOA(面向服务架构): 实现上的挑战 #### 引言 面向服务架构(SOA)作为一种重要的架构模式,支持跨平台、跨技术的中间层解决方案的模块化实现。对于许多希望提升业务灵活性和效率的企业来说,SOA提供了一种有效...
- **SOA的本质**:SOA是一种架构方法论,强调服务的复用性和灵活性。 - **BPM的应用**:BPM是一种流程管理理念,关注于业务流程的设计、执行和优化。 - **结合点**:在BPM流程分析的基础上,可以识别出最有价值的...
通过对这些案例的学习,读者可以更好地理解SOA设计原则的实际运用,以及在实践中可能遇到的问题和解决方案。 #### 七、总结 《SOA原则:服务设计》是一本全面而深入介绍SOA设计原则和技术的书籍。它不仅提供了理论...
面向服务架构(SOA)中南大学SOA原理与技术 00 课程简介(共66页).ppt 面向服务架构(SOA)中南大学SOA原理与技术 01 SOA技术概述(共74页).ppt 面向服务架构(SOA)中南大学SOA原理与技术 02 Web服务基础(共66页...