•      SOA是面向服务的软件架构,它是一种服务组织方式。谈到组织方式或架构,任何学习过计算机发展历史的人都应该对冯诺依曼体系结构耳熟能详,从早期的电子管计算机到现在的大规模并行计算机都采用了冯诺依曼体系结构,它的最核心的思想如下图所示。在整个冯诺依曼体系结构中,存储器是核心——输入输出设备访问的内容全部存储在存储器中;运算器运算的数据及运算的结果也是存储在存储器中;控制器需要访问的控制命令本身也来自于存储器。

    冯诺依曼体系结构

        仔细想来,诺依曼体系结构特别像在企业战略管理中的价值链。价值链是指企业提供的产品及服务在价值产生(生产)和价值实现/增值(销售)过程中存在的环节或链条,价值链中的每项活动都对最终价值实现和价值增值起到至关重要的作用,即供应商、分销商、服务商和客户等构成了完整的价值链条,认识到价值链、价值实现过程和价值增值过程的存在是链条中每个实体实现合作与共赢的必然前提。企业基本的价值链结构如下图所示。

    企业价值链

        我们将生产企业从价值链中抽取出来,首先来分析一下它的基本价值链与冯诺依曼体系结构的关系,这虽然从某些方面割裂了价值链的上下游,但是并不违反价值链本身的特点。因为价值链按照涵盖的范围可以分为三个层次——最广义上的是行业之间的价值链;其次是行业内部各企业之间的价值链;最后就是企业内部各部门之间的价值链——在这里我们首先讨论企业内部各部门之间的价值链体系,如下图所示。

    企业价值链构成

        作为企业来讲,原材料(对于销售型企业就转化为了代售商品)和产成品(对于销售企业就转化为了货币)自然而然的作为了企业系统结构中的输入输出部分;而管理理念是整个企业的中枢神经,它决定着如何控制各个部件之间的运行;各个独立的部门也就自然成为上行下效的具体执行机构。那么关键是冯诺依曼体系结构中的核心——存储器在企业结构中到底体现为什么呢?按照我的理解,它就是由各类信息系统组成的体现企业本身商业智能的集成信息系统环境。对于这样一个信息系统环境,“原材料”需要进入它进行处理并产生相应的“产成品”,企业经营和管理的理念也以一种智能化控制信息的方式“存储”在这样的信息系统环境中,作为执行结构的企业各个部门也都是通过这样一个智能的信息系统环境相互交流并体现着各自的执行力的。所以无论从那个角度来讲在单个企业价值链中,智能的信息系统环境都起到了类似冯诺依曼体系结构中存储器的核心作用,而它存储的恰恰就是我们所谓的“商业智能“。

        其实无论是行业之间的价值链还是行业内各个企业之间的价值链都从本质上体现着冯诺依曼体系结构的基本思想,只是在这个时候它的价值流动不再是单向的、开链的,而是多向的、成环的,其中的信息系统环境涵盖的范围也会更加广泛、提供的功能也会越来越多、适应性和可重用性也会更高而已。由此我们也回到了主题上来,什么样的信息系统结构能在日新月异的商业智能条件下更好地体现企业价值链呢?换句话说,我们采用什么样的信息系统结构能够使企业或行业的价值以最快的速度实现、以最大的幅度增值呢?目前来看,这样一个结构就是我们现在一直讨论的SOA,即面向服务的系统架构,它所具有的可重用性、集成成本低、跨平台、松耦合等特点都使它能在企业信息化建设中降低风险并提供持续可改进的商业流程。

  • 各位兄弟,既然团队已经组建,Blog已经开通,哥儿几个别闲着,先分析一下大赛题目吧。

    我列出如下基本要求:

    1.企业IT现状分析

       针对题目中所说的那个企业,先把它的IT技术现状总结一下,列出现有IT系统的功能、优点、缺点。

    2.企业业务发展分析

       针对现在正在进行的、即将开始的、未来可能开始得企业业务进行分析总结,不要上来就拆业务环节,拆不清楚的。先列出各种业务需求,再划分各项业务需求间的制约关系,最后才能得到完整的业务需求。

    3.SOA可行性分析

       如果用SOA的理念来改造这个企业,需要做哪些工作呢?派个人把SOA的核心概念往这个企业上套,象什么ESB啊、EIP啊什么的,通通放上去,就能看出来SOA的可行性前提如何了,呵呵。

    4.SOA应用创新畅想

       最后再搞一下应用创新方面的头脑风暴吧,找些创新点再充实一下,呵呵。

    以上工作刚好四项,IT现状分析就交给donkey同学吧,业务发展分析就交给BXQ同学吧,麦卡搞SOA可行性分析,Zhang来作创新畅想,如何?

    以上工作务必在五一长假期间完成,回头我们开会再讨论细节,呵呵。

  • SOA火了,太火了,这年头不行说ERP了,CRM也过时了,现在流行SOA了,我都SOA一个礼拜了,哈哈。

    以前并没有接触过SOA,只好粗浅的谈一谈对SOA的认识了。

    上本科的时候,刚刚兴起MIS,最流行的就是“进销存”与财务管理,那时的概念就是“集成”,目的是缩短工作流程,实现数字化,讲究的是“合”。

    好不容易上硕士了,开始流行OA,接着就是MRP,然后就是ERP,那时的概念也是“集成”,只不过集成的对象不再是原来简单的数据表单,而是把多个复杂的MIS系统集成在一起,目的是全流程数字化、加强企业内部各部门的协同,讲究得还是“合”。

    终于混到博士了,开始流行Web Service,从C/S到B/S,从Intranet到Internet。三层B/S结构,让你的触角在网络的世界里无限远,真是“好大的月亮好大的天”啊,技术成本降下来了,开放与共享程度却提高了,C/S是合,B/S是分。

    博士毕业了,开始流行中间件、SOA了,看来觉得简单的工作流整合还是不能满足日益变化的发展需求,还是觉得原来的方式死板,还要更灵活一些、更松散一些,讲究的是更广泛的“分”。

    SOA以前的时代属于社会主义初级阶段,讲究“按劳分配”,管理上侧重哪方面就加强哪方面,比如ERP、OA、CRM都是各有分工,你要想获得更高效率的IT环境,那就多部署几个专用系统,多“劳作”一番呗。

    SOA以后的时代属于美好的共产主义,讲究“按需分配”,不再针对性的部署具体业务系统,而是把所有需要的都放在一块,想要啥就拿啥,呵呵,构建企业信息化的“和谐社会”啊。

    所以说啊,天下大事,合久必分、分久必合,SOA也是如此!

    只不过SOA看似松散的结构,对协作的要求程度更高,对规则的制定更加严格全面。以前做MIS只需要严谨的需求分析就行了,现在做SOA可不一样了,你要是做需求分析,估计客户都不知道有啥需求;你要做业务抽象,要做工作流封装,要做标准化通用接口,呵呵,SOA需要的是企业管理现代化,IT技术不过是手段而已。

    胡诌的,继续修练后再继续忽悠,呵呵!

  • 凤凰医疗设备有限公司(以下简称"凤凰",虚构的名字,便于讲解)是一家专门制造和营销专业医疗器械和实验仪器仪表等仪器的民营企业,其购销客户和网络遍布全国各地。凤凰成立于2000年,现有员工750名。公司领导一直非常重视企业信息化建设,投入大量的资金支持,并制定"把握趋势、兼顾现实、统一规划、逐步实施"的发展策略。

    2004年凤凰公司引进并在公司内部成功实施了某ERP系统(部署在凤凰企业内部的Web应用),主要用于凤凰公司的财务管理,其中包括产品库存及订单管理等。ERP的实施大幅度地提高了公司的管理效率。

    随着公司业务规模的扩大和产品质量的提升,凤凰公司的客户数量越来越大。凤凰公司有一批精干的销售队伍,他们经常出差和客户打交道。虽然销售人员都配备了笔记本电脑,使他们能够方便地和公司通过email发送和接受文档,但是竞争的压力使得凤凰公司不得不考虑使用客户关系管理系统(CRM)来进一步提高销售人员的工作效率。于是,2005年8月份凤凰公司引进并成功应用了某在线客户关系管理系统(On Demand CRM)。CRM通过订阅的方式来提供客户关系管理服务,凤凰公司不需要提供任何硬件、软件和空间资源,而只需要每月向服务供应商支付65美元。凤凰的销售人员在任何时间和地点只需要通过普通的Web浏览器就可以使用和管理客户及销售信息,包括客户信息,商机,业务机会,以及客户及销售信息分析图表等。

    现在凤凰公司的财务和销售人员分别在ERP和CRM系统上工作,工作效率有很大提高。但是公司目前也面临挑战。一方面,ERP和CRM中分别维护产品和客户信息,而公司规定ERP必须作为这些信息的主数据源,ERP中的这些信息需要随时同步到CRM中去;另一方面,CRM中维护的业务机会和ERP中维护的销售订单有着非常紧密的关系,凤凰公司希望能够把业务机会和销售订单有效地整合起来,而进一步提高业务运作的效率。

    凤凰公司通过招标的方式与一家信息技术咨询公司(万合信息技术有限公司,以下简称"万合")签署这个项目。下面是万合公司了解到的凤凰公司的相关业务需求。

    业务机会与销售订单整合的相关业务描述

    凤凰公司的销售人员通过CRM管理业务机会(Opportunity)。每当一个商机(Lead)或者其他来源导致产生一个新的业务机会时,销售人员就会在CRM中创建新的业务机会。假如新业务机会对应的帐户不存在,销售人员首先在CRM中增加新的客户帐户(以及此帐户对应的联系人)再创建此业务机会。销售人员会根据和客户的商谈状况随时更改业务机会的状态。

    要判断业务机会的可能性,销售人员需要了解当前最新的产品目录以及相关产品的库存和价格信息。这些信息随时从ERP更新到CRM供销售人员使用。销售人员会基于和客户的谈判,在业务机会中指定并随时修改此业务机会对应的产品列表,包括每个产品的名称、代码、价格、以及相应的数目。

    当销售人员将业务机会的状态改为"赢"(Closed-Won),即表示此业务机会已经成功。此时,销售人员需要通知财务人员(工作在ERP上)来创建销售订单。销售人员只需要在CRM相应的业务机会中点击"生成销售订单(Place Order)"链接即可提交创建销售订单的请求。

    虽然销售人员事先已经查看了产品库存情况,但某些突发事件可能导致创建销售订单时库存不足。只有当订单中的产品库存满足要求时,创建销售订单的请求才能被发送给财务人员处理。如果不满足要求,则订单被冻结。销售人员被通知不能提交订单。当产品库存满足要求时,系统会发短信通知销售人员重新提交订单。

    创建销售订单的请求被发给财务人员等待处理。财务人员会收到一个手机短信告知他有一个销售订单需要处理;同时,为了保证订单请求能够及时处理(例如没有收到短信),财务人员的日程表中被自动添加一项新的事务,要求他处理这个销售订单。财务人员的日程表是集成在ERP上的一个小巧的日历应用,每个财务人员都可以创建和跟踪每天的工作(To-Do List)。

    财务人员在收到短信或者看到日历上的工作项后及时地登陆ERP系统,财务人员会仔细地审查这个订单,并可能会修正某些数据项(如价格、数目等)。检查完毕,财务人员会点击"确认"来创建订单。

    如果财务人员认为这个订单不合理,他可以写下退回理由并点击"退回"按钮来拒绝这个订单请求。销售人员会收到一个手机短信获悉他的销售订单请求是否被通过,如果被拒绝他会被告知拒绝的理由。

    如果财务人员通过了订单处理请求,ERP系统会创建一个新的销售订单。但是在此之前,ERP可能会发现这个订单的客户在ERP中不存在(新客户),此时ERP会和财务人员核实。财务人员核实后(可能会有客户信息修正),ERP会在系统中创建此新的客户及其联系人记录信息。财务人员核实的一项重要信息就是客户联系人的Email地址。财务人员通过点击"验证Email地址"按钮来确认这个联系人的Email地知是否存在。如何不存在,则财务人员需要修正后才能核实通过。

    如果成功地创建了销售订单,ERP里的客户信息、订单信息(例如订单号)都及时地更新到CRM中。从业务机会生成销售订单的业务流程结束。

    万合公司的目标就是帮助凤凰公司实现这个业务流程。

    扩展的业务需求

    1) 可视化的信息聚合需求

    因为CRM和ERP系统中维护有大量的企业数据,而且这两个系统之间有着非常密切的联系。凤凰公司希望在本次业务整合中能够同时提供可视化的信息聚合方式,以方便销售人员或财务人员浏览和使用企业数据。关于如何可视化,聚合哪些数据,都要看万合公司的创新了。凤凰公司期望更有创意的可视化信息聚合。

    2) 使用信息智能服务

    英特网上有一个信息智能服务社区(Information Intelligence Service Community,简称IISC,虚构的名字,便于讲解)越来越收到业界的关注。IISC作为信息处理服务的集中营,本质上是一个信息处理服务的创建和运营平台。任何一个注册的机构都可以把自己的信息处理服务发布到这个平台上(必须遵守平台规定的发布标准),经社区委员会评审通过后可以由这个平台来管理和运行所发布的服务。任何第三方如果要使用此项服务,需要向服务提供方交纳一定的服务费(通常为订阅的方式),社区委员会从中按比例收取佣金。注册的机构也可以使用平台上已有的信息处理服务来创建自己的增值服务,包括将已有的服务组合成新的特色服务,新的服务也可以发布到平台上去。

    目前,IISC提供了一些基本的信息处理服务,例如中文智能检索、文本自动分类、文章相似检索、摘要自动生成、命名实体自动识别、网页文本抽取等服务。凤凰公司对IISC提供的服务及其运营模式非常感兴趣,希望万合公司能够在其ERP和CRM的整合业务中使用IISC的服务。例如销售人员或财务人员可以通过上面提供的信息智能服务浏览某个客户在Internet上的摘要信息。但是凤凰公司希望万合公司能够帮助他们最大化地、最有效地使用信息智能服务社区上的服务。

    大赛题目说明

    • 题目中描述的是凤凰公司要求万合公司最后能够帮助他们实现的业务目标,并不是凤凰公司当前的业务情况。
    • 题目中描述的仅仅是凤凰公司业务整合的基本需求,本次大赛鼓励参赛团队依据凤凰公司信息化发展策略,发挥自己的创造力,为凤凰公司制定切实可行的发展计划,并根据自己的实施能力在大赛中实现发展计划的一个或者多个阶段。
    • SOA强调业务需求与IT的一致性。题目中对企业策略和业务方面的描述并不充分,参赛团队可以从业务的层面扩展基本需求,并使得扩展后的业务需求和题目中的需求(或者参赛团队修正后的需求)从SOA的角度相一致。
    • 题目中描述的ERP很可能需要集成万合自己开发的服务组件,例如日历组件(但不限于此,依需求而定)。
    • 虽然SOA可能并不是解决本大赛题目的最佳途径,但从本次大赛的目的出发,SOA的理解和应用程度将是本次大赛评判的重要标准之一。
    • 题目中的IISC是一个虚拟的服务社区。设计参赛队伍可以最大限度地发挥创造力,将IISC的服务融入到凤凰公司的业务整合中。
  •     任何一项新概念和技术的出现都不是偶然发生的,SOA也不例外。面向服务的体系结构核心是服务,那么为何服务这个概念会被提到如此高的程度上来呢?

        考察这个问题必须抛开所有的技术思维,从行业经济发展的角度来看,现在的社会经济早就已经不是亚当斯密哪个时代了,已经从总体供给相对不足的卖方市场转化为了总体供给相对过剩的买方市场了。企业作为经济中独立的个体,在新的越来越激烈的竞争中如何脱颖而出呢?同时随着IT大潮的不断冲击,企业的信息化进程也日益成为重中之重。这两个棘手的问题被摆在了所有人面前,尤其是那些希望为企业提供优良IT解决方案的整体服务供应商面前,不可否认的是在这个方面最有优势的应该是IBM公司,不仅因为其历史悠久而且全面完整的软硬件产品线足以保证其在企业咨询和信息化建设领域中一枝独秀。

        一边是商务问题,一边是IT解决方案,如何将两者有机的结合起来,真正达到随需而变的境地呢?下图作了一个最好的诠释,那就是SOA,即采用业务驱动开发的方式。将商业问题或业务需求细化为IT 需求,然后将 IT 需求细化为 IT 功能,再将每个IT功能实现并部署以满足用户的需要。

    SOA之桥

    在这样的过程中,非技术的核心问题无外乎以下两个:

    1、什么样的情况适合SOA而什么情况不适合?

    2、如何将业务需求转化为IT需求并进一步转化为独立的松散耦合的IT功能?

        针对第一个问题,有的人认为SOA作为一种松散耦合优良体系结构,它必然适用于几乎所有的企业服务资源整合,我不这么认为,理由很简单,作为企业运营的根本标准是一件事情所付出的代价是否低于它的预期收益,如果代价远大于收益相信任何人都不愿意接受这样的改变。我认为以下的情况就不适合采用SOA的方式来改变目前企业已有的信息化模型:

  • 企业只将小部分 IT 预算用于集成活动。
  • 企业的大部分流程都是手动的或以文档为中心的,自动化的机会几乎为零。
  • 企业的大部分应用程序开发都使用相同的编程模型。
  • 企业的操作由一个或两个客户关系管理 (CRM) 和企业资源规划 (ERP) 应用程序管理,而且几乎没有集成要求。
  • 企业的现有技能库与实现支持 SOA 的基础结构所需的技能库之间存在重大差异。
  • 未发现可从 SOA 提供的功能受益的业务需求或机会。
  • 新业务服务的可用性将对现有的收益流带来负面影响。
  • 企业依赖的业务合作伙伴对公司间流程的自动化采用了不同的优先级。
  • 企业的主要业务的开展涉及到海量且同步性和实时性要求非常高的事务。

    而以下情况则明显符合SOA的应用标准,相信采用SOA结构会给企业带来巨大的收益:

  • 系统集成成本持续增长,而并未因为可提供真正投资回报 (ROI) 的新业务机会而得到缓解。
  • 兼并和收购是企业扩大市场份额和获得新发展机会的业务模式的核心。
  • 解决方案要求对来自异构系统和编程模型的业务功能进行集成。
  • 业务的生存依赖于根据市场变化快速调整或即时响应竞争威胁的能力。
  • 全球经济的影响要求企业事半功倍地开展业务,而且有必要依赖业务合作伙伴提供非核心业务功能。
  • 就提高收益而言,与业务合作伙伴协作的效率对企业十分关键。
  • 企业员工的效率出现了问题,因为他们的大部分时间并没有花在提供公司业务模型的核心功能和服务上。
  • 企业的业务充满了机会型的业务工作。
  • 企业需要重新开始开发新应用。

        针对第二个问题,现在还没有明确的统一认同的方法,而这也是我们在这次比赛中要摸索和追寻的“关键路径”,但是转化和分解的过程中始终要遵循的就是松散耦合、可重用的服务组件化、独立与平台和协议等基本原则。

         那么概括的讲,什么是SOA呢?我认为SOA就是一个框架,它用于将业务流程和基础技术结构标准化,并且对松散耦合的可重用服务组件进行集成,它可以对服务进行组合、重用和调整以满足不断变化的业务优先级。总而言之,SOA实际上是一座桥,衔接了业务管理与技术实现之间的万丈沟渠。从某种意义上讲,让 SOA 正常工作在很大程度上不是取决于技术问题,而是业务控制流和 IT 控制流最优分解、匹配的问题。

        谈起SOA的好处无非就是服务重用啦、降低整合成本啦、支持跨平台啦、快速需求相应啦等等,不过太虚了自己掌握不多也就不再讨论了。