随笔分类 - 架构设计
摘要:统一数据访问介绍 统一数据访问(Uniform Data Access,简写为UDA)用于隔离系统和数据平台,使系统可以在各种数据库平台上自由移植。该数据库访问接口要求通过该接口对数据库进行访问的模块要提交标准的SQL语句,而不仅仅是对当前数据库有效的语句。 统一数据访问与数据层分离是相互相成的两个概念和实践、统一数据访问为数据层分离提供数据库访问环境及接口的独立、接口驱动及数据层体系结构的一致性提供保证。 统一数据访问内部自动包装ADO.NET,具体使用何种数据库则在外部由系统管理员定义在配置文件中。统一数据访问接口内部提供对数据库连接对象、数据命令对象、事务对象等的管理,因此客户端不需要自
阅读全文
摘要:插件契约介绍 我们知道,要基于平台(容器)加插件的这种模式进行开发,我们必须定义一组契约,用于约束模块插件开发,也就是说,模块插件需要遵守一定的标准进行开发,才能正常被容器调用,这就是IModule所定义的内容。IModule/// <summary>/// 插件接口定义。/// </summary>public interface IModule:IPrivilegObject{ /// <summary> /// 获取模块的名称。 /// </summary> /// <remarks>该值由开发者自己生成。</remark
阅读全文
摘要:过程介绍 AgileEAS.NET平台基于敏捷并行开发的一种实践,采用优秀先进的Microsoft .Net构件技术的插件式开发,AgileEAS.NET平台及其提供的一系列工具涉及产品设计、编码实现、测试运维等环境。 因为AgileEAS.NET采用了基于插件技术的增量开发模式,也就是说一个大的应用我们可以分解为不同若干个系统或者增量,对子系统进行优先级和依赖级别划分,根据子系统的依赖特别、优点级决定优先实现那些子系统;当然,若开发力量充足或者采用开发外包的方式可以分别实现相应的子系统。 而对于不同的子系统开发,我们可以参考瀑布或者其他的开发模型进行开发,在各子系统的实现中,平台提供的相应辅
阅读全文
摘要:AgileEAS.NET平台的开发指南系列文章,说是一个系列,实际上是我之前写好的一个文档,文档比较长,我就按章节分解着发上来,本系统主要讲述应用AgileEAS.NET平台进行开发的过程,以及各个开发过程的一些作法。开发指南系列AgileEAS.NET平台开发指南-开发流程 AgileEAS.NET平台开发指南-实现插件 AgileEAS.NET平台开发指南-数据访问 AgileEAS.NET平台开发指南-数据层开发 AgileEAS.NET平台开发指南-实现业务 AgileEAS.NET平台开发指南-处理报表 AgileEAS.NET平台开发指南-分布式应用 AgileEAS.NET平台.
阅读全文
摘要:概述 AgileEAS.NET平台提供了自己的报表设计器,并且把报表和平台集成在一起,开发人员可以使用独立的报表设计器设计好报表之后导入到AgileEAS.NET平台中,也可以AgileEAS.NET平台的报表管理中设计报表。 AgileEAS.NET平台在报表的部署上采用了集成部署的思路,即设计好的报表定义存储在数据库中,客户端在使用中读报表定义并缓存在客户端,平台中增加了一个报表管理的应用插件报表管理:用于管理系统中的所有报表。 报表管理 报表管理用于管理平台中所有的报表定义信息,从该模块中可以添加新的报表、删除现有报表、或者报表或者、修改报表定义和设计报表。 添加新的报表 选择工具条的“
阅读全文
摘要:介绍 AgileEAS.NET平台做为一个快速应用开发平台,其目的为是为了提高应用软件的生产效率,如何软件开发的生产效率,方法是多种多样的;使用工作简化开发中低技术重复工作可以是一种行之有效的途径。 在AgileEAS.NET平台中,我们提供了一个集数据库设计、代码生成、DDL定义与一体的数据实体设计器。 在早期的AgileEAS.NET版本中包含一个代码生成器,用于根据现在数据库生成ORM代码,后来的思路是想介入项目的数据库设计环节,所以设计了这么一个数据对象设计器,提供一个数据表定义工具,在项目的数据库设计阶段(环节),使用数据表设计工具同时定义数据库和数据实体模型,对象设计器会生成数据.
阅读全文
摘要:AgileEAS.NET应用开发平台最博客园最早的一篇介绍是2010年4月19号发的,随后也陆续发布了一些相关的介绍和应用的文章,最近差不多也一个多用不写了,主要原因是想着平台发布之后再继续写。 AgileEAS.NET平台定在本月内发布,到时间我会发布完整的开发包,包含所有程序集,类库参考手册,开发指南及相关文档,完整的开发例子,初次发布的管理和运行环境支持SQLServer/2000/2005/2008/oracle10/11数据库支持。 本文的主要目的是把以前介绍AilleEAS.NET平台的文章串起来:平台介绍 AgileEAS.NET之敏捷并行开发方法 AgileEAS.NET应用.
阅读全文
摘要:首先说一下 ,或许我是个懒汉,博客差不多已经一个月没有写了,给朋友们说声抱歉,最近发生了很多事,南方洪水呀洪水,北方热呀热,兰州遇到不知道多少年没有遇到的40度高温,其实说这些是扯谈的事,还得要生活啊,原本已经睡下了,睡不着怕起来写了这篇Post。 言归正传,在设计模块上有这么一个模块Service Locator模式,大概就是我叫他服务定位器的家伙,AgileEAS.NET平台服务定位器理论上也实现了这种模式,他做为对象控件反转IOC的一个补充,共同完成对象(服务)的解耦工作。 Service Locator模式的基本思想是:服务定位器知道如何获得一个应用程序所需的所有服务。也就是说,在具.
阅读全文
摘要:我们都知道,在做管理信息系统应用产品的部署和升级是很让人头大的过程,上百个客户段节点的程序都得你去更新一遍,特别是在项目的上线调试阶段,频繁的更改引起的程序部署,可以把你累死,把项目方的系管也累的半死。 基于这样的需求,出现了各式各样的部署和升级方案,首次安装、以后自己升级的方案得到了广泛的应用,也就是应用的智能部署与升级。 AgileEAS.NET平台也提供了这样的一个部署与升级方案,被应用于ActiveXForm和SmartWin应用中,AgileEAS.NET提供基于WebService的插件运行时智能升级方案,这里有两个概念,第一个是基于WebService技术传输,第二个是插件运行.
阅读全文
摘要:AgileEAS.NET平台做为一个快速应用开发平台,其目的为是为了提高应用软件的生产效率,如何软件开发的生产效率,方法是多种多样的;使用工作简化开发中低技术重复工作可以是一种行之有效的途径。 在AgileEAS.NET平台中,我们提供了一个集数据库设计、代码生成、DDL定义与一体的数据实体设计器: 在早期的AgileEAS.NET版本中包含一个代码生成器,用于根据现在数据库生成ORM代码,后来的思路是想介入项目的数据库设计环节,所以设计了这么一个数据对象设计器,提供一个数据表定义工具,在项目的数据库设计阶段(环节),使用数据表设计工具同时定义数据库和数据实体模型: 当定义好模型之后,可以直.
阅读全文
摘要:我们都知道,管理信息系统类的项目报表的位置是何等重要,业务运营数据最后给领导的反应就是那么几张综合的业务数据报表,我从事软件开发的这八、九年中,98%的项目都是管理信息系统项目,都时时被报表纠结着,早年用VB开发及至.net1.1时代都一直使用水晶报表,客观的讲,水晶报表是一套非常强大非常完善的报表系统,但是Vb6乃至.net1.1时代的部署可以把人搞的疯狂。 在AgileEAS.NET中关于报表系统的选择纠结过很长一端时间,用过其他的一些报表系统,也曾经使用html构造报表系统,效果都不是很理想,最后采用了基于RDL语言的开源报表系统fyireporting,最早基于其2.X版本进行了中文.
阅读全文
摘要:上一遍我介绍了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这样.
阅读全文
摘要:在前几天我发布了基于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之模块插件集成一文中所指的模.
阅读全文