Equinox and OSGi
Using course material designed by the Equinox project leaders and committers, the people who drive the project and literally wrote the book on the subject, this course enables you to leverage the capabilities of Equinox and OSGi. Our veteran Eclipse developers, with years of product development experience, cover OSGi fundamentals and advanced topics as well as specific features of Eclipse Equinox -- everything you need to develop highly modular Java applications. Along the way they provide deep insights and context to help you to start your own development efforts and keep on track.
Course participants incrementally develop a comprehensive application involving clients, servers and embedded devices, HTTP, servlets and other web technologies in a series of hands-on focused sessions. Keeping a small class format (max. 6-8 participants) ensures that you'll gain a broad understanding of Eclipse, Equinox and OSGi and get plenty of individual support from our experts.
Duration: 3 days
About Equinox and OSGi
Equinox is the core of the Eclipse platform and a major contributor to the success of Eclipse on the client-side (RCP). OSGi has been adopted by all the major Java application server vendors. Equinox is the OSGi implementation of choice and the OSGi framework and JSR291 reference implementation -- a solid architectural foundation for advanced, highly modular systems in clients, servers and embedded scenarios.
Dates and Registration
-
Equinox und OSGi - 3 Tage
Karlsruhe: 15-17 Jul
Goals, Audience, Prerequisites
Course Goals
- Understand the essential concepts of Equinox and OSGi
- Apply these concepts to the development of highly modular client/server systems
- Learn the best practices for developing Equinox and OSGi-based systems
Target Audience
- Software developers looking to leverage Equinox and OSGi
- Eclipse plug-in developers wanting a deeper understanding of how Eclipse works
- System architects interested in leading edge Java modularity
- OSGi developers wanting to round out their knowledge and learn about Equinox extensions to OSGi and the Eclipse tooling suite
Prerequisites
- Excellent knowledge of Java and object-oriented programming
- Experience using the Eclipse IDE is desirable
Course Outline
OSGi Introduction
- What is a bundle
- Modularity
- Bundle lifecycle
- How to develop, run and debug bundles
Services
- Inter-bundle collaboration
- Defining services
- Discovering services
Dynamic Systems
- Dynamic awareness
- Trackers, listeners, activators
- Best practices for being dynamic
Declarative Services
- Compared to traditional service techniques
- Concepts: components, immediate, cardinality, optional, ...
- POJO techniques
- Best practices for naming, markup
- PDE Tooling
Select OSGi Standard Services
- HTTP
- ConfigAdmin
- Log
- Preferences
Classloading
- Classloading in OSGi and Equinox
- Dependencies and classloading
- Buddy Classloading policies
- Context classloader integration
Server Side Equinox and OSGi
- Solo: Jetty in Equinox
- Embedded: Equinox embedded in app servers
- Servlet bridge
- Servlets, JSPs, AJAX content
- OSGi-enabled WAR development and deployment
- Security contexts and JAAS integration
Tooling
- Target platforms and cross development
- Using third-party libraries
- Dependency management
Provisioning
- Introduction to p2
- Adding dynamic provisioning to applications
- Provisioning servers
- Extending p2
More Info
Format
- Course Duration: 3 days
- Course structure: instructor led with at least 50% hands-on labs and tutorials
- Learn better in a small group: maximum 6-8 participants per instructor
- Equipment: participants supply their own computer with an up-to-date installation of Eclipse
Languages
Classes in Germany are held in German. All other courses are held in English. Further languages are available on request.