UCML--编译型应用框架快速开发工具体系介绍
(2005.05.09)   来自:金富瑞科技  
 

一、前言

互连网的出现改变了人们的某些生活方式,而随着互连网的普及,越来越多的企业准备或已经要把过去传统的应用系统模式转移到互连网上来,这样的转移将极大地减少企业因维护庞大的分布式的应用系统而耗费的人力、财力和物力。

传统的应用系统开发方法(面向过程、对象等)在开发一个庞大而复杂的应用程序时已经显得力不从心,现在各个企业的经营状况、经营模式、管理流程差别很大,无法要求一个系统是标准化的来适应不同情况。软件企业或咨询公司在实施一个复杂系统时花费在客户化方面的时间和精力往往是难以忍受的。为此人们提出了工作流的概念,一个应用程序将有很多工作流组成,而工作流的调整只需简单的鼠标点击和拖拉就能完成,这将大大降低客户化的工作量。但这同时出现了第二个问题,在设计工作流节点时,能不能把数据、业务处理、业务展现、业务规则等分开处理,自然做到组件重用,也就是把工作流节点的业务处理独立于工作流本身,这样的系统才是一个软件开发企业需要的系统。所以一个只支持工作流的开发平台并不能很好地提高开发的效率。而基于面向框架的工作流系统自然而然应运而生,它将这几点非常合理和有效地融合在了一起。

二、什么是面向框架

应用框架(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框架平台上已经开发了一个应用系统所需的大部分通用功能,开发者可以直接使用这些功能并进行扩展,从而大大缩短了客户应用系统的开发时间。

五、UCML应用系统架构

六、UCML逻辑架构层次

七、UCML业务编程体系图

详情请登录网站:http://www.ucml.com.cn

转载于:https://www.cnblogs.com/oop/archive/2005/05/11/153120.html

UCML--编译型应用框架快速开发工具体系介绍相关推荐

  1. 开源集锦(五)开源框架和快速开发工具类

    Volley https://github.com/stormzhang/AndroidVolley http://blog.csdn.net/t12x3456/article/details/922 ...

  2. UCML-领先的B/S应用快速开发工具,基于组件重用和应用框架重用,支持.NET体系,直接生成C#源码;

    UCML-领先的B/S应用快速开发工具,基于组件重用和应用框架重用,支持.NET体系,直接生成C#源码:UCML涵盖了一个WEB应用系统业务开发的全过程,包括数据访问层(O/R映射)定义.业务框架开发 ...

  3. 15款针对Bootstrap框架的开发工具

    转自http://www.csdn.net/article/2014-02-18/2818443-15-best-bootstrap-tools-for-designers Bootstrap是由前T ...

  4. 使用 CodeIgniter 框架快速开发 PHP 应用(五)

    原文:使用 CodeIgniter 框架快速开发 PHP 应用(五) 简化 HTML 页面和表格设计 这一章介绍了又一个节约你的时间而且使你的代码更具安全性和逻辑性的领域. 第一,我们将会介绍创建视图 ...

  5. 推荐25款很棒的 HTML5 前端框架和开发工具【下篇】

    快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5.HTML5 有许多新的特性功能,允许开发人员和设计师创建应用程序和网站,带给用户桌面应用程序的速度,性能和体验. ...

  6. 使用 CodeIgniter 框架快速开发 PHP 应用(一)

    使用 CodeIgniter 框架快速开发 PHP 应用(一) 原文:使用 CodeIgniter 框架快速开发 PHP 应用(一) 对 CodeIgniter 的介绍 大多数PHPer都想写出运行状 ...

  7. 使用 CodeIgniter 框架快速开发 PHP 应用(四)

    原文:使用 CodeIgniter 框架快速开发 PHP 应用(四) 使用 CI 简化数据库开发 你学习CI 是因为你想要使编程更容易和更有生产力.这一章讲述CI的Active Record类. 如果 ...

  8. WaveMaker 快速开发工具

    最近,VMWARE 又将 WaveMaker 转手卖了!!!  2013-5-12备注. ------------------------------------------------------- ...

  9. 【最新最全】Java微服务实战项目【尚医疗】_智慧医疗管理项目_基于若依框架快速开发

    尚医疗是专门为各大医院.门诊提供的一款医疗管理平台.系统包含:系统管理.药品进销存管理.看病就诊.收费管理.检查管理.数据统计等核心模块.通过尚医疗系统可以快速.方便的管理病人从挂号到门诊结束所涉及到 ...

最新文章

  1. ASP.NET页面动态添加js脚本
  2. python判断集合为空
  3. html代码复制到asp中不一样了_迷你代码编程在线成语词典
  4. 由旋转画廊,看自定义RecyclerView.LayoutManager
  5. Java 异步编程:从 Future 到 Loom
  6. Microsoft Azure 简介及信息汇总
  7. 【Level 08】U07 Mixed Feelings L4 Learning by heart
  8. android studio viewo,android studio 3.6.0 绑定视图新特性的方法
  9. SCJP刷题学习笔记(Part six)
  10. 华为16道经典面试题
  11. seo与sem的区别与联系(大全篇)
  12. 复杂的密码学也可以人人可懂
  13. Mybatis 特殊符号(大于,小于,不等于)及常用函数总结
  14. 攻克弹唱第七课(如何弹奏neon)
  15. 绝对定位元素的margin如何设置
  16. java毕业设计——基于java+图像处理技术的医学图像处理系统设计与实现(毕业论文+程序源码)——医学图像处理系统
  17. 2021 第五届“达观杯” 基于大规模预训练模型的风险事件标签识别】3 Bert和Nezha方案
  18. python文件打包成之pyinstaller使用
  19. 计算机网络 与信息安全专业就业,信息安全专业是学什么的 毕业后的就业方向有哪些...
  20. 现有MyCAT上新增一个库及MyCAT报错1184问题解决

热门文章

  1. Altium Allegro PADS到底该选哪个EDA设计软件
  2. 互联网人的工资能有多高?
  3. C语言循环与判断语句案例:出租车打表计价问题
  4. MySQL数据库——MySQL主键(PRIMARY KEY)
  5. algorithm 头文件下的函数你真的都了解?
  6. 技术进步停滞?中本聪是谁?大学教育还有用吗?Peter Thiel 有话要说 | ArcBlock 播客 ⑤...
  7. 使用vue实现自己音乐播放器仿网易云 移动端 (audio、播放、暂停、上一首、下一首、展示评论、音量控制、进度条拖拽)
  8. 学习python有前途吗_学Python有前途吗?
  9. 计算机辅助发音,计算机辅助英语学习中音素发音自动检错系统
  10. 移动互联网的下半场,产品经理们该变了