Systems Architecture, Fifth Edition - PowerPoint PPT Presentation

About This Presentation
Title:

Systems Architecture, Fifth Edition

Description:

Title: Systems Architecture, Fifth Edition Subject: Chapter 13: Internet and Distributed Application Services Keywords: Presenter - Anne Ketchen Last modified by – PowerPoint PPT presentation

Number of Views:129
Avg rating:3.0/5.0
Slides: 58
Provided by: facwebCsD
Category:

less

Transcript and Presenter's Notes

Title: Systems Architecture, Fifth Edition


1
(No Transcript)
2
Chapter Goals
  • Describe client/server and multi-tier application
    architecture and discuss their advantages
    compared to centralized applications
  • Explain how operating systems and network
    protocol stacks cooperate so users and programs
    can access remote resources
  • Describe low-level protocols for interprocess
    communication across networks, including sockets,
    names pipes, RPC, and DCE

3
Chapter Goals (continued)
  • List and describe standard Internet protocols
    used to access distributed resources
  • Discuss component-based application development
    and describe the protocols and standards that
    support component-based applications
  • Explain the role and function of directory
    services and the LSAP standard

4
(No Transcript)
5
Distributed Computing
  • Distributing parts of an information system
    across many computer systems and locations
  • Architectural models
  • Client/server
  • Three-layer
  • N-layer

6
Client/Server Architecture
  • Server
  • Manages system resources provides access to them
    through a well-defined communication interface
  • Client
  • Uses communication interface to request
    resources server responds to those requests
  • Current dominant model for distributed computing

7
One of the many different ways that client/server
architecture can be implemented.
8
N-Layer Client/Server Architecture
  • Three-layer architecture
  • Divides application software into three tiers
  • Data layer
  • Business logic layer
  • View layer
  • Simplifies distributing or replicating
    application software across a network
  • N-layer architectures
  • Employ more than three layers

9
The view layer acts as a client of the business
logic layer, which in turn acts as a client of
the data layer.
10
Multi-Layer Architectures
  • Require standard models and services to
    communicate with one another
  • Middleware
  • System software that implements communication
    standards and gives clients and servers the
    ability to interact

11
Network Resource Access
  • OS components enable distributed access by
  • Distinguishing between local and remote resources
  • Interacting with distant operating systems
  • How does an OS do these things?

12
Protocol Stacks
  • Software that implements the lowest five levels
    of the OSI model
  • Provide several advantages for implementing
    network I/O and services (shown two slides from
    now)

13
(No Transcript)
14
Advantages of Protocol Stacks
  • Divide network interaction into well-defined
    pieces that can be separately implemented,
    installed, and updated
  • Provide flexibility to keep up with rapid
    protocol standard evolution
  • Insulate application programs and portions of OS
    from details of low-level network communication
    protocols and physical network implementation
    (ensures software portability)

15
Accessing Remote Resources
  • Static connection
  • Initialized by user or system administrator prior
    to accessing a remote resource
  • Difficult to initialize and maintain (somebody
    has to do it what if it changes?)
  • Example Using Windows to map a network drive to
    a remote folder (in My Computer / Tools / Map
    Network Drive)

16
Accessing Remote Resources
  • Dynamic connection
  • Established through interaction between a
    resource layer and a primary resource
    registration repository
  • More flexible but requires a distributed registry
    of resource name and locations

17
Premises ofRemote Resource Access
  • Location transparency
  • Operating systems, application programs, and user
    interfaces are simpler if there is no distinction
    between local and remote resource access
  • Also called network transparency
  • Example a word processor shouldnt care if the
    file it is operating on is local or on a remote
    server

18
Premises ofRemote Resource Access
  • All resources are potentially shared across a
    network any computer system is potentially both
    a server and a client
  • To provide remote access, all operating systems
    need to incorporate server-like functions
  • OSs that implement this design feature are said
    to implement service-oriented resource access

19
Service-Oriented Resource Access
  • Need 2 layers between service layer and device
    drivers
  • Service provider
  • Server interface to specific resource
  • Resource locator
  • Locates resources referred to in service requests
    from local or remote users and programs
  • Forwards service requests to appropriate service
    provider
  • Maintains a resource registry

20
Software components that support service-oriented
resource access
21
Blurring Between Server OS and Client OS
  • Because client machines are called upon to
    perform server operations, the distinction
    between server OS and client OS is getting fuzzy
  • Windows Server 2003 and Windows XP have many
    similar features
  • But Windows Server supports up to 32 CPUs and a
    sophisticated directory-based security system
    Windows XP Pro supports 1 or 2 CPUs more modest
    security

22
Interprocess Communication
  • Distributed processes must communicate with one
    another to exchange data and synchronize
    activities
  • Peer-to-peer interprocess communication protocols
  • Sockets
  • Named pipes
  • Remote procedure calls
  • Distributed Computing Environment (DCE)

23
(No Transcript)
24
Sockets
  • Unique combinations of an IP number and a port
    number, separated by a colon (e.g.,
    129.24.8.153)
  • Implement direct process-to-process communication
    via protocol stacks
  • Supported by all modern OSs, which enable
    programs to initialize sockets, receive messages
    sent to a socket, and send messages to sockets
    anywhere on the Internet

25
Each socket uniquely identifies a client or
server process on the Internet.
26
Named Pipes
  • Region of shared memory that enables multiple
    processes executing on the same machine to
    exchange data
  • Commonly used for communication among OS
    components, for queuing requests to an OS service
    such as a Web server, and for exchanging messages
    among components within a large application
  • A named pipe is permanently placed within file
    system directory (is treated like a file)
  • And is able to communicate among processes on
    different computers

