AgileEAS.NET平台开发实例-药店系统-快速的SAAS开发体验

by 魏琼东 2011.5.18 17:09
一、AgileEAS.NET应用开发简介 在4月份,callhot写过一系列的有关于AgileEAS.NET平台的开发应用的系列AgileEAS.NET平台开发Step By Step系列-药店系统-索引,他通过一个接近于实际应用的案例,从头到尾的向大家展示了AgileEAS.NET平台在企业信息系统开发中的应用及其应用开发的过程。 AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行。 AgileEAS.NET平台基于软件过程改进以及构件化快速开发两方面达到这方面的目标,在软件过程改进实践方面,提出了独有的“敏捷并行开发方法”开发方法,其目的是在软件的管理之中提出符合国内中小软件企业实际情况并且可操作的软件工程实践、软件过程改进思想、及相配套的项目管理系统。 在快速开发方面,AgileEAS.NET平台平台提供了企业应用开发所需的诸如ORM、IOC、分布式通信、插件与平台基础结构以及一系统的快速生成工具,涵盖开发过程中的设计、编码、集成、部署、运维等各个环节。 在callhot的AgileEAS.NET平台开发Step By Step系列-药店系统的系统之中,他详细的向大家展示了AgileEAS.NET平台在企业信息系统中提供的强大支持,在短短的一个月时间之向,向大家贡献了一个完整的案例及配套的几十篇渐进式教程,我相信大家通过他的教程,都能应用AgileEAS.NET平台中小型企业应用。 二、药店系统的SAAS部署 Callhot接手了新的工作,我在他留下的代码的基础之上,采用了最新的AgileEAS.NET平台进行了一个重构和裁剪,并且通过互联网以SAAS结构向大家发布了这个应用,其总体结构如下。 数据库和分布式应用层我部署在我的互联网服务器上,客户端我将提供一个msi包给大家下载,客户端和应用服务器可以通过webservice、WCF(http/TCP)进行数据通信,最终运行界面如下: 三、客户端下载及使用说明 客户软编译版本我打开了rar压缩包,请大家通过这里下载,下载解压缩后运行EAS.WinClient.exe文件。 大家可以使用0001(采购员),0002(销售员),0003(店长)三个账号登录药店系统,所有密码均为空,三个账户操作权限不同,请大家不要修改密码。 在下载包中的EAS.Winclient.exe.config文件之中记录应用程序服务器的通信设置。 <services> <service name="RMIService" service-type="WebService" singleton="true" url="http://www.agilelab.cn/xservice/rmiservice.asmx" /> <!--<service name="RMIService" service-type="WcfService" singleton="true" url="net.tcp://202.100.84.179:6688/EAS.RMIService" />--> </services>   系统默认使用WebService通信,连接至http://www.agilelab.cn/xservice/rmiservice.asmx,我在http://www.agileleab.cn/网站以iis宿住部署了webservice方式部署了通信服务,业务层寄宿在iis之中运行。 使用者也可以替换为wcf/tcp通信,连接至net.tcp://202.100.84.179:6688/EAS.RMIService,我在202.100.84.179部署了一套独立的基于wcf/tcp通信的应用服务程序。 友情提示一下,webservice通信较慢,特别是在登录界面之上,点了登录可能要等一会,因为使用的是SericeLocator动态调用技术,涉及编译webservice的代理类,请大家理解。 四、关于自动升级 在AgileEAS.NET平台本次重构过程之中,废弃了原有的基于插件的静默升级形式,替换了比较通过的独立升级程序,升级参数通过客户端目录中的update.ini文件升级。 # AgileEAS.Net 平台升级控制文件   [config]   allow = 1 url = http://www.agilelab.cn/xservice/smartupdateservice.asmx #url = net.tcp://202.100.84.179:6688/EAS.SmartUpdateService   升级技术同样也可以采用ws技术也可采用wcf技术,目前,为了避免多点升级维护的麻烦,只提供于ws的升级,升级服务地址http://www.agilelab.cn/xservice/smartupdateservice.asmx。 五、案例源代码 本案例源代码结构重构之后更加合理,代码结构如下: DrugShop.DAL为系统的数据访问层(充血模型),DrugShop.BLL为系统的业务层/服务层,DrugShop.WinUI为系统以WinForm为表现模式的UI层,DrugShop.Res为系统的可替换资源,包括自定义的登录、关于窗口、banner条和起始页模块,DrugShop.AssStart为开发过程中的平台插件容器调试环境的启动程序。 药店系统-案例的源代码、文档、数据库备份、最后发布都打进一个独立的Rar包中,其结构如下: 请大家从这里下载。 六、平台其他下载      有关于平台最新版本的最新发布版本的程序集、类库手册、相关资料,请大家从AgileEAS.NET平台的官网http://www.smarteas.net/进行下载,官网设有独立的下载页面,从这里下载:官网下载。 CallHot 写过一个系列的基于AgileEAS.NET平台的开发案例,请大家通过AgileEAS.NET平台开发Step By Step系列-药店系统-索引及AgileEAS.NET敏捷开发平台及案例下载(持续更新)-索引、AgileEAS.NET平台开发实例-药店系统-视频教程系列-索引一系列文章进行下载。 七、如何联系      如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、官方网站:      AgileEAS.NET平台:http://www.smarteas.net/      敏捷软件工程实验室:http://www.agilelab.cn/ 2、AgileEAS.NET平台交流群:      AgileEAS.NET平台交流群:120661978(超级群)[新建]      AgileEAS.NET平台交流群:125643764(高级群)[新建]      AgileEAS.NET平台交流群:147168308(高级群)[新建]   3、系统架构交流群:      系统架构交流群:9105332(高级群)(已满)      系统架构交流群1:124825459(高级群)(已满)      系统架构交流群2:49124441(高级群)(已满)      系统架构交流群3:47025564(高级群)(已满) 链接 AgileEAS.NET平台开发指南-文章索引 AgileEAS.NET应用开发平台介绍-文章索引 AgileEAS.NET平台应用开发教程-案例计划 AgileEAS.NET平台开发Step By Step系列-药店系统-索引

