随笔分类 -  软件工程

摘要:上一篇文章AgileEAS.NET之数据关系映射ORM简单介绍了一下AgileEAS.NET平台中ORM对象的组织机构体系,但并没有对其所执行的数据存取操作介绍,在AgileEAS.NET中,我对ORM实体及其上的数据操作实现进行了分离,实体对象只呈现数据,而实体的增加、修改、更新、删除、缓存操作都通过ORM访问器实现。 在AgileEAS.NET两个访问器IOrmAccessor和ICacheAccessor访问器。 IOrmAccessor完成ORM对象(实体和表)和数据库的交互工作:查询、增加、修改、删除极其辅助任务,其接口详细定义如下: /// <summary> /// 阅读全文
posted @ 2010-07-01 13:02 魏琼东 阅读(1642) 评论(0) 推荐(3) 编辑
摘要:上一遍我介绍了AgileEAS.NET中统计的数据访问,本文我将来介绍AgileEAS.NET中的ORM实现思路。关于ORM的概念和介绍,我在此就不在重复介绍了,我相信大家都很熟悉这个概念了。 AgileEAS.NETORM并没有采用如NHibernate中映射文件的文件的模式,而是采用了直接硬编码的模式实现,ORM体系设计采用了属性/列>数据对象>数据集合(表)的结构: 最基本的思路是一个记录/实体(IEntity)映射一条记录,一个实体包括若干属性/列(Colunm),而一组IEntity和一组Colunm组成一个数据表对象(IEntity),用于对象一个表、视图、或者一个查询 阅读全文
posted @ 2010-07-01 10:20 魏琼东 阅读(3195) 评论(1) 推荐(5) 编辑
摘要:统一数据访问(Uniform Data Access,简写为UDA)用于隔离系统和数据平台,使系统可以在各种数据库平台上自由移植。该数据库访问接口要求通过该接口对数据库进行访问的模块要提交标准的SQL语句,而不仅仅是对当前数据库有效的语句。 统一数据访问与数据层分离是相互相成的两个概念和实践、统一数据访问为数据层分离提供数据库访问环境及接口的独立、接口驱动及数据层体系结构的一致性提供保证。 统一数据访问内部自动包装ADO.NET,具体使用何种数据库则在外部由系统管理员定义在配置文件中。统一数据访问接口内部提供对数据库连接对象、数据命令对象、事务对象等的管理,因此客户端不需要自己管理这些对象,. 阅读全文
posted @ 2010-07-01 08:43 魏琼东 阅读(4073) 评论(4) 推荐(4) 编辑
摘要:前面的文章AgileEAS.NET之插件接口IModule对插件的基本契约宝义也就是接口做了一个介绍,本文将提供另一种模块插件的定义,采用属性标记插件。 我们定义了ModuleAttribute属性: ModuleAttribute /// <summary> /// EAS.NET模块插件属性。 /// </summary> /// <remarks> /// 提供IModule的标记实现,提供基于属性标记的插件实现。 /// </remarks> [AttributeUsage(AttributeTargets.Class)] public 阅读全文
posted @ 2010-06-30 18:49 魏琼东 阅读(1774) 评论(0) 推荐(4) 编辑
摘要:前面的文章AgileEAS.NET之插件接口IModule和AgileEAS.NET之插件运行容器中对插件的基本契约宝义和运行容器做了一个介绍,但是在开发中并不是对每个模块都去实现这样的接口,我们在基于一些曲型的应用中提供了一些基础实现,应用开发者可以选择继续这个基础实现以实现特定的功能。 在WinForm应用中,默认提供了ModuleForm、ModuleControl两个IModule的实现,开发者在做应用开发时只需要重写GUID,ModuleName,Description属性及Run方法就可以了。 在WebForm应用中,同样提供了ModuleForm和ModuleControl这样. 阅读全文
posted @ 2010-06-30 18:03 魏琼东 阅读(1546) 评论(0) 推荐(4) 编辑
摘要:在前几天我发布了基于ActiveXForm/SmartClient的在线演示,在ActiveXForm和/SmartWin在演示中,我们用两种表现试展示了AgileEAS.NET在WinForm开发技术上的东西,今天我发布一个基于AgilEAS.NET平台基于WebForm技术的在线演示。 说明一下,这个在线演示是我的一个客户基于AgileEAS.NET的一个项目,在他的同意的前提下我拿来展示一下,因为他这个东西开发时项目时间紧张(1个开发人员不到两周时间,而且之前没做过WEB开发),所以界面做做的很一般,还忘大家凉解。发布这个演示的不在于展示平台在Web开发用的什么高新技术,只是战示基于A. 阅读全文
posted @ 2010-06-28 11:15 魏琼东 阅读(3932) 评论(13) 推荐(4) 编辑
摘要:今天放出了AgileEAS.NET的ActiveXForm和SmartWin的体验,在大家对为东西有个简单的了解和感觉后,我会选择在合适的时间发放完整的开发包。 我想有的朋友安装了客户端也很想知道,那些程序集文件是敢什么用的,现在我把平台中的程序集简单的向大家介绍一下吧: 基础程序集: EAS.Kernel.dll 包含模块接口类的东西 EAS.Data.dll 提供统一的数据访问和ORM EAS.IOCContainer.dll IOC容器组件 EAS.Session.dll 会话组件 EAS.ServiceLocator.dll 服务定位组件 EAS.Web.dll Web开发扩展(针对. 阅读全文
posted @ 2010-06-26 17:19 魏琼东 阅读(2475) 评论(6) 推荐(5) 编辑
摘要:距离上一次发布文章已经两月有余,本来是希望能坚持在短期内把AgileEAS.NET平台的技术文章写出来,以便让更多的同行了解,但无奈于生活,总是为了生活在奔波,5月份找了价工作敢了半个多月,上班心里总是不踏实,总觉得有必要把AgileEAS.NET整理下,所以最后又选择了辞了工作一天浑浑噩噩的过。 言归正传,在这段时间中,我把AgileEAS.NET进行了大量的删减,重新将模块插件体系进行了调整,并且增加了属性标记实现的方式,重新实现了AvtiveXForm。 准备在近斯陆续放出AgileEAS.NET的各部分内容,我也希望能有更多的朋友对这东西感兴趣,今天我将发布第一部分东西,之前只是在文. 阅读全文
posted @ 2010-06-26 14:41 魏琼东 阅读(4581) 评论(6) 推荐(5) 编辑
摘要:AvtiveXForm在线演示地址:http://demo.smarteas.net/activexform/,如果是第一次体验演示,请在体验前确保安装了安装.NET2.0 和Activexform客户端,下载地址:http://www.agilelab.cn/downloads/eas/EAS.ActiveXForm.msi,体验页面中有下载链接。 先进行客户端安装,根据提示一路下一步直接完成安装就OK,这个不用详细说。 接下来我们打开IE浏览器,目前支持IE7和IE8,IE6上面没有运行成功,不知道是什么原因(^_^),在浏览器敲入http://demo.smarteas.net/act. 阅读全文
posted @ 2010-06-26 14:40 魏琼东 阅读(1488) 评论(0) 推荐(3) 编辑
摘要:前面我们在AgileEAS.NET之插件接口IModule和AgileEAS.NET之插件运行容器中对模块插件和运行容器都做了介绍,我们知道,在运行容器中,我们要基于模块插件并结合账户/角色进行权限判定,在系统账户登录之后,导航动态加载账户所具有执行权限的模块。 AgileEAS.NET平台的权限系统参考了Windows系统的权限管理系统ACL(访问控制列表),AgileEAS.NET平台建立了基于模块插件与账户/角色组合的访问控制列表,对模块访问权限进行统一的管理和验证。 AgileEAS.NET提供了一供业务模块权限机制,这组功能包含在AgileEAS.NET之模块插件集成一文中所指的模. 阅读全文
posted @ 2010-04-24 17:58 魏琼东 阅读(2984) 评论(4) 推荐(3) 编辑
摘要:前面的文章我介绍了AgileEAS.NET平台关于模块插件的集成,本文我介绍AgileEAS.NET平台中的一个重要功能,账户和角色。 做为一个企业级应用开发平台,我们应该包括账户管理,做为一个插件集成平台,我们应该包括模块插件的权限管理,而权限系统,也必须依赖于插件和系统使用者(也就是账户和角色)。 AgileEAS.NET参考了Windows系统的用户管理机制,Windows设置了用户和用户组,用户组是用户的组合,主要用于权限的设定,AgileEAS.NET设置了账户和角色,账户即一个独立的用户,而角色是具有同种应用背景的用户组合,一个账户可以属于多个角色,同样一个角色包含各个账户。 A. 阅读全文
posted @ 2010-04-24 17:34 魏琼东 阅读(2293) 评论(3) 推荐(3) 编辑
摘要:前面的文章AgileEAS.NET之模块插件集成我对基于AgileEAS.NET+模块插件开发模式的插件集成进行了简单的说明,本文我补充一下集成的另一个任务,模块插件的组织。 在AgileEAS.NET平台介绍中,我们提供到系统设计的一个要求,那就是系统被分解为子系统,子系统包括子系统和模块,模块为不可再分的叶子结节,各模块独立并行开发,总装集成。 AgileEAS.NET,我们提出了一个程序组的概念,也可以理解为程序包或者子系统,模块安装完成后,我们可以对其进行分组组织,这样就可以有序的加载至系统导航栏或导航菜单,在AgileEAS.NET平台中,资源管理平台提供了程序组模块实现程序的组织. 阅读全文
posted @ 2010-04-24 15:28 魏琼东 阅读(2009) 评论(4) 推荐(4) 编辑
摘要:前面我们在AgileEAS.NET之插件接口IModule和AgileEAS.NET之插件运行容器中对模块插件和运行容器都做了介绍,本文我们介绍AgileEAS.NET平台对模块插件的集成。 我们知道AgileEAS.NET平台所依赖的基本思路是,各模块插件独立并行开发,然后通过资源管理平台进行总装集成,关于资源管理平台呢,我以理解为基于某种运行容器支持的一组基础管理应用,功能包括:模块插件的安装、组织和管理,管理系统账户和角色,提供一致的权限管理系统,以及相关的配置类工具。 本文重点介绍模块插件的安装和管理,也就模块插件的集成;我们提供了一个模块管理的业务模块用于完成安装、配置和卸载功能。. 阅读全文
posted @ 2010-04-24 14:21 魏琼东 阅读(2036) 评论(1) 推荐(4) 编辑
摘要:前面的文章AgileEAS.NET之插件运行容器中对基于WinForm和WebForm技术的容器做了个简单的介绍,接下来,我们介绍一下WinForm和WebForm技术结合的容器ActiveXForm容器,先上图再说。 前看不清楚的请通过上图的链接,或者去相册中看,有100%清晰的图。 到目前为止,我把基于WinForm和WebForm技术的四种运行容器大概的介绍了一下,ActiveXForm运行容器是WinForm和WebForm技术相结合实现的。 ActiveXForm容器在解决信息管理系统特别是基于Interaet中的事务处理系统有一定的优势,纯B/S技术的在解决客户端体验、精确打印、. 阅读全文
posted @ 2010-04-23 22:45 魏琼东 阅读(1945) 评论(10) 推荐(4) 编辑
摘要:上一篇AgileEAS.NET之插件接口IModule中我们介绍了EAS.NET模块插件契约,在本文我们将介绍一下调用插件的运行容器,即平台。 AgileEAS.NET平台最早是应用于基于WinForm技术开发管理信息系统应用的,所以基于WinForm的运行容器最为成熟,在应用WinForm技术的运行容器我们提供了三种:传统的WinForm容器、基于智能客户端技术的运行容器和基于WinForm和WebForm技术结合的ActiveXForm容器,也提供了基于纯WebForm技术的运行容器。 废话不说了,下面我贴出传统WinForm容器和SmartClient容器的运行效果: 看不清楚图片的朋. 阅读全文
posted @ 2010-04-21 22:02 魏琼东 阅读(2520) 评论(9) 推荐(5) 编辑
摘要:我们知道,要基于平台(容器)+插件的这种模式进行开发,我们必须定义一组契约,用于约束模块插件开发,也就是说,模块插件需要遵守一定的标准进行开发,才能正常被容器调用,这就是IModule所定义的内容。IModule/// <summary>/// 定义EAS模块插件的基本规范。/// </summary>public interface IModule: IObject{ /// <summary> /// 获取模块的名称。 /// </summary> string ModuleName { get; } /// <summary> 阅读全文
posted @ 2010-04-20 21:41 魏琼东 阅读(2558) 评论(4) 推荐(3) 编辑
摘要:本文是继AgileEAS.NET应用开发平台介绍及AgileEAS.NET之敏捷并行开发方法所做的架构补充,用于阐释AgileEAS.NET平台的架构设计思路。 说起了系统架构,我也无法给出系统架构的确切定义,我的理解也许也只是基于自己经验的一个片断,我是学习园林专业身的,学习过园林建筑学,也许对软件框架最早的理解来源于对建筑的理解,我们知道,一个好的建筑必须解决建筑及其附属物的荷载及其美观和居住的舒适性,而这个必须通过其建筑的骨架--承重体系来支撑,建筑最先进行的其他承重休息的浇筑。 软件之系统架构有如建筑的骨架,不同规模、不同地域、不同应用的建筑会使用不同的承重结构。软件系统架构的设计如. 阅读全文
posted @ 2010-04-20 00:29 魏琼东 阅读(3977) 评论(1) 推荐(4) 编辑
摘要:首先声明,此并行开发非指并行计算,而是指实践软件工程所总结的一些心得和做法。 敏捷并行开发方法,是利用软件构件技术等技术,以及平台+插件化开发技术整合而出的一种快速开发模式;并行是指产品在生命周期内,项目管理过程、项目研发过程和机构支撑过程“并行”开展,项目研发过程中各个阶段有限度“并行”开展。并行开发 在传统的瀑布开发模式下,同一软件的多个阶段是顺序地被开发出来的,也就是说第一阶段全部开发结束后才开始第二阶段的开发;同样,等第二阶段全部开发结束后第三阶段的开发工作才会启动。但这种串行开发模式在当今的市场环境下越来越行不通,因为所有的软件产品都面临越来越大的迅速上市的压力,唯一有效的解决方案. 阅读全文
posted @ 2010-04-19 21:14 魏琼东 阅读(4455) 评论(4) 推荐(7) 编辑
摘要:介绍 AgileEAS.NET应用开发平台,简称EAS.NET,是基于敏捷并行开发思想以及.NET构件技术而开发的一个应用系统快速开发平台,用于帮助中小型软件企业建立一条适合快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行,基于AgileEAS.NET平台的应用系统的各个业务功能子系统,在系统体系结构设计的过程中被设计成各个原子功能模块,各个子功能模块按照业务功能组织成单独的程序集文件,各子系统开发完成后 阅读全文
posted @ 2010-04-19 12:33 魏琼东 阅读(8034) 评论(11) 推荐(11) 编辑
摘要:2004年开始学习.net,也就认识了博客园,当然,我是2006年才注册博客园账号的,我是从博客园学习.net的,早期博客园上大部分文章都看过,当然了,很少去写,一是水平有限,二呢是工作一直忙呀忙,当然了更重要的原因是散漫惯了,总是静不下心来去深入思考。 毫不惭愧的说呢,我是个懒人,对于上网和学习,我更习惯于去在网上搜索,不停的去搜索和阅读,以寻找需要的解决方法,只是不得已的情况下去查msdn类库... 阅读全文
posted @ 2010-04-17 14:59 魏琼东 阅读(668) 评论(0) 推荐(4) 编辑