did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780735611276

Designing Solutions with COM+ Technologies

by
  • ISBN13:

    9780735611276

  • ISBN10:

    0735611270

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2000-12-19
  • Publisher: Microsoft Press
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $69.99

Summary

This book provides practical solutions to practical problems on design pattern catalogues, and offers implementation best practices. It offers COM+ technical advice and information that can help developers avoid design and implementation pitfalls by learning from those who have been successful in the COM+ development environment.

Table of Contents

Foreword xv
Acknowledgments xvii
Introduction xix
Part I COM+ Fundamentals
Error Handling
3(28)
COM+Errors and Structured Exception Handling
4(1)
The COM+Error-Handling Model
5(7)
Result Codes
8(2)
Error Context
10(2)
Visual Basic Environment Considerations
12(1)
Visual C++ Environment Considerations
13(3)
An Error-Model Integration Approach for C++
16(15)
Result Code Framework
16(1)
Reporting Functions
17(3)
Exception Class
20(7)
Exception-Processing Macros
27(2)
Usage Pattern
29(2)
Smart Pointers
31(24)
Smart Pointer Advantages
32(2)
Usage Patterns
34(5)
Smart Pointer Comparison
39(2)
Extended Interfaces (#import)
41(6)
UUID Type Binding
41(1)
Exceptions
41(1)
Return Values
42(3)
Syntactic Properties
45(2)
Smart Pointers as Parameters
47(3)
Smart Pointer Pitfalls
50(3)
Release
50(1)
SetErrorInfo
50(2)
Interoperation Leaks
52(1)
Generic Programming Considerations
53(2)
Strings
55(26)
Character Encoding
56(3)
American National Standards Institute (ANSI)
56(1)
Double-Byte Character Set (DBCS)
57(1)
Unicode
57(2)
Platform Considerations
59(2)
Your Project Setting
61(2)
TCHAR.H
63(1)
String Conversion Macros
64(2)
The OLECHAR Data Type
66(1)
The BSTR Data Type
67(3)
BSTR Alternatives
70(2)
String Templates and Classes
72(4)
BSTR Wrapper Classes
76(5)
Feature Comparison
76(3)
Usage Pattern
79(2)
Concurrency
81(68)
Elements of Interception
83(20)
Concurrency vs. Reentrancy
83(1)
Interception Implementation
83(2)
The Apartment
85(4)
Managing STA Concurrency
89(2)
The Context
91(7)
The Message Filter
98(2)
Interception Services
100(3)
Context Neutrality
103(6)
Implementation
103(1)
Internal Object References
104(2)
But is It Fast?
106(1)
FTM vs. TNA
107(1)
It's the Object's Choice
108(1)
Concurrency Design Guidelines
109(4)
The Best Concurrency is No Concurrency
109(2)
Exceptions: The Case of Client Notification
111(1)
Standard Synchronization Settings
112(1)
Concurrency in Local Servers
113(3)
Apartments in Local Servers
113(1)
Local Server Pitfalls
114(1)
Partial Location Transparency
115(1)
Implications
116(1)
Locking
116(33)
Coarse-Grained Locks
117(13)
Fine-Grained Locks
130(19)
Implementation Environments
149(86)
Object Glue: IDL and the Type Library
151(4)
Visual C++
155(28)
COM+ Integration Approaches
156(2)
Calling COM+ Objects
158(4)
Implementing COM+ Objects
162(9)
Event Support
171(6)
Class Factories
177(2)
Multi-Dual Inheritance
179(2)
Special Considerations for Larger Projects
181(2)
Visual Basic
183(13)
Calling COM+ Objects
183(2)
Implementing COM+ Objects
185(8)
Event Support
193(2)
Multi-Dual Inheritance
195(1)
Visual J++
196(21)
Calling COM+ Objects
197(5)
Implementing COM+ Objects
202(6)
Event Support
208(8)
Class Factories
216(1)
Multi-Dual Inheritance
217(1)
Script
217(11)
Calling COM+ Objects
219(1)
Implementing COM+ Objects
220(6)
Event Support
226(2)
Selecting an Implementation Environment
228(7)
Part II Architectural Patterns and Solutions
Architectural Patterns and Solutions Reuse
235(40)
Reuse Through Object Orientation
236(1)
Object Orientation in COM+
237(2)
Hierarchical Reuse
239(1)
The Case for Isolating Interface Implementations
240(2)
COM+ Solutions
242(5)
Containment
243(1)
Aggregation
243(4)
Implementation Inheritance
247(7)
Multiple Implementation Inheritance
254(9)
Enhancing Source Code Reuse with C++ Templates
263(12)
Parameterizing on the Derived Class Type
264(5)
Parameterizing on the Base Class Type
269(3)
Implementing Interfaces that Have Not Yet Been Defined
272(3)
Streaming and Persistence
275(132)
Lightweight Persistence
277(3)
Persistence Solutions
280(19)
Manual Data Transformation
281(3)
Frameworks or Other Proprietary Solutions
284(3)
Choosing a Portable Format
287(12)
Type Stream Architecture
299(42)
The ITypeStream Interface
300(3)
The CTypeStreamlmpl Class
303(12)
Type Stream Shift Operators
315(10)
Encoders and Adapters
325(3)
Type Stream Persistence Interface
328(6)
CTypeStreamOnlStream
334(7)
The C++ IOStream Adapter and Encoder
341(21)
Network Data Representation
362(8)
The NDR Stream
370(32)
Usage Patterns
402(5)
Marshal-by-Value
407(68)
When and Why to Marshal by Value
409(5)
IMarshal Examined
414(3)
Naive MBV Implementations
417(4)
Reusable MBV
421(2)
IMarshal Reexamined
423(2)
A Solution
425(28)
Marshaling Visual Basic Objects by Value
453(17)
Fine-Tuning MBV
470(2)
Implications
472(3)
Reference Cycle Management
475(42)
Resource Management
476(7)
Abandoned Rings
483(5)
Specific vs. Generic Solutions
488(3)
COM+ Objects in Garbage Collection Environments
491(10)
Visual Basic
492(5)
Visual J++
497(4)
C++ Solution Framework
501(11)
Simplifying the Model with the Universal Delegator
512(3)
Reusing Split Identity from Other Languages
515(2)
Generic Programming
517(102)
The Power of Generic Programming
518(8)
A Review of STL
526(8)
Containers
527(2)
Iterators
529(2)
Generic Algorithms
531(3)
Tension with Component Technology
534(4)
CSB Architecture
538(9)
CSB Guide
547(44)
Philosophy
547(2)
Collection Wrapper
549(7)
Predefined Traits
556(10)
Predefined Interface Method Implementations
566(2)
Persistence Support
568(4)
STL Adapters
572(10)
Support Structures
582(3)
Selecting Functionality
585(4)
Project Configuration
589(1)
Compiler and STL Support
590(1)
CSB Internal Type Safety
591(2)
Usage Patterns
593(26)
Part III COM+ in the Enterprise
Four-Tier Enterprise Application Architecture
619(78)
COM+ Design Pattern Concepts
619(7)
N-Tier Application Architecture
621(2)
Business Objects
623(3)
The Design Pattern Architecture
626(5)
Presentation Services Layer
628(1)
Object Services Layer
628(1)
Transaction Services Layer
629(1)
Data Services Layer
630(1)
Simplifying Object Persistence
630(1)
A COM-Based Hierarchical Object Model
631(4)
From Rows and Columns to Collections and Objects
635(38)
IPersistObjectStream Interface
638(1)
IPersistObjectStream::CreateChildInstance
638(1)
IPersistObjectStream::Load
639(1)
IPersistObjectStream::Save
639(1)
IPersistObjectStream::SaveCompleted
640(1)
IPersistObjectStream::Status
640(1)
IObjectStream Interface
641(1)
IObjectStream::Contents
641(1)
IObjectStream::Load
642(1)
IObjectStream::PropertyExists
642(1)
IObjectStream::PropertyIsNull
643(1)
IObjectStream::ReadProperty
643(1)
IObjectStream::Save
644(1)
IObjectStream::WriteCollection
644(1)
IObjectStream::WriteObject
645(1)
IObjectStream::WriteProperty
646(1)
IPersistTransStream Interface
646(1)
IPersistTransStream::CreateNestedTrans
646(1)
IPersistTransStream::ExecDelete
647(1)
IPersistTransStream::Execlnsert
648(1)
IPersistTransStream::ExecUpdate
648(1)
IPersistTransStream::Save
649(1)
ITransStream Interface
650(1)
ITransStream::Clear
650(1)
ITransStream::Contents
650(1)
ITransStream::Parent
651(1)
ITransStream::PropertyExists
651(1)
ITransStream::PropertyIsNull
652(1)
ITransStream::ReadProperty
652(1)
ITransStream::Save
653(1)
ITransStream::WriteCollection
653(1)
ITransStream::WriteObject
654(1)
ITransStream::WriteProperty
654(1)
Using the Design Pattern Inferfaces
655(1)
Retrieving a Complex Object
656(11)
Fetching Child Objects on Demand
667(1)
Creating a Directory Object
668(5)
Object Persistence and COM+ Transactions
673(22)
Saving Changes to an Existing Object
675(12)
Saving a New Object
687(4)
Deleting an Object
691(4)
Using the Design Pattern to Implement a Web-Based Application
695(2)
Soap
697(36)
Why Use SOAP?
699(3)
The Details of SOAP
702(7)
SOAP Request
703(3)
SOAP Response
706(1)
SOAP Faults
707(2)
SOAP Code Sample
709(7)
SOAP Toolkits
716(11)
Making Your SOAP Server Known
716(2)
Describing Your SOAP Server
718(1)
Calling the SOAP Methods
719(8)
Designing SOAP Solutions
727(6)
Interoperability
729(1)
Performance
730(1)
Support for Existing Components
731(1)
Security
731(1)
Drawbacks
731(1)
Benefits
731(1)
Toolkits
732(1)
The MTS Revolution
733(68)
A Brief History of Scalability
734(9)
The Single Concurrent Client Model
743(8)
Designing for Scalability
751(25)
Refining a Web Example
751(8)
In-Memory Alternatives
759(8)
Thread Control
767(9)
Transactions
776(13)
Statelessness
789(4)
Project Modeling for the Internet
793(8)
Data Access
801(66)
The Resource Dispenser
803(5)
Data Access Technology Survey
808(5)
A Crash Course in OLE DB
813(21)
Transparent OLE DB Services
816(3)
OLE DB Provider Service Components
819(2)
OLE DB Objects
821(4)
Transaction Support
825(4)
Cursors
829(4)
Rowset Processing
833(1)
ActiveX Data Objects Briefing
834(8)
Resource Pooling
842(5)
C++ Data Access
847(12)
Provider Specifics: Fast Loading
859(8)
Index 867

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program