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
PROGRESSIVE JAVA PODCASTS
Jan Machacek:Spring in Scala, Spring in Scala
Jan Machacek : 8th Feb 2012
View Podcast: Spring in Scala,
Sven Efftinge:Xtend - A Programming Language for Java Developers, Xtend
Sven Efftinge : 1st Feb 2012
View Podcast: Xtend - A Programming Language for Java Developers,
Martijn Verburg:Adopt a JSR, JSR
Martijn Verburg : 1st Feb 2012
View Podcast: Adopt a JSR,
Tobias Lindaaker:Neo4j Internals, Neo4j Internals
Tobias Lindaaker : 25th Jan 2012
View Podcast: Neo4j Internals,
Dave Springgay :HTML5, Android Webview and java bridging, HTML5 & Android Webview
Dave Springgay : 19th Jan 2012
View Podcast: HTML5, Android Webview and java bridging,
Paul Butcher:ScalaMock: 'Power' mocking for Scala, ScalaMock
Paul Butcher : 18th Jan 2012
View Podcast: ScalaMock: 'Power' mocking for Scala,
Malcolm Sparks:Reflections on a real-world Clojure application, Real-world Clojure
Malcolm Sparks : 17th Jan 2012
View Podcast: Reflections on a real-world Clojure application,
Julian Birch:Lightning talk: 1000 lines of Clojure, 1000 lines of Clojure
Julian Birch : 17th Jan 2012
View Podcast: Lightning talk: 1000 lines of Clojure,
Neale Swinnerton:Lightning talk: A Quick Guide to paredit-mode, paredit-mode
Neale Swinnerton : 17th Jan 2012
View Podcast: Lightning talk: A Quick Guide to paredit-mode,
Nick Rothwell:Clojure and MaxMSP, Clojure & MaxMSP
Nick Rothwell : 17th Jan 2012
View Podcast: Clojure and MaxMSP,
Peter Ledbrook:Upgrading to Grails 2, Grails 2
Peter Ledbrook : 16th Jan 2012
View Podcast: Upgrading to Grails 2,
John T. Davies:Enterprise Integration - The seriously nasty stuff, Enterprise Integration
John T. Davies : 12th Dec 2011
View Podcast: Enterprise Integration - The seriously nasty stuff,
Luke Daley:Smarter Testing with Spock, Spock
Luke Daley : 8th Dec 2011
View Podcast: Smarter Testing with Spock,
Andres Almiray:Getting Groovy on the Web and Desktop, Getting Groovy on the Web and Desktop
Andres Almiray : 8th Dec 2011
View Podcast: Getting Groovy on the Web and Desktop,
Erik Pragt:DiscoBot: Groovy on Android, DiscoBot: Groovy on Android
Erik Pragt : 8th Dec 2011
View Podcast: DiscoBot: Groovy on Android,
OTHER PROGRESSIVE JAVA EVENTS
Official RNIB Accessibility Hackathon, Official RNIB Accessibility Hackathon
CONFERENCE (2 DAYS)
London, Saturday, February 11th BOOK NOW!
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
Manchester, Monday, February 13th
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
London, Thursday, February 16th
London Android User Group:Data bindings and core dev, London Android User Group
FREE EVENT: Data bindings
London, Thursday, February 16th
GGUG:Deploying Grails Applications, GGUG
FREE EVENT: Deploying Grails
London, Monday, February 20th
:SpringSource's Rich Web Applications with Spring Training,  SpringSource's Rich Web Applications with Spring T
4 DAY COURSE.
London, Tuesday, February 21st
London Java Community:Zero Downtime of JavaEE applications and Home Automation with Java and Arduino, London Java Community
FREE EVENT: Zero Downtime Home Automation
London, Tuesday, February 21st
Neo4J User Group:Neo4j in a .NET world, Neo4J User Group
FREE EVENT: Neo4j in .NET
London, Wednesday, February 22nd
© 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