1 Pass-By-Value Services in Object Component Software Group 1 Yannick Loitiere Andrea Rowan Michele Co Jinze Liu.

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

©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.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
CORBA - Common Object Request Broker Architecture.
Netprog CORBA Intro1 CORBA Common Object Request Broker Architecture Based partially on Notes by D. Hollinger and Java Network Programming and Distributed.
Distributed Systems Architectures
Streaming Support for.NET Remoting over Peer-to-Peer Environments.
Project Title: Cobra Implementation on Association Service.
Communication in Distributed Systems –Part 2
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
 The McCall’s model a classic model of software quality factors, consists of 11 factors, subsequent models, consisting of 12 to 15 factors, were suggested.
Client/Server Software Architectures Yonglei Tao.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
Networked File System CS Introduction to Operating Systems.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
Distributed Systems Architectures
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Slide 1 Physical Architecture Layer Design Chapter 13.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
SECURE WEB APPLICATIONS VIA AUTOMATIC PARTITIONING S. Chong, J. Liu, A. C. Myers, X. Qi, K. Vikram, L. Zheng, X. Zheng Cornell University.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
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.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
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.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 CORBA Common Object Request Broker Architecture.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Distributed Data Servers and Web Interface in the Climate Data Portal Willa H. Zhu Joint Institute for the Study of Ocean and Atmosphere University of.
Middleware Technology (J2EE/EJB) EJB Fundamentals.
Netprog: More Corba1 CORBA Continued. Netprog: More Corba2 CORBA Terminology ORB - Object Request Broker IR – Implementation Repository IDL – Interface.
Lecture 5: RPC (exercises/questions). 26-Jun-16COMP28112 Lecture 52 First Six Steps of RPC TvS: Figure 4-7.
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.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Chapter 12: Architecture
Software Hardware refers to the physical devices of a computer system.
Common Object Request Broker Architecture (CORBA)
Distribution and components
CORBA Within the OS & Its Implementation
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
Component--based development
Chapter 12: Physical Architecture Layer Design
Quality Assurance for Component-Based Software Development
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
Chapter 5 Architectural Design.
Lecture 7: RPC (exercises/questions)
Copyright 1999 B.Ramamurthy
CORBA and COM TIP Two practical techniques for object composition
Presentation transcript:

1 Pass-By-Value Services in Object Component Software Group 1 Yannick Loitiere Andrea Rowan Michele Co Jinze Liu

2 Object Component Software Middleware with abstraction –Implementation separated from interface “Client” and “server” share objects –Across a network –Between different programming languages Popular software –OMG CORBA (Common Object Request Broker Architecture) –Microsoft COM (Component Object Model) –Java

3 Object Passing Pass-By-Reference –Server returns reference to the object –Client calls the server with the reference –Server executes methods and returns the value Pass-By-Value –Server returns copy, reference to local copy –Client calls the local copy with the reference –Client executes method and returns the value

4 Bank Example Account –Name Object (immutable) –Balance Object (mutable) Pass-By-Reference –Consistency for Balance Object –Performance hurt for Name Object Pass-By-Value –Inconsistency for Balance Object –Performance gains for Name Object

5 Related Work Ennio Grasso’s Model –Consistency maintained –All objects CORBA objects CORBA 2.3 OBV Model –No consistency –Separate ValueBase objects

6 Our Project Analyze CORBA's Object By Value (OBV) service using TAO Identify problems with the current implementation of pass-by-value Measure performance differences for different pass-by-value models Propose a better model of pass-by-value –Identify limitations of our pass-by-value service

7 Evaluation of Models Consistency Orthogonality / Semantics Client Control Language Transparency Location Transparency Performance

8 Consistency

9 Orthogonality/Semantics TAO separates ValueBase objects from CORBA objects Amount of pass-by-value specific code in our simple client/server program: –2/6 lines of the interface –11/88 lines from the server-side code –1/59 lines from the client-side code –Represents 9.15% of all code

10 Client Control TAO allows client to pass large objects by value Pass-By-Reference –Performance not affected by object size Pass-by-value –Performance decreases as size of object increases

11 Client Control

12 Language Transparency TAO does not allow for language transparency for pass-by-value Client must have implementation at compile time Only C++ mapping currently exists

13 Location Transparency Because of separation of ValueBase objects from CORBA objects, client can tell if object is passed by value Interface is written differently for the two types TAO does not define abstract interfaces Lack of location transparency breaks CORBA’s Object Model

14 Performance Pass-by-value improves performance most when –Object is small –Object is referenced multiple times by client –Consistency is not maintained

15 Performance

16 Our Model Consistency –Use classical pass-by-value model (no shared state between client and server) –Only allow pass-by-value for immutable objects Orthogonality –All objects should be CORBA objects –Add byvalue boolean to CORBA objects –Default value of byvalue is false

17 Our Model Client Control –Server decides whether object can be passed by value restricted according to size, immutability, etc. –Client may block pass-by-value send_object() - lets server choose how object is sent send_by_reference() - blocks pass-by-value –Give server more control than client

18 Our Model Language Transparency –No easy solution b/c of range of operating systems, language capabilities –If object’s implementation language is not available on client, default to pass-by-reference –If object’s implementation is not on client, download during first call Assume performance gain makes up for download time

19 Our Model Location Transparency –All objects are CORBA objects assures location transparency for client Performance –Performance gains for small, remote, immutable objects –Performance is one of the key reasons for pass- by-value, and was an important factor in our model design.

20 Conclusion Pass-by-value can improve performance Restricted objects (immutable, small) Good for systems with low bandwidth Simple to allow pass-by-value in older CORBA programs because our model maintains object abstraction Improvement in many ways over CORBA’s OBV and TAO’s pass-by-value service