CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.

Slides:



Advertisements
Similar presentations
Distributed Systems Architectures
Advertisements

COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Seminar „Web Services“
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
Distributed Systems Architectures
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
A First Java ORB Application 1  Object Request Broker (ORB)  This is the object manager in CORBA  Mechanisms for specifying interfaces  Interface Definition.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
II. Middleware for Distributed Systems
Introduction to CORBA Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Common Object Request Broker Architecture (CORBA) CS-328.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
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 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11Slide 1 Chapter 11 Distributed Systems Architectures.
Distributed Systems Architectures
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Cli/Serv.: rmiCORBA/131 Client/Server Distributed Systems v Objectives –introduce rmi and CORBA , Semester 1, RMI and CORBA.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Information Management NTU Interprocess Communication and Middleware.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Abhishek Bachchan Vishal Patangia
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
CORBA/IDL Common Object Resource Broker Architecture (CORBA) Interface Definition Language (IDL) Object Management Group (OMG) ( Specification.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
The World Leader in Making Software Work Together ™ Copyright IONA Technologies 1999 Building CORBA Applications (On OS/390 ?) Dusty Rivers Enterprise.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Distributed Objects and Remote Invocation Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts.
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 CORBA Common Object Request Broker Architecture.
Enterprise Computing Distribution and components.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Topic 5: CORBA RMI Dr. Ayman Srour
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Java Distributed Object System
Distribution and components
Ch > 28.4.
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
Component--based development
Quality Assurance for Component-Based Software Development
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
Copyright 1999 B.Ramamurthy
Presentation transcript:

CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects

Administration  Loss of the Mars space craft.

Distributed Data and Replication Distributed Data Data is held on several computer systems.A transaction may need to assemble data from several sources Replication Several copies of the data are held in different locations. Mirror: Complete data set is replicated Cache: Dynamic set of data is replicated (e.g., most recently used) With replicated data, the biggest problem is consistency.

Example: Web Server http message daemon spawned processes TCP port 80 The daemon listens at port 80. When a message arrives it: spawns a processes to handle the message returns to listening at port 80

Transaction Monitor messages A transaction monitor: monitors transactions, routes them across services, balances the load, restarts transactions after failure. Transaction monitor processes

Basic Definitions  An object is a piece of code that owns attributes and provides services through methods.  The methods operate on instance data owned by the object.  A class is a collection of like objects.

Characteristics of Objects  Encapsulation. An object has a public interface that defines how other objects or applications can interact with it. methods public instance data  Inheritance. Subclasses can be derived from parent classes. They inherit or override the parents' methods and instance data.  Polymorphism. The effect of a method can vary depending on the class that implements it (e.g., display_object)

Object Binding Binding is the linking of the software interface between two objects.  Static binding: The interface is determined at compile or build time. Straightforward Allows type checking  Dynamic binding or late binding: The link is established at run time. Flexible and extensible Complex

Distributed Objects Objects on separate computers interact through method calls and instance data. Major systems:  CORBA (Common Object Request Broker Architecture)  Microsoft family: OLE, COM, DCOM, Active X...

Desirable Properties of Distributed Objects  Different languages and operating environments  Reusable code: components  Architecture can be extensible  Future changes can be localized  Standard tools used for client/server interactions

Object Request Broker (ORB) Objects C C++ Java Other Cobol IDL ClientServer IDL Object Request Broker Interface

Interface Definition Language module { ; interface [: ] { See next slide } interface [: ] {..... } { Naming context Define a class

Interface Definition Language (continued) interface [: ] { ; [ ( ) [raises exception] [context];.... [ ( ) [raises exception] [context];.... } Define a class Define a method

Example: Fedora IDL

Object Request Broker (ORB) An ORB lets objects make requests to and receive response from other objects located locally or remotely.  Static and dynamic method invocations  High-level language bindings  Self-describing system  Local/remote transparency  Inter-ORB protocols Internet Inter-ORB Protocol (IIOP)

ORB: Programmer's View Object Request Broker Invoke a on object X Invoke a on object Y Object X a Object Y a ClientServer

ORB: System View Object Request Broker Interface repository Dynamic invocation Client IDL stubs ORB interface Implementation repository Static skeletons Dynamic invocation Object adapter Client Object implementation

CORBA Services  Naming service  Event service  Concurrency control service  Transaction service  Relationship service  Externalization service  Query service  Life cycle service  Persistence service  Licensing service  Properties service  Security service  Time service

Distributed Objects and the System Life-Cycle All large systems change with time.  Dynamic binding of objects combined with polymorphism permits the addition of extra object types, incremental changes, etc. to be localized. Development environments change with time.  Language bindings and IIOP permit changes. Production environments changes with time.  Code can be reused in different environments.

Reading Before next class, read: Sommerville: Chapters 18 and 19 pages 347 to 394.