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