Book Image

Distributed Computing in Java 9

Book Image

Distributed Computing in Java 9

Overview of this book

Distributed computing is the concept with which a bigger computation process is accomplished by splitting it into multiple smaller logical activities and performed by diverse systems, resulting in maximized performance in lower infrastructure investment. This book will teach you how to improve the performance of traditional applications through the usage of parallelism and optimized resource utilization in Java 9. After a brief introduction to the fundamentals of distributed and parallel computing, the book moves on to explain different ways of communicating with remote systems/objects in a distributed architecture. You will learn about asynchronous messaging with enterprise integration and related patterns, and how to handle large amount of data using HPC and implement distributed computing for databases. Moving on, it explains how to deploy distributed applications on different cloud platforms and self-contained application development. You will also learn about big data technologies and understand how they contribute to distributed computing. The book concludes with the detailed coverage of testing, debugging, troubleshooting, and security aspects of distributed applications so the programs you build are robust, efficient, and secure.
Table of Contents (17 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Customer Feedback
2
Communication between Distributed Applications
3
RMI, CORBA, and JavaSpaces

Client-server communication


Client-server applications are configured on a network (internet/intranet). Clients send requests to the server for a resource and, in turn, receive responses from the server. A computer that can send such requests for a resource/service is called a client, and the computer that contains the program that provides the requested resource/service to more than one client is called a server. Both clients and servers can be connected through a wired/wireless network protocol:

In the preceding figure, client-server communication can be visualized as a program running on the client machine interacting with another program running on the server machine. This communication through the network involves networking services offered by diverse communication protocols.

In a single processor system, applications can talk to each other through shared memory. The producer process writes data to the buffer or filesystem, and the consumer process reads the data from there. In distributed...