windsha 2011-09-02
最近一段时间一直思考和总结,如何快速,方便灵活的开发.NET平台的ERP/MIS类型软件系统。
EPN是一套以ORM技术为基础的C#.NET WinForms开发工具,框架和业务实践,名称取自英文单词Intellligent Enterprise Solution的简写。随着时间的推移,逐步得到完善。
心里也一直想推广这个技术实践,虽然还有很多地方不完善,但是没有源码,大多数的开发人员并不感兴趣。曾经把源码,Visual Studio 2008/2010,SQL Server 2005都安装在一个虚拟机里面,供开发人员直接下载使用框架进行开发,效果也不好。对于开发人员,对微软的源代码是没有什么兴趣的,微软的很多框架,工具表面上不开源,但是你用Reflector同样可以得到它的源码,对此,我深有体会,容易得到的东西,通常都不会珍惜。
这个系列的文章,也没有打算完全把自己的业务框架开源,而是想构建一个轻量级的业务框架,并把它开放源码。轻量级的含义是指仍然是完整的开源业务框架,但是缺少开发工具的支持,缺少集成的业务系统,只支持一种数据库。
先搭个框架页面,来看看要达到的效果
这是个测试页面,你可以使用下面这篇文章中提到的源代码框架,快速建立这个模型。
请参考文章《Management Console 工具管理类软件通用开发框架(开放源码)》获取原型框架的代码。
需求列出
多国语言,要能实现多种语言的界面,先支持英语,中文简体和繁体。
实现四大类标准的窗体
EntryForm 业务单据窗体 比如输入采购单,采购送货
ReportForm 报表窗体 比如送货单报表,采购单追踪报表
EnquiryForm 业务查询窗体 查询已经过帐的业务单据窗体
FunctionForm 功能窗体 基本的功能 比如月结
报表可以通过浏览器访问,选择Reporting Services作为报表方案最合适。
工作流支持。支持简单的提醒,审批,日记帐过帐工作流,可自定义流程。
权限部分 日记帐权限,系统管理权限(数据库操作,用户管理)
数据审计 可对指定的业务数据,设定审计,以跟踪变化。
技术方案列出
既然是WinForms,肯定要选ORM工具,选择LLBL Gen 3.1。ORM工具+Data Binding可以减少很多代码。不选择NHibernate,也不选择Entity Framework,因为对这两个框架不熟悉,用起来不顺手。
数据库选择SQL Server,稳定,容易使用的数据库。如果做.NET开发,SQL Server通常是默认的数据库选择。
应用层使用.NET Remoting作为支持数据访问的入口,可以处理并发,多用户在线的情况。