信息化基础建设系列文章汇总 .NET 平台业务项目实践
最近一段时间一直思考和总结,如何快速,方便灵活的开发.NET平台的ERP/MIS类型软件系统。
在此之前,写过一个系列的文章来表达我的理解,一共有以下八篇文章
之后,又对这个系列的主题文章进行补充完善,有以下八篇文章
一共是十六篇文章,以分享自己的.NET平台业务项目实践经验。
这个过程中,也开放了少量的代码和工具,请到epn.codeplex.com上获取相关的源码和文档。
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作为支持数据访问的入口,可以处理并发,多用户在线的情况。
总结:不要打击开源,源码总有适合阅读的人;也不要依赖开源,源代码也解决不了你的问题,做项目大部分的时间靠积累,靠沉淀。有机会接触到百万行级别的代码是幸运,也是不幸运的开始,你要从成堆的代码中理出头绪,挖掘出骨干框架,也并非容易的事情,最后若能以此提炼出开发框架,也算是一种努力。保护源代码,给程序集加密是一回事,分享源代码中的经验是另一回事,爱情向左,婚姻向右,你总得要找出一些事情来做,给自己的生活带来一丝改变。