views:

39

answers:

1

In the company that I work for we have several web-based applications that require charting of data in one form or another. We are therefore investigating different ways of reusing the efforts we put into providing charts. As far as we have come there seems to be an architectural divide in that we can either use the same charting components/libraries for each application (installing it on each server) or we can centralise the charting to a separate server and use it for all charting needs.

Obviously the second option would be more generic but I can also see that when the charting is decoupled from the data used there is more complexity added in sending the data back and forth as well as providing interactive charts (possibly).

Is there any best practise around that we should try and follow in a case like this?

A: 

It depends on a lot of things:

  • Firstly, are your systems so similar that the components can be installed and used on all servers. If not stream from a central server.
  • Will placing things on a single server give you problems due to a single point of failure.
  • Will the need to upgrade the central service give you problems due to the change having to be coordinated?
  • Will having all systems use a central server give you problems with respect to scalability.

One way to go would be to develop a single module, each system would install it locally and decide which version they wanted to use and when they would upgrade.

Shiraz Bhaiji