90 likes | 332 Vues
CORBA Based Jini ™ - JinACE. Michael Kircher, Prashant Jain, Kirthika Parameswaran. JinACE - Overview. JinACE is a project, with the goal of implementing the Jini™ Pattern Language in programming languages other than Java. The first prototype
E N D
CORBA Based Jini™ - JinACE Michael Kircher, Prashant Jain, Kirthika Parameswaran © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000
JinACE - Overview • JinACE is a project, with the goal of implementing the Jini™ Pattern Language in programming languages other than Java. • The first prototype • used C++ as programming language and CORBA as transport mechanism • provided a Lookup Service to register and retrieve services • transferred services as DLLs in sequences of octets • made use of the Service Configurator design pattern[JaSc97] to allow dynamic loading of services • used name-value pairs to describe properties © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000
Extending JinACE • The prototype proved that the idea is valid, but also showed some shortcomings. An understanding of component and container was needed. • Why Component Technology? • Abstract services into the container • Write-once-run-anywhere (WORA™) • Extending JinACE to use Component Technology • A component offers a service • A container provides basic functionality needed by all services • A Jini™ service respectively the proxy can be seen as a component that gets loaded into the address space (container) of a process © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000
JinACE – CORBA Component Model Home Component Callbacks Client external internal POA Container ORB Notification Transaction Security Persistence © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000
JinACE - CORBA Component Model • CCM is an ideal component platform • it is standardized • it has a well defined support for components • it supports multiple interfaces and navigation on them • it standardizes deployment and configuration of components • CCM provides a complete framework on the client and the server side to support ad hoc scenarios • e.g. the standard component server can get enhanced to support dynamic scenarios. • CCM has well-defined deployment descriptors in the form of XML files that can be used to connect components in an ad hoc manner. © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000
JinACE - CORBA Component Model • CORBA Components • are described in assembly and component descriptions • have well defined assembly and component installations • define archives holding descriptions and implementations • information about dependencies to other libraries or components • CORBA supports • Name Service supports lookup of references by names • Trading Service supports lookup of references by properties • Implementation Repository supports start-up of servers on demand © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000
JinACE - What is missing in CCM? • A lookup service that is able to hold component implementations • Component implementations have descriptors associated with them which need to be held as well. • Properties describing a service need to get associated with the component implementation © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000
JinACE - Solution: Jini™ meets CCM • A mixture of Jini™ and CORBA Components could provide the best of both worlds • It would enhance Jini™ communication mechanisms and available services • It would make CCM Ad Hoc Networking capable • A new generation of lookup service might be needed to suit the needs • Most of this applies to EJB as well! © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000
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 • [Mi99] Jeff Mischkinsky, "CORBA 3.0 New Components chapters,“ OMG TC Document ptc/99-10-04, October 1999 • [St00] Michael Stal, Activator Pattern, http://www.posa.uci.edu, 2000 • [HeVi99] Michi Henning and Steve Vinoski, Advanced CORBA Prgrogramming with C++, Chapter 12.6 – Evictor pattern, Addison-Wesley, 1999 © Michael Kircher, Prashant Jain, and Kirthika Parameswaran, 2000