Home > Articles > Programming > Java

  • Print
  • + Share This
From the author of

The Funhouse Microphone

Law: If it talks, it can be misunderstood.

Q: Is the application client/server?

A client/server app is ripe for failure because there are two parts that must talk to each other. Three-tier systems isolate some of the problems by isolating server-specific functions from application-specific logic. Having three tiers has less risk in the end, but it also means another hunk of code to manage. Also, take into account the added infrastructure of routers, firewalls, and other equipment that could fail.

Low Risk

  • It's stand-alone (reduces the complexity of the communications infrastructure).

  • The system is multi-tier. The design and analysis includes information about the interfaces, system analysis, and prototypes have been built for critical and risky areas.

  • There are communication channels, but the application replaces only one part of a current client/server system (no need to start from scratch).

High Risk

  • Development of client and/or server from scratch.

  • Requires the integration of several systems.

  • The existing client/server system is to be rewritten from scratch.

Risk Management

  • If using an existing server, create a middle tier to isolate the client from directly depending upon a specific server implementation.

  • If replacing a current client and server, replace one side at a time.

  • Keep communication simple. There's no reason to create a complex system for the future when a simple one works for the present. Odds are that you'll totally rewrite the application in the future anyway.

  • + Share This
  • 🔖 Save To Your Account