Osgi – good platform for SaaS model

July 6 2008No Commented

Categorized Under: Java, Osgi, Software Engineer

If you are developing the software base on SaaS model and our application is written by Java, Osgi is the good platform for you. Osgi will help software vendor ease in managing, deploy services. Osgi is very suitable for SaaS model base on the features it provides:

  • Promote the component design and software design best practices: separating concerns among components, using interface as the contractor between two components. Hide implementation (via Private Packages)
  • Life-cycle management
  • Dynamic install/uninstall/update bundles without requiring re-boot the application.

With Osgi support, a SaaS application could be save tons of works of service management that the true SaaS application could face:

  • Class/Component version resolving: this problem is very hard to be solved completely with the normal class loader provided by Java with some tips (such as define the exact jar file in manifest file) but it has error prone. How to resolve the class when this service uses component A version 1.0 while another service uses different version of A.
  • Install/Update/Uninstall service: Class loader contains the class information in "static" mode (we can not update or add the new class definition into running class loader). Osgi is the simple platform helps application can recognize the new service or update/uninstall the existing services easily.
  • Life cycle management: one service in a SaaS model could be do something before activating or after destroying (such as create some database tables corresponding to financial module or clean up temporary cache data)
  • Manage service dependencies: Osgi helps applications can control the dependencies among services easily such as bundle A only be activated if bundle B is activated.
  • Promote of using interface among services in different bundles: we can hide the implementation of service in bundle by declaring them in bundle meta data and only expose the interface for other bundle use. This way forces application can detect any violations (of using implementation classes of high level layer) in unit/integration test.

From the beginning time at 1999, Osgi becomes more popular todays. We have Eclipse is the good sample of applying Osgi also many applications such as SpringSource Application Server, JBoss, Nuxeo etc. I believe that in near future, more applications can be developed base on Osgi platform. My company, Nextss Inc, is developing our groupware application base on Osgi model and it is the good news that we move from the traditional one (base on Spring IoC container) to Osgi platform (thanks for the excellent works of Spring Dynamic Module) within 8 man/days. I will keep your post our practices with Osgi on next posts that we are experiment in last days.

Subscribe

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • blinkbits
  • BlinkList
  • blogmarks
  • BlogMemes
  • BlogMemes Cn
  • BlogMemes Fr
  • BlogMemes Jp
  • BlogMemes Sp
  • Blogosphere News
  • Blogsvine
  • blogtercimlap
  • Book.mark.hu
  • Bumpzee
  • co.mments
  • connotea
  • De.lirio.us
  • Design Float
  • DotNetKicks
  • DZone
  • eKudos
  • email
  • Fark
  • Faves
  • feedmelinks
  • Fleck
  • Furl
  • GeenRedactie
  • Global Grind
  • Gwar
  • Haohao
  • HealthRanker
  • Hemidemi
  • Identi.ca
  • IndianPad
  • Internetmedia
  • kick.ie
  • Kirtsy
  • laaik.it
  • Leonaut
  • LinkaGoGo
  • LinkArena
  • LinkedIn
  • Linkter
  • Live
  • Ma.gnolia
  • Meneame
  • MisterWong
  • MisterWong.DE
  • muti
  • MyShare
  • MySpace
  • N4G
  • Netvibes
  • Netvouz
  • NewsVine
  • NuJIJ
  • Ping.fm
  • PlugIM
  • Pownce
  • ppnow
  • Print
  • Propeller
  • Ratimarks
  • Rec6
  • Reddit
  • SalesMarks
  • Scoopeo
  • scuttle
  • Segnalo
  • Shadows
  • Simpy
  • Slashdot
  • Smarking
  • Socialogs
  • SphereIt
  • Spurl
  • StumbleUpon
  • Symbaloo
  • Taggly
  • TailRank
  • Technorati
  • ThisNext
  • Tipd
  • Tumblr
  • TwitThis
  • Upnews
  • Webnews.de
  • Webride
  • Wikio
  • Wikio FR
  • Wikio IT
  • Wists
  • Wykop
  • Xerpi
  • Yahoo! Buzz
  • YahooMyWeb
  • Yigg

Leave a Reply