Distributed programming falls out of the use of computers to form networks. Distributed programming typically falls into one of several basic categories:
- Client/Server -- Smart client code contacts the server for data, then formats and displays it to the user. Input at the client is commited back to the server when it represents a permanent change.
- 3 Tier Distribution -- Three tier systems move the client intelligence to a middle tier so that stateless clients can be used. This simplifies application deployment. Most web applications are 3-Tier.
- N-Tier Distribution -- N-Tier refers typically to web applications which further forward their requests to other enterprise services. This type of application is the one most responsible for the success of Application Servers.
- Remote Procedure Call -- This distribution system maps function calls to the network.
- Distributed Object -- Systems like CORBA, Microsoft D/COM, Java RMI and others, try to map Object Oriented design to the network
- Loosely Coupled -- Loosely coupled systems are ones that communicate through intermediate documents that are typically human readable. Examples include XML, HTML, SGML, X.500, and EDI.