Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 1 The History of the Jini™ Pattern Language."— Presentation transcript:

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

2 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 2 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]

3 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 3 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?

4 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 4 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.

5 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 5 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

6 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 6 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

7 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 7 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.

8 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 8 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.

9 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 9 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.

10 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 10 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

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

12 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 12 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?

13 OOPSLA 2000 Workshop The Jini™ Pattern Language © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000 13 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 13- 16, 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://www.posa.uci.edu, 2000http://www.posa.uci.edu [HeVi99] Michi Henning and Steve Vinoski, Advanced CORBA Prgrogramming with C++, Chapter 12.6 – Evictor pattern, Addison-Wesley, 1999


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

Similar presentations


Ads by Google