AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(四):开源的Silverlight运行容器的编译、配置

by 魏琼东 2013.10.17 10:58
一、前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台。用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的。      AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC、ORM、SOA、分布式体系及敏捷并发开发方法所支撑的插件开发体系,以及提供了大量的实体、数据模型设计生成工具、代码生成工具,用于帮助中小软件开发商快速成长。      AgileEAS.NET平台充分把握目前软件行业快速发展的新趋势,基于敏捷并行开发、快速适应市场这样淳朴的软件工程实践,采用业界广泛使用的Microsoft .Net构件(组件)开发技术实践了这种开发思想,帮助软件企业实现“敏捷变化、快速适合”的目标,从而帮助软件企业在激烈的市场竞争中赢得先机并获得更高的回报。 二、关于Silverlight运行容器      在2011年秋天的的时候,曾经在Silverlight企业应用开发实践-AgileEAS.NET平台5.0 Silverlight支撑预览一文之中向大家介绍过AgileEAS.NET SOA中间件平台的Silverlight运行容器,其主要目的是当时有很多朋友希望我们能支撑Silverlight的应用开发,我们就基于我们AgileEAS.NET SOA中间件平台的“敏捷并行开发思想事件”、结合“插件开发&整合”思路、AgileEAS.NET SOA中间件平台的数据访问并结合AgleEAS.NET SOA中件的SOA分布式通信技术。      目前AgileEAS.NET SOA中间件Silverlight运行容器主要应用于医疗、物联网、ERP、CRM之类人企业内部应用之中。      AgileEAS.NET SOA 中间件平台Silverlight运行容器为开发人员带来如下好处:      1.)开发Silverlight应用同开发WinForm/WPF/WebForm/WebMVC应用一样可以使用AgileEAS.NET SOA提供的ORM和Linq技术。      2.)Silverlight应用同其他WinForm/WPF/WebForm/WebMVC应用使用同样的分布式服务端平台。      3.)Silverlight应用同其他WinForm/WPF/WebForm/WebMVC应用使用同样的服务端业务代码。      4.)为应用开发人员提供了类似在Silverlight客户段直接访问远程数据库的功能,提供了类似DataTable的数据结构Matrix。      5.)AgileEAS.NET SOA中间件平台已经实现了与WinForm/WPF运行环境同样的资源管理平台的系列功能(模块管理、权限、用户、角色)以及工作流系统绝大多数功能。      6.)AgileEAS.NET SOA中间件平台Silverlight运行容器源代码是以开源形式向大家提供的,大家可以在此基础上做一些在学大的调整。 三、学习Silverlight运行容器代码结构并进行编译      ActiveXForm运行容器的运行网站由在”Silverlight.src”目录之中以源代码形式向大家提供,我们用VS2010或者VS2012打开”Silverlight.src”目录之中的”AgileEAS.NET.Silverlight”解决方案:     ”AgileEAS.NET.Silverlight”解决方案之中共有九个项目:      EAS.BPM.SilverlightUI:为BPM工作流系统的界面元素文件,AgileEAS.NET SOA中间件的Silverlight运行环境的工作流支持管理功能功能都由这个项目提供。      EAS.Demo.Res:AgileEAS.NET SOA中间件的Silverlight运行环境的客户端演示资源插件,即用于替换AgileEAS.NET SOA中间件的Silverlight运行环境主界面,登录界面的界面定义代码的一个示例。      EAS.Explorer:AgileEAS.NET SOA中间件的Silverlight运行环境的一些接口定义,主要是资源替换接口的定义。      EAS.Explorer.Entities:AgileEAS.NET SOA中间件的Silverlight运行环境管理功能的数据实体定义,比如账号、角色、模块、报表等对象的定义。      EAS.Explorer.BLL.Contracts:AgileEAS.NET SOA中间件的Silverlight运行环境管理功能的服务契约定义,因为Silverlight是分布式运行的,即业务的实现在SOA服务之中运行,所以客户端只有业务契约,没有实现实体。      EAS.SilverlightClient:AgileEAS.NET SOA中间件的Silverlight运行环境主要程序,在这里面实现了一个可替换的插件应用环境。      EAS.SilverlightClient.AddIn:AgileEAS.NET SOA中间件的Silverlight运行环境管理功能的实现程序,主要实现了模块管理、角色账号、权限、组织机构等等。      EAS.SilverlightClient.AdminKit:辅助程序,本身没有多大意思,其功能是把EAS.SilverlightClient.AddIn和EAS.BPM.SilverlightUI打成一个EAS.SilverlightClient.AdminKit.xap包。      EAS.SilverlightClient.Web:AgileEAS.NET SOA中间件平台Silverlight运行容器的入口网站,即功能承载网站,包括一个首页及Silverlight XAP包的部署目录及客户端运行时所需要的配置文件和XAP包的自动升级配置。      了解了这九个项目的功能之后我们开始编译整个解决方案,保证所有项目编译通过:       了解了这八个项目的功能之后我们开始编译整个解决方案,保证所有项目编译通过: 四、配置并运行Silverlight运行容器     Silverlight应用是不直接连接数据库进行处理的,所以配置ActiveXForm运行容器/环境必须有一个先决条件,那就是Silverlight必须运行的AgileEAS.NET SOA 中间件的分布式环境下,即我们的SOA服务端必须运行,关于如何做这此工作,请参考前面的AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境一文。      那么我们首先启动运行“AppServer\Bin”目录之中的“soaserver.start.bat”脚本,运行SOA服务:      接下来我们开始配置Silverlight运行容器的一些参数、以及Silverlight客户端XAP文件的升级配置,这些配置信息记录在项目”EAS.SilverlightClient.Web”的“ClientBin”目录之中,文件名称为“slconfig.xml”和“slUpdate.xml”。      其中“slconfig.xml”为Silverlight应用的系统配置文件,其内容如下: 1: <?xml version="1.0" encoding="utf-8"?> 2: <eas> 3: <configurations> 4: <item name="Key" value="Value" /> 5: <!--是否调试状态。--> 6: <item name="Debug" value="false" /> 7: <!--调试程序集。--> 8: <item name="Assembly" value="EAS.SilverlightClient.AddIn" /> 9: <!--外挂资源包。--> 10: <!--<item name="EAS.Explorer.Resource" value="EAS.Explorer.Res.xap,EAS.Explorer.Res.dll,EAS.Explorer.Res.Resources" />--> 11: </configurations> 12: <objects> 13: <!--分布式通信组件。--> 14: <object name="ServiceBridger" assembly="EAS.MicroKernel" type="EAS.Distributed.ServiceBridger" LifestyleType="Thread" > 15: <property name="ServiceUrl" type="string" value="http://localhost:6608/eas/services/EAS.RIAService" /> 16: </object> 17: <object name="DataAccessor" assembly="EAS.Data" type="EAS.Data.Access.DataAccessor" LifestyleType="Thread"> 18: <property name="ServiceBridger" type="object" value="ServiceBridger"/> 19: </object> 20: <object name="OrmAccessor" assembly="EAS.Data" type="EAS.Data.ORM.OrmAccessor" LifestyleType="Thread"> 21: <property name="ServiceBridger" type="object" value="ServiceBridger"/> 22: </object> 23: </objects> 24: </eas>      其中参数Debug表示系统是否为调试模式,即加载某一个Silverlight程序集并自动加载其中的插件进行调试运行,如果这个值为True,则系统会自动加载参数Assembly所指向的程序集,并加载其中的插件到系统导航之中,并跳过系统对登录账号的对所加载模块的权限检查,直接运行,如果这个参数为False,则Assembly参数无效,系统按照当前登录账号的权限加载导航,运行时也运行模块权限检测,一版情况下在开发过程之中我们都采用调试模式,这样可以省去安装配置插件的过程,而在生产过程,我们则使用非调试模式。      参数EAS.Explorer.Resource为外挂界面资源的配置,类似于WinClient的配置,我们不要修改他。     对像ServiceBridger的属性ServiceUrl配置了远程RIA服务的地址,即SOA服务实现之中的RIA服务的地址: 1: <object name="ServiceBridger" assembly="EAS.MicroKernel" type="EAS.Distributed.ServiceBridger" LifestyleType="Thread" > 2: <property name="ServiceUrl" type="string" value="http://localhost:6608/eas/services/EAS.RIAService" /> 3: </object>      一搬情况下,我们只需要修改IP地址或者域名即可,后面的不要做修改。      接下来我们打开升级配置“slUpdate.xml”: 1: <?xml version="1.0" encoding="utf-8"?> 2: <SmartConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 3: <URI>http://www.smarteas.net/</URI> 4: <Name>AgileEAS.NET升级配置文件</Name> 5: <Description>用于AgileEAS.NET平台SmartClient/ActiveX运行容器模块升级之用</Description> 6: <StartEx /> 7: <Time>2013-10-16T16:13:19.7125705+08:00</Time> 8: <Files> 9: <SmartFile> 10: <FileName>EAS.SilverlightClient.AdminKit.xap</FileName> 11: <Version>1.1.0.0</Version> 12: <Time>2013-10-16T09:54:19.7125705+08:00</Time> 13: </SmartFile> 14: <SmartFile> 15: <FileName>WF.Demo.SilverlightUI.xap</FileName> 16: <Version>1.1.0.0</Version> 17: <Time>2013-10-16T09:54:19.7125705+08:00</Time> 18: </SmartFile> 19: </Files> 20: </SmartConfig>     这个配置文件结构等同于前面的AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境一文之中“EAS.SmartUpdateConfig.exe”工作所生成的文件,只不过,此处手工配置,而不是工具生成,我们需要把下载到客户端Silverlight环境之中的文件(主要是一些XAP包)以SmartFile配置信息形式记录在这个配置文件之中,需要多次注意的是,客户端会依据这个文件的最后时间进行更新。     OK,Silverlight环境的配置到这就可以了,接下来我们运行AgileEAS.NET SOA 中间件Silverlight运行容器看看。      按F5运行”EAS.SilverlightClient.Web”项目,打开浏览器:     输入用户名:Administrator,密码:sa然后点击登录,系统会有如下有“是否增加可用存储”的提示:     因为AgileEAS.NET SOA 中间件设置为支持Silverlight的本地存储文件,以缓存XAP包和某些业务数据,我们选择点击“是”,然后重新输入密码进行登录,将会打开系统主界面:     我们选择某个功能进行操作:     OK,Silverlight运行容器搞定。 五、联系我们      为了完善、改进和推广AgileEAS.NET而成立了敏捷软件工程实验室,是一家研究、推广和发展新技术,并致力于提供具有自主知识产权的业务基础平台软件,以及基于业务基础平台了开发的管理软件的专业软件提供商。主要业务是为客户提供软件企业研发管理解决方案、企业管理软件开发,以及相关的技术支持,管理及技术咨询与培训业务。      AgileEAS.NET平台自2004年秋呱呱落地一来,我就一直在逐步完善和改进,也被应用于保险、医疗、电子商务、房地产、铁路、教育等多个应用,但一直都是以我个人在推广,2010年因为我辞职休息,我就想到把AgileEAS.NET推向市场,让更多的人使用。      技术团队成员都是合作多年的老朋友,因为这个平台是免费的,我们的营运开支主要靠为客户提供咨询服务所得,我们都是因为程序员的那种理想与信念坚持,在此我感谢一起奋斗的朋友和一直支持我们工作的客户、朋友。 团队网站:http://www.agilelab.cn, AgileEAS.NET网站:http://www.smarteas.net 官方博客:http://eastjade.cnblogs.com QQ:47920381 AgileEAS.NET QQ群: 113723486(AgileEAS SOA 平台)/上限1000人 199463175(AgileEAS SOA 交流)/上限1000人 120661978(AgileEAS.NET 平台交流)/上限1000人 212867943(AgileEAS.NET研究)/上限500人 147168308(AgileEAS.NET应用)/上限500人 172060626(深度AgileEAS.NET平台)/上限500人 116773358(AgileEAS.NET 平台)/上限500人 125643764(AgileEAS.NET探讨)/上限500人 193486983(AgileEAS.NET 平台)/上限500人 邮件:james@agilelab.cn,mail.james@qq.com, 电话:18629261335。

Tags:

.NET | C# | Silverlight | SOA | Socket | 分布式 | 框架 | 网站优化 | 下载 | 云计算 | 中间件

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平台应用开发教程-案例计划

网站性能优化之应用程序缓存-中篇

by AgileEAS.NET 2011.3.26 16:04
网站性能优化之应用程序缓存-中篇 [更多...]

Tags: , ,

网站优化

网站性能优化之应用程序缓存-初篇

by hot 2011.3.26 16:03
网站性能优化之应用程序缓存-初篇 [更多...]

Tags: , ,

网站优化

基于AOP实现Ibatis的缓存配置过期策略

by hot 2011.3.26 16:02
基于AOP实现Ibatis的缓存配置过期策略 [更多...]

Tags: , ,

网站优化

最新评论

声明

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

© Copyright 2011