Cover image for Enterprise application development with visual C++ 2005
Title:
Enterprise application development with visual C++ 2005
Personal Author:
Series:
Charles River Media programming series
Publication Information:
Boston, MA : Charles River Media, 2007
Physical Description:
1v + 1 CD-ROM
ISBN:
9781584503927
General Note:
Accompanied by compact disc : CP 8808

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010105504 QA76.73.C153 F65 2007 Open Access Book Book
Searching...

On Order

Summary

Summary

Enterprise Application Development with Visual C++ 2005 teaches developers how to create practical business applications using managed C++ and Visual Studio® 2005. It offers best practices for coding and C++ development, including class programming, code factoring, source control, memory management, and interdependency and interoperability. Special attention is also given to new features in Visual C++ 2005, such as IDE enhancements, compiler features, ECMA syntax for managed C++, and C++ language extensions. Database application development, XML Web Service integration, and MSI deployment tools integrated in Visual Studio 2005 are also covered in detail. Throughout the book a wide variety of practical examples are used to illustrate features of the language. In addition, users learn how to create an enterprise application installation package from the ground up, which performs a full range of deployment tasks ranging from creating SQL Server database to registering and configuring both managed and unmanaged Windows and XML Web Services. After reading this detailed resource, developers and programmers will have all the skills needed to create enterprise-quality applications.


Table of Contents

Acknowledgmentsp. xv
Introductionp. xvii
1 The Age of .NET: A .NET Framework Overviewp. 1
Farewell to Win32: A Historical Notep. 2
From Native Code to Managed Executionp. 3
Common Language Specification and Language Interoperabilityp. 5
Non CLS-Compliant Features of Programming Languagesp. 8
From API to Class Libraryp. 9
Code Access Securityp. 17
What's New in the .NET Framework 2.0p. 18
Conclusionp. 19
2 What's New in Visual C++ .NET 2005p. 21
Code Definition Viewp. 22
Call Browser Windowp. 23
Important Changes in C++ Compiler and Languagep. 24
Important New C++ Compiler and Linker Features and Changesp. 28
Enforcing Good Coding Practices with Code Analysisp. 38
Conclusionp. 42
3 ECMA-Standardized C++ Syntax for CLR Supportp. 43
Farewell to Managed Extensionsp. 44
Reference Classesp. 46
Enumerationsp. 60
Interfacesp. 61
Propertiesp. 62
Value Classesp. 66
Tracking Referencep. 69
Delegatesp. 71
Eventsp. 75
Conclusionp. 80
4 Managed Operatorsp. 81
Managed Operator Rulesp. 81
Conversion Operatorsp. 89
Conclusionp. 94
5 Managed Arraysp. 95
Native Arrays versus Managed Arraysp. 95
Declaring Managed Arraysp. 96
System::Array Classp. 102
System::Collections::ArrayList Classp. 105
Conclusionp. 107
6 Managed Pointersp. 109
Interior Pointersp. 110
Pinning Pointersp. 114
Managed Classes as Members of Native Classesp. 117
Managed Type Castingp. 118
Conclusionp. 124
7 Using Genericsp. 125
Genericsp. 125
Generic Classesp. 128
Constraints on Genericsp. 130
Generic Functions and Methodsp. 131
Generic Interfacesp. 132
Delegates to Generic Methods and Generic Delegatesp. 133
Conclusionp. 136
8 Project and Source Code Organizationp. 137
Importance of Coding Disciplinep. 137
Software Project Structure Levelsp. 141
Project Structurep. 142
Program Structurep. 151
Source File Structurep. 156
Code Formattingp. 159
Conclusionp. 171
9 C++ Coding Standard and Best Practicesp. 173
Coding Standard for C++p. 174
General Rulesp. 175
Naming Conventionsp. 180
Memory Allocation Rulesp. 185
Stack Allocationp. 192
Variable Usage and Initialization Rulesp. 196
Function Design and Usage Rulesp. 203
Miscellaneous Rulesp. 209
Flow Control and Branching Rulesp. 210
Constant Usage Rulesp. 212
General Coding Issuesp. 217
Compiler Settingsp. 219
Conclusionp. 220
10 Analyzing Specification and Designing Classesp. 225
Designing Classes: General Considerationsp. 226
Abstracting from Specificationp. 226
Designing Classesp. 230
General Class Coding Rulesp. 235
Conclusionp. 242
11 Working with Databasesp. 245
Visual Database Toolsp. 246
SQL Server Express and SQL Server Management Studiop. 253
Database Diagramsp. 255
Constraintsp. 260
Indexesp. 261
Triggersp. 262
Data Design Rulesp. 263
Conclusionp. 270
12 ADO.NET: Working with Datasetsp. 271
ADO.NET Architecturep. 272
Differences between ADO and ADO.NETp. 273
ADO.NET Namespacesp. 274
System::Data Namespacep. 275
DataSet Classp. 279
DataTable Classp. 282
Data Table Collectionsp. 286
DataColumn Classp. 287
Data Column Collectionsp. 288
Creating Tables, Adding Columns, and Specifying Primary Keysp. 289
Using Aggregate Expressionsp. 290
DataRow Classp. 291
Data Row Collectionsp. 294
Adding, Navigating Rows, Computing Aggregate Expressionsp. 294
Establishing Relations between Data Tablesp. 296
Data Relation Collectionsp. 298
Constraintsp. 299
Constraint Rulesp. 301
Unique Contraintsp. 302
Constraint Collectionsp. 303
Creating Unique and Foreign-Key Constraintsp. 303
Data Table Notificationsp. 305
Adding, Deleting Rows, and Handling Data Table Notificationsp. 307
Conclusionp. 311
13 ADO.NET: Reading and Writing Datasets as XMLp. 313
Reading and Writing Datasets as XML Documentsp. 314
Writing Dataset Data and Schema to XMLp. 314
Reading Dataset Data and Schema from XMLp. 317
Communicating Dataset Changes by Means of XML DiffGramsp. 321
Navigating Hierarchal Datasetsp. 323
Conclusionp. 326
14 ADO.NET: Typed Datasets and Viewsp. 327
Strictly-Typed Datasetsp. 328
Data Viewsp. 338
Data View Settingsp. 343
Conclusionp. 345
15 ADO.NET: OLE DB and SQL Server Data Providers Basicsp. 347
ADO.NET Data Providersp. 347
Database Connectionsp. 353
Data Adaptersp. 361
RowUpdating and RowUpdated Eventsp. 369
Table Mappingsp. 371
Data Column Mappingsp. 373
Setting Up Column and Table Mappingsp. 374
Conclusionp. 376
16 ADO.NET: OLE DB and SQL Server Data Provider Commands, Data Readers, and Notificationsp. 377
Database Commandsp. 377
Executing SQL Server Commands Asynchronouslyp. 383
Database Command Parametersp. 385
Invoking SQL-Server Stored Proceduresp. 390
Database Command Buildersp. 391
Data Readersp. 395
Using Data Readers with Sequential Access to Read BLOB Datap. 401
Database Transactionsp. 403
Direct Loading Datasets with Datap. 407
Subscribing to SQL Server Query Notificationsp. 408
Conclusionp. 414
17 ASP.NET Web Servicesp. 415
Web Services as Components of Distributed Computingp. 416
Benefits, Risks, and Costs of Web Servicesp. 416
The Future of Web Servicesp. 419
Web Services versus Software Librariesp. 420
Main Reasons for Using Web Servicesp. 420
ASP.NET Web Servicesp. 421
System: :Web Namespacep. 423
HttpApplication Classp. 425
HttpServerUtility Classp. 426
HttpApplicationState Classp. 427
WebService Attributep. 430
WebMethod Attributep. 430
C++ .NET Web Service Application Templatep. 432
Debugging Web Services Locally and Remotelyp. 434
Conclusionp. 439
18 Consuming and Communicating with Web Services via HTTP-GET, HTTP-POST, and SOAPp. 441
Web Service Proxiesp. 442
System: :Web: :Services: :Protocols Namespacep. 443
HTTP-GET and HTTP-POST Protocolsp. 445
.NET Framework Web Service Protocol/Proxy Classesp. 446
Generating Web Service Proxies by Adding Web Referencesp. 448
Invoking Web Service Methods Synchronously and Asynchronouslyp. 450
Simple Object Access Protocol (SOAP)p. 453
SOAP Binding to HTTPp. 454
SOAP Message Architecturep. 455
Formatting and Encoding SOAP Messages and Parametersp. 466
Web Services with Multiple Bindingsp. 469
Managing Application and Session Statep. 472
Conclusionp. 473
19 Web Services Definition language (WSDL), Discovery, Security and Configurationp. 475
Web Service Description Languagep. 476
System: :Web: :Services: :Description Namespacep. 478
Web Service Discoveryp. 481
UDDIp. 486
Web Service Configurationp. 487
Web Service Authenticationp. 490
Securing a Web Servicep. 492
Conclusionp. 494
20 ATL Server Web Services and Interoperability with ASP.NETp. 495
Creating ATL Web Servicesp. 496
Adding MFC Support to ATL Server Projectsp. 498
Specifying ATL Server Web Service Declarationp. 500
Declaring SOAP Headersp. 503
Handling SOAP Faultsp. 503
Maintaining Session Statep. 508
Streamlining Web Method Invocation: Prolog and Epilog Macrosp. 509
Consuming ATL Web Services in .NET Clientsp. 510
Marshalling Date Data Typesp. 510
Conclusionp. 514
21 Web Services Interoperability with Legacy VB6 Clientsp. 515
SOAP Toolkitp. 516
Consuming Web Service in VB6p. 517
SOAP Type Mappingp. 519
WSML Filesp. 524
Session State with SOAP Headersp. 525
Conclusionp. 527
22 ATL Server and ASP.NET Web Services Interoperability with Javap. 529
Creating Web Service Proxyp. 530
Problemsp. 531
Implementing Web Method Call Templatep. 531
Type Mapping and User-Defined Typesp. 534
Handling Null Return Values and Zero-Size Arraysp. 539
Treating Output Parametersp. 540
Conclusionp. 541
23 Interoperability between Managed and Unmanaged Codep. 543
Component-Level Interoperability between Managed and Unmanaged Codep. 544
Runtime Callable Wrappers and COM Callable Wrappersp. 544
Marshalling Datap. 546
Marshalling Exceptionsp. 547
Marshalling Eventsp. 548
Class Interfacesp. 548
Generating Runtime Callable Wrappersp. 549
Consuming COM Classes and Events in Managed Codep. 552
Generating Runtime Callable Wrappersp. 556
Registering Runtime Callable Wrappersp. 557
Consuming Managed Classes and Events in Unmanaged Codep. 557
Deploying Interoperability Applicationsp. 561
Consuming Unmanaged DLLs in Managed Codep. 561
COM Interoperability Attributesp. 565
Code-Level Interoperability: C++ Interopp. 566
Conclusionp. 572
24 Deploying Applicationsp. 573
Windows Installer Overviewp. 574
Visual Studio Setup and Deployment Projectsp. 575
Conclusionp. 591
25 Custom Deployment Actionsp. 593
Custom Actions Overviewp. 593
Hooking Up Custom Actions to Deployment Packagep. 595
Custom Action Datap. 598
Sample Deployment Projectp. 599
Implementing Native Custom Actionp. 600
Implementing Installer-Class Custom Actionp. 605
Installing Managed Windows Servicesp. 613
Installing and Controlling Services via MSIp. 615
Conclusionp. 616
26 Source Controlp. 617
Source Control Overviewp. 618
Practicing Source Control with Visual SourceSafep. 619
Conclusionp. 631
Appendix A About the CD-ROMp. 633
Indexp. 639