`
hongsoft
  • 浏览: 299862 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

每次给客户做工作流培训,都要接触不同的行业,但我每次都被问了一个同样的问题:HongSoft老师,请问应该怎么理解SOA?这个问题其实和工作流培训关系不大,但现在如火如荼的SOA的推广都和BPEL扯上了关系,而BPEL又和工作流间“说不清,道不明”,所以我还真要说说,我是怎么理解SOA的。

7/80年代,流行的是过程式程序设计。我们一般要采用自顶向下分析方法做功能分解,这个是最自然最原始的想法,而分解的单位就是function。就比如用学生报到交学费为例:学校有3个部门:教务处负责登记;财务处负责收学费;政务处负责发行李,可能还要收住宿费。
这里就会有4个function存在。登记();收学费();发行李();收住宿费()。首先要明白的一点就是:这里是按学校的内部规则(软件系统内部功能)来划分的,不是从学生(用户)的角度来考虑。然后如果你做过比较大型的C语言的开发应该会知道一点:收学费()这个function和
收住宿费()这个function两个名称很有可能都取名为了收费(),在其中一个function是放在.so包中的情况下,C编译器是不一定抱错的。曾经有个这样的问题花了我2天的时间来排查(用到了第3方公司的包)。

8/90年代出现了oo。oo的核心是对象。这里可能就有3个包:教务处/财务处/政务处;政务处这个包可能还会分为好几个对象:检查员对象检查财务处盖章,仓库员对象负责发行李等等。这样就解决了过程式程序设计的问题,而且对学生(软件的用户)来说,是基本按用户的思路来考虑的,这也是老毛同志“为人民服务”的思路。

但这样其实是不够的。检查员对象检查财务处盖章,是和另外的财务处包挂钩的。财务处包可能会经常发生变动:今年的特招生要多收3W/year;明年的特困生要可以贷款入学。。。。等等。这样就会对检查员对象检查财务处盖章产生影响:可能上面没有章,但也要让该生入住。
在这样的情况下,就产生了用service为核心来架构软件系统的思路。service是按实际的企业应用为单位来划分的。 比如 政务处手续就可以定为一个这样的service: 检查员对象检查财务处盖章-->收住宿费-->发行李。service实际上是一个流程,而其中的一个流程单元有可能要和另外的service产生关系。SOA这样来划分系统的作用,就是减少服务和服务之间的耦合。
我们现在的机关单位提倡的”一站式服务“在SOA架构下变成了很大的可能。学生到“学校报道处”交了学费,填表。然后后面的执行流程自动运转,自动到“教务处负责登记;财务处负责收学费;政务处负责发行李”等不同的service里面去,最后,“学校报道处”通知学生:请你到B-305入住。

从上面的技术分析,也可以看到管理领域,特别是BPM管理领域的一些思想。 

=========================

08.16修改:经过网友指认,本文参考了

http://www.hibernate.org.cn/viewtopic.php?t=14437&highlight=   对原贴的作者表示感谢!

另外请看

http://blog.csdn.net/hongbo781202/archive/2006/08/16/1069051.aspx  和一个HW人的BPEL交流

分享到:
评论

相关推荐

    SOA作业及要求,soa

    SOA,即Service-Oriented Architecture(面向...通过这次作业,不仅能加深对SOA理论的理解,还能锻炼团队合作、项目管理和技术创新能力,是一次宝贵的学习机会。希望所有参与者能够全情投入,共同探索SOA的无限可能。

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

    通过MATLAB接口,用户可以编写代码来控制VPI模拟,从而深入理解SOA的动态行为。 在提供的MATLAB文件"SOA.m"中,我们可以预期找到一个详细的SOA仿真模型,它可能包含了以下部分: 1. **增益模型**:基于半导体材料...

    SOAOperation_soa开发_SOA_teamcenter_TeamcenterSOA_

    例如,`SOAOperation.java`可能就是一个Java类,它包含了对Teamcenter SOA服务的调用,实现了创建item、创建folder和查询属性等功能。 在实际应用中,Teamcenter的SOA服务可以帮助企业实现以下目标: 1. **系统...

    通过一个真实故事理解SOA监管

    我采访过很多人,也阅读过一些资料,才基本弄明白。总的感觉是,如果 直白地去讲SOA监管的问题,必然引进大量的新术语,一般开发者实在不容易听懂。如果能够举一个例子,那么大家就容易理解得多。恰好昨天在书上看到...

    SOA.rar_SOA_SOA 开发

    尽管XFire已被更现代的框架如Apache CXF取代,但它仍然为我们提供了一种理解SOA概念和实践的途径。在学习SOA时,理解服务的定义、服务间的通信以及如何使用像XFire这样的工具来实现服务,都是非常关键的步骤。在实际...

    微软SOA架构介绍,便于大家理解SOA

    ### 微软SOA架构介绍 #### 一、SOA概览 面向服务的架构(Service-Oriented Architecture,简称SOA)是一种设计思想,它...通过对SOA的理解和实施,企业可以更好地应对快速变化的市场需求,实现业务的持续增长和发展。

    SOA面向服务架构

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

    SOA principles & practice(SOA课程课件 10章)

    最后,通过真实的SOA项目案例,展示SOA在不同行业和场景中的应用,帮助学习者理解SOA在实际工作中的价值和挑战。 通过这套详尽的SOA课程,学习者不仅能掌握SOA的基本理论,还能了解到实际项目中的最佳实践,从而...

    SOA 培训资料 对理解有用

    ### SOA治理基础知识点 #### 一、SOA概述与治理的重要性 - **SOA(Service-Oriented Architecture,面向服务架构)**:是一种设计原则和技术框架,它将应用程序的不同功能单元通过通信协议进行集成,使得这些功能...

    SOA的反思:SOA架构的本质

    ### SOA架构的本质 #### SOA的基本概念与理解 ...然而,成功实施SOA需要对业务流程有深入的理解,同时还需要解决一系列技术挑战。因此,企业在考虑采用SOA时,应当进行全面的评估,并制定详细的实施计划。

    IBM soa 培训教材-SOA 治理

    为了更好地理解 SOA 治理的重要性,我们可以参考一个具体的案例。假设某公司推出了一个货币兑换服务,最初该服务只面向财务部门,但随后其他部门也开始使用这一服务。由于缺乏有效的治理机制,导致了以下问题: 1. ...

    soa心得体会soa心得体会;

    通过对SOA的学习,我们可以深入理解其核心理念和实施带来的好处。 首先,SOA是一种组件模型,它将复杂的软件系统分解为独立的服务,每个服务都有清晰的接口和契约,这些接口定义了服务之间的通信方式,而服务本身则...

    SOA资源.rar

    通过阅读和理解这些代码,不仅可以加深对SOA技术的理解,还能提高实际编程能力。 总的来说,"SOA资源.rar"为学习者提供了一个全面了解和实践SOA技术的平台,从基本概念到高级特性,从理论到实践,都得到了充分的...

    SOA的设计误区(SOA架构师必读)

    例如,SOA的端对端、多层面特性意味着设计问题往往是结构性的,不是简单的配置或编码调整就能解决,这要求架构师对各层面的依赖关系有深入理解。另外,SOA设计中的任何失误都可能影响全局,导致高投资回报率的丧失。...

    SOA发展历史介绍SOA的发展

    **SOA(Service-Oriented Architecture,面向服务架构)**是一种软件设计范式,它强调通过独立、可重用的服务来构建系统。自20世纪90年代末被...通过深入理解SOA,我们可以更好地设计和构建适应未来的企业信息系统。

    理解SOA中的服务生命周期-运行时

    这篇文章将探讨SOA服务在运行时的生命周期,以提高对这一阶段的理解。 首先,共享服务生命周期(SSLC)模型如图1所示,为整个讨论提供了指导框架。在运行时阶段,服务工程团队需确保服务能够有效地在实际环境中运行...

    SOA概述SOA基础

    服务有助于确保业务人员和IT人员对系统的理解和解释一致,从而减少沟通中的误解。 **1.3 服务接口** - **业务驱动的接口**:SOA的设计强调基于服务接口进行开发。一个好的服务接口应该是业务驱动的,这意味着接口...

    普元提出的中国soa任务

    普元,作为中国知名的IT解决方案提供商,对中国SOA的任务有着深入的研究和实践,其目标是助力中国的中小型企业和个人更好地利用SOA的优势。 一、SOA的基本概念 SOA的核心理念是将复杂的系统分解为一系列可重用的...

    SOA从业人员指南 SOA入门资料

    **服务导向架构(Service-Oriented Architecture,简称SOA)是一种设计和...理解并掌握SOA的基础知识、优势以及实施策略,对于IT从业人员来说至关重要,可以帮助他们在不断变化的业务环境中找到解决问题的有效途径。

Global site tag (gtag.js) - Google Analytics