The reliable communication in a distributed application when the application is set in a client-server style An application is basically defined as a program which is tailor-made to perform a specified business task using several applications in a computer system. Examples of “applications include word processors and payroll application” (Laudon 2010). Applications exchange information through operating systems. According to Girdhar (2013), the work of a distributed system is to provide availability or continuity, even if faults occur within the system. This may be achieved through resources and creating redundancies within the network. The duration of any application is reduced by executing it in parallel form in the computer systems. Distributed systems are interconnected with a Local Area Network (LAN). In LAN, the terms ‘server’ and ‘client’ are common. The server is and defined as a process or processes whose main role is to manage and implement resources or services. On the other hand, the term client refers to a process or processes which access the resources that are implemented by the server. What happens in a client-server communication style is that, a client communicates a request to use the resources to the server, while at the same time the outcome of the request is communicated to the client by the server in the form of a response (Laudon 2010). This request-response form of interaction is the basis for the client-server communication style. The client-server communication is through the exchange of messages. A distributed system spreads information to several computers tied up in a network for processing. This, in turn, enhances efficient use of resources while distributing access to the end-user. Breaking down the application into smaller components parts for distribution purposes is much more complex than implementing the same application in a single system (Jessup and Valacich, 2008). According to Laudon (2010), the client-server model emerged in the 1980s. This model is a two-way execution of programs. As such, it makes the request to access the information or services, and also gives the outcomes of these requests inform of responses concurrently. This illustrates the distributed application. The programs for making requests (clients) always require simple interfaces for facilitating these requests. Client programs, therefore, do not process information. Ideally, they can be designed to run on non-powerful computers such as personal computers. Unlike client programs, server programs must run on powerful and faster systems like workstations, which mostly access a large pool of database which stores corporate information. Due to the heterogeneity of computing environments within the corporate, the client-server model fits well. The model can also provide efficient access to shared resources while safeguarding the information at the same time. There are three main approaches to designing distributed applications. These are remote call procedure (RPC), a standard-based approach to the computing environment, object request brokering approach, which is an industry-based approach, and the message queuing approach, a popularized approach by the leading vendors (Jessup and Valacich, 2008). In a distributed system, failures and faults occur in some of the components. However, the distributed system is constructed and designed in such a