Community developer events

Neil Bartlett's OSGi Workshop - the Dynamic Module System for Java - training

Date
Tue, 16 Feb 2010, 09:00 - 11:00 (Add to calendar) GMT
Venue
(Exact location not available) , London, GB
Cost
2150.0 GBP

COURSE DETAILS
what: Neil Bartlett's OSGi Workshop - OSGi: The Dynamic Module System for Java
when: February 16-19th
expert: Neil Bartlett, author of the popular 'Intro to OSGi' tutorials on eclipsezonedeveloper.com
where: Skills Matter, Clerkenwell, London EC1V 7DP
full description: http://skillsmatter.c...

SKILLS MATTER COMMUNITY OFFER - 25% Discount
If you would like to learn the core principles of OSGi, the Dynamic Module System for Java, then
register today and benefit from our Meetup Community Offer! To claim your 25% community discount, simply quote Promo Code LINKED-SM25-NB in the relevant field on the registration form and your discount will be applied!

COURSE SUMMARY
This is an intensive 4-day course which will give you a thorough grounding in the core principles of OSGi, the Dynamic Module System for Java.

We start by introducing OSGi and describing how it meets the challenge of building modular, scalable applications in Java. Next we review the three main open-source implementations of OSGi, running them up and installing our first bundles (modules), before focussing principally on one of them (Equinox). Then we dive into the construction of OSGi bundles, how to describe dependencies between bundles and manage multiple versions of each.

Then we move onto the dynamic aspects of OSGi, starting with basic bundle lifecycle concerns before moving on to "services", which are OSGi's solution to dynamic late binding. After covering the nuts and bolts of services in some depth we take a side look at the concerns of concurrent programming in Java and how this subject affects OSGi in particular. Then we take a look at two of the most important patterns used for constructing real applications out of services, namely the "whiteboard" pattern and "extender model".

After this we move up an abstraction level and look at how to achieve component-oriented design and development with OSGi; starting with a definition of what a "component" is and reviewing the three main component frameworks built on top of OSGi (Declarative Services, Spring-DM and iPOJO).

Next we review some of the more practical aspects of developing with OSGi, including the tools we have available, how to adapt popular build tools such as ANT and Maven to build OSGi bundles, and how to do unit and system testing of bundles.

Finally we take a brief look at advanced topics such as the use of legacy Java code under OSGi, integrating native libraries, embedding an OSGi framework in a larger application, and what the future holds for OSGi.


PROGRAMME:

OSGi Basics

The Challenge of Modularity
* The State of the Art in Standard Java
* "JAR Hell"
* The Failure of J2EE
* What Is a Module?

OSGi Bundles
* Nuts and Bolts: What Does a Bundle Look Like?
* Building our First Bundle
* Exporting and Importing
* Keeping Internals Hidden

OSGi Implementations
* Overview of Equinox, Knopflerfish and Felix
* Getting Equinox
* Launching Equinox
* Using the OSGi Console

Dependencies and Version Management
* Importing Packages vs Requiring Bundles
* Versioning of Bundles and Packages
* Version Ranges
* Managing Versions
* Bundle Repositories

The Resolver
* The Class Resolution Process
* Using JRE Packages
* Execution Environments
* Class Space Consistency and "Uses" Constraints

Dynamic Modules

Bundle Lifecycle
* Installation and Uninstallation
* Resolving
* The Active State
* Bundle Activators

Introduction to Services
* Late Binding in Java
* Dependency Injection
* Dynamic Services
* Registering and Unregistering a Service
* Looking up a Service
* Listening to Services

Tracking Services
* Introduction to ServiceTracker
* Extending the ServiceTracker Class
* Cardinality and Selection Rules

Service Properties
* Registering Service Properties
* Filtering on Properties

Concurrency
* The Price of Freedom
* Review of Java Concurrency Practices
* Safe Publication in OSGi
* Avoiding Deadlock
* GUI Development

The Whiteboard Pattern and Event Admin
* Review of the Classic Observer Pattern
* Problems with the Observer Pattern
* Fixing the Observer Pattern
* Overview of the Whiteboard Pattern
* Registering Listeners
* Sending Events
* Overview of Event Admin
* The Event Object
* Receiving Events
* Synchronous vs Asynchronous Delivery

