帮你快速实现.net开发的应用框架-UCML,你了解吗?

友天下@277923869 2005-04-29 12:53:23
UCML--编译型应用框架快速开发工具体系介绍

一、前言
互连网的出现改变了人们的某些生活方式,而随着互连网的普及,越来越多的企业准备或已经要把过去传统的应用系统模式转移到互连网上来,这样的转移将极大地减少企业因维护庞大的分布式的应用系统而耗费的人力、财力和物力。
传统的应用系统开发方法(面向过程、对象等)在开发一个庞大而复杂的应用程序时已经显得力不从心,现在各个企业的经营状况、经营模式、管理流程差别很大,无法要求一个系统是标准化的来适应不同情况。软件企业或咨询公司在实施一个复杂系统时花费在客户化方面的时间和精力往往是难以忍受的。为此人们提出了工作流的概念,一个应用程序将有很多工作流组成,而工作流的调整只需简单的鼠标点击和拖拉就能完成,这将大大降低客户化的工作量。但这同时出现了第二个问题,在设计工作流节点时,能不能把数据、业务处理、业务展现、业务规则等分开处理,自然做到组件重用,也就是把工作流节点的业务处理独立于工作流本身,这样的系统才是一个软件开发企业需要的系统。所以一个只支持工作流的开发平台并不能很好地提高开发的效率。而基于面向框架的工作流系统自然而然应运而生,它将这几点非常合理和有效地融合在了一起。
二、什么是面向框架
应用框架(Application Framework)是一个“可复用”的、“半成品” 的应用。它预先设置了应用的体系结构,概括了数据访问框架、业务对象框架、工作流框架、权限管理框架、业务规则框架、报表框架等内部体系及框架之间的相互联系。使开发者能够在此基础上快度高质量地定制自己的应用系统。
面向框架的编程方法在提高软件开发效率、保障产品质量、降低开发及维护成本方面具有无可比拟的优势。
三、什么是UCML
UCML是一个面向应用框架编程思想的快速开发工具。UCML涵盖了一个应用系统业务开发的全过程,包括数据访问对象(DAO、O/R映射)、业务单元框架抽象、数据权限和访问权限、工作流引擎、中国式WEB填报报表和复杂统计报表、业务规则引擎等。
    UCML是一个面向应用框架的快速开发工具,他架构于当前主流架构.Net Framework基础之上,直接产出C#可编译型源码,由此UCML是不局限开发人员开发能力的一个平台。
用UCML开发出的应用系统,无论是对于开发者,还是对于最终用户,都是采用的最流行最通用的技术,保护了客户的投资和长期发展。
四、UCML应用框架体系的组成
4.1. 数据访问对象(DAO)
采用O/R映射及OID方案,通过数据访问层可以把物理数据库和业务处理分离,达到业务对象与数据处理对象的无关性。
4.2. 业务单元 Business Unit)
业务单元,又称业务处理对象,也可以简称业务对象,由多个业务组件和业务视图组件链接而成,UCML对传统的业务设计进行了全面的抽象,把一个业务单元的搭建过程分成数据对象(数据访问层)、业务组件、业务视图组件、业务处理对象四个步骤。
数据访问对象,DataLayer Access Object,简称数据对象,是对数据库的访问层。
业务组件,Business Component,简称BC,业务组件是建立在数据对象之上的、能实现业务需要的、可以被重用的业务逻辑。
业务视图组件,Business Visual Compoment,简称VC,是业务逻辑的展现部分。
业务单元,Business Unit,是一个独立的业务处理模块,它定义了一个业务处理的逻辑部分-业务组件,展现部分-业务视图组件,和业务处理逻辑,它由多个业务组件、多个视图组件链接而成。
4.3. 工作流系统
一个“工作流”就是一个连贯的工作过程或几个紧密相关的连贯的工作过程的执行。在此执行过程中,文档、信息或任务按一定的过程规则在参与者之间进行传递;
我们参照WfMC工作流标准,UCML工作流系统包含工作流图形化设计、工作流引擎服务、工作流管理、图形化的工作流监控等。
4.4. 业务规则
可以支持前端规则和服务端规则;可以定义规则集合,规则项,规则引用数据,规则优先级,规则互斥关系等;
在UCML环境中,根据规则定义生成规则程序,编译成独立于业务对象的规则程序,由规则引擎来调用。
4.5. 业务(统计)报表定义
UCML web报表即支持所见即所得的中国式复杂报表设计与web报表打印,还可以实现与业务数据结合,完成WEB报表填报工作;WEB报表设计可以方便地实现加线、删除线、分割、组合等处理功能.
支持固定行、自动行、分组、交叉、主从、套打、分栏、图表混排等多种展现方式。 4.6. 业务模板定义除了系统提供的业务模版外,开发者可根据自己特定的业务需要定制不同的业务模板,从而满足客户的丰富的展现要求。
4.7. CSS样式表定义
开发者可以在系统中预先定义好多种显示格式,可以实现样式的统一管理。
4.8. 应用系统通用功能组件
在UCML框架平台上已经开发了一个应用系统所需的大部分通用功能,开发者可以直接使用这些功能并进行扩展,从而大大缩短了客户应用系统的开发时间。


