Here are some points to consider when deciding between Local and Centralized processing:
Is a reliable network available everywhere the application will be installed?
(If no, local processing may be a better option)
Does the application require real-time data?
(If yes, centralized processing may be a better option)
Does the application require intensive CPU effort or high disk IO?
(If yes, centralized processing or a thick local processing may be options)
Does the application need offline capabilities?
(If yes, local processing may be a better option)
Are there security concerns for having the data consolidated in remote environments?
(If yes, centralized processing with distributed thin clients may be a better option)
Is there existing hardware at the sites that can be leveraged to run the application?
(If yes, centralized processing may be a good option: A thin client will cost less to deploy and maintain, they are more secure, and less valuable to thieves)
Are there existing applications that the same user group is working with, and how are these applications deployed?
(There may be economies of scale by consolidating applications into one design pattern)