Adaptor hooks can be used to do many powerful things. For example, adaptor hooks can be used to change how classes and resources are loaded, how bundles are stored on disk, provide additional diagnostics etc. Eclipse plugs into Equinox using this very same mechanism, and anyone can easily specify their own adaptor to compliment, improve, or even completely replace the default Equinox hook implementations.
In this demo, we will dive into the details of the adaptor hook architecture, show how adaptor hooks are configured and demonstrate real adaptor hooks in a live coding session. We will show various examples, such as an adaptor hook that uses special characteristics offered by the IBM J9 virtual machine to load classes from a memory mapped archive (JXE) or from shared memory (using shared classes). Furthermore, we will demonstrate how an OSGi adaptor can be used to easily monitor OSGi applications and how an adaptor can even be used to implement a full virtualization layer. We will also show other successful adaptors, in particular the one developed by the Eclipse aspect-oriented project. After attending this demo, attendees will know how to write their own OSGI adaptor, how to configure the platform, and how to replace and/or compliment the default Equinox adaptor hooks with their own policies for class and resource loading.
Tom has 9 years of experience as an IBM software architect and developer, and is currently working for IBM Lotus. Focus is on modularity and OSGi Framework design and development. He is the lead developer for the Equinox OSGi Framework implementation in Eclipse. He is a participant in the OSGi specification process. In particular, he has participated in specifying the modularity features of the OSGi R4 and R4.1 specification. He has a Bachelor of Science in Computer Science from the University of Texas El Paso.
Chris was born in The Netherlands, obtained a MsC at the Vrije Universiteit of Amsterdam and a PhD at the Erasmus University of Rotterdam. At both IBM T.J. Watson Research Center and Morgan-Stanley, Chris worked on tools for user interfaces, component infrastructures, program analysis, debugging, visualization, compression, and optimization. He led the OTI Amsterdam lab for 3.5 years, working on WebSphere Studio Device Developer. He worked with IBM Rational in Ottawa on Java runtimes and Eclipse and in RTP on Eclipse Performance. Currently he works on EGL, IBM's 4GL solution.