详情请登录网站:http://www.ucml.com.cn
...全文
3907 58 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
58 条回复
切换为时间正序
请发表友善的回复…
发表回复
8u9 2005-06-06
  • 打赏
  • 举报
回复
学习一下
makinfo 2005-06-04
  • 打赏
  • 举报
回复
不好意思,MSN是:hzyuyu@hotmail.com
makinfo 2005-06-04
  • 打赏
  • 举报
回复
本公司在招聘一个.NET方面的系统分析员,结果快一个月了也没合适的。
如果大家有兴趣,可以加我的MSN,一起聊聊hzyuyu@makinfo.com
billrobin 2005-06-01
  • 打赏
  • 举报
回复
我也想知道。因为我非常想买类似的产品来提高开发效率
mywebcom 2005-05-31
  • 打赏
  • 举报
回复
现在光是说了太多理论,
问题是目前有多少系统应用这种方式,
如果应用它,
真的能够提高效率和质量???
星塵子 2005-05-30
  • 打赏
  • 举报
回复
关注..
billrobin 2005-05-26
  • 打赏
  • 举报
回复
up
tkss 2005-05-26
  • 打赏
  • 举报
回复
学习,UML知很少,现在还不能发表什么?
梅青松 2005-05-26
  • 打赏
  • 举报
回复
广告也公告、置顶???
shan__le 2005-05-18
  • 打赏
  • 举报
回复
定义不错,给不会用的人也许能搞点外快
shangerhe 2005-05-18
  • 打赏
  • 举报
回复
有试用版吗?
bissz 2005-05-17
  • 打赏
  • 举报
回复
实现在经济快速发展,可以作这些大型软件
大聪 2005-05-15
  • 打赏
  • 举报
回复
要与世界接轧
ray680719 2005-05-14
  • 打赏
  • 举报
回复
up
ray680719 2005-05-14
  • 打赏
  • 举报
回复
up
qs1976 2005-05-14
  • 打赏
  • 举报
回复
up
wlovenet 2005-05-13
  • 打赏
  • 举报
回复
good good study,day day up!
lwdcxy 2005-05-13
  • 打赏
  • 举报
回复
仔细看了,都不错,呵呵!有点晕!!!还是要好好学习呀!!顶!!!
KingFir 2005-05-11
  • 打赏
  • 举报
回复
框架不是框框—应用框架的基本思想



软件构件化是21世纪软件工业发展的大势趋。工业化的软件复用已经从通用类库进化到了面向领域的应用框架。Gartner Group认为:“到2003年,至少70%的新应用将主要建立在如软件构件和应用框架这类‘构造块’之上;应用开发的未来就在于提供一开放体系结构,以方便构件的选择、组装和集成”。框架的重用已成为软件生产中最有效的重用方式之一。然而——

一、构件与框架有何关系?

1. 什么是框架?

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。

构件领域框架方法在很大程度上借鉴了硬件技术发展的成就,它是构件技术、软件体系结构研究和应用软件开发三者发展结合的产物。在很多情况下,框架通常以构件库的形式出现,但构件库只是框架的一个重要部分。框架的关键还在于框架内对象间的交互模式和控制流模式。

框架比构件可定制性强。在某种程度上,将构件和框架看成两个不同但彼此协作的技术或许更好。框架为构件提供重用的环境,为构件处理错误、交换数据及激活操作提供了标准的方法。

应用框架的概念也很简单。它并不是包含构件应用程序的小片程序,而是实现了某应用领域通用完备功能(除去特殊应用的部分)的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用期望的默认行为的类集合。具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支持应用专用的行为。

应用框架强调的是软件的设计重用性和系统的可扩充性,以缩短大型应用软件系统的开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较,应用框架更注重于面向专业领域的软件重用。应用框架具有领域相关性,构件根据框架进行复合而生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整。

2. 框架和设计模式

框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。构件通常是代码重用,而设计模式是设计重用,框架则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。

框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。

二、为什么要进行框架开发?

框架的最大好处就是重用。面向对象系统获得的最大的复用方式就是框架,一个大的应用系统往往可能由多层互相协作的框架组成。

由于框架能重用代码,因此从一已有构件库中建立应用变得非常容易,因为构件都采用框架统一定义的接口,从而使构件间的通信简单。

框架能重用设计。它提供可重用的抽象算法及高层设计,并能将大系统分解成更小的构件,而且能描述构件间的内部接口。这些标准接口使在已有的构件基础上通过组装建立各种各样的系统成为可能。只要符合接口定义,新的构件就能插入框架中,构件设计者就能重用构架的设计。

框架还能重用分析。所有的人员若按照框架的思想来分析事务,那么就能将它划分为同样的构件,采用相似的解决方法,从而使采用同一框架的分析人员之间能进行沟通。

采用框架技术进行软件开发的主要特点包括:


领域内的软件结构一致性好;

建立更加开放的系统;

重用代码大大增加,软件生产效率和质量也得到了提高;

软件设计人员要专注于对领域的了解,使需求分析更充分;

存储了经验,可以让那些经验丰富的人员去设计框架和领域构件,而不必限于低层编程;

允许采用快速原型技术;

有利于在一个项目内多人协同工作;

大粒度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护费用降低,而参数化框架使得适应性、灵活性增强。
三、与框架相关的概念

1. 白盒与黑盒框架

框架可分为白盒(White-Box)与黑盒(Black-Box)两种框架。

基于继承的框架被称为白盒框架。所谓白盒即具备可视性,被继承的父类的内部实现细节对子类而言都是可知的。利用白盒框架的应用开发者通过衍生子类或重写父类的成员方法来开发系统。子类的实现很大程度上依赖于父类的实现,这种依赖性限制了重用的灵活性和完全性。但解决这种局限性的方法可以是只继承抽象父类,因为抽象类基本上不提供具体的实现。白盒框架是一个程序骨架,而用户衍生出的子类是这个骨架上的附属品。

基于对象构件组装的框架就是黑盒框架。应用开发者通过整理、组装对象来获得系统的实现。用户只须了解构件的外部接口,无须了解内部的具体实现。另外,组装比继承更为灵活,它能动态地改变,继承只是一个静态编译时的概念。

在理想情况下,任何所需的功能都可通过组装已有的构件得到,事实上可获得的构件远远不能满足需求,有时通过继承获得新的构件比利用已有构件组装新构件更容易,因此白盒和黑盒将同时应用于系统的开发中。不过白盒框架趋向于向黑盒框架发展,黑盒框架也是系统开发希望达到的理想目标。

2. 热点、食谱以及好莱坞原则

成功的框架开发需要确定领域专用的“热点” (Hot spot)。应用开发者在框架的基础上进行开发,只须扩展框架的某些部分,“热点”就是在应用领域的一种扩展槽,开发者根据自己的需要填充这些扩展槽。“热点”使框架具有灵活性,如在具体的实现中,扩展槽可以被看成是一些抽象类,开发者通过重写抽象方法获得具体实现。

“食谱” (Cookbook)就是描述如何使用框架方法的文档。在“食谱”中包含了许多“烹饪”方法,这些“烹饪”方法相当于一些具体的操作步骤,描述了为解决某一专门问题如何使用框架的详细方法。框架的内部设计和实现细节通常不出现在“食谱”中。

框架的一个重要特征就是用户定义的方法经常被框架自身调用,而不是从用户的应用代码中调用。这种机制常称为“好莱坞原则”(Hollywood Principle)或“别调用我们,我们会调用您”。
自然框架 2005-05-09
  • 打赏
  • 举报
回复
那就开发自己的框架了
加载更多回复(38)

592

社区成员

发帖
与我相关
我的任务
社区描述
客服专区
其他 技术论坛(原bbs)
社区管理员
  • 客服专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