I'm trying to reason out an application design.

I have a "service" that I want to make available to "clients" via various
protocols (http, jms, mina, etc). I will need some adapter layers on the
"service" side to, eg, populate the http response code.

I would like remote clients to access to access the service via URIs of the
form:
 - "mtcagent:http://host:port";
 - "mtcagent:jms://host:port"
 - "mtcagent:mina://host:port"

I'm thinking I would like to configure the service/server routes like (sorry
for scala, its all I've used so far):

new RouteBuilder {
  "mtcagent:http://host:port"; to process( (exchange: Exchange) => {
    val message =
messageFromUriPath(exchange.in(Exchange.HTTP_PATH).asInstanceOf[String])
    to ("direct:agent")
  "mtcagent:jms://host:port" to process( (exchange: Exchange) => {
    val message = messageFromJms(exchange.in)
    to ("direct:agent")
  ...
  })

I'm not quite sure how "direct:agent" gets routed to my pojo (which I may
want to be accessed via actors).

I started looking at implementing Component and Endpoint. But what's got a
me a bit confused is that my "component" is not of the same kind as existing
components: Its not a transport but rather a service. So I'm not sure if I'm
on the right track. 

Any advice would be appreciated. Or any references to an impl of this form.

thanks!
-barry
-- 
View this message in context: 
http://www.nabble.com/Looking-for-advice-on-design-issues...-tp25930468p25930468.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to