分布式编程和.NET平台这两个主题都需要花费大量笔墨才能描述清楚,但在本书中,作者择其精要,深入浅出地介绍了在构建分布式应用时需用到的一些主要的.NET技术,如.NET Remoting、Web服务、串行化、COM+和MSMQ等。对于每一项技术,都首先进行详细的分析,然后再在实际应用中体会该技术解决问题的能力。
\r\n 本书适用的对象为希望利用.NET技术来构建分布式应用程序的并且具有C#和面向对象编程经验的程序员。
\r\n
\r\n ·采用培训专业开发人员时的教学方式进行编写
\r\n ·用.NET Remoting和Web服务进行分布式编程
\r\n ·作者是Intertech公司的一位有经验的教员,是针对企业Web开发人员的实用研究班的负责人
\r\n 随着.NET的发布,Microsoft再次改变了分布式编程的前景。几乎所有一切都发生了根本的改变,从数据访问到远程对象调用,再到软件组件的部署。当然,.NET在XML Web服务中引入了新技术,这将使Web开发产生彻底的变革。
\r\n 本书描述了如何使用这些新的.NET技术构建快速、可伸缩的和健壮的分布式应用程序。同时,它解决了一些常见的问题,例如如何使用.NET Remoting Framework?COM+在.NET中扮演的角色?如何与 COM组件进行互操作?.NET Remoting和 Web服务之间的区别?这些改变将如何影响分布式应用程序的体系结构和设计?
\r\n 作者假定您熟悉.NET的基本原理。不过,在.NET概述中也简单地解释了一些核心.NET技术,如构建、版本控制和部署程序集:垃圾回收;串行化和基于特性的编程等,它们对于分布式编程来说很重要。
\r\n 对于想了解如何利用C#进行分布式编程的开发人员来说,本书是一本不可多得的学习用书。
第1章 分布式编程的发展\r\n 1.1 分布式编程概述\r\n 1.2 分布式编程的简短历史\r\n 1.3 微软和分布式计算\r\n 1.4 小结\r\n第2章 .NET概述\r\n 2.1 理解.NET体系结构\r\n 2.2 构建和配置.NET程序集\r\n 2.3 理解.NET版本控制\r\n 2.4 理解特性和反射\r\n 2.5 理解垃圾回收\r\n 2.6 串行化\r\n 2.7 小结\r\n第3章 .NET Remoting简介\r\n 3.1 什么是Remoting\r\n 3.2 理解应用程序域\r\n 3.3 编组对象\r\n 3.4 探讨.NET Remoting Framework\r\n 3.5 本章小结\r\n第4章 用.NET Remoting进行分布式编程\r\n 4.1 实现已知对象\r\n 4.2 实现客户端激活的对象\r\n 4.3 构建远程主机\r\n 4.4 小结\r\n第5章 其他远程技术\r\n 5.1 解决元数据的部署问题\r\n 5.2 异步调用远程对象\r\n 5.3 理解调用上下文\r\n 5.4 小结\r\n第6章 理解XML Web服务\r\n 6.1 Web服务概述\r\n 6.2 在.NET中构建和使用Web服务\r\n 6.3 Remoting技术和Web服务\r\n 6.4 小结\r\n第7章 理解COM互操作\r\n 7.1 COM互操作\r\n 7.2 托管到非托管的互操作\r\n 7.3 非托管到托管的互操作\r\n 7.4 小结\r\n第8章 利用组件服务\r\n 8.1 组件服务概述\r\n 8.2 用托管代码构建服务组件\r\n 8.3 自动事务\r\n 8.4 使用服务组件\r\n 8.5 COM+1.5的新功能\r\n 8.6 小结\r\n第9章 .NET消息队列\r\n 9.1 消息队列概述\r\n 9.2 安装和管理MSMQ\r\n 9.3 使用.NET消息队列\r\n 9.4 用托管代码编写队列组件\r\n 9.5 小结\r\n附录A 用ADO.NET进行数据访问
Tom Barnaby是Intertech公司的教员和软件设计师。作为一名教员,他长期与来自世界各地的一线开发人员保持联系。作为一名软件设计师,他建议公司设计和实现他们的IT系统。Tom开发了大量应用程序,例如专用的4GL/数据库系统和完全分布式的ERP应用程序等。在消遣时,他喜欢与儿子Max玩耍、看电影以及在音量调至11的电吉他上演奏和弦。
对于进行分布式编程的广大程序员来说,将COM技术扩展到网络上的DCOM无疑是一种福祉。在DCOM模型的帮助下,客户端可以与位于任何地方的COM对象进行精确的互操作,而无需改变CodeBase。在AppID、存根、代理以及通道的间接帮助下可以实现分布式的目的,而且其最终结果与使用像dcomcnfg.exe和Component Services snap-in这样的工具并无什么区别。不过,在DCOM中并不是都能事事如意,就这点而言,在COM中同样如此。虽然从表面上看,只需单击一些复选框就可以轻松地实现基于COM的远程调用,但实际上,还需要面对注册冲突、通过引用传递接口指针时所花费的时间、以及跨防火墙时的艰难等诸多问题。
正如ADO.NET与典型ADO并无多大联系一样,.NET Remoting与典型DCOM也没有什么联系。这一点表现得最明显的是.NET程序集并不进行系统注册,因此,我们也没有AppID。没有了AppID,我们也就没有RemoteServerName的值,这就进一步意味着没有对oleaut32.dll的引用,也就没有了基于COM的存根和代理。简而言之,过去我们所了解的跨网络进行的交互方式全都发生了翻天覆地的变化。
.NET为我们提供了许多新的远程结构。除了要面对如WKO、CAO.这样的众多TLA(3个字母的首字母缩写)外,还需要处理围绕旧概念所引发的新问题(例如实际代理和透明代理之间的区别)、以及XML配置文件的任务。
许多准备学习.NET分布式编程的程序员一般都会求助于MSDN。这时,他们就会学习许多代码示例、微软的一些白皮书、还需要一台21寸的监视器来查看各式图表。这样一来,必定会给程序员们造成不少麻烦,而且也会使知识结构之间产生脱节。现在最需要的是要有一种实际的方法,能够彻底地解决在企业级应用环境中如何合理运用这些新技术的问题。
Tom最新出版的图书(也就是您现在手上拿的这本书)就提供了这种解决方式。在本书中,对于.NETRemoting层的许多具体内容,您都可以看到逻辑分明清晰易懂的说明和评述。在Tom的这本书中,不但经常性地将这一系列新的TLA反复提出来,还提出许多以企业为中心的技术,例如构建配置组件(亦称COM+)、.NET通信、Web服务和典型的COM类型间的交互,从而可以加深您对相关技术的理解。
多年来,Tom和我都一直在Intertech公司(http://intertech-inc.com)共事,亲眼目睹他进行了许多关于典型COM和.NET方面的教学。我很荣幸能够与他在许多开发研究工作中进行合作。对于想进行分布式编程的程序员们来说,以我的经验来看,本书确实不错。