AgileEAS.NET SOA 中介軟體平臺5.2版本下載、配置學習(四):開源的Silverlight執行容器的編譯、配置
一、前言
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推向市場,讓更多的人使用。
技術團隊成員都是合作多年的老朋友,因為這個平臺是免費的,我們的營運開支主要靠為客戶提供諮詢服務所得,我們都是因為程式設計師的那種理想與信念堅持,在此我感謝一起奮鬥的朋友和一直支援我們工作的客戶、朋友。
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人
郵件:[email protected],[email protected],
電話:18629261335。