Register your product to gain access to bonus material or receive a coupon.
"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.
Click below for Sample Chapter related to this title:
soresench7.pdf
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.
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.
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.
ManagedSynergy.
The Vision.
The Functionality.
The Design.
The Implementation.
Conclusion.
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.
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.
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.
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.
.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.
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.
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.
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