ESO - Tokyo 04-08 July, 2005 ALMA Common Software Training- Course Session 1b Distributed Systems G.Chiozzi.

Slides:



Advertisements
Similar presentations
Distributed Systems Architectures
Advertisements

COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
II. Middleware for Distributed Systems
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
CORBA Architecture Nitin Prabhu. Outline CORBA Object Model CORBA Architecture Static Invocation Dynamic Invocation CORBA Communication Model.
CORBA - Common Object Request Broker Architecture.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Netprog CORBA Intro1 CORBA Common Object Request Broker Architecture Based partially on Notes by D. Hollinger and Java Network Programming and Distributed.
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.
Distributed Service Architectures Yitao Duan 03/19/2002.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
II. Middleware for Distributed Systems
Communication in Distributed Systems –Part 2
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.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
CORBA Celsina Bignoli Enterprise Computing Corporation have similar computing environments: –mixed set of HW platforms –a mixed set.
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
H Research Issues in CORBA Peter de Jong Hewlett-Packard Usenix 8/12/97 Research Issues in CORBA What keeps CORBA people awake at Night! Peter de Jong.
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.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W
CORBA Distributed Technology CASE STUDY Juan C. Navarro.
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 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
Abhishek Bachchan Vishal Patangia
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
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.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
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.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
CORBA (Common Object Request Broker Architechture) Aniket Prabhune Varun Saini Balaprasuna Chennupati Lally Singh.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
January 25, 2016 First experiences with CORBA Niko Neufeld.
©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.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
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
Common Object Request Broker Architecture (CORBA)
Distributed Computing
CORBA Alegria Baquero.
What is RMI? Remote Method Invocation
The OMG Approach (continued)
The OMG Approach CORBA, CCM, OMA, and MDA.
Inventory of Distributed Computing Concepts and Web services
CORBA Alegria Baquero.
Inventory of Distributed Computing Concepts
Copyright 1999 B.Ramamurthy
Presentation transcript:

ESO - Tokyo July, 2005 ALMA Common Software Training- Course Session 1b Distributed Systems G.Chiozzi

ALMA Project 2Garching, July 2005ALMA Common Software course What is a Distributed System ? A collection of autonomous computers that are: –linked by a network –using software to produce an integrated computing facility Characteristics: –Resource Sharing –Openess –Concurrency –Scalability –Fault Tolerance –Transparency

A Distributed System Source: TU Hamburg

ALMA Project 4Garching, July 2005ALMA Common Software course Heterogeneous Distributed Systems Definition: In heterogeneous distributed systems servers and clients may use different hardware, system software and/or programming languages. Heterogeneous distributed systems are based on the concept of distributed objects. A special layer of software between client and server processes is needed to deliver the extra functionality. This software layer is called middleware. It hides the complexity of the extra functionality behind a common set of APIs that client and server processes can invoke.

ALMA Project 5Garching, July 2005ALMA Common Software course Required Middleware Functionality translation from name to address, dynamic invocation of server processes, load balancing and security. Network protocol functionality only allows data exchange between client and server. More functionality is required for heterogeneous distributed systems, like

ALMA Project 6Garching, July 2005ALMA Common Software course Middleware Systems Common Object Request Broker Architecture (CORBA) from the Object Management Group (OMG) Java Remote Method Invocation (Java RMI) from Sun Microsystems Distributed Component Object Model (DCOM) from Microsoft

ALMA Project 7Garching, July 2005ALMA Common Software course CORBA design goals/characteristics: No need to pre-determine: –The programming language –The hardware platform –The operating system –The specific object request broker –The degree of object distribution Open Architecture: –Language-neutral Interface Definition Language (IDL) –Language, platform and location transparent Objects could act as clients, servers or both The Object Request Broker (ORB) mediates the interaction between client and object

ALMA Project 8Garching, July 2005ALMA Common Software course Object Management Architecture (OMA) Interface Definition Language (IDL) Object services (CORBAservices) Object Request Broker (ORB) Common facilities (Horizontal CORBAfacilities) Domain interfaces (Vertical CORBAfacilities) Components of CORBA

ALMA Project 9Garching, July 2005ALMA Common Software course Overview of CORBA CORBA shields applications from heterogeneous platform dependencies e.g., languages, operating systems, networking protocols, hardware Common Object Request Broker Architecture (CORBA) A family of specifications OMG is the standards body Over 800 companies CORBA defines interfaces, not implementations It simplifies development of distributed applications by automating/encapsulating Object location Connection & memory mgmt Parameter (de)marshaling Event & request demultiplexing Error handling & fault tolerance Object/server activation Concurrency Security

ALMA Project 10Garching, July 2005ALMA Common Software course CORBA object characteristics CORBA objects have identity –A CORBA server can contain multiple instances of multiple interfaces –An IOR uniquely identifies one object instance CORBA object references can be persistent –Some CORBA objects are transient, short-lived and used by only one client –But CORBA objects can be shared and long-lived business rules and policies decide when to “destroy” an object IORs can outlive client and even server process life spans CORBA objects can be relocated –The fixed object key of an object reference does not include the object’s location –CORBA objects may be relocated at admin time or runtime –ORB implementations may support the relocation transparently CORBA supports replicated objects –IORs with the same object key but different locations are considered replicas

ALMA Project 11Garching, July 2005ALMA Common Software course CORBA server characteristics When we say “server” we usually mean server process, not server machine One or more CORBA server processes may be running on a machine Each CORBA server process may contain one or more CORBA object instances, of one or more CORBA interfaces A CORBA server process does not have to be “heavyweight” –e.g., a Java applet can be a CORBA server

ALMA Project Garching, July 2005ALMA Common Software course Interfaces vs. Implementations CORBA Objects are fully encapsulated Accessed through well-defined interface Internals not available - users of object have no knowledge of implementation Interfaces & Implementations totally separate For one interface, multiple implementations possible One implementation may be supporting multiple interfaces Object IDL Interface

ALMA Project Garching, July 2005ALMA Common Software course Location Transparency A CORBA Object can be local to your process, in another process on the same machine, or in another process on another machine Process AProcess BProcess C Machine XMachine Y

ALMA Project Garching, July 2005ALMA Common Software course Stubs & Skeletons client program call language mapping operation signatures Location Service ORB ORB Operations Basic Object Adapter Multithreading StubSkeleton language mapping entry points method object implementation Transport Layer Stubs and Skeletons are automatically generated from IDL interfaces

ALMA Project 15Garching, July 2005ALMA Common Software course Why IDL? IDL reconciles diverse object models and programming languages Imposes the same object model on all supported languages Programming language independent means of describing data types and object interfaces –purely descriptive - no procedural components –provides abstraction from implementation –allows multiple language bindings to be defined A means for integrating and sharing objects from different object models and languages

ALMA Project 16Garching, July 2005ALMA Common Software course IDL simple data types Basic data types similar to C, C++ or Java –long, long long, unsigned long, unsigned long long –short, unsigned short –float, double, long double –char, wchar (ISO Unicode) –boolean –octet (raw data without conversion) –any (self-describing variable)

ALMA Project 17Garching, July 2005ALMA Common Software course IDL complex data types string - sequence of characters - bounded or unbounded –string msg // bounded –string msg // unbounded wstring - sequence of Unicode characters - bounded or unbounded sequence - one dimensional array whose members are all of the same type - bounded or unbounded –sequence mySeq // bounded –sequence mySeq // unbounded

ALMA Project 18Garching, July 2005ALMA Common Software course IDL user defined data types Facilities for creating your own types: –typedef –enum –const –struct –union –arrays –exception preprocessor directives - #include #define

ALMA Project 19Garching, July 2005ALMA Common Software course Operations and parameters Return type of operations can be any IDL type each parameter has a direction (in, out, inout) and a name similar to C/C++ function declarations

ALMA Project Garching, July 2005ALMA Common Software course CORBA Development Process Using IDL IDLDefinition IDLCompiler Stub Source Skeleton Source Client Implementation Client Program Source Object Implementation Object Implementation Source Java or C++ Compiler Client Program Java or C++ Compiler Object Implementation

ALMA Project 21Garching, July 2005ALMA Common Software course #ifndef _ACSCOURSE_MOUNT_IDL_ #define _ACSCOURSE_MOUNT_IDL_ #include #pragma prefix "alma" module ACSCOURSE_MOUNT { interface Mount2 : ACS::CharacteristicComponent { void objfix (in double az, in double elev); readonly attribute ACS::RWdouble cmdAz; readonly attribute ACS::RWdouble cmdEl; readonly attribute ACS::ROdouble actAz; readonly attribute ACS::ROdouble actEl; }; #endif IDL Example: Mount

ALMA Project 22Garching, July 2005ALMA Common Software course CORBA services Naming Service Event Service Notification Service Telecom Logging Service Concurrency Control Service Externalization Service Licensing Service Life Cycle Service Object Trader Service Persistent Object Service Property Service Query Service Relationship Service Security Service Time Service Transaction Service