CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.

Slides:



Advertisements
Similar presentations
Distributed Systems Architectures
Advertisements

COM vs. CORBA.
Database Architectures and the Web
©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 Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Distributed components
Technical Architectures
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
Distributed Systems Architectures
City University London
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Introducing … Distributed Systems.
The Architecture of Transaction Processing Systems
EECE 411: Design of Distributed Software Applications What is a Distributed System? You know when you have one … … when the failure of a computer you’ve.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
DISTRIBUTED COMPUTING
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
Distributed Systems Architectures
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Lecture 15 Introduction to Web Services Web Service Applications.
Architectures of distributed systems Fundamental Models
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Types of Operating Systems
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
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.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Arch-1 9.Architecture. Arch-2 What’s Architecture? Description of sub-system –Components/sub-systems –Their interaction Framework for communication.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
©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.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Internet and Distributed Application Services
Chapter 1 Characterization of Distributed Systems
CSC 480 Software Engineering
Distributed Systems Bina Ramamurthy 11/12/2018 From the CDK text.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Inventory of Distributed Computing Concepts
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
System Models and Networking Chapter 2,3
Architectures of distributed systems
Introduction To Distributed Systems
Architectures of distributed systems Fundamental Models
Presentation transcript:

CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance & fault tolerance  Localized computation at point of use  Resource availability is localized  Maximum concurrency

CORBA2 Distributed Software Systems Breaking a system into distributed specialized components forces you to have:  High cohesion within components  Loose coupling between them Distribution gives specialization  DBMS on a hardware optimized machine  Presentation components not tied to heavy load computation (DBMS)  Business logic can be treated as a separate set of services Tiers!!

CORBA3 Distributed Components Components are designed to offer a set of services These services form the components interface Other components use this interface independent of the location of the component (local or remote)

CORBA4 Evolution of Distribution Distributed systems arise naturally from the structure and process of a business  Geographic separation  Legacy integration  Merger, acquisition The supporting technology has matured  Faster networks  Higher level protocols & APIs  Use of Internet and Intranet  Client/Server

CORBA5 Evolution of Distribution Enterprise solutions are needed to support new management structures Technology was initially used to automate manual processes The redesign of company structure and work practice is aimed at adding value Legacy backbone must be used (cost) so we need system that can integrate and migrate Hence the growth of distributed computing

CORBA6 Consequences of Distribution Operations execution is no longer trivial  Failure modes more complex than local cases  Communication can dominate computation All activities are intrinsically concurrent The ratio of communication to computation is a major factor that must be considered in the architecture The ANSA (Advanced Network System Architecture) lists some inappropriate assumption for distributed systems

CORBA7 ANSA Inappropriate Assumptions Global Shared Memory  Message passing, distributed memory Sequential Execution  Concurrency is intrinsic Total Failure  Components can continue to function Synchronous Interaction  Network latency may force use of synchronous calls Locality of Interaction  Interaction local or remote, with increased scope for failure Fixed Location  Components may migrate Global Consistency

CORBA8 Principles of Distribution Previous research has identified principles and architectures (ANSA, ISO) Reference models are frameworks for development  OSI 7 layer model  ODP viewpoint and projections FTP at Application, RPC at Session, TCP at Transport etc Open Distributed Processing (ODP) is a reference model that defines concepts for distributed development

CORBA9 Transparency Mechanisms We need transparency to reduce development complexity  This can simplify both the job of the architect and the implementer To achieve transparency support is required at every stage  Infrastructure and Architecture  Design and Implementation The aim of transparency is to mask districted phenomenon (systems are never completely seamless)

CORBA10 Transparency Mechanisms Access  Access to local and remotes services must be the same Location  No knowledge of where a service resides is needed Replication  For performance service replication may be necessary Failure  Faults don’t propagate through the entire system

CORBA11 Transparency Mechanisms Migration  Movement of services does not impact applications Scalability  Performance must scale with size Transaction  Services can be shared without interference from other client  No partial states. A transaction is an atomic unit of work

CORBA12 Programming Distributed Systems Different abstraction levels available for programming Lower level: More control but more complexity Higher Level: Closer to problem domain but potentially inflexible and/or propriety Application …. Transport …. Physical Application …. Transport …. Physical ClientServer

CORBA13 Programming Distributed Systems Inter-Processor communication happens at the physical layer Ideal programming layer is the application layer Programmers deal with the abstraction of business objects and moves down to implement sockets etc This level (layer 3,4) is not suitable for the high level abstractions and introduces too much complexity for developing the entire application here

CORBA14 Programming Distributed Systems In theory the lower layers should be encapsulated In practice this is not achievable so specialist programmers for the relevant layers are required This leads to the requirement for much integration testing The distributed computing model tries to provide a simple and uniform model for communication to directly address the needs of the developers at each layer

CORBA15 Distribution Mechanisms Middleware is the software used to enable distributed computing  It is a set of common business-unaware services and allow components to interact over a network  Often referred to as the “plumbing” Middleware should make networks irrelevant to applications and end users Solely a technology product: transaction managers, message querying systems etc

CORBA16 RPCs Extends the concept of a basic function call Layered onto of an underlying transport system such as TCP/IP Convenient methods for implementing client/server applications Used for message passing Powerful feature of RPC is transparency Foundation for full enterprise and scalable distributed systems

CORBA17 Distributed Object Systems Object technology can be applied  Tactically  Strategically Objects are encapsulated entities that interact by passing messages through defined interfaces  Intrinsic properties makes objects ideal for distribution  Refinements and clarifications still tend to be needed

CORBA18 Distributed Object Systems Encapsulation makes object suitable for distribution The separation of interface and implementation means interaction can only take place in ways determined by the developer With distributed systems there is also no access to the actual representation

CORBA19 Distributed Object Systems A good OO design allows for the separation of visual, business and technical components Distribution simply allows these components to be placed on the most suitable hardware available without having to alter the application (in theory)

CORBA20 Distributed Object Technologies Different standards available  OMG CORBA (from previous work with disparate systems)  Microsoft DCOM (network COM)  Java RMI (homogenous components with JVMs) Each technology has its own origins, strengths and area of application Distributed object model offers finer granularity than RPC model

CORBA21 Distributed Object Technologies The tasks of the selected middleware technology are:  Locate available objects  Route messages independent of network, operating systems and languages  Transaction handling across objects Therefore different standards have developed to achieve these tasks

CORBA22 Classes of Distributed Support Services Distributed presentation services Distributed processing services Remote data access service Remote file access service Distributed data management Distributed object management services

CORBA23 Summary Distribution is intrinsic in many systems and needs to be exploited References models provide guidelines and common concepts at every level Flexibility and open standards are required to build seamless heterogeneous systems Distributed objects are the obvious evolution of OO systems