You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by msnathan <mu...@gmail.com> on 2011/12/15 16:49:59 UTC

Integrating existing services

All,

Currently our client UI (like a portal)  talks to 8 different applications
which had exposed their functionality as REST services (all application
share the base URI and the subresource identifies each application). Each
application have somewhere between 10 - 20 services. Each service has 10 -
15 operations. 

Now we see a need for a composite service/s that cut across this 8 different
application. My design is to have camel in the front of those 8 applications
and the client UI will talk to camel. The uri for composite operation will
have the subresource as composite and I will create a route for each
operation in camel. But for non composite operations I want to by-pass camel
(or) do a straight thru processing where I just want to forward the request
to the application and get the response back. My dilemma is how to achieve
this as the number of non-composite operation and the corresponding
request/response object is too much to bring in to the camel project.

a) I don't want to have a proxy for each of the non-composite service in
camel. I just want to forward the request based on the sub-resource part of
the URI.

b) Currently all these operations send different dto object back to client.
Do I need to know all these dto objects in camel layer.

Regards 

--
View this message in context: http://camel.465427.n5.nabble.com/Integrating-existing-services-tp5077874p5077874.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Integrating existing services

Posted by Willem Jiang <wi...@gmail.com>.
On Fri Dec 16 00:52:01 2011, Arkadi Shishlov wrote:
> On Thu, 15 Dec 2011 17:49:59 +0200, msnathan <mu...@gmail.com> 
> wrote:
>> Now we see a need for a composite service/s that cut across this 8 
>> different
>> application. My design is to have camel in the front of those 8 
>> applications
>> and the client UI will talk to camel. The uri for composite operation 
>> will
>> have the subresource as composite and I will create a route for each
>> operation in camel. But for non composite operations I want to 
>> by-pass camel
>
> What about putting an HTTP proxy server (such as Nginx) in front of 
> the backend to route the request based on regexp-s?
> Or just simple Play! Framework application, in case you prefer Java 
> and/or would like to perform some additional processing on pass-thru 
> requests...
>

Yes,  that is easy and effective way to proxy direct option by using 
the HTTP proxy server, and you can pass the composite option to camel 
to let it implement other work for.

If camel don't need to do aggregation work for the composite option, 
you can need to tell the camel what the dto object is, camel will pass 
the object back to the client directly.

-- 
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
         http://jnn.javaeye.com (Chinese)
Twitter: willemjiang 
Weibo: willemjiang 


Re: Integrating existing services

Posted by Arkadi Shishlov <ar...@gmail.com>.
On Thu, 15 Dec 2011 17:49:59 +0200, msnathan <mu...@gmail.com> wrote:
> Now we see a need for a composite service/s that cut across this 8 different
> application. My design is to have camel in the front of those 8 applications
> and the client UI will talk to camel. The uri for composite operation will
> have the subresource as composite and I will create a route for each
> operation in camel. But for non composite operations I want to by-pass camel

What about putting an HTTP proxy server (such as Nginx) in front of the backend to route the request based on regexp-s?
Or just simple Play! Framework application, in case you prefer Java and/or would like to perform some additional processing on pass-thru requests...