OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 1 The History of the Jini™ Pattern Language.

Slides:



Advertisements
Similar presentations
EDUC4417 Senior Computers Dr. Mumbi Kariuki January 28, 2004 Object-Orientation David Cuillerier.
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
TU/e Service Discovery Mechanisms: two case studies / IC2002 Service Discovery Mechanisms: Two case studies Control point Device UPnP Terminal Domain Host.
Chapter 5: Hiding implementation ● Two viewpoints regarding classes: – Implementor of a class: knows everything about class – User of a class: Only wants.
Software Engineering 2003 Jyrki Nummenmaa 1 OBJECT ARCHITECTURE DESIGN These slides continue with our example application, based on the simplified.
JINI Shashwat Shriparv InfinitySoft.
THE JINI TECHNOLOGY Alessio Zumbo
The road to reliable, autonomous distributed systems
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Introduction to Jini & JavaSpaces
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
OSGi: Open Services Gateway Initiative Richard Chapman 5 Sept
Reuse Activities Selecting Design Patterns and Components
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
Introduction - What is Jini Technology?
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
1 06/00 Questions 10/6/2015 QoS in DOS ECOOP 2000John Zinky BBN Technologies ECOOP 2000 Workshop on Quality of Service in Distributed Object Systems
October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor.
SelfCon Foil no 1 Self configurating systems - a starter Rolv Bræk, Item.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Update on Database Issues Peter Chochula DCS Workshop, June 21, 2004 Colmar.
Algoval: Evaluation Server Past, Present and Future Simon Lucas Computer Science Dept Essex University 25 January, 2002.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
PVSSProxy The first piece of the MACS procedure framework (ProShell) Angela Brett.
Advanced Design and System Patterns The Microkernel Pattern.
Sunday, October 15, 2000 JINI Pattern Language Workshop ACM OOPSLA 2000 Minneapolis, MN, USA Fault Tolerant CORBA Extensions for JINI Pattern Language.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Computer Science Topical Paper Presentation #12 Mark Pfeffer Pooling P a t t e r n P o o l i n g – P a g e 1 by Michael Kircher, Prashant Jain.
© Siemens AG, CT SE, Prashant Jain, October 15, 2001 C O R P O R A T E T E C H N O L O G Y OOPSLA 2001 Workshop Software & Engineering Architecture 1 A.
Integrated Systems Division Service-Oriented Programming Guy Bieber, Lead Architect Motorola ISD C4I 2000 OOPSLA Jini Pattern Language Workshop Guy Bieber,
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
©Kabira Technologies Inc, 2001 May 7-9, 2001 Westward Look Resort Tucson, Arizona SMUG 2001 Execution in UML.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Frameworks CompSci 230 S Software Construction.
Jini Architecture Alessandro Brawerman. Contents Jini definition Advantages Architecture How it works Websites to check.
Jini Architecture Introduction System Overview An Example.
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
Jini Architectural Overview Li Ping
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
1 My Dream of Jini Fabio Kon Jalal Al-Muhtadi Roy Campbell M. Dennis Mickunas Department of Computer Science University of Illinois at.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
OOPSLA 2000 Workshop “The Jini™ Pattern Language” © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 CORBA Based Jini™ - JinACE Michael.
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
The Object Pool Pattern (Creational – Not a GoF Pattern) ©SoftMoore ConsultingSlide 1.
Eclipse Debug Views Update Policy. 2 Copyright (c) 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Introduction: Databases and Database Systems Lecture # 1 June 19,2012 National University of Computer and Emerging Sciences.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is prepared based.
The Role of Reflection in Next Generation Middleware
Containers as a Service with Docker to Extend an Open Platform
Patterns in Universal Plug & Play
CSE300-2 Distributed Object Computing
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Could Jiro™ Extend the Jini™ Pattern Lanuguage?
OBJECT ARCHITECTURE DESIGN
Jini B.Ramamurthy 5/15/2019 B.Ramamurthy.
Leasing.
Presentation transcript:

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, The History of the Jini™ Pattern Language Michael Kircher, Prashant Jain, and Kirthika Parameswaran OOPSLA 2000 Workshop

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, How everything started First question: Can Jini™ be implemented in some other programming language, e.g. C++? What exactly would that mean? We need: –Communication framework, e.g. CORBA –Lookup service, e.g. CORBA Name Service –Mechanism to dynamically load services, e.g. Service Configurator [JaSc97]

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, Next Steps But can it actually all work together? Still many open questions: –How to represent services? As DLLs? Shared objects? –What are the interfaces? What is THE common service interface? –What is the right granularity? How to split into proxy and service? –How to package them? –How to bootstrap a service from a downloaded software package?

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, Getting Feedback Talking to others … Doug Schmidt: “.. not just a Java-centric technology, but a "pattern language" for "plug & play" component-centric development.” This gave a boost to our efforts and we started abstracting away from implementation details.

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, Patterns to the Rescue Started identifying key aspects of Jini™ using patterns. Came up with an initial list of: –Lookup –Leasing –Activator –On-Demand-Loading (Lazy Evaluation) –Evictor

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, Lookup Pattern Abstract –The Lookup pattern describes how to find and retrieve initial references to distributed objects and services. Structure: –Lookup Service: Allows clients to look up services based on properties. –Service: Offers a service; registers itself with the Lookup Service –Client: Uses a service; finds it via the Lookup service

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, Leasing Pattern Abstract –The Leasing pattern simplifies resource management by specifying how resource users can get access to a resource from a resource provider for a pre-defined period of time. Structure: –Resource: Provides some kind of functionality or service. –Lease: Provides a notion of time that can be associated with the availability of the Resource. –Grantor: Grants a Lease on the Resource. –Holder: Obtains a Lease on the Resource and then uses the Resource.

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, Activator Pattern Abstract: –The Activator pattern describes how services can be activated in a generic way. Structure: –Activator: Responsible for activating services. –Service: Offers a service; can be activated and de-activated. –Client: Accesses a service via the Activator.

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, On-Demand-Loading Pattern (extension of Activator) Abstract –The On-Demand-Loading pattern describes how services can be activated in a memory efficient way by putting the services into shared libraries and loading them only on demand. Structure: –Service: Offers a service; is available as shared library –Activator: Activates the service by loading the shared library.

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, Evictor Pattern Abstract –The Evictor pattern describes a solution to free up unused resources based on policies. Structure –Evictor: Manages a set of services based on available resources. If resources get scarce, it evicts services based on policies. –Service: Offers a service; can be activated and de- activated

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, The Jini™ Pattern Language Client Lookup Service Provider Service Leasing Activator On demand Loading Lookup Evictor

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, Is that all? How do we extend the Jini™ Pattern Language? Which problems are not solved, yet? How would the implementations in different environments, as the Java environment, look like? Could we bring in patterns from other domains? How can the Jini™ Pattern Language be applied to other domains?

OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, References [KiJa00] Michael Kircher, and Prashant Jain, Lookup Pattern, EuroPLoP 2000 conference, Irsee, Germany, July 5-9, 2000 [JaKi00] Prashant Jain, and Michael Kircher, Leasing Pattern, PLoP 2000 conference, Allerton Park, Illinois, USA, August , 2000 [JaSc97] Prashant Jain and Doug C. Schmidt, Service Configuratior - A Pattern for Dynamic Configuration of Services, C++ Report, SIGS, Vol. 9, No. 6, June, 1997 [St00] Michael Stal, Activator Pattern, http:// [HeVi99] Michi Henning and Steve Vinoski, Advanced CORBA Prgrogramming with C++, Chapter 12.6 – Evictor pattern, Addison-Wesley, 1999