What’s Up with Modularity ?!
Paul Bakker @pbakker
Observations Extremely agile (first mover advantage) Architecture (and code base) should be able to cope with change Trend Applications tend to grow bigger and more complex Agile development and refactoring have become more common
Modularity is the answer
What we lear ned about OO design in university : Prevent (tight) coupling Promote cohesion cohesion coupling
Modules Service Lookups
What do we need design consequences High-level enterprise APIs Architectural focus on modularity Runtime dynamic module framework Right now, OSGi is the only option let’s not reinvent the wheel for modularity?
Stop talking… and show me code!
Demo
Rooms Resource AngularJS Client Rooms Service RabbitMQ RabbitMQ Service STOMP WhatsUp Architecture AMQP Chat Log Jongo Mongo REST
Rooms Resource AngularJS Client Rooms Service RabbitMQ RabbitMQ Service STOMP $$$$$$$$ AMQP Word Counter Chat Log Jongo Mongose REST Yeah baby! Personalized Ad Generator $$$$$ Product Service MongoDB $$$$
Demo
Wrap up
Eclipse OSGi plugin http://bndtools.org/ Open source OSGi components http://www.amdatu.org/ Amdatu That’s us http://luminis-technologies. com Paul Bakker paul.bakker@luminis.eu @pbakker

Tutorial introduction to OSGi

  • 1.
    What’s Up with Modularity ?!
  • 2.
  • 3.
    Observations Extremely agile (first mover advantage) Architecture (and code base) should be able to cope with change Trend Applications tend to grow bigger and more complex Agile development and refactoring have become more common
  • 4.
  • 5.
    What we learned about OO design in university : Prevent (tight) coupling Promote cohesion cohesion coupling
  • 6.
  • 7.
    What do weneed design consequences High-level enterprise APIs Architectural focus on modularity Runtime dynamic module framework Right now, OSGi is the only option let’s not reinvent the wheel for modularity?
  • 8.
    Stop talking… andshow me code!
  • 9.
  • 10.
    Rooms Resource AngularJS Client Rooms Service RabbitMQ RabbitMQ Service STOMP WhatsUp Architecture AMQP Chat Log Jongo Mongo REST
  • 11.
    Rooms Resource AngularJS Client Rooms Service RabbitMQ RabbitMQ Service STOMP $$$$$$$$ AMQP Word Counter Chat Log Jongo Mongose REST Yeah baby! Personalized Ad Generator $$$$$ Product Service MongoDB $$$$
  • 12.
  • 13.
  • 15.
    Eclipse OSGi plugin http://bndtools.org/ Open source OSGi components http://www.amdatu.org/ Amdatu That’s us http://luminis-technologies. com Paul Bakker paul.bakker@luminis.eu @pbakker