NimChimpsky
NimChimpsky

Reputation: 47300

Service oriented architecture spring-mvc

I have a spring mvc controller that returns a pojo :

@RequestMapping(value = "/person", method = RequestMethod.POST,headers="Accept=application/xml, application/json")
public @ResponseBody Person addPerson(@RequestBody Person person) {
  return personService.add(person);
}

This controller is located in war file A, on server A.

I have another spring app, war file b, that may go on a different server or the same server. Whats the best way to access the addPerson method ? Via an http request or packaging up the class file (and dependicies) as a jar and including in war file b ? Or am I getting the wrong end of the stick and should do something else ?

Upvotes: 4

Views: 2167

Answers (1)

pap
pap

Reputation: 27604

There is no "best way", it all depends on the circumstances. Does war A rely on a lot of external dependencies or databases? If so, it may be disadvantageous to including it into war B (in effect duplicating the load on all external dependencies) and a web-service approach might be better. If A is a very simple application, maybe the extra complexity of a web-service integration would be overkill. Maybe they should be merged altogether?

In general though, you should ask yourself (or whoever wrote A and B) why they are split into two different application. There is probably a reason for it, and if it's a compelling one you should probably maintain the separation and go for web-service calls.

Upvotes: 3

Related Questions