Understanding Microsoft Windows 2000 Distributed Services

Understanding Microsoft Windows 2000 Distributed Services

Paperback

$26.19 $29.99 Save 13% Current price is $26.19, Original price is $29.99. You Save 13%.

Temporarily Out of Stock Online

Eligible for FREE SHIPPING

Overview

Understanding Microsoft Windows 2000 Distributed Services by David Chappell

Programmers and technical managers get a clear overview of Microsoft Transaction Server, the keystone to the service technologies that Microsoft is developing on top of Windows 2000. This readable, cogent overview of MTS architecture and related services also provides a clear understanding of how these technologies fit together in an enterprise's application strategies.

Product Details

ISBN-13: 9781572316874
Publisher: Microsoft Press
Publication date: 10/13/1999
Series: Developer Technology Series
Pages: 448
Product dimensions: 7.08(w) x 8.97(h) x 1.24(d)

About the Author

David Chappell BA(Hons Arch), MA(Arch), MA(Law), PhD, RIBA has worked as an architect in the public and private sectors and is currently the Director of David Chappell Consultancy Ltd. He frequently acts as an adjudicator and is author of ten books on construction law for Blackwell Publishing.

Read an Excerpt


Chapter 1: The Windows 2000 Distributed Environment

What’s required to build an effective distributed environment? What does it take to transform a group of individual computers into a usable, manageable whole? Over the last twenty years or so, we in the computer industry have had plenty of experience with this problem, and perhaps the most important thing we’ve learned is that answering these questions is not simple. Distributed environments pose a number of difficult problems.

First, a distributed environment requires some kind of distributed infrastructure, complete with the services needed to make that environment usable. How is information about the people, computers, and applications in the environment made available? How are the services and information a distributed environment provides made accessible to the right users, yet kept inaccessible to the wrong users? Second, a distributed environment should allow the creation of distributed applications. Doing this well requires solving yet another set of hard problems. For example, how should these diverse pieces of software communicate? How will they find one another? How can scalable applications be created, applications that support many simultaneous users, Web-based and otherwise? Finally, an effective distributed environment implies the ability to manage a potentially large number of applications, computers, and users, spread around a building, a campus, or the entire world. Distributed management brings its own set of challenges that must be solved to create a workable environment.

Successfully creating an effective distributed environment requires using the right distributed services. MicrosoftWindows 2000, the successor to Windows NT 4.0, includes the most powerful group of distributed services ever bundled with a mainstream operating system. While similar services have been available from various vendors (including Microsoft) for several years, the release of Windows 2000 marks the first time a complete set has been made a standard part of the system. Accordingly, deploying Windows 2000 in all but the simplest configurations requires using the distributed services it includes. The goal of this book is to help you understand what those services are, what they have to offer, and how they fit together.

Defining Distributed Services

What exactly is a distributed service? Answering this question requires thinking first about how networks are organized. Nearly all networks today use several protocols simultaneously, organizing them into layers as shown in Figure 1-1.1 As the figure shows, the bottom layer contains various kinds of subnetworks, which are just ways to physically move bytes between machines. Example subnetworks include local area networks (LANs) such as Ethernet, wide area networks (WANs) such as frame relay networks, and various kinds of point-to-point connections such as T-1 and T-3 lines.

Figure 1-1 A typical network today organizes its protocols into layers.

Most organizations use several different kinds of subnetworks, so the next layer in the stack houses a protocol capable of routing data across diverse subnetworks. This function is commonly called internetworking, and the most widely used choice for this protocol today is the Internet Protocol (IP). But IP, like most internetworking protocols, is unreliable-it might lose some of the data it’s transferring. Accordingly, the transport layer protocol above it can add reliability, guaranteeing that whatever data is sent actually arrives at its destination. Not every application needs this reliability, though, so simpler transport layer protocols also exist that don’t guarantee delivery. Today’s most common choice for a reliable transport protocol is the Transmission Control Protocol (TCP), while the most popular choice for an unreliable transport protocol is the User Datagram Protocol (UDP).

The protocols described so far collectively provide a way to move bytes, perhaps reliably, between machines connected to any kind of subnetwork. If you’re a masochist, you can build a bare-bones distributed environment using only the services these protocols provide. For example, distributed applications can be built that access the transport protocol’s services directly through an application programming interface (API) named sockets. In the Microsoft environment, this API is called Windows Sockets or, more often, just Winsock. Winsock-based applications can be simple and fast, and plenty of them exist.

Yet creating an application directly on a transport protocol can be a little challenging-all the developer has to build on is a way to move bytes between machines. Trying to create a true distributed environment with only a basic byte transfer service to work with is nobody’s idea of a good time. Instead, distributed services built on top of some transport protocol can underlie an application and provide an infrastructure for a distributed environment. Because distributed services are implemented between-that is, in the middle of-a distributed application and the transport layer, they’re sometimes called middleware. Whatever they’re called, however, a powerful set of distributed services helps immeasurably in building an effective distributed environment.

