本书介绍了COM和COM+的基本原理;揭示了大量COM+的技术内幕;分析讨论了COM+和Windows2000所提供的大量服务。主要内容包括使用Visual Basic创建并发布组件、COM+运行时环境、本地事务与分布式事务处理、IIS和ASP最重要的新内容、MSMQ、组件队列服务、COM+事件、COM+的安全性、可伸缩应用设计等。\r\n 本书适合于希望在COM+和Windows2000环境下进行分布式应用开发的Microsoft VisualBasic中、高级程序员阅读,也可以用做ASP和C++开发人员的参考书。\r\n\r\n
译者序\r\n序言\r\n前言\r\n\r\n第1章 COM+概述\r\n\r\n1.1 为什么要使用COM+\r\n1.2 Microsft多层平台的发展历史\r\n1.2.1 多层战略的基础:COM\r\n1.2.2 从COM到MTS\r\n1.2.3 从COM和MTS到COM+\r\n1.3 理解COM+服务\r\n1.3.1 Internet信息服务器\r\n1.3.2 Microsoft消息队列服务\r\n1.3.3 组件队列\r\n1.3.4 COM+事件服务\r\n1.4 使用Visual Basic创建分布式应用\r\n小结\r\n\r\n第2章 理解基于接口编程\r\n\r\n2.1 面向对象编程的基本原理\r\n2.1.1 改变类的公共接口\r\n2.1.2 实现继承速成\r\n2.2 分离接口与实现\r\n2.2.1 继承的两种形式\r\n2.2.2 利用Visual Basic使用接口\r\n2.2.3 为什么要使用用户自定义接口\r\n2.2.4 扩展类的定义\r\n2.2.5 在应用设计中使用接口\r\n2.2.6 接口与COM\r\n小结\r\n\r\n第3章 COM的基本原理\r\n\r\n3.1 COM的产生\r\n3.1.1 使用C++创建二进制组件\r\n3.1.2 用虚表作为标准内存的代理\r\n3.2 类型库和语言无关性\r\n3.2.1 使用IDL\r\n3.2.2 Visual Basic怎样映射到COM\r\n3.2.3 全局唯一标识(GUID)\r\n3.3 动态加载组件代码\r\n3.3.1 对象激活\r\n3.3.2 CLSID与Windows注册表\r\n3.3.3 工作中的SCM\r\n3.3.4 ProgID与CreateObject函数\r\n3.4 了解IUnknown与IDispatch\r\n3.4.1 IUnknown接口\r\n3.4.2 QueryInterface方法\r\n3.4.3 IDispatch接口与Automation\r\n3.4.4 双重接口\r\n3.5 使用COM进行进程间通信\r\n3.5.1 全局编排程序的作用\r\n3.5.2 关于COM进程间通信\r\n小结\r\n\r\n第4章 创建和配置服务器\r\n\r\n4.1 把组件编译到服务器中\r\n4.1.1 进程内服务器\r\n4.1.2 进程外服务器\r\n4.1.3 为COM+封装组件\r\n4.1.4 创建服务器\r\n4.2 服务器配置问题\r\n4.2.1 项目范围的类型库属性\r\n4.2.2 组件的实例属性\r\n4.2.3 修改过程属性\r\n4.2.4 友元方法\r\n4.2.5 使用枚举类型\r\n4.2.6 使用UDT\r\n4.3 为脚本客户设计组件\r\n4.3.1 脚本客户与用户自定义接口\r\n4.3.2 关于脚本客户\r\n4.4 从服务器中捕获错误\r\n4.4.1 HRESULT\r\n4.4.2 COM异常处理\r\n4.4.3 错误捕获约定\r\n4.4.4 在脚本客户中处理错误\r\n小结\r\n\r\n第5章 组件版本的控制\r\n\r\n5.1 COM中的版本控制\r\n5.1.1 为脚本客户控制组件的版本\r\n5.1.2 为直接虚表绑定客户控制组件的版本\r\n5.2 生成用户自定义接口\r\n5.2.1 使用IDL定义接口\r\n5.2.2 使用IDL定义方法参数表\r\n5.2.3 使用枚举型和UDT\r\n5.2.4 编译类型库\r\n5.2.5 分布和配置类型库\r\n5.2.6 更麻烦的事情\r\n小结\r\n\r\n第6章 使用配置型组件\r\n\r\n6.1 配置型组件的基本概念\r\n6.1.1 COM+应用\r\n6.1.2 创建和设置配置型组件\r\n6.1.3 库应用与服务器应用\r\n6.1.4 进程外激活\r\n6.1.5 远程激活\r\n6.1.6 应用代理\r\n6.1.7 分布式废区收集\r\n6.1.8 分布式应用分类\r\n6.2 理解环境\r\n6.2.1 线程切换代理与轻量级代理\r\n6.2.2 何时生成环境\r\n6.2.3 慎用New操作\r\n6.2.4 环境与对象引用\r\n6.3 COM+编程模式\r\n6.3.1 依据对象环境编程\r\n6.3.2 理解调用环境\r\n6.4 测试和调试COM+组件\r\n6.4.1 在Visual Basic调试器中运行配置型组件\r\n6.4.2 其他可用调试技术\r\n小结\r\n\r\n第7章 在COM+应用中共享资源\r\n\r\n7.1 共享线程\r\n7.1.1 Win32线程管理入门\r\n7.1.2 COM的线程管理模型\r\n7.2 共享内存\r\n7.2.1 单元与标准模块变量\r\n7.2.2 共享资源管理器\r\n7.3 共享数据库连接\r\n7.3.1 为什么需要数据库连接池机制\r\n7.3.2 连接池机制的工作过程\r\n7.3.3 使用数据库连接池机制\r\n7.4 共享可装池对象\r\n7.4.1 对象池机制为什么重要\r\n7.4.2 对象池机制与数据库连接池机制\r\n小结\r\n\r\n第8章 事务编程\r\n\r\n8.1 什么是事务\r\n8.1.1 事务处理系统\r\n8.1.2 回顾ACID规则\r\n8.1.3 锁定与粒度\r\n8.1.4 写锁与读锁\r\n8.1.5 隔离级别\r\n8.2 本地事务编程\r\n8.3 分布式事务编程\r\n8.4 COM+与声明性事务\r\n8.4.1 在COM+事务中创建对象\r\n8.4.2 三个重要标志:满意位、完成位与必败位\r\n8.4.3 SetComplete方法与SetAbort方法\r\n8.4.4 IContextState接口\r\n8.4.5 AutoComplete属性\r\n8.4.6 多对象事务\r\n8.4.7 数据库连接与自动列集\r\n8.4.8 COM+事务与事务存储过程\r\n8.4.9 事务对象短暂而“满意”的生命\r\n8.5 事务设计问题\r\n8.5.1 COM+事务与本地事务\r\n8.5.2 分离商务逻辑代码与数据存取代码\r\n8.5.3 处理死锁\r\n8.5.4 关于优化的讨论\r\n小结\r\n\r\n第9章 为IIS和ASP创建组件\r\n\r\n9.1 HTTP与DCOM\r\n9.2 IIS/ASP体系结构\r\n9.2.1 ASP框架\r\n9.2.2 IIS应用\r\n9.2.3 处理ASP请求\r\n9.2.4 从ASP页创建Visual Basic对象\r\n9.2.5 把Web应用分割到独立的进程中\r\n9.2.6 隔离的IIS应用\r\n9.3 分离ASP页与组件之间的代码\r\n9.3.1 使用ASP页创建用户接口\r\n9.3.2 使用经过编译的组件创建用户接口\r\n9.3.3 使用ASP页与组件的混合\r\n9.4 Web应用中的状态管理\r\n9.4.1 通过负载平衡伸缩Web应用\r\n9.4.2 缓存应用范围的状态信息\r\n小结\r\n\r\n第10章 消息处理与异步通信\r\n\r\n10.1 消息处理为何重要\r\n10.2 MSMQ\r\n10.2.1 MSMQ企业级模型\r\n10.2.2 MSMQ编程\r\n10.2.3 事务消息处理\r\n10.3 组件队列\r\n10.3.1 组件队列的体系结构\r\n10.3.2 设计组件队列\r\n10.3.3 配置组件队列\r\n10.3.4 客户方组件队列编程\r\n10.3.5 组件队列与异常处理\r\n10.4 COM+事件服务\r\n10.5 在MSMQ、QC和COM+事件间做出决定\r\n小结\r\n\r\n第11章 COM+的安全性\r\n\r\n11.1 Windows 2000中的安全\r\n11.1.1 当事人与授权\r\n11.1.2 本地帐户与主域帐户\r\n11.1.3 用户帐户与组帐户\r\n11.1.4 预设定帐户\r\n11.1.5 登录会话与令牌\r\n11.1.6 资源与DACL\r\n11.1.7 网络认证与模拟\r\n11.2 COM+的安全特性\r\n11.2.1 角色与授权\r\n11.2.2 设置声明性安全\r\n11.2.3 在运行时实施授权\r\n11.2.4 编程性安全\r\n11.3 IIS中的安全\r\n11.3.1 HTTP安全标准\r\n11.3.2 证书\r\n11.3.3 IIS认证模式\r\n11.4 进一步的资料\r\n小结\r\n\r\n第12章 设计可伸缩的应用\r\n\r\n12.1 再论伸缩性\r\n12.2 在COM+应用中使用HTTP\r\n12.2.1 分离HTTP与HTML\r\n12.2.2 使用HTTP与XML执行方法调用\r\n12.2.3 SOAP与Web服务\r\n12.3 应用设计问题\r\n12.3.1 使用COM传递数据\r\n12.3.2 使用MSMQ与QC传递数据\r\n12.3.3 使用HTTP传递数据\r\n12.3.4 只读记录集与可更新记录集\r\n12.3.5 中间层数据缓存\r\n小结\r\n\r\n