Thin Client Framework is an architectural pattern that defines how to write Java client applications. It separates coding concerns and responsibilities. Its high degree of modularity provides for maximum re-use. It is compatible with multiple data and server and network models, and it enables clients to be as thin or thick as needed. It supports a process that provides a formula-based approach to estimating development costs, and it enables parallel component development on the client while supporting concurrent development of client and servers.