2 systems architecture, fifth edition chapter goals describe client/server and multi-tier...

57

Post on 19-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared
Page 2: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

2Systems Architecture, Fifth Edition

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

Page 3: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

3Systems Architecture, Fifth Edition

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

Page 4: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

4Systems Architecture, Fifth Edition

Page 5: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

5Systems Architecture, Fifth Edition

Distributed Computing

• Distributing parts of an information system across many computer systems and locations

• Architectural models– Client/server

– Three-layer

– N-layer

Page 6: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

6Systems Architecture, Fifth Edition

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

Page 7: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

7Systems Architecture, Fifth Edition

One of the many different ways that client/server architecture can be implemented.

Page 8: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

8Systems Architecture, Fifth Edition

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

Page 9: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

9Systems Architecture, Fifth Edition

The view layer acts as a client of the business logic layer, which in turn acts as a client of the data layer.

Page 10: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

10Systems Architecture, Fifth Edition

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

Page 11: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

11Systems Architecture, Fifth Edition

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?

Page 12: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

12Systems Architecture, Fifth Edition

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)

Page 13: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

13Systems Architecture, Fifth Edition

Page 14: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

14Systems Architecture, Fifth Edition

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)

Page 15: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

15Systems Architecture, Fifth Edition

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)

Page 16: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

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

16Systems Architecture, Fifth Edition

Page 17: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

17Systems Architecture, Fifth Edition

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 shouldn’t care if the file it is operating on is local or on a remote server

Page 18: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

18Systems Architecture, Fifth Edition

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

Page 19: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

19Systems Architecture, Fifth Edition

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

Page 20: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

20Systems Architecture, Fifth Edition

Software components that support service-oriented resource access

Page 21: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

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

21Systems Architecture, Fifth Edition

Page 22: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

22Systems Architecture, Fifth Edition

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)

Page 23: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

23Systems Architecture, Fifth Edition

Page 24: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

24Systems Architecture, Fifth Edition

Sockets

• Unique combinations of an IP number and a port number, separated by a colon (e.g., 129.24.8.1:53)

• 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

Page 25: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

25Systems Architecture, Fifth Edition

Each socket uniquely identifies a client or server process on the Internet.

Page 26: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

26Systems Architecture, Fifth Edition

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

Page 27: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

27Systems Architecture, Fifth Edition

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.

Page 28: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

28Systems Architecture, Fifth Edition

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

Page 29: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

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?

29Systems Architecture, Fifth Edition

Page 30: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

30Systems Architecture, Fifth Edition

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

Page 31: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

31Systems Architecture, Fifth Edition

DCE functions are incorporated directly into an operating system or supplied as an optional component.

Page 32: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

32Systems Architecture, Fifth Edition

The InternetInternet • 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

Page 33: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

33Systems Architecture, Fifth Edition

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)

Page 34: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

34Systems Architecture, Fifth Edition

PortProtocol

Host

Resource

Page 35: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

35Systems Architecture, Fifth Edition

Page 36: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

36Systems Architecture, Fifth Edition

Page 37: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

37Systems Architecture, Fifth Edition

The Internet as an Application Platform

• Application program executes on a Web server that can be accessed from any computer with an Internet connection

Page 38: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

38Systems Architecture, Fifth Edition

Database is back-end server and is accessed viapipes/sockets/RPC; https or Kerberos used

Page 39: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

39Systems Architecture, Fifth Edition

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

Page 40: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

40Systems Architecture, Fifth Edition

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

Page 41: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

41Systems Architecture, Fifth Edition

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

Page 42: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

42Systems Architecture, Fifth Edition

Components and Objects

• Send and respond to messages• Encapsulate internal data• Interact with other components through a

well-defined interface

Page 43: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

43Systems Architecture, Fifth Edition

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

Page 44: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

44Systems Architecture, Fifth Edition

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

Page 45: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

45Systems Architecture, Fifth Edition

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

Page 46: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

46Systems Architecture, Fifth Edition

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

Page 47: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

47Systems Architecture, Fifth Edition

SOAP: Messages are encoded in XML and transmitted using HTTP; enables objects to be located anywhere on the Internet.

Page 48: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

48Systems Architecture, Fifth Edition

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)

Page 49: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

49Systems Architecture, Fifth Edition

Page 50: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

50Systems Architecture, Fifth Edition

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

Page 51: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

51Systems Architecture, Fifth Edition

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

Page 52: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

52Systems Architecture, Fifth Edition

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

Page 53: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

53Systems Architecture, Fifth Edition

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

Page 54: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

54Systems Architecture, Fifth Edition

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

Page 55: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

55Systems Architecture, Fifth Edition

Page 56: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

56Systems Architecture, Fifth Edition

Page 57: 2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared

57Systems Architecture, Fifth Edition

Summary

• Distributed computing• Network resource access• Interprocess communication• The Internet• Components and distributed objects• Distributed computing