|
中国管理软件产品开发战略与平台化架构分析(三)(刘国华)
"对企业业务对象规律的认识不够"与"基于传统开发模式的管理软件系统"这两方面是导致当前时代管理软件不能随需应变的主要因素,而基于企业模型与新的软件体系结构是解决上述问题的最佳解决方案。 本文关键字 理论探讨 声明: 1.畅享网专栏专家文章仅代表作者个人观点,并不代表畅享网赞同其观点和对其真实性负责,本网不承担此类稿件侵权行为的连带责任。 2.在本网的文章页面上进行跟帖或发表言论者,均为网友言论,不代表畅享网观点。 广告 第三章 软件平台化架构与企业动态建模
9.管理软件的平台化架构趋势
为解决软件产业的基本矛盾,人们一直在进行着持续不断的努力。概括起来,人们的努力有两个方向,一是软件工程、软件项目管理的方向,一是软件技术革新的方向。自诞生到现在,软件产业涌现了大量的技术革新。每一次的技术革新都向解决软件产业的基本矛盾迈进了一步。在所有的技术革新中,软件平台化是最有意义的,也是最有生命力的。
从上个世纪50年代中期第一个简单的批处理操作系统诞生到现在,软件平台已经历了50年的发展。在过去的发展历程中,有三个标志性的软件平台,即操作系统平台、数据库平台、中间件平台(应用服务器)。
正是这三种软件平台的诞生,极大地推动了软件平台及软件产业的发展进程。进入21世纪,软件平台化出现了新的发展趋势(如图3:软件平台化架构的新趋势):其一,中间件平台开始向“软件基础架构平台”转变,其二,是“业务基础软件平台”的诞生。 这种平台发展趋势对传统管理软件体系结构产生新的重大影响。当下流行的所谓“基于体系结构的软件开发”就是指需求与设计之间反映决策信息的中间过程,包括问题的定义、软件需求、软件体系结构至软件设计再到软件实现,将软件系统的结构信息独立于算法与数据,创建满足系统需求的新结构。
“业务基础软件平台”是一种技术创新,也是一种新的企业管理软件体系结构,它使软件平台又多了一个层次,并将企业管理应用软件的业务逻辑和实现技术分离开来,使得应用软件的开发者可以集中关注应用的业务领域,而不必关注其技术的实现。这使管理与业务人员参与应用软件的开发成为可能。
图3:软件平台化架构的新趋势
.10.关于业务基础平台架构
业务基础软件平台(以下简称“业务基础平台”,或者“业务中间件”)是指以业务导向和企业模型驱动的、可快速构建企业应用软件的开发平台。业务基础平台包括集成应用平台与开发体系两个部分。从技术角度分析,业务基础平台为企业复杂应用软件系统的开发提供了一个基本框架,并有与之相应的、方便易用的开发与维护管理工具。
这个框架给出了一些复杂应用软件的基本组成部分和实现方法,并且预置了很多供参考模型。有了这样的准备,在业务基础平台之上开发管理软件就可以降低复杂性,省去很多基础性的研发工作,从而大大缩短研发周期,提高研发效率,降低开发成本。具体来说,业务基础平台能满足复杂应用软件系统开发的如下要求:
1.速度要求。通过业务基础平台提供的基本框架,以及预置好的参考模型,软件提供商能很快地研制出用户所需要的复杂应用软件系统。
2.灵活性要求。通过业务基础软件平台提供的开发与管理工具,软件提供商能很方便地满足用户个性化的需求,以及用户在发展过程中各种各样变化的需求。
3.集成性要求。业务基础软件平台为复杂应用软件系统提供了一个集成框架,不仅为集成同一平台上的各种不同软件提供了规则,还为集成其他应用软件系统及下层的异构平台提供了集成接口。
11.业务基础平台的特点
除了作为一个软件平台的基本特性外,业务基础平台还具有以下两大特点: 基一,面向业务。操作系统平台、软件基础架构平台等都是面向软件开发人员,它使用起来技术门槛也比较高。而“业务基础平台”是面向业务人员的(并非说由业务人员来开发管理软件,而是业务人员能理解),它使用的更多是业务人员就能理解的“业务语言”(管理语言)。正是这种特点消除了复杂企业管理软件系统长期以来存在的两张皮现象(即缺少复合型的专业人才,懂技术的不懂管理,懂管理的不懂技术,管理人员、业务人员与技术人员之间一直存在着很难弥合的“鸿沟”)。为解决管理软件产业的主要矛盾创造了新的条件。
其二,技术无关性。技术无关性不是指业务基础平台和实现技术没有关系,而是指业务基础平台“屏蔽”了操作系统、软件基础架平台的技术细节,开发人员在利用业务基础平台开发管理软件应用系统时,关注的焦点在于企业业务逻辑、企业的运营管理模式,而不用关心采用何种技术来实现。简单地说,这种技术无关性其实也就是跨平台,即通过业务基础平台开发的软件能够顺利地在各种下层异构环境下运行。
业务基础平台的出现使软件平台多了一个具有革命性意义的战略层级,为降低企业管理软件尤其是大型企业管理软件系统的实现难度提供了新的途径。
.12。企业动态建模(EMA)
业务基础平台不仅对企业管理软件系统的体系结构产生了新的影响,它企业管理软件的开发方式有着革命性的影响,并导致一种革命性开发模式的诞生。这种基于业务基础平台的全新软件开发方式就是EMA(企业模型自动化)。
EMA,本论文又称之为“企业动态建模”,是指使用企业模型(EM)和业务蓝图作为设计基础,以企业对象建模作为主要设计方式,使用模型运行平台来解释和执行企业业务,以模型自动运行为主要实现手段的一种开方方式。
换言之,EMA是通过一系列科学的步骤和采用一定的方法,对企业运营管理中分析和简化,去掉对建模目的影响不大的细节现象,于纷繁复杂的具体事务中抽象出具备相应逻辑关系的动态业务模型并自动执行的过程。
这一种方式发生的最重要改变就是通过业务基础平台直接执行企业业务模型,从而使软件开发的质量、成本、难度、效率和效益发生根本的变化。人们在进行应用系统的开发时,只需关注业务模型,无需关心技术平台与相关实现细节。从这个意义上讲,业务基础平台通过自己的支撑环境,将开发和运行管理软件系统所需要的底层技术进行了彻底的封装,而正是由于这种EMA开发方式促进了“技术无关性”这样的变化,使非专业IT背景的管理与业务人员有能力参与企业应用系统的开发、实施和调整。
MDA(模型驱动架构)就是一种体现EMA思想的方式。根据OMG的定义,“MDA 是一种组织和管理被自动化工具支持的企业体系架构和用于定义模型和推动不同模型类型之间的转换的服务的方法。” MDA以“分离业务功能分析设计的制品与实现技术之间紧耦合关系”的目的,通过业务基础平台和企业建模工具得到了很好的实现。简单地讲,MDA 就是一种应用系统设计和实现的方法。即,使用统一的业务模型语言和标准针对真实商业世界的企业业务活动进行模型化构建,并通过建立贯通最表层业务领域到最底层技术平台之间各个环节之间相互映射关系与自动转换、自动生成代码的应用系统开发方式。MDA技术的最大特点就是把建模语言当编程语言来用,而不只是当作设计语言来用。用建模语言编程可以提高生产率,改善质量,并使软件产品生存期更长。这也是MDA不同于其他开发技术的独点之处。
MDA 鼓励在软件的开发过程中有效的使用系统的模型,并且支持创建类似系统的最佳实践的重用。
EMA开发方式引起的变化
13.MDA的特点
MDA基于业务和管理层面,以业务建模为基本手段,从而构架、开发和维护业务应用系统。它的最大特点是业务导向和技术无关性。业务导向是指MDA基于企业工程理论和企业参考模型,为软件设计和开发提供有效的导向和依据,帮助开发者全面、正确和迅速地实现管理者的管理和业务要求,大幅度地提升管理软件的开发、发布和维护的效率及质量,并在业务持续完善的过程中实现快速调整;技术无关性是指 MDA通过运行平台直接执行企业的业务,实现业务模型和系统实现技术的分离,使应用系统可以在各类主流和标准的基础平台上运行,并可以顺利地迁移到未来的实现技术上。
MDA采用模型自动化执行作为软件的主要实现方式,企业管理软件中非常困难的实现部分和大量重复的业务逻辑已经无需编程(有研究表明:通常是企业通用逻辑中的70%-95%)。开发人员只需要聚焦于客户的业务逻辑,并可以使用多种程序语言来支持复杂业务逻辑。
.14 企业动态建模的过程和方法
利用MDA技术建模的过程涉及一系列的活动、方法和工具,用于建立描述企业不同侧面的模型。由于企业组织的复杂性,采用单一的模型无法完整地表达出一个企业多方面的特点,因而在企业动态建模中涉及到多个视角的模型,包括信息模型、功能模型、组织模型、过程模型、产品模型、资源模型等六个动态模型。
“信息模型”是从信息的角度对企业进行描述,企业信息系统是信息模型的一个体现,用于存储/维护/处理与企业相关的所有信息,这些信息是联系各个功能元素的纽带。 “功能模型”以功能活动为视角对整个企业进行描述,表现的是企业各功能模块之间的关系。 “组织模型”描述组织结构树、团队、能力、角色和权限等。 “过程模型”是通过定义组成活动及其活动之间的逻辑关系来描述工作流程的模型。 “产品模型”描述产品类型和产品结构等信息,也包括产品和其它企业要素之间的关系。 “资源模型”描述企业的各种资源实体、资源类型、资源池、资源分类树、资源活动矩阵等。
一个良好运作的企业会随着自身的发展状况、外部的经济环境等因素,适时调整自己的管理模式、组织架构、业务流程等。
企业动态建模的目的就应对企业根据其公司内部和外部环境的变化,以最快和最为合理的方式建立公司的组织模型、功能模型和过程模型,或对它们进行相应调整。帮助企业利用EMA方式和信息技术在无法预测和快速变化的市场竞争环境中求得生存和发展。
15、新的开发模式化解软件业的主要矛盾
因此,企业动态建模与新的软件体系架构是未来管理软件发展的核心。需要说明的是,业务基础平台与企业动态建模之间的关系,前者体现一种软件平台化架构的思想,是一个面向业务软件开发平台,而后者又是体现平台化架构思想的开发方式。这两者密切相关,或者说是一个问题的两个方面。分开来讲,业务基础平台是对新的软件体系结构的描述,而企业动态建模(EMA)针对开发方式的描述;合起来讲,因为软件体系结构从本质上就是模型的层次化,所以从更大的范围上讲,业务基础平台与企业动态建模所要表述的对象实质是一同样的东西。即一种能够把建模语言当编程语言,而不只是当作设计语言来使用并实现的新的开发模式,平台化指的是这种开发模式的结构。
这种新的开发模式就是本论文要说明的中心议题。它具有不同于传统软件体系结构的平台化架构特征,也具有不同于传统开发方式的企业模型自动化特征。这两种特性其实是完全一致的,都是为了说明层级区分和分析的实质。因为“企业建模自动化”的所描述的本质仍然是如何通过“层级区分”的手段认识业务对象的规律(模型本质是一种二维的层级结构),并通过建立与更下一层级之间的逻辑映射关系得以实现。正如诺贝尔奖获得者赫伯特 A. 西蒙曾论述到:“要构造一门关于复杂系统的比较正规的理论,有一条路就是求助于层级理论……我们可以期望,在一个复杂性必然是从简单性进化而来的世界中,复杂系统是层级结构的”。
因此,上述所谓新的开发模式同样是基于层级理论的深化。通过前面第二章与第三章的论述,我们了解这种新的开发模式相比于传统开发模式,在软件开发的时间、质量与成本上有革命性的突破,这使得实质性解决“不断增长、日益复杂多变的企业需求与落后的软件生产力之间的矛盾”成为可能,这种开发模式的大规模引入也将促使中国管理软件业进入“敏捷制造时代”成为可能。(完)
相关链接: 本文由作者向AMT提供 如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐 jill.jiang@amteam.org | 021-51096826-112 | 在线联系 |
|
|
|