An Extensible Binding Framework for Component- Based Middleware By Nikos Parlavantzas, Geoff Coulson, and Gordon S. Blair Presented by Erol Koç Concurrency.

Slides:



Advertisements
Similar presentations
Chapter 13 Application Framework. Outline Definition & anatomy Fulfilling the framework contract Building frameworks Examples.
Advertisements

TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
COM vs. CORBA.
RPC Robert Grimm New York University Remote Procedure Calls.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Session 2: task 3.2 GCM, Kracow, June l Current status of GCM Denis Caromel (10 mn each talk) l Wrapping CCA Components as GCM Components Maciej.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
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.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
Using Architecture Frameworks
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Communication in Distributed Systems –Part 2
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
UNIT-V The MVC architecture and Struts Framework.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Interoperating with Services in a Mobile Environment Andreas Dahl, Pål Rolfsen Grønsund, Per Thomas Kraabøl,
THE GITB TESTING FRAMEWORK Jacques Durand, Fujitsu America | December 1, 2011 GITB |
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
Information Management NTU Interprocess Communication and Middleware.
11 September 2008CIS 340 # 1 Topics To examine the variety of approaches to handle the middle- interaction (continued) 1.RPC-based systems 2.TP monitors.
(Business) Process Centric Exchanges
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
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.
GLOBE DISTRIBUTED SHARED OBJECT. INTRODUCTION  Globe stands for GLobal Object Based Environment.  Globe is different from CORBA and DCOM that it supports.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Jini Architecture Introduction System Overview An Example.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
Integration of QoS-enabled Distributed Object Computing Middleware for Developing Next- Generation Distributed Applications By Krishnamurthy et Al. Presented.
Independent Insight for Service Oriented Practice Summary: Service Reference Architecture and Planning David Sprott.
EGOS LLC CCSDS 14/ Question Question; Why a Service Viewpoint? Short Answer; Because a service viewpoint provides a useful additional level.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Java Distributed Computing
Windows Communication Foundation and Web Services
Design Patterns-1 7 Hours.
Java Distributed Object System
Java Distributed Computing
Distribution and components
#01 Client/Server Computing
Programming Models for Distributed Application
Inventory of Distributed Computing Concepts and Web services
Inventory of Distributed Computing Concepts
An Introduction to Software Architecture
Software Architecture Lecture 7
Software Architecture Lecture 7
Design Yaodong Bi.
Software Architecture Lecture 7
#01 Client/Server Computing
Software Architecture Lecture 6
Presentation transcript:

An Extensible Binding Framework for Component- Based Middleware By Nikos Parlavantzas, Geoff Coulson, and Gordon S. Blair Presented by Erol Koç Concurrency Seminar 2004

Unpacking the title (1) „An Extensible Binding Framework for Component-Based Middleware“ –process of associating or interconnecting different objects –a binding type (BT) is a service description that supports a particular pattern of interaction between application components e.g. RMI, publish/subscribe, message passing and eventing, A/V streaming,...

Unpacking the title (2) „An Extensible Binding Framework for Component-Based Middleware“ –components reusable deployment units of software –component framework (CF) architecture collection of rules and interfaces that govern the interaction of a set of components plugged into it contracts reusable software architecture with runtime plugins environment of well defined architectural properties and invariants for plug-ins

Unpacking the title (3) A binding framework for component- based middleware is therefore a framework for plug-in binding types

Overview 1.Motivation 2.Architecture 3.Conceptual Binding Model 4.How to add a new BT?  BT specification  The Binding Contract 5.Conclusion

Motivation Support –current middleware platforms support only a small, predefined, set of fundamental binding types e.g. in CORBA: RMI, media streams, event handling other possibilities: groups comms, shared spaces,... Integration –different APIs are a lack of integration leads to missed opportunities for design and code reuse increases the cognitive load on middleware users leads to problems in realising globally-coordinated QoS across binding types

Overview 1.Motivation 2.Architecture 3.Conceptual Binding Model 4.How to add a new BT?  BT specification  The Binding Contract 5.Conclusion

Architecture

Overview 1.Motivation 2.Architecture 3.Conceptual Binding Model 4.How to add a new BT?  BT specification  The Binding Contract 5.Conclusion

Conceptual Binding Model (1) bindings between participants responsible for binding establishment binder verifies that participants conform to participant roles, defined in the BT specification binder invokes appropriate operations on participant components and establishes binding return BindingCtl for binding control & management bindingCtl Bind(list_of_pcps, BT_specific_context_info)Interface:

