We have multiple modules (e.g. master data module, physical module, derivative module, risk module etc) having one war for each of them. Since master data module will be used by all other modules, we can put dependency of mdm jar in all other modules. All modules other than master data requires some functionality from each other. We don't want to put the direct dependency so that each module can be deployed independently. Web services are one that come to my mind. One of my friend is also suggesting Spring remote for the integration. (We don't have any experience in this).
What is the best way to communicate between multiple modules (performance and ease of integration point of view)?