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方法里面寫自己的插件邏輯,領域設計器傳入當前進行設計的項目,開發好自己的插件之后,打開插件管理功能進行加載:

image

     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人

郵件:james@agilelab.cn,mail.james@qq.com,

電話:18629261335。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM