Broker Pattern Pattern-Oriented Software Architecture (POSA 1)

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
COM vs. CORBA.
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
ECEN 5053, Paradigms & Patterns, Wk 81 Paradigms & Patterns - 3 ECEN 5053 SW Eng of Distributed Systems University of Colorado, Boulder.
Securing the Broker Pattern Patrick Morrison 12/08/2005.
Architectural Pattern: Broker
Architectural patterns1. 2 Patterns Architectural patterns –Fundamental structural organization for software systems. –High-level subdivision of the system.
Technical 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.
Seyed Mohammad Ghaffarian ( ) Computer Engineering Department Amirkabir University of Technology Fall 2010.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 3 ECEN5053 SW.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 2, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 2 ECEN5053 SW.
Paradigms for Process Interaction ECEN5053 Software Engineering of Distributed Systems University of Colorado, Boulder.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
December 9, 2001Architectural Design, ECEN Architecture – Layers, in particular ECEN 5543 / CSCI 5548 SW Eng of Standalone Programs University of.
Architectural patterns1. 2 Patterns Architectural patterns –Fundamental structural organization for software systems. –High-level subdivision of the system.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Chapter 22 Object-Oriented Design
An Architecture for a Massively Multiplayer Online Role Playing Game Engine.
Design Patterns Introduction. What is a Design Pattern?  A technique to repeat designer success.  Borrowed from Civil and Electrical Engineering domains.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
Case Studies on Design Patterns Design Refinements Examples.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is designed based.
Class Seminar of “Component-Based Software Engineering” Course By : F. Zahmatkesh University of Science and Technology of Mazandaran, Babol
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Information Management NTU Interprocess Communication and Middleware.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Shuman Guo CSc 8320 Advanced Operating Systems
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
UML (Unified Modeling Language)
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Ying Huang, Marc Sentany Department of Computer Science.
Intro Architectural Patterns, Mud to structure &Distributed system
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.
Topic 5: CORBA RMI Dr. Ayman Srour
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is prepared based.
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Pertemuan 09 Architectural Patterns Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
J2EE Platform Overview (Application Architecture)
Design Patterns-1 7 Hours.
Chapter : Architecture Patterns
Distributed Computing
Common object request broker
CORBA Alegria Baquero.
Distribution and components
3. Distributed Systems – Architecture Models Part 1
Interpreter Style Examples
CORBA Alegria Baquero.
Patterns.
Inventory of Distributed Computing Concepts
Component--based development
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Presentation transcript:

Broker Pattern Pattern-Oriented Software Architecture (POSA 1) F. Buschmann, Regine Meunier, H. Rohnert, P. Sommerlad, M. Stal

ECEN 5053 SW Eng of Dist Sys, Univ of Colorado Basic Pattern Format Name and summary description Example Context Problem Solution Structure CRC cards Scenarios and Sequence diagrams Implementation Example Resolved Variants Known Uses Consequences Related Patterns and Credits 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado

ECEN 5053 SW Eng of Dist Sys, Univ of Colorado Basic Pattern Format Name and summary description Example Context Problem, including forces Solution Structure CRC cards Scenarios and Sequence diagrams Implementation Example Resolved Variants Known Uses Consequences: benefits and liabilities Related Patterns and Credits 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado

Summary Description of Broker Pattern ECEN 5053 SW Eng of Distributed Systems Summary Description of Broker Pattern 9/19/2006 Structure distributed sw systems with decoupled components that interact by remote service invocations Responsible for coordinating communication transmitting results transmitting exceptions Suppose you have a City Information System for a WAN Some computers host: 1 or more services to maintain information about events, restaurants, hotels, historical monuments, public transportation Computer terminals connected to the network Tourists can retrieve information using a browser. Front-end sw supports online retrieval of info from appropriate servers and its display on the screen Data is distributed across the network; not all maintained in the terminals. Expectations: The system changes and grows continuously so individual services are decoupled from each other Terminal sw should be able to access services without having to know their location Allows us to move, replicate, or migrate services One (not good enough) solution: Install a separate network to connect all terminals and servers – an intranet system. Disadvantages: Not every information provider wants to connect to a closed intranet. Available services should also be accessible from all over the world. 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado University of Colorado, Boulder

Broker Pattern: Context “Your environment is a distributed and possibly heterogeneous system with independent cooperating components.” 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado

Broker Pattern: Problem Build a complex sw system as a set of decoupled, interoperating components rather than a monolith. Greater flexibility, maintainability, changeability Partitioning into independent components makes system distributable and scalable. Require a means of inter-process communication If components themselves handle communication, result has several dependencies and limitations System depends on which comm mechanism used Clients need to know location of servers 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado

Broker Pattern: Problem - 2 ECEN 5053 SW Eng of Distributed Systems Broker Pattern: Problem - 2 9/19/2006 Need services for adding, removing, exchanging, activating, and locating components Must not depend on system-specific details to guarantee portability and interoperability An object that uses an object should only see the interface offered by the object – know nothing about implementation. Previous slide is about inter-process communication. The above are additional services needed. 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado University of Colorado, Boulder

Broker Pattern: Problem - 3 ECEN 5053 SW Eng of Distributed Systems Broker Pattern: Problem - 3 9/19/2006 Broker pattern balances the following forces Components access others’ services via remote, location-transparent service invocations. Need to exchange, add, or remove components at run-time Architecture should hide system-specific and implementation-specific details from users of components and services. Previous slide is about inter-process communication. The above are additional services needed. 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado University of Colorado, Boulder

Broker Pattern: Solution ECEN 5053 SW Eng of Distributed Systems Broker Pattern: Solution 9/19/2006 Introduce a broker component to achieve better decoupling of clients and servers Servers: register themselves with the broker and make their services available to clients through method interfaces. Clients: access the functionality of servers by sending requests via the broker A broker’s tasks: Locating the appropriate server and forwarding a request to that server Transmitting results and exceptions back to the client Application accesses distributed services by sending message calls to the appropriate object. Does not need to focus on low-level inter-process communication. Broker architecture is flexible Allows dynamic change, addition, deletion, and relocation 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado University of Colorado, Boulder

Broker Pattern: Solution -- 2 ECEN 5053 SW Eng of Distributed Systems Broker Pattern: Solution -- 2 9/19/2006 Reduces the complexity involved in developing distributed applications. Introduces object model where distributed services are encapsulated within objects. Broker systems offer a path to the integration of two core technologies: Distribution Object technology Extend object models from single applications to dist’d applications made of decoupled components that can run on heterogeneous machines and written in different programming languages. Application accesses distributed services by sending message calls to the appropriate object. Does not need to focus on low-level inter-process communication. Broker architecture is flexible Allows dynamic change, addition, deletion, and relocation 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado University of Colorado, Boulder

Broker Pattern: Structure ECEN 5053 SW Eng of Distributed Systems Broker Pattern: Structure 9/19/2006 Participating components Clients Servers Brokers Bridges Client-side proxies Server-side proxies 6 pages on “structure” 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado University of Colorado, Boulder

Server-side interaction ECEN 5053 SW Eng of Distributed Systems 9/19/2006 9 pages spelling out structure for 3 scenarios 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado University of Colorado, Boulder

ECEN 5053 SW Eng of Dist Sys, Univ of Colorado Client-Server interaction via Broker 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado

ECEN 5053 SW Eng of Dist Sys, Univ of Colorado Object relationships 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado

Broker pattern: Implementation ECEN 5053 SW Eng of Distributed Systems Broker pattern: Implementation 9/19/2006 Define an object model or use an existing one Decide which kind of component-interoperability the system should offer Specify the APIs the broker component provides for collaborating with clients and servers Use proxy objects to hide implementation details from clients and servers Design the broker component in parallel with steps 3 and 4 broken down into nine steps Develop IDL compilers 4. On client side, a local proxy represents the remote server object called by the client. On the server side, a proxy is used for playing the role of the client. Proxy objects: package procedure calls into messages and forward the messages to the local broker component they receive responses and exceptions from the local broker and pass them to the calling client Whenever you implement interoperability by providing an IDL, you need to build an IDL compiler for every programming language you support. The IDL compiler translate the server interface definitions to programming language code. When many programming languages are in use, it is best to develop the compiler as a framework that allows the developer to add his own code generators. 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado University of Colorado, Boulder

Broker pattern: Known Uses CORBA Microsoft’s OLE WWW – Hypertext browsers such as Mosaic and Netscape act as brokers and WWW servers play the role of service providers 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado

Broker Pattern: Consequences ECEN 5053 SW Eng of Distributed Systems Broker Pattern: Consequences 9/19/2006 Benefits Location transparency Changeability and extensibility of components Portability of a Broker system Interoperability between different Broker systems Reusability Liabilities Restricted efficiency Lower fault tolerance (server fails, broker fails, ...) Testing and debugging Liabilities – testing and debugging – A client app developed from tested services is more robust and easier itself to test Debugging and testing a broker system is a tedious job because of the many components involved 9/19/2006 ECEN 5053 SW Eng of Dist Sys, Univ of Colorado University of Colorado, Boulder