Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OSGi Community Event 2010 - Arum DataEye - Evolution of a modular rich internet application

846 views

Published on

OSGi Community Event 2010 - Arum DataEye - Evolution of a modular rich internet application (Chris Brind

Published in: Technology
  • Be the first to comment

  • Be the first to like this

OSGi Community Event 2010 - Arum DataEye - Evolution of a modular rich internet application

  1. 1. Chris Brind | www.brindysoft.com Evolution of an OSGi Application
  2. 2. Introductions • Arum DataEye – www.arumdataeye.com • Arum Systems Ltd – www.arum.co.uk • Chris Brind (me) – www.brindysoft.com
  3. 3. Arum DataEye • Dashboard for Credit Management Industry • Flash (Flex) front end • Java (OSGi) back end
  4. 4. Extension Points Dashboard Components Administration Console
  5. 5. Architecture 1/5 • Heavy weight • OSGi-unfriendly dependencies • Activators and Service Trackers • Large footprint (120mb) • Custom Ant tasks to help with CI • Slow dev builds • Slower CI builds • PDE Bundles Equinox WAR JBoss
  6. 6. Quick focus on db4o • No RDBMS • Extremely simple OODB persistence • Saved 30% of initial dev time • Temporary, but worked so well, we kept it. • www.db4o.com Equinox WAR JBoss
  7. 7. Architecture 2/5 • Activators and Service Trackers becoming a real problem • Bundle start ordering problems • Custom DI • Composition over Inheritance Equinox WAR JBoss
  8. 8. Architecture 3/5 • Custom DI too rigid, too difficult to maintain • Moved to DS • Optimised Dev Builds Equinox WAR JBoss
  9. 9. Architecture 4/5 • Removed external dependency • Blaze DS -> AMF3OSGi • Why is this still deployed as a WAR? Equinox WAR JBoss
  10. 10. Architecture 5/5 • Much more lightweight (15mb inc. container) • Felix -> Equinox • With UI overhaul, became ADE 2.0 Felix
  11. 11. Scalability • Service Oriented Front-end Architecture – i.e. a browser based RIA • Server is basically a database for the front end • No problems with 1GB JVM + 100s of users
  12. 12. The Future • Improve scalability for 1000s, 10000s or more users? – OSGI clustering / cloud? •Paremus Service Fabric – Large scale JVMs? •Zing VM by Azul Systems • db4o is an embedded database – Switch to Versant – Replace with RDBMS
  13. 13. Thanks for listening! • Arum DataEye – www.arumdataeye.com • Arum Systems Ltd – www.arum.co.uk • Chris Brind (me) – www.brindysoft.com
  14. 14. www.brindysoft.com

×