Results 1 to 2 of 2

Thread: Exposing Services in a JMS based application

  1. #1
    Join Date
    Sep 2005
    Posts
    2

    Default Exposing Services in a JMS based application

    All,

    I'm designing an application framework based around a JMS bus (and Spring), so I can easily distribute the components across multiple cheap serves, keep things loosley coupled, and potentially provide some fault tolerance by providing multiple queue consumers.

    What I'm struggling with, is choosing the best way to expose the services that each of the components provides. I do use some publish/subscribe, mostly to handle notifications, but there are a bunch of services I want to expose as well (e.g mostly managers for different things, eg, user, schedules, jobs etc).

    My client list is currently:

    1. .NET client
    2. Other Java/Spring apps, connected to the bus
    3. ESB integration
    4. Possible web interface (classic, or rich UI with Flex or Laszlo)

    What's the best/simplest way to expose my services (which I'd ideally like to have distributed on different machines, connected via the JMS bus)?

    Here are some ideas I've had:

    1. Deploy the services within a container (e.g. tomcat, jboss etc), and expose with ActiveSOAP, AXIS or something similar, providing SOAP and potentially REST interfaces to my services. However, this centralizes my services in a single container (I'm not saying this is a bad thing, but just not what I had initially planned).

    2. Deploy a very simple facade layer in the container, which just proxies request/responses to and from JMS. I was thinking about using Lingo if I went for this approach (can lingo servers only work with lingo clients?). I'm worried about having to maintain the facade layer as well as the actual servce though.

    3. I'm likely to be using ActiveMQ for my JMS, and it supports a number of protocols, including REST, allowing for .NET clients to product/consume messages. However, most of the .NET client use will be request/response RPC like interactions, so an RPC like approach may be simpler. One drawback of this is that I'd still have to expose something to the ESB (either a webservice or JMS messages of some kind).

    4. A combination of these.

    5. Something else entirely?

    I'm thinking that 1 or 2 may be the most standard way, but what do people think? Any recommendations? I'd really like to have a single set of external interfaces if possible, but I'd also like to keep the implementation of the services distributed.

    Any feedback would be great.

    Many thanks,
    Rich

    P.S. Also posted to the Architecture Forum.

  2. #2
    Join Date
    Aug 2004
    Location
    London
    Posts
    164

    Default

    I've responded to the mail list posting here...

    http://thread.gmane.org/gmane.comp.j...vemq.user/2932
    James Strachan
    ------------------
    Open Source Integration
    Iona

Similar Threads

  1. Replies: 2
    Last Post: Oct 10th, 2005, 05:12 PM
  2. Exposing Services in a JMS based application
    By rsheldon in forum Architecture
    Replies: 1
    Last Post: Sep 21st, 2005, 12:56 AM
  3. Replies: 1
    Last Post: Aug 18th, 2005, 06:32 AM
  4. planning major migration to spring
    By wexwarez in forum Architecture
    Replies: 21
    Last Post: May 23rd, 2005, 01:13 AM
  5. Questioning the core component
    By Martin Kersten in forum Swing
    Replies: 6
    Last Post: Feb 21st, 2005, 03:45 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •