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

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
CCNA – Network Fundamentals
CHAPTER 13 Internet and Distributed Application Services.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
8.
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared to centralized applications Explain.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Chapter 13 Physical Architecture Layer Design
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
The Architecture of Transaction Processing Systems
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Chapter 9: Moving to Design
Chapter 8: Network Operating Systems and Windows Server 2003-Based Networking Network+ Guide to Networks Third Edition.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Client/Server Architecture
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
 Distributed Software Chapter 18 - Distributed Software1.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
The Design of System Architecture
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chapter 9 Moving to Design Part 2.
Chapter 9 Elements of Systems Design
Moving to Design.
The Design Discipline.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
思科网络技术学院理事会. 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Networks QUME 185 Introduction to Computer Applications.
第十四章 J2EE 入门 Introduction What is J2EE ?
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
1 Version 3.0 Module 11 TCP Application and Transport.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Introduction to Active Directory
Active Directory. Computers in organizations Computers are linked together for communication and sharing of resources There is always a need to administer.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
9. 9 Systems Analysis and Design in a Changing World, Fourth Edition.
A service Oriented Architecture & Web Service Technology.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Internet and Distributed Application Services
Systems Analysis and Design in a Changing World, Fourth Edition
The Client/Server Database Environment
CORBA Alegria Baquero.
Chapter 9: The Client/Server Database Environment
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Ch > 28.4.
Inventory of Distributed Computing Concepts and Web services
CORBA Alegria Baquero.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
#01 Client/Server Computing
Presentation transcript:

2 Systems 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

3 Systems 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

4 Systems Architecture, Fifth Edition

5 Distributed Computing Distributing parts of an information system across many computer systems and locations Architectural models –Client/server –Three-layer –N-layer

6 Systems 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

7 Systems Architecture, Fifth Edition One of the many different ways that client/server architecture can be implemented.

8 Systems 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

9 Systems 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.

10 Systems 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

11 Systems Architecture, Fifth Edition Network Resource Access OS components enable distributed access by: –Distinguishing between local and remote resources –Interacting with distant operating systems

12 Systems 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

13 Systems Architecture, Fifth Edition

14 Systems 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)

15 Systems 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 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

16 Systems Architecture, Fifth Edition Premises of Remote Resource Access Location transparency Service-oriented resource access Resources can be moved among computer systems

17 Systems Architecture, Fifth Edition Service-Oriented Resource Access 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

18 Systems Architecture, Fifth Edition Software components that support service-oriented resource access

19 Systems 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)

20 Systems Architecture, Fifth Edition Peer-to-Peer Communication Protocols Lower-level protocols Enable processes to communicate synchronously across a network Often used by system software to exchange data and coordinate activities

21 Systems Architecture, Fifth Edition

22 Systems Architecture, Fifth Edition Sockets Unique combinations of an IP number and a port number, separated by a colon (e.g., :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

23 Systems Architecture, Fifth Edition Each socket uniquely identifies a client or server process on the Internet.

24 Systems Architecture, Fifth Edition Named Pipes Region of shared memory that enables multiple processes executing on the same machine to exchange data Name is permanently placed within file system directory Able to communicate among processes on different computers

25 Systems 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.

26 Systems 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

27 Systems Architecture, Fifth Edition Distributed Computing Environment 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

28 Systems Architecture, Fifth Edition DCE functions are incorporated directly into an operating system or supplied as an optional component.

29 Systems Architecture, Fifth Edition The Internet InternetGlobal collection of networks interconnected using TCP/IP Infrastructure upon which the Web is based WWWCollection of resources (programs, files, services), accessible over the Internet by standard protocols (FTP, HTTP) Organized using client/server architecture IntranetPrivate 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

30 Systems 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)

31 Systems Architecture, Fifth Edition Port Protocol Host Resource

32 Systems Architecture, Fifth Edition

33 Systems Architecture, Fifth Edition

34 Systems 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

35 Systems Architecture, Fifth Edition

36 Systems Architecture, Fifth Edition The Internet as an Application Platform AdvantagesDisadvantages 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

37 Systems 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

38 Systems 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

39 Systems Architecture, Fifth Edition Components and Objects Send and respond to messages Encapsulate internal data Interact with other components through a well-defined interface

40 Systems 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

41 Systems 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

42 Systems 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

43 Systems 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

44 Systems Architecture, Fifth Edition SOAP: Messages are encoded in XML and transmitted using HTTP; enables objects to be located anywhere on the Internet.

45 Systems 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)

46 Systems Architecture, Fifth Edition

47 Systems 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

48 Systems 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

49 Systems 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

50 Systems Architecture, Fifth Edition Container object types: Country (C) Organization (O) Organizational Unit (OU)

51 Systems 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

52 Systems Architecture, Fifth Edition

53 Systems Architecture, Fifth Edition

54 Systems Architecture, Fifth Edition Summary Distributed computing Network resource access Interprocess communication The Internet Components and distributed objects Distributed computing