Tags: , , , , , , , ,

AgileEAS.NET开发教程 | AgileEAS.NET平台介绍

AgileEAS.NET 之 Linq 2 EAS.NET,Orm支持Linq,写程序更加的方便

by 魏琼东 2011.5.11 15:09
     前面的文章AgileEAS.NET 4.0重构裁剪,新的ORM、支持Linq,正式支持WPF,开放更多的接口简单的介绍了一下AgileEAS.NET平台在2011年初的一些重大改进措施,其他涉及到有关于Orm体系的改进以及对linq的支持,AgileEAS.NET 快速平台之ORM体系的改进与ORM的新成员一文中对Orm的改进做了介绍,本文将详细的给大家介绍这AgileEAS.NET平台中Orm对Linq技术的支持。   Linq介绍:      LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性。已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知、静态类型等强类型语言的好处。并且它同时还使得查询可以方便地对内存中的信息进行查询而不仅仅只是外部数据源。      LINQ定义了一组标准查询操作符用于在所有基于.NET平台的编程语言中更加直接地声明跨越、过滤和投射操作的统一方式,标准查询操作符允许查询作用于所有基于IEnumerable<T>接口的源,并且它还允许适合于目标域或技术的第三方特定域操作符来扩大标准查询操作符集,更重要的是,第三方操作符可以用它们自己的提供附加服务的实现来自由地替换标准查询操作符,根据LINQ模式的习俗,这些查询喜欢采用与标准查询操作符相同的语言集成和工具支持。      我们来总体看看LINQ结构:      需要说明一点的是,Linq是从.NET3.5开始支持的,.NET3.5  Framework 中提供了 LINQ to Objects、LINQ to DataSets、LINQ to SQL、LINQ to Entities、LINQ to XML等默认支持。      以上内容是摘抄自互联网的相关内容,简单的说明了一下Linq及Linq的应用,如果说单纯的那么Linq是一种语言中的特性的话LINQ to Objects、Linq to SQL就是这种语言特性在对象查询、SQL查询中的具体应用。 Linq to EAS.NET:      Linq to EAS.NET 同LINQ to Objects、Linq to SQL 一样,是应用了Linq这种语言特殊在AgileEAS.NET平台的Orm体系的应用,类似于Linq to SQL、Linq to Entities,应用Linq语言特殊实现AgileEAS.NET平台Orm对象的查询,让使用AgileEAS.NET平台进行开发变得更加简单和方便。      下面我们来进行一个简单的Linq to EAS.NET 应用吧:      第一步:打开对象设计器,建设一个实体对象(Product),并生成代码:      第二步:打开AgileEAS.NET平台对象设计器生成的代码,增加一个Asp.NET Web应用程序LinqDemo.WebUI,并且在Default.aspx页面中拖放一个GridView并且设定绑定信息如下:      第三步:使用linq编写数据查询代码并绑定到GridView:      第四步:修改Web.Config文件,增加以下配置信息: <EAS.Objects> <!--访问器。--> <object name="DataConnection" assembly="EAS.Data" type="EAS.Data.Access.SqlClientConnection" LifestyleType="Singleton"> <property name="ConnectionString" type="string" value="Data Source=.;Initial Catalog=demo;User ID=sa;Password=sa1234;"/> </object> <object name="DataAccessor" assembly="EAS.Data" type="EAS.Data.Access.SqlClientAccessor" LifestyleType="Singleton"> <property name="Connection" type="object" value="DataConnection"/> </object> <object name="OrmAccessor" assembly="EAS.Data" type="EAS.Data.ORM.OrmAccessor" LifestyleType="Singleton"> <property name="DataAccessor" type="object" value="DataAccessor"/> <property name="PageProvider" type="object" value="PageProvider"/> </object> <object name="PageProvider" assembly="EAS.Data" type="EAS.Data.ORM.OraclePageProvider" LifestyleType="Thread"/> <object name="ServiceBridger" assembly="EAS.MicroKernel" type=" EAS.Services.LocalServiceBridger" LifestyleType="Singleton"/> <object name="Logger" assembly="EAS.MicroKernel" type="EAS.Services.TextLogger" LifestyleType="Singleton"/> </EAS.Objects>        最后:编译运行,看看结果:      OK,通过以上简单的过程,基于Linq to EAS.NET实现了一个简单的like查询,相信大家已经看到了这个编程的便宜性,接下来我将会在把有关于Linq to EAS.NET所实现的表达式做一些简单的说明。 支持那些表达式:      Linq所支持的表达式非常的多,AgileEAS.NET平台只是实现了使用最频繁的那些表达式,对表没有实现的表达式在开发中或者要采用其他进行处理,下面我详细的向大家介绍AgileEAS.NET所实现的那些表达式: 条件表达式       Linq to EAS.NET中实现了“=”、“>”、“<”、“>=”、“<=”、“!=”、“like ”匹配、In 查询、Between 、以及And、Or组合。 排序表达式       Linq to EAS.NET中实现了Order by ,Order by  Desc排序。 统计及分页       Linq to EAS.NET也实现了First、Last、FirstOrDefault、LastOrDefault表达式。 Select New {}       Linq to EAS.NET也实现了select new {}表达式,这将能大大提高编程的方便性和更高的查询性能,如下写法: 其他表达式       Linq to EAS.NET实现了 Count统计以及基于统计的分页支持Top、Take及Skip表达式。 下一步的计划:       在接下来的Linq to EAS.NET版本中我们将陆续支持更表的表达式,在近期将会支持Sum、Average、Max、Min表达式,在下一步Orm支持关系之后将进一步支持join 、left join、right join表达式。       对于Group by 、Having表达式暂时还没有考虑到支持。 如何实现Linq的:      Linq to EAS.NET的实现思想非常的简单,即解析Linq表达式并转换为AgileEAS.NET的查询表达式树并由AgileEAS.NET平台的Orm执行并返回结果。      在AgileEAS.NET平台的Orm技术中,我们实现了一个LINQ Provider,即EAS.Data.Linq.DataEntityQuery<T>,在执行任务linq任务之前,并且显式的定义EAS.Data.Linq.DataEntityQuery<T>实例,由他在解析并势力Linq语法,在此要感谢李会军的两篇文章:打造自己的LINQ Provider(上):Expression Tree揭秘和打造自己的LINQ Provider(中):IQueryable和IQueryProvider,遗憾的是,他并没有写出下篇,感兴趣的朋友去看看吧。      AgileEAS.NET平台ActiveXForm运行容器的客户端工作插件。      本文中的小例子及其相关的对象定义文件、建表及数据创建脚本、源代码文件,请大家从这里下载。 下载说明      有关于平台最新版本的最新发布版本的程序集、类库手册、相关资料,请大家从AgileEAS.NET平台的官网http://www.smarteas.net/进行下载,官网设有独立的下载页面,从这里下载:官网下载。 CallHot 写过一个系列的基于AgileEAS.NET平台的开发案例,请大家通过AgileEAS.NET平台开发Step By Step系列-药店系统-索引及AgileEAS.NET敏捷开发平台及案例下载(持续更新)-索引、AgileEAS.NET平台开发实例-药店系统-视频教程系列-索引一系列文章进行下载。 如何联系      如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、官方网站:      AgileEAS.NET平台:http://www.smarteas.net/      敏捷软件工程实验室:http://www.agilelab.cn/ 2、AgileEAS.NET平台交流群:      AgileEAS.NET平台交流群:120661978(超级群)[新建]      AgileEAS.NET平台交流群:125643764(高级群)[新建]      AgileEAS.NET平台交流群:147168308(高级群)[新建]   3、系统架构交流群:      系统架构交流群:9105332(高级群)(已满)      系统架构交流群1:124825459(高级群)(已满)      系统架构交流群2:49124441(高级群)(已满)      系统架构交流群3:47025564(高级群)(已满) 链接 AgileEAS.NET平台开发指南-文章索引 AgileEAS.NET应用开发平台介绍-文章索引 AgileEAS.NET平台应用开发教程-案例计划

