AgileEAS.NET SOA中介軟體平臺更新日誌 2015-04-28
一、前言
AgileEAS.NET SOA 中介軟體平臺是一款基於基於敏捷並行開發思想和Microsoft .Net構件(元件)開發技術而構建的一個快速開發應用平臺。用於幫助中小型軟體企業建立一條適合市場快速變化的開發團隊,以達到節省開發成本、縮短開發時間,快速適應市場變化的目的。
AgileEAS.NET SOA中介軟體平臺提供了敏捷快速開發軟體工程的最佳實踐,通過提供大量的基礎支撐功能如IOC、ORM、SOA、分散式體系及敏捷併發開發方法所支撐的外掛開發體系,以及提供了大量的實體、資料模型設計生成工具、程式碼生成工具,用於幫助中小軟體開發商快速成長。
AgileEAS.NET平臺充分把握目前軟體行業快速發展的新趨勢,基於敏捷並行開發、快速適應市場這樣淳樸的軟體工程實踐,採用業界廣泛使用的Microsoft .Net構件(元件)開發技術實踐了這種開發思想,幫助軟體企業實現“敏捷變化、快速適合”的目標,從而幫助軟體企業在激烈的市場競爭中贏得先機並獲得更高的回報。
二、2015-04-28更新日誌
1.調整Socket通訊框架的某些細節設計,調整訊息/訊息處理器註冊機制:
/// <summary> /// 註冊訊息。 /// </summary> /// <typeparam name="TMessage">訊息型別。</typeparam> void AddMessage<TMessage>() where TMessage : IMessage; /// <summary> ///註冊訊息。 /// </summary> /// <typeparam name="TMessage">訊息型別。</typeparam> /// <typeparam name="THandler">訊息處理器型別。</typeparam> void AddMessage<TMessage, THandler>() where TMessage : IMessage where THandler : IMessageHandler<TMessage>, new(); /// <summary> /// 註冊訊息處理器。 /// </summary> /// <typeparam name="TMessage">訊息型別。</typeparam> /// <param name="hander">訊息處理器。</param> [Obsolete("5.0之後不在支援,請使用AddMessage。")] void AddHander<TMessage>(IMessageHandler<TMessage> hander) where TMessage : IMessage;
原有AddHander<TMessage>方法調整為兩個新的方法AddMessage<TMessage>,呼叫更為優雅。
2.修復Socket在伺服器環境下長時間大併發執行會無端找不到IP地址的Bug。
3.修改Socket訊息匯流排,增加匯流排是否線上等功能。
4.WinClient整合訊息通訊功能,增加程式集EAS.Communications.dll,將即時通訊與WinClient容器進行深度整合。
5.WinClient增加單一位置登入功能,即某一個賬號只能在某一個終端登入,如果在其他終端登入,將會剔出原有登入終端:
#region 程式集 EAS.WinClient.dll, v4.0.30319 // E:\AgileLab\AgileEAS.NET\5.0\Complete\4.0\EAS.WinClient.dll #endregion using EAS.Explorer; using System; namespace EAS.WinClient { // 摘要: // AgileEAS.NET平臺WinClient程式對外介面。 public class Application { public Application(); // 摘要: // 允許使用即時通訊。 public static bool AllowIM { get; set; } // // 摘要: // 是否允許踢人。 public static bool AllowKicking { get; set; } // 摘要: // 快取預熱。 public static void CachePrepare(); // // 摘要: // 配置系統資源。 // // 引數: // resource: // 資源例項。 public static void ConfigResource(IResource resource); // // 摘要: // 配置系統時間函式。 // // 引數: // timeFunc: // 時間函式。 public static void ConfigTimeFunc(Func<DateTime> timeFunc); // // 摘要: // 正常啟動。 public static void Start(); // // 摘要: // 啟動平臺。 // // 引數: // assemblyName: // 除錯啟動。 public static void Start(string assemblyName); // // 摘要: // 啟動平臺。 // // 引數: // assemblyName: // 除錯啟動。 // // needLogin: // 需要登入。 public static void Start(string assemblyName, bool needLogin); // // 摘要: // 啟動平臺。 // // 引數: // assemblyName: // 除錯啟動。 // // needLogin: // 需要登入。 // // LoginID: // 登入ID。 // // Password: // 密碼。 public static void Start(string assemblyName, bool needLogin, string LoginID, string Password); // // 摘要: // 啟動平臺。 // // 引數: // assemblyName: // 除錯啟動。 // // needLogin: // 需要登入。 // // organization: // 組織機構。 // // LoginID: // 登入ID。 // // Password: // 密碼。 public static void Start(string assemblyName, bool needLogin, string organization, string LoginID, string Password); // // 摘要: // 啟動升級。 public static void Upgrade(); } }
請在自己的主啟動程式之中決定是否要啟用剔除登入功能:
System.Windows.Forms.Application.EnableVisualStyles(); System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false); WaitCallback updateCallBack = (s) => { EAS.Windows.Application.Upgrade(); }; System.Threading.ThreadPool.QueueUserWorkItem(updateCallBack); DllRegisterServer(); EAS.WinClient.Application.AllowKicking = true; EAS.WinClient.Application.Start();
同時,要求必須在配置檔案之中配置好Socket訊息匯流排:
<!--訊息匯流排--> <object name="MessageBus" assembly="EAS.MicroKernel" type="EAS.Sockets.Bus.SocketBus" LifestyleType="Singleton"> <property name="Url" type="string" value="socket.tcp://127.0.0.1:6636/"/> </object>
訊息匯流排的Socket連結地址和埠必須為AgileEAS.NET SOA 中介軟體SOA伺服器,並且開啟Socket服務功能。
5.調整了領域模型設計器的程式碼外掛展示細節。
6.調整了領域模型設計器外掛管理功能。
7.領域模型設計器增加了介面設計外掛機制,充許開發者製作自己的設計器外掛,完成特別的功能:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace EAS.Design { /// <summary> /// 元資料設計器外掛。 /// </summary> public interface IDesignAddIn { /// <summary> /// 外掛名稱。 /// </summary> string Name { get; } /// <summary> /// 執行外掛。 /// </summary> /// <param name="workProject">當前專案。</param> void Start(Project workProject); } }
實現自己的外掛,必須實現IDesignAddIn介面,必須要引用EAS.Metadata.dll,在Start方法裡面寫自己的外掛邏輯,領域設計器傳入當前進行設計的專案,開發好自己的外掛之後,開啟外掛管理功能進行載入:
8.GR報表設計器增加了退出設計器時的儲存提醒功能。
9.調整完善了計劃任務功能(計劃任務引擎和管理UI)。
10.解決Lua指令碼在沒有安裝VC11執行庫環境不能執行的Bug。
11.賬戶管理增加了線上狀態以及線上位置功能。
12.賬號表增加了LINESTATE欄位:
ALTER TABLE EAS_ACCOUNTS ADD LINESTATE INT DEFAULT(0)
四、聯絡我們
為完善、改進和推廣AgileEAS.NET而成立了敏捷軟體工程實驗室,是一家研究、推廣和發展新技術,並致力於提供具有自主智慧財產權的業務基礎平臺軟體,以及基於業務基礎平臺開發的管理軟體的專業軟體提供商。主要業務是為客戶提供軟體企業研發管理解決方案、企業管理軟體開發,以及相關的技術支援,管理及技術諮詢與培訓業務。
AgileEAS.NET SOA中介軟體平臺自2004年秋呱呱落地一來,我就一直在逐步完善和改進,也被應用於保險、醫療、電子商務、房地產、鐵路、教育等多個應用,但一直都是以我個人在推廣,2010年因為我辭職休息,我就想到把AgileEAS.NET推向市場,讓更多的人使用。
我的技術團隊成員都是合作多年的老朋友,因為這個平臺是免費的,所以也沒有什麼收入,都是由程式設計師的那種理想與信念堅持,在此我感謝一起奮鬥的朋友。
QQ:47920381,AgileEAS.NET
QQ群:113723486(AgileEAS SOA 平臺)/上限1000人
199463175(AgileEAS SOA 交流)/上限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。