design-patternsarchitecturedistributedlocalthick-client

Local vs. Centralized Processing


I work at a company with a large SAP investment, and we also have dozens of large .Net systems (mostly internally for engineering systems), and Java platforms (mostly for external web applications). As such, we have large development shops on ABAP, C#, and Java EE.

We have over 20 major facilities distributed over very large distances, 2 data centres, and 600 or so small facilities in urban, rural, and remote areas (think close to the North pole)

We have decent standards for which platform to use in each functional domain, but we don't have a lot of clarity around when to local processing and when to use distributed (central) processing. (i.e., Thick client vs. Thin client)

I'd like to build a decision tree based on best practices to help with this question. Some of the criteria I've seen in the past include:


Solution

  • All sorts of things can be considered here such as what sort of file system are you going to use ? (AFS / NFS)

    From previous experience we've managed to distribute trading systems which require intensive CPU over citrix clusters for remote servers. None of these users had any complaints.

    Real time data we would usually use a BUS approach where by clients or middleware would deliver the results.