日志

旧文新说:MDA在金蝶——初探金蝶EAS的技术内幕

 
  这是两年前写的一篇文章,在自己当时为媒体所写的文章中,真正打动过自己的就是这一篇。当时,正值金蝶EAS4.0发版。很多企业和业内人士没有体验到金蝶EAS的价值,为此,我和EAS开发部总经理、BOS开发部总经理进行了深入对话,结合自己对管理软件和MDA的认识写下这篇文章。时间到了2006年,金蝶正式提出“个性化ERP”战略,而作为IT部门,我们已经将掌握EAS的实施和开发技能作为衡量优秀的实施和开发人员的一个标准。金蝶EAS正在迎来自己的春天。今天中午,和EAS产品经理、实施督导聚餐,深为大家的雄心勃勃而骄傲!金蝶发布WINDOWS版财务软件、K/3软件、EAS软件一次又一次给大家带来了丰富的想象和巨大的商机,不论是员工还是伙伴,对金蝶的产品发展都引以为豪,我想这不是没有原因的。今天再次贴出这个文章,就是想起公司大范围的招聘金蝶EAS实施顾问和产品专家,这是一个产品从市场导入走向成熟期的标志。同时,对于有志于在ERP中高端市场耕耘的合作伙伴,无疑意味着巨大的商机。一周以来,为了给EAS项目服务器和数据库、存储系统选型,连续接待了主动前来的IBM、oracle、hp、EMC,他们无不对金蝶EAS的市场前景充满乐观,并对新的市场带来的肥肉垂涎三尺!EAS,确实意味着一个新的市场的成熟,、一个巨大的将降临在国内管理软件市场!

    刚刚发布的金蝶EAS4.0集团版传来消息:国内大型管理软件第一次全面实现了模型驱动架构(MDA)。国内管理软件领导厂商的这一重大技术变革正在成为企业用户、咨询厂商、行业开发者关注的焦点,因为金蝶MDA的实践意义已经远远超越厂商开发技术范围。这一变革再次把管理软件带到一个新的阶段,并即将对企业信息化和管理软件生态链带来颠覆性的影响!


MDA摆脱了技术平台升级的宿命

  过去,从系统建立到系统整合, CIO面临着的问题无一不与企业的技术平台有关,因此选用什么样的平台和技术标准成了一个关键的决策。不幸的是,新的IT技术规范令人目不暇接,从CORBA到EJB,从J2EE,到.NET,从EDI到XML/SOAP,技术标准和基础技术平台已经使CIO们头昏脑胀。而金蝶EAS4.0集团版所采用的模型驱动架构可以支持所有的这些标准,并能够很容易的实现不同平台技术的子系统自动集成。

  其实,CIO的苦恼也是金蝶的苦恼。金蝶从93年推出基于DOS平台的财务软件、96年推出基于WINDOS版财务软件,98年推出基于三层结构的管理软件,其间,还伴随着WINDOWS操作系统和数据库系统一次又一次的升级而被迫做出的产品升级。管理软件对技术平台的依赖不仅大大加大了厂商的更新换代成本,也对用户造成了影响,增加了系统的维护成本。

  最近,金蝶总裁徐少春在接受《21世纪经济报道》的记者采访时,谈到了平台依赖对金蝶技术发展的影响:我们97年就开始研究基于C/S的三层结构技术,98年开始开发基于三层结构的K/3ERP系统,99年底最终下决心研发自己的中间件。过去在微软的平台上开发,从VB到DNA到.net,每个平台我们基本都要重新写一遍,用自己的技术,就能摆脱对国外公司的依赖。

  认准了这个目标后,金蝶开始了急飞猛进的自主创新之路:1999年开始研究中间件,2000年发布国内第一个基于J2EE的应用服务器,2001年开始研发金蝶BOS的技术框架,并到美国实地考察了新型管理软件厂商MDA工具的研发和应用,2002年运用金蝶BOS开发原型系统,2003年正式发布金蝶EAS和金蝶EAS BOS,2004年,金蝶EAS BOS全面投入内部应用,APUSIC应用服务器通过世界级J2EE1.4认证,基于模型驱动架构的金蝶EAS4.0集团版正式问世。

  模型驱动架构是由OMG定义的一个软件开发框架。其关键之处是,模型在软件开发过程中扮演了非常重要的角色。在MDA中,软件开发过程是由对软件系统的建模行为驱动的。这就改变了管理软件的实现方式。金蝶EAS4.0产品研发过程可以抽象为三个步骤:第一步,建立元模型。元模型是建立模型的模型,元模型将管理软件的所有应用原子化,为业务语言开发打下了基础;第二步,在元模型的基础上,运用建模工具建立业务模型,包括组织模型、功能模型、信息模型、流程模型等,这些模型属于平台无关模型;第三步,根据不同的平台,对业务模型进行模型编译,生成相应平台的实现模型。这样就将传统的业务模型和平台相关的实现模型分离开了,摆脱了管理软件对技术基础平台的依赖,同时,从业务模型到不同平台的实现模型都保留了一致性。同一套业务模型,既可以在J2EE平台上实现,也可以在.net的基础上实现。

  美国国家标准和技术研究院的一份研究报告显示:“占世界软件销售额85%的是大型的专用软件,而其开发的失败率却高达70%!”金蝶EAS采用模型驱动架构,将业务模型和实现平台分离,确保了管理软件最核心的业务模型可以“一次开发,多次使用”,整个系统具备了不断自我重构的能力,这样就确保了管理软件不随技术的改变而过时,一套业务模型可以在多个技术平台上实现,既可以满足不同用户的需求,也可以有效避免新技术开发失败而导致整个系统推倒重来,使大型管理软件的可持续发展有了坚实的基础。金蝶的“庙算”不可谓不高啊!

