专栏首页魏琼东AgileEAS.NET SOA中间件平台更新日志 2015-04-28

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)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • AgileEAS.NET SOA中间件平台更新日志 2015-04-28

    一、前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速...

    魏琼东
  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 系统管理使用教程

    前言          所谓AgileEAS.NET平台系统管理即指AgiLeEAS.NET平台中用于完成插件的发现、安装、配置及组织管理功能的一组具体应用,以...

    魏琼东
  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 权限管理

          前面我们在AgileEAS.NET之插件接口IModule和AgileEAS.NET之插件运行容器中对模块插件和运行容器都做了介绍,我们知道,在运行...

    魏琼东
  • 设计模式-依赖倒置

    yiduwangkai
  • 行为型设计模式:访问者模式

    访问者模式是设计模式中最难理解的一种设计模式,代码也比较复杂。在GOF《设计模式》中ding定义如下:

    jinjunzhu
  • 设计模式-命令模式

    Client:确定具体的命令和接受者; Command:抽象命令接口,一般是接口类或者抽象类 ConcreteCommand:具体的命令执行,调用接受者 Inv...

    breezedancer
  • 微信程序开发系列教程(一)开发环境搭建

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.blog....

    Jerry Wang
  • 小程序开放插件功能,可供其他小程序使用

    3月13日,微信小程序开放了插件功能,也就是可以被添加到小程序内直接使用的功能组件——开发者可以像开发小程序一样开发插件,供其他小程序使用;其他开发者无需重复开...

    ytkah
  • Java中介者模式(Mediator)

      如果一个系统中对象之间的联系呈现为网状结构,对象之间存在大量多对多关系,将导致关系及其复杂,这些对象称为"同事对象",我们可以引入一个中介者对象,使各个同事...

    用户4919348
  • 视频颜色理论

    本文来自“The Broadcast Knowledge”的演讲,主题是“视频颜色理论”,演讲者是Korro电影公司所有者兼创意总监Ollie Kenching...

    用户1324186

扫码关注云+社区

领取腾讯云代金券