Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8443851
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T09:15:00+00:00 2026-06-10T09:15:00+00:00

I am developing a distributed system which consists of different components (services) which are

  • 0

I am developing a distributed system which consists of different components (services) which are loosely (asynchronously) coupled via JMS (ActiveMQ).

Thus I do not want to reinvent the wheel, I am looking for a (well) known protocol / library that facilitates remote procedure calls inbetween these components and helps me deal with method interfaces.

So let’s decompose the problem I am already solving right now via dirty solutions:

  1. A consumer component want’s to call a service, thus it constructs a request string (hand-written and dirty)
  2. The request string is than compressed an put into a JMS message (dirty aswell)
  3. The request message is than transmitted via JMS and routing mechanisms (that part is ok)
  4. The service first of all needs to decompress and parse the request string, to identify the right method (dirty)
  5. The method gets called and the reply goes like #2 – #4.

So that looks pretty much like SOAP, whilst I think that SOAP is to heavy for my application and further I am not using HTTP at all. Given that I was thinking that one might be able to deconstruct the problem into different components.

  1. Part A: HTTP is replaced by JMS (that one is okay)
  2. Part B: XML is replaced by something more lightweight (alright, MessagePack comes in handy here)
  3. Part C: Mechanism to parse request/reply string to identify operation name and parameter values (that one is the real problem here)

I was looking into MessagePack, ProtocolBuffers, Thrift and so forth, but what I don’t like about them is that they introduce their own way of handling the actual (TCP) communication. And bypass my already sophisticated JMS infrastructure (which also handles load balancing and stuff).

To further elaborate Part C above, this is how I am currently handling it: Right know I would do something like the following if a consumer would call a service, let’s assume the service takes a text and replies keywords. I would have the consumer create a JMS message and transmit it (via ActiveMQ) to the service. The message would contain:

 Syntax: OPERATION_NAME [PARAMETERS]
 Method: GET_ALL_KEYWORDS [String text] returns [JSON String[] keywords]

 Example Request: GET_ALL_KEYWORDS "Hello world, this is my input text..."
 Example Reply: ["hello", "world", "text"]

Needless to say that it feels like hacked-together. The problem I see is if I would be to change the method interface by adding or deleting parameters, I would have to check all the request/reply string construction/deconstructions to syncronize the changes. That is pretty errorprone. I’d rather have the library construct the right request/reply syntax by looking at a java interface and throwing real exceptions on runtime if I do mess up stuff, like “Protocol Exception: Mandatory parameter not set” or something…

Any projects/libs known for that?

Requirements would be

  1. It’s small and lightweight and fast.
  2. It’s implemented in JAVA
  3. It doesn’t serve too many purposes (like some fullblown framework e.g. Spring)
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T09:15:02+00:00Added an answer on June 10, 2026 at 9:15 am

    I think this Spring package is what you’re looking for. See JmsInvokerProxyFactoryBean and related classes.

    From the javadoc:

    FactoryBean for JMS invoker proxies. Exposes the proxied service for
    use as a bean reference, using the specified service interface.

    Serializes remote invocation objects and deserializes remote
    invocation result objects. Uses Java serialization just like RMI, but
    with the JMS provider as communication infrastructure.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm developing an application in which distributed components talk to one another over a
I'm currently developing a C++ library for Windows which will be distributed as a
I am developing a distributed file system using Java, I cannot give many details
I'm developing a JavaEE system (distributed on Weblogic App Server), but I don't have
For developing an devices monitor system, I am using a InetAdress isReachable method to
Here is my problem: I'm developing a system that can be polled to retrieve
I'm developing a distributed application, and I need to connect a client Java based
I'm developing a distributed application (server and clients). There are some instructions sent by
I'm developing a static library that will be distributed to other developers, who may
This issue has come up in a distributed-multithreaded application I'm developing, where threads can

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.