HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
In The Brain of Neil Bartlett: OSGi: The Dynamic Module System for Java
OSGi: The Dynamic Module System for Java
Neill Bartlett gives a brief introduction to OSGi, the dynamic module system for Java. OSGi has basically become the industry standard for modular Java although it has yet to be fully integrated within Java. OSGi provides a modular delegation system enabling loading of dependencies in an efficient manner instead of scanning through all of the class loads. OSGi dependencies also maintain versioning to ensure a compatible version of a dependency is loaded, it also enables different versions of the same library to be loaded at the same time.

After introducing OSGi, Neill Bartlett moves on to discuss component oriented programming (COP) using OSGi and how this is an improvement on OOP. Neill explains that OOP which aimed to enable code re-use didn't really work out how it was planned, very few classes can be removed from an application and then used within another application because of their dependencies on other classes. One solution to re-use is to not try but instead leave the class where it is and call it from there, basically SOA.

Neill Bartlett explains that OOP isn't really broken but it's just not the complete answer, COP extends this to make it easier to write re-usable code. COP is basically building on top of OOP but more capable of running on their own and using the services of other components. This is a great example of how OSGi can be used.

Neill Bartlett provides a demonstration of how this theory can be put into practice using a mailboxes demo. How the component can be dynamically updates as more components are services become available. He also demonstrates how easy it is to get things running with OSGi and add and remove packages.

Download the slides here

ABOUT NEIL BARTLETT
Neil is a developer, consultant and trainer specialising in OSGi and Eclipse, and he is currently working for Sun Microsystems on enhancing the tooling for JavaFX in Eclipse.
More about Neil Bartlett
PODCAST OSGI: THE DYNAMIC MODULE SYSTEM FOR JAVA
SOFTWARE ARCHITECTURE PODCASTS
Gael Fraiteur:Multithreading beyond the lock keyword, Multithreading
Gael Fraiteur : 24th May 2012
View Podcast: Multithreading beyond the lock keyword,
Oren Eini aka Ayende Rahien:Sharding And Scaling with RavenDB, Scaling with RavenDB
Oren Eini aka Ayende Rahien : 15th May 2012
View Podcast: Sharding And Scaling with RavenDB,
John Zablocki:Developing with Couchbase, Developing with Couchbase
John Zablocki : 9th May 2012
View Podcast: Developing with Couchbase,
Chris Harris:MongoDB and Document Databases, Document Databases
Chris Harris : 9th May 2012
View Podcast: MongoDB and Document Databases,
David Mytton:MongoDB performance at scale, MongoDB performance
David Mytton : 9th May 2012
View Podcast: MongoDB performance at scale,
John Zablocki:The Couchbase Server Tutorial, The Couchbase Server Tutorial
John Zablocki : 9th May 2012
View Podcast: The Couchbase Server Tutorial,
Chris Harris:Hands-on MongoDB, Hands-on MongoDB
Chris Harris : 9th May 2012
View Podcast: Hands-on MongoDB,
Tom McMillen:CouchDB at the Hut Group, CouchDB at the Hut Group
Tom McMillen : 9th May 2012
View Podcast: CouchDB at the Hut Group,
Jim Webber:Managing Highly Connected Data in Neo4j, Neo4j Highly Connected Data
Jim Webber : 9th May 2012
View Podcast: Managing Highly Connected Data in Neo4j,
Nicki Watt:Neo4j Tales from the Trenches: A recommendation Engine Case Study, Neo4j Tales from the Trenches
Nicki Watt : 9th May 2012
View Podcast: Neo4j Tales from the Trenches: A recommendation Engine Case Study,
Oren Eini aka Ayende Rahien:RavenDB: A 2nd generation document database, RavenDB
Oren Eini aka Ayende Rahien : 9th May 2012
View Podcast: RavenDB: A 2nd generation document database,
Phil Jones:The challenges and rewards of using RavenDB, RavenDB: challenges & rewards
Phil Jones : 9th May 2012
View Podcast: The challenges and rewards of using RavenDB,
Oren Eini aka Ayende Rahien:RavenDB Crash Course, RavenDB Crash Course
Oren Eini aka Ayende Rahien : 9th May 2012
View Podcast: RavenDB Crash Course,
Ian Robinson:A Programmatic Introduction to Neo4j, Neo4j Intro
Ian Robinson : 3rd May 2012
View Podcast: A Programmatic Introduction to Neo4j,
Brian Sletten:Information Resources : Moving Beyond Objects, Moving Beyond Objects
Brian Sletten : 3rd May 2012
View Podcast: Information Resources : Moving Beyond Objects,
OTHER SOFTWARE ARCHITECTURE EVENTS
Uncle Bob (Robert C. Martin):Uncle Bob's Advanced Test Driven Development in NYC,  Uncle Bob's Advanced Test Driven Development in NY
3 DAY COURSE. Featuring Uncle Bob (Robert C. Martin)
New York, Tuesday, May 29th
Alberto Brandolini:Eric Evans Domain Driven Design Hands-On Immersion Workshop,  Eric Evans' DDD Immersion Workshop
4 DAY COURSE. Featuring Alberto Brandolini
London, Monday, June 11th
DDD eXchange 2012, DDD eXchange 2012
CONFERENCE (1 DAY)
London, Friday, June 15th BOOK NOW!
Simon Brown:Simon Brown's Enterprise Software Developer,  Simon Brown's Enterprise Software Developer
3 DAY COURSE. Featuring Simon Brown
London, Monday, June 18th
QCon New York 2012, QCon New York 2012
CONFERENCE (3 DAYS)
New York, Monday, June 18th BOOK NOW!
Francis Sanger:Craig Larman's Applying Advanced Object Design with Patterns,  Craig Larman's Object Design w Patterns
4 DAY COURSE. Featuring Francis Sanger
London, Tuesday, June 19th
David Laribee:David Laribee's Leading Lean/Agile Teams,  David Laribee's Leading Lean/Agile Teams
2 DAY COURSE. Featuring David Laribee
New York, Thursday, June 21st
Find Your Ninja Project:Cool Projects in June , Find Your Ninja Project
FREE EVENT: Cool Projects in June
London, Monday, June 25th
© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship