现在的位置: 首页 > 综合 > 正文

[连载]基于消息驱动的面向对象通用C/S应用框架(简介)

2013年10月11日 ⁄ 综合 ⁄ 共 2522字 ⁄ 字号 评论关闭

连载目的

        从今天开始,将把自己设计和开发的一个基于消息驱动的面向对象C/S应用框架介绍给大家。

        该框架是作者设计和开发的一个可用于C/S(客户机/服务器)类型应用系统软件开发的通用框架,它以客户机和服务器之间的业务消息传输为驱动的基础,采用了面向对象思想和工具来设计开发。该框架从真实的客户机/服务器应用系统软件(一个电信管理网络软件OMC-R和一个移动多媒体前端系统软件)中提炼出来,并已经过实践的检验,而且比CORBA、DCOM等分布式面向对象系统更加易于理解、更加简单和直接、以及更加容易使用。

        开发该框架以及推出介绍文章,其目的之一就是希望能够打通从经典的基于简单消息的C/S系统模型到基于抽象接口的分布式面向对象高级C/S系统如CORBA、DCOM、JAVA-RMI和REMOTING等之间的通路,为那些打算转向这类分布式面向对象技术的应用系统设计和开发人员提供一个可以学习和参考的过渡产品,并减少理解、学习上的障碍和难度,至少在“如何将网络消息映射为远程对象的方法调用”这一点上提供了可资参考的实现手法。

        像CORBA、DCOM、JAVA-RMI和REMOTING等技术,它们在把客户机对接口的调用转换为网络消息以及将网络消息转换为服务器上的对象方法调用的过程中,对应用层屏蔽了绝大部分内容和细节,或者是像DCOM那样提供了比较复杂的参数整编和解编技术,甚至还需要用户自己编写接口上的参数整编和解编过程,以致令许多开发人员迷惑不解,很难适应。这些技术都是直接面向抽象接口来编程的,而这里介绍的框架则是直接面向业务消息编程,并将一个个业务消息直接映射为各个消息处理器对象的方法调用,这就不会感到过于抽象,也更加容易接受。另外,大多数相关图书都是介绍如何使用相关技术和工具来开发具体应用系统的,而对底层实现机制要么只字不提,要么就是被淹没在阐述各种协议和复杂机制的文字中了。而这里将详细阐述这个框架的各个细节,从中你可以了解到如何将网络消息映射为对象的方法调用。

        关于为何使用CORBA以及COM/DCOM的理由其实已经不需要再多说了,随便到网上搜索一下就能拿出一大堆来。业界对CORBA人才的需求,特别是对有实践经验的人才的需求,从来没有中断过,而且目前仍然供不应求。但是CORBA无疑是庞大的和复杂的,学习和掌握都是困难的,所以那些熟练掌握甚至精通它的人才会炙手可热。COM/DCOM的情况类似。CORBA虽然没有J2EE/JAVA/EJB/RMI和.NET/C#/REMOTING那么流行和受人欢迎,但是它也有自己的优势,那就是完全的平台无关、操作系统无关和开发语言无关,可以集成以往开发的任何系统,从而有效保护企业的投资。

        目前,CORBA仍然是异构环境下分布式应用软件及其互连的国际标准,而且大量应用于工业级和企业级系统中,同时期望转向该技术领域的开发人员也有很多;COM/DCOM是Windows平台上面向二进制组件的分布式应用系统开发的主流技术和工具,而且早已经是Windows操作系统的底层和内核技术,熟悉和精通它们的开发人员同样有很大的市场需求。但是,这些系统的共同特点是庞大而复杂,理解、学习甚至掌握它们都需要很大的时间和精力投入,特别是对于不熟悉网络编程和面向对象技术的初学者,难度会更大。将要介绍的框架可以作为从经典的基于简单消息的C/S模型跨越到这些高级的、面向对象的、甚至是面向组件的高级C/S模型的一个跳板,它可以帮助读者更快、更好地理解、学习以及应用这些高级技术和工具。如果理解并掌握了这个框架,再学习甚至迁移到CORBA、COM/DCOM等面向对象的分布式架构并用它们来开发具体应用软件系统,就会容易得多了。

        当然,这个框架也可用于实际软件系统的开发,特别是小型和小规模部署的系统,尤其适合某些专用管理系统开发。

连载内容

        将展示一个基于业务消息驱动的C/S应用系统(即多客户机/单服务器应用系统)框架,及其设计和开发过程,其中全面运用了面向对象方法、面向对象设计原则和常用的设计模式,同时该框架是一个用来构建C/S应用系统的通用框架。正如其他应用框架的作用一样,该框架可以极大地简化此类应用系统客户端和服务器端软件的开发工作、减少工作量和加快开发速度,同时可提供统一的和标准化的软件解决方案,额外的好处是编写出来的软件具有统一的架构、统一的风格和模式,可维护性、可扩展性和可移植性将更好,并且更加健壮。

        主要内容分为五章:

        第1章:C/S应用框架介绍。主要介绍应用框架的概念、C/S系统模型从经典的直接面向简单消息编程的系统到面向对象甚至面向二进制组件的系统的演变,简单介绍常用的和著名的C/S应用系统框架如CORBA、COM/DCOM以及ACE等,最后阐述它们的特点及其优缺点。

        第2章:基于消息驱动的通用C/S应用框架设计和实现。这是核心章节,全面阐述作者设计和开发的一个基于业务消息驱动的C/S应用系统框架的总体结构、内部主要的组件、接口及其实现细节。

        第3章:基于Stream Socket的面向对象网络通信组件。也是核心章节,全面讲述基于Stream Socket通信的客户机和服务器网络通信层组件模型和具体实现,它使用面向对象技术来开发。通信层向框架层屏蔽了客户端和服务器之间的Socket通信细节。

        第4章:多线程应用环境和线程对象模型。主要讲解多任务编程中的多线程编程技术,包括多线程程序需要解决哪些线程安全性问题、如何用面向对象方法和组件来封装线程同步对象以及如何用线程同步对象来解决线程安全性问题等,接着分析了Windows平台下MFC封装类CWinThread的特点,最后实现了一个完全封装的Thread类,它被用于创建通信层和框架层中的各个线程。

        第5章:基于消息驱动框架的服务器和客户端实现。本章将用两个具体实例来说明如何运用C/S应用框架和通信层组件来开发具体的应用系统,并提出将来对该框架可能进行怎样的扩展。

抱歉!评论已关闭.