Client/Server applications
Virtually all applications nowadays have a client and server component.
The client part may be a Java Applet, a GWT application, or something else, but any client/server application will have to deal with latency, asychronous results, server workload, scalability, multithreading and security, among other issues.

