160 likes | 311 Views
LegORB, the 2K Component-Based Lightweight ORB. Software Research Group UIUC. Introduction. Ubiquitous computing requires integration of heterogeneous devices. Heterogeneity must be analyzed from different points of view: Different architectures. Different OSes.
E N D
LegORB, the 2K Component-Based Lightweight ORB Software Research Group UIUC
Introduction • Ubiquitous computing requires integration of heterogeneous devices. • Heterogeneity must be analyzed from different points of view: • Different architectures. • Different OSes. • Different programming languages. • Different device configurations.
CORBA and Heterogeneity • CORBA provides the “glue” to hide some aspects of heterogeneity: • Different architectures. • Different OSes. • Different programming languages. • CORBA fails to hide some other aspects of heterogeneity: • Different device configurations.
CORBA Implementations • Static approach. • Monolithic design and/or implementation. • Big size.
Reflective ORBs • Export their internal status and offer an interface to modify their architecture. • Changing execution environments can take benefit of reflection.
LegORB • Reflective component-based ORB. • Only required functionality is offered. • LegORB can be dynamically customized for different device configurations.
LegORB • Based on the Component Configurator pattern. • Component Configurator keeps dependencies among different objects consistent. • By combining different components, different functionality can be achieved.
LegORB and CORBA compatibility • Two approaches to CORBA compatibility: • Functional (low-level). • Application development (high-level). • LegORB focuses on the functional compatibility (GIOP). • Application development compatibility can be built on top of the functional one.
LegORB architecture • It is based in three component configurators: • LegORB Configurator. • Client Side Configurator. • Server Side Configurator. • The LegORB Configurator is the entry point to the ORB.
LegORB Configurator Server Side Configurator Client Side Configurator LegORB architectureLegORB Configurator
GIOP Writer GIOP Reader Marshaler Demarshaler Connector Invocation Interface LegORB architectureClient-Side Configurator IIOP MIOP
LegORB architectureServer-Side Configurator GIOP Writer GIOP Reader Marshaler Demarshaler Acceptor Object Adapter
GIOP Writer GIOP Writer GIOP Reader GIOP Reader Marshaler Marshaler Demarshaler Demarshaler Acceptor Connector Object Adapter Invocation Interface LegORB usage example Client Server TCP TCP Host B Host A
GIOP Writer GIOP Writer GIOP Reader GIOP Reader Marshaler Marshaler Demarshaler Demarshaler Acceptor Connector Object Adapter Invocation Interface LegORB usage example Client Server TCP IPC TCP IPC Process B Process A Host A
Conclusion • LegORB offers a WYNIWYG architecture. • LegORB can be customized for different device configurations (Minimal PalmPilot client-side functionality requires 6KB). • LegORB is ideal for devices with limited resources (Mobile Phones, PDAs, etc.).
Contact • e-mail address • mroman1@cs.uiuc.edu • Web page • http://choices.cs.uiuc.edu/2k