Ebook: OSF Distributed Computing Environment - Understanding DCE
- Genre: Computers // Information Systems
- Tags: DCE OSF Digital Equipment Corporation
- Year: 1993
- Publisher: O’Reilly & Associates
- City: Sebastopol CA 95472
- Edition: 2
- Language: English
- pdf
+---------------------------------------------------------+
|OSF Distributed Computing Environment - Understanding DCE|
+---------------------------------------------------------+
Ward Rosenberry, David Kenney, Gerry Fisher, Digital Equipment Corporation
Cover design by Edie Freedman
Cover illustration by Chris Reilley
Copyright © 1992 O’Reilly & Associates, Inc. All rights reserved.
Printed in the United States of America.
Editor: Any Oram
September 1992: First Edition.
May 1993: Minor corrections.
O’Reilly & Associates, Inc.
103 Morris Street, Suite A
Sebastopol CA 95472
ISBN: 1-56592-005-8
Preface
=-=-=-=
Part 1: Components
=-=-=-=-=-=-=-=-=-=
Chapter 1 - DCE: The Network as Computer
---------------------------------------
1.1 DCE Addresses Many Distributed Computing Issues
1.1.1 DCE Harnesses Latent Computing Power
1.1.2 DCE Increases Availability
1.1.3 DCE Facilitates Collaborative Work and Minimizes Storage Limitations
1.1.4 DCE Services Track Data and Programs that Move Around
1.1.5 DCE Accommodates Heterogeneous Data
1.1.6 DCE Helps You Maintain Distributed Applications
1.1.7 DCE Helps Synchronize Events
1.1.8 DCE Protects Distributed Resources
1.2 DCE Is Based on the Client/Server Model
1.2.1 A General Nondistributed Computing Model
1.2.2 Distributed Computing Models
1.2.3 The Client/Server Computing Model
1.2.4 Client and Server Are Relative Terms
1.2.5 Client/Server Communications
1.3 DCE: A Model for Distribution
1.4 A Look at DCE Application Programming Interfaces
1.5 DCE Is a Good Start
1.5.1 Component Availability
1.5.2 Administration
1.5.3 Documentation
1.5.4 Performance
1.5.5 Support for Object-oriented Programming
1.5.6 Support for Message Queueing
1.5.7 Support for Transaction Processing Applications
1.5.8 Compatibility with Standards
1.5.9 Internationalization
1.6 Who Will Use DCE?
1.7 What Next?
Chapter 2 - Cells: The Domain of the Distributed Environment
-----------------------------------------------------------
2.1 What Is a Cell?
2.1.1 Purpose
2.1.2 Administration
2.1.3 Security
2.1.4 Overhead
2.2 Each Cell Has a Set of DCE Services
2.2.1 DCE Services Enable Distributed Operation
2.2.2 DCE Software Configurations for Clients and Servers
2.2.3 Some DCE Cell Examples
2.3 Cells and Naming
2.3.1 How Cells Determine Naming Environments
2.3.2 Names Outside of the DCE Directory Service
2.3.3 Summary of Names
2.4 Cell and LAN Profiles Point to DCE Services
Chapter 3 - Remote Procedure Call: The Foundation of Distributed Computing
--------------------------------------------------------------------------
3.1 Distribution Builds on the Concept of a Local Application
3.1.1 Local Procedure Call Behavior
3.1.2 Remote Procedure Call Behavior
3.2 The Development Process Enables Distribution
3.3 Interface Definitions Enable Client and Server Interaction
3.4 Binding: How a Client and Server Find Each Other
3.4.1 The Directory Service Identifies Server Hosts
3.4.2 The Endpoint Map Identifies Servers
3.4.3 Server Initialization Lays a Path for Clients
3.4.4 Clients Follow the Path to Servers
3.5 Executing the Remote Procedure Call
3.6 Using, Administering, and Programming RPC
Chapter 4 - Threads: Improving Program Performance
--------------------------------------------------
4.1 What Is DCE Threads?
4.2 Using Threads
4.3 Why Use Threads in an Application?
Chapter 5 - DCE Security Service: Protecting Resources
------------------------------------------------------
5.1 Authentication and Authorization
5.1.1 Passwords Ensure Authenticity
5.1.2 Privilege Attributes Convey Verifiable Identities
5.1.3 Access Control Lists Protect Resources
5.1.4 Special Accounts Enable Intercell Authentication
5.2 The Security Services Resist Tampering
5.2.1 Life Spans Protect Security Information from Illegitimate Use
5.2.2 Frequent Key Substitution Protects Secret Keys
5.2.3 Encryption Ensures Data Authenticity, Privacy, and Integrity
5.2.4 Secure Hosts Protect Security Servers
5.3 Groups and Organizations Simplify Security Management
5.4 How People Interact with the DCE Security Service
5.4.1 Using the DCE Security Service
5.4.2 Administering DCE Security
5.4.3 Administering Access Rights for Applications
5.5 DCE Security in Action
5.6 Programming the DCE Security Service
Chapter 6 - DCE Directory Service: Locating Resources
-----------------------------------------------------
6.1 The Directory Service Controls the Naming Environment
6.2 The Naming Environment Maps Names to Resources
6.2.1 CDS Names Correspond to CDS Directories and Object Entries
6.2.2 Distribution Ensures Access to Directories
6.2.3 Child Pointers Link the Name Environment Together
6.2.4 Soft Links Customize a Name Environment
6.2.5 Object Attributes Define Resources
6.2.6 Putting the Parts Together
6.2.7 Update Operations Keep Name Information Current
6.2.8 DCE Security Protects Directory Service Information
6.3 The DCE Directory Service Uses the Client/Server Model
6.3.1 Caching Improves Performance
6.3.2 Clerks Find CDS Servers in Several Ways
6.4 CDS in Action
6.4.1 A Simple Lookup Example
6.4.2 A Complex Lookup Example
6.4.3 A Deeper Look at CDS
6.5 Communicating with a Foreign Cell
6.6 How People Interact with the DCE Directory Service
6.6.1 Using the DCE Directory Service
6.6.2 Administering the DCE Directory Service
6.6.3 Programming with the DCE Directory Service
Chapter 7 - DCE Time Service: Synchronizing Network Time
--------------------------------------------------------
7.1 How Does DTS Work?
7.2 DTS Time Is Cellwide
7.3 Synchronizing Cell Time with External Time Sources
7.4 Using DTS
7.5 Administering DTS
7.6 Programming with DTS
Chapter 8 - DCE Distributed File Service: Providing Cellwide Access to Files
----------------------------------------------------------------------------
8.1 Some Good Reasons to Use DFS
8.2 DFS Is a Comprehensive File System
8.2.1 The DCE Local File System Can Coexist with a Host’s Native File System
8.2.2 DFS Acts on Groups of Files Called Filesets
8.2.3 DFS Tracks Files as They Move
8.2.4 DFS Locates and Backs Up Filesets
8.2.5 DFS Protects Files Using DCE Access Control Lists
8.2.6 DFS Protects Its Servers by Using DFS Distributed Security
8.2.7 DFS Ensures Server Software Consistency
8.2.8 DFS Simplifies Management Using Administrative Domains
8.2.9 DFS Clients Use Caching to Speed Operations
8.2.10 DFS Clients Can Include Diskless Workstations
8.3 How DFS Works
8.4 DFS Files Connect to the Larger World
8.5 How People Interact with the DCE Distributed File Service
8.5.1 Using the DCE Distributed File Service
8.5.2 Administering the DCE Distributed File Service
8.5.3 Writing Programs that Use DFS Programming Interfaces
Chapter 9 - A Look at Writing DCE Applications
----------------------------------------------
9.1 Designing Your Client/Server Application
9.1.1 Developing a Comprehensive User Model Is Critical
9.1.2 What is the job and how will your application facilitate work flow?
9.1.3 What resources do you require and where are the resources located?
9.1.4 How can you connect groups of people effectively the resources they need to do their jobs?
9.1.5 A Client/Server Application Is a Series of Related Mini-applications
9.1.6 Take Cell Configuration and Network Topology into Consideration
9.1.7 The Level of Security Is Up to You
9.1.8 A Well-Designed Interface Aids Scalability and Maintainability
9.1.9 Threads Present New Challenges to Application Designers
9.2 Implementing Your Client/Server Application
9.2.1 Coding Your First DCE Client/Server Application
9.2.2 Creating a Production-Ready Application
9.2.3 Distributing Existing Code
9.3 DCE Programming-language Considerations
9.4 What Next?
Part II: Configuration and Management Considerations
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Chapter 10: Getting Started with DCE
------------------------------------
10.1 Low Impact on Physical Network Components
10.2 Low Impact on Non-DCE Users
10.3 You Can Choose Your Own Pace
10.4 DCE Implementations Permit Planning in Stages
10.5 DCE Is Dynamic
10.6 Where We’ll Go from Here
Chapter 11: Determining Your Cell’s Boundaries
----------------------------------------------
11.1 Factors that Influence the Boundaries of a Cell
11.2 For Whom the Cell Tolls — And Why?
11.3 What Are Your Security Requirements?
11.3.1 Authentication Across Cells
11.3.2 Repairing a Breach of Your Cell’s Security
11.4 What Are Your Projected Administrative Requirements?
11.5 How Will DCE Affect Computing and Network Overhead?
Chapter 12: Initial Cell Configuration Guidelines
-------------------------------------------------
12.1 Choosing a Name for Your Cell
12.1.1 GDS or DNS?— You’ve Got to Pick One
12.1.2 Cell Names are Difficult to Change
12.1.3 The Cell Name You Choose Must Be Unique Within Your Organization
12.1.4 Get In-House Approval for Your Cell Name Before You Register
12.1.5 Caveats for Naming Isolated Cells
12.2 Configuring DCE Server and Client Systems
12.2.1 Reasons to Configure DCE Core Services on One System
12.2.2 Reasons to Disperse DCE Core Services from the Start
12.2.3 Configuring Client-only Systems
12.2.4 Configuring DFS
12.2.5 Configuring GDS
Chapter 13: Setting Up Security in a New Cell
---------------------------------------------
13.1 Default Access Controls Created by Cell Initialization
13.1.1 The cell_admin Principal Has Unlimited Access to Everything
13.1.2 DCE Authorization Groups Get Control of Specific Services
13.1.3 Initial Access Controls on DCE Core Services
13.1.4 Initial Access Controls on DFS
13.1.5 Initial Access Controls on GDS
13.1.6 Summary
13.2 Modifying Default Security Policies of DCE Services
13.3 Three Example Security Scenarios
13.3.1 Scenario One: Low Security
13.3.2 Scenario Two: Medium Security
13.3.3 Scenario Three: Clamping Your Cell Shut
13.4 A Little Friendly ACL Advice
13.4.1 How Secure is Secure Enough?
Chapter 14: Distributing and Replicating Core DCE Services
----------------------------------------------------------
14.1 Distributing the Cell Directory Service
14.1.1 Where Should You Locate Your CDS Servers?
14.2 Distributing the Security Service
14.3 Distributing the Time Service
Part III: Appendices
=-=-=-=-=-=-=-=-=-=-
Appendix A: DCE Client/Server Examples
A.1 Bare-Bones Client Code
A.2 A Simple Threaded Version of the Application
A.3 A Bare-Bones Application with Authentication
A.4 The Application with Error Checking, Mutexes, and Server-Group Registration
A.5 A Sample Make File
Appendix B: Common DCE Questions ... and Some Answers
B.1 "I was just wondering ..."
B.2 "I’m a system administrator, and I was wondering ..."
B.3 "I’m an application programmer, and I have a friend who who was just wondering ..."
Appendix C: External Time Providers and Services
C.1 Telephone Services
C.2 Radio Broadcasts
C.3 Satellites
Appendix D: Registering a Name: GDS and DNS
D.1 Obtaining a Unique GDS Cell Name
D.2 Obtaining a Unique DNS Cell Name
Preface
=======
"Understanding DCE" fills a serious information gap that has emerged in the field of networked computing. On one side is the Distributed Computing Environment (DCE), an enormous software system from the Open Software Foundation (OSF) embodying some novel and complex concepts. On the other side stand potential purchasers, system administrators, application programmers, and end users, many of whom have little previous exposure to distributed computing. Before studying and mastering the various daemons, utilities, and programming libraries that make up DCE, newcomers must answer the basic questions “What are all these things?” and “What do they mean for me?”
In this book we try to answer those questions. We try to bypass the steep slopes of novelty and complexity by returning to the basic reasons that DCE was created. We talk about how typical organizations are set up, and how their workflow and information needs are satisfied (or hampered) by their computing environments. We fit each component of DCE carefully into its proper place — not just within the rest of DCE, but within the larger context of user needs and organizational structures. The final chapters of the book offer some guidelines to help you plan your move to DCE even before you make a purchase decision.
DCE is meant to link people together and provide them with a shared system for running their computer applications, irrespective of the number of different computers they use and where the computers are located. When DCE is installed and maintained well, users don’t deal directly with it. In fact, the critical achievement lies precisely in what users don’t have to deal with: they don’t have to log in to different computers to do different tasks, or send each other files over e-mail in order to share information, or ask for special user accounts on every system they have to use on occasion. To produce this illusion of seamless, one-system computing, DCE puts a certain burden on administrators, and on programmers who write applications that are meant to run on more than one system at once. Administrators have to install a lot of daemon processes, register users, and assign security attributes. Programmers have to put new wrappers and error-handling functions in their programs, at the very least. Some of the burdens are absorbed by DCE’s sophisticated utilities and services. But you still need a sense of what each service does and what is left for you to do.
The authors of this book have been studying the how’s and why’s of DCE for several years. We all work at Digital Equipment Corporation in the Distributed Processing Engineering group that designed and developed many core components of DCE. Before the idea of DCE was born at OSF, our group collaborated with Apollo Computer to develop a remote procedure call product based on Apollo’s Network Computing System (NCS), one of DCE’s chief predecessors. While DCE was still just a buzzword in most of the computing world, our group was running prototype versions and learning what it is like to live with the environment. This book benefits not only from our thoughts on the subject, but especially from the many engineers who designed DCE components, made applications work on DCE, and then told us what they learned in the process.
There are many angles from which you can approach DCE — that is one reason why three of us collaborated on this book — but we think there is something special here for everybody. For system and network administrators who have to do resource planning and configuration, we say what the major components of DCE are for, and discuss alternative strategies for managing them. For programmers who need to make their applications run over DCE, we show the major tasks they have to carry out, warn them about problems to watch for, and suggest a variety of ways to use DCE creatively.
|OSF Distributed Computing Environment - Understanding DCE|
+---------------------------------------------------------+
Ward Rosenberry, David Kenney, Gerry Fisher, Digital Equipment Corporation
Cover design by Edie Freedman
Cover illustration by Chris Reilley
Copyright © 1992 O’Reilly & Associates, Inc. All rights reserved.
Printed in the United States of America.
Editor: Any Oram
September 1992: First Edition.
May 1993: Minor corrections.
O’Reilly & Associates, Inc.
103 Morris Street, Suite A
Sebastopol CA 95472
ISBN: 1-56592-005-8
Preface
=-=-=-=
Part 1: Components
=-=-=-=-=-=-=-=-=-=
Chapter 1 - DCE: The Network as Computer
---------------------------------------
1.1 DCE Addresses Many Distributed Computing Issues
1.1.1 DCE Harnesses Latent Computing Power
1.1.2 DCE Increases Availability
1.1.3 DCE Facilitates Collaborative Work and Minimizes Storage Limitations
1.1.4 DCE Services Track Data and Programs that Move Around
1.1.5 DCE Accommodates Heterogeneous Data
1.1.6 DCE Helps You Maintain Distributed Applications
1.1.7 DCE Helps Synchronize Events
1.1.8 DCE Protects Distributed Resources
1.2 DCE Is Based on the Client/Server Model
1.2.1 A General Nondistributed Computing Model
1.2.2 Distributed Computing Models
1.2.3 The Client/Server Computing Model
1.2.4 Client and Server Are Relative Terms
1.2.5 Client/Server Communications
1.3 DCE: A Model for Distribution
1.4 A Look at DCE Application Programming Interfaces
1.5 DCE Is a Good Start
1.5.1 Component Availability
1.5.2 Administration
1.5.3 Documentation
1.5.4 Performance
1.5.5 Support for Object-oriented Programming
1.5.6 Support for Message Queueing
1.5.7 Support for Transaction Processing Applications
1.5.8 Compatibility with Standards
1.5.9 Internationalization
1.6 Who Will Use DCE?
1.7 What Next?
Chapter 2 - Cells: The Domain of the Distributed Environment
-----------------------------------------------------------
2.1 What Is a Cell?
2.1.1 Purpose
2.1.2 Administration
2.1.3 Security
2.1.4 Overhead
2.2 Each Cell Has a Set of DCE Services
2.2.1 DCE Services Enable Distributed Operation
2.2.2 DCE Software Configurations for Clients and Servers
2.2.3 Some DCE Cell Examples
2.3 Cells and Naming
2.3.1 How Cells Determine Naming Environments
2.3.2 Names Outside of the DCE Directory Service
2.3.3 Summary of Names
2.4 Cell and LAN Profiles Point to DCE Services
Chapter 3 - Remote Procedure Call: The Foundation of Distributed Computing
--------------------------------------------------------------------------
3.1 Distribution Builds on the Concept of a Local Application
3.1.1 Local Procedure Call Behavior
3.1.2 Remote Procedure Call Behavior
3.2 The Development Process Enables Distribution
3.3 Interface Definitions Enable Client and Server Interaction
3.4 Binding: How a Client and Server Find Each Other
3.4.1 The Directory Service Identifies Server Hosts
3.4.2 The Endpoint Map Identifies Servers
3.4.3 Server Initialization Lays a Path for Clients
3.4.4 Clients Follow the Path to Servers
3.5 Executing the Remote Procedure Call
3.6 Using, Administering, and Programming RPC
Chapter 4 - Threads: Improving Program Performance
--------------------------------------------------
4.1 What Is DCE Threads?
4.2 Using Threads
4.3 Why Use Threads in an Application?
Chapter 5 - DCE Security Service: Protecting Resources
------------------------------------------------------
5.1 Authentication and Authorization
5.1.1 Passwords Ensure Authenticity
5.1.2 Privilege Attributes Convey Verifiable Identities
5.1.3 Access Control Lists Protect Resources
5.1.4 Special Accounts Enable Intercell Authentication
5.2 The Security Services Resist Tampering
5.2.1 Life Spans Protect Security Information from Illegitimate Use
5.2.2 Frequent Key Substitution Protects Secret Keys
5.2.3 Encryption Ensures Data Authenticity, Privacy, and Integrity
5.2.4 Secure Hosts Protect Security Servers
5.3 Groups and Organizations Simplify Security Management
5.4 How People Interact with the DCE Security Service
5.4.1 Using the DCE Security Service
5.4.2 Administering DCE Security
5.4.3 Administering Access Rights for Applications
5.5 DCE Security in Action
5.6 Programming the DCE Security Service
Chapter 6 - DCE Directory Service: Locating Resources
-----------------------------------------------------
6.1 The Directory Service Controls the Naming Environment
6.2 The Naming Environment Maps Names to Resources
6.2.1 CDS Names Correspond to CDS Directories and Object Entries
6.2.2 Distribution Ensures Access to Directories
6.2.3 Child Pointers Link the Name Environment Together
6.2.4 Soft Links Customize a Name Environment
6.2.5 Object Attributes Define Resources
6.2.6 Putting the Parts Together
6.2.7 Update Operations Keep Name Information Current
6.2.8 DCE Security Protects Directory Service Information
6.3 The DCE Directory Service Uses the Client/Server Model
6.3.1 Caching Improves Performance
6.3.2 Clerks Find CDS Servers in Several Ways
6.4 CDS in Action
6.4.1 A Simple Lookup Example
6.4.2 A Complex Lookup Example
6.4.3 A Deeper Look at CDS
6.5 Communicating with a Foreign Cell
6.6 How People Interact with the DCE Directory Service
6.6.1 Using the DCE Directory Service
6.6.2 Administering the DCE Directory Service
6.6.3 Programming with the DCE Directory Service
Chapter 7 - DCE Time Service: Synchronizing Network Time
--------------------------------------------------------
7.1 How Does DTS Work?
7.2 DTS Time Is Cellwide
7.3 Synchronizing Cell Time with External Time Sources
7.4 Using DTS
7.5 Administering DTS
7.6 Programming with DTS
Chapter 8 - DCE Distributed File Service: Providing Cellwide Access to Files
----------------------------------------------------------------------------
8.1 Some Good Reasons to Use DFS
8.2 DFS Is a Comprehensive File System
8.2.1 The DCE Local File System Can Coexist with a Host’s Native File System
8.2.2 DFS Acts on Groups of Files Called Filesets
8.2.3 DFS Tracks Files as They Move
8.2.4 DFS Locates and Backs Up Filesets
8.2.5 DFS Protects Files Using DCE Access Control Lists
8.2.6 DFS Protects Its Servers by Using DFS Distributed Security
8.2.7 DFS Ensures Server Software Consistency
8.2.8 DFS Simplifies Management Using Administrative Domains
8.2.9 DFS Clients Use Caching to Speed Operations
8.2.10 DFS Clients Can Include Diskless Workstations
8.3 How DFS Works
8.4 DFS Files Connect to the Larger World
8.5 How People Interact with the DCE Distributed File Service
8.5.1 Using the DCE Distributed File Service
8.5.2 Administering the DCE Distributed File Service
8.5.3 Writing Programs that Use DFS Programming Interfaces
Chapter 9 - A Look at Writing DCE Applications
----------------------------------------------
9.1 Designing Your Client/Server Application
9.1.1 Developing a Comprehensive User Model Is Critical
9.1.2 What is the job and how will your application facilitate work flow?
9.1.3 What resources do you require and where are the resources located?
9.1.4 How can you connect groups of people effectively the resources they need to do their jobs?
9.1.5 A Client/Server Application Is a Series of Related Mini-applications
9.1.6 Take Cell Configuration and Network Topology into Consideration
9.1.7 The Level of Security Is Up to You
9.1.8 A Well-Designed Interface Aids Scalability and Maintainability
9.1.9 Threads Present New Challenges to Application Designers
9.2 Implementing Your Client/Server Application
9.2.1 Coding Your First DCE Client/Server Application
9.2.2 Creating a Production-Ready Application
9.2.3 Distributing Existing Code
9.3 DCE Programming-language Considerations
9.4 What Next?
Part II: Configuration and Management Considerations
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Chapter 10: Getting Started with DCE
------------------------------------
10.1 Low Impact on Physical Network Components
10.2 Low Impact on Non-DCE Users
10.3 You Can Choose Your Own Pace
10.4 DCE Implementations Permit Planning in Stages
10.5 DCE Is Dynamic
10.6 Where We’ll Go from Here
Chapter 11: Determining Your Cell’s Boundaries
----------------------------------------------
11.1 Factors that Influence the Boundaries of a Cell
11.2 For Whom the Cell Tolls — And Why?
11.3 What Are Your Security Requirements?
11.3.1 Authentication Across Cells
11.3.2 Repairing a Breach of Your Cell’s Security
11.4 What Are Your Projected Administrative Requirements?
11.5 How Will DCE Affect Computing and Network Overhead?
Chapter 12: Initial Cell Configuration Guidelines
-------------------------------------------------
12.1 Choosing a Name for Your Cell
12.1.1 GDS or DNS?— You’ve Got to Pick One
12.1.2 Cell Names are Difficult to Change
12.1.3 The Cell Name You Choose Must Be Unique Within Your Organization
12.1.4 Get In-House Approval for Your Cell Name Before You Register
12.1.5 Caveats for Naming Isolated Cells
12.2 Configuring DCE Server and Client Systems
12.2.1 Reasons to Configure DCE Core Services on One System
12.2.2 Reasons to Disperse DCE Core Services from the Start
12.2.3 Configuring Client-only Systems
12.2.4 Configuring DFS
12.2.5 Configuring GDS
Chapter 13: Setting Up Security in a New Cell
---------------------------------------------
13.1 Default Access Controls Created by Cell Initialization
13.1.1 The cell_admin Principal Has Unlimited Access to Everything
13.1.2 DCE Authorization Groups Get Control of Specific Services
13.1.3 Initial Access Controls on DCE Core Services
13.1.4 Initial Access Controls on DFS
13.1.5 Initial Access Controls on GDS
13.1.6 Summary
13.2 Modifying Default Security Policies of DCE Services
13.3 Three Example Security Scenarios
13.3.1 Scenario One: Low Security
13.3.2 Scenario Two: Medium Security
13.3.3 Scenario Three: Clamping Your Cell Shut
13.4 A Little Friendly ACL Advice
13.4.1 How Secure is Secure Enough?
Chapter 14: Distributing and Replicating Core DCE Services
----------------------------------------------------------
14.1 Distributing the Cell Directory Service
14.1.1 Where Should You Locate Your CDS Servers?
14.2 Distributing the Security Service
14.3 Distributing the Time Service
Part III: Appendices
=-=-=-=-=-=-=-=-=-=-
Appendix A: DCE Client/Server Examples
A.1 Bare-Bones Client Code
A.2 A Simple Threaded Version of the Application
A.3 A Bare-Bones Application with Authentication
A.4 The Application with Error Checking, Mutexes, and Server-Group Registration
A.5 A Sample Make File
Appendix B: Common DCE Questions ... and Some Answers
B.1 "I was just wondering ..."
B.2 "I’m a system administrator, and I was wondering ..."
B.3 "I’m an application programmer, and I have a friend who who was just wondering ..."
Appendix C: External Time Providers and Services
C.1 Telephone Services
C.2 Radio Broadcasts
C.3 Satellites
Appendix D: Registering a Name: GDS and DNS
D.1 Obtaining a Unique GDS Cell Name
D.2 Obtaining a Unique DNS Cell Name
Preface
=======
"Understanding DCE" fills a serious information gap that has emerged in the field of networked computing. On one side is the Distributed Computing Environment (DCE), an enormous software system from the Open Software Foundation (OSF) embodying some novel and complex concepts. On the other side stand potential purchasers, system administrators, application programmers, and end users, many of whom have little previous exposure to distributed computing. Before studying and mastering the various daemons, utilities, and programming libraries that make up DCE, newcomers must answer the basic questions “What are all these things?” and “What do they mean for me?”
In this book we try to answer those questions. We try to bypass the steep slopes of novelty and complexity by returning to the basic reasons that DCE was created. We talk about how typical organizations are set up, and how their workflow and information needs are satisfied (or hampered) by their computing environments. We fit each component of DCE carefully into its proper place — not just within the rest of DCE, but within the larger context of user needs and organizational structures. The final chapters of the book offer some guidelines to help you plan your move to DCE even before you make a purchase decision.
DCE is meant to link people together and provide them with a shared system for running their computer applications, irrespective of the number of different computers they use and where the computers are located. When DCE is installed and maintained well, users don’t deal directly with it. In fact, the critical achievement lies precisely in what users don’t have to deal with: they don’t have to log in to different computers to do different tasks, or send each other files over e-mail in order to share information, or ask for special user accounts on every system they have to use on occasion. To produce this illusion of seamless, one-system computing, DCE puts a certain burden on administrators, and on programmers who write applications that are meant to run on more than one system at once. Administrators have to install a lot of daemon processes, register users, and assign security attributes. Programmers have to put new wrappers and error-handling functions in their programs, at the very least. Some of the burdens are absorbed by DCE’s sophisticated utilities and services. But you still need a sense of what each service does and what is left for you to do.
The authors of this book have been studying the how’s and why’s of DCE for several years. We all work at Digital Equipment Corporation in the Distributed Processing Engineering group that designed and developed many core components of DCE. Before the idea of DCE was born at OSF, our group collaborated with Apollo Computer to develop a remote procedure call product based on Apollo’s Network Computing System (NCS), one of DCE’s chief predecessors. While DCE was still just a buzzword in most of the computing world, our group was running prototype versions and learning what it is like to live with the environment. This book benefits not only from our thoughts on the subject, but especially from the many engineers who designed DCE components, made applications work on DCE, and then told us what they learned in the process.
There are many angles from which you can approach DCE — that is one reason why three of us collaborated on this book — but we think there is something special here for everybody. For system and network administrators who have to do resource planning and configuration, we say what the major components of DCE are for, and discuss alternative strategies for managing them. For programmers who need to make their applications run over DCE, we show the major tasks they have to carry out, warn them about problems to watch for, and suggest a variety of ways to use DCE creatively.
Download the book OSF Distributed Computing Environment - Understanding DCE for free or read online
Continue reading on any device:
Last viewed books
Related books
{related-news}
Comments (0)