27
OS assigns a free socket to named pipe when it is
created, allocates I/O buffers and routes data
flowing in/out of the pipe through low-level
network protocol stack.
28
Remote Procedure Calls
  • Allow one process to execute another as a
    subroutine with parameter passing and format
    translation
  • The calling process
  • Passes parameters to the called process
  • Waits for the called process to complete its task
  • Accepts parameters back from the called process
  • Resumes execution with the instruction following
    the call

29
Problems with RPC
  • You are calling a routine, so you are passing
    parameters
  • Are the parameters the same type? Same number?
    Big endian or little endian? Floating point
    consistency? ASCII or EBCDIC or Unicode?

30
Distributed Computing Environment
  • A standard for distributed OS services defined by
    the Open Group
  • Partially supported by most major OSs
  • Combines all peer-to-peer approaches and adds
    security (Kerberos) and minimal directory
    services
  • Promotes interoperability of distributed software
    across operating systems and middleware products

31
DCE functions are incorporated directly into an
operating system or supplied as an optional
component.
32
The Internet
Internet Global collection of networks interconnected using TCP/IP Infrastructure upon which the Web is based
WWW Collection of resources (programs, files, services), accessible over the Internet by standard protocols (FTP, HTTP) Organized using client/server architecture
Intranet Private network that uses Internet protocols accessible only to a limited set of internal users Set of privately accessible resources, organized and delivered via Web protocols over a TCP/IP network
33
Standard Web Protocols and Services
  • Web protocols
  • Define valid resource formats and a standard
    means of requesting resources
  • Identified by a unique Uniform Resource Locator
    (URL)

34
Resource
Host
Port
Protocol
35
(No Transcript)
36
(No Transcript)
37
The Internet as an Application Platform
  • Application program executes on a Web server that
    can be accessed from any computer with an
    Internet connection

38
Database is back-end server and is accessed
via pipes/sockets/RPC https or Kerberos used
39
The Internet as an Application Platform
Advantages Disadvantages
Expands accessibility Eliminates need to install custom client software Cheaper to develop and deploy built around existing Web standards and browser software already installed on clients Security Performance Reliability
40
Components and Distributed Objects
  • Component
  • Standardized, interchangeable software module
    that is executable, has a unique identifier, and
    has a well-known interface
  • Distributed object
  • Cooperating process that implements a public
    interface to the services it provides

41
Component-Based Software
  • Enables construction of complex programs and
    applications from smaller previously developed
    parts
  • Requires protocols and infrastructure for
    component registration, discovery, and
    communication

42
Components and Objects
  • Send and respond to messages
  • Encapsulate internal data
  • Interact with other components through
    awell-defined interface

43
Connection Standards and Infrastructure
  • Interoperability requires well-defined and widely
    adopted standards
  • Standard network protocols do not address
  • Format and content of valid messages and
    responses
  • Way to uniquely identify each component on the
    Internet and route messages to/from that computer
  • Additional standards provided by CORBA, COM,
    SOAP, J2EE

44
Common Object Request Broker Architecture (CORBA)
  • Specifies middleware used by objects to interact
    across networks
  • Key components
  • Object Request Broker (ORB)
  • Internet Inter-ORB Protocol (IIOP)
  • Robust, scalable, independent of programming
    language, OS, and CPU architecture
  • Disadvantage Complexity

45
Component Object Model Plus (COM)
  • Like CORBA, defines component registration,
    message routing services, and component
    communication protocol
  • Unlike CORBA, components are not assigned
    permanent identifier, and are registered in
    Windows Registry of client machine where
    installed
  • Disadvantage Dependence on propriety technology
    and limited support outside of Microsoft products

46
Simple Object Access Protocol (SOAP)
  • Attempts to address shortcomings of CORBA and
    COM
  • Has few infrastructure requirements and
    relatively simple programming interface
  • Relies on existing Internet protocols
  • Disadvantage Security and message delivery
    guarantees

47
SOAP Messages are encoded in XML and transmitted
using HTTP enables objects to be located
anywhere on the Internet.
48
Java 2 Enterprise Edition (J2EE)
  • Standards for developing/deploying
    component-based distributed applications written
    in Java
  • Key elements follow three-layer architecture
  • Component interactions based on many standards
  • Remote Method Invocation (RMI)
  • Java Naming and Directory Interface (JNDI)
  • Java Authentication and Authorization Service
    (JAAS)
  • Java Database Connectivity (JDBC)

49
(No Transcript)
50
Directory Services
  • Middleware that
  • Stores name and network address of distributed
    resources
  • Responds to directory queries
  • Accepts directory updates
  • Synchronizes replicated or distributed directory
    copies
  • Integral components of network operating systems

51
Information Stored in Network OS Directories
  • Registered users and their permissions to access
    directory objects
  • Shared hardware resources
  • Shared files, databases, and programs
  • Computer systems and specialized hardware devices

52
Lightweight Directory Access Protocol (LDAP)
  • Widely deployed directory service standard that
    can track users, distributed resources, and
    objects
  • Limited interoperability among different LDAP
    directories does not define standard content
    templates
  • Defines several standard container types and an
    attribute called distinguished name (DN) which
    uniquely identifies the object within an
    objectclass

53
  • Container object types
  • Country (C)
  • Organization (O)
  • Organizational Unit (OU)

54
Microsoft Active Directory
  • Directory service and security system built into
    Windows server
  • Stores information about network resources
  • Every resource or container object has an access
    control list that describes access rights
  • Based on LDAP and the Internet Domain Naming
    Service (DNS)
  • Does not support distributed or component-based
    software directly

55
(No Transcript)
56
(No Transcript)
57
Summary
  • Distributed computing
  • Network resource access
  • Interprocess communication
  • The Internet
  • Components and distributed objects
  • Distributed computing
Write a Comment
User Comments (0)
About PowerShow.com