How to allow for modular development while still running in same JVM?
Posted
by Marcus
on Stack Overflow
See other posts from Stack Overflow
or by Marcus
Published on 2010-03-14T20:43:18Z
Indexed on
2010/03/14
20:45 UTC
Read the original article
Hit count: 270
Our current app runs in a single JVM.
We are now splitting up the app into separate logical services where each service runs in its own JVM.
The split is being done to allow a single service to be modified and deployed without impacting the entire system. This reduces the need to QA the entire system - just need to QA the interaction with the service being changed.
For interservice communication we use a combination of REST, an MQ system bus, and database views.
What I don't like about this:
- REST means we have to marshal data to/from XML
- DB views couple the systems together which defeats the whole concept of separate services
- MQ / system bus is added complexity
- There is inevitably some code duplication between services
- You have set up n JBoss server configurations, we have to do n number of deployments, n number of set up scripts, etc, etc.
Is there a better way to structure an internal application to allow modular development and deployment while allowing the app to run in a single JVM (and achieving the associated benefits)?
© Stack Overflow or respective owner