基于.Remoting的分布式消息处理框架

        很多应用都是基于服务器(SERVER)/客户端(CLIENT),这样可以很好地把功能分布到不同的计算机上去处理大大提高了系统的灵活性。这种方式的运行特点就是客户端向服务器发送消息,服务器处理后把结果返回给客户端处理。在.Net平台下提了两中方案WebService和Remoting。Remoting提供很强的对象远程处理能力,在它基础可以快整建立自己的消息处框架方便实现分布式系统处理系统。

(图1)
1 制定消息接口和消息处理接口
在确定功能之前必须把规范制定下来,这样才能方便工作的开展。
明确消息接口规则定下来,尽量简单;当然不能直接用object太泛也不能表达目的。
消息的规则:
public interface IMessage
  {
   string ID
   {
    get;
   }
   string Name
   {
    get;
    set;
   }
   object Body
   {
    get;
    set;
   }
 }
消息规则已经明确了,还必须明确能够处理消息的规则。如果没有这个规则就不能工作,因为没有信息可以把消息和处理的类绑定在一起。
处理消息规则:
public interface IDispense
  {
   void Accept(IMessage message,ServerContext context);
 }
2 制定消息和业务处理关联配置文件
这一项是起着桥梁的作用,它告诉消息处理容器对不同的消息应该执行那些功能。
可以描述那些消息触发那些功能:
<Message blltype="ClassName,Assembly" msgtype="ClassName,Assembly" single="bool"/>
也可以描述这个名称空间的所有消息触发那些功能
<Message blltype="ClassName,Assembly" msgtype="Namespace.*,Assembly" single="bool"/>
single用于描述只实例一个对象处理,还是针对每个消息单独实例化。
3 制定消息分配处理容器
消息处理容器是主要用于管理和消息分发作用,服务端接收消息后发送到容器中处理,容器会根据消息的类型进行处理发触发相应的功能。
4 类图

posted on 2005-11-24 13:48  henry  阅读(723)  评论(0编辑  收藏  举报

导航