互联网时代,我们能跟上网络变革的步伐吗?我们的产品领先于竞争对手吗?我们能够满足日益个性化的客户需求吗?

采用新的软件开发方法是我们的首要选择。

第一个全面支持ASP.NET的应用框架开发平台诞生了—UCML 2.0 For ASP.NET。

UCML(Universal Component Modeling Logic),通用组件建模逻辑。是一个面向WEB的应用框架开发工具,它涵盖了一个应用系统业务开发的全过程,包括数据层定义(O/R映射及GUID技 术)、业务组件、界面逻辑及报表设计、业务规则设计、工作流设计、屏幕及菜单定义等。

UCML 2.0 For ASP.NET开发平台(二次开发平台) ,基于.NET技术的代码生成器,直接生成C#源码。

UCML,具有全面的业务框架抽象能力,使开发过程只需简单的定义即可。

UCML,基于组件重用和面向框架技术,从根本上改变了软件的开发方法,使开发者能够像搭积木那样构造自己的产品。在UCML中,一个典型WEB应用系统的开发,80%以上的代码量由UCML自动生成,开发者只需关心自己的业务部分即可。

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

五、UCML应用系统架构

六、UCML逻辑架构层次

七、UCML业务编程体系图

 
 
 
来源:http://blog.chinaunix.net/uid-17115-id-2828974.html

UCML 2.0 For ASP.NET开发平台简介的更多相关文章

  1. EPX Studio开发平台简介

    大家问我最多的问题就是“EPX 是什么?”“EPX 能够用来做什么?”“EPX 有什么优势?”“EPX 与其它开发平台的区别是什么?” 问题林林总总,总也回答不完,希望通过正文前面的这段文字,来简要回 ...

  2. 百度AI开发平台简介

    AIstudio https://aistudio.baidu.com/aistudio/index 关于AI Studio AI Studio是基于百度深度学习平台飞桨的一站式AI开发平台,提供在线 ...

  3. ASP.NET-FineUI开发

    ASP.NET-FineUI开发 随笔分类 - FineUI   ASP.NET-FineUI开发实践-10 摘要: 嵌套Grid,光棍月大放送,不藏着掖着.实在写的不好,没脸藏啊~只考虑显示排序修改 ...

  4. java通过百度AI开发平台提取身份证图片中的文字信息

    废话不多说,直接上代码... IdCardDemo.java package com.wulss.baidubce; import java.io.BufferedReader; import jav ...

  5. SNF快速开发平台3.0之BS页面展示和九大优点-部分页面显示效果-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout

    一)经过多年的实践不断优化.精心维护.运行稳定.功能完善: 能经得起不同实施策略下客户的折腾,能满足各种情况下客户的复杂需求. 二)编码实现简单易懂.符合设计模式等理念: 上手快,见效快.方便维护,能 ...

  6. SNF快速开发平台3.0之-界面个性化配置+10种皮肤+7种菜单-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout

    一.个性配置-首页:可以进行拖动保存配置,下次登录时就会按配置的进行加载 二.个人配置页面 7种菜单用户可自定义配置,和预览效果 10种皮肤自定义配置,和预览效果 皮肤和菜单可以随意组合-部分截图: ...

  7. CS页面-Asp.net+Spring.Net.Framework--SNF快速开发平台3.0

    SNF快速平台有BS和CS两种,之前介绍了BS界面,下面发几张图看一下CS界面看看是什么样的 这是SNF快速开发平台的CS框架 1.有多种主页和登录页面. 2.多种页面风格 下面就先先看看页面显示的效 ...

  8. cWeb开发框架,基于asp.net的cWeb应用开发平台介绍(二)

    cWeb是基于微软的.Net Framework 4框架,数据库是sql server 2008 r2. cWeb开发框架下载,点击这里去下载. cWeb开发框架借鉴三层架构理论分为三层,分别是:cD ...

  9. [c#]asp.net开发微信公众平台(8)微信9大高级接口,自定义菜单

    前7篇把最基础的消息接收和回复全做完了,  也把高级接口的入口和分拆处理写好了空方法,  此篇接着介绍微信的9大高级接口, 并着重讲解其中的自定义菜单. 微信9大接口为: 1.语音识别接口 2.客服接 ...

随机推荐

  1. Chunky Monkey

    猴子吃香蕉可是掰成好几段来吃哦! 把一个数组arr按照指定的数组大小size分割成若干个数组块. 例如:chunk([1,2,3,4],2)=[[1,2],[3,4]]; chunk([1,2,3,4 ...

  2. 将封装了envi功能的IDL类导出成java类,方便java调用

    目的:     用IDL将ENVI的功能封装成为IDL的类,并使用IDL的对象导出功能把这些功能类导出为java类,方便java调用.(本来想直接通过GP工具调用的,但是没有授权文件)   操作步骤: ...

  3. SSM整合AOP,日志框架和拦截器

    前言 日志是所有系统必不可少的部分,而AOP在MVC通常用于监控方法调用,可以生成一个traceid,记录从用户调用到底层数据库的数据链路,帮助监控和排查问题. AOP 现在做一个简单的前置切面,用来 ...

  4. hdu1507

    题解: 二分图最大匹配 建边和第一题差不多 每两个相邻的建边 然后输出方案 代码: #include<cstring> #include<cmath> #include< ...

  5. LeetCode OJ:Burst Balloons(击破气球)

    Given n balloons, indexed from 0 to n-1. Each balloon is painted with a number on it represented by ...

  6. java中+=详解 a+=b和a=a+b的区别

    short a=10; a+=4; System.out.println(a); 1.第一段代码的输出结果为14.执行流程是首先声明变量,判断赋给变量的初始值是否在short类型范围内,如果在则进行强 ...

  7. CSS 清除浮动 clear 属性

    CSS 清除浮动 clear 属性用于设定元素哪一侧不允许有其他浮动元素(而并非取消元素的浮动). 可能的取值如下: 取值 说明 none 默认值,允许两侧都有浮动元素 left 左侧不允许有其他浮动 ...

  8. Android内存优化(三)避免可控的内存泄漏

    相关文章 Android性能优化系列 Java虚拟机系列 前言 内存泄漏向来都是内存优化的重点,它如同幽灵一般存于我们的应用当中,有时它不会现身,但一旦现身就会让你头疼不已.因此,如何避免.发现和解决 ...

  9. java List 学习

    要学习List<E>接口,首先,我知道它还有一个父接口Collection<E>.而Collection<E>又有一个超级接口Iterable<T>. ...

  10. Linux基础三(正则表达式)

    语法(部分) 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.例如,“n”匹配字符“n”.“\n”匹配一个换行符.序列“\\”匹配“\”而“\(”则匹配“(”. ^ 匹配输入字符串的开 ...