Conceptual Binding Model (2) remote participants are represented as reps (‚remote participant representatives‘) generator creates a iref (value that can be passed around) iref is transferred to binder‘s side and passed to a resolver resolver creates rep using iref, can be passed to binder APU = „anonymous participant use“ if binding initiator is not explicitly represented iref Generate(pcp, BT_specific_context_info)Interface: rep Resolve(iref)Interface:

Conceptual Binding Model (3) StdGenerator –special generator implementation –provided by the framework by default –used to marshal arbitrary component references »e.g. pointers to component instances –necessary because component model presumes o-o interfaces  component references may need to be passed as arguments StdResolver –dispatch given iref to the appropriate resolver (based on the BT identifier from the iref), invoke resolver and return resulting rep

Overview 1.Motivation 2.Architecture 3.Conceptual Binding Model 4.How to add a new BT?  BT specification  The Binding Contract 5.Conclusion

Architecture

Overview 1.Motivation 2.Architecture 3.Conceptual Binding Model 4.How to add a new BT?  BT specification  The Binding Contract 5.Conclusion

Publish/Subscribe Example (1)

Specifying Binding Types (1) BT as a set of four `collaborations` –Binding Participation describes interaction among binding participants includes definition of participant roles »3 roles: publisher, subscriber, channel »publisher invokes an operation on event interface, corresponding operation gets invoked on all subscribers »synchronous communication »at most-once semantics –Iref Generation and Resolution describes the process of managing irefs »Channel: iref Generate (event_interface) »Subscriber: iref Generate (subscriber_interface) »use StdResolver to get reps

Specifying Binding Types (2) BT as a set of four `collaborations` –Binding Establishment describes sequence of actions to set-up a binding »Publisher: apu Bind (rep) »Subscriber: bindingCtl Bind (rep, subscriber) –Binding Control and Management describes process of managing an already- established binding (monitoring, controlling, adding/removing participants,...) »via bindingCtl or apu

Publish/Subscribe Example (2) publisher subscribers GetResolverForBT (111) StdResolver StdResolver.resolve (iref) GetBinderForBT (rep.getBTid) binder.bind (rep, QoS) apu.fireEvent (...) rep.fireEvent (...) StdResolver StdResolver.resolve (iref) GetBinderForBT (rep.getBTid) binder.bind (rep, subscriber i, QoS) bindingCtl GetResolverForBT (721) Resolver 721.resolve(iref)

Publish/Subscribe Example (3) Implementation of the channel? i.based on simple RMI BT channel has manager component for subscribers ii.multi-party protocol channel represented as multicast address iii.enable control of QoS characteristics of event delivery e.g. via bindingCtl or additional generator interfaces

Overview 1.Motivation 2.Architecture 3.Conceptual Binding Model 4.How to add a new BT?  BT specification  The Binding Contract 5.Conclusion

The BT Contract (1) BT implementations –BinderProvider –GeneratorProvider supplies implementations for the binder and resolver roles of the BT supplies the generator roles can be deployed and replaced independently

The BT Contract (2) operations for lifecycle management (initialisation and termination) BT state –READY not used –ACTIVE in use  reference counting –can only be terminated when in READY state –changes states autonomously –has to notify BindingCFI about state changes

The BT Contract (3) Binding CF implementation 1.access point for BTs 2.manage configurations of BT components 3.provide BT components with access to other BTs and low-level services

The BT Contract (4) IBTAccess: GetBinderForBT GetResolverForBT GetGeneratorForBT - invokes registry Registry: -persistent repository -maps from BT identifier to BinderProvider and GeneratorProvider -invokes Installer if not found Installer: –download and install components corresponding to globally unique BT identifier

The BT Contract (5) use IBTImplementation to initialise/terminate components offer IBTImplementationUse for notifications lifecycle management policies with pluggable unloader components -track change and decide when to remove them allow clients to dynamically add, remove, replace and retrieve BinderProvider, GeneratorProvider and unloader components

The BT Contract (6) IBTServices defines an operation GetService() which receives as an input a service identifier and an interface type and return an interface of the requested type used to provide BT components with access to other BTs and low- level services interface GetService(service_id, interface_type)

Overview 1.Motivation 2.Architecture 3.Conceptual Binding Model 4.How to add a new BT?  BT specification  The Binding Contract 5.Conclusion

Conclusion Interesting approach, but some aspects are still open: –Where to get the irefs from? –Who does specify the format of irefs? –Who assigns the BTids? –Who manages the BTids? –What about QoS negotiations? –Protections from `bad` BTs?

Finish Thank you!

OpenORB