AgileEAS.NET SOA 中間件平臺是一款基於基於敏捷並行開發思想和Microsoft .Net構件(組件)開發技術而構建的一個快速開發應用平臺。用於幫助中小型軟件企業創建一條適合市場快速變化的開發團隊,以達到節省開發成本、縮短開發時間,快速適應市場變化的目的。html
AgileEAS.NET SOA中間件平臺提供了敏捷快速開發軟件工程的最佳實踐,經過提供大量的基礎支撐功能如IOC、ORM、SOA、分佈式體系及敏捷併發開發方法所支撐的插件開發體系,以及提供了大量的實體、數據模型設計生成工具、代碼生成工具,用於幫助中小軟件開發商快速成長。git
AgileEAS.NET平臺充分把握目前軟件行業快速發展的新趨勢,基於敏捷並行開發、快速適應市場這樣淳樸的軟件工程實踐,採用業界普遍使用的Microsoft .Net構件(組件)開發技術實踐了這種開發思想,幫助軟件企業實現「敏捷變化、快速適合」的目標,從而幫助軟件企業在激烈的市場競爭中贏得先機並得到更高的回報。程序員
在我早期的博客園文章基於DotNet構件技術的企業級敏捷軟件開發平臺 - AgileEAS.NET - ActiveXForm運行容器曾經向你們介紹過AgileEAS.NET SOA中間件平臺的ActiveXForm運行容器,其主要用於把早期用WinForm開發的程序跑在IE瀏覽器之中,給用戶形成一個BS項目的錯覺,原本打算在4.0版本之中就給你們公開下載和發佈的,可是鑑於以前直接在網上部署引用的一下配置問題的反饋咱們並無公開發布給你們。github
若是是作互聯網項目,使用ActiveXForm技術來作BS應用,那麼咱們很直接的告訴你,這事你是找抽,不靠譜,也不可取,可是在作內部管理信息系統的時候,好比財務、EPR、HIS、電子病歷等這些項目,這東西又是一種能夠去嘗試的作法,咱們雖然沒有公開發布ActiveXForm可是咱們一真在爲使用ActiveXForm的軟件企業提供技術幫助和升級。web
AgileEAS.NET SOA 中間件平臺所提供的功能都是比較實現的企業應用開發功能,在5.0發佈以後就有不少企業但願能獲得有關於ActiveXForm的發佈包和技術支持資料,因此咱們決定在AgileEAS.NET SOA中間件5.2版本之中提供ActiveXForm的內容,也在配置和使用上面提供一些文檔資料。瀏覽器
配置ActiveXForm運行容器/環境必須有一個先決條件,那就是系統必須具備自動升級功能,即咱們的SOA服務端必須運行而且配置好自動升級,關於如何作這此工做,請參考前面的AgileEAS.NET SOA 中間件平臺5.2版本下載、配置學習(二):配置WinClient分佈式運行環境一文。安全
那麼咱們首先啓動運行「AppServer\Bin」目錄之中的「soaserver.start.bat」腳本,運行SOA服務:併發
接下來咱們開始配置ActiveXForm運行容器。app
ActiveXForm運行容器的運行網站由在」ActiveXForm.Web」目錄之中以源代碼形式向你們提供,咱們用VS2010或者VS2012打開」ActiveXForm.Web」目錄之中的」EAS.ActiveXForm.Web」解決方案:tcp
在」EAS.ActiveXForm.Web」項目之中,咱們會看到以下結構:
首先咱們修改」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設置。
把「Default.aspx」設爲起始頁,而後按F5運行」EAS.ActiveXForm.Web」項目,打開IE瀏覽器,有以下界面:
很顯然,IE的安全性阻止ActiveXForm的運行,咱們按下面的提示點擊「安裝根證書」,會有以下提示:
選擇打開,彈出以下窗口:
點擊「安裝證書」繼續:
選擇「下一步」:
選中「將全部的證書放入下列存儲」,點擊「瀏覽」:
選擇「受信任的根證書頒發機構」,點擊「肯定」:
點擊「下一步」:
點擊「完成」進行證書安裝,將會彈出證書安裝肯定:
點擊「是」完成證書安裝,而後咱們從新打開「Default.aspx」頁面:
在IE安全提示「?」處點鼠標郵:
選中「爲計算機上的全部用戶安裝此加載項(A)」,將會彈出「ActiveXForm插件」安裝對話框:
點擊「安裝」,IE會自動安裝AgileEAS.NET SOA中間件ActiveXForm插件,安裝完成後系統會有以下升級提示:
點擊「肯定」,打開自動升級程序進行升級:
升級完成以後點擊「關閉」而後從新打開打開「Default.aspx」頁面,發佈再也不提示腳本錯誤:
輸入用戶名:Administrator,密碼:sa以後點擊「登陸」,系統將會爲咱們呈現出AgileEAS.NET SOA 中間件ActiveXForm運行容器的主界面:
咱們隨便打開個功能看看是否好用,好比打開模塊管理,並查看某個模塊的屬性:
是否發現這界面似曾類似^_^
若是按照第四節的配置仍是不能運行成功運行,那麼首先打開首頁以後,把當前網站localhost加入到可信息站點:
而後再進行第四節的配置,若是還不行,那麼打開首頁之設置IE「可信站點」區域的安全性,選擇自定義級別,啓用「對未標記爲可安全執行腳本的ActiveX控件初始化而且執行腳本:
而後再進行第四節的操做,若是仍是不行,那麼請打開首頁以後:
即手機下載msi安裝包文件」xClient/downloads/EAS.ActiveXForm.msi」安裝項目,進行手工安裝,安裝完成以後從新打開「Default.aspx」頁面。
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推向市場,讓更多的人使用。
技術團隊成員都是合做多年的老朋友,由於這個平臺是免費的,咱們的營運開支主要靠爲客戶提供諮詢服務所得,咱們都是由於程序員的那種理想與信念堅持,在此我感謝一塊兒奮鬥的朋友和一直支持咱們工做的客戶、朋友。
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。