应该将你的智慧用于创建自定义的商务逻辑,而不要浪费在编写复杂的基础结构代码上。本书第一版是一本畅销的图书,第二版已将其充分更新,其中包含了被内置到Microsoft Windows 2000操作系统中的分布式应用程序框架——COM+ 1.0。从本书中,您可以获得有关使用Visual Basic开发工具编写软件的专业指导,以将COM+服务用于构建扩展到几千名用户的、强健的多层解决方案。作者Ted Pattison提示了“组件对象模型”(Component Object Model)的内部复杂性,将您需要了解的有关使用COM+和Visual Basic编写程序的知识凝缩到这本精简、实用的书中。\r\n 本书包括的主要内容:将基于接口的编程方式的原则——COM/COM+的里程碑——应用于构建大型的、扩展的应用程序;掌握关键的COM概念、包括类的加载、对象激自觉自愿 、远程控制,以及组件版本确定等;使用经过配置的组件,并学习如何在COM+应用程序中共享,例如线程、内存、数据库连接,以及可池化的对象等资源;将您已经了解的有关使用Microsoft Transaction Server(MTS)的编程知识移植到COM+和Windows 2000中;学习事务性编程技术,随着用户数量的增加,保持较高的传输量及较快的响应速度;使用Visual Basic创建可以方便地与Internet Information Server(IIS)和Active Server Pages(ASP)集成到一起,以构建强健的基于Web的解决方案的组件;为您的应用程序添加消息传送和事件通知功能;利用Windows 2000、COM+和IIS中内置的集成的安全性服务。
前言\r\n\r\n简介\r\n\r\n第一章 COM+概述\r\n\r\n1.1 使用COM+的原因\r\n1.1.1 从两层到多层系统\r\n1.2 Microsoft多层平台的发展\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+ Events服务\r\n1.4 使用Visual Basic构建分布式的应用程序\r\n1.5 总结\r\n\r\n第二章 理解基于接口的编程方式\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\n2.3 总结\r\n\r\n第三章 COM的基础知识\r\n\r\n3.1 COM的诞生\r\n3.1.1 使用C++创建二进制组件\r\n3.1.2 作为标准内存内表示的vTable\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接口和自动化\r\n3.4.4 双重接口\r\n3.5 进程外的COM\r\n3.5.1 通用封送拆收器的作用\r\n3.5.2 有关进程外COM的注意事项\r\n3.6 总结\r\n\r\n第四章 编译和设计服务器\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 组件的Instancing属性\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\n4.5 总结\r\n\r\n第五章 确定组件的版本\r\n\r\n5.1 COM中的版本确定\r\n5.1.1 确定脚本客户的组件版本\r\n5.1.2 确定vTable直接绑定的客户的组件版本\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\n5.3 总结\r\n\r\n第六章 使用经过配置的组件\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 线程开关的proxy和轻量proxy\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\n6.5 总结\r\n\r\n第七章 在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 Shared Property Manager\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\n7.5 总结\r\n\r\n第八章 编写事务程序\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.3.1 分布式事务协调器\r\n8.4 COM+和声明性事务\r\n8.4.1 在COM+事务中创建对象\r\n8.4.2 三个重要的标记:happy、done和doomed\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\n8.6 总结\r\n\r\n第九章 为IIS和ASP创建组件\r\n\r\n9.1 HITP与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\n9.5 总结\r\n\r\n第十章 介绍消息传送和异步通信\r\n\r\n10.1 为什么消息传送是非常重要的?\r\n10.1.1 消息传送与RPC和HTTP\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+ Events服务\r\n10.4.1 COM+ Events的基础结构\r\n10.5 在MSMQ、QC和COM+ Events之间做出抉择\r\n10.6 总结\r\n\r\n第十一章 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\n11.5 总结\r\n\r\n第十二章 设计可伸缩的应用程序\r\n\r\n12.1 再述伸缩性\r\n12.1.1 COM最初的版本\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\n12.4 总结
无封面