Picture this: you walk into your office Monday morning, coffee in hand, and your boss drops the news. “We need to expose our legacy ERP system via REST APIs, by next quarter.” Your heart sinks as you remember that critical system is buried deep in your enterprise service bus ( ESB ), communicating through JMS messaging that’s been running faithfully since 2010. The need to expose JMS as REST API is a challenge every enterprise faces, and you’re definitely not alone.
conapi’s JMS endpoint for Gravitee
At conapi, we faced this exact challenge with our customers. While Gravitee excels at managing modern APIs and event driven architectures, it didn’t have native JMS support. So we built it.
Our custom JMS endpoint integrates seamlessly with Gravitee, treating JMS sources just like any other endpoint, whether HTTP, WebSocket, or Kafka. The magic? Any system connected to your ESB or JMS messaging infrastructure can now be exposed as REST, WebSocket, or webhook APIs.
Here’s what makes it special:
- No backend changes required: Your JMS systems keep running as they always have
- Multiple output formats: Transform JMS messages to JSON, XML, or any format you need
- Bi directional communication: Both publish and consume from JMS topics and queues
- Full Gravitee integration: Apply all of Gravitee’s policies, security, and monitoring
How to expose JMS as REST API in practice
Let me share a story from a recent demo (with a twist of humor). Imagine you’re hosting an alien friend, let’s call it Sunny Bloom. This modern alien has built in technology interfaces and communicates via JMS when hungry, happy, or angry.
Your alien sends mood updates through JMS like this:
<event>
<alienId>Sunny Bloom</alienId>
<mood>15</mood>
<status>hungry</status>
<timestamp>2025-01-15T10:30:00Z</timestamp>
</event>
Without our JMS endpoint, you’d need complex middleware to translate these messages for your modern surveillance system. With our solution, you simply:
- Configure the JMS endpoint in Gravitee (pointing to your alien mood topic)
- Add transformation policies to convert XML to JSON
- Set up a webhook to send updates to your surveillance dashboard
The result? Your surveillance system receives clean JSON data through a Webhook:
{
"alienId": "Sunny Bloom",
"mood": 15,
"status": "hungry",
"timestamp": "2025-01-15T10:30:00Z",
"source": "JMS"
}
Want to see this in action? Watch Sunny Bloom in our detailed webinar demonstrations: [English version] | [German version]

Incremental modernization approach
The beauty of this approach lies in its flexibility. You don’t need to modernize everything at once. Here’s how we typically recommend the journey:
Step 1: Expose what you have. Start by exposing your existing JMS/ESB services as APIs. No changes to backend systems, just new API endpoints consumers can use.
Step 2: Add modern alongside legacy. Introduce Kafka or other modern messaging systems for new services, while keeping JMS for existing ones. Gravitee manages both seamlessly.
Step 3: Migrate gradually. Move services from JMS to Kafka (or other modern protocols) at your own pace. Each migration is isolated, no big bang changes required.
In our alien example, we demonstrated this by showing the same mood updates flowing through both JMS and Kafka simultaneously, with the surveillance system receiving data from both sources without knowing the difference.
Benefits for enterprises
Why choose this approach over a complete rewrite?
Protect your investment: Your ESB and JMS infrastructure represents years of stable operations and significant investment. Why throw that away?
Reduce risk: Incremental changes are far safer than wholesale replacements. Test each API exposure independently.
Enable immediate integration: Start exposing APIs today in an agile way, not after a two year migration project.
Future proof architecture: Build the foundation for event driven architecture while maintaining operational stability.
One of our customers recently told us: “We went from having no APIs to exposing 20 critical services in three weeks. Our JMS systems didn’t miss a beat.”
Available through The API Box
If managing Gravitee and custom endpoints sounds complex, consider our fully managed approach through The API Box. Our JMS endpoint comes included, and we handle all the operations, monitoring, and maintenance.
You focus on your business logic, we ensure your JMS systems are accessible via modern APIs with enterprise grade reliability and security.
Conclusion
Modernizing legacy systems doesn’t have to mean starting from scratch. With our JMS endpoint for Gravitee, you can expose decades of business logic as modern APIs in days, not years.
Your ESB systems have served you well, now let them serve your modern integration needs too.