INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

Similar documents
CHAPTER 1 Fundamentals of Distributed System. Issues in designing Distributed System

Introduction. Chapter 1

CPE731 Middleware for Distributed Systems

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

Outline. Distributed Computing Systems. The Rise of Distributed Systems. Depiction of a Distributed System 4/15/2014

CS4513 Distributed Computer Systems

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2)

Distributed Systems LEEC (2006/07 2º Sem.)

Client/Server-Architecture

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that:

Distributed Computing. Santa Clara University 2016

Appendix A - Glossary(of OO software term s)

Distributed OS and Algorithms

Advanced Operating Systems

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Concepts of Distributed Systems 2006/2007

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

System types. Distributed systems

Introduction to Web Services & SOA

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science. CS677: Distributed OS

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

Client Server & Distributed System. A Basic Introduction

Chapter 1: Distributed Information Systems

Distributed Systems Course. a.o. Univ.-Prof. Dr. Harald Kosch

IBD Intergiciels et Bases de Données

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

TDP3471 Distributed and Parallel Computing

CHAPTER 2. Introduction to Middleware Technologies

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Distributed Systems. Lehrstuhl für Informatik 4. RWTH Aachen. Organization. Literature. Classification of the lecture

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Application Servers in E-Commerce Applications

Essential Software Architecture

CAS 703 Software Design

Distributed Systems

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27

Mastering SOA Challenges more cost-effectively. Bodo Bergmann Senior Software Engineer Ingres Corp.

In the most general sense, a server is a program that provides information

Multiprocessors 2007/2008

ClearPath Secure Java Overview For ClearPath Libra and Dorado Servers

Introduction to Web Services & SOA

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

3C05 - Advanced Software Engineering Thursday, April 29, 2004

Distribution and web services

Distributed Computing

Multiprocessors 2014/2015

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Distributed Middleware. Distributed Objects

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol

Middleware definitions and overview

Informationshanteringssystem - LIMS

Active Server Pages Architecture

Chapter 2 Architectures. Software Architectures

Electronic Payment Systems (1) E-cash

DS 2009: middleware. David Evans

Distributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview

Chapter 4 Communication

WebSphere 4.0 General Introduction

DISTRIBUTED COMPUTING

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Distributed Environments. CORBA, JavaRMI and DCOM

Lecture 9: MIMD Architectures

Distributed Objects. Object-Oriented Application Development

Distributed Systems Middleware

Chapter 10 Web-based Information Systems

Distribution and Integration Technologies

Fundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Introduction. Distributed Systems IT332

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.

Architectural Styles I

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

1.264 Lecture 16. Legacy Middleware

E-COMMERCE and SECURITY - 1DL018. An introductury course on e-commerce systems

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

Chapter 20: Database System Architectures

Chapter 6 Enterprise Java Beans

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Improvement to the Smart Data Server with SOAP *

Chapter 16. Layering a computing infrastructure

Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

PLATFORM TECHNOLOGY UNIT-5

COURSE 9 DESIGN PATTERNS

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

Transcription:

INTRODUCTION TO Object Oriented Systems 1

CHAPTER 1 Introduction to Object Oriented Systems Preview of Object-orientation. Concept of distributed object systems, Reasons to distribute for centralized objects. Client-server system architecture, Multi tier system architectures. File Server, Database Server, Group Server, Object Server, Web Server 2

PROCEDURAL PROGRAMMING Procedural programming is by far the most common form of programming. A program is a series of instructions which operate on variables. It is also known as imperative programming Examples of procedural programming languages include FORTRAN, ALGOL, Pascal, C, MODULA2, Ada, BASIC. Despite their differences they all share the common characteristics of procedural programming Advantages of procedural programming include its relative simplicity, and ease of implementation of compilers and interpreters. Disadvantages of procedural programming include the difficulties of reasoning about programs and to some degree difficulty of parallelization. Procedural programming tends to be relatively low level compared to some other paradigms, and as a result can be very much less productive. 3

OBJECT ORIENTED PROGRAMMING Object oriented programming is characterized by the defining of classes of objects, and their properties. Inheritance of properties is one way of reducing the amount of programming, and provision of class libraries in the programming environment can also reduce the effort required. The most widely used object oriented language is C++ which provides object extensions to C, but this is rapidly being overtaken by Java. Features Of Object-Oriented Programming Data Abstraction and Encapsulation Operations on the data are considered to be part of the data type We can understand and use a data type without knowing all of its implementation details Neither how the data is represented nor how the operations are implemented We just need to know the interface (or method headers) how to communicate with the object Compare to functional abstraction with methods 4

OBJECT ORIENTED PROGRAMMING Inheritance Properties of a data type can be passed down to a sub-type we can build new types from old ones We can build class hierarchies with many levels of inheritance Polymorphism Operations used with a variable are based on the class of the object being accessed, not the class of the variable Parent type and sub-type objects can be accessed in a consistent way OOP s world Procedural Language world Class structure { { Objects structure variables } } 5

Distributed System and Middleware Concepts 6

DISTRIBUTED SYSTEM A distributed system is a collection of independent computers that appears to its users as a single coherent system Important characteristics of distributed systems - Differences between the various computers and the ways in which they communicate are hidden from users - Users and applications can interact with a distributed system in a consistent and uniform way, regardless of where and when interaction takes place Goals of Distributed System 4 important goals that should be met to make building a distributed system worth the effort they are 1) Easily connect Users to resources, hide the fact that resources are distributed across a network, open, scalable 7

2) Transparency A distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent. Which hides whether a Implementation i.e. software resource is in main memory or disk Forms of Transparency in a Distributed System Transparency Access Location Migration Relocation Replication Concurrency Failure Persistence Description Hide differences in data representation and how a resource is accessed Hide where a resource is located Hide that a resource may move to another location Hide that a resource may be moved to another location while in use Hide that a resource may be shared by several competitive users Hide that a resource may be shared by several competitive users Hide the failure and recovery of a resource Hide whether a (software) resource is in memory or on disk 8

3) Openness An open distributed system is a system that offers services according to standard rules. 4) Scalability Scalability of a system can be measured along at Least three different dimensions -First, a system can be scalable with respect to its size, we can easily add more users and resources to the system. -Second, a geographically scalable system users and resources may lie far apart. -Third, a system can be administratively scalable; it can still be easy to manage even if it spans many independent administrative organizations. 9

Hardware Concepts General Classification: Multiprocessor a single address space among the processors Multicomputer each machine has its own private memory. OS can be developed for either type of environment. Bus Based or Switch Based Architecture Of memory and processor. 10

Hardware Concepts Basic organizations and memories in distributed computer systems 1.6 11

Multiprocessors 1.7 A bus-based multiprocessor. 12

Multiprocessors A crossbar switch An omega switching network 13

Software Concepts DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware System Description Main Goal DOS NOS Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Hide and manage hardware resources Offer local services to remote clients Middleware Additional layer a top of NOS implementing general-purpose services Provide distribution transparency 14

Uniprocessor Operating Systems Separating applications from operating system code through a microkernel Can extend to multiple computers 15

Network Operating System OS uses can be different (Windows or Linux) Typical services: rlogin, rcp Fairly primitive way to share files 16

Network Operating System Can have one computer provide files transparently for others (NFS) Systems, network operating systems do not assume that the underlying hardware is homogeneous 17

Distributed Operating Systems But no longer have shared memory Provide message passing Can try to provide distributed shared memory But tough to get acceptable performance 18

Why Middleware? Distributed operating system is not intended to handle a collection of independent computers, while network operating system does not provide a view of a single coherent system So an additional layer of software that is used in network operating systems to more or less hide the heterogeneity of the collection of underlying platforms but also to improve distribution transparency 19

Distributed System as Middleware 20

CLIENT-SERVER Concepts 21

Client-Server Architecture Basic Concepts Client-Server: The client is the entity accessing the remote resource and the server provides access to the resource. Operationally, the client is the caller and the server is the callee. In Java terms: The client is the invoker of the method and the server is the object implementing the method. The client and the server can be heterogeneous: Different implementation languages Different operating systems ³The roles can be transient The definition is with respect to a particular interaction Client and Server refer both to the code and the system on which the code is running 22

Client Server Interactions Client Server y= F(x) 1 2 F(x) { return 5; } 1. Send message to call F with parameter X 2. Receive message that F was called with the given parameter 3. Send message with the result of calling F 4. Receive message with the result of calling F 4 Network 3 23

Tiered architecture Single tiered architecture. (Monolithic applications) Ex:- C,Foxpro,ADA etc. Two tiered architecture. Client Server systems Ex:- Unix client & Mainframes Server. 24

Tiered architecture Three tiered architecture. Client Server Database Ex:- Yahoo Mail Server 25

Tiered architecture N-Tiered architecture: Various components that make up the application are logically separated or distributed across network. Client ßà Server ßà Server ßà Database CitiBank ATM implementation 26

N-Tier Architecture Front end (Client): Viewed and manipulated by the users. It can live in a Web browser or a standalone application. Presents customized information to clients requirements. Servlets and JSP is used as Front end development. Middle: Contains business logic Ex: Discounts. It may contain two sub-tiers: Web Tier It handles communication to client. EJB Tier It manages business logic and access to corporate data. Backend (Database): Provides access to various corporate data stores (Databases, E-Mail system, Legacy systems ) 27

N-Tiered architecture 28

TYPES OF SERVERS FILE SERVER -> A file server is a device that manages file operations and is shared by each of the client PCs attached to the LAN -> Each file server acts as an additional hard disk for each of the client PCs -> Each PC may be called a FAT CLIENT (most processing occurs on the client) Entire files are transferred from the server to the client for processing. 29

Problems with file server architecture 1. Huge amount of data transfer on the network, because when client wants to access data whole table(s) transferred to PC so server is doing very little work, network is transferring large blocks of data and client is busy with extensive data manipulation 2. Each client is authorised to use the DBMS when a database application program runs on that PC. Thus there is one database but many concurrently running copies of the DBMS (one on each active PC) so heavy resource demand on clients 30

File Server Architecture FAT CLIENT 31

Database server architectures After the file-server approach came two-tiered approaches Client is responsible for managing user interface, I/O processing logic, data processing logic and some business rules logic (front-end programs) Database server performs all data storage and access processing (back-end functions) DBMS is only on server Advantages include:clients do not have to be as powerful, only the database server requires processing power adequate to handle the database therefore the server can be tuned to optimise data processing performance Greatly reduces data traffic on the network, as only those records (rather than tables) that match the requested criteria are transmitted to the client Improved data integrity since it is all processed centrally 32

Database server architectures With a database server, the client passes SQL requests as messages to the database server. The results of each SQL command are returned over the network. The server uses its own processing power to find the request data instead of passing all the records back to the client and then getting it find its own data. The result is a much more efficient use of distributed processing power. It is also known as SQL engine. 33

Database server architecture Clients DBMS only on server 34

TRANSACTION SERVER A Transaction server is a software component that is used in implementing transactions.a transaction involves multiple steps which must be completedatomically. For example, when paying someone from your bank, the system must guarantee that the money is taken from your account and paid into the other persons account. It would simply be unacceptable for just one or the other action to take place; both must occur in order for the transaction to have taken place. 35

TRANSACTION SERVER With a transaction server, the client invokes remote procedures that reside on the server with an SQL database engine. These remote procedures on the server execute a group of SQL statements. The network exchange consists of a single request/reply message. The SQL statements either all succeed or fail as a unit. OBJECT SERVER With an object server, the Client/Server application is written as a set of communicating objects. Client object communicate with server objects using an Object Request Broker (ORB). The client invokes a method on a remote object. The ORB locates an instance of that object server class, invokes the requested method and returns the results to the client object. Server objects must provide support for concurrency and sharing. The ORB brings it all together. 36

GROUPWARE SERVER A SERVER which manages the interaction between a number of users of a GROUPWARE system Web Servers Clients and servers communicate using the Hypertext Transfer Protocol (HTTP) Client and server establish TCP connection Client requests content Server responds with requested content Client and server close connection (usually) Examples Apache tomcat Server HTTP request Web client (browser) HTTP response (content) Sun Java System Web Server Web server Glassfish Server Internet Information Services Jigsaw Server 37

APPLICATION SERVER An Application server is a software framework dedicated to the efficient execution of procedures (scripts, routines, programs,...) for supporting the construction of applications. The term was created in the context of web applications. In these, the application server acts as a set of components accessible to the software developer through an API defined by the platform itself. SOME POPULAR APPLICATION SERVER PROVIDER 1) Apache Tomcat (Apache Software Foundation) 2) TIBCO Server (TIBCOSoft) 3) tc Server (SpringSource) 4) WebSphere Application Server (IBM) 5) Sybase Enterprise Application Server (Sybase Inc) 6) WebLogic Server (Oracle) 7) JBoss (Red Hat) 8) JRun (Adobe Systems) 9) Apache Geronimo (Apache Software Foundation) 10)Oracle OC4J (Oracle) 11)Sun GlassFish Enterprise Server Sun Microsystems) 12)SAP Netweaver AS (ABAP/Java) (SAP) 13)Glassfish Application Server (open source) 14)WebObjects (Apple Inc.) 38

Middleware Models And Present Technologies 1 )Remote Procedure Calls (RPCs). 2 )CORBA 3 )Remote Method Invocation (RMI). 4 )Enterprise Java Beans (EJB). 5 )Component Object Modeling & Distributed Component Object Modeling (COM AND DCOM with.net ) 6 )Web Services And SOA (Service Oriented Architecture) 39

ANY QUESTION 40

T H A N K Y O U 41