AgileEAS.NET SOA 中間件平臺是一款基於基於敏捷並行開發思想和Microsoft .Net構件(組件)開發技術而構建的一個快速開發應用平臺。用於幫助中小型軟件企業創建一條適合市場快速變化的開發團隊,以達到節省開發成本、縮短開發時間,快速適應市場變化的目的。git
AgileEAS.NET SOA中間件平臺提供了敏捷快速開發軟件工程的最佳實踐,經過提供大量的基礎支撐功能如IOC、ORM、SOA、分佈式體系及敏捷併發開發方法所支撐的插件開發體系,以及提供了大量的實體、數據模型設計生成工具、代碼生成工具,用於幫助中小軟件開發商快速成長。程序員
AgileEAS.NET平臺充分把握目前軟件行業快速發展的新趨勢,基於敏捷並行開發、快速適應市場這樣淳樸的軟件工程實踐,採用業界普遍使用的Microsoft .Net構件(組件)開發技術實踐了這種開發思想,幫助軟件企業實現「敏捷變化、快速適合」的目標,從而幫助軟件企業在激烈的市場競爭中贏得先機並得到更高的回報。github
在前面的AgileEAS.NET SOA 中間件平臺5.2版本下載、配置學習(一):下載平臺並基於直連環境運行一文之中,爲你們介紹瞭如何下載AgileEAS.NET SOA中間件平臺,以及如何初始化數據庫運行環境、配置以直連方式運行AgileEAS.NET SOA 中間件WinCleint以直接數據庫方式運行。數據庫
本文咱們將爲你們講解如何以配置以」SOA服務-分佈式客戶端」方向運行AgileEAS.ENT SOA中間件平臺WinClient容器。服務器
在配置服務端之湔咱們撫運動一下下載包根目錄之中的」EAS.Publisher.exe」應用程序:併發
」EAS.Publisher.exe」控件臺應用程序是一個用於幫助開發人員進行分佈式部署時的分發程序,其本質是將發佈包「bin\dotnet」之中的程序集複製到「SOA服務」運行的環境目錄「AppServer」下面的各級目錄,運行程序以下:app
運行時自動調用「eas.publish.cmd」腳本,將文件分發到「AppServer」下面的各級目錄,其腳本內容以下:socket
1: @rem 複製到下載目錄
2: copy @RootDirectory\bin\dotnet\AgileIM.Client.exe @RootDirectory\appserver\xclient\files\AgileIM.Client.exe /y
3: copy @RootDirectory\bin\dotnet\AgileIM.Client.exe.config @RootDirectory\appserver\xclient\files\AgileIM.Client.exe.config /y
4: copy @RootDirectory\bin\dotnet\AgileIM.Contracts.dll @RootDirectory\appserver\xclient\files\AgileIM.Contracts.dll /y
5: copy @RootDirectory\bin\dotnet\AgileIM.Service.dll @RootDirectory\appserver\xclient\files\AgileIM.Service.dll /y
6: copy @RootDirectory\bin\dotnet\AxInterop.grdesLib.dll @RootDirectory\appserver\xclient\files\AxInterop.grdesLib.dll /y
7: copy @RootDirectory\bin\dotnet\AxInterop.grproLib.dll @RootDirectory\appserver\xclient\files\AxInterop.grproLib.dll /y
8: copy @RootDirectory\bin\dotnet\EAS.ActiveXForm.ClientClasp.AddIn.dll @RootDirectory\appserver\xclient\files\EAS.ActiveXForm.ClientClasp.AddIn.dll /y
9: copy @RootDirectory\bin\dotnet\EAS.BPM.Activities.dll @RootDirectory\appserver\xclient\files\EAS.BPM.Activities.dll /y
10: copy @RootDirectory\bin\dotnet\EAS.BPM.BLL.Host.dll @RootDirectory\appserver\xclient\files\EAS.BPM.BLL.Host.dll /y
11: copy @RootDirectory\bin\dotnet\EAS.BPM.WinUI.dll @RootDirectory\appserver\xclient\files\EAS.BPM.WinUI.dll /y
12: copy @RootDirectory\bin\dotnet\eas.client.ini @RootDirectory\appserver\xclient\files\eas.client.ini /y
13: copy @RootDirectory\bin\dotnet\EAS.Configure.exe @RootDirectory\appserver\xclient\files\EAS.Configure.exe /y
14: copy @RootDirectory\bin\dotnet\EAS.Configure.exe.config @RootDirectory\appserver\xclient\files\EAS.Configure.exe.config /y
15: copy @RootDirectory\bin\dotnet\EAS.Data.Controls.dll @RootDirectory\appserver\xclient\files\EAS.Data.Controls.dll /y
16: copy @RootDirectory\bin\dotnet\EAS.Data.dll @RootDirectory\appserver\xclient\files\EAS.Data.dll /y
17: copy @RootDirectory\bin\dotnet\EAS.Data.Provider.dll @RootDirectory\appserver\xclient\files\EAS.Data.Provider.dll /y
18: copy @RootDirectory\bin\dotnet\EAS.Distributed.dll @RootDirectory\appserver\xclient\files\EAS.Distributed.dll /y
19: copy @RootDirectory\bin\dotnet\EAS.Explorer.BLL.Contracts.dll @RootDirectory\appserver\xclient\files\EAS.Explorer.BLL.Contracts.dll /y
20: copy @RootDirectory\bin\dotnet\EAS.Explorer.BLL.Host.dll @RootDirectory\appserver\xclient\files\EAS.Explorer.BLL.Host.dll /y
21: copy @RootDirectory\bin\dotnet\EAS.Explorer.dll @RootDirectory\appserver\xclient\files\EAS.Explorer.dll /y
22: copy @RootDirectory\bin\dotnet\EAS.Explorer.Entities.dll @RootDirectory\appserver\xclient\files\EAS.Explorer.Entities.dll /y
23: copy @RootDirectory\bin\dotnet\EAS.Explorer.Res.dll @RootDirectory\appserver\xclient\files\EAS.Explorer.Res.dll /y
24: copy @RootDirectory\bin\dotnet\EAS.Explorer.WinUI.dll @RootDirectory\appserver\xclient\files\EAS.Explorer.WinUI.dll /y
25: copy @RootDirectory\bin\dotnet\EAS.FormDesigner.exe @RootDirectory\appserver\xclient\files\EAS.FormDesigner.exe /y
26: copy @RootDirectory\bin\dotnet\EAS.GReport.Controls.dll @RootDirectory\appserver\xclient\files\EAS.GReport.Controls.dll /y
27: copy @RootDirectory\bin\dotnet\EAS.MicroKernel.dll @RootDirectory\appserver\xclient\files\EAS.MicroKernel.dll /y
28: copy @RootDirectory\bin\dotnet\EAS.Monitor.dll @RootDirectory\appserver\xclient\files\EAS.Monitor.dll /y
29: copy @RootDirectory\bin\dotnet\EAS.NLB.Monitor.exe @RootDirectory\appserver\xclient\files\EAS.NLB.Monitor.exe /y
30: copy @RootDirectory\bin\dotnet\EAS.NLB.Server.exe @RootDirectory\appserver\xclient\files\EAS.NLB.Server.exe /y
31: copy @RootDirectory\bin\dotnet\EAS.OrmDesigner.exe @RootDirectory\appserver\xclient\files\EAS.OrmDesigner.exe /y
32: copy @RootDirectory\bin\dotnet\EAS.OrmDesigner.exe.config @RootDirectory\appserver\xclient\files\EAS.OrmDesigner.exe.config /y
33: copy @RootDirectory\bin\dotnet\EAS.Report.Controls.dll @RootDirectory\appserver\xclient\files\EAS.Report.Controls.dll /y
34: copy @RootDirectory\bin\dotnet\EAS.SmartUpdater.exe @RootDirectory\appserver\xclient\files\EAS.SmartUpdater.exe /y
35: copy @RootDirectory\bin\dotnet\EAS.SOA.Monitor.exe @RootDirectory\appserver\xclient\files\EAS.SOA.Monitor.exe /y
36: copy @RootDirectory\bin\dotnet\EAS.ThirdParty.Controls.dll @RootDirectory\appserver\xclient\files\EAS.ThirdParty.Controls.dll /y
37: copy @RootDirectory\bin\dotnet\EAS.WinClient.dll @RootDirectory\appserver\xclient\files\EAS.WinClient.dll /y
38: copy @RootDirectory\bin\dotnet\EAS.WinClient.Start.exe @RootDirectory\appserver\xclient\files\EAS.WinClient.Start.exe /y
39: copy @RootDirectory\bin\dotnet\EAS.WinClient.Start.exe.config @RootDirectory\appserver\xclient\files\EAS.WinClient.Start.exe.config /y
40: copy @RootDirectory\bin\dotnet\EAS.Windows.dll @RootDirectory\appserver\xclient\files\EAS.Windows.dll /y
41: copy @RootDirectory\bin\dotnet\EAS.Wpf.Controls.dll @RootDirectory\appserver\xclient\files\EAS.Wpf.Controls.dll /y
42: copy @RootDirectory\bin\dotnet\grdes50.dll @RootDirectory\appserver\xclient\files\grdes50.dll /y
43: copy @RootDirectory\bin\dotnet\gregn50.dll @RootDirectory\appserver\xclient\files\gregn50.dll /y
44: copy @RootDirectory\bin\dotnet\ICSharpCode.AvalonEdit.dll @RootDirectory\appserver\xclient\files\ICSharpCode.AvalonEdit.dll /y
45: copy @RootDirectory\bin\dotnet\Interop.grdesLib.dll @RootDirectory\appserver\xclient\files\Interop.grdesLib.dll /y
46: copy @RootDirectory\bin\dotnet\Interop.grproLib.dll @RootDirectory\appserver\xclient\files\Interop.grproLib.dll /y
47: copy @RootDirectory\bin\dotnet\itextsharp.dll @RootDirectory\appserver\xclient\files\itextsharp.dll /y
48: copy @RootDirectory\bin\dotnet\lua51.x64.dll @RootDirectory\appserver\xclient\files\lua51.x64.dll /y
49: copy @RootDirectory\bin\dotnet\lua51.x86.dll @RootDirectory\appserver\xclient\files\lua51.x86.dll /y
50: copy @RootDirectory\bin\dotnet\LuaInterface.x64.dll @RootDirectory\appserver\xclient\files\LuaInterface.x64.dll /y
51: copy @RootDirectory\bin\dotnet\LuaInterface.x86.dll @RootDirectory\appserver\xclient\files\LuaInterface.x86.dll /y
52: copy @RootDirectory\bin\dotnet\Microsoft.Data.ConnectionUI.Dialog.dll @RootDirectory\appserver\xclient\files\Microsoft.Data.ConnectionUI.Dialog.dll /y
53: copy @RootDirectory\bin\dotnet\Microsoft.Data.ConnectionUI.dll @RootDirectory\appserver\xclient\files\Microsoft.Data.ConnectionUI.dll /y
54: copy @RootDirectory\bin\dotnet\Microsoft.XmlNotepad.dll @RootDirectory\appserver\xclient\files\Microsoft.XmlNotepad.dll /y
55: copy @RootDirectory\bin\dotnet\MongoDB.dll @RootDirectory\appserver\xclient\files\MongoDB.dll /y
56: copy @RootDirectory\bin\dotnet\MySql.Data.dll @RootDirectory\appserver\xclient\files\MySql.Data.dll /y
57: copy @RootDirectory\bin\dotnet\NetronGraphLib.dll @RootDirectory\appserver\xclient\files\NetronGraphLib.dll /y
58: copy @RootDirectory\bin\dotnet\protobuf-net.xml @RootDirectory\appserver\xclient\files\protobuf-net.xml /y
59: copy @RootDirectory\bin\dotnet\RdlDesigner.dll @RootDirectory\appserver\xclient\files\RdlDesigner.dll /y
60: copy @RootDirectory\bin\dotnet\RdlEngine.dll @RootDirectory\appserver\xclient\files\RdlEngine.dll /y
61: copy @RootDirectory\bin\dotnet\RdlViewer.dll @RootDirectory\appserver\xclient\files\RdlViewer.dll /y
62: copy @RootDirectory\bin\dotnet\System.Data.SQLite.DLL @RootDirectory\appserver\xclient\files\System.Data.SQLite.DLL /y
63: copy @RootDirectory\bin\dotnet\System.Workflow.Activities.dll @RootDirectory\appserver\xclient\files\System.Workflow.Activities.dll /y
64: copy @RootDirectory\bin\dotnet\System.Workflow.ComponentModel.dll @RootDirectory\appserver\xclient\files\System.Workflow.ComponentModel.dll /y
65: copy @RootDirectory\bin\dotnet\System.Workflow.Runtime.dll @RootDirectory\appserver\xclient\files\System.Workflow.Runtime.dll /y
66: copy @RootDirectory\bin\dotnet\update.ini @RootDirectory\appserver\xclient\files\update.ini /y
67: copy @RootDirectory\bin\dotnet\WF.Demo.DAL.dll @RootDirectory\appserver\xclient\files\WF.Demo.DAL.dll /y
68: copy @RootDirectory\bin\dotnet\WF.Demo.UI.dll @RootDirectory\appserver\xclient\files\WF.Demo.UI.dll /y
69: @rem 複製到下載配置目錄
70: copy @RootDirectory\bin\dotnet\EAS.SmartUpdateConfig.exe @RootDirectory\appserver\xclient\EAS.SmartUpdateConfig.exe /y
71: copy @RootDirectory\bin\dotnet\EAS.SmartUpdateConfig.exe.config @RootDirectory\appserver\xclient\EAS.SmartUpdateConfig.exe.config /y
72: @rem 複製到SOA服務Bin目錄
73: copy @RootDirectory\bin\dotnet\AgileIM.Contracts.dll @RootDirectory\appserver\bin\AgileIM.Contracts.dll /y
74: copy @RootDirectory\bin\dotnet\AgileIM.Service.dll @RootDirectory\appserver\bin\AgileIM.Service.dll /y
75: copy @RootDirectory\bin\dotnet\EAS.BPM.Activities.dll @RootDirectory\appserver\bin\EAS.BPM.Activities.dll /y
76: copy @RootDirectory\bin\dotnet\EAS.BPM.BLL.Host.dll @RootDirectory\appserver\bin\EAS.BPM.BLL.Host.dll /y
77: copy @RootDirectory\bin\dotnet\EAS.Configure.exe @RootDirectory\appserver\bin\EAS.Configure.exe /y
78: copy @RootDirectory\bin\dotnet\EAS.Configure.exe.config @RootDirectory\appserver\bin\EAS.Configure.exe.config /y
79: copy @RootDirectory\bin\dotnet\EAS.Data.dll @RootDirectory\appserver\bin\EAS.Data.dll /y
80: copy @RootDirectory\bin\dotnet\EAS.Data.Provider.dll @RootDirectory\appserver\bin\EAS.Data.Provider.dll /y
81: copy @RootDirectory\bin\dotnet\EAS.Data.xml @RootDirectory\appserver\bin\EAS.Data.xml /y
82: copy @RootDirectory\bin\dotnet\EAS.DbInitializer.exe @RootDirectory\appserver\bin\EAS.DbInitializer.exe /y
83: copy @RootDirectory\bin\dotnet\EAS.DbInitializer.exe.config @RootDirectory\appserver\bin\EAS.DbInitializer.exe.config /y
84: copy @RootDirectory\bin\dotnet\EAS.Distributed.dll @RootDirectory\appserver\bin\EAS.Distributed.dll /y
85: copy @RootDirectory\bin\dotnet\EAS.Explorer.BLL.Contracts.dll @RootDirectory\appserver\bin\EAS.Explorer.BLL.Contracts.dll /y
86: copy @RootDirectory\bin\dotnet\EAS.Explorer.BLL.Host.dll @RootDirectory\appserver\bin\EAS.Explorer.BLL.Host.dll /y
87: copy @RootDirectory\bin\dotnet\EAS.Explorer.dll @RootDirectory\appserver\bin\EAS.Explorer.dll /y
88: copy @RootDirectory\bin\dotnet\EAS.Explorer.Entities.dll @RootDirectory\appserver\bin\EAS.Explorer.Entities.dll /y
89: copy @RootDirectory\bin\dotnet\EAS.MicroKernel.dll @RootDirectory\appserver\bin\EAS.MicroKernel.dll /y
90: copy @RootDirectory\bin\dotnet\EAS.Monitor.dll @RootDirectory\appserver\bin\EAS.Monitor.dll /y
91: copy @RootDirectory\bin\dotnet\EAS.NLB.Monitor.exe @RootDirectory\appserver\bin\EAS.NLB.Monitor.exe /y
92: copy @RootDirectory\bin\dotnet\EAS.NLB.Server.exe @RootDirectory\appserver\bin\EAS.NLB.Server.exe /y
93: copy @RootDirectory\bin\dotnet\EAS.NLB.Server.exe.config @RootDirectory\appserver\bin\EAS.NLB.Server.exe.config /y
94: copy @RootDirectory\bin\dotnet\EAS.NLB.Server.x64.exe @RootDirectory\appserver\bin\EAS.NLB.Server.x64.exe /y
95: copy @RootDirectory\bin\dotnet\EAS.SOA.Server.exe @RootDirectory\appserver\bin\EAS.SOA.Server.exe /y
96: copy @RootDirectory\bin\dotnet\EAS.SOA.Server.exe.config @RootDirectory\appserver\bin\EAS.SOA.Server.exe.config /y
97: copy @RootDirectory\bin\dotnet\EAS.SOA.Server.x64.exe @RootDirectory\appserver\bin\EAS.SOA.Server.x64.exe /y
98: copy @RootDirectory\bin\dotnet\EAS.SOA.Server.x64.exe.config @RootDirectory\appserver\bin\EAS.SOA.Server.x64.exe.config /y
99: copy @RootDirectory\bin\dotnet\lua51.x64.dll @RootDirectory\appserver\bin\lua51.x64.dll /y
100: copy @RootDirectory\bin\dotnet\lua51.x86.dll @RootDirectory\appserver\bin\lua51.x86.dll /y
101: copy @RootDirectory\bin\dotnet\LuaInterface.x64.dll @RootDirectory\appserver\bin\LuaInterface.x64.dll /y
102: copy @RootDirectory\bin\dotnet\LuaInterface.x86.dll @RootDirectory\appserver\bin\LuaInterface.x86.dll /y
103: copy @RootDirectory\bin\dotnet\MongoDB.dll @RootDirectory\appserver\bin\MongoDB.dll /y
104: copy @RootDirectory\bin\dotnet\MySql.Data.dll @RootDirectory\appserver\bin\MySql.Data.dll /y
105: copy @RootDirectory\bin\dotnet\RdlEngine.dll @RootDirectory\appserver\bin\RdlEngine.dll /y
106: copy @RootDirectory\bin\dotnet\RdlViewer.dll @RootDirectory\appserver\bin\RdlViewer.dll /y
107: copy @RootDirectory\bin\dotnet\soaserver.start.bat @RootDirectory\appserver\bin\soaserver.start.bat /y
108: copy @RootDirectory\bin\dotnet\soaserver.start.bat @RootDirectory\appserver\bin\install.bat /y
109: copy @RootDirectory\bin\dotnet\soaserver.start.bat @RootDirectory\appserver\bin\uinstall.bat /y
110: copy @RootDirectory\bin\dotnet\System.Data.SQLite.DLL @RootDirectory\appserver\bin\System.Data.SQLite.DLL /y
111: copy @RootDirectory\bin\dotnet\System.Workflow.Activities.dll @RootDirectory\appserver\bin\System.Workflow.Activities.dll /y
112: copy @RootDirectory\bin\dotnet\System.Workflow.ComponentModel.dll @RootDirectory\appserver\bin\System.Workflow.ComponentModel.dll /y
113: copy @RootDirectory\bin\dotnet\System.Workflow.Runtime.dll @RootDirectory\appserver\bin\System.Workflow.Runtime.dll /y
114: copy @RootDirectory\bin\dotnet\WF.Demo.DAL.dll @RootDirectory\appserver\bin\WF.Demo.DAL.dll /y
115:
其中@RootDirectory程序會根據運行時工做目錄進行替換,注意:下載的AgileEAS.NET SOA中間件平臺的解壓目錄路徑之中最好不要帶空格和中文。tcp
接下來咱們配置服務端,數據庫咱們將使用「AgileEAS.NET SOA 中間件平臺5.2版本下載、配置學習(一):下載平臺並基於直連環境運行一文所創建和初始化的」eas_demo」數據庫。分佈式
咱們運行「AppServer\Bin」目錄之中的「EAS.Configure.exe」AgileEAS.NET SOA中間件配置文件生成工具生成服務端配置:
必定要選中「生成SOA分佈式服務器配置」和「保存配置到AgileEAS.NET SOA 平臺相關配置文件」而後點「下一步」:
填寫WCF服務所須要的通訊端口號(http和tcp各一個)、以及Socket通訊服務的tcp的端口」以及數據庫鏈接信息,而後點「下一步」:
界面上方是根據所設參數生成的配置信息,此處,能夠改變配置信息的輸出路徑,默認爲當前目錄之中的「EAS.SOA.Server.exe.config」,點擊「完成」輸出配置:
至此,服務端的配置已經完成,接焉爲咱們以控件臺方式運行一下SOA服務端,運行「AppServer\Bin」目錄之中的「soaserver.start.bat」指處理文件:
「soaserver.start.bat」批處理文件是SOA服務的控制檯運行腳本,即以控制檯模式運行SOA服務端,咱們運行以下:
「appServer\Binsoaserver.start.bat」批處理文件其內容以下:
1: EAS.soa.Server.exe -run
2: pause
其本質是「EAS.soa.Server.exe -run」這一旬,EAS.SOA.Server.exe帶了一個啓動參考 -run,即告訴EAS.SOA.Server.exe以控制檯方式運行承載服務,除-run參數以外,EAS.SOA.Server.exe還支持如下參數:
-i 或者/i:向Windows服務控制器安裝AgileEAS.NET SOA中間件平臺SOA服務。
-u 或者/u:卸載已存在的AgileEAS.NET SOA中間件平臺SOA服務。
/name=實例名:在安裝、卸載AgileEAS.NET SOA中間件平臺SOA服務的時候,告訴服務控制器,要安裝什麼實例的名稱是什麼,AgileEAS.NET SOA中間件的服務設計爲能夠多服務實例運行,即一臺電腦上能夠運行實例名稱爲」EAS」、「Demo」、「HIS」、「EMR」、「PACS」等不一樣的服務實例,相似於SQL的命名實現,固然這個參數是一個可選參考,若是不使用本參數,則安裝和卸載默認實例,一臺電腦只能安裝一個默認實例,好比如下腳本:
「AppServer\Bin\install.bat」腳本
EAS.SOA.Server.exe /i /name=demo
pause
表現安裝一個實例名稱爲「demo」的AgileEAS.NET SOA中間件平臺SOA服務實例,咱們能夠執行這個腳本:
咱們打開系統管理工具之中的服務管理:
那以在生產環境之中咱們就能夠經過這種方式部署AgileEAS.NET SOA 中間件平臺的SOA服務,服務安裝以後會隨計算機啓動而自動啓動,咱們能夠很方便的經過系統服務管理工具進行啓動、中止服務,若是咱們不使用這個服務了,咱們可使用如下腳本卸載這個服務:
「AppServer\Bin\uinstall.bat」腳本
1: EAS.SOA.Server.exe /u /name=demo
2: pause
執行腳本以下:
咱們運行「appServer\Bin\soaserver.start.bat」啓動服務進行下一步配置。
在第三節中咱們使用」EAS.Publisher.exe」分發程序分發文件,會自動把客戶段運行文件複製到」appServer\xclient\files」之中,那麼咱們運行」appServer\xclient\files\EAS.Configure.exe」配置程序配置客戶端:
選中「生成客戶端配置(分佈式訪問結果)」和「保存配置到AgileEAS.NET SOA 平臺相關配置文件」而後點擊「下一步」:
這裏須要注意的是端口號要根據選擇的通訊模式和第三節所設置的服務器參數進行決定,tcp對應第三節服務器設置之中的WCF服務之中的Tcp端口號,http對應WCF服務之中的http端口號,socket對應socket服務模式之中的tcp端口號。
點擊「下一步」繼續:
點擊「完成」輸出客戶端配置到「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>
至此爲止,咱們完成了不帶自動升級功能的分佈式客戶端配置,咱們啓動客戶程序「EAS.WinClient.Start.exe」,並使用帳號:Adminstrator,密碼:sa登陸,看到以下界面:
那麼如何分辨程序是以分佈式方式運行的呢,咱們打開以控件臺運行的SOA服務程序CMD窗口,就會看到其中一些消息通訊記錄:
第四節咱們在」appServer\xclient\files」目錄之中成功配置了分佈式客戶端而且成功運行,那麼咱們」appServer\xclient\files」爲基礎配置一個自升級服務。
打開」appServer\xclient\files\update.ini」文件進行修改:
1: # AgileEAS.Net 平臺升級控件文件。
2:
3: [config]
4:
5: allow = 0
6: application = EAS.WinClient.Start.exe
7: url = net.tcp://localhost:6607/eas/services/EAS.UpdateService
其中allow表示是否升級,url爲升級服務地址,地址組成爲wcf協議net.tcp://或http://+主機名稱爲IP+端口號+/eas/services/eas.updateservice,application表示升級完成以後啓動運行的程序,咱們根據第三節的配置修改以下:
1: # AgileEAS.Net 平臺升級控件文件。
2:
3: [config]
4:
5: allow = 1
6: application = EAS.WinClient.Start.exe
7: url = net.tcp://localhost:6607/eas/services/EAS.UpdateService
而後咱們刪除目錄裏面的臨時文件夾「Data」和「logs」,進行」appServer\xclient」,運行目錄之中的」EAS.SmartUpdateConfig.exe「程序:
」EAS.SmartUpdateConfig.exe「程序是AgileEAS.NET SOA 中間件平臺的升級配置程序,即當咱們的應用的程序文件發生了新級和變動,須要把文件複製」appServer\xclient\files」目錄之中,而且運行」EAS.SmartUpdateConfig.exe「程序以生成升級配置文件,升級配置文件存儲在」appServer\xclient\conig」目錄之中的」SmartUpdate.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 SOA平臺升級配置文件</Name>
5: <Description>用於AgileEAS.NET SOA平臺SmartClient/ActiveX運行容器模塊升級之用</Description>
6: <StartEx />
7: <Time>2013-10-16T08:56:44.67765+08:00</Time>
8: <Files>
9: <SmartFile>
10: <FileName>AgileIM.Client.exe</FileName>
11: <Version>1.0.0.0</Version>
12: <Time>2013-10-15T16:59:23.5252+08:00</Time>
13: </SmartFile>
14: <SmartFile>
15: <FileName>AgileIM.Client.exe.config</FileName>
16: <Time>2013-08-27T12:10:12.0756571+08:00</Time>
17: </SmartFile>
18: <SmartFile>
19: <FileName>AgileIM.Contracts.dll</FileName>
20: <Version>1.0.0.0</Version>
21: <Time>2013-10-12T19:50:18.155+08:00</Time>
22: </SmartFile>
23: <SmartFile>
24: <FileName>AgileIM.Service.dll</FileName>
25: <Version>1.0.0.0</Version>
26: <Time>2013-10-15T16:59:24.5722599+08:00</Time>
27: </SmartFile>
28: <SmartFile>
29: <FileName>AxInterop.grdesLib.dll</FileName>
30: <Version>5.0.0.0</Version>
31: <Time>2013-10-12T19:50:02.442+08:00</Time>
32: </SmartFile>
33: <SmartFile>
34: <FileName>AxInterop.grproLib.dll</FileName>
35: <Version>5.0.0.0</Version>
36: <Time>2013-10-12T19:50:02.975+08:00</Time>
37: </SmartFile>
38: <SmartFile>
39: <FileName>EAS.ActiveXForm.ClientClasp.AddIn.dll</FileName>
40: <Version>1.0.0.0</Version>
41: <Time>2013-10-15T17:00:44.6468399+08:00</Time>
42: </SmartFile>
43: <SmartFile>
44: <FileName>EAS.BPM.Activities.dll</FileName>
45: <Version>1.1.0.0</Version>
46: <Time>2013-10-15T16:59:38.4650545+08:00</Time>
47: </SmartFile>
48: <SmartFile>
49: <FileName>EAS.BPM.BLL.Host.dll</FileName>
50: <Version>1.0.0.0</Version>
51: <Time>2013-10-15T17:00:41.6456682+08:00</Time>
52: </SmartFile>
53: <SmartFile>
54: <FileName>EAS.BPM.WinUI.dll</FileName>
55: <Version>2.0.0.0</Version>
56: <Time>2013-10-15T16:59:45.0194294+08:00</Time>
57: </SmartFile>
58: <SmartFile>
59: <FileName>eas.client.ini</FileName>
60: <Time>2013-10-15T21:22:56.5866492+08:00</Time>
61: </SmartFile>
62: <SmartFile>
63: <FileName>EAS.Configure.exe</FileName>
64: <Version>2.0.0.0</Version>
65: <Time>2013-10-15T16:59:27.6444356+08:00</Time>
66: </SmartFile>
67: <SmartFile>
68: <FileName>EAS.Configure.exe.config</FileName>
69: <Time>2013-04-15T19:59:09.4420283+08:00</Time>
70: </SmartFile>
71: <SmartFile>
72: <FileName>EAS.Data.Controls.dll</FileName>
73: <Version>1.0.0.0</Version>
74: <Time>2013-10-15T17:36:07.4252559+08:00</Time>
75: </SmartFile>
76: <SmartFile>
77: <FileName>EAS.Data.dll</FileName>
78: <Version>5.0.0.0</Version>
79: <Time>2013-10-15T16:59:34.241813+08:00</Time>
80: </SmartFile>
81: <SmartFile>
82: <FileName>EAS.Data.Provider.dll</FileName>
83: <Version>5.0.0.0</Version>
84: <Time>2013-10-15T16:59:59.6222646+08:00</Time>
85: </SmartFile>
86: <SmartFile>
87: <FileName>EAS.Distributed.dll</FileName>
88: <Version>5.0.0.0</Version>
89: <Time>2013-10-15T17:00:39.8145635+08:00</Time>
90: </SmartFile>
91: <SmartFile>
92: <FileName>EAS.Explorer.BLL.Contracts.dll</FileName>
93: <Version>5.0.0.0</Version>
94: <Time>2013-10-12T19:50:17.932+08:00</Time>
95: </SmartFile>
96: <SmartFile>
97: <FileName>EAS.Explorer.BLL.Host.dll</FileName>
98: <Version>5.0.0.0</Version>
99: <Time>2013-10-15T17:00:14.297104+08:00</Time>
100: </SmartFile>
101: <SmartFile>
102: <FileName>EAS.Explorer.dll</FileName>
103: <Version>5.0.0.0</Version>
104: <Time>2013-10-12T19:50:16.931+08:00</Time>
105: </SmartFile>
106: <SmartFile>
107: <FileName>EAS.Explorer.Entities.dll</FileName>
108: <Version>5.0.0.0</Version>
109: <Time>2013-10-15T17:00:16.9642565+08:00</Time>
110: </SmartFile>
111: <SmartFile>
112: <FileName>EAS.Explorer.Res.dll</FileName>
113: <Version>1.1.0.0</Version>
114: <Time>2013-10-12T19:50:50.7467432+08:00</Time>
115: </SmartFile>
116: <SmartFile>
117: <FileName>EAS.Explorer.WinUI.dll</FileName>
118: <Version>5.0.0.0</Version>
119: <Time>2013-10-15T16:59:56.5250875+08:00</Time>
120: </SmartFile>
121: <SmartFile>
122: <FileName>EAS.FormDesigner.exe</FileName>
123: <Version>5.0.0.0</Version>
124: <Time>2013-10-15T16:59:46.1954967+08:00</Time>
125: </SmartFile>
126: <SmartFile>
127: <FileName>EAS.GReport.Controls.dll</FileName>
128: <Version>1.0.0.0</Version>
129: <Time>2013-10-15T17:00:07.2997038+08:00</Time>
130: </SmartFile>
131: <SmartFile>
132: <FileName>EAS.MicroKernel.dll</FileName>
133: <Version>5.0.0.0</Version>
134: <Time>2013-10-15T16:59:29.7545563+08:00</Time>
135: </SmartFile>
136: <SmartFile>
137: <FileName>EAS.Monitor.dll</FileName>
138: <Version>1.0.0.0</Version>
139: <Time>2013-10-12T19:50:10.901+08:00</Time>
140: </SmartFile>
141: <SmartFile>
142: <FileName>EAS.NLB.Monitor.exe</FileName>
143: <Version>1.0.0.0</Version>
144: <Time>2013-10-15T17:00:08.143752+08:00</Time>
145: </SmartFile>
146: <SmartFile>
147: <FileName>EAS.NLB.Server.exe</FileName>
148: <Version>1.0.0.0</Version>
149: <Time>2013-10-15T17:00:16.3272201+08:00</Time>
150: </SmartFile>
151: <SmartFile>
152: <FileName>EAS.OrmDesigner.exe</FileName>
153: <Version>5.0.0.0</Version>
154: <Time>2013-10-15T16:58:10.8720445+08:00</Time>
155: </SmartFile>
156: <SmartFile>
157: <FileName>EAS.OrmDesigner.exe.config</FileName>
158: <Time>2012-01-07T11:28:39.2362631+08:00</Time>
159: </SmartFile>
160: <SmartFile>
161: <FileName>EAS.Report.Controls.dll</FileName>
162: <Version>3.0.0.0</Version>
163: <Time>2013-10-15T17:00:11.6179508+08:00</Time>
164: </SmartFile>
165: <SmartFile>
166: <FileName>EAS.SmartUpdater.exe</FileName>
167: <Version>1.0.0.0</Version>
168: <Time>2013-10-15T16:59:54.662981+08:00</Time>
169: </SmartFile>
170: <SmartFile>
171: <FileName>EAS.SOA.Monitor.exe</FileName>
172: <Version>1.0.0.0</Version>
173: <Time>2013-10-15T17:00:20.4044533+08:00</Time>
174: </SmartFile>
175: <SmartFile>
176: <FileName>EAS.ThirdParty.Controls.dll</FileName>
177: <Version>1.0.0.0</Version>
178: <Time>2013-10-12T19:49:55.311+08:00</Time>
179: </SmartFile>
180: <SmartFile>
181: <FileName>EAS.WinClient.dll</FileName>
182: <Version>5.1.0.0</Version>
183: <Time>2013-10-15T17:00:24.8407071+08:00</Time>
184: </SmartFile>
185: <SmartFile>
186: <FileName>EAS.WinClient.Start.exe</FileName>
187: <Version>5.0.0.0</Version>
188: <Time>2013-10-15T16:59:14.0236565+08:00</Time>
189: </SmartFile>
190: <SmartFile>
191: <FileName>EAS.WinClient.Start.exe.config</FileName>
192: <Time>2013-10-15T21:20:03.86277+08:00</Time>
193: </SmartFile>
194: <SmartFile>
195: <FileName>EAS.Windows.dll</FileName>
196: <Version>5.0.0.0</Version>
197: <Time>2013-10-15T17:00:30.9600571+08:00</Time>
198: </SmartFile>
199: <SmartFile>
200: <FileName>EAS.Wpf.Controls.dll</FileName>
201: <Version>1.0.0.0</Version>
202: <Time>2013-10-15T17:00:38.075464+08:00</Time>
203: </SmartFile>
204: <SmartFile>
205: <FileName>grdes50.dll</FileName>
206: <Version>5, 8, 13, 620</Version>
207: <Time>2013-06-24T23:11:32+08:00</Time>
208: </SmartFile>
209: <SmartFile>
210: <FileName>gregn50.dll</FileName>
211: <Version>5, 8, 13, 620</Version>
212: <Time>2013-06-24T23:10:26+08:00</Time>
213: </SmartFile>
214: <SmartFile>
215: <FileName>ICSharpCode.AvalonEdit.dll</FileName>
216: <Version>4.3.1.9429</Version>
217: <Time>2013-10-12T19:50:15.045+08:00</Time>
218: </SmartFile>
219: <SmartFile>
220: <FileName>Interop.grdesLib.dll</FileName>
221: <Version>5.0.0.0</Version>
222: <Time>2013-10-12T19:50:01.56+08:00</Time>
223: </SmartFile>
224: <SmartFile>
225: <FileName>Interop.grproLib.dll</FileName>
226: <Version>5.0.0.0</Version>
227: <Time>2013-10-12T19:50:02.088+08:00</Time>
228: </SmartFile>
229: <SmartFile>
230: <FileName>itextsharp.dll</FileName>
231: <Version>4.1.2.0</Version>
232: <Time>2011-04-19T10:03:14+08:00</Time>
233: </SmartFile>
234: <SmartFile>
235: <FileName>lua51.x64.dll</FileName>
236: <Time>2013-09-30T13:25:51.209+08:00</Time>
237: </SmartFile>
238: <SmartFile>
239: <FileName>lua51.x86.dll</FileName>
240: <Time>2013-09-30T13:27:36.369897+08:00</Time>
241: </SmartFile>
242: <SmartFile>
243: <FileName>LuaInterface.x64.dll</FileName>
244: <Version>2.0.4.24313</Version>
245: <Time>2013-09-30T13:30:27.8847071+08:00</Time>
246: </SmartFile>
247: <SmartFile>
248: <FileName>LuaInterface.x86.dll</FileName>
249: <Version>2.0.4.24313</Version>
250: <Time>2013-09-30T13:30:27.8937076+08:00</Time>
251: </SmartFile>
252: <SmartFile>
253: <FileName>Microsoft.Data.ConnectionUI.Dialog.dll</FileName>
254: <Version>8.0.50727.42 (RTM.050727-4200)</Version>
255: <Time>2011-04-19T14:03:22+08:00</Time>
256: </SmartFile>
257: <SmartFile>
258: <FileName>Microsoft.Data.ConnectionUI.dll</FileName>
259: <Version>8.0.50727.42 (RTM.050727-4200)</Version>
260: <Time>2011-04-19T14:03:22+08:00</Time>
261: </SmartFile>
262: <SmartFile>
263: <FileName>Microsoft.XmlNotepad.dll</FileName>
264: <Version>2.5.3145.19740</Version>
265: <Time>2008-08-11T11:58:04+08:00</Time>
266: </SmartFile>
267: <SmartFile>
268: <FileName>MongoDB.dll</FileName>
269: <Version>0.90.0.1</Version>
270: <Time>2012-03-16T19:11:12.6696083+08:00</Time>
271: </SmartFile>
272: <SmartFile>
273: <FileName>MySql.Data.dll</FileName>
274: <Version>5.0.9.0</Version>
275: <Time>2008-04-14T12:04:28+08:00</Time>
276: </SmartFile>
277: <SmartFile>
278: <FileName>NetronGraphLib.dll</FileName>
279: <Version>2.2.3328.30433</Version>
280: <Time>2009-02-10T16:54:28+08:00</Time>
281: </SmartFile>
282: <SmartFile>
283: <FileName>RdlDesigner.dll</FileName>
284: <Version>3.9.7.0</Version>
285: <Time>2013-10-12T19:50:00.225+08:00</Time>
286: </SmartFile>
287: <SmartFile>
288: <FileName>RdlEngine.dll</FileName>
289: <Version>3.9.7.0</Version>
290: <Time>2013-10-12T19:49:53.522+08:00</Time>
291: </SmartFile>
292: <SmartFile>
293: <FileName>RdlViewer.dll</FileName>
294: <Version>3.9.6.0</Version>
295: <Time>2013-10-12T19:49:56.182+08:00</Time>
296: </SmartFile>
297: <SmartFile>
298: <FileName>System.Data.SQLite.DLL</FileName>
299: <Version>1.0.66.0</Version>
300: <Time>2010-04-18T13:34:12+08:00</Time>
301: </SmartFile>
302: <SmartFile>
303: <FileName>System.Workflow.Activities.dll</FileName>
304: <Version>4.0.30319.1 (RTMRel.030319-0100)</Version>
305: <Time>2010-03-18T19:31:26+08:00</Time>
306: </SmartFile>
307: <SmartFile>
308: <FileName>System.Workflow.ComponentModel.dll</FileName>
309: <Version>4.0.30319.1 (RTMRel.030319-0100)</Version>
310: <Time>2010-03-18T19:31:26+08:00</Time>
311: </SmartFile>
312: <SmartFile>
313: <FileName>System.Workflow.Runtime.dll</FileName>
314: <Version>4.0.30319.1 (RTMRel.030319-0100)</Version>
315: <Time>2010-03-18T19:31:26+08:00</Time>
316: </SmartFile>
317: <SmartFile>
318: <FileName>update.ini</FileName>
319: <Time>2013-10-15T21:32:33.0976238+08:00</Time>
320: </SmartFile>
321: <SmartFile>
322: <FileName>WF.Demo.DAL.dll</FileName>
323: <Version>1.0.0.0</Version>
324: <Time>2013-10-12T19:49:57.9107211+08:00</Time>
325: </SmartFile>
326: <SmartFile>
327: <FileName>WF.Demo.UI.dll</FileName>
328: <Version>1.0.0.0</Version>
329: <Time>2013-10-12T19:50:49.1896541+08:00</Time>
330: </SmartFile>
331: </Files>
332: </SmartConfig>
」SmartUpdate.xml「文件爲平臺的升級配置文件,其本質是存儲一個文件及其最後修改時間的一個清單,客戶端也持有這麼一份清單,客戶端會依據本身持有的清單與服務器上的清單比對以斷定須要升級更新那些文件。
」appServer\xclient」爲AgileEAS.NET SOA 中間件的服務端升級目錄,這個路徑是不能更改的,在AgileEAS.NET SOA 中間件有服務設計之中更新了硬性的規定,其中」appServer\xclient\files」目錄其本質就是客戶端的最新複製。
當咱們完成以上配置以後,咱們來驗證一個自動升級是否可使用,咱們把」appServer\xclient\files」複製到其餘地方,好比咱們複製到「D:\」並重命名爲」d:\eas.client」,以下圖:
而後咱們運行「d:\eas.client\eas.winclient.start.exe」,系統有以下提示:
咱們點擊「肯定」將會啓動升級程序進行升級:
升級完成以後點擊「關閉」,系統將會本身啓動「d:\eas.client\eas.winclient.start.exe」,打開登陸窗口:
輸入用戶:Administrator密碼:sa,點擊登陸,打開主界面:
爲了完善、改進和推廣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。