Distributed Computing Architecture



Distributed programming generally falls into one of one or two basic architectures or classes : Client-server, 3-tier design, N-tier design, Distributed objects, loose coupling, or tight coupling.

* Client-server Smart customer code contacts the server for info, then formats and displays it to the user. Input at the customer is committed back to the server when is representative of a permanent change.

* 3-tier design three tier systems move the customer intelligence to a middle tier so that stateless clients may be employed. This simplifies application deployment. Most web applications are 3-Tier.

* N-tier design architecture N-Tier refers sometimes to web applications which further forward their requests to other company services. This kind of application is the one most accountable for the successfulness of application servers.

* Tightly coupled ( clustered ) refers usually to a cluster of machines that closely work together, running a shared process in parallel. The task is subdivided in parts that are made individually by every one and then put back together to make the final result.

* Peer P2 peer a design where there's no special machine or machines that offer a service or manage the network resources. Instead all responsibilities are regularly divided among all machines, known as peers. Peers can serve both as clients and servers.

* Space based alludes to an infrastructure that creates the illusion
( virtualization ) of one single address-space. Info are transparently duplicated according to application wishes. Decoupling in time, space and reference is accomplished.

Another basic facet of distributed computing design is the technique of communicating and coordinating work among simultaneous processes. Through numerous message passing customs, processes may communicate immediately with each other, usually in a skilled / slave relationship. Or, a "database-centric" design can enable distributed computing to be done without any sort of direct inter-process communication, by exploiting a shared database.