Information in this document is subject to change without notice. Companies, names, and data used in examples herein are fictitious unless otherwise noted. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of ARIS Corporation or Microsoft Corporation.
Ó 1998 ARIS Corporation and Microsoft Corporation. All rights reserved.
Printed in the United States of America.
All trademarks referenced are the property of their respective owners.
Contents
Module 0: Introduction
Introductions xi
Course Outline xii
Module 1: Platform Overview
Overview 3
Windows NT Architecture Overview 4
Windows NT Executive 5
User Mode versus Kernel Mode 6
The Windows NT Executive 7
The Windows NT Memory Model 8
Applications View of Memory 9
Pagefiles 10
Process 11
Processes and Threads 12
Thread States 14
Scheduling 15
Thread Scheduling 17
Multiprocessor Thread Scheduling 18
Multitasking 19
Preemptive versus Non-Preemptive Multitasking 20
Synchronizing Access to Data 22
NT Architecture Review 23
Windows Applications 24
Running Applications 25
Windows Device Drivers 27
Win32 Application Programming Interface 28
Demonstration: Creating a Message Box 30
COM / DCOM 32
Defining COM 33
COM Objects 35
Globally Unique Identifiers 37
Distributed COM 38
Windows Applications Review 40
NT/UNIX Interoperability 41
Supporting POSIX Applications 42
Network Connectivity and Services 43
Cross Platform File Sharing 44
Demonstration: POSIX 46
Distributed Business Applications 47
Printing Interoperation and Integration 49
Systems and Network Management 50
Services vs. Daemons 52
Routing and Remote Access Service 55
Application Migration/Integration 57
NT/UNIX Interoperability Review 59
NT 5.0 Features 61
Manageability 62
Developing and Deploying Applications 65
Scalability and Availability 67
For More Information 69
NT 5.0 Features Review 70
Module 2: NT System Fundamentals
Overview 73
Configuring Windows NT 74
Registry Overview 75
Components Using the Registry 76
The Hierarchical Structure of the Registry 77
Registry Subtrees 78
HKEY_LOCAL_MACHINE 79
Using the Registry Editor 80
Demonstration: Registry Editor Commands 81
Control Panel Hardware Settings 82
Managing Hardware Profiles 83
Configuring Network 85
Configuring COM Ports 86
Configuring the Display 87
Configuring SCSI Adapters and Tape Devices 88
Configuring the UPS 89
Configuring PC Card Devices 90
Control Panel Software Settings 91
Changing Startup and Shutdown Settings 92
Configuring Virtual Memory 93
Setting Environment Variables 95
Adding and Removing Windows NT Components 97
Management Tools - Architecture 98
Key Management Tools 99
Demonstration: User Manager 100
Demonstration: NT Explorer 103
Demonstration: Event Viewer 105
Demonstration: Server Manager 107
Demonstration: Network Monitor 108
Demonstration: Performance Monitor 110
Demonstration: Task Manager 112
Demonstration: Disk Administrator 113
RAID Systems 114
Hardware and Software Implementation of RAID 115
RAID 1: Mirror Sets 116
RAID 5: Stripe Sets with Parity 118
Implementing RAID 1 and RAID 5 119
Key Files and Directories 120
Demonstration: Key Files and Directories 122
For More Information 123
Review 124
Lab 2: NT System Fundamentals 126
Module 3: Application Development
Overview 129
Microsoft Development Tools 130
Visual C++ 131
Visual J++ 133
Visual Basic 135
Visual InterDev 137
Visual FoxPro 138
Applications and the Windows Architecture 140
Understanding Windows Architecture 141
Anatomy of a Windows-Based Application 144
The Big Picture 147
The Win32 Application Programmers Interface (API) 148
Window Management 149
Window Controls 151
Shell Features 152
Graphic Device Interface (GDI) 154
System Services 155
International Features 157
Network Services 158
Microsoft Foundation Classes (MFC) 159
MFC Overview 160
The MFC Class Hierarchy 162
Documents, Views, and the Application Framework 164
Document/View Architecture 165
SDI and MDI Applications 166
Non-Document/View Architecture 168
Messages 169
Component Object Model (COM) 171
Component Object Model Architecture 173
Explaining The Component Object Model 174
Inter-Object Communication 176
The Role of Interfaces in COM 177
COM Objects and Interfaces 178
Interfaces and Interface Implementations 179
Interface Pointers and Interfaces 181
IUnknown and Interface Inheritance 183
Security 185
Marshaling 186
Defining Interfaces 187
COM Locality 188
Standard Marshaling 190
Custom Marshaling 192
Proxies and Stubs 194
Automation 195
Benefits of Automation 196
Terminology 198
IDispatch 199
Type Libraries 202
Memory Layout of Dual Interfaces 205
ActiveX and ATL 206
Software Development Kits (SDKs) 209
Microsoft Solutions Framework 215
For More Information 218
Review 219
Lab 3: Application Development 220
Module 4: High Volume/Scalable Application Development
Overview 223
Microsoft Distributed Application Infrastructure 224
Distributed Applications 225
DCOM 227
DCOM 228
DCOM Overview 229
DCOM Features 231
DCOM and RPCs 234
Installing and Configuring DCOM 235
Installing DCOM 236
DCOM Configuration Options 237
General Configuration 238
Security Configuration 239
Location Configuration 240
Identity Configuration 241
DCOM and CORBA 242
Demonstration: DCOM Component Creation & Configuration 243
Microsoft Transaction Server 244
Microsoft Transaction Server 245
Microsoft Transaction Server Model 247
Elements of a Transaction 248
Microsoft Transaction Server Features 250
Simplified Application Server Development 251
Reliable Application Environment 253
Flexible Deployment Choices 254
ActiveX Components and MTS 256
Demonstration: Microsoft Transaction Server 259
Microsoft Message Queue Server 260
Microsoft Message Queue Server 261
Overview of Microsoft Message Queue Server 262
Extending MTS with Microsoft Messaging Queue 264
MSMQ Objects 265
Microsoft Cluster Server 266
Microsoft Cluster Server 267
Overview of Microsoft Cluster Server 268
Clustering Terminology 269
Clustering Benefits 271
Cluster Implementation Models 272
Resources and Tools 274
DDK 275
The Microsoft Platform Software Development Kit (SDK) 276
MSDN 289
Tools: VTUNE 290
Demonstration: VTUNE 292
Tools: SDK 293
For More Information 297
Review 299
Lab 4: High Volume/Scalable Application Development 300
Module 5: Networking and Web Application Development
Overview
NT Network Architecture 304
WinSock 306
Network Device Interface Specification (NDIS) 308
Windows Terminal Server 310
Internet Information Server Architecture 314
Inetinfo Process 315
Connectors 317
Web Services 318
Application Services 320
Administration Architecture 322
Developing Web Applications Using Visual InterDev 323
Developing a Web Project 324
Creating a Web Project 325
Working with Files 328
Authoring Active Server Pages 331
Creating HTML Forms 334
Demonstration 338
Objects on Web Pages 339
Active X Controls 340
Java Applets 344
Client Side Scripts 348
Client vs. Server Scripting 349
Scripting Languages 351
The <SCRIPT> Tag 354
Controlling Objects 356
Using Active Server Pages 358
Introduction to Active Server Pages 359
HTTP Protocol 361
Web Applications 362
Intrinsic Objects 364
The Request Object 365
The Response Object 367
Saving User Information 369
The Server Object 372
For More Information 374
Review 375
Lab 5: Networking Applications 377
Lab Manual
Index