Making a Service Layer call from Presentation layer

I have to choose a technology to connect my Application/Presentation Layer (Java Based) with the Service Layer (Java Based). Basically looking up appropriate Spring Service from the Business Delegate Object.

There are so many options out there that it is confusing me. Here are the options I've narrowed down to but not sure..

  • Spring RMI

  • Apache Camel

  • Apache ServiceMix (ESB)

  • Iona FUSE (ESB)

Here is what I want to know

  1. If you have worked on (or evaluated) any of these, which choice do You think is more appropriate? (and it wouldn't hurt to tell me why :)
  2. Are there other technologies that I should be looking at as well?
  3. As of now I do not see Application and Service layer being distributed but I do not want to rule out this possibility in future. Is this a good idea to design to provide this flexibility?

Any help would be useful. Thanks!


It mostly boils down to do you want to use Spring Remoting (which Spring RMI and Apache Camel are implementations of) - or do you want to use JAX-WS for web services (which CXF or Metro implement). i.e. do you want automatic remoting for your POJOs - or do you want WS with WSDL contracts and so forth.

Once you've decided on the remoting technology; your next decision is do you want to bundle it inside your application as a library (e.g. Spring RMI or Camel) - or do you want to deploy it in an ESB container like ServiceMix to be able to hot-redeploy modules and so forth.

If the latter is your choice then use Apache ServiceMix - or use the FUSE ESB if you want a commercial distribution with more documentation, frequent releases, commercial support and so forth.

Spring Remoting would seem like the simplest approach. It also would leave you open to more complex approaches in the future if that is the direction you want to take.

From the limited view of your requirements, I would stick with a simple solution with a lower learning curve, and leave the ESB till you determine you actually need it.

The KISS principle is a wonderful thing.

Here you can find a simple solution to integrate Metro and Camel together:

Need Your Help

Is there a C++ gdb GUI for Linux?

c++ linux gdb debugging

Briefly: Does anyone know of a GUI for gdb that brings it on par or close to the feature set you get in the more recent version of Visual C++?

How to switch over to particular page in pdf by it's page no in iphone

objective-c uiviewcontroller xcode4.2 ios5 uipageviewcontroller

Hi i am using UIPageViewController in ios 5, for example i'm having 10 pages in that i want to switch to 8th page from 2nd page means how can i implement this functionalities in UIPageViewController,