随笔分类 - AgileEAS.NET
摘要: 我在前面的.NET快速开发实践中的IExtenderProvider扩展组件和.NET快速开发实践之应用IExtenderProvider实现对象与UI控件的绑定两篇Post介绍了IExtenderProvider扩展编程模式和应用IExtenderProvider实现实体与对象的做法与例子,下面我为...
阅读全文
摘要:现在企业级的信息系统应用开发之中,数据层采用了ORM,解放了之前开发最大工作量的核对SQL语句,我到现在还曾经记得在2002年实医院管理信息系统时对齐一个插入数据的SQL语言搞的我头大,从那之后就能不能把这样的东西换个方式,之后搞.NET有了ORM,对齐SQL语句的事终于解放了,但是界面上的UI与ORM对象之间的数据交互避免不了,把数据实体的值显示在UI控件上或者把UI控件的值更新到数据对象,我们...
阅读全文
摘要: 说起扩展编程组件,我们不得不起到一个接口IExtenderProvider,参考msdn的定义:定义将属性扩展到容器中的其他组件的接口;下面我贴上IExtenderProvider的定义: ...
阅读全文
摘要:首先说一下 ,或许我是个懒汉,博客差不多已经一个月没有写了,给朋友们说声抱歉,最近发生了很多事,南方洪水呀洪水,北方热呀热,兰州遇到不知道多少年没有遇到的40度高温,其实说这些是扯谈的事,还得要生活啊,原本已经睡下了,睡不着怕起来写了这篇Post。 言归正传,在设计模块上有这么一个模块Service Locator模式,大概就是我叫他服务定位器的家伙,AgileEAS.NET平台服务定位器理论上也实现了这种模式,他做为对象控件反转IOC的一个补充,共同完成对象(服务)的解耦工作。 Service Locator模式的基本思想是:服务定位器知道如何获得一个应用程序所需的所有服务。也就是说,在具.
阅读全文
摘要:我们都知道,在做管理信息系统应用产品的部署和升级是很让人头大的过程,上百个客户段节点的程序都得你去更新一遍,特别是在项目的上线调试阶段,频繁的更改引起的程序部署,可以把你累死,把项目方的系管也累的半死。 基于这样的需求,出现了各式各样的部署和升级方案,首次安装、以后自己升级的方案得到了广泛的应用,也就是应用的智能部署与升级。 AgileEAS.NET平台也提供了这样的一个部署与升级方案,被应用于ActiveXForm和SmartWin应用中,AgileEAS.NET提供基于WebService的插件运行时智能升级方案,这里有两个概念,第一个是基于WebService技术传输,第二个是插件运行.
阅读全文
摘要:控制反转,即IOC(Inversion of Control),也叫反转模式,也称依赖注入DI(Dependency Injection)模式,关于此概念的解释我在此文不做过讲说明。 对于设计模式类的东西,我也没有认真系统的去研究过那X类N种设计模式,无论何种设计模式,都用于解决一个问题,那就是解决对象之间的耦合关系,即解耦。 AgileEAS.NET在最初版本最不包含IOC容器,更多应用抽象工厂之类的设计模式,在这AgileEAS.NET大概第二个版本,加入了一个轻量级(微量级)的IOC容器,也许实现的并不优雅,在多年的应用中慢慢完善。 以下我列举一个 AgileEAS.NET平台IOC容.
阅读全文
摘要:AgileEAS.NET平台做为一个快速应用开发平台,其目的为是为了提高应用软件的生产效率,如何软件开发的生产效率,方法是多种多样的;使用工作简化开发中低技术重复工作可以是一种行之有效的途径。 在AgileEAS.NET平台中,我们提供了一个集数据库设计、代码生成、DDL定义与一体的数据实体设计器: 在早期的AgileEAS.NET版本中包含一个代码生成器,用于根据现在数据库生成ORM代码,后来的思路是想介入项目的数据库设计环节,所以设计了这么一个数据对象设计器,提供一个数据表定义工具,在项目的数据库设计阶段(环节),使用数据表设计工具同时定义数据库和数据实体模型: 当定义好模型之后,可以直.
阅读全文
摘要:我们都知道,管理信息系统类的项目报表的位置是何等重要,业务运营数据最后给领导的反应就是那么几张综合的业务数据报表,我从事软件开发的这八、九年中,98%的项目都是管理信息系统项目,都时时被报表纠结着,早年用VB开发及至.net1.1时代都一直使用水晶报表,客观的讲,水晶报表是一套非常强大非常完善的报表系统,但是Vb6乃至.net1.1时代的部署可以把人搞的疯狂。 在AgileEAS.NET中关于报表系统的选择纠结过很长一端时间,用过其他的一些报表系统,也曾经使用html构造报表系统,效果都不是很理想,最后采用了基于RDL语言的开源报表系统fyireporting,最早基于其2.X版本进行了中文.
阅读全文
摘要:上一篇文章AgileEAS.NET之数据关系映射ORM简单介绍了一下AgileEAS.NET平台中ORM对象的组织机构体系,但并没有对其所执行的数据存取操作介绍,在AgileEAS.NET中,我对ORM实体及其上的数据操作实现进行了分离,实体对象只呈现数据,而实体的增加、修改、更新、删除、缓存操作都通过ORM访问器实现。 在AgileEAS.NET两个访问器IOrmAccessor和ICacheAccessor访问器。 IOrmAccessor完成ORM对象(实体和表)和数据库的交互工作:查询、增加、修改、删除极其辅助任务,其接口详细定义如下: /// <summary> ///
阅读全文
摘要:上一遍我介绍了AgileEAS.NET中统计的数据访问,本文我将来介绍AgileEAS.NET中的ORM实现思路。关于ORM的概念和介绍,我在此就不在重复介绍了,我相信大家都很熟悉这个概念了。 AgileEAS.NETORM并没有采用如NHibernate中映射文件的文件的模式,而是采用了直接硬编码的模式实现,ORM体系设计采用了属性/列>数据对象>数据集合(表)的结构: 最基本的思路是一个记录/实体(IEntity)映射一条记录,一个实体包括若干属性/列(Colunm),而一组IEntity和一组Colunm组成一个数据表对象(IEntity),用于对象一个表、视图、或者一个查询
阅读全文
摘要:统一数据访问(Uniform Data Access,简写为UDA)用于隔离系统和数据平台,使系统可以在各种数据库平台上自由移植。该数据库访问接口要求通过该接口对数据库进行访问的模块要提交标准的SQL语句,而不仅仅是对当前数据库有效的语句。 统一数据访问与数据层分离是相互相成的两个概念和实践、统一数据访问为数据层分离提供数据库访问环境及接口的独立、接口驱动及数据层体系结构的一致性提供保证。 统一数据访问内部自动包装ADO.NET,具体使用何种数据库则在外部由系统管理员定义在配置文件中。统一数据访问接口内部提供对数据库连接对象、数据命令对象、事务对象等的管理,因此客户端不需要自己管理这些对象,.
阅读全文
摘要:前面的文章AgileEAS.NET之插件接口IModule对插件的基本契约宝义也就是接口做了一个介绍,本文将提供另一种模块插件的定义,采用属性标记插件。 我们定义了ModuleAttribute属性: ModuleAttribute /// <summary> /// EAS.NET模块插件属性。 /// </summary> /// <remarks> /// 提供IModule的标记实现,提供基于属性标记的插件实现。 /// </remarks> [AttributeUsage(AttributeTargets.Class)] public
阅读全文
摘要:前面的文章AgileEAS.NET之插件接口IModule和AgileEAS.NET之插件运行容器中对插件的基本契约宝义和运行容器做了一个介绍,但是在开发中并不是对每个模块都去实现这样的接口,我们在基于一些曲型的应用中提供了一些基础实现,应用开发者可以选择继续这个基础实现以实现特定的功能。 在WinForm应用中,默认提供了ModuleForm、ModuleControl两个IModule的实现,开发者在做应用开发时只需要重写GUID,ModuleName,Description属性及Run方法就可以了。 在WebForm应用中,同样提供了ModuleForm和ModuleControl这样.
阅读全文
摘要:首先,关于支持.NET Framework 版本问题;AgileEAS.NET最初是基于.net1.1的,目前网上能看到的基于早期版本的只有租吧二手房交易软件和售楼软件,之后2007年开始转移到net2.0版本,到目前为止,基于.net2.0,或许有人说,是否可以考虑基于.net3.5,.net4.0,这个就目前情况来说,还是基于.net2.0,因为对于企业管理信息系统来讲.net2.0足够了,我所熟悉的很多.net应用都是基于2.0版本,当然在以后我会根据需要增加.net4.0版本的支持。 其次,关于技术;实话说这里面并没有什么新奇技术,也没有什么高深莫测的东西,我只是用了众所周知的并且会.
阅读全文
摘要:在前几天我发布了基于ActiveXForm/SmartClient的在线演示,在ActiveXForm和/SmartWin在演示中,我们用两种表现试展示了AgileEAS.NET在WinForm开发技术上的东西,今天我发布一个基于AgilEAS.NET平台基于WebForm技术的在线演示。 说明一下,这个在线演示是我的一个客户基于AgileEAS.NET的一个项目,在他的同意的前提下我拿来展示一下,因为他这个东西开发时项目时间紧张(1个开发人员不到两周时间,而且之前没做过WEB开发),所以界面做做的很一般,还忘大家凉解。发布这个演示的不在于展示平台在Web开发用的什么高新技术,只是战示基于A.
阅读全文
摘要:今天放出了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开发扩展(针对.
阅读全文
摘要:距离上一次发布文章已经两月有余,本来是希望能坚持在短期内把AgileEAS.NET平台的技术文章写出来,以便让更多的同行了解,但无奈于生活,总是为了生活在奔波,5月份找了价工作敢了半个多月,上班心里总是不踏实,总觉得有必要把AgileEAS.NET整理下,所以最后又选择了辞了工作一天浑浑噩噩的过。 言归正传,在这段时间中,我把AgileEAS.NET进行了大量的删减,重新将模块插件体系进行了调整,并且增加了属性标记实现的方式,重新实现了AvtiveXForm。 准备在近斯陆续放出AgileEAS.NET的各部分内容,我也希望能有更多的朋友对这东西感兴趣,今天我将发布第一部分东西,之前只是在文.
阅读全文
摘要: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.
阅读全文
摘要:前面我们在AgileEAS.NET之插件接口IModule和AgileEAS.NET之插件运行容器中对模块插件和运行容器都做了介绍,我们知道,在运行容器中,我们要基于模块插件并结合账户/角色进行权限判定,在系统账户登录之后,导航动态加载账户所具有执行权限的模块。 AgileEAS.NET平台的权限系统参考了Windows系统的权限管理系统ACL(访问控制列表),AgileEAS.NET平台建立了基于模块插件与账户/角色组合的访问控制列表,对模块访问权限进行统一的管理和验证。 AgileEAS.NET提供了一供业务模块权限机制,这组功能包含在AgileEAS.NET之模块插件集成一文中所指的模.
阅读全文
摘要:前面的文章我介绍了AgileEAS.NET平台关于模块插件的集成,本文我介绍AgileEAS.NET平台中的一个重要功能,账户和角色。 做为一个企业级应用开发平台,我们应该包括账户管理,做为一个插件集成平台,我们应该包括模块插件的权限管理,而权限系统,也必须依赖于插件和系统使用者(也就是账户和角色)。 AgileEAS.NET参考了Windows系统的用户管理机制,Windows设置了用户和用户组,用户组是用户的组合,主要用于权限的设定,AgileEAS.NET设置了账户和角色,账户即一个独立的用户,而角色是具有同种应用背景的用户组合,一个账户可以属于多个角色,同样一个角色包含各个账户。 A.
阅读全文