Extending Without Code
* The Extender Model
* Inspecting Bundles
* Tracking Bundles
* Synchronous and Asynchronous Bundle Listeners
* The Eclipse Extension Registry

Component-Oriented Development


Introduction to Components
* Definition of a Component
* Environment-Aware Components
* Review of Component Frameworks for OSGi

Declarative Services
* Simple Components
* Service Dependencies
* Cardinality
* Activation
* Component Properties

Configuration Admin
* Managed Services
* Managed Service Factories
* Creating and Updating Configurations
* Building a Configuration Agent
* Declarative Services and Configuration Admin

Other Component Frameworks
* Spring Dynamic Modules
* iPOJO
* Interoperablity of Component Frameworks

OSGi in Practice

Building OSGi Bundles
* Review of Approaches to Builing Bundles
* How BND Works
* Using BND with Maven
* Eclipse PDE

Testing Bundles
* Unit Testing with JUnit
* System Testing
* Testing Frameworks

Advanced Topics
* Integrating Legacy Code
* Using the Extender Model to Impersonate Bundles
* Embedding OSGi in a Java Application
* Using OSGi in an Application Server
* Using Native Libraries
* The Future of OSGi


REGISTER TODAY:

There is an early bird discounted rate of just £1150. 00 + VAT if you book before the 29th of December 2009. This course is also currently on 2 for 1 if you book before the 29th of December and you get a £100 Amazon Gift Certificate if you book before the 31st December as a Christmas present from Skills Matter.

If you would like to join us, please register today at http://skillsmatter.c...

Comments

Leave a comment

Sign in or Join us (it's free).

Map

Other nearby events

  • Mar 16

    London Developers – Takin’ It To The Pub

    0km away in City of London

    This is our monthly social event which incorporates members of The London Java Community and Graduate Development Communities.We meet in the evening on the third Tuesday of every month in a private room at the Lvpo bar in Soho (.... We usually attract at least 50 members so it is a lively event in which members both junior and senior can connect in a relaxed atmosphere and set the development world to rights.

  • Mar 17

    March Meetup

    0km away in Waterloo venuecity1000

    March meetup: just after QCon and just before Scottish Ruby Conference, so should be interesting timing!I've taken the liberty of broadening the scope of the meetup to Ruby development rather than specifically Rails, continuing the general trend :)Therefore the URL has changed to: ... and the hashtag to #rubybizuk. Nothing else has changed though: same place, same time, same topics, same great conversation :)See you then!

  • Mar 18

    The London Flash Developers and Designers March Meetup

    0km away in City of London

    The Flash Meetup takes place at London South Bank University in the Keyworth Building.The nearest tube station is Elephant and Castle on the Northern line. If you are coming by tube when you arrive at Elephant and Castle follow signs for London South Bank University (it is quite a confusing station to navigate). From the station turn right and walk ahead until meet the first road on your right, Ontario Street. Walk along Ontario Street to the cross junction.

  • Mar 21

    SnowCode 2010 (developers + snow + party = snowcode)

    0km away in City of London

    This is it! This is the official Snowcode 2010!7 days of open coding, developers + snow + party = snowcode.We've booked an exclusive chalet that sleeps 24 people in Les Gets in France, 450km of piste.There are only a few places left. (between 3 and 7 depending on what deposits we collect in the next few days)Please visit the official Snowcode website at www.snowcode.co.uk for the full details.www.snowcode.co.uk

  • Mar 24

    Dreamweaver London Meetup, Wed 24th March, Charing Cross 18:30

    0km away in City of London

    This is a Meetup group for those who use or who are interested in Adobe Dreamweaver which is a software system used for building websites. We have our own room in the venue so it is easy to chat.News of the meetup is going out via Meetup, Twitter and College Courses. Please RSVP via meetup.com so we can all get a feel for what is happening.It is a good time to come along to the group as it is possible to get involved at the beginning.

Related podcasts

  • Agile Kaikaku

    In this episode, I conclude my discussion with Owen Rogers on the topic of introducing an Agile Kaikaku, or a radical process change event within an organization. Owen is an Agile coach and has helped many teams adopt Agile practices.Bet you couldn't test without it… Click here to learn more!This...

We'd love to hear what you think! Submit ideas or give us feedback