AgileEAS.NET 4.0 重构裁剪后的程序集说明

by 魏琼东 2011.5.11 15:07
AgileEAS.NET应用开发平台,简称EAS.NET,是基于敏捷并行开发思想以及.NET构件技术而开发的一个应用系统快速开发平台,用于帮助中小型软件企业建立一条适合快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行,基于AgileEAS.NET平台的应用系统的各个业务功能子系统,在系统体系结构设计的过程中被设计成各个原子功能模块,各个子功能模块按照业务功能组织成单独的程序集文件,各子系统开发完成后,由AgileEAS.NET资源管理平台进行统一的集成部署。 [更多...]

AgileEAS.NET 4.0重构裁剪,新的ORM、支持Linq,正式支持WPF,开放更多的接口

by 魏琼东 2011.5.8 20:58
AgileEAS.NET是一套企业级的快速开发平台或者说是中间件,主要服务于中小软件企业,以提高软件企业的有效生产率为主要目标,结合软件工程、dotnet构件技术、快速工作为其提供一个适合中国特色的中小软件企业的软件生产解决方案。

AgileEAS.NET平台自2004年底出了第一版本并且应用于实际项目之中,广泛的应用于医疗、保险、互联网、铁路、房地产、农业等行业,在实际应用中,与项目相结合,并一直持续的完善和改进。

[更多...]

系统架构师-基础到企业应用架构-数据访问层

by hot 2011.3.26 15:32
系统架构师-基础到企业应用架构-数据访问层 [更多...]

最新评论

声明

本博所有网友评论不代表本博立场,版权归其作者所有。

© Copyright 2011