Implementing enterprise integration solutions with Spring Integration

June 2 20094 Commented

Categorized Under: Java, Software Engineer, Technology

In our last project, we faced 2 challenges of how to build the SaaS platform including various modules; some are developed by ourselves and some are third parties (Forum, Wiki, Mail, etc.). With third-parties, we limit modifying their code base and database schema due to client's requirements. Here are our challenges:

Challenge 1: When a new user is registered, some our modules need to acknowledge and have re-actions. For example:

  • Document Management module creates a personal document workspace for that user.
  • Calendar module creates a personal calendar for that user.
  • Forum and Wiki register that user to their user database because Engroup supports Single Sign On (SSO) mechanism. That means any user registered to Engroup user database can access Forum and Wiki resources without registering their user database.

Since our application follows SaaS model, the modules acknowledging and having re-actions to that registered user are dynamically discovered at runtime. This prohibits us from invoking module API in static manner.

Challenge 2: We want to implement audit trail process. Each module installed into our platform must follow the rules of tracking our user activities. Our goal is to build a common API sending user activities to reporting server but all our modules must loose coupling with the reporting API. This design helps us to configure reporting server in different machines easily.

We found out the solution for 2 application integration problems above - service bus. After evaluating 3 open source enterprise service bus (ESB) frameworks: Spring Integration, Mule, and Service Mix, Spring Integration finally is our choice, based on the criterion we set as follows:

  • Simple - if you already know Spring and Enterprise Integration Patterns, you can quickly use this library.
  • Extensible - Spring Integration does not support many adapters like ServiceMix or Mule does; but it is easy to add new adapters by extending. In the next post, I will write an example of how to extend Spring Integration.
  • Compatible - Our platform is built on Osgi, like Spring Integration and ServiceMix 4. However, ServiceMix 4 is not mature enough as well as it lacks of documentation.
  • Friendly license - ServiceMix has friendly license, too. However, we are afraid that CPAL of Mule may prevent us from developing our commercial project.
  • Lightweight - We can use Spring Integration as a part of our application while ServiceMix and Mule need to be deployed on separate servers.

If you have a need of using a Java ESB, Spring Integration may be a good candidate. I will write some posts about Spring Integration examples and how to extend Spring Integration as we managed in our projects in the near future. Keep reading!

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

Related posts:

  1. Using Spring Integration in Osgi platform How to use Spring Integration in Osgi platform. This post...
  2. How to invoke Spring beans in other osgi bundle Spring Dynamic Modules helps integrating Spring beans to Osgi platform...
  3. Integration of Jackrabbit OCM and Spring (updated version) In the previous post Jackrabbit OCM and Spring, I have...
  4. Case study of applying continuous integration for enterprise project Continuous integration is one of good development practices that we...
  5. Spring Dynamic Modules (for Osgi) – the good complement for Osgi Spring Framework - the de factor standard IoC container...

4 Responses to “Implementing enterprise integration solutions with Spring Integration”

  1. JamesD says:

    Thanks for the useful info. It’s so interesting

  2. patsej says:

    Very valuable idea

  3. [...] want to subscribe to the RSS feed for updates on this topic.Powered by WP Greet BoxIn the post http://blog.esofthead.com/implementing-enterprise-integration-solutions-with-spring-integration/, I have outlined several chanllenges that could be solved by using Spring Integration framework. [...]

  4. LLoyd Buster says:

    I bookmarked your site, this is very useful, thank you. Please check mine : crm – customer resource management

Leave a Reply