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

Application’s 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 Programmer’s 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