MDA颠覆了管理软件的开发方式

  表面上看,金蝶研发组织并没有发生大的改变。需求、分析、设计、实现、测试,传统的软件开发过程并没有随MDA的实施而发生大的变化。实际上,MDA给金蝶研发的改变是深层次的全面转型。金蝶EAS开发部总经理认为MDA给管理软件开发方式带来的变化主要有三个方面:对开发人员的要求、开发结构的变化、开发平台的变化。

  从对开发人员的要求来看,开发人员的意识必须改变,模型驱动架构对开发人员的专业能力要求更高,开发更加规范。这种要求从专业能力来看,主要表现为业务分析能力需要提升;从开发规范来看,原来的一些小工具都可以自己做,现在必须先规划,然后在平台上开发。

  金蝶EAS的开发是基于统一的BOS平台,金蝶BOS实现了模型驱动架构的统一开发过程。因此体现出来的就是角色的比例出现变化。设计人员多了,开发人员少了,而且由于系统支持自动化测试,测试人员也减少了。

  在MDA开发中,最具有革命意义的是开发平台。“平台提供者”是MDA开发中一个很重要的角色。MDA的开发过程发生的最大的变化就是将程序员过去的以“代码”为中心的开发工作改变为以“模型”为中心的开发工作,所以,MDA开发平台所要实现的就是代替原来的代码开发中的IDE等开发工具,创建一个 “模型转换器”,将管理软件的研发生命周期中的各种模型(需求模型、分析模型、设计模型、实现模型、测试模型)按统一的过程进行自动的翻译和转换,直接编译为可以部署的应用系统。这种模型开发方式至今仍然有很多人认为不可能实现,因为这对程序员几十年的程序设计中的“编码”概念将带来巨大的冲击。如果基于MDA的“模型开发”普及开,将导致目前只会编码的部分程序开发人员出现人员过剩!

  这种颠覆性的变革在金蝶实现了!这就是人们一致未见其庐山真面目的金蝶EAS BOS系统。金蝶EAS4.0的全部应用程序都是在这个平台上开发的。作为一个软件开发人员,每个了解金蝶EAS BOS的人都为之感到振奋!金蝶EAS BOS不仅可以实现模型转换和编译,还提供了复杂模型的集成开发环境——BOS studio,从而实现了MDA集模型开发和代码开发为一体的统一开发过程。如不是见到金蝶EAS实实在在被这个工具开发出来了,很多人还不敢相信金蝶居然拥有如此先进的开发工具。金蝶EAS开发部认为,按最保守的估计,在金蝶EAS BOS基础上的金蝶EAS应用系统开发比传统开发方式至少快了三倍!所以,金蝶EAS BOS创造了管理软件新型的模型驱动的开发模式。

  Gartner的副总裁和研究主任Michael Blechar曾经评论,“随着J2EE应用的日益成熟,基于架构的代码生成的MDA将会非常流行,就象90年代的第四代语言一样,当开发组织在寻找更好的,更高生产率的支持新旧业务集成的开发方法时,他们中的大部分都会使用MDA”。金蝶经过多年的雄心勃勃的探索和实验,终于再次成为在大型管理软件厂商中第一个吃螃蟹的人!

  从国内管理软件近十年的发展来看,金蝶一直在技术上牛气十足的引领着中国管理软件的发展。早在八年前的1996年,金蝶第一个推出基于windows平台的财务软件,很快引来几乎所有的厂商跟风;两年后,金蝶第一个推出基于三层结构的管理软件,其后三层结构成为新的管理软件技术标准。对于CIO和开发人员来说,现在特别关心的是,金蝶EAS新的模型驱动架构是否会成为管理软件新的开发时尚?

  熟悉金蝶的技术专家认为,这次金蝶走得比较远,其他管理软件厂商在短期内已经难以望其项背:一是金蝶掌握了J2EE的核心技术,金蝶APUSIC甚至通过了只有世界领导厂商才会问津的J2EE认证,这种独有的技术优势其他厂商在短期内难以逾越;金蝶也是目前国内唯一通过SUN JCOE 2.0认证,唯一加入JAVA国际组织JCP的中国领导厂商;唯一通过CMM4.0全球认证的ERP厂商;二是金蝶通过近四年的研发在MDA开发平台上建立了比较高的技术门槛,实际上已经创造了一套新的管理软件开发技术标准,要重新建立一套超越金蝶EAS BOS的标准也是比较困难的。

  所以,MDA实际上帮助金蝶在管理软件的开发技术上树起了一道其他厂商难以逾越的技术壁垒,这有利于金蝶在未来几年冲击管理软件世界十强的目标。

