nobeh
nobeh

Reputation: 10049

Use EIP and integration solutions to distribute layers on cloud?

I want to adopt a solution of EIP for cloud deployment for a web application:

For the above requirement to deliver a "highly-scalable" application on the cloud, it seems that solutions such as Apache Camel, Spring Integration, and Mule ESB are of significant options.

There seems to be other discussion such as a question or a blog post on this topic, but I was wondering if anybody has had specific experiences with such a deployment scheme on "the cloud"? I'd be thankful for any ideas and sharing experiences. TIA.

Upvotes: 0

Views: 231

Answers (1)

Christian Schneider
Christian Schneider

Reputation: 19626

To me this looks a bit like overengineering. Is there a real reason that you need to separate all those layers? What you describe looks a lot like the J2EE applications from some years ago.

How about deploying all layers of the application onto each node and just use simple Java calls or OSGi services to communicate.

This aproach has several advantages:

  • Less complexity
  • No serialization or DTOs
  • Transactions are easy / no distributed transactions necessary
  • Load Balancing and Failover is much easier as you can do it on the web layer only
  • Performance is probably a lot higher

You can implement such an application using spring or blueprint (on OSGi).

Another options is to use a modern JavaEE server. If this is interesting to you take a look at some of the courses of Adam Bien. He shows how to use JavaEE in a really lean way.

For communicating between nodes I have good experiences with Camel and CXF but you should try to avoid remoting as much as possible.

Upvotes: 1

Related Questions