Client/server and distributed technologies have made great strides since their emergence in the late 1980s to become very popular in the IT industry. This work illustrates techniques not only for designing GUI client/server applications, but also for managing complex application environments containing both legacy and new applications. Topics covered in this book include: the what, when and how of the three-tier client/server model; coupling and dependency - key design factors in distributed systems; distributed application design alternatives for the enterprise; the federated application structure for integrating the applications of the enterprise; and a real life case study of a major financial institution.