Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open...

26
Introduction Originally developed by Open Software Foun dation (OSF), which is now called The Open Group (www.opengroup.org) Provides a set of tools and services which simplify and support the development and o peration of distributed applications an example of “middleware” a layer of software that sits on top of th e host operating system (e.g., UNIX) and n etworking services, and provides a single, transparent distributed computing environm ent based on the Client/Server Model Distributed Computing Environment (DCE)
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    2

Transcript of Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open...

Introduction

• Originally developed by Open Software Foundation (OSF), which is now called The Open Group (www.opengroup.org)

• Provides a set of tools and services which simplify and support the development and operation of distributed applications

• an example of “middleware”

• a layer of software that sits on top of the host operating system (e.g., UNIX) and networking services, and provides a single, transparent distributed computing environment

• based on the Client/Server Model

Distributed Computing Environment (DCE)

• Harnesses available computing resources

• Increases availability

• Facilitates collaborative work and minimizes storage limitations

• Tracks data and programs that move around

• Accommodates heterogeneous data

• Helps maintain distributed applications

• Helps synchronize events

• Protects distributed resources

Why Use DCE?

DCE Services

DCE RPC

• the fundamental communications mechanism

• allows direct calls to procedures on remote systems as if they were local procedure calls

• simplifies the development of distributed applications by eliminating the need to explicitly program the network communications between the client and server

• masks differences in data representations on different hardware platforms, allowing distributed programs to work transparently across heterogeneous systems

• DCE Cell Directory Service (CDS) is the mechanism for logically naming objects within a DCE cell (a group of client and server machines)

• Applications identify resources by name, without needing to know where the resources are located

• DCE cells can also participate in a worldwide directory service using the DCE Global Directory (GDS), which is based on the X.500 standard, or the Internet-system Domain Name Service (DNS)

Directory Services

Security Service

• DCE Security Service provides the mechanisms for writing applications that support secure communications between clients and servers

• enables processes on different machines to be certain of one another’s identities (authentication)

• allows a server to determine whether a given user is authorized to access a particular resource (authorization)

• supports several protection levels for messages as they travel across the network

Distrusted File Service

• DCE Distributed File Service (DFS) is a high-performance, scalable, secure method for sharing remote files

• DFS appears to the user as a local file systems, providing access to files form anywhere in the network for any user, with the same filename used by all (uniform file access)

• DFS includes many advanced features not found in traditional distributed file systems, including caching, security, and scalability over wide-area networks

Distributed Time Service

• Provides a way to synchronize the clocks on the different machines in a distributed system

Threads

• DCE supports multi-threaded applications

• i.e., programs that use “lightweight” processes to perform many actions concurrently

• DCE Threads are based on the POSIX threading standard

A Distributed Application using DCE APIs

The Domain of the Distributed Environment• DCE can provide scalable computing environment

- Small environment

* two network hosts

* typically consists of a single group of users who

share common goals

- large environment

* a network (or internetworks) of thousands of hosts

* typically consists of a diverse groups of users,

each group having its own goals and pool of shared resources

• a cell is the basic unit of operation and administration• a cell is a group of users, hosts, and resources that share

common DCE services

DCE Cells

• at a minimum, a cell includes CDS, Security Service and Time Service

Distributed Operation in a DCE Cell

Cell Configurations

DCE Client and Server Software

A Simple DCE Cell

Cell with DFS and Multiple DCE Clients

• The DCE Directory Service consists of two directory services: CDS & GDS

• CDS manages names inside cells

• GDS manages names outside cells and between cells

• GDS is an implementation of a directory standard known as X.500 Directory Service (XDS)

Cells and Naming

• Domain Name Service (DNS)

- another widely used existing global name service

- used primarily as a name service for Internet host names

• although DNS is not a part of DCE, support for cells to address each other through DNS is provided

• Global Directory Agent (GDA) makes inter-cell communication possible

• DCE naming environment supports two kinds of names: Global and Local (cell-relative) names

• Global Names

- begins with the … prefix- can refer to an object within a cell or an object outside of a cell

• Example 1 - uses X.500 name for global cell name

• Example 2 - uses DNS name for global cell name

• Local Names

- do not include a global cell name

- begins with the /.: prefix

• Example:

/…/C=US/O=XYZ/OU=Portland/subsys/PriceMax/price_server1

/.:/subsys/PriceMax/price_server 1

are equivalent when used within the cell named

/…/C=US/O=XYZ/OU=Portland

• some services connect into the cell by means of specialized CDS entries called “junctions”

• contain binding information that enables a client to connect to a server outside the Directory Service (e.g., Security Service, DFS)

• Example 1 - Security Service Junction(/.:/sec)

• Example 2 - DFS Junction (/.:/fs)

Junctions

• Enhanced version of the HP’s NCS (Network Computing System) RPC

• DCE threads allow increased concurrency in servers and clients

• supports TCP and UDP transport services

• authenticated RPC supported

Interface Definition Language

• the service interfaces are defined by DCE IDL

• a universal unique identifier (UUID) in the interface distinguishes this interface form any other interface

• UUIDs are generated by uuidgen

DCE RPC

Distributed Application Development Tasks

Binding

• DCE client (runtime library) finds a server using a two-step process1. The client gets the server’s host address from the CDS

2. The client finds the server process address by searching the host’s endpoint map (which is maintained by RPC daemon, rpcd)

• Basic server initialization steps:1. Register each interface with the server runtime library

2. Register protocol sequences that the server will use for RPCs

3. Advertise the server location to clients

4. Listen for remote procedure calls

Advertising Server Interface

Finding a Server

• More information on DCE can be found from The Open Group (http://www.opengroup.org/dce)

• Free DCE software can be downloaded from (http://www.opengroup.org/dce/download/)

More on DCE