Notes from Coulouris 5Ed. 1 95-702 Distributed Systems Notes on Components.

Slides:



Advertisements
Similar presentations
P SATel Institute for Information Processing University of Pisa SantAnna school Pisa Today trends in Software Engineering 1. Distributed Objects 2. Component.
Advertisements

Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
University of British Columbia Software Practices Lab Introduction to Middleware for Software Engineering Eric Wohlstadter 539D.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
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.
Chapter 13 Physical Architecture Layer Design
Slides for Chapter 1 Characterization of Distributed Systems From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3,
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Component Technology objects versus components -- definitions interoperability.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
EJB Fundamentals Celsina Bignoli
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 8: Distributed.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
Exercises for Chapter 2: System models
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
Architectures of distributed systems Fundamental Models
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 9: Web Services.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 2: Architectural.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 12: Distributed.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 21: Designing.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Design of Parallel and Distributed.
Fault Tolerant Services
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Enterprise JavaBeans 3.0. What is EJB 3.0 -Reusable server-side component framework-technology -Designed to support building demanding enterprise – level.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Introduction to business component technologies. Component definitions Szyperski: A software component is a unit of composition with contractually specified.
Enterprise Computing Distribution and components.
EJB Enterprise Java Beans JAVA Enterprise Edition
Exercises for Chapter 1: Characterization of Distributed Systems From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 9 Web Services.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is prepared based.
A service Oriented Architecture & Web Service Technology.
Exercises for Chapter 14: Replication
Chapter 12: Architecture
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Distribution and components
Introduction to J2EE Architecture
Slides for Chapter 2: Architectural Models
Programming Models for Distributed Application
Inventory of Distributed Computing Concepts and Web services
Inventory of Distributed Computing Concepts
Slides for Chapter 2: Architectural Models
Component--based development
Chapter 12: Physical Architecture Layer Design
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Exercises for Chapter 8: Distributed File Systems
Distributed Systems through Web Services
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
Slides for Chapter 1 Characterization of Distributed Systems
Architectures of distributed systems
Exercises for Chapter 20: CORBA CASE STUDY
WEB SERVICES From Chapter 19, Distributed Systems
Architectures of distributed systems Fundamental Models
Slides for Chapter 14: Time and Global States
Presentation transcript:

Notes from Coulouris 5Ed Distributed Systems Notes on Components

Notes from Coulouris 5Ed. Components Components represent a natural evolution from distributed object computing. First, we will review problems with distributed objects (Java RMI and CORBA). Along the way we will examine the requirements that led to component based approaches Distributed Systems

Notes from Coulouris 5Ed. Issues with Object Oriented Middleware Implicit dependencies are not clear - The provided interfaces are a contract between the client and the server but say nothing about the requirements that the service may have. - E.g. Does it use a registry? Does it require other services such as transactions, security, persistence, etc.? Distributed Systems

Notes from Coulouris 5Ed. Issues with Object Oriented Middleware Since implicit dependencies are not specified it is difficult to ensure the safe composition of a configuration, to replace an object with another, and for third party developers to implement one particular element in a distributed configuration. Requirement: Specify not only the interfaces offered by an object but also the dependencies that object has on other objects in the distributed configuration Distributed Systems

Notes from Coulouris 5Ed. Issues with Object Oriented Middleware There is a lack of separation of concerns. - Programmers writing distributed objects are faced with dealing with non-functional concerns – security, transactions, coordination and replication, etc. - This tangling of concerns increases the complexity of distributed system programming Distributed Systems

Notes from Coulouris 5Ed. Issues with Object Oriented Middleware Requirement: The complexities of dealing with distributed systems services should be hidden wherever possible from the programmer Distributed Systems

Notes from Coulouris 5Ed Distributed Systems Issues with Object Oriented Middleware There is no support for deployment. - Objects must be deployed manually on individual machines. - This is a tiresome and error prone process in large heterogeneous environments. Requirement: Middleware platforms should provide support for deployment with the complexities hidden from the programmer Distributed Systems

Notes from Coulouris 5Ed. Three Requirements (1)Specify not only the interfaces offered by an object but also the dependencies that object has on other objects in the distributed configuration. (2)The complexities of dealing with distributed systems services should be hidden wherever possible from the programmer. (3)Middleware platforms should provide support for deployment with the complexities hidden from the programmer Distributed Systems

Notes from Coulouris 5Ed. Definition of Component Component: A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. From Szyperski’s book on component sofware. A given component specifies both its interfaces provided to the outside world and its dependencies on the other components in the distributed environment Distributed Systems

Notes from Coulouris 5Ed. Software Architecture In a given component configuration, every required interface must be bound to a provided interface of another component. This is also referred to as a software architecture Distributed Systems

Notes from Coulouris 5Ed Distributed Systems Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Software Architecture Example architecture - Components - Interfaces - Connections With a component based approach we have satisfied the first requirement.

Notes from Coulouris 5Ed. Separation of Concerns!! We need to remove complexity and simplify the development and deployment of distributed applications. In the distributed systems community we have seen the emergence of Enterprise Java Beans, CORBA Component Model (CCM) and Service Component Architecture (SCA) for Service Oriented Architectures Distributed Systems

Notes from Coulouris 5Ed. SOC Provided by Containers The task of a container is to provided a managed server-side hosting environment for components and to provide the necessary separation of concerns where components deal with application concerns and the container deals with the distributed systems and middleware issues Distributed Systems

Notes from Coulouris 5Ed. Application Server Middleware that supports the container pattern and the separation of concerns implied by this pattern is known as an application server Distributed Systems

Notes from Coulouris 5Ed Distributed Systems 15 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Application servers

Notes from Coulouris 5Ed. Next up Enterprise Java Beans (EJB’s) is a specification of a server-side managed component architecture and a major part of the Java Platform, Enterprise Edition (Java EE) Distributed Systems