MDA实现了流程驱动的管理软件

  MDA通过自下而上的技术驱动和自上而下的应用驱动实现了金蝶EAS的全新架构。这里自上而下的技术驱动就是上文提到的基于BOS平台的开发方式,而自上而下的应用驱动指金蝶EAS完全隐藏了业务流程的实现细节,全面实现了业务流程管理和控制。

  管理软件真正的价值是帮助用户进行管理,软件应该“听命”于用户,通过业务流程驱动软件的功能。但过去我们使用的管理软件不是这样的,是软件“指令”用户怎么做。最终用户只能按照系统的模块、功能、单据、帐簿、报表去完成指定的业务,每个业务流程的调整都需要通过软件功能的调整和配置去实现;如果软件功能不支持用户的流程调整,用户只能徒唤奈何!

  如何让软件“听命”于用户呢?金蝶BOS开发部展示了金蝶EAS自上而下的流程实现过程。

(图:金蝶EAS业务模型生命周期原理)

  这张图展示了金蝶EAS的流程定义、流程设计、流程开发和配置、流程发布和管理都可以在一个统一的平台上实现。
  流程设计人员可以通过BOS平台的建模工具采取可视化的方式进行流程的设计,效果如下:

(图,可视化的流程设计)
   在流程的运行过程中,各个节点的任务完成以后自动将任务发送到下一个处理节点。

(图:流程驱动的工作处理界面。)
   每一个流程的处理过程都可以通过流程监控清晰的看到处理进展:

(图:流程驱动中的流程监控)
  由此我们可以看到,流程驱动的管理软件与传统的管理软件在软件的主界面上是不一样的。传统的管理软件首先看到的是独立的软件功能模块,用户操作这些功能实现应用。所以用户在处理这些工作的时候必须在功能模块中寻找解决问题的方法,对业务流程并没有一个统一的视图。而在流程驱动的管理软件中,用户面对的每一项工作都表现为流程视图,所有的业务功能都是通过流程驱动的。流程不仅驱动了传统应用软件的功能视图,也驱动了业务数据相关的数据视图。如下图所示:

(图:金蝶EAS的流程驱动了业务功能和业务数据)
   金蝶EAS BOS开发部总经理还介绍,金蝶EAS的流程驱动实现了全面的业务控制,而不仅仅是局限于业务审批工作流,因此使整个系统的易用性都得到了大大的提高。全面的业务控制建立在对业务复杂性的全面分解基础上,包括针对所有流程的流程管理角色、执行条件、是自动执行还是人工参与;包括所有业务处理中的界面控制逻辑和业务控制逻辑以及业务信息的结构与特征,包括整个组织架构的管理。因此,金蝶EAS不仅仅实现了workflow(工作流),而且实现BPM(业务流程管理)。

MDA开创了管理软件生态链的新商机

  随着管理软件走向成熟,管理软件的增值服务已经成为众多咨询和系统集成厂商垂涎的肥肉。在国外,管理软件增值服务创造的商机数倍于ERP产品本身的市场销售额,但在中国,管理软件产业链一直缺少成熟的的增值服务模式。因为管理软件的增值服务模式取决于:业务流程与信息系统的技术实现是否实现了分离?咨询服务是否能够实现与信息系统的价值一体化?

  基于模型驱动架构的金蝶EAS BOS恰好实现了业务与技术的互相分离,又通过统一的基础应用平台使两者保持了统一。

  对于咨询公司,金蝶EAS BOS将业务模型与应用实现隔离开了,咨询公司可以利用企业建模工具直接实现软件系统的业务建模,这些模型与技术平台实现无关。这样,咨询厂商就从单纯的方案提供者,转变为业务模型的设计者,不需要经过技术人员的理解、转换就可以直接为系统识别。咨询公司的价值链进一步延伸到了“系统内部”,相当于将咨询和部分实施工作合二为一,既提升了咨询服务的有效性,也增加了咨询公司新的利润来源。这部分增值服务市场,正是金蝶在去年《告全球IT服务商》中宣布希望让出来的市场。通过金蝶BOS的模型开发工具,金蝶咨询服务伙伴可以实实在在看到其中的价值。

  对于具备一定开发能力的系统集成商、行业开发专家,金蝶EAS BOS也为他们提供了新的商机。金蝶EAS BOS面向行业开发专家,提供了金蝶EAS BOS。行业开发专家可以利用BOS Studio集成开发环境,采用模型化的方法快速构建特定行业解决方案。相对于传统的行业解决方案开发模式,金蝶BOS Studio集成开发环境已经为行业开发提供了丰富的应用框架,包括元数据、基础服务、工作流引擎,行业解决方案不需要重新从新开发这些基础框架,同时从流程设计到对象设计等大量的集成开发工具使行业解决方案的开发非常便利,模型编译器使模型可以直接运行。这就行业解决方案的开发方式发生了彻底的改变,而且确保了行业解决方案的高效率、低成本,降低了行业解决方案开发风险。更重要的是,行业开发专家开发出来的行业解决方案与金蝶EAS自然实现无缝集成——因为行业解决方案与金蝶EAS都是采用统一的模型元素开发出来的。


(图,金蝶BOS企业建模和集成开发工具创造了新的商机)
  综上所述,MDA在金蝶远不仅仅是一种技术实现方式。联系到2003年金蝶发布的“产品领先、伙伴至上”战略,我们完全可以相信,MDA在这个战略实现过程中,就象一颗用业务和技术、用户与厂商、厂商与伙伴的驱动力重新聚合起来的银弹,这颗银弹所具有的前所未有的驱动力和杀伤力,足以使管理软件的生态发生颠覆性的变革。这就是软件开发中所谓的杀手级的技术!

已经公开 2006年10月31日 23:08 作者: 王叶忠

评论

avatar 
借用一下,主人家!
2007-02-14 13:06
 
avatar 

你好!王叶忠先生.请告诉我你的联系电话.统计学86张教新

2008-06-30 9:40
 
请登录后再发表评论以赚取更多积分