一、前言
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推向市場,讓更多的人使用。
我的技術團隊成員都是合作多年的老朋友,因為這個平台是免費的,是以也沒有什麼收入,都是由程式員的那種理想與信念堅持,在此我感謝一起奮鬥的朋友。
團隊網站:http://www.agilelab.cn
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人
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。
作者:魏瓊東
出處:http://www.cnblogs.com/eastjade
關于作者:有13年的軟體從業經曆,專注于中小軟體企業軟體開發過程研究,通過在技術與管理幫助中小軟體企業實作技術層面開源節流的目的。熟悉需求分析、企業架構、項目管理。現主要從事基于AgileEAS.NET平台的技術咨詢工作,主要服務于醫療衛生、鐵路、電信、物流、物聯網、制造、零售等行業。如有問題或建議,請多多賜教!
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,如有問題,可以通過[email protected] 聯系我,也可以加入QQ群:113723486、199463175、116773358、116773358、212867943、147168308、59827496、193486983、15118502和大家共同讨論,非常感謝。