随笔分类 -  软件工程

摘要:AgileEAS.NET平台提供了独立的配置文件,主要涉及一般配置信息、IOC对象配置信息、SL服务配置信息、WinService插件配置信息: 系统配置文件重有如下配置项定义: <configSections> <section name="EAS.Configurations" type="EAS.Configuration.ConfigHandler,EAS.Kernel" /> <section name="EAS.WinServices" type="EAS.WinService.Co 阅读全文
posted @ 2010-09-17 08:41 魏琼东 阅读(2257) 评论(5) 推荐(6) 编辑
摘要:基础类库介绍 AgileEAS.NET平台/中间件是一套以平台+插件为核心的应用平台,平台在纵向扩展上以平台加插件为准则。而在针对每个插件或者平台的实现,则由一组公共组件支撑插件开发过程的数据访问、业务逻辑等支撑。 AgileEAS.NET平台基础类库主要包含数据访问、ORM、 服务定位、对象反转控制、日志记录、报表、序列化、常用控件库、系统扩展组件、数据UI映射以及数据对象设计工作开发限制与特色... 阅读全文
posted @ 2010-09-16 11:19 魏琼东 阅读(4994) 评论(10) 推荐(5) 编辑
摘要:AgileEAS.NET平台介绍 AgileEAS.NET应用开发平台,或者说AgileEAS.NET应用中间件,简称EAS.NET,是基于敏捷并行开发思想以及.NET构件技术而开发的一个应用系统快速开发平台,用于帮助中小型软件企业建立一条适合快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发... 阅读全文
posted @ 2010-09-15 12:27 魏琼东 阅读(4332) 评论(3) 推荐(8) 编辑
摘要:分布式系统 分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无复本、数据存于哪个站点以及事务在哪个站点上执行等。 在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统 阅读全文
posted @ 2010-09-15 09:22 魏琼东 阅读(2432) 评论(8) 推荐(7) 编辑
摘要:报表系统介绍 我们都知道,在信息系统开发过程中,报表占据着很重要的位置,业务运营数据最后给领导的反应就是那么几张综合的业务数据报表,在如何选择一个合适的报表系统也让很多开发员纠结,AgileEAS.NET平台采用了基于RDL语言的开源报表系统fyireporting,最早基于其2.X版本进行了中文化并和AgileEAS.NET进行集成,到目前为止AgileEAS.NET平台中集成的是3.96版本,下面展示一下报表在AgileEAS.NET中的一个呈现: AgileEAS.NET平台对于fyireporting开源项目,只采用了其中的RdlEngine,RdlViewer和ReportDesig 阅读全文
posted @ 2010-09-14 15:36 魏琼东 阅读(3249) 评论(11) 推荐(5) 编辑
摘要:业务分层 依据行业经验来看,分层是解决复杂问题的简单方法,通过分层,可以把一个复杂问题分解为不同层次应用的小问题,解决各层小问题的难度小于总的问题难度;分层最成功能莫过于计算机网络通信协议,ISO/OSI、TCP/IP。 在信息系统开发中,我们也对一个应用按逻辑上划分为三层:数据层、业务层、界面层,其业务逻辑如下图所示: 大家通俗的对这样的结构称之为三层结构,或者演变为N次结构(对其中的某一层进行分解),两层结构(合并界面与业务为一个层,或者合并业务层与数据访问层)或者一层结果(所有的都在UI层)。 分层的架构设计或者实践在于应用开发的需求以及开发人中技术相制约,只有选择合适的分层模型,没有最 阅读全文
posted @ 2010-09-14 09:57 魏琼东 阅读(2120) 评论(0) 推荐(7) 编辑
摘要:统一数据访问介绍 统一数据访问(Uniform Data Access,简写为UDA)用于隔离系统和数据平台,使系统可以在各种数据库平台上自由移植。该数据库访问接口要求通过该接口对数据库进行访问的模块要提交标准的SQL语句,而不仅仅是对当前数据库有效的语句。 统一数据访问与数据层分离是相互相成的两个概念和实践、统一数据访问为数据层分离提供数据库访问环境及接口的独立、接口驱动及数据层体系结构的一致性提供保证。 统一数据访问内部自动包装ADO.NET,具体使用何种数据库则在外部由系统管理员定义在配置文件中。统一数据访问接口内部提供对数据库连接对象、数据命令对象、事务对象等的管理,因此客户端不需要自 阅读全文
posted @ 2010-09-13 11:05 魏琼东 阅读(2234) 评论(4) 推荐(2) 编辑
摘要:插件契约介绍 我们知道,要基于平台(容器)加插件的这种模式进行开发,我们必须定义一组契约,用于约束模块插件开发,也就是说,模块插件需要遵守一定的标准进行开发,才能正常被容器调用,这就是IModule所定义的内容。IModule/// <summary>/// 插件接口定义。/// </summary>public interface IModule:IPrivilegObject{ /// <summary> /// 获取模块的名称。 /// </summary> /// <remarks>该值由开发者自己生成。</remark 阅读全文
posted @ 2010-09-13 09:17 魏琼东 阅读(3209) 评论(4) 推荐(5) 编辑
摘要:过程介绍 AgileEAS.NET平台基于敏捷并行开发的一种实践,采用优秀先进的Microsoft .Net构件技术的插件式开发,AgileEAS.NET平台及其提供的一系列工具涉及产品设计、编码实现、测试运维等环境。 因为AgileEAS.NET采用了基于插件技术的增量开发模式,也就是说一个大的应用我们可以分解为不同若干个系统或者增量,对子系统进行优先级和依赖级别划分,根据子系统的依赖特别、优点级决定优先实现那些子系统;当然,若开发力量充足或者采用开发外包的方式可以分别实现相应的子系统。 而对于不同的子系统开发,我们可以参考瀑布或者其他的开发模型进行开发,在各子系统的实现中,平台提供的相应辅 阅读全文
posted @ 2010-09-12 16:10 魏琼东 阅读(5159) 评论(4) 推荐(6) 编辑
摘要:AgileEAS.NET平台的开发指南系列文章,说是一个系列,实际上是我之前写好的一个文档,文档比较长,我就按章节分解着发上来,本系统主要讲述应用AgileEAS.NET平台进行开发的过程,以及各个开发过程的一些作法。开发指南系列AgileEAS.NET平台开发指南-开发流程 AgileEAS.NET平台开发指南-实现插件 AgileEAS.NET平台开发指南-数据访问 AgileEAS.NET平台开发指南-数据层开发 AgileEAS.NET平台开发指南-实现业务 AgileEAS.NET平台开发指南-处理报表 AgileEAS.NET平台开发指南-分布式应用 AgileEAS.NET平台. 阅读全文
posted @ 2010-09-12 15:04 魏琼东 阅读(7697) 评论(6) 推荐(4) 编辑
摘要:概述 AgileEAS.NET平台提供了自己的报表设计器,并且把报表和平台集成在一起,开发人员可以使用独立的报表设计器设计好报表之后导入到AgileEAS.NET平台中,也可以AgileEAS.NET平台的报表管理中设计报表。 AgileEAS.NET平台在报表的部署上采用了集成部署的思路,即设计好的报表定义存储在数据库中,客户端在使用中读报表定义并缓存在客户端,平台中增加了一个报表管理的应用插件报表管理:用于管理系统中的所有报表。 报表管理 报表管理用于管理平台中所有的报表定义信息,从该模块中可以添加新的报表、删除现有报表、或者报表或者、修改报表定义和设计报表。 添加新的报表 选择工具条的“ 阅读全文
posted @ 2010-09-10 00:07 魏琼东 阅读(658) 评论(1) 推荐(1) 编辑
摘要:前言 所谓AgileEAS.NET平台系统管理即指AgiLeEAS.NET平台中用于完成插件的发现、安装、配置及组织管理功能的一组具体应用,以及提供的基于AgileEAS.NET平台的应用系统所提供的一组基础应用如账户、角色、权限管理等等。 AgileEAS.NET平台目前实现了基于WinForm技术的全部管理业务模块,AgileEAS.NET平台平台系统管理中的所有模块也是基于AgileEAS.NET平台所提出的平台加插件的模式所开发,其本身就是一组插件,运行于AgileEAS.NET平台的插件容器、自由也受平台的管理。 登录 登录是使用系统的第一步,只有登录系统后才能进行下一步操作。 登录 阅读全文
posted @ 2010-09-09 23:52 魏琼东 阅读(2037) 评论(18) 推荐(7) 编辑
摘要:介绍 AgileEAS.NET平台做为一个快速应用开发平台,其目的为是为了提高应用软件的生产效率,如何软件开发的生产效率,方法是多种多样的;使用工作简化开发中低技术重复工作可以是一种行之有效的途径。 在AgileEAS.NET平台中,我们提供了一个集数据库设计、代码生成、DDL定义与一体的数据实体设计器。 在早期的AgileEAS.NET版本中包含一个代码生成器,用于根据现在数据库生成ORM代码,后来的思路是想介入项目的数据库设计环节,所以设计了这么一个数据对象设计器,提供一个数据表定义工具,在项目的数据库设计阶段(环节),使用数据表设计工具同时定义数据库和数据实体模型,对象设计器会生成数据. 阅读全文
posted @ 2010-09-09 20:01 魏琼东 阅读(1711) 评论(6) 推荐(3) 编辑
摘要:AgileEAS.NET应用开发平台最博客园最早的一篇介绍是2010年4月19号发的,随后也陆续发布了一些相关的介绍和应用的文章,最近差不多也一个多用不写了,主要原因是想着平台发布之后再继续写。 AgileEAS.NET平台定在本月内发布,到时间我会发布完整的开发包,包含所有程序集,类库参考手册,开发指南及相关文档,完整的开发例子,初次发布的管理和运行环境支持SQLServer/2000/2005/2008/oracle10/11数据库支持。 本文的主要目的是把以前介绍AilleEAS.NET平台的文章串起来:平台介绍 AgileEAS.NET之敏捷并行开发方法 AgileEAS.NET应用. 阅读全文
posted @ 2010-09-09 17:50 魏琼东 阅读(6147) 评论(15) 推荐(10) 编辑
摘要:现在企业级的信息系统应用开发之中,数据层采用了ORM,解放了之前开发最大工作量的核对SQL语句,我到现在还曾经记得在2002年实医院管理信息系统时对齐一个插入数据的SQL语言搞的我头大,从那之后就能不能把这样的东西换个方式,之后搞.NET有了ORM,对齐SQL语句的事终于解放了,但是界面上的UI与ORM对象之间的数据交互避免不了,把数据实体的值显示在UI控件上或者把UI控件的值更新到数据对象,我们... 阅读全文
posted @ 2010-08-12 09:19 魏琼东 阅读(3100) 评论(6) 推荐(7) 编辑
摘要:首先说一下 ,或许我是个懒汉,博客差不多已经一个月没有写了,给朋友们说声抱歉,最近发生了很多事,南方洪水呀洪水,北方热呀热,兰州遇到不知道多少年没有遇到的40度高温,其实说这些是扯谈的事,还得要生活啊,原本已经睡下了,睡不着怕起来写了这篇Post。 言归正传,在设计模块上有这么一个模块Service Locator模式,大概就是我叫他服务定位器的家伙,AgileEAS.NET平台服务定位器理论上也实现了这种模式,他做为对象控件反转IOC的一个补充,共同完成对象(服务)的解耦工作。 Service Locator模式的基本思想是:服务定位器知道如何获得一个应用程序所需的所有服务。也就是说,在具. 阅读全文
posted @ 2010-08-05 01:24 魏琼东 阅读(2127) 评论(4) 推荐(5) 编辑
摘要:我们都知道,在做管理信息系统应用产品的部署和升级是很让人头大的过程,上百个客户段节点的程序都得你去更新一遍,特别是在项目的上线调试阶段,频繁的更改引起的程序部署,可以把你累死,把项目方的系管也累的半死。 基于这样的需求,出现了各式各样的部署和升级方案,首次安装、以后自己升级的方案得到了广泛的应用,也就是应用的智能部署与升级。 AgileEAS.NET平台也提供了这样的一个部署与升级方案,被应用于ActiveXForm和SmartWin应用中,AgileEAS.NET提供基于WebService的插件运行时智能升级方案,这里有两个概念,第一个是基于WebService技术传输,第二个是插件运行. 阅读全文
posted @ 2010-07-06 11:36 魏琼东 阅读(1747) 评论(1) 推荐(2) 编辑
摘要:控制反转,即IOC(Inversion of Control),也叫反转模式,也称依赖注入DI(Dependency Injection)模式,关于此概念的解释我在此文不做过讲说明。 对于设计模式类的东西,我也没有认真系统的去研究过那X类N种设计模式,无论何种设计模式,都用于解决一个问题,那就是解决对象之间的耦合关系,即解耦。 AgileEAS.NET在最初版本最不包含IOC容器,更多应用抽象工厂之类的设计模式,在这AgileEAS.NET大概第二个版本,加入了一个轻量级(微量级)的IOC容器,也许实现的并不优雅,在多年的应用中慢慢完善。 以下我列举一个 AgileEAS.NET平台IOC容. 阅读全文
posted @ 2010-07-03 20:38 魏琼东 阅读(2313) 评论(4) 推荐(4) 编辑
摘要:AgileEAS.NET平台做为一个快速应用开发平台,其目的为是为了提高应用软件的生产效率,如何软件开发的生产效率,方法是多种多样的;使用工作简化开发中低技术重复工作可以是一种行之有效的途径。 在AgileEAS.NET平台中,我们提供了一个集数据库设计、代码生成、DDL定义与一体的数据实体设计器: 在早期的AgileEAS.NET版本中包含一个代码生成器,用于根据现在数据库生成ORM代码,后来的思路是想介入项目的数据库设计环节,所以设计了这么一个数据对象设计器,提供一个数据表定义工具,在项目的数据库设计阶段(环节),使用数据表设计工具同时定义数据库和数据实体模型: 当定义好模型之后,可以直. 阅读全文
posted @ 2010-07-03 17:28 魏琼东 阅读(2143) 评论(3) 推荐(4) 编辑
摘要:我们都知道,管理信息系统类的项目报表的位置是何等重要,业务运营数据最后给领导的反应就是那么几张综合的业务数据报表,我从事软件开发的这八、九年中,98%的项目都是管理信息系统项目,都时时被报表纠结着,早年用VB开发及至.net1.1时代都一直使用水晶报表,客观的讲,水晶报表是一套非常强大非常完善的报表系统,但是Vb6乃至.net1.1时代的部署可以把人搞的疯狂。 在AgileEAS.NET中关于报表系统的选择纠结过很长一端时间,用过其他的一些报表系统,也曾经使用html构造报表系统,效果都不是很理想,最后采用了基于RDL语言的开源报表系统fyireporting,最早基于其2.X版本进行了中文. 阅读全文
posted @ 2010-07-02 17:42 魏琼东 阅读(4896) 评论(5) 推荐(5) 编辑