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?