CORBA and object oriented middleware. Introduction



Similar documents
Principles and characteristics of distributed systems and environments

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

How To Understand The Concept Of A Distributed System

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Distribution transparency. Degree of transparency. Openness of distributed systems

Distributed System Principles

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

CS 5523 Operating Systems: Intro to Distributed Systems

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

Distributed Systems LEEC (2005/06 2º Sem.)

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

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

Virtual machine interface. Operating system. Physical machine interface

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Middleware: Past and Present a Comparison

Basics. Topics to be covered. Definition of a Distributed System. Definition of a Distributed System

DFSgc. Distributed File System for Multipurpose Grid Applications and Cloud Computing

Middleware Lou Somers

Distributed Systems. Outline. What is a Distributed System?

Chapter 2: Remote Procedure Call (RPC)

SCALABILITY AND AVAILABILITY

Grid Computing Vs. Cloud Computing

Distributed Systems. Distributed Systems

Distributed Systems and Recent Innovations: Challenges and Benefits

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Manjrasoft Market Oriented Cloud Computing Platform

Dr Markus Hagenbuchner CSCI319. Distributed Systems

Cluster, Grid, Cloud Concepts

Distributed System: Definition

DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING. Carlos de Alfonso Andrés García Vicente Hernández

LinuxWorld Conference & Expo Server Farms and XML Web Services

Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju

Service Oriented Architecture

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis

CHAPTER 8 CLOUD COMPUTING

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

The Service Revolution software engineering without programming languages

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

Intent NBI for Software Defined Networking

Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Distributed Databases

Client/Server and Distributed Computing

A distributed system is defined as

Cloud Computing. Cloud computing:

Software Concepts. Uniprocessor Operating Systems. System software structures. CIS 505: Software Systems Architectures of Distributed Systems

Lesson 4 Web Service Interface Definition (Part I)

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Modular Communication Infrastructure Design with Quality of Service

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems

MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi

MIDDLEWARE 1. Figure 1: Middleware Layer in Context

Distributed Operating Systems

Tier Architectures. Kathleen Durant CS 3200

Platform Autonomous Custom Scalable Service using Service Oriented Cloud Computing Architecture

Architectures for Distributed Real-time Systems

How To Make A Distributed System Transparent

Distributed Systems. Security concepts; Cryptographic algorithms; Digital signatures; Authentication; Secure Sockets

Chapter 2: Enterprise Applications from a Middleware Perspective

The Service Availability Forum Specification for High Availability Middleware

XII. Distributed Systems and Middleware. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Chapter 2: Transparent Computing and Cloud Computing. Contents of the lecture

Introduction to Computer Networks

Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices

A Survey Study on Monitoring Service for Grid

Enterprise Application Integration (Middleware)

What is Data Virtualization?

Architecture. Reda Bendraou

Challenges and Opportunities for formal specifications in Service Oriented Architectures

6306 Advanced Operating Systems

Manjrasoft Market Oriented Cloud Computing Platform

System types. Distributed systems

Distributed systems. Distributed Systems Architectures

Chapter 16 Distributed Processing, Client/Server, and Clusters

Client Server Architecture

Toward a Unified Ontology of Cloud Computing

Web Service Based Data Management for Grid Applications

Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur

Distributed Systems Lecture 1 1

be architected pool of servers reliability and

The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets

SOFTWARE ARCHITECTURE FOR FIJI NATIONAL UNIVERSITY CAMPUS INFORMATION SYSTEMS

What is Data Virtualization? Rick F. van der Lans, R20/Consultancy

Performance Management for Cloudbased STC 2012

Project Convergence: Integrating Data Grids and Compute Grids. Eugene Steinberg, CTO Grid Dynamics May, 2008

Client-Server Applications

Transcription:

CORBA and object oriented middleware Introduction

General info Web page http://www.dis.uniroma1.it/~beraldi/elective Exam Project (application), plus oral discussion 3 credits

Roadmap Distributed applications Middleware for distributed applications OO middleware CORBA Java-RMI

Definitions Distributed application: Application composed of two or more components running on different machines connected via a network A distributed (computing) system is: A collection of independent computers that appears to its users as a single coherent system.

Definitions Distributed application: Application composed of two or more components running on different machines connected via a network A distributed (computing) system is: A collection of independent computers that appears to its users as a single coherent system.

Example A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.

Example This system supports two local applications (A,C) and one distributed application (application B)

Characteristic of distributed applications (and systems) Independent failures Components can fail individually There is not a global failure (consider Internet) Concurrent execution Any component is autonomous There can be, however, the need of actions to be coordinated No shared memory Communication via message exchange No global state No global time

Example: distributed algorithm X send 1 m1:meeting m 1 m2:re:meeting receive 4 receive Y 2 receive send 3 m 2 receive Physical time Z receive receive send m3:re:meeting A m 3 m 1 m 2 receive receive receive t 1 t 2 t 3 A sees: Re: Meeting, Meeting, Re: Meeting There is no need of a physical global time; rather logical time is enough

Example: distributed algorithm X send 1 m1:meeting m 1 m2:re:meeting receive 4 receive Y 2 receive send 3 m 2 receive Physical time Z receive receive send m3:re:meeting A m 3 m 1 m 2 receive receive receive t 1 t 2 t 3 Distributed applications that deliver message causally ordered can be easily built once a middleware providing the right primitive, e.g., casual-order multicast, exists.

Characteristics of decentralized algorithms No machine has complete information about the system state. Machines make decisions based only on local information. Failure of one machine does not ruin the algorithm. There is no implicit assumption that a global clock exists.

Goal of a distributed system ( and then of a middleware) Transparency Openness Scalability

Hides Transparency

Enables/allows Transparency (Couloris) Access transparency enables local and remote resources to be accessed using identical operations. Location transparency enables resources to be accessed without knowledge of their physical or network location (for example, which building or IP address). Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them. Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers.

Transparency (Couloris) Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs. Performance transparency: allows the system to be reconfigured to improve performance as loads vary. Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms.

Other goal of distributed system Transparency Openness Scalability

Openness A DS is open if the service it offers are defined using standard rules for syntax (how to use, through interface) semantics (what the service does) Syntax (easy) IDL (Interface Definition Language) Semantics Natural language Semi formal (UML) Formal (Petri nets, FSM, )

Interface definition Complete Contains all is needed Neutral no implementation-dependent Interface is a key concept to support Interoperability Portability Extensibility

Information hiding It is a well-known and powerful modularization principle Separation of what a service does from how it is realized (implemented) Interface vs implementation POWER SUPPLY 12 v, up 1 A

Examples of where it is applied <<Interface>> implements Signature Body Function/procedure with no side-effect Class Programming Language at design time interface implementation time Appl uses component API run time

Generalization Application Middleware/ Run-timelibrary Operating System upcall (i.e., exception raised by the OS Hardware

Openness - Flexibility A flexible DS is composed of a small set components that can be combined together Separation between mechanism and policy Mechanism: tells what a component can be done Policy: how the component is used For example The cache functionality in a web-browser is obtained via a component (cache) plus a policy (when using cache, how often replace the cache, e.g., according to the content, train time table Policy as a component (?!)

Scalability

Scalability technique Asynchronous communication No blocking calls increase concurrency (e.g., AJAX) Distribution Divide the load (e.g., DNS) Replication Many nodes offers the same service (e.g., CDN) Caching (local replica of data) Consistency is an issue

Asynchronous comm

Distribution

Examples of distributed applications Parallel/distributed computation Clusters Grid computing Cloud computing Information systems Transactional systems Enterprise Application Integration (EAI) Pervasive systems Sensor networks Home networks

Example of distributed computing system

Transaction processing systems

TP systems

Enterprise Application Integration

Electronic Health Care Appl.

Sensor Networks and application

Sensor Networks