What should those distributed services be? Reasonable people can disagree on the answer, but it’s sometimes useful to think of the essential distributed services as falling into two broad categories:

  • Infrastructure services  This category includes directory services that make it easier to find resources in a distributed environment and security services that control access to information and services in that environment. One might easily argue that many other technologies also fall into this category, but to keep this book to a manageable length, I’ve chosen to focus on directory and security services.

  • Application support services  The group of services in this category support building distributed applications using remote procedure calls (RPCs), message queuing, or Web-based access via the Hypertext Transfer Protocol (HTTP). This category also includes services that make it easier to build more scalable and correct distributed applications, such as services for performing transactions involving multiple databases.

Some of the distributed services in Windows 2000 have been part of earlier releases of Windows NT, while others are new with this most recent version. Whatever their genesis, these technologies as a group comprise a powerful, well-integrated set of services that offers a solid foundation for building a distributed computing environment.

Infrastructure Services

In any distributed environment, many services can be considered part of the infrastructure. A distributed file service that allows access to files on other machines is very nice to have, for instance, as is some way to submit work to remote printers. But because they’re new in this release and because they solve critical problems, two infrastructure services are of paramount importance in Windows 2000: directory services and distributed security services.

Directory Services

By definition, a distributed environment has users, applications, and computers scattered about. To effectively use the environment’s resources, each of these must be able to find the required resources when they’re needed. One part of a distributed application, for example, might need to find another part running on a different system. Printers might be scattered in various places, yet still must be accessible to users of the environment. And each of those users should be able to log in from any of a number of workstations and still be presented with his or her own familiar environment, which requires finding information about each user’s personal preferences.

All of these things and more can be accomplished using a directory service. The most widely used directory service in data networks today is the Domain Name System (DNS), and Windows 2000 makes extensive use of DNS. But Windows 2000 also includes Active Directory, a wholly new directory service that implements the Lightweight Directory Access Protocol (LDAP). To see how DNS and Active Directory work together, it’s useful to first take a look at how domains are organized in Windows 2000.

Domains in Windows 2000  Like earlier versions of Windows NT, Windows 2000 allows grouping users and computers into domains. Using domains is not required, of course, and not all computers or users belong to a domain, but to fully use Windows 2000’s distributed services, domains are all but obligatory. Figure 1-2 shows an example Windows 2000 domain installed at a fictitious financial services firm called QwickBank. Although a domain can mix Windows 2000 systems with computers running Windows 9x or older versions of Windows NT-a subject that’s discussed in more detail in Chapter 2-this example assumes that the domain is purely Windows 2000...

Table of Contents

Forewordvii
Prefaceix
Chapter 1The Windows 2000 Distributed Environment1
Defining Distributed Services2
Infrastructure Services5
Application Support Services14
Managing Distributed Services25
Using Windows 2000 Distributed Services26
Chapter 2Directory Services33
Defining Directory Services34
DNS in Windows 200035
Understanding Active Directory39
An Example Use of Active Directory: Group Policy70
Upgrading to Active Directory79
Chapter 3Distributed Security Services: Kerberos83
Distributed Security in Windows 200083
Understanding Kerberos88
Chapter 4Distributed Security Services: Public Key Technology117
Understanding Public Key Technology118
Managing Public Key Technology in Windows 2000133
Understanding SSL152
Using Public Key Technology with Kerberos163
Chapter 5Component Services: COM and DCOM167
Understanding COM Objects167
Threads and Apartments190
Marshaling193
Distributed COM197
Chapter 6Data Access Services205
Open Database Connectivity206
OLE Database208
ActiveX Data Objects209
Related Technologies for Accessing Data235
Chapter 7Distributed Transaction Services239
The DTC Environment240
Two-Phase Commit242
A DTC Example246
Other Topics250
Chapter 8Component Services: COM+259
From COM to COM+260
COM+ Basics263
Automatic Transactions270
Object Lifetime Services289
Concurrency Services300
Security Services304
Other COM+ Technologies310
Chapter 9Message Queuing Services329
When to Use Message Queuing330
MSMQ Basics332
Understanding Queues335
Understanding Messages340
Accessing MSMQ347
MSMQ Security Services353
MSMQ and Transactions357
Routing in MSMQ364
Connecting MSMQ to Other Systems366
Chapter 10Web Application Services369
Web Basics371
IIS Basics377
Understanding CGI381
Understanding ISAPI382
Understanding ASPs385
Using XML408
Load Balancing415
Final Thoughts418
Index421

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews