余彤鹰:企业应用探索十五年之路线图

标签:
企业应用系统架构管理软件信息系统it |
分类: IT评论 |
余彤鹰:企业应用探索十五年之路线图
作者:余彤鹰, 来源:企业工程论坛, 发表时间:2010-07-30
摘要:本文回顾了十五年以来,围绕企业应用/信息系统这个中心所做的探索,描述了我们探索研究过程中的一些重要的里 程碑:起点或动因、认识过程中承上启下的关键点、重要的知识领域或课题。它们构成了一幅围绕着新一代企业应用这个核心目标的,完整的探索研究路线图,既记 录了我们的探索历程,也表现出有关新一代企业应用的基本要点与重要课题,和它们的内在联系。我们在1999年初提出的“新一代企业信息系统”框架等前瞻性 研究,对国内业界有实质性的影响。迄今仍保持着许多独到的之处。Forrester在2007年9月提出的新一代业务应用概念“动态业务应用”等论述,以 及近年国内外IT主流产品的一些发展,还有一些成功的平台产品,在多方面重复或实践着我们的基本观点。综合来看,我们的工作具有很大的前瞻性,正在逐渐得 到业界的验证,其影响是可见的,它的意义会越来越大。
1 引言
我们对企业应用/信息系统[1]的真正认识,可以从1995年学习、考察、引进、实施ERP类企业应用软件算起。回顾过去的探索历程,可发现许多明显的里程碑:或达成关键的认识,或拓出新领域、新课题。将它们按照探索或引发的线索画出来,呈现为下面这个图。
http://www.ee-forum.org/pub/files/2010/07/eef-research-roadmap-20101.png
图中的每个椭圆型可看作一个探索过程的里程碑,绿色的是研究探索的主要起点或动因,黄色的是认识过程中承上启下的关键点,蓝色的是重要的知识领域或 课题。连接它们的箭头,呈现了我们的思考与研究的实际过程,并暗合着它们的内在逻辑关系。为了避免图形太复杂,这个图有所简化,尤其在关键问题点方面。图 中也不包括相关的常规领域或课题,比如软件工程、信息理论、系统工程、管理学、数学等。这个图比较完整地概括了我们对信息技术企业应用(软件系统或信息系 统)探索研究的基本思路和收获点。可以看到,所有列出的方面,都围绕着“新一代企业应用”这一中心课题。
从收获的角度,我们的探索大致可分两个阶段。1998年企业工程论坛创建,发布《企业工程是什么》、《迈向21世纪的企业信息技术应用》等,概括了初期的标志性结果。2001年由企业工程论坛与天津大学管理学院、思维加速公司(现起步软件)等共同发起的“2001北京企业工程研讨会”、2003年互联网实验室的《业务架构基础平台软件产业研究报告》[2]等,显示了我们工作的早期影响。《新一代企业信息系统研究与开发纲要》(2004)概括了早期的研究思路。《新一代企业信息系统——从实质性需求分析与研究到模型驱动系统》(2005)与《在暨南大学管理学院的讲座:企业工程、模型及信息系统》(2007,演示文档下载)主要概括了第一阶段的收获。第二阶段,互联网成为一个新的主要动因,我们在第一阶段的基础上继续深入,并拓展到图中右侧的主要领域,也已获得了一些新的阶段性结果,但尚未做过系统性的发布。下面将按照路线图的线索,对各个关键点及领域做出说明。
1 起点与动因
1.1 管理体系与业务流程
我们实践与认识最初的出发点,是管理体系建设。其中的基本内容,是管理/业务流程的梳理或规划。它是理解“企业变革”、“企业工程”的重要出发点。 对管理体系整体性的建设或改造(例如ISO9000)是企业的一种系统工程,这是认识企业工程的关键。同时,综合管理软件或业务支撑系统的引进、实施过 程,本身就应当是一次管理/业务体系的改造提升过程,所不同的是它除了类似ISO9000,CMM那样的纯管理或业务要求,还结合着新的工具——企业应用 软件的学习与运用。(参看《ISO9000与管理软件应用》)
“管理体系与业务流程”和新一代企业应用的关系,在最初看似乎是间接的,但是,当明确了所谓“信息化/计算机化企业”的目标时,可以看到,企业应用系统本身就将是整个企业系统的有机组成部分,其设计与实施,逻辑上涵盖于整个企业的设计与实施(企业工程)之下。
1.2 企业应用最终用户的困惑
95年左右,我们在完成了一次历时两年,呕心沥血的ISO9000实施及综合管理升级工作后,开始启动一项电脑应用计划:希望把电脑的应用从文档编排、电子表格、dBase小工具应用层次上提升一步,因此,开始学习、寻找、评估适合制造业的管理软件。也就是现在习惯说的ERP类软件。作为前一项工作的延续,我们把软件实施和业务方法改变完全融合在一起。由此,开始切身体验到综合性管理软件的种种问题,包括这些问题的产生和解决。我们首先体会到了一些基本的疑惑,比如:
- 道理上,似乎符合逻辑的事情都能做到,但现实却很难找到“理想的”管理软件;
- 大量想要的功能没有,同时总有许多的功能不好用、或没有用;
- 用户被强迫适应软件产品,而不是软件产品适应用户;
- 实现一点用户认为非常简单的特殊要求或修改竟然那么困难;等等。
随后,我们接触到了企业再造工程(reengineering, BPR)等思想。在这些先进思想的启发下,得到了一些重要的认识,例如:
- 电脑的深入应用,会改变甚至抛弃旧的业务方法,因而,综合管理软件的成功实施过程,就会是一次管理体系(业务流程)的改造升级过程。[3]
- 业务和管理必然是家家不同、动态变化的,这与按照“需求”编制“软件包”之间有着本质性的、不可避免的矛盾,不是简单地说软件好不好或者开发商能力的问题。
- 理想的软件功能或基本特性,就必须包括“改变”——但那时看到的所有管理软件,都是传统的,用高级语言(可能加上SQL)编写的固定功能系统(通用软件包)。只带有一些非常有限和笨拙的“配置”或“客户化”。
- “个性化功能”与“动态改变”,不是单纯的程序设计课题,涉及到对软件的理解(按现在的讨论方式,首先是“架构”),还有整个软件公司的开发运作模式与所谓产品生命周期模型。因此,我们很早就理解到,基于编程员作业的“定制编程”生产模式为何难以大规模有效地经营。
综合地看,对这些困惑的思考,结合管理体系改造的经验,将我们引向两个方面的探索:企业变革和IT的作用(异化);企业应用系统的功能、特性和关联的实现方式。
1.3 互联网
互联网已经悄然成为企业应用研究的一个主要“动因”,但这是一个“后话”。我们第一阶段的收获基本不包含这一因素。
真正开始感受到它对企业应用乃至企业的经营环境、内部关系、外部关系的全面冲击,是2000年以后的事情。我们认为,互联网的崛起改变了企业应用的 进化路线,其效果,现在也只是初现端倪。但早期提出的“新一代企业信息系统”要点,虽然是在主机或客户/服务器(C/S)及局域网这样的计算环境之下提出 的,但我们提出的几乎所有要点都没有过时。互联网带来了更多的要求,例如开放的,更加普遍和复杂的分布式业务及协同作业,更强烈的动态性要求等。无疑,互 联网相关的技术吸引了业内的主要关注与资源,至少分散了一些我们认为重要的领域上的注意力。
在互联网这个动因之下诱导出的一个认识关键,就是“开放与动态协作”(见后面叙述)。此外,我们也发现,在典型的互联网计算环境之下(例如:相对仍 然有限的带宽、无状态连接和开放性),某些重要的应用/技术机制已经悄然成为下一代企业应用的基础或核心,在当今传统通信等向互联网融合,用户终端多样 化、小型化的大趋势下,这些机制的必然性开始更清晰地呈现出来。面向服务架构(SOA)是在这个背景下发展起来的一个典型,但不免陷入纯技术模式的藩篱。 云计算的出现,带来更大的变数。而我们关注的一些具体技术,业内的领导企业常有所涉及或发展,但却迟迟不见真正革命性的进展。这既有机会性的问题,也反应 了“创新”的基本规律:许多革命性的机会,只有轻装上阵的后来者才能够真正的把握。
2 认识过程上的一些关键点
2.1 企业变革与IT异化
从路线图和上面的说明中可以看到,对企业变革和对企业的管理体系/业务流程的规划,来自于两种基本的活动,最基本的当然就是业务/管理体系建设本 身,而综合性的企业应用(管理软件或业务支撑系统)实施,是我们关注的另一种来源。从这里就引申出IT对企业经营管理的影响问题(也就是所谓企业信息化问 题),在这里特别点明了认识的关键点:IT的“异化”作用:IT将改变应用对象,而应用对象的变化又在改变对IT的需求——我们在“信息化”这个话题下讨论了这些认识,参见《信息化概念与意义探究:三、一些启发性的理解要点》等系列文章。
再进一步,而从更一般化的角度看,企业是复杂的人造系统,它需要被设计(规划)和有效/可控制地实施。这就是“企业工程”。
2.2 企业应用系统的功能、特性及关联的实现方式
这是认识转变上一个重要的过渡:由“用户立场”转向从“用户、开发者或中立者”等多种立场看问题。由此形成更全面的认识,并逐渐发现一些被忽略的关 键——比如,改变或动态性是一种基本的、功能性的需求。而“实现方式”就涉及现在讨论得很多的“架构”问题,或更笼统的“设计思想”问题。它与功能、特性 的关联性,是认识的一个要点。有些设计思想及功能等,是相互制约、矛盾甚至无法调和的。
当我们理解了开发者的立场,就发现所谓“需求困惑”的问题,从而渐渐形成了“实质性需求分析与研究”的思维方法。我们也发现,在对企业应用所有的功能或性能要求中,随企业的改变而“动态改变”是对软件开发与架构最具颠覆性的诉求。
2.3 可以动态改变的企业应用系统
如前所述,“动态改变”是对企业应用最具颠覆性的诉求,这是我们最初得到的重要的认识之一。更具体地说,无论是怎样的配置、二次开发、客户定制或者 完全的按需生产,最终的目标,都是希望达成可以随着客户的业务、管理变化而动态改变的企业应用系统;它是最困难的,但同时又恰恰是当代企业经营环境对企业 的业务和管理模式最大的要求和挑战。
换个角度看,无论它有多困难,但这就是用户需求。必须将它看作需求,而不是麻烦。澄清这一实质性需求之后,再考察传统的软件模式和其开发模式,又会发现,要实现这一要求,必须从软件本身的设计思想(及架构等)到整个开发的模式及应用的生命周期、角色分工与供应链等,做出革命性的改变。
幸运的是,在软件如何能达成动态改变方面,我们很快就找到了其中的要害:以模型表达用户需求,将应用模型与技术平台分离(现在流行的说法是“解耦”);还有解耦后,达成新的有效系统的关键技术原理:“模型驱动”等。
在这些认识的基础上,我们分析与总结了企业应用(信息系统)的需求环境、提出了“新一代企业信息系统”(NEIS)的框架,并在1999年1月通过企业工程论坛发布。其中最重要的一份报告,即《迈向21世纪的企业信息技术应用》,在当时中文原创内容稀少的互联网上广为流传,引起了广泛反响。经过十余年的观察,其前瞻性、指导性已经得到了相当充分的验证。国内基于这个基本构思开发的商业化产品,也已经获得了很大的成功。
2.4 开放及动态协作
这是在互联网的背景下着重讨论的一个要点。互联网所带来的变革,在社会环境、企业经营模式、企业的内部、外部关系(从人际沟通到企业协作),包括IT本身,都是空前的,颠覆性的。
我们同样可以从两个方面去理解它的影响和实质性需求:从用户的方面,有基于新环境、新可能性而提出的新实质性需求;从IT方面,有新能力与技术创造 出的新可能性。需求困惑——用户需求的不确定性、幼稚性更加强烈。所以,更需要进行实质性的需求分析与研究,同时思考应用系统的新功能和业务方法革新的问 题。
互联网带来的影响非常广泛,而且正在不断发生。在这个简单的“路线图”中,我只列出了“开放性和动态协作”一个关键点。开放性的含义是多层次的。从 通讯层,到软件配置,到系统间、企业间互操作,等等。动态协作,是在这样开放而且是“分布式”(跨平台及全球性)的背景下的协作,并且常常是个体(人)与 电脑(机)混合的协作过程。
在这个背景之下,我们正在重新理解和定义应用系统的功能。无疑,在上一轮研究中提出的NEIS的基本原则仍然是重要的,但需要添加许多新的要素。
3 重要的知识领域或基础课题
3.1 企业工程及信息化
在企业变革及再造工程上再进一步,就是“企业工程”。 这是企业工程论坛开创的标志性话题之一,已经做了比较系统的阐述和发表。理论上,IT并非企业工程的本质动因,但在当代企业经营环境之下,IT是无法摆 脱、必不可少的伴侣。它对于企业工程有着多重的意义,任何其他的技术要素,都不具备这种地位。从实践的角度,“企业工程”还在系统实施方面与企业应用直接 联系在一起,并且需要企业建模工具的支持。(参见《信息技术对企业工程的双重作用》等文)。也是基于这个缘由,我们将“信息化”也归并在企业工程之下讨论。
同时,在今年发表的一些列讨论中我们也明确指出,在企业工程的框架之下,对于近年逐渐被重视和推广的“企业架构”(EA)概念,可以有更全面、完整的理解,参见《企业工程之屋0.92版》、《企业工程的内容与企业架构的定位》等。
在参与一些政府信息化领域的项目过程中,我们也曾将企业工程的基本原理在“政府”这种特殊“企业”的应用做了一些探讨,提出了“政务工程”的概念以及基于模型驱动机制的“电子政务推动模型”(参见《政务工程与电子政务推动模型的提出》)。这是一个十分重要和巨大的应用领域。
3.2 实质性需求分析与研究(ERAR)
这是我们对“需求困惑”给出的基本答案。
按照经典的软件工程观点,对于企业应用应该有什么样的功能、性能的探求,应当归纳在“需求分析”之下。然而,这里存在一些根本性的佯谬或悖论,也就是大家常说的“需求困惑”(参见《系统分析要研究、区分需求在未来变化的可能和变化的规律》)。这种需求困惑,也是最终用户的困惑的直接根源。
我们发现,所谓“需求困惑”的实质,并不是需求表述的精确性和对获取过程的工程化管理问题,这是一个误区,可以看到许多业者仍深陷其中。ERAR的 基本观点认为,在新技术应用的领域,需求是一种处于进化中的客观事物,它具有自身的演变规律、生命周期和生存环境。它是悬而未决的未来事物的一部分,并且 会因我们的介入(实施或应用)而改变,不确定性、幼稚性是它的基本特征,只有在具体的应用过程中才可能逐步地成熟与稳定。尝试、权宜、改变等,是这个过程 的基本组成部分。它的完整生命周期与应用过程是不可分离的。“满足用户需求”不仅仅是一个“发现-解决”的过程,还是一个“研习-创造”的过程。ERAR 的基本目标是揭示和总结各种隐蔽的、可能的或未来将要出现的需求,及其需求进化规律,提出或创造新的方案或模式。
这是我们总结出的重要指导思想和方法论框架。这一思想,是在软件工程领域传统的需求分析基础上提出的,是一种自然的深化和升华,因此,我们采用与传 统、习惯的称呼对应的表达方式,称其为“实质性需求分析与研究”(Essential Requirements Analysis and Research, ERAR,也可简称为“需求研究”)。我们对于企业应用所有的重要思考结果,都是在这一基本思想方法的基础上提出的。(见《实质性需求分析与研究(ERAR)》)
实质性需求分析使我们更好地理解和参与用户需求的产生和建立,例如理解到“动态改变”是一种实质性的需求,但如何解决这些需求,需要技术的方案。我 们同样把建模作为精确捕捉、表达需求的手段,但我们同时把它和“模型驱动机制”结合起来,从技术上解决需求实现的问题。这与现在仍然占主流的,基于模型驱 动开发思想,和所谓迭代、增量的开发过程技术完全不同。这些方法,本质上无法解决需求困惑,更无法实现“动态改变”。
3.3 企业建模
企业建模包括但不限于常见的“业务建模”[4]。我们特别强调企业建模应当是企业工程的一部分,以及它在企业工程和企业应用之间的桥梁作用。从现状上看,传统思路的企业建模研究,对企业工程概念并不很重视,与IT领域的业务(流程)建模也还有待融合,对现代企业应用的关系也常常变得含糊。
我们对于企业建模的独特理解,是将企业工程与新一代企业应用联系到了一起,支持这一联系的核心原理,就是企业模型和模型驱动机制,从而对企业应用领 域的经典课题IT与业务的“对齐”(align)难题作出了独特的回答。更广泛的考察,可以放在“模型作用机制”的基础上:必须首先搞清楚模型的用途、用 法(包括它们起作用的许多技术性细节),才可能真正知道你需要怎样的模型。此外,与常见的研究不同,我们把研究的重点放在模型的用法(作用)和模型本身的 内容与逻辑上,而不是放在建模语言上。
在这样的背景下,结合“一般建模理论”和“模型工作机制”方面的工作,在对概念/信息建模、传统企业建模、数据模型、面向对象建模等综合考察的基础上,我们开启了基于一般事物建模(GTM)的企业模型框架研究,以及与之相适配的企业应用框架。这一工作,与统一企业建模语言(UEML),有一定的可比性,但由于其目标与工作机制不同,因此,我们的工作将不同于目前所见的其它企业建模体系——这也是提出的意义之所在。
我们在企业建模方面的实质性工作并没有公开披露过。在企业工程论坛上,曾经有过一些讨论,其内容参见《企业建模与模型的一些讨论观点》等。
3.4 模型驱动机制与模型驱动系统
“模型驱动机制”(Model-Driven Mechanism, MDM)是我们在系统原理层面的独特发现。我们在这个基础上,进一步提出和定义了“模型驱动系统”(Model-Driven Systems, MDS),见《复杂系统的层级原理与模型驱动软件体系结构》(2002)、《模型驱动机制与模型驱动系统》(2005)、《企业应用与信息系统架构及模型驱动系统MDS》系列讨论等。关于模型驱动机制的完整阐述,可见2007的在暨南大学的演讲稿,其中我们将模型驱动机制的关键特征总结为三点:模型的独立性(独立储存、传输、复制)、时效性(运行期模型)和模型的可进化性(在使用过程中持续改变)。
“模型驱动”概念在近十多年成为IT业界耳熟能详的术语,主要是因为OMG2001年提出了“模型驱动架构”(MDA),并将其确立为未来的基本战 略。但MDA的发展并不理想,近年甚至有被边缘化的倾向。对于MDA的问题,业内已经有不少的议论。我们看到IT业许多实质上的“模型驱动”的实践,例如 国内外一些成功的应用平台、BPM,以及一些对类似系统或架构的研究(例如Forrester动态业务应用及具体框架设计,微软的Oslo计划等),常常 与MDA无关。
我们是在1999年的“新一代企业信息系统”构想中独立提出“模型驱动”这一概念的,从一开始就基于自己的理解、解释和定位。“模型驱动机制”概括 了我们的独特认识和发现。这与IT界在MDA方面的研究无关。另一方面看,MDA实质上就是对MDM的一种应用方式;换言之,对“模型驱动”这一术语的共 同采用,则并非巧合。
我们工作的另一个重要特征是,一开始就是从最终用户需求,即企业应用系统的基本功能角度提出的,这不仅涉及对应用系统的动态性需求,还包括我们对企 业工程与模型及信息系统之间关系的独特理解。因此在为什么必须采用模型驱动、用什么模型驱动、怎样驱动、模型与系统、开发者、企业(业务)分析者、最终用 户等的关系等方面,一开始就形成了我们自己的独特认识。
我们坚信,模型驱动机制是解决新一代“可动态改变”的企业应用不可绕过的基础性、核心原理。从经验来看,传统业界人士很少能够一下子接受我们的观点,但近十年IT企业应用领域产品的发展,却在一点一点、稳步增量地证明着这一点。
3.5 模型作用机制
“模型作用机制”(Model Working Mechanism, MWM),是我们在对“模型驱动机制”(MDM)的研究过程中识别出的重要研究领域,就目前对国外的观察,还没有发现类似的课题。它研究模型在一般系统功 能/行为形成与控制中的作用方式,并探索和建立其中的数学模型,对模型在实际系统中如何起作用和模型的类型、要求等作出揭示。存在多种不同的作用机制,而 我们所提出的“模型驱动机制”,可能会是其中最重要的形式。
模型作用机制与一般建模理论密切相关,是好的、有效地建模需要厘清的前提;对系统架构的设计也有直接的指导意义。它将是新一代企业应用系统原理方面重要、直接的基础。
3.6 一般建模理论
我们首先学习与研究的,正是软件应用领域常见的建模技术,例如所谓概念建模、数据(信息)建模、实体/对象模型等。当然,还有传统企业建模领域的许 多沉淀,包括近年兴起的业务流程建模、UML建模和所谓的问题领域建模等。在这些不同的建模方法、技术或模型背后,有许多共同的、规律性或基本的东西需要 研究和总结。
我们发现提出一门“一般建模理论”(Generic Modeling Theory, GMT)的可能性和意义,以及已经具备的一些基本条件,包括一些重要的数学基础、哲学基础。
我们有意识地将模型、建模的研究和建模语言的研究适当分离,把“语言”与表达理论、表示法等划为一起。看上去,似乎降低了“语言”的地位,这与建模领域的常见状况不大一样。
我们研究了“一般事物建模”(Generic Things Modeling, GTM)框架,并准备将其作为企业或应用系统(领域或需求)建模的重要基础。
虽然到目前为止,我们都不曾将构造一般建模理论作为自己预期中的任务,但这方面的工作却在相关的研究的过程中,很自然地在积累、蜕变。最近发布的几篇文章,就是从这些积累中抽取的一些片段,例如《一些常见模型类型与分类的初步讨论》等。
3.7 表达理论与表示法
“表达理论和表示法”包括“表达”方面的种种课题,通常所说的建模语言研究也可概括在其中,也可包括图形表示法等,这些不仅仅涉及企业建模,还涉及信息技术领域的各种建模。
“表达理论”目前还是一个比较少见的提法,但这个简单的名词具有很强的概括性。我们对这个方面的一些直接的需求或启发,来源于企业建模,特别是一般建模理论方面的研究。欧阳余山则在多年前,开辟了表达的数学模型研究的先河(见《表达的探究》),并在此基础上探讨企业建模等方面的课题。
与其它相关课题一样,我们的注意力,主要不是放在具体的语言上——我们已经有了相当多的“方言”,然而在实质目标上却难以进步,这里必定有一些重要的误区。
企业工程论坛最近发表的《认知结构三角模型及映像、模型与理论概念》,初步披露了我们在这个方面另一些可能十分重要的思考。尽管多年来,我们始终把新一代应用系统开发实现作为目标,但深入研究的过程告诉我们,理论和技术的发展必须均衡和相互促进。真正的新一代技术,必定有其独特的理论基础,我们的工作在这些方面已经初见端倪。
4 新一代企业应用的发展与我们工作的地位
“新一代企业应用”是我们整个探索的中心。首先,这里的“企业应用”,主要是指企业综合管理与业务支持系统,它应当支持整个企业的运作/管理体系。 我们认为,除了一些非常专业化的软件(例如:各种专业性的辅助设计软件)将长期保持独立外,其它的综合性、业务支持性功能,例如所谓管理信息系统 (MIS)、事物处理系统(TPS)、企业资源管理系统(ERP)、决策支持系统(DSS)、制造执行系统(MES)、人力资源系统、设备管理系统,包括 业务流程管理(BPM)等等(参见《企业应用发展线索分析》), 它们的功能,在企业内都应该表现为一个统一的有机系统,而不是由数据、流程割裂的系统再去“集成”。只有那些功能相当独立的专业软件,集成的方式才是适当 的。而所谓“新一代”,是以我们最初发现的一些基本特征而言的,不仅涉及功能,还涉及整个产品的应用方式、生命周期、供应链模式等。理论上说,没有互联网 的因素,按照我们的构思,足以形成一个特征强烈的产品世代。互联网的崛起,迫使“两代”的革命一起发生。
事实证明,即使在飞速变化的IT领域,真正认清并普遍接受这些革命性的思想并非易事,而互联网这一因素,又在相当大的程度上夺走了人们的注意力。虽 然对当代企业“变革”(change)的认识,从上世纪80-90年代起,就已经成为一种常识,但真正认识到企业应用本身“必须、也可以”随需而变,并落 实到运行期企业应用系统,能实现全新的用户系统生命周期和供应链模式的方案,却不多见。
例如,同样以“模型驱动”为基础的MDA,实践上基本局限于模型驱动开发(MDD)和基于模型的代码自动生成,所谓“可执行模型”基本被认为是不适 用或不现实的。在这些年企业应用的平台化大趋势中,绝大多数的方案,实际上是落入了“企业应用开发平台”的范畴,也就是比传统的集成开发环境(IDE,例 如曾经的Delphi)更专用的、自主的开发环境。另外许多的“企业应用平台”,实际仍然是集成化的固定功能通用系统,只不过包含了所谓“协同”和“自定 义工作流”。互联网强化和扩大了这方面的需求,使这一类系统广泛流行。但抛开工作流这一部分,在解决传统软件所覆盖的企业基本管理与业务问题时,往往与旧 的管理软件没有本质的区别。
近年兴起的业务流程管理(BPM)类软件,实际上是国外最能体现我们提出的模型驱动机制作用的大规模实践之一。在更早的时候,我们就对工作流有较清晰的认识,认为它可能形成新一代企业应用的重要、甚至核心的功能(基础)[5]。但我们强调从企业的整体综合性解决方案出发,实现对真实业务流程的支持,它是企业应用功能的一部分。从BPM的“动态流程”的实现,到综合性企业应用系统功能的动态化之间,还存在实质性的门槛。而迈过这一门槛的努力,正在按照我们所预想的方式上演(例如,《国外业务实体建模与业务流程管理(BPM)的新动态》)。
目前看到的,国外IT界与我们1999年提出的新一代企业信息系统具有真正可比性的重要例子,是国际著名IT咨询研究机构Forrester的 John R. Rymer与Connie Moore等2007年发表,名为“The Dynamic Business Applications Imperative”的报告,这份报告提出了“动态业务应用”(Dynamic Business Applications)概念,称之为“新一代业务应用”(或新一代企业软件),核心原则是“为人而设计,为改变而构建”。2008年Vasile Buciuman-Coman与Michael Chervenic等发表“Beyond SOA: A New Enterprise Architecture Framework for Dynamic Business Applications”(见《超越SOA:动态业务应用的新企业应用框架》,InfoQ,2008), 介绍了这一基本概念的企业应用框架如何和实现,提出了“自适应企业操作平台”(Adaptive Enterprise Operating Platform, AEOP)。我们初步看到,其技术性框架的构思有许多独特的地方,但那是一种全面的、运行期可改变的应用体系,而且呈现了典型的“模型驱动系统”特征,并 且这些模型并不是软件系统模型。
在国外,我们发现的另一个模型驱动的企业应用系统例子,是Havard Jorgensen等的博客(可 能要翻墙访问)中介绍的。他们的基本概念是“活动知识建模”(Active knowledge modeling, AKM)——用于动态可配置SOA的,以业务为中心的方法。他们明确地提出了“模型驱动应用”(Model Driven Applications),其主要目标,是建立一种新的软件平台,可以通过建模而不是编程来配置和改变其作用——这种想法已经“不稀奇”,我们更看重 的,是其包括了如下要点:由业务用户驱动、使用业务概念建模、用户在“运行期”(runtime)建立AKM等——他们很好地重复、验证了我们提出的一些 关键点。这些资料的发表时间,是2009年,据称他们的平台开发已经进行了十多年。
国内的经典实践案例,无疑就是北京起步软件(最初名为思维加速)的业务基础架构平台。这个产品的最初设计时(2000年左右),正是直接参考我们1999年发布的“新一代企业信息系统”框架进行的。经过多年的积累,在产品和商业化方面都已经相当成熟。
比较国内的一些平台产品和国外主流厂商产品线与战略及一些方案、理论展望[6],我们初步认为,在新一代企业应用平台,尤其 是模型驱动应用系统平台(注意不是MDA)方面,并不见得落后,某些方面甚至还可能局部领先。在国内管理软件领域,对于“企业建模”这一传统上来自工业自 动化等领域的、学术性很强的概念,关注程度也高于国外的一般情形,关注的角度、重点也有所不同。
综合来看,我们的工作具有很大的前瞻性,正在逐渐得到验证,其影响是可见的,它的意义会越来越大。
5 进一步探索的若干设想和困惑
这些工作坚持到这一步,凭个体的力量再进行下去,已经非常困难。在资源与精力的限制之下,我们只能越来越偏向某些领域的纯理论讨论和总结。下面这些主要课题,十分值得投入大量资源进行开发:
新一代信息系统的设计开发:虽然已经有了一些产品开发的实践,但现有的产品还存在各种的问题。其中一个方面,就 是此类系统往往显得庞大、笨拙,而这一点在当今的互联网应用环境中,更显突出。此外,在用户参与或整个应用生命周期上,往往不能完全达到预期的目的。“轻 量化”的程度,实际上是一个很好的指标,可以衡量出架构设计与实现技术等方面,对于新一代企业应用的原理、关键把握的程度。而应用系统功能改变的过程,到 底需要哪些、什么样的人完成(例如,是否要学习很多业务无关的特殊技巧),是另一个重要的标尺。这里的空间很大。市场上大部分的平台,还只是或多或少地部 分体现了新一代应用系统的特征,而常缺少、忽略一些关键的东西。以Forrester的“动态业务应用”宣言为标志,国际IT主流对这个课题的真正重视或 许就会到来(可能很多计划已经在进行中了),其中包括我们所强调但一直没有被“主流”采纳的一些关键点。
我们能够根据具体的应用系统开发目标,完成从应用架构设计到功能设计、模型设计的工作,并与软件专家一起进行技术架构、数据架构等的设计,对一些技术关键(例如模型驱动机制)的实现给予指导。
一般事物建模与企业模型框架的研究:这个工作我们已经有了清晰的方案并初具雏形。从应用角度看,“一般企业模型框架”[7]本 质上是一种标准化方案的设计,很可能会成为新一代企业应用竞争的战略制高点。要达成可发布、达到执行级标准的工作,需要投入较大的工作量和资源(例如,其 中包括对于同类、相关工作、标准或方案的梳理)。这个工作,对于新一代企业应用,和与此相关的企业工程实现,将是重要的基础。
企业工程:这是一个具有独立发展可能的领域,特别适合学术界与咨询服务界的参与。值得展开的工作包括知识与理论体系的构建、总结,特别是在实施方法方面的系统总结和积累,以及各方面的深入研究、应用推广、学科建设等。《如何深入开拓企业工程》讨论了这个话题。
其它技术或理论的研究课题:我们在探索的过程中,积累了许多具有应用/技术、理论/学术双重价值的课题或研究方 向。它们或者具有直接应用价值,或者涉及某些应用技术(主要是电脑软件方面)的基础理论。有些具体课题,只要做一些系统的文献综述与比较,就能够形成具有 很好学术价值的论文。还有一些饶有兴趣、深入的课题,需要或值得特定领域的专家(例如数学家)共同研究探索。
我们一直在寻求和尝试直接进行开发新一代应用系统的开发,但始终没有机会跨越人才和资金方面的门槛。我们也设想,将论坛实体化,或创建某种形式的研究所,以此为基础,与感兴趣的机构(企业、研究机构或个人)合作开拓。然而以我们的资源和经验,也还没有找到实现的途径。
6 后记
秉承企业工程论坛一贯的原创、共享精神,我们在这篇公开发布的文章中,对多年来的研究思路和要点做了系统的梳理和回顾,希望与各方面的朋友广泛交 流,包括在具体的领域、课题上合作研究或开发。虽然有企业工程论坛这样的公开平台,但我们许多工作(尤其具体内容和后期的工作)并没有做过多少介绍。第一 层的原因,是我们一直将企业应用开发作为直接追求的目标。另一层重要的原因,是国内的现实环境:公开的发表,有时差不多就是为“表姐”送嫁衣裳,甚至沦为 抄袭者的热餐(可参见《抄袭不成过街老鼠,何来创新沃土》)。
互联网极大地改变了企业应用的环境、技术与需求,也使我们能够始终保持对国外IT等领域基本趋势的跟踪与观察,从而得以避免许多闭门造车之弊。正是 基于这种观察,加上企业管理与应用第一线的实践,才能对自己的工作保持着坚定的信心。如果说十多年前,我们只算是有些独特见解,会开发数据库软件的企业管 理/企业应用跨领域顾问,经过这十年多年“不食人间烟火”的执着探索,我们已经在企业应用开发及原理的许多方面有了广泛的研究和积累,形成了系统的知识和 研究方法。
[7] 特别要区别于当前讨论较多的“企业架构框架”。
版权声明
本文允许自由转载,但须保持原始署名及出处。网络媒体需保持文中活动链接。