一、前言

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.AddInEAS.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.agileeas.net

官方博客:http://eastjade.cnblogs.com

github:https://github.com/agilelab/eas

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。

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

  1. AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(三):配置ActiveXForm运行环境

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  2. AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  3. AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(一):下载平台并基于直连环境运行

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  4. AgileEAS.NET SOA 中间件平台 5.2 发布说明-包含Silverlight及报表系统的开源代码下载

    一.AgileEAS.NET SOA 中间件简介      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速 ...

  5. 重写AgileEAS.NET SOA 中间件平台账号密码的加密算法

    一.平台简介 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适 ...

  6. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...

  7. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-下载配置

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...

  8. AgileEAS.NET SOA中间件平台/敏捷软件开发平台

    AgileEAS.NET SOA中间件平台/敏捷软件开发平台 最新下载 一.前言 AgileEAS.NET SOA中间件平台,简称EAS.NET,是基于敏捷并行开发思想和Microsoft .Net构 ...

  9. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

随机推荐

  1. .NET 学习书籍推荐

    时间过得好快啊,转眼三月过了1周多了,今天把看书的目录记录下,方便初学者 最近由于项目需要研究下dotnet 技术,参考书籍如下: 1.深入理解C# 2.CLR via  C# 3.Framework ...

  2. 【caffe】绘制网络结构图

    @tags caffe 网络结构 可视化 当拿到一份网络定义文件net.prototxt,可以用工具画出网络结构.最快速的方法是使用在线工具netscope,粘贴内容后shift+回车就可以看结果了. ...

  3. matlab进阶:常用功能的实现,常用函数的说明

    常用功能的实现 获取当前脚本所在目录 current_script_dir = fileparts(mfilename('fullpath')); % 结尾不带'/' 常用函数的说明 bsxfun m ...

  4. Jstat PID not found

    解决步骤 删除/tmp/hsperfdata_{USER}文件夹,如果是root用户登录,即为/tmp/hsperfdata_root 通过chown.chmod命令保证执行jstat用户必定拥有对/ ...

  5. Zabbix监控disk performance

    概述 zabbix获取/sys里面的磁盘信息并分析来监控disk performance sysfs是Linux内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 proc 有些类似(默认挂载在 ...

  6. <<< html5本地储存

    类似与Cookies,但由于Cookies储存量太小,大小也只有4-5KB的样子,html5的本地储存能存5M大小的数据 html5本地储存属性有,localStorage和sessionStorag ...

  7. 9月11日上午HTML有序列表、无序列表、网页的格式和布局

    样式表 六.列表方块 1.有序列表变无序列表 <ol> <li>张店</li> <li>桓台</li> <li>淄川</l ...

  8. C#FTP操作类含下载上传删除获取目录文件及子目录列表等等

    ftp登陆格式  : ftp://[帐号]:[密码]@[IP]:[端口] ftp://用户名:密码@FTP服务器IP或域名:FTP命令端口/路径/文件名 直接上代码吧,根据需要选择函数,可根据业务自己 ...

  9. Top 15 Java Utility Classes

    In Java, a utility class is a class that defines a set of methods that perform common functions. Thi ...

  10. 【html】学习记录-拖放(drag and drop)

    目的:实现拖动目标并放置到指定区域.   使元素可拖动,涉及到元素的全局属性draggable <img draggable="true" /> 即img元素设置为可拖 ...