Home > Store

Applied .NET: Developing People-Oriented Software Using C#

Register your product to gain access to bonus material or receive a coupon.

Applied .NET: Developing People-Oriented Software Using C#

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2002
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-73828-7
  • ISBN-13: 978-0-201-73828-5

"There is a revolution underway in the software industry--and it goes by the name of XML Web Services. Applied .NET provides a valuable perspective on this change and shows how Microsoft .NET technologies can be applied to creating the next generation of software."
--Sanjay Parthasarathy, VP, Microsoft .NET Platform Strategy

"Applied.NET makes an important contribution to the field of software engineering by applying new principles in software development to building practical Internet applications based on the Microsoft .NET framework. There is no doubt that Web services, in many forms, will have an ever-increasing impact on the field of software engineering."
--William Swope, VP, Intel Architecture Group, and General Manager, Solution Enabling Group, Intel Corporation

A revolution is taking place in the software industry--object-oriented technology is now becoming people-oriented. As software's ability to increase connectivity between people grows, a more specialized focus on the online community is needed. The new .NET technologies enable software architects and developers to meet these growing needs. Designed to be a reference manual as well as a good cover-to-cover read, Applied.NET: Developing People-Oriented Software Using C# shows readers the .NET platform at work from the C# point of view.

One of the most important elements of the .NET platform is the introduction of a formal runtime environment--Common Language Runtime (CLR). Programming for the CLR represents a paradigm shift in the development environment, wherein C# introduces new syntax, types, and application architectures. The .NET platform can facilitate the creation of software that is much more oriented to people's lives, with the implementation of three concepts embodied within the people-oriented programming paradigm: universalization, collaboration, and translation (see http://www.people-oriented.net). Using this paradigm, the authors show how .NET technologies can help build a new and exciting class of software for creating the next generation of the Internet.

C# is emerging as a prominent Web development language. Applied.NET illustrates this through the development of several .NET applications using C#. It describes C# structure and syntax in detail, including types and type safety, as well as classes, delegates, and exceptions. This book takes you even further by examining how people-oriented software can be created with ASP.NET and the .NET Enterprise servers--BizTalk Server and Commerce Server. Through the .NET technologies, software architects and developers will be able to more completely and seamlessly connect people in the global online community. This book provides the necessary know-how to do just that for today and tomorrow.



0201738287B10102001

Sample Content

Online Sample Chapters

Applied C#

ASP.NET Up Close

Downloadable Sample Chapter

Click below for Sample Chapter related to this title:
soresench7.pdf

Table of Contents



Preface.


Acknowledgments.


1. People-Oriented Software.

The People-Oriented Paradigm.

Universalization.

Collaboration.

Translation.

A .NET Approach.

.NET and Universalization.

.NET and Collaboration.

.NET and Translation.

Conclusion.



2. Applied People-Oriented Software.

People-Oriented Design.

People-Types: “Design with Attitude”.

Apply the Concepts: The InternetBaton Application.

InternetBaton Application Features.

Universalization Design: Mining the Runtime.

Collaboration Design: Conducting the Orchestra.

Translation Design: A Linguist's Delight.

Conclusion.



3. C#.

This Time, It's Personal.

What Is C#?

What's So Special About C#?

Contemporary Perspective.

People-Oriented Perspective.

Language Tour.

The Basics.

Types.

Classes.

Interfaces.

Struct.

Enum.

Attributes.

Exceptions.

Conclusion.



4. Applied C#.

ManagedSynergy.

The Vision.

The Functionality.

The Design.

The Implementation.

Conclusion.



5. The Common Language Runtime.

Windows and Components.

Static Libraries.

Dynamic Link Libraries.

COM Tries to Fix It.

Enter the Common Language Runtime.

A Pervasive Type System.

Types Are Fundamental.

The Common Type System.

The Common Language Specification.

Boxing.

How Types Map to C#.

Assemblies.

Assemblies and Modules.

The Manifest.

.NET Versioning.

Life within the CLR.

IL and JIT Compiling.

.NET Garbage Collection.

Threading and the CLR.

AppDomains.

Interoperability.

Conclusion.



6. Applied Runtime.

Building Assemblies and Applications.

The Command Line.

Makefiles.

Building Projects Using Visual Studio.NET.

Examining the Manifest.

Using ILDASM.

Deployment and Versioning.

Global Cache.

Loading Assemblies and Versioning.

More on Configuration Files.

Garbage Collection.

Effects.

Deterministic Finalization.

Threading and the CLR.

Creating Threads.

Synchronization.

Method-Level Locks.

Interoperability.

Platform/Invoke.

Interoperating with COM.

Windows Forms.

The Forms Class.

Handling Events.

Graphics and Rendering.

Conclusion.



7. ASP.NET Up Close.

Connective Tissue.

The Road to ASP.

Classic ASP versus ASP.NET.

Deemphasizing ISAPI.

ASP.NET: A Common Language Runtime Citizen.

System.Web.UI.Page.

System.Web.UI.Page Fundamentals.

ASP.NET Connection Object Model.

Mixing ASP.NET and C#.

ASP.NET Configuration Files.

Web Forms.

Custom Server-Side Controls.

Extending the Browser.

Server-Side Rendering.

Control Life Cycle.

Reasons to Use a Custom Server-Side Control.

Web Services and ASP.NET.

Web Methods and ASP.NET.

Service Description Language and ASP.NET.

Invoking Web Methods.

Optimizations: ASP.NET Caching.

Output Caching.

Data Caching.

Managing Session State.

Conclusion.



8. Applied ASP.NET.

User Interface Controls and the Web.

HTML Controls.

Web Controls.

Web Forms and Visual Studio.NET.

State Management for Web Applications.

Application State.

Session State.

Session Configuration.

Caching.

Output Caching.

Data Caching.

HTTP Handlers.

Conclusion.



9. .NET Enterprise Servers.

.NET Enterprise Servers and People-Oriented Software.

Universalization.

Collaboration.

Translation.

Making It All Work Together.

Point of Critical Solution Mass.

.NET Enterprise Servers and .NET.

Role of XML.

Foundation of Modern Interoperability.

Basics of XML.

Processing Models.

SOAP.

Description and Purpose.

Definition.

Microsoft Implementations.

BizTalk Server Essentials: Solving the EAI Problem and Beyond.

BizTalk Messaging.

Extensibility Framework: BizTalk Hooks.

BizTalk Development Tools.

BizTalk Administration Tools.

BizTalk Messaging Object Model.

Issues Addressed.

Commerce Server Essentials.

Commerce Server Architecture.

Continuous Improvement Cycle.

Business Processing Pipelines.

Profile System.

Targeting System.

Product Catalog System.

Business Analytics System.

Solution Sites.

Supplier Enablement Tool Kit.

Integration Points.

Internet Information Server to BizTalk Server Orchestration.

Internet Information Server to BizTalk Server Messaging.

Commerce Server to BizTalk Server.

Conclusion.



10. Applied .NET Enterprise Servers: Order Fulfillment with an @AHEADS = Outside Vendor.

Order Processing Pipeline.

Business Process Definition.

Port Implementations.

Integration with Business-to-Consumer Site.

Order Translation to Outside Vendor Format.

Delivery to Outside Vendor's BizTalk Server.

Commerce Site Status Update and Consumer Notification.

Outside Vendor BizTalk Processing.

Conclusion.



Index.

Preface

Like a storm that has built energy out at sea, the first waves of a new era of computing have begun to pound the "beaches" of software development. The forces behind this storm have been building for some time and as the waves make land, a somewhat unsuspecting industry braces itself and prepares to survive the fury.

Although this is a rather dramatic way to characterize the current state of affairs in the computer industry, it is nonetheless accurate. Never before has so much technology been made available to such a large community of developers in such an integrated and distributed fashion. Just as someone standing on a beach can tell there's a storm approaching, as a developer you can recognize that a change in the industry is underway. Undoubtedly, you're trying to figure out what all this means and how best to prepare yourself. This book is meant to provide a level of understanding that will prepare you not only to survive in this new era of development but to actually thrive. The information here will help you understand the .NET technologies and show you how they all fit together in a way that will enable you to effectively build next-generation solutions. This book conveys these ideas through the development of several .NET applications using C#.

Applied .NET offers a people-oriented perspective on the new forces changing software development and a set of principles that can be applied to building effective Internet software. We use the term people oriented to describe the new wave of software that is approaching as it captures the dynamism that stirred up the .NET storm. The origin of this term dates back several years to a book authored by Ronan in 1998--Inside Microsoft Windows NT Internet Development. Part I of that book introduced the new paradigm of people-oriented programming and the concepts embodied within this type of software. The second part of the book explained how earlier technologies could be used to develop systems adhering to these principles.

The .NET technologies take such a significant step closer to the goals and ideals first presented in that earlier work that our choice of a subtitle for this book was natural--Developing People-Oriented Software Using C#. This serves our desire to present a perspective on how .NET can be applied to build a new and very exciting class of software. Therefore, although this book applies .NET technology, the objective of that application is to create something more transcendent, which is formally referred to as people-oriented software.

In the period of time since Inside Microsoft Windows NT Internet Development was published, the ideas it presented have matured and sharpened as a result of various discussions among the authors of this current book. Some of those discussions produced more heat than light, but in the end we are all in agreement that the principles laid out in this book are the right ones and that the future will no doubt be people oriented. This became even more evident just recently when Microsoft announced their HailStorm initiative. Any doubts about the people-oriented perspective ended with that announcement. We are entering a new era in which people will not have to be computer oriented to use software--software will be oriented toward how people actually live. Software will be running many everyday devices, and all of them will be connected in unimaginable ways. The core theme running through it all will be how software is embedded within society and oriented to the people who will use it.

From a people-oriented perspective, .NET is a means to an end rather than an end in itself. No doubt, other books will go into more detail in certain areas of .NET than this one does, and they will be very useful in that regard. This book, however, tries to strike a balance between theory and practice so that we can show you not only how to apply .NET but also what you can achieve as a result of that application. As useful as we think the perspectives and principles contained in Applied .NET are, we just don't stop there. The book will actually show you how to apply what you've learned by building realistic .NET applications--it takes a practical look forward.



0201738287P10182001

Index

A
Abort shape, 325
Abstract classes, 196
Abstractions, BizTalk Messaging, 329
Abstract methods, 108, 197
AccessExample class, 111
ACID. See Atomicity, consistency, isolation, and durability
Action shape, 323
Active server pages, 75, 249, 377. See also Classic active server pages
Active Template Library, 7, 209, 319
ActiveX, 3
ActiveX Controls, 191, 262, 263
ActiveX data object, 341
Activities, COM+, 190
Add a File Receive Function dialog, BizTalk Messaging, 331, 332
AddButton_Click() method, 152, 154
Add event, of AddProject control, 49
AddItem() method, 153
Additive operator, in C#, 89
AddJump method, 55
Add Page, ManagedSynergy, 150
Addpage.cs, 154
addproject.ascx control, 37, 41-43
Add Project button, 50
AddProject control, 49
    adding user interface and code-behind for, 40-41
    Done button of, 50
addproject subdirectory, 37
AddProjectToBaton() method, 148
AddRef function, 182, 183, 186, 238
Addresses
    implicit linking used for resolving, 177
    library, 175
Add Rule context menu, 323
add Web user control Wizard, 37
Administration services, invoking in ManagedSynergy, 166
ADO. See ActiveX data object
ADO.NET, 13
Advanced template library server, 247
Advance functoids, 338
AIC. See Application integration component
al.exe assembly linker, 201
American National Standards Institute (ANSI) strings, 235
A() method, 129
AND join, 324
Apartments, COM+, 191
AppBase directory, 202
AppDomain, 8, 207-208
Application integration component, 330, 336, 337, 345
Application.Lock/Application.Unlock, 290
Application.Lock method, 58
Application programming interface (API), 59, 178
Applications
    building, 211-213
    C#, 85
    roots of, 205
Application state, 289-290
Applied ASP.NET, 271-299. See also ASP.NET
    caching, 293-297
    Http handlers, 297-298
    state management for Web applications, 288-292
    user interface controls and the Web, 271-279
    Web forms and Visual Studio.NET, 280-288
Applied .NET enterprise, server order fulfillment with outside vendor, 363-379
Applied runtime, 211-245. See also Common Language Runtime
    building assemblies and applications, 211-213
    building projects using Visual Studio.NET, 214
    deployment and versioning, 218-225
    examining the manifest, 215-218
    garbage collection, 225-227
    interoperability, 234-240
    threading and the CLR, 227-234
    Windows forms, 241-244
Appointment type, 216
    structure seen through ILDASM, 217
Approval status, in ManagedSynergy, 132
ARef, 102
Ariba, 11
Arithmetic operators, in C#, 90
Arrays, 197
    in CTS, 197
    and SOAP, 317
Arrays types, in C#, 104-106
asp: identifier, 279
ASP.NET, 135, 211, 247-270, 305. See also Applied ASP.NET
    caching, 268
    and classic ASP, 248-249
    classic ASP versus, 249-250
    as CLR citizen, 250
    configuration files, 260-262
    connection object model, 257
    controls added to pages with, 37
    and custom server-side controls, 262-266
    and deemphasis of ISAPI, 250
    fundamentals of System.Web.UI page, 255-257
    importance of, 248
    mixing C# and, 258-260
    QuickStart tutorial, 44
    response object, 143
    server-side controls, 24
    and session state management, 269-270
    superiority of, over regular ASP, 288
    System.Web.UI. page at core of, 251-255
    and Web forms, 262
    Web services and, 266-268
ASP.NET pages
    in ManagedSynergy, 138
    server-side controls used on, 272-274
ASPs. See Active server pages
ASPX file, output after executing, 256
Assemblies, 200-203
    building, 211-213
    in C#, 85
    CLR and identification of, 219
    deployment of new versions of, 224
    loading, 223-224
    and manifest, 201
    and modules, 201
    private versus public, 202-203
    writing, 245
Assembly Binding Log Viewer, 224
AssemblyCultureAttribute, 220
AssemblyKeyFileAttribute, 221
Assembly language, 73
Assembly.LoadFrom method, 224
Assembly references, 202, 223
Assembly Resolver, 202
Assignment operator, in C#, 89, 90
Asterisk (*), and build number, 220
Asynchronous call methods, 63, 64, 65, 66
Asynchronous messaging, 304, 307
ATL. See Active Template Library
ATL server. See Advanced template library server
Atomicity, 16
Atomicity, consistency, isolation, and durability (ACID), 324
Attribute nodes, XPath, 313
Attributes, 76, 189, 310
    and C#, 126-127
    role of in .NET development, 167
Audit trails, 16
Authentication, 16, 19, 31-37
<authentication>section, in WEB.CONFIG file, 260
Author collaboration, 20
Authorization, 16, 19, 31-37
<authorization> section, in WEB.CONFIG file, 260
Automated software agents, 9, 10
Availability, 16, 19

B
Backwards compatibility, 197, 234
Base classes, 196
Basic, 8
Basic authentication, .NET support for, 31
Baton, meanings of, 21
Baton.Add() method, 153
Baton metadata, translation of, 66-69
Baton project, XML representation of, 66-67
Baton projects creation, 37-50
    controls added to default page, 46-50
    create project table and stored procedures, 39-40
    user interface/code behind added for AddProject control, 40-43
    user interface/code-behind added for Projects control, 43-46
BatonWeb
    application, 32
    directory, 37
    file, 47
BATONWEBCOOKIE cookie, 32-33
BatonWeb.csproj file, 37
BeginDownloadProjectItemsRet method, 65
Begin shapes, 323
Binary independence, 77
Binary software, 194
Binary versioning, .NET's handling of, 218
BindGrid method, 46
<BindingPolicy>tag, 224
<⁄BindingPolicy>tag, 224
<BindingRedir>tag, 224
Binding request, 224
Binding Wizard, 366, 367, 368, 378
    communication direction, 369
    destination application, 370
    XLANG activation, 369
Biometrics, 7, 11
Bitmaps, 200
BizTalk Administrator Tools, 339-340
    BizTalk Document Tracking, 340
    BizTalk Messaging Manager, 340
    BizTalk Server Administration, 339
BizTalk BPOActivation COM+ components, 359
BizTalkConfig object, 341-342
BizTalk development tools, 337-339
BizTalk Editor, 337
BizTalk Mapper, 337-338
BizTalk Orchestration Designer, 339
BizTalk Document Tracking, 340
BizTalk Editor, 333, 337, 338, 344, 373, 375
BizTalk Mapper, 331, 333, 337-338, 339, 344, 375
BizTalk Messaging, 304, 319, 320, 325, 328-333, 343, 373
    abstractions, 329
    built-in transport types, 330
    and business document validation, 344
    and business processes execution, 346
    business transaction status tracked with, 347
    channel firing, 333
    channels, 329
    configuring file receive function, 332
    creating new file receive function, 332
    direct integration to, 331
    document definitions, 329
    document submission to, 331
    extensibility framework, 333-337, 334
    file receive function, 331
    from HTTP request to, via direct integration, 356-357
    from HTTP request to, via file receive function, 358-359
    from HTTP request to, via message queuing receive function, 357-358
    maps, 331
    message queue receive function, 331
    orchestration schedule start, 360
    organizations, 329
    ports, 329
    translation, 333
    transports, 330
BizTalk Messaging Binding Wizard, 361, 368
BizTalk Messaging Manager, 340, 345
BizTalk Messaging MSMQ, receive function, 358, 374
BizTalk Messaging object model, 340-341
    channel creation, 343
    creating BizTalkConfig object, 341-342
    document creation, 342
    object deletion, 343
    organization creation, 342
    port creation, 342
BizTalk Messaging Server, 328
BizTalk Messaging Server Administration tool, 340
BizTalk Messaging shapes, 326, 367, 368
BizTalk Orchestration, 319, 323, 326, 328, 329, 343, 357
    adapter application, 360
    and business document validation, 344
    Commerce Server integrated to, 359-361
    designer tool, 322
    IIS integrated with, 356
    and order-processing pipeline, 363, 365
    schedule, with shapes in orchestration designer tool, 366, 367
    and server affinity, 348
    wiring of, to implementation ports, 327
    and XLANG, 307
BizTalk Orchestration Designer, 339
BizTalk Server, 302, 304, 305, 319, 334, 343, 379. See also BizTalk Messaging; BizTalk Orchestration
    architectural issues with, 347-348
    B2B order fulfillment powered by, 363
    Commerce Server integrated to, 359-361
    delivery to outside vendor's, 375
    essentials of, 319-320
    extensibility model in, 347
    integration capabilities of, 344
    integration of Commerce Server to, 359
    orchestration, 320-328
    orchestration execution model, 346
    prepackaged capability of, 347
    standards support for, 345
    and translation problem-solving steps, 333
BizTalk Server Administration, 339
    console, 331, 335, 336
    tool, 348
BizTalk Server Group, 328, 334, 339
BizTalk Server Messaging, 355, 377
    Commerce Server integrated to, 359
    IIS integrated to, 356
BizTalk Server Messaging Manager tool, 341
BizTalk Server Orchestration. See BizTalk Orchestration
Blank solution site, 354
Bloated registries, 219
B() method, 129
Body element, SOAP, 317
Book project, 49
Boxing, 106, 107, 198
break; statement, 96
break statements, in C#, 93, 97, 98
BRef, 102
<browserCaps>section, in WEB.CONFIG file, 261
Browsers, 263, 304
B2B. See Business-to-business
B2C. See Business-to-consumer
Buffer overflows, 8, 9
Bugs, 174, 224, 227
Build numbers, 220, 240
Built-in value types, 195
Business analytics system, with Commerce Server, 353-354
Business documents, 344. See also Documents/documentation
    BizTalk Server and translation of, 344
    schema definition of, 304
    and XML, 306
    validation of, 344
Business process
    definition, with BizTalk Orchestration, 344
    definition, with Simple Helix, 365-366
    design, 322-323
    specification, 304
Business processing pipelines, with Commerce Server, 350
Business-to-business (B2B)
    communication, 1, 12, 16
    software solutions, 302
    Web services, 52
Business-to-consumer (B2C)
    applications, 348
    software solutions, 302
    support, 72
Business-to-consumer site
    Commerce Server and order fulfillment, 363-379
    Simple Helix and integration with, 374-378
Buttons, 22, 24
byte type, 96

C
C, 73, 74, 75
    arrays in, 197
    value types in, 195
C++, 73-74, 75, 81, 135, 181, 182, 198, 211
    code for COM object in, 185
    function pointer types in, 196
    types defined within, 194
    value types in, 195
C#, 71-130, 167, 211, 241, 271, 288, 299, 305
    arithmetic, relational, and conditional operators, 90
    arrays types in, 104-106
    assemblies in, 85
    and attributes, 126-127
    and backwards compatibility, 197
    classes in, 107-108
    and collaboration, 78-79
    common statements in, 92-94
    component orientation of, 76-77
    conditional operators, 91
    and constructors, 111-112
    contemporary perspective on, 74, 130
    description of, 73-74
    and destructors, 113-114
    drawing program using, 242-243
    elegance of, 74-75
    and enums, 126
    and events, 118-120
    and exceptions, 127-130
    expressions in, 88
    expression statements in, 94
    and finalization, 207
    IHttpHandler implemented in, 297-298
    increment/decrement operators in, 89-90
    and indexers, 120-122
    inheritance and, 108-109
    interfaces in, 122-124
    iteration statements in, 96-97
    jump statements in, 97-99
    local constants in, 91
    mapping of types to, 198-199
    and members, 109
    methods/method overloading in, 114-116
    mixing ASP.NET and, 258-260
    namespaces in, 82-85
    and new operator, 88-89
    object-orientation of, 75-76
    operators in, 89, 117-118
    people-oriented capabilities of, 77
    program structure of, 82
    properties of, 116-117
    reference types in, 101-104
    selection statements in, 95-96
    special qualities of, 74-79
    statements in, 91
    and structs, 125-126
    tour of, 80
    and translation, 79
    and type harmony, 106-107
    and universalization, 77-78
    value types in, 99-101
    variables in, 85-88
    Windows forms used through, 242
C# language specification, 73, 88, 122
CAB files, 214
Caching
    and ASP.NET, 293
    data, 294-297
    output, 293
CalcDistances method, 274
Calendar controls, 262-263, 277, 278
Calendar services, 11
Call and response pattern, RPC, 317
CallFoo, 178
Candidate values, 95, 96
Catalog browsing, 379
Catalog Designer tool, 353
Catalog Editor, 353
Catalog system, with Commerce Server, 352-353
catch block, 154
Category IDs, 335
CATID_BIZTALK_AIC, 336
CATID_BIZTALK_COMPONENT, 336
CATID_BIZTALK_CUSTOM_PROCESS, 335
CATID_BIZTALK_PARSER, 335
CATID_MapEditFunctoids, 336
CCW. See Component Object Model, callable wrapper
CDATA sections, 311
CDR. See Common data representation
Cell phones, 72
Central processing unit, 7, 205
Certificates, 341
CGI. See Common gateway interface
Channel firing, BizTalk Messaging, 333
Channels, 341
    BizTalk Messaging, 328, 329
    creating, 343
Charge Credit Card action, 377
char type, 96, 194
Check-in comments, in ManagedSynergy, 135
Check-In Page, for ManagedSynergy, 158
Child elements, 310, 316
Class constructors, 200
Classes
    and C++, 74
    in C#, 107-124
    in CTS, 196
Class factory, 186
Classic active server pages, 247, 248
    ASP.NET versus, 249-250
    and state management, 289
    Web processing, 272
Class ID, 187
Class objects, and COM classes, 186-187
Class variables, 87
Clear handler, 244
CL.EXE, 212
Click history, 350
CLIENT.EXE, 212, 213
Client scripting, 24
Clock cycles, and output caching, 293
CLR. See Common Language Runtime
CLS. See Common Language Specification
CLSID. See Class ID
CLSID_DrawAndStore, 190
ClubsRUsPO, outbound document definition, 375
ClubsRUsPOToShipNotice.xml, 377
ClubsRUsPO.xml document specification, 377
ClubsRUs vendor, 363, 364, 365
Clusters, 16
C() method, 129
Coclass keyword, 190
CoCreateInstance function, 188, 191, 240, 262
CodeBehindPage class, 259
Code-behind technique, 26, 138, 280
Code behind the page
    ASP.NET support for, 258-260
    example of, in ASP.NET, 259
CoGetClassObject, 187, 188
Collaboration, 5, 14, 69, 171, 172, 379
    and ASP.NET, 247, 299
    and C#, 78-79
    and InternetBaton application, 19
    and ManagedSynergy, 135-136
    and .NET, 9-11
    and .NET servers, 301, 361
    and order fulfillment case study, 363
    and people-types, 16, 18
Collaboration design, for InternetBaton Application, 50-61
COM. See Component object model
COM+, 5, 190-191, 192, 193, 245
    apartments, 191
    Component Binding Wizard, 325
    Component shape, 325
    object pooling, 350
    type information used by, 201
Combine function, 196
Combo boxes, 250, 263
Command line, 211-213
    compilers, 245
    tools, 223
Comment nodes, XPath, 313
Comments
    BizTalk Messaging channels, 329
    in XML documents, 311
Commerce Server, 19, 304, 348-355, 379. See also Simple Helix case study
    architecture, 348-349
    BizTalk Server integrated to, 359-361
    business analytics system, 353-354
    business processing pipelines, 350
    and B2B order fulfillment, 363
    continuous improvement cycle, 350
    integration of, to BizTalk Server, 359
    Pipeline Editor, 351
    product catalog system, 352-353
    profile system, 350-352
    solution sites, 354-355
    targeting system, 352.
Common data representation, 316
Common gateway interface, 59, 62, 248
Common Language Runtime, 7, 77, 78, 82, 169, 171-210, 211, 244, 245, 299, 301, 305
    and ASP.NET, 250
    assemblies found with, 223-224
    control classes in, 275
    File and Directory classes in, 135
    and global cache, 222
    and interoperability, 208-209
    life within, 203-204
    .NET servers versus, 361
    pervasive type system in, 193-194
    and threading, 205, 207, 228
    types fundamental to, 194
    and universalization of people-oriented software, 172
Common Language Specification, 197, 198
CommonLib, 219
Common Object Request Broker Architecture, 6, 70, 71, 80, 171, 193, 266, 267, 305, 316
Common Type System, 8, 172, 193, 194-198, 247, 271
    arrays in, 197
    classes in, 196
    delegates, 196-197
    enumerations in, 195-196
    interfaces in, 197
    pointers in, 197
    value types in, 195
    value versus reference types in, 198
COM objects, 185-186
    IDraw and IStore implemented by, 184
Compare validator control, 24
Compensating action, 324
<compilation>section, in WEB.CONFIG file, 261
Complexity, 309
Component architectures, 173
Component-based software, 173
Component boundaries, defining, 193
Component development, DLLs and enabling of, 180
Component object model, 70, 72, 77, 78, 214, 224, 244, 249, 266, 267, 299, 305, 321
    advantages with, 191
    callable wrappers, 234, 240
    classes and class objects, 186-187
    components, 367
    deficiencies with, 191-192
    and DLLs, 180-181, 187-188
    interfaces, 181-183
    interoperating with, 236-240
    and .NET versioning, 203
    safe arrays, 197
    services layer, 5
    type library, 237-238
Component-orientation, 73, 76-77
Components, 79-80
Compound types, and SOAP, 317
COM transaction integrator, 344
Concurrency, modeling with fork shape, 324
Concurrent access, 19
Conditional AND operator, in C#, 89
Conditional operator, in C#, 89, 90, 91
Conditional OR operator, in C#, 89
Conductor People-Type, 18, 53, 321
Confidentiality, 16
Configuration files, 224-225
ASP.NET, 260-262
ConfirmCheckOut.aspx file, code in, 156
Consistency, 16
Console class, 82
Constants, 109
Constructors, 109, 199-200
and C#, 111-112
Consumer identity, and smart Web services, 53
Contention, database, 294
Content selection, 350
Context, and Web services, 53
Continue statements, in C#, 93, 97, 98
Continuous improvement cycle, in Commerce Server, 350
Contracts, 122
Contract transformation, 13-14
Control class, 255, 264
Controls, adding to page with ASP.NET, 37
Control state, 289
Control.State collection, 265
Convergence, 304, 316
Cookies, 290, 291
COR, 192
CORBA. See Common Object Request Broker Architecture
CPU. See Central processing unit
CreateButton_Click() method, 148
Create method, 341, 342
CreateProject.aspx page, 144
Create Project Page, ManagedSynergy, 145
CreateThread function, 228
CreateWindowEx, 191
Credit card charges, 364, 365, 366, 377-378, 379
CriticalSection, 229
Critical sections, 229
Cross enterprise applications, BizTalk Server integration with, 344-345
Cross-language integration, 8
CrypoAPI, 7
CSC.EXE, 212
CTI. See COM transaction integrator
CTS. See Common Type System
CultureInfo structure, 220
Custom controls
    for displaying item properties in ManagedSynergy, 163
    formatting, in ManagedSynergy, 166
    implementation of, in ManagedSynergy, 165
<customErrors> section, in WEB.CONFIG file, 261
Custom functoid, 335-336
Custom handlers, 271, 297
Customized client applications, 62
Customized Web services, 53
Custom parser, 335
Custom preprocessor, in BizTalk Messaging extensibility framework, 335
Custom server-side controls
    and ASP.NET, 262-266
    extending the browser, 263
    life cycle of, 264-265
    reasons for using, 266
    server-side rendering, 263-264
Custom transports, 336-337
Custom validator control, 25
cXML, 355

D
Database access functoids, 338
Database contention, 294
Data binding, 250
Data caching, and ASP.NET, 268, 294-297
Data contention, managing, 229
DataGrid, 37, 44, 46, 50, 278
Data integrity, 16
DataSet, 46, 55, 58
Data store Web service, 11
Data Transformation Services, 353
Data types, 191, 317
Data warehouse component, with Commerce Server, 353-354
dBASE III, 173
DCOM. See Distributed component object model
Deadlock race conditions, 190
Debit method, 377, 378
Debit_out.Debit, 378
Debit_out message, 378
Decision shape, 323, 378
Declaration, 81
Decrement operators, in C#, 89-90
Decryption certificate verification settings, BizTalk Messaging channels, 329
default.aspx, 32
Default constructors, 200
Default namespaces, 312
Definition, 81
Dehydration, 347
Delegates, 120, 196-197, 228-229
DeletePage.cs, 154
Delivery retry settings, BizTalk Messaging channels, 329
Dependencies, of assemblies, 201
DEPENDS.EXE, 201
Deployment, and versioning, 218-221
Deserialization, 144, 156
Design, people-oriented, 19
Design attitudes
    methodology, 16-17
    next steps for, 19
    and People-Types, 17
Destructors, 109
    and C#, 113-114
    and garbage collection, 225
Deterministic finalization, 225-227, 245
DevelopMentor, 193
Dictionaries, 337
Dictionary interface, for data caching, 295-296
Digest authentication, .NET support for, 31
Digital certificates, 20, 67
Digital signatures, 221, 345
    BizTalk Messaging channels, 329
    and custom transports, 336
Digital subscriber line, 20
Direct integration, for document submission to BizTalk Messaging, 331
Direct mail service, with Commerce Server, 352
DirectX, 7
Discounts, 352
Disposable Internet devices, 7
Dispose() method, 113, 226, 227, 245, 265
DisposeOfMe, 227
Distributed architecture, advantages with, 20-21
Distributed component object model, 6, 71, 80, 171, 257, 269, 305
Distributed Internet computing RPC mechanism, 316
Distributed Transaction Coordinator, 324
"Divide by zero" exception, 129
DllGetClassObject, 187
DllImport attribute, 208
DllImportAttribute attribute, for interoperating with methods in Kernel32.DLL/User32.DLL, 234-235
DLLs. See Dynamic link libraries
Document definitions, and BizTalk Messaging, 329
Document element, of XML document, 309
Document object model, 13, 314, 377
Documents/documentation, 76, 341
    creating, 342
    specifications, 333
    submission of, to BizTalk Messaging, 331
    translation of, and XSLT, 306-307
    translation technology, 304
Document type definitions, 306, 345
DOM. See Document object model
Done button, 49, 50, 51
Done event, of AddProject control, 49
DOS applications, 173
do statements, in C#, 93
do while statement, in C#, 96
DownloadProjectItems() method, 66, 166, 167
    asynchronous calling of, 64
    calling from InternetBaton, 64
    synchronous calling of, 63
DrawAndStore class, 186, 190
DrawAndStore object, 188
DRAWSTORE.H, 190
DRAWSTORE_I.C, 190
DRAWSTORE.TLB, 190
DropDownList control, binding data to, 46
DrowDownList element, 50
DSL. See Digital subscriber line
DTC. See Distributed Transaction Coordinator
DTDs. See Document type definitions
DTS. See Data Transformation Services
Durability, 16
Durable cookies, removing, 49
Dynamic channels, 375
Dynamic content, origins of, 248
DynamicInvoke, 197
Dynamic linking, 172, 208
    explicit, 178-180
    implicit, 175-178
Dynamic link libraries, 174-175, 200, 209, 211, 224, 244
    and ASP.NET, 250
    component object model and, 180-181, 187-188, 191
    explicit linking of, 179
    import libraries and, 176
    interoperability with, 234
    ISAPI, 249
    upsides/downsides to, 180
    Win32 API for loading of, 178
Dynamic memory allocation, 205
Dynamic references, 223
Dynamic reports, 354
Dynamic status updates, with ManagedSynergy, 166

E
EAI, 345
e-commerce, 9, 12, 262, 347, 354. See also Simple Helix
EDI. See Electronic data interchange
Edit boxes, 250, 256
Effects, of garbage collection, 225
Electronic data interchange, 303
Elegance, 74-75
Element nodes, XPath, 313
Elements, 309, 310
    in XML documents, 309
e-mail advertising, with Commerce Server, 352
Encryption, 319, 320
    BizTalk Server support for, 345
    over Internet, 345
EndDownloadProjectItemsRet, 66
End shape, 325
End tags, 308, 309
Enter method, 229
Entity references, predefined XML, 310
Enumerations, 195-196
    in CTS, 195-196
    and SOAP, 317
enums, 198
    and C#, 126
    and C++, 74
enum type, 96
Envelopes, 341
Equality operator, in C#, 89
Equals function, 194, 197
Error handling, 16
Event-driven processing, 314
Event handlers, 118, 120
Event handling, and Windows forms, 244
Events, 76, 109, 197
    with C#, 118-120
    processing, 350
EventSource class, 120
Event Viewer, 339
Exception handling, with ManagedSynergy, 154
Exceptions, and C#, 127-130
Execute method, 335, 337
Execution time metrics, 16
EXEs, 211
Exit method, 229
Explicit linking, 178-180
    downsides to, 180
    upsides to, 179
Explicit option, in Visual Basic, 261
Expressions, in C#, 88
Expression statements, in C#, 92, 94
Expression validator control, 25
eXtensible Markup Language, 6, 7, 12, 62, 267, 303, 304, 305, 321, 344
    attributes, 310
    basics of, 308-314
    BizTalk server based on, 345
    and business documents, 306
    CDATA sections, 311
    comments/comment tags, 77, 311
    declaration, 309
    design goals of, 308-309
    documents, 309
    elements, 309
    entity references, 310
    and event-driven processing, 314
    as foundation of modern interoperability, 305
    and memory tree processing, 314
    namespaces, 311-313
    parsers, 308
    processing instructions, 311
    processing models, 314-315
    and sequential navigation processing, 314-315
    and SOAP, 307
    and structured data exchange, 306
    and validity, 310
    Web services, 52
    well-formed documents in, 310
    and WSDL, 307-308
    and XLANG, 307
    and XLink, 313
    and XPath, 313
    and XPointer, 313-314
    and XSLT, 306-307
eXtensible Markup Language Communication Wizard, 366
Extensible style language, 67, 333, 338, 344, 345
Extensible style language processor, 318
Extensible style language transformation, 13, 304, 306-307, 375

F
FARPROC type, 178
Fault tolerance, 7, 16
Fields, 109, 199
    in C#, 85
    validation of, and ManagedSynergy, 135
    validator control for, 24
File.Copy() method, 160
File receive function
    BizTalk Messaging, 331
    from HTTP request to BizTalk Messaging via, 358-359
FileStream, 168
File Transfer Protocol, 219, 330
Finalization, CLR support of, 206
Finalize function, 194
Finalize method, 206, 207, 225
Finalize() method, 113
finally block, 129, 169
finally construct, 169
Financial transactions, with Internet cards, 7
Fire() method, 120
Firewalls, 266, 267, 316
Fitness of purpose, within software architecture/design, 16
Flexibility, 309
Floating point numbers, 195
Floats, 199
Foo function, 178, 179
Foreach statements,in C#, 93, 97
fork() function, 324
Fork shape, 324
Format function, 196
Form-based authentication, 31, 32
FormsAuthentication.RedirectFromLoginPage method, 33
Forms-based environment, 242, 245
for statement, in C#, 93, 97
FreeLibrary function, 178
FTP. See File Transfer Protocol
Functionality, modularizing within controls, 37
Function pointer types, 196
Functions, 74
Functoids
    custom, 335-336
    defined, 337-338

G
GACUTIL, 223
Garbage collection, 8, 225-227, 245
    and deterministic finalization, 225-227
    effects of, 225
    with .NET, 205-206
Gates, Bill, 4, 294
GDI styles. See Graphics device interface styles
Genericity, 76n. 1
GetAccountBalance method, 317
Get block, 199
GetConfigData method, 337
GetDefaultAlias, 342
GetJumpURL method, 55
GetLastError, 235
GetMessage/DispatchMessage loop, 191
get() method, 117
GetNames function, 196
GetObject, 356
GetObject API call, 359
GetObject() function, 328
GetProcAddress function, 178, 208
GetType function, 194, 197
GetUnderlyingType function, 196
GetValues function, 196
global.asa, code from, 357-358
GLOBAL.ASAX file, 289
Global assembly cache, 221-223, 223
Global connectivity, 303, 305
< globalization>section, in WEB.CONFIG file, 261
Globally unique identifiers, 183, 186, 203, 221, 222, 311
Global objects, 205
Global online community, 2, 69. See also People-oriented software
    building, 3
    Internet transformation into, 15
Goto statements, in C#, 93, 97, 98
Graphical user interfaces, 5
Graphics and rendering, and Windows forms, 244
Graphics device interface styles, 244
GUIDs. See Globally unique identifiers

H
HailStorm, 53
    integration of, into InternetBaton, 53-54
    services, 52
Handheld devices, 263
Handwriting recognition, 7
Header element, 316
Heap, 205, 225
Hejlsberg, Anders, 73, 76
"Hello, World" program example, 81, 82
Hello class, 81, 82
Hidden fields, 24
Home systems, Internet devices for, 7
Host Integration Server, 304
HRESULT, 378
HTML. See Hypertext Markup Language
HTMLControl class, 272, 276
HTML controls, 271-272, 275, 276-277
HTMLSelect control, 279
HtmlTextWriter argument, 165
HTTP. See HyperText Transfer Protocol
HttpClientRequest, 10
HttpContext instance, 59
HTTP GET requests, 268
Http Handlers
    and ASP.NET, 297-298
    customized, 59
<httpHandlers> section, in WEB.CONFIG file, 261
HTTP HEAD request, 268
<httpModules> section, in WEB.CONFIG file, 260
HTTP POST requests, 268
HTTP Request, 317
    from, to BizTalk Messaging via direct integration, 356-357
    from, to BizTalk Messaging via file receive function, 358-359
    from, to BizTalk messaging via message queuing receive function, 357-358
HTTP Response, 317
HTTPS, 7, 330
    BizTalk messaging port connected to, 344
    BizTalk Server and leveraging of, 345
HttpServerResponse, 10
HttpSession object, 290
HTTP 202 status code, 64
HVar class variable, 87
Hypertext Markup Language, 12, 24, 138, 248, 258, 263, 271, 274, 308, 354
HyperText Transfer Protocol, 6, 7, 59, 248, 267, 269, 275, 304, 330, 375
    BizTalk messaging port connected to, 344
    BizTalk Server and leveraging of, 345
    and data caching, 294
    and SOAP, 307

I
IBizTalkParserComponent interface, 335
IBM, 11, 53
IBTSAppIntegration interface, 336, 337
IBTSCustomProcessContext interface, 335
IBTSCustomProcess interface, 335
IClassFactory::CreateInstance, 187, 188
IClassFactory interface, 186, 187
Identity
    monitoring, 53
    Web services oriented to, 52
<identity> section, in WEB.CONFIG file, 260
IDispatch, 288, 299
IDisposable interface, 226, 245
IDisposable() interface, 113
IDL. See Interface description language
IDraw function, 182, 183
IDraw interface, 184, 186, 189, 190
IDs, 33, 36
    category, 335
    session, 289, 290, 291
if statement, in C#, 92, 95
IFunctoid, 336
IHttpHandler, 261
    definition of, in C#, 297
    interface, 59, 250, 255
IInterchange COM interchange, 331
IInterchange interface, 328, 336, 359
IInterchange::Submit, 335, 356
IIS. See Internet information server
IL. See Intermediate language
ILDASM. See Intermediate language disassembler
Implementation ports, 327, 367, 375
Implementer class, 124
Implicit linking, 175-178, 180
#import directive, 191
Import library, 175, 176, 177, 181
Import lists, 201
Increment operators, in C#, 89-90
Indexers, 109, 120-122
Inheritance, 75, 76, 108-109, 242
InitedIVar, 87
Init function, 264
InitializeComponent() class, 142
InitializeComponent method, 29
Inside Microsoft Windows NT Internet Development (Sorenson), 3
Instance constructors, 112, 200
Instance methods, 114, 196
InstanceVar, 87
Instance variables, 87
Integers, 195, 199
Intellisense, 201
Intercomponent types, 193
Interface-based programming, 181
Interface Description Language, 189-190, 236
Interfaces, 197
    and C#, 122-124
    and COM success, 191
    in CTS, 197
    management of, 182
Interface types, 191
Intermediate language, 203-204, 209
    code, 293
    disassembly for Appointment's constructor, 218
    and just-in-time compiling, 204
Intermediate language disassembler, 245
    client of TYPETEST assembly as seen through, 220
    TYPETEST's manifest as seen through, 217
    using, 215-218
    view of TYPETEST component after being signed, 222
internal access modifier, with C#, 83
Internal applications, BizTalk Server integration with, 344-345
Internet, 1, 69, 248, 270, 302, 305. See also Web services; World Wide Web
    and C#, 73
    encryption and secure communications over, 345
    of the future, 6
    invoking methods over, 247
    .NET platform and evolution of, 2
    operation over, through firewalls, 316
    transformation of, into global online community, 15
InternetBaton, 69, 131, 132, 133, 271
    access to Web site of, 31
    forms-based authentication integrated into, 32
    HailStorm integrated into, 53-54
    HTTP Handlers used by, 298
    integration of, with other Web services, 54-61
    Log-In Page for, 33
    and management of shared documents, 20
    naming of, 21
    page view after user adds Book project, 51
    page view after user clicks Done button, 51
    page view after user signs in, 50
    screens added to, 50
    Sign-Up Page for, 23
    Sign-Up page code for, 22-23
    synchronization in, 62-66
    and translation of service description contracts, 67-69
    validation summary control showing address/password errors, 26
    Web service, 135, 143
InternetBaton application, 19-69
    authentication/authorization of users, 31-37
    collaboration design, 50-61
    features, 19-21
    ManagedSynergy application integrating with, 135-136
    new baton projects created in, 37-50
    sign-up page with entry validation in, 22-31
    translation design in, 62-69
    universalization design: mining the runtime in, 21-50
InternetBaton default.aspx page, controls added to, 46
InternetBaton implementation, .NET resources for, 22
InternetBaton project, XML file representation of, with additional security tag, 68-69
InternetBaton Projects page, completing, 39
InternetBaton Web Collaboration application, 15
Internet cards, financial transactions with, 7
Internet cell phones, 263
Internet Explorer, city calculations checked on, 297
Internet Information Server, 31, 304
    BizTalk Server Messaging integrated to, 356
    configuration panel, 61
    integrated with BizTalk Server Orchestration, 356
    integration of, to BizTalk Server Messaging, 356
InternetJump, 60-61
    HttpHandler code, 59-60
    testing programmable interface, 58
    and uniform resource locators, 54
    Web service, 55, 58, 59
    Web site, 54
InternetJumpDB.xml file, 58, 60
InternetJumpHandler.dll, 60
Internet phones, 210
Internet server API, 59
Internet service providers, 20
Internet Services API, 249
    deemphasizing, 250
    extensions, 247
    SOAP listener, 318
Internet software, and people-orientation, 172
Interoperability, 208-209, 234-240, 267, 303, 305
    and BizTalk, 343
    with COM, 236-240
    Platform Invoke (P/Invoke), 234-235
    SOAP and maximization of, 315-316
    and translation, 333
    and XML, 305-308
Intracomponent types, 193
Intranets, 248
int type, 96, 194
Invocation lists, 196, 197
Invoke button, 58
IPipelineComponentAdmin, 337
IPipelineComponent interface, 336, 337
IPostBackDataHandler interface, 265
ISAPI. See Internet Services API
IsDefined function, 196
Isolation, 16
ISPs. See Internet service providers
IsReusable method, 59
IStore function, 182, 183
IStore interface, 184, 186, 189, 190
ItemUrl property, 157
iteration statements, in C#, 96-97
IUnknown interface, 182, 184, 186, 193
IUnknown pointers, 185

J
Jagged arrays, 104, 106
Java programming language, 3, 75, 106, 193, 196, 205
Java applets, 262, 263
JavaScript, 24, 249
Java Virtual Machine (JVM), 171
JIT compiler. See Just-in-time compiler
Join shape, 324
JPEG files, 200
Jump statements, in C#, 97-99
Just-in-time compiler, 7
Just-in-time compiling, and intermediate language, 204

K
Kerberos, 8
Kirtland, Mary, 192

L
Labeled statements, in C#, 93
Labels, 22, 24
Language independence, 77
LANs. See Local area networks
Large-scale interoperability, 316
LCID. See Locality ID
Legacy systems, BizTalk Server integration with, 344-345
Libraries
    C#, 85
    dynamic linking of, 175
    static linking of, 174
Library address, 175
Library keyword, 190
Linear heapwalks, 206
Linguist People-Type, 18, 62, 333
Linux, 7
List boxes, 256
Load balancing, with BizTalk Messaging Server Group, 347
LoadByName method, 341
LoadLibrary function, 178, 208
Load method, 341
Load() method, 143, 144, 167
LoadPipe method, 350
LoadViewState function, 264
Local area networks, 248
Local constants, in C#, 91, 92
Locality ID, 240
Localized resource assemblies, 221
Local variables, 85, 87, 205
Location transparency, 77
Locks, method-level, 233-234
Lock statements, in C#, 94, 99
Logging settings, BizTalk Messaging channels, 329
Logical AND operator, in C#, 89
Logical OR operator, in C#, 89
Logical XOR operator, in C#, 89
login.aspx, 32, 33
login.aspx.cs page, code listing for, 33-36
Lollipop diagram, 185
    of COM object implementing IDraw and IStore, 184
Long-lived operations, 379
Long-lived transactions, 324, 346
long type, 194
Loopback, 330
Lotus 1-2-3, 173

M
Machine configuration file, and assembly loading, 223
Main entry point, in C#, 82
Main() method, 120, 124, 126
Main method, in C#, 82
Maintainability, 16, 19
Major number, and versioning assemblies, 220
Makefiles, 213
Manageability, 16, 19
Managed C++, 241, 242, 299
Managed code, 7
Managed pointers, 197
ManagedSynergy application, 127, 130, 131-169, 247, 271
    Add Page for, 150
    Check-In Page for, 158
    and collaboration, 135-136
    Create Project Page for, 145
    design of, 133-137
    features of, 134
    functionality of, 132-133
    implementation of, 137-169
    opening existing project in, 138-144
    Project Page for, 137
    Properties Page for, 163
    Review Page for, 161
    Start Page for, 139
    and translation, 136-137
    and universalization, 134-135
    vision behind, 132
ManagedSynergy project file, 132
Managed types, 194
Manifest, 201, 202, 209, 211, 213, 215-218, 221
Mapper
    and BizTalk Messaging extensibility framework, 334
    and BizTalk Server, 333
Maps, BizTalk Messaging, 331
McIlroy, Doug, 78
MDI Windows. See Multiple document interface Windows
Member access modifiers, in C#, 110
Members, 109-111, 199
Members table, 36
    code to write to, 29-31
    creating, 29
MemberwiseClone function, 194
Memory, 174
    and CLR, 194
    dynamic allocation of, 205
    leaks in, 227
Memory tree processing, 314
MessageBeep, 235
MessageBox, 235
Message queue receive function
    BizTalk Messaging, 331
    for document submission to BizTalk Messaging, 331
Message queuing, 8, 305
Message queuing receive function, from HTTP request to BizTalk messaging via, 357-358
Message Queuing shape, 325, 326, 367
Message Queuing transport type, 330
Messaging management database, and BizTalk Messaging, 328
Messaging ports, 341, 368
Messaging Port Wizard, 345
Method Communication Wizard, 325, 326
MethodImpl attribute, 233
Method-level locks, 233-234
Method overloading, in C#, 114-116
Methods, 76, 109, 114-116, 199
Method signatures, 196, 199
Microsoft, 11, 53, 78, 171, 208, 263, 304
Microsoft Foundation Classes (MFC), 7, 241
Microsoft Foundation Library, 209
Microsoft intermediate language, 7
Microsoft Management Console, 339
Microsoft Message Queue, 324, 326, 344, 345, 359
Microsoft Message Queuing shape, 368
Microsoft.NET, 52, 72
Microsoft Passport, 11, 31, 53
Microsoft Solution Developer Network, 318
Microsoft Telephony API, 7
Microsoft Transaction Server, 172, 193, 201
Microsoft Visual C++, 191
Microsoft Windows Distributed interNet Applications Architecture, 3-4, 8
MIDL.EXE, 190
millisecondsTimeout parameter, 232
Miner People-Type, 17-18, 21
Miner's roadmap, to Simple Helix features, 364
Minor version, 220
MMC. See Microsoft Management Console
Mobile code, 8-9
Modula 2, 75
MODULEA.CS, 213
MODULEB.CS, 213
Modules, and assemblies, 201
Monitor class, 229
Monitor.Enter, code for, 230
Monitor.Exit, code for, 230
Mouse movements, and Windows forms, 244
MSCOREE, 204
MSCORLIB, 204, 219
MSDN. See Microsoft Solution Developer Network
MSIL. See Microsoft intermediate language
MSMQ. See Microsoft Message Queue
MTS. See Microsoft Transaction Server
MtsPipeline object, 350
MtsTxPipeline object, 350
Multidimensional arrays, 104, 106, 197
Multidimensional jagged arrays, 106
Multidimensional rectangular arrays, 106
Multimedia application files, and baton synchronization, 62
Multimodule assembly, command lines for building, 212-213
MULTIMODULEASSEMBLY.DLL, 213
Multiple document interface Windows, 241, 243
Multiplicative operator, in C#, 89
mustUnderstand attribute, 317
myAddress Web service, 52
myApplicationSettings Web service, 52
myCalendar Web service, 52, 54
myContacts Web service, 52, 54
myDevices Web service, 52
myDocuments Web service, 52, 54
myFavoriteWebSites Web service, 52
myInbox Web service, 52, 54
MyLibrary, 219
MYLIBRARY.CS, 212, 213
MYLIBRARY.DLL, 212, 213
myLocation Web service, 52, 54
myNotifications Web service, 52, 54
myProfile Web service, 52
myServices Web service, 52
myUsage Web service, 52
myWallet Web service, 52, 54

N
Name element, 312
Names, BizTalk Messaging channels, 329
Namespace nodes, XPath, 313
Namespaces, 81
    in C#, 82-85
    default, 312
    XML, 311-313
NATO, 78
NDR. See Network data representation
Nested namespaces, 83
Nested-type declarations, 109
.NET
    adoption rate of, 247
    array types, 197
    and collaboration, 9-11
    and translation, 12-14
    and universalization, 6-9
    versioning, 203
.NET architecture, translation capability with, 62
.NET enterprise servers, 301-361
    and BizTalk Server, 319-348
    and Commerce Server, 348-355
    integration points between BizTalk Server and, 356-361
    and .NET, 305
    and people-oriented software, 301-302
    and SOAP, 315-319
    and Supplier Enablement Tool Kit, 355-356
    and XML, 305-315
.NET framework, asynchronous programming within, 65
.NET platform
    and evolution of Internet, 2
    and people-oriented programming, 4
.NET runtime. See Common Language Runtime
.NET SDK, 29, 221
    ASP.NET QuickStart tutorial within, 44
    GACUTIL in, 223
    ILDASM in, 245
.NET servers, Common Language Runtime versus, 361
.NET Windows forms, 241-244
Network data representation, serialization format, 316
new modifier, 109
new operator, in C#, 88-89, 101
News headlines, 11
NMAKE, 213
Nonrepudiation, 16
Notepad, 37, 280
null value, 101

O
Object lifetime management, 182, 183
Object-orientation, with C# language, 75-76
Object-oriented design, 1, 16
Object-oriented programming, 172, 209
Object pointers, 205
Object pooling, 7
Objects, 75, 343
object type, in C#, 106
OLAP. See Online analytical processing
OLE DB ADO interface, 354
OLE DB data store, 351
OnClick event, 265
On Compensation of Transaction mechanism, 324
OneWay method, code for calling of, from InternetBaton, 64
OneWay properties, setting, 64
OneWay property, 65
On Failure of Transaction mechanism, 324
Online analytical processing, 354
Online community, building, 2
OnPaint function, 244
OnSessionEnd, 269
OnSessionStart, 269
OpenProjectButton_Click() method, 142
Operators, 109
    in C#, 89, 117-118
Orchestration, 320. See also BizTalk Orchestration
orderform, inbound document definition name, 375
orderformToClubsRUsPO.xml, 375
Order fulfillment, 363-379
    business process diagram, 367
    complete orchestration diagram for, 374
    sequence diagram, Simple Helix, 366
OrderGroup object, 350
OrderPipeline object, 350
Order pipeline processing, with Simple Helix, 363, 365
Order placement, 379
Order processing, 350. See also Order fulfillment
Orders from Simple Helix channel, 377
Order status tracking, 379
Order to ClubsRUs channel, 375
Order translations, to outside vendor format, 375
Organizations
    BizTalk Messaging, 329
    creating, 342
OR join, 324
Osborn, John, 76
Out parameter, 85, 88
OutputCache directive, 268, 293
Output caching
    ASP.NET, 268, 293
    results of, in browser, 294
Outside vendor BizTalk processing, 377-378
Overloaded operators, and C++, 74
Overnight project replication, with ManagedSynergy, 166
override keyword, 108

P
Packages, 201
Page class, 257, 259, 264, 297
Page_Load method, 46
Page_Load() method, 148
Page scrolling, 269
<pages> section, in WEB.CONFIG file, 261
Palmtop computers, 210
Paradigms, value of, 15
Parameter arrays, 85, 88
Parameters, 85, 91
Pareto principle, 18, 62, 63
Parse function, 196
Parser
    and BizTalk Messaging extensibility framework, 334, 335
    and BizTalk Server, 333
Passwords, 24, 33, 36
PCF files, 350
PDAs. See Personal digital assistants
PDC. See Professional Developers Conference
People-orientation, and C#, 73, 77
People-oriented design, 15-19
People-oriented, origin of term, 172
People-oriented paradigm, 3-6, 14
    collaboration, 5
    translation, 5-6
    universalization, 4-5
    Web services and implementation of, 53
People-oriented programming, 3, 5-6, 69
People-oriented software, 1-14, 71, 131, 171, 209, 211, 244, 247, 270, 304, 379. See also Collaboration; Translation; Universalization
    and ASP.NET, 248
    and C#, 74
    CLR and universalization of, 172
    goals of, 271
    and .NET enterprise servers, 301-302
    and translation, 333
    universal runtime concept of, 348
People-oriented Web services, 4, 5, 9
People-Types, 16-19, 133, 169, 318, 320
    Conductor, 18
    Linguist, 18-19
    Miner, 17-18
Performance, 16, 19
Permanent global assembly cache, 222
Personal digital assistants, 1, 54, 72, 304
Pervasive type system, 193-194, 198
Petzoldian-style coding, 241
Pipeline configuration files, 350
Pipeline Editor, 350, 351
Pivot Chart control, 354
Pivot Table control, 354
Placeholders, 165
Platform independence, 77
Platform Invoke (P/Invoke), 208, 234-235
PocketPC, 5
Pointers, 197
Polymorphism, with C#, 75, 76
Pooled Pipeline object, 350
PooledTxPipeline object, 350
Portable Executable files, 200, 202
Port groups, 341
Port implementations, 325, 366-373
Ports, 321, 322, 323
    BizTalk Messaging, 328, 329
    creating, 342
    transport configuration of, 330
Port to Start Schedule messaging port, 374
Postbacks, 46, 265, 272, 288
Predictor subsystem, 352
Preemptive multitasking, 207, 227
Prefixes, URI, 312
PreRender function, 265
Primary operator, in C#, 89
Primary transports, 330
Primitive types, 74, 198
Privacy, 16, 19, 53
Private assemblies, 203
    public assemblies versus, 202
Private keys, 221
Private members, 199
Probing, 202, 223, 224
Problem domain functionality, 181, 182
Processing instruction nodes, XPath, 313
Processing instructions, 311
Processing models, 314
ProcessMessage method, 336
<processModel> section, in WEB.CONFIG file, 261
ProcessRequest method, 59, 60
Product catalog system, with Commerce Server, 352-353
Professional Developers Conference, 218
Profile systems, Commerce Server, 350-352
Project.AddItem() method, code from, 152-153
Project .aspx page, for ManagedSynergy, 137
Project.CheckOut() method, 153
Project.DownloadProjectItems() method, 167
ProjectItem.CheckIn() method, calling, 158-159
ProjectItem.Checkout() method, 154
ProjectItem class, 155
ProjectItem.Download() method, 167-168
ProjectItem.InitialApprovalStatus property, 159
ProjectItem.Publish() method, 160
ProjectItem.ReflectCheckedInState() method, 159
ProjectItem.ReflectCheckedOutState() method, 155
Project items
    adding in ManagedSynergy application, 150-154
    checking in, in ManagedSynergy, 157-160
    checking out, in ManagedSynergy, 154-156
    copying in ManagedSynergy, 169
    deleting in ManagedSynergy, 154
    reviewing in ManagedSynergy, 160-163
    viewing in ManagedSynergy, 156-157
    viewing properties for, in ManagedSynergy, 163-166
Project.Load() method, 144, 167
Project Page, ManagedSynergy, 137
Project-related primitives, 143
Projects
    building, using Visual Studio.NET, 213-214
    creation of new, in ManagedSynergy, 144-150
    opening existing, in ManagedSynergy, 138-144
projects.ascx control, 37
Project.Save() method, 149
Projects control, 43-44, 49, 50
Projects control user interface code, code behind, 44-46
projects subdirectory, 37
Projects table, 39-40, 54
Properties, 76, 109, 116-117, 197, 199, 241, 242
Properties Page, for ManagedSynergy, 163
Property of type cache, in System.Web.UI.Page, 268
PropertyPage.aspx file, 165-166
Property values, 116, 117
Proprietary information, over the Internet, 345
Proxy-stubs, 201
PTest method, 87
public access modifier, with C#, 83
Public assemblies, private assemblies versus, 202
Public key encryption technology, 345
Public Key Infrastructure, 20
Public keys, 221
Public members, 199
Publish() method, 159
Publisher policy, 223
PulseAll method, 229, 231
Pulse method, 229, 231
Punch-out, 355
Pup files, 355
Purchase order contract types, 13

Q
Quality of service (QoS), 355
QueryInterface, 182, 183, 184, 185, 186, 238, 337
Queued components, 7
Quote character, 103

R
Range validator control, 25
⁄r: command line, 212
ReadOnly property, 199
Receive function
    in BizTalk Messaging extensibility framework, 334, 335
    in BizTalk Messaging MSMQ, 374
ReceiveOrder orchestration port, 374, 375
Receive Ship Notice action, 377
Rectangular arrays, 104, 106
Redundancy, 16
Reference Architecture for Commerce: business-to-consumer, 355
Reference counting, 183
Reference parameter, 85, 88
Reference types, 125, 195
    in C#, 101-104
    literal values of, 102
    value types versus, 198
ReflectCheckedInState() method, 159
REGASM, 240
Register tag, 46
Rehydration, 347
Relational operators, in C#, 89, 90
Release function, 182, 183, 186
Reliability, 16, 19
Remote baskets, 355
Remote method invocation, 6, 71
Remote object invocation, 304, 307
Remote procedure call, 304
Remove function, 197
Remove method, 341
Render class, 265
Render() method, 165, 265
Request intrinsic, 59
Resource leaks, 227, 245
Response intrinsic, 59
Response object, 257, 259
Response.Redirect() method, 157
Response time, 16
Retail industry, people-oriented Web services in, 5
Retail solution site, 354
return statements, in C#, 94, 97, 98
Reusability, 73, 321
Review Page, for ManagedSynergy, 161
ReviewPage.aspx, code behind, 161-162
Reviews, submitting in ManagedSynergy, 160
Revision statues, in ManagedSynergy, 132
RMI. See Remote method invocation
Root element, of XML document, 309
Root nodes, XPath, 313
Roots, of application, 205
Roundtrip, 355
RPC. See Remote procedure call
Runtime. See also Common Language Runtime
    callable wrappers, 234
    components in Commerce Architecture, 349
    dynamic binding, 201
    exceptions, 104
    memory, 174
    .NET, 7-9
    for people-oriented programming, 5

S
SafeArrays, 197
Safe edits, 19
Saint-Exupery, Antoine de, 74
Save() method, 149, 154
SaveViewState method, 265
SAX, 314, 315
sbyte type, 96
Scalability, 8, 16, 19
Schedule compilation process, 327
Scheduler engine, 346
Schedules, 321, 327-328, 346
Script Component Binding Wizard, 325, 376
Script Component shape, 325, 368
Scripting code, disadvantages with, 288
Scripting functoids, 335, 338
Scripts, 63
SDim variable, 104
SDI windows. See Single document interface windows
SDK. See Software development kit
SDL, 318
Sealed classes, 103, 196
Secondary transports, 330
Secure sockets layer, 31
Secure transport, selecting, 346
Security, 7, 8-9, 19, 53, 61, 221, 379
    and BizTalk Messaging ports, 329
    Internet, 345
    within software architecture/design, 16
"Security Guard" People-Type, 17
SelectedItem property, 279
Selection statements, in C#, 95-96
Send Charge Failure action, 378
SendChargeFailure method, 378
Send message action, 323
SendOrder action, 375
Send Order Notification action, 375
SendOrderNotification call, 378
SendOrderNotification_In message, 377
SendOrderNotification method, 376
Send Ship Notice action, 378
SendShipNotice method, 378
Sensitive documents, storage of, 20
Sequential navigation processing, 314-315
Serialization, 135, 150
Serializers, 149, 333, 334
Server farms, 292
Server-side controls, 250, 271, 272, 276, 280
Server-side rendering, 263-264
Service contract transformation, 12, 13-14
Service description contracts, 5, 6, 10, 67-69
Service description language (SDL), and ASP.NET, 267
Service windows, 330
Session authentication cookies, removing, 49
Session configuration, 291-292
Session IDs, 289, 290, 291
Session property, 257
Session_Start handler, in GLOBAL.ASAX, 290
Session_Start method, 291
Session state, 289, 290-291
Session state management, and ASP.NET, 269-270
<sessionState> section, in WEB.CONFIG file, 261
SetAbort(), 324
Set block, 199
SetComplete(), 324
SetConfigData method, 337
SetContext method, 335
set() method, 117
SGML. See Standard Generalized Markup Language
Shared assemblies, 202, 203, 224
Shared components, 221, 222
Shared constructors, 200
Shared project files, with ManagedSynergy, 132
Shared queue database, and BizTalk Messaging, 328
Shared resources, virtual uniform resource locators stored to, 19
SHCreditCardLib COM component, 377
SHCreditCard Windows scripting component, 377
Shift operator, in C#, 89
ShipNotice.asp, 377
ShipNotice.xml, 377
Shipping notices, 364, 365, 377
Shopping carts, 269
SHOrderFailure component, 378
SHOrderOut message queue, 374
SHOrderOut queue, 359
Short-cut assignment operators, 90
Shortcuts
    adding to InternetJumpDB.xml file, 58
    and URLs, 54, 55
Short-lived transactions, 324, 346
short type, 96
ShortURL fields, 54
SHShipNotice component, 378
SHShipNoticeIn, 377
Side effects, 94
Signatures, 181, 187, 188
    of functions, 180
    method, 196, 199
    for Monitor.Enter and Monitor.Exit, 229
    for Pulse and PulseAll, 231
SignOut method, 49
SignUpBaton application, 32
SignUp_Click, 29
SimpleHelix B2C to B2B, 374
Simple Helix case study, 363
    business process definition, 365-366
    Commerce Server order-processing pipeline, 365
    commerce site status update and consumer notification, 375-377
    complete order fulfillment orchestration diagram for, 374
    credit card charges, 377-378
    delivery to outside vendor's BizTalk Server, 375
    integration with B2C site, 374-378
    miner's roadmap to, 364
    orchestration data flow, 376
    order fulfillment sequence diagram, 366
    and order-processing pipeline, 365
    order translation to outside vendor format, 375
    outside vendor BizTalk processing, 377-378
    port implementations, 366-373
    ship notice handling, 377
SimpleHelix via HTTP port, 377
Simple Mail Transfer Protocol, 330, 344, 345
Simple Object Access Protocol, 7, 12, 13, 53, 54, 55, 62, 63, 193, 211, 248, 250, 267, 304
    body, 317
    call and response pattern, 317
    description/purpose of, 315-316
    encoding of data types in, 317
    envelope, 316
    headers, 316-317
    message format, 317
    Microsoft implementations of, 318-319
    and .NET enterprise servers, 315-319
    proxies, 268
    RMI in, 307
    and Web services in .NET, 136
Single-dimensional arrays, 104, 106
Single document interface windows, 243
sked: moniker, 359
SKU. See Stock-keeping unit
SKV files, 361
SmallTalk, 75, 106
Smart phone, 72
Smart Web services, 53
SMTP. See Simple Mail Transfer Protocol
SN.EXE, 221
SOAP. See Simple Object Access Protocol
SOAP-ENV prefix, 316
[SoapMethod( OneWay = true)] attribute, 167
SOAP SDK 1.0, 318
SOAP 1.1 specification, 316
SOAP SDK 2.0, 319
Software, 78
    and backwards compatibility, 234
    binary, 194
    COM and integration of, 193
    component-based, 173
    dynamic composing of, 180
    Legos, 319, 321, 367
    people-oriented, 1-14, 71, 131, 171, 209, 211, 247, 270, 271, 304, 379
    reuse, 73
Software architecture/design, themes addressed by, 16
Software development kit, .NET, 213
Solution sites, Commerce Server, 354-355
S1 class variable, 87
SQL. See Structured Query Language
SqlConnection class, 31
SQL Server, 261
SQL Server databases, 328, 351, 352
SQL Server's Data Transfer Service, 352
SSL. See Secure sockets layer
Stack traces, 129
Standard Generalized Markup Language, 308
Start.aspx page, for Managed Synergy, 138, 139
Start.cs file, ManagedSynergy, code from, 140-142
Start Page, ManagedSynergy, 139
Start tags, 308, 309
Stateless protocols, 269
State management, 24, 271, 288-292
Statements, in C#, 91, 92-94
State persistence, 323
Statically linked libraries, 177
Static channels, 375
Static constructors, 109, 112
Static libraries, 172, 173-174, 176
Static members, 205
Static methods, 114, 115, 196
static modifier, 87
Static references, 223
Static reports, 354
static void Main() statement, 82
Stock-keeping unit, 355
Stock price updates, 11
Stored procedures
    for adding/retrieving projects, 39-40
    code for, 36-37
Strict compile option, in Visual Basic, 261
string class, in C#, 103
string expressions, 103
string type, 96
Strong names/naming, 203, 221, 224, 240
structs, 74, 198
    and C#, 125-126
    and SOAP, 317
Structured data exchange, 304, 306
Structured programming, 172
Structured Query Language, 29, 225
Submit method, 331, 359
SubmitSync method, 336
Subscribe() method, 120
Sun Microsystems, 53, 171
Sun ONE, 6, 53
Supplier Enablement Tool Kit, 355-356
Supplier-managed catalogs, 355
Supplier solution site, 354
Switch expression, 95, 96
SwitchPlayers method, 291
switch statement, in C#, 92, 95-96
Synchronization, 229-233, 234
Synchronous call methods, 63, 64, 66
System.Array, 197
System.Boolean, 195
System.CLSCompilantAttribute, 198
System.Data namespace, 29
System.Data.Sql-client namespace, 29
System.Delegate, 196
System.Enum, 195-196
System.Exception, 127
System.Int32, 195
System interoperability, 12-13
System namespace, 81
System.Object class, 193, 195, 200
System.Object.System.Object type, 194
System.OutOfMemoryException exception, 129
System.Reflection.Assembly.Load, 223
System.Runtime.InteropServices namespace, 234
System.String class, 103
System.Threading.Thread class, 228
System.ValueType class, 195, 200
System.Web.Caching.Cache class, 268
System.Web.HTTPApplication object, 289
System.Web.Http.Context class, 257
System.Web.Security namespace, 32
System.Web.Services.Description namespace, 10
System.Web.Services.Discovery namespace, 10
System.Web.Services namespace, 10
System.Web.Services.Protocols namespace, 10
System.Web.Services.WebService, 267
System.Web.UI. Page class, 251-257, 267, 268, 289, 294, 297
System.Web.UI.HTMLControls namespace, 276, 277
System.Web.UI.WebControls namespace, 277, 278
System.Xml namespace, 13, 67
System.Xml.Xsl namespace, 13

T
TAPI. See Microsoft Telephony API
Tap-out, 355
Targeting systems, Commerce Server, 352
TCP/IP. See Transmission Control Protocol/Internet Protocol
Temporary download cache, 222
⁄t:exe switch, 212
Text boxes, 22, 24
Text nodes, XPath, 313
this pointer, 186
Thread class, 228
Threading class, 231
Threads/threading, 190
    and CLR, 207, 227-234
    creating, 227-229
    suspension of, in CLR, 205
Throughput, 16
Throw statements, in C#, 94, 97, 98-99
Tic-Tac-Toe game. See WebTacToe
Timed transactions, 324
Timeouts, specifying, 232
TimeSpan, 232
TLBEXP, 208-209
TLBEXP.EXE, 236, 238-240
TLBID, 240
TLBIMP, 208-209, 236-238
    .NET assembly metadata resulting from running type library through, 237
⁄t:library switch, 212
⁄t:module switch, 212, 213
ToObject function, 196
ToString function, 194, 197
ToString() method, 103
<trace> section, in WEB.CONFIG file, 261
Tracking database, and BizTalk Messaging, 328
Transaction processing, 7
Transaction servicing, 191
Transaction shape, 324
Translation, 5, 14, 21, 69, 171, 379
    and ASP.NET, 247, 298-299
    of baton metadata, 66-69
    BizTalk Messaging, 333
    and C#, 79
    and ManagedSynergy, 136-137
    and .NET, 12-14, 302, 361
    and order fulfillment case study, 363
    and People-Types, 16, 18
Translation design, 62-69
    and baton metadata translation, 66-69
    and baton synchronization, 62-66
    with InternetBaton Application, 62-69
Transmission Control Protocol/Internet Protocol, 12
Transport protocols, with BizTalk Messaging, 344
Transports
    BizTalk Messaging, 330
    custom, 336-337
try block, 169
try-catch block, 99, 154
try-catch pair, 99
TryEnter method, 229
try statements, in C#, 94
⁄t switch options, 212
⁄t:winexe switch, 212
Two-dimensional jagged arrays, 105
Two-dimensional regular arrays, 105
Type boundaries, 200
Type conversion, 107
Type definitions, and assemblies, 200
typedef, 178, 194
Type fields, 199
Type harmony, in C#, 106-107
Type information, 191
    and IDL, 189-190
    and manifest, 201
Type libraries, 209
Type library identifier, 240
Types
    in C#, 99-107
    fundamental to CLR, 194
    mapping of, to C#, 198-199
Type safety, for array-based memory access, 197
TYPETEST, 219
manifest of, as seen through ILDASM, 217
TYPETEST assembly
    client of, as seen through ILDASM, 220
    ILDASM peering into, 216
TYPETEST client, alternative probe paths defined for, 223
TYPETEST component, ILDASM's view of, after being signed, 222
TYPETEST.DLL, 215, 216, 218
Typing, 180

U
UDDI. See Universal discovery, description, and integration
uint type, 96
ulong type, 96
UML. See Unified Modeling Language
Unary operator, in C#, 89
Unboxing, 107, 198
UNICODE format, 356
UnicodeMessageBox method, 235
Unified Modeling Language, 321
Uniform resource identifiers, 144, 250, 311, 312
Uniform resource locators, 20, 21, 138, 248, 289, 375
    and InternetJump service, 54
    redirection capabilities for, 54, 60, 61
    virtual, 19, 21
    and XPointer, 313
Uninitialized variables, 85
Universal discovery, description, and integration, 12, 53
Universal Discovery, Description, and Integration Project, 11
Universality, and ASP.NET, 299
Universalization, 4-5, 14, 69, 171, 379
    and ASP.NET, 247
    and C#, 77-78
    and ManagedSynergy, 134-135
    and .NET, 6-9, 301, 361
    and order fulfillment case study, 363
    and people-types, 16, 18
Universalization design
    authentication and authorization of users, 31-37
    and creation of new baton projects, 37-50
    for InternetBaton Application, 21-50
    sign-up page with entry validation, 22-31
Unmanaged function pointers, 197
Unmanaged pointers, 197
Unsubscribe() method, 120
URIs. See Uniform resource identifiers
URLs. See Uniform resource locators
Usage tracking, 350, 351
User-defined product types, 352-353
User-defined value types, 195
User.Identity.Name property, 49
User interface controls, and the Web, 271-279
Users
    authentication and authorization of, 31-37
    profiles of, 351
ushort type, 96
using directive, 84
using system, 81

V
Validation, 373
Validation controls, 139, 145
validationexpression attribute, 145
Validation summary control, 25, 26
Validity, 310
Value-added networks, 303
Value parameter, 85, 87
Value property, 276, 279
Value types, 125, 199
    in C#, 99-101
    in CTS, 195, 198
    literal values for, 100
Value wrapper, 106, 107
VANs. See Value-added networks
Variables, in C#, 85-88
VARIANT, 192, 193
VBC.EXE, 212
VBScript, 249, 323
Vectors, 197
VersionChanged() method, 166, 167
VersionChanged() Web service method, 166
Version control, assemblies and representation of, within .NET, 201
Version independence, 77
Version information, and TLBEXP, 240
Versioning, 245
    and deployment, 218-221
    and loading assemblies, 223-224
"View" callback, code-behind, 157
VIEWSTATE code, 275
virtual keyword, 108
Virtual Machine, 171
Virtual methods, 108, 196, 197
Virtual URLs, 62, 63
Visio, 321, 327, 361
Visual Basic, 135, 190, 191, 192, 194, 198, 209, 214, 241, 249, 335, 336, 337
    arrays defined by, 197
    type information used by, 201
    value types in, 195
Visual Basic.NET, 211, 242, 271, 288, 299, 305
Visual C++, 214, 335, 336, 337
Visual recognition, 7
Visual Studio, 135, 201
Visual Studio 6.0, 318
VisualStudio.NET, 10, 22, 32, 37, 55, 127, 142, 218, 243, 245
    projects built using, 213-214
    and SOAP, 319
    and Web forms, 280-288
VisualStudioProject, 37-39
VM. See Virtual Machine
Voice recognition, 7

W
Wait method, 229
WAM. See Web application manager
Web. See World Wide Web
Web application manager, 269
Web applications, state management for, 288-292
WebBaton project, 58
Web browsers, 24
WEB.CONFIG.ASP.NET, 260
WEB.CONFIG file, 297, 298
    <authentication> section in, 260
    <authorization> section in, 260
    <browserCaps> section in, 261
    <compilation> section in, 261
    <customErrors> section in, 260
    entries for sessionState section of, 292
    <globalization> section in, 261
    <httpHandlers> section in, 261
    <httpModules> section in, 260
    <identity> section in, 260
    <pages> section in, 261
    <processModel> section in, 261
    <sessionState> section in, 261, 291
    <trace> section in, 261
WebControl class, 272
Web controls, 271, 272, 275, 277-279
Web Distributed Authoring and Versioning (WebDAV), 329, 337, 342, 344, 375
Web Farms, 292
WebForm1.aspx.cs file, 21, 25, 26-28
Web forms, 250, 271
    and ASP.NET, 262
    controls, 263, 264
    and Visual Studio.NET, 280-288
Web log import process, 353
WebMethod attribute, 10, 127, 167, 267
Web methods, 267, 268, 304
WebRequest class, 144, 168
Web service description contracts, industry-specific, 13
Web service discovery, 10
Web service interoperability, 53
Web services, 78, 167, 169, 250, 326
    and ASP.NET, 266-268
    collaboration among, 53
    and dynamic status updates, 166
    InternetBaton application and collaboration with, 50
    InternetBaton integrated with other, 54-61
    .NET and development of, 304
    people-oriented, 4, 5, 9
Web services description language, 10, 12, 53, 307, 318, 319
Web services meta language, 319
Web sites
    and ASP.NET, 248
    dynamic, 248
WebTacToe
    GLOBAL.ASAX file for, 289-290
    playing board, 280
    source code for, 281-287
WebTacToeForm, 291
Web tap, 355
Well-formed documents, 310
What-you-see-is-what-you-get design support, 22
While shape, 323
while statement, in C#, 92, 96
Windows, 31, 172, 174, 208, 209-210
Windows CE machines, 263
Windows DNA. See Microsoft Windows Distributed interNet Applications Architecture
Windows forms, 241-244, 245
    drawing program using, 242-243
    event handling, 244
    Form class, 242-243
    graphics and rendering, 244
WINDOWS.H, 212
Windows 98, CLR version on, 204
Windows NT
    CLR version on, 204
    and preemptive multitasking, 207
Windows NT Challenge/Response, 8
Windows Scripting Component, 325, 367
Windows Server, 5
Windows 2000, 201
    CLR version on, 204
    COM+ in, 192
WinForm class, 242
WinInet, 7, 330
WinMain function, 241
Win32, 7, 178, 190, 191, 227, 229, 327-328
Win32MessageBeep, 235
Wireless connectivity, 7
Wireless phones, 304
Wizard code generators, 214
WM_PAINT message, 244
WndProc function, 241
WndProcs coding, 241
WordPerfect, 173
Workflow, 320
World Wide Web. See also Internet
    metamorphosis of, 248
    user interface controls and, 271-279
World Wide Web Consortium (W3C), 13, 312
"Write once-run anywhere," 171
WriteOnly property, 199
WSC. See Windows Scripting Component
WSDL. See Web services description language
WSML. See Web services meta languages
W3C Extended Web Log File format, 353
WYSIWYG design support. See What-you-see-is-what-you-get design support

X
xCBL, 355
XCOPY, 202, 203, 219
XDR. See XML data-reduced schema
XLANG, 321, 327, 346
    and BizTalk Server Orchestration, 307
    schedule file, 368
    scheduler, 370
XLink, 313
xlink:activate attribute, 313
xlink prefix, 313
xlink:role attribute, 313
xlink:show attribute, 313
xlink:title attribute, 313
XML. See eXtensible Markup Language
XML Communication Wizard, 326, 344, 370, 371
    message information, 371
    message specification information, 373
    message type information, 372
    translation information, 372
XML data-reduced schema, 329, 345
XmlNavigator, 13
xmlns attribute, 312
XML parsers, 308
XmlReader, 13
XML Specification, design goals listed in, 308
XPath, 313
XPointer, 313-314
XSL. See Extensible style language
XSLT. See Extensible style language transformation
XslTransform class, 13

Y
YourLib, 216
yourlib.dll, client applications, linking to, 179

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020