近几年我一直从事于Web应用系统架构的研究和项目开发,传统Asp.net开发模式存在的种种弊端,对程序员的水平要求很高,导致项目开发、维护成本居高不下,严重制约公司发展。所以,从去年开始,我们开始致力于研究开发Web敏捷开发平台-e联在线系统,经过近两年的各种项目开发实践,该系统已经相当完善稳定,并作为一个商品化的开发平台推向市场。在此,我开始撰写该平台的系列介绍文章,和广大同仁分享,来探讨Web系统的敏捷开发模式。
《e联在线系统》是一个完整的Web应用系统架构,包括如下组成部分:
l “即插即用”、无需编码即可实现的数据实体;
l 在线编辑、在线发布的Web表单;
l 集成WWF工作流引擎;
l 完整集成了菜单、导航、工具栏、数据列表、弹出窗体等等常用的UI控件;
l 组织机构、用户角色权限控制;
l 自动实现的AJAX框架。
e联在线系统基于元数据模型驱动架构的设计模式,通过元数据来保存数据实体、Web表单、用户界面和工作流的模型,运行时系统框架加载元数据模型,自动创建相应的数据实体对象、表单对象、界面对象和工作流对象,以实现访问数据、创建表单、加载界面和启动业务流程。
传统开发模式,要实现对象功能必须进行编码,由于编写程序代码不直观、可读性极差、不易与非专业人员沟通、代码编写周期长、不能重复使用、不易修改优化。技术含量低,而且繁琐、冗杂,可维护性差,占用了大量的开发资源,甚至影响了项目进度。
采用元数据模型驱动架构的开发模式,实现对象功能只取决于赋予对象的元数据,也就意味着在成熟稳定的系统架构下进行开发,开发人员将从繁琐、冗杂的重复编码工作中解脱出来,将主要的精力集中于业务功能的实现上,从而使项目开发过程发生根本的改变。
在开始介绍 《e联在线系统》之前,我先介绍一个由系统实现的网上订单模块,让大家对系统有一个直观的了解。
l 网上订单需求定义
(1) 经销商输入订单、选择产品,提交到商务部门。
(2) 提交的订单,由商务主管、财务主管共同审核,需两者都同意后,才能发货,否则将订单返回经销商。
(3) 经销商可查看提交的订单执行情况。
(4) 正在执行的订单、成功执行的订单不能进行修改,作废的订单可以由管理员删除。
l 开发说明
(1) 所有的界面、表单、工作流程,均为输入参数后,由系统自动生成,没有一行编码。
(2) 用户需求变动时,无论是添加数据库字段、改动界面和表单,修改工作流程,都只需要调整相应参数,由系统自动生成对象即可,实现“即时修改、即时使用”。
以上Demo在网上有演示地址,感兴趣的同仁可以加入QQ群:C#敏捷开发(49562598),或者发邮件到 ynfengjun@Gmail.com,获得演示地址和用户帐号。
接下来的文章,我将开始详细介绍《e联在线系统》的系统架构。功能和设计理念,将请关注。