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

本文涉及的产品
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:

一、前言

     AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台。用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的。

     AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC、ORM、SOA、分布式体系及敏捷并发开发方法所支撑的插件开发体系,以及提供了大量的实体、数据模型设计生成工具、代码生成工具,用于帮助中小软件开发商快速成长。

     AgileEAS.NET平台充分把握目前软件行业快速发展的新趋势,基于敏捷并行开发、快速适应市场这样淳朴的软件工程实践,采用业界广泛使用的Microsoft .Net构件(组件)开发技术实践了这种开发思想,帮助软件企业实现“敏捷变化、快速适合”的目标,从而帮助软件企业在激烈的市场竞争中赢得先机并获得更高的回报。

二、关于ActiveXForm运行容器

     在我早期的博客园文章基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ActiveXForm运行容器曾经向大家介绍过AgileEAS.NET SOA中间件平台的ActiveXForm运行容器,其主要用于把早期用WinForm开发的程序跑在IE浏览器之中,给用户造成一个BS项目的错觉,本来打算在4.0版本之中就给大家公开下载和发布的,但是鉴于之前直接在网上部署引用的一下配置问题的反馈我们并没有公开发布给大家。

     如果是做互联网项目,使用ActiveXForm技术来做BS应用,那么我们很直接的告诉你,这事你是找抽,不靠谱,也不可取,但是在做内部管理信息系统的时候,比如财务、EPR、HIS、电子病历等这些项目,这东西又是一种可以去尝试的做法,我们虽然没有公开发布ActiveXForm但是我们一真在为使用ActiveXForm的软件企业提供技术帮助和升级。

     AgileEAS.NET SOA 中间件平台所提供的功能都是比较实现的企业应用开发功能,在5.0发布之后就有很多企业希望能得到有关于ActiveXForm的发布包和技术支持资料,所以我们决定在AgileEAS.NET SOA中间件5.2版本之中提供ActiveXForm的内容,也在配置和使用上面提供一些文档资料。

三、配置ActiveXForm运行容器

     配置ActiveXForm运行容器/环境必须有一个先决条件,那就是系统必须具有自动升级功能,即我们的SOA服务端必须运行并且配置好自动升级,关于如何做这此工作,请参考前面的AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境一文。

     那么我们首先启动运行“AppServer\Bin”目录之中的“soaserver.start.bat”脚本,运行SOA服务:

}CL{$0879FS(TV[X%H)DVLF_thumb[2]

     接下来我们开始配置ActiveXForm运行容器。

     ActiveXForm运行容器的运行网站由在”ActiveXForm.Web”目录之中以源代码形式向大家提供,我们用VS2010或者VS2012打开”ActiveXForm.Web”目录之中的”EAS.ActiveXForm.Web”解决方案:

~H39[U6FCW(B`3D1_46(8UP_thumb[1]

     在”EAS.ActiveXForm.Web”项目之中,我们会看到如下结构:

IP_948~OMKQC~J(FES$A`@7_thumb[2]

     首先我们修改”xClient\config”目录之中的文件”clientclasp.xml”和”activexForm.xml”两个配置文件,其中”clientclasp.xml”定义了ActiveXForm引擎/客户端钩子的定义,主要包括程序的升级定义,内容如下:

   1: <?xml version="1.0" encoding="utf-8"?>
   2: <ClientClasp>
   3:   <!--客户端钩子启动模块。-->
   4:   <item name="ClaspStart" value="EAS.ActiveXForm.ClaspStart,EAS.ActiveXForm.ClientClasp.AddIn" />
   5:   <!--应用系统名称。-->
   6:   <item name="ApplicationName" value="AgileEAS.Net SOA中间件" />
   7:   <!--是否开启升级。-->
   8:   <item name="AllowUpdate" value="true" />
   9:   <!--升级服务地址。-->
  10:   <item name="UpdateUrl" value="net.tcp://localhost:6607/eas/services/eas.updateservice" />
  11: </ClientClasp>

    其中配置项目”claspstart”为客户端初始化参数,这个不需要改变,”ApplicationName”为升级程序的标题显示,”AllowUpdate”是否开启升级,”UpdateUrl”为升级地址,关于具体的配置参数得参考AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境一文中服务端的配置参数。

    ”activexForm.xml”配置文件为ActiveXForm应用程序的运行配置,其内容和AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境一文这是分布式环境情况下“EAS.WinClient.Start.exe.config”配置文件内容一模一样,我们可以把配置复制过来:

   1: <?xml version="1.0" encoding="utf-8"?>
   2: <configuration>
   3:   <configSections>
   4:     <section name="eas" type="EAS.ConfigHandler,EAS.MicroKernel" />
   5:   </configSections>
   6:   <!--SQLite运行必需-->
   7:   <startup useLegacyV2RuntimeActivationPolicy="true">
   8:     <supportedRuntime version="v4.0"/>
   9:   </startup>
  10:   <eas>
  11:     <configurations>
  12:       <item name="Key" value="Value" />
  13:     </configurations>
  14:     <objects>
  15:       <!--分布式通信组件。-->
  16:       <object name="ServiceBridger" assembly="EAS.Distributed" type="EAS.Distributed.ServiceBridger" LifestyleType="Thread" >
  17:         <property name="ServiceName" type="string" value="EAS.RMI.Service" />
  18:       </object>
  19:       <object name="DataAccessor" assembly="EAS.Distributed" type="EAS.Distributed.DataAccessor" LifestyleType="Thread" >
  20:         <property name="ServiceBridger" type="object" value="ServiceBridger" />
  21:       </object>
  22:       <object name="OrmAccessor" assembly="EAS.Distributed" type="EAS.Distributed.OrmAccessor" LifestyleType="Thread" >
  23:         <property name="ServiceBridger" type="object" value="ServiceBridger" />
  24:         <property name="DataAccessor" type="object" value="DataAccessor" />
  25:       </object>
  26:       <!--日志管理-->
  27:       <object name="Logger" assembly="EAS.MicroKernel" type="EAS.Loggers.TextLogger" LifestyleType="Singleton" />
  28:       <!--资源-->
  29:       <!--<object name="EAS.Explorer.Resource" assembly="EAS.Explorer.Res" type="EAS.Explorer.Res.Resources" LifestyleType="Singleton" />-->
  30:     </objects>
  31:     <services>
  32:       <service name="EAS.RMI.Service" service-type="WcfService" singleton="true" url="net.tcp://127.0.0.1:6607/eas/services/EAS.RMIService" />
  33:       <service name="EAS.Storage.Service" service-type="WcfService" singleton="true" url="net.tcp://127.0.0.1:6607/eas/services/EAS.StorageService" />
  34:     </services>
  35:   </eas>
  36: </configuration>

     接下来我们配置“Web.config”文件,因为ActiveXForm运行的登录验证需要访问验证服务,所以我们必须配置“Web.config”,其内容如下:

   1: <?xml version="1.0" encoding="utf-8"?>
   2: <configuration>
   3:  
   4:   <configSections>
   5:     <section name="eas" type="EAS.ConfigHandler,EAS.MicroKernel" />
   6:   </configSections>
   7:   
   8:   <!--支持混合程序集-->
   9:   <startup useLegacyV2RuntimeActivationPolicy="true">
  10:     <supportedRuntime version="v4.0"/>
  11:   </startup>
  12:   <eas>
  13:     <configurations>
  14:       <item name="Key" value="Value" />
  15:     </configurations>
  16:     <objects>
  17:       <!--分布式通信组件。-->
  18:       <object name="ServiceBridger" assembly="EAS.Distributed" type="EAS.Distributed.ServiceBridger" LifestyleType="Thread" >
  19:         <property name="ServiceName" type="string" value="EAS.RMI.Service" />
  20:       </object>
  21:       <object name="DataAccessor" assembly="EAS.Distributed" type="EAS.Distributed.DataAccessor" LifestyleType="Thread" >
  22:         <property name="ServiceBridger" type="object" value="ServiceBridger" />
  23:       </object>
  24:       <object name="OrmAccessor" assembly="EAS.Distributed" type="EAS.Distributed.OrmAccessor" LifestyleType="Thread" >
  25:         <property name="ServiceBridger" type="object" value="ServiceBridger" />
  26:         <property name="DataAccessor" type="object" value="DataAccessor" />
  27:       </object>
  28:       <!--日志管理-->
  29:       <object name="Logger" assembly="EAS.MicroKernel" type="EAS.Loggers.TextLogger" LifestyleType="Singleton" />
  30:     </objects>
  31:     <services>
  32:       <service name="EAS.RMI.Service" service-type="WcfService" url="net.tcp://localhost:6607/eas/services/EAS.RMIService" />
  33:     </services>
  34:   </eas>
  35:   
  36:   <system.web>
  37:     <compilation debug="true" targetFramework="4.0" />
  38:     <httpModules>
  39:       <add name="SecurityDemandModule" type="EAS.Explorer.Web.SecurityDemandModule, EAS.Explorer.Web"/>
  40:     </httpModules>
  41:   </system.web>
  42:  
  43: </configuration>

     在配置文件的“configuration/eas/objects”之中的内容同ActiveXForm.xml文件内容一致,但是没有“EAS.Explorer.Resource”,在ActieXForm.xml和Web.Config文件之中,重点是远程服务地址的配置:

   1: <services>
   2:   <service name="EAS.RMI.Service" service-type="WcfService" singleton="true" url="net.tcp://127.0.0.1:6607/eas/services/EAS.RMIService" />
   3: </services>

     ActiveXForm运行之前的配置到这就可以了,接下来看运行时的IE设置。

四、ActiveXForm运行时的IE设置

     把“Default.aspx”设为起始页,然后按F5运行”EAS.ActiveXForm.Web”项目,打开IE浏览器,有如下界面

a_thumb[3]

    很显然,IE的安全性阻止ActiveXForm的运行,我们按下面的提示点击“安装根证书”,会有如下提示:

JV}W98CX84`EG%NYWL@94}J_thumb[2]

    选择打开,弹出如下窗口:

W0TCUF@1L1OA$4`V4A~25B0_thumb[2]

    点击“安装证书”继续:

D794~4$4CG_$KMYGP2)AZ@C_thumb[2]

    选择“下一步”:

54L2AJ[HKW3}0CLM92DEKGG_thumb[2]

    选中“将所有的证书放入下列存储”,点击“浏览”:

M4HCZEOYH4XM8@~4412]9@U_thumb[2]

     选择“受信任的根证书颁发机构”,点击“确定”:

S_C(0S[NU686[KVS26A{P2N_thumb[2]

     点击“下一步”:

3D$))NZ]{ZUEVY_)4)}(JYD_thumb[2]

     点击“完成”进行证书安装,将会弹出证书安装确定:

4LOT~VQ(WWRR(@QJG[25@GC_thumb[2]

     点击“”完成证书安装,然后我们重新打开“Default.aspx”页面:

`L~VV`(TY9{B`D0CJ623@~B_thumb[2]

     在IE安全提示“”处点鼠标邮:

1_CX(GN$_VZ)TN[JUI0VQWV_thumb[2]

     选中“为计算机上的所有用户安装此加载项(A)”,将会弹出“ActiveXForm插件”安装对话框

GE]J%1UY5S2M7]UMETLR%_6_thumb[2]

     点击“安装”,IE会自动安装AgileEAS.NET SOA中间件ActiveXForm插件,安装完成后系统会有如下升级提示:

963TVT8OJOSMRLA}YTDRP2H_thumb[2]

     点击“确定”,打开自动升级程序进行升级:

x2_thumb[2]

     升级完成之后点击“关闭”然后重新打开打开“Default.aspx”页面,发布不再提示脚本错误:

N49P53]JTI4P$JBP1B{YTI6_thumb[2]

     输入用户名:Administrator,密码:sa之后点击“登录”,系统将会为我们呈现出AgileEAS.NET SOA 中间件ActiveXForm运行容器的主界面:

image_thumb[3]

     我们随便打开个功能看看是否好用,比如打开模块管理,并查看某个模块的属性:

image_thumb[7]

      是否发现这界面似曾相似^_^

五、如果配置不成功

     如果按照第四节的配置还是不能运行成功运行,那么首先打开首页之后,把当前网站localhost加入到可信息站点:

88`[5PVKS(71CIFCC(%RQ~S_thumb[1]

     然后再进行第四节的配置,如果还不行,那么打开首页之设置IE“可信站点”区域的安全性,选择自定义级别,启用“对未标记为可安全执行脚本的ActiveX控件初始化并且执行脚本:

ActiveXForm安全3

      然后再进行第四节的操作,如果还是不行,那么请打开首页之后:

YO2T2PXSY11L)0WZ$%YN@AB_thumb[1]

      即手机下载msi安装包文件”xClient/downloads/EAS.ActiveXForm.msi”安装项目,进行手工安装,安装完成之后重新打开“Default.aspx”页面。

六、ActiveXForm的特点与局限

     AgileEAS.NET SOA中间件ActiveXForm运行容器的本质是通过一个浏览器插件,把原来基于AgileEAS.NET SOA中间件平台所开发的WinForm/WPF应用运行与IE浏览器之中,以达到通过Winform/WPF开发BS应用(此处需要说明一下应该是伪BS应用),非常适合没有BS开发能力的一些中小管理软件企业,基于某些原因,ActiveXForm这种方式的伪BS应用非常的广,比如企业内部的财务系统、医院的电子病历、区域公共卫生平台之中的医疗机构信息系统,企业内部使用的其他一些系统之中。

     AgileEAS.NET SOA中间件ActiveXForm运行容器并不只能运行基于AgileEAS.NET SOA中间件开发的应用系统,理论上可以扩展为可以把任何用WinFrom/WPF开发的系统都能转换为这种ActiveXForm加载的BS应用。

     当然了,AgileEAS.NET SOA中间件ActiveXForm这种模式的应用也是有很大的局限的,比如,非常不适合在互联网上运行,因为其所有客户端都需要安装.NET Framework ,也需要安装ActiveXForm插件、导入证书甚至设置安全性。

七、联系我们

     为了完善、改进和推广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。


    本文转自魏琼东博客园博客,原文链接:http://www.cnblogs.com/eastjade/p/3410012.html,如需转载请自行联系原作者

相关文章
|
3月前
|
存储 缓存 监控
分布式链路监控系统问题之kywalking在后期维护过程中可能会遇到中间件版本升级的问题如何解决
分布式链路监控系统问题之kywalking在后期维护过程中可能会遇到中间件版本升级的问题如何解决
|
13天前
|
存储 设计模式 编解码
.NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF
【11月更文挑战第5天】本文分析了.NET 8.0 通用管理平台在模块化、WinForms 和 WPF 方面的优势。模块化设计提升了系统的可维护性和可扩展性,提高了代码复用性;WinForms 提供了丰富的控件库和简单易用的开发模式,技术成熟稳定;WPF 支持强大的数据绑定和 MVVM 模式,具备丰富的图形和动画功能,以及灵活的布局系统。
|
3月前
|
开发者 API Windows
从怀旧到革新:看WinForms如何在保持向后兼容性的前提下,借助.NET新平台的力量实现自我进化与应用现代化,让经典桌面应用焕发第二春——我们的WinForms应用转型之路深度剖析
【8月更文挑战第31天】在Windows桌面应用开发中,Windows Forms(WinForms)依然是许多开发者的首选。尽管.NET Framework已演进至.NET 5 及更高版本,WinForms 仍作为核心组件保留,支持现有代码库的同时引入新特性。开发者可将项目迁移至.NET Core,享受性能提升和跨平台能力。迁移时需注意API变更,确保应用平稳过渡。通过自定义样式或第三方控件库,还可增强视觉效果。结合.NET新功能,WinForms 应用不仅能延续既有投资,还能焕发新生。 示例代码展示了如何在.NET Core中创建包含按钮和标签的基本窗口,实现简单的用户交互。
68 0
|
4月前
|
JSON 中间件 数据处理
实践出真知:通过项目学习Python Web框架的路由与中间件设计
【7月更文挑战第19天】探索Python Web开发,掌握Flask或Django的关键在于理解路由和中间件。路由连接URL与功能,如Flask中@app.route()定义请求响应路径。中间件在请求处理前后执行,提供扩展功能,如日志、认证。通过实践项目,不仅学习理论,还能提升构建高效Web应用的能力。示例代码展示路由定义及模拟中间件行为,强调动手实践的重要性。
58 1
|
6月前
|
消息中间件 存储 监控
写了10000字:全面学习RocketMQ中间件
以上是 V 哥在授课时整理的全部 RocketMQ 的内容,在学习时重点要理解其中的含义,正所谓知其然知其所以然,希望这篇文章可以帮助兄弟们搞清楚RocketMQ的来龙去脉,必竟这是一个非常常用的分布式应用的中间件,好了,今天的内容就分享到这,我靠!已经 00:36分,建议收藏起来,慢慢消化,创作不易,喜欢请点赞转发。
796 0
|
6月前
|
数据采集 存储 监控
.NET智慧手术室管理平台源码
术前访视记录单、手术风险评估表、手术安全核查表、自费药品或耗材、麻醉知情同意书、麻醉记录单、分娩镇痛记录单、麻醉复苏单、术后镇痛记录单、术后访视记录单、压伤风险评估量表、手术清点记录单、护理记录单、输血护理记录单。
121 0
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
41 7
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
59 0
|
3月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
49 0
|
3月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?