An Introduction To Parallel And Distributed Computations Through Java is the first book brought out to develop the concept of parallel and distributed programming through Java. It uses a pedagogical structure designed to take advantage of the implementation of parallel programming as well as distributed programming in Java.
This book is designed for a one-semester course on concurrent programming. This book provides a better understanding of high-performance computing and will help to improve computation or execution speed through concurrency techniques. This book will help software developers, programmers, students to learn theoretical skills of parallel and distributed computer system architecture, memory architecture, programming models and how to design a parallel and distributed program This book deals with wrapped parallel and distributed computer system architecture, memory architecture and programming models, which will enable the reader to design parallel and distributed programs.
Also, it deals with the new development in concurrent programming, client/server architecture, web framework with service-oriented architecture and cloud computing by giving a detailed description of important parallel and distributed programming using Java.
The book starts with core Java concepts and deals with object-oriented programming, exception handling, file concepts and databases with its transactions, multithreaded programming, GUI programming and Applets. Expertise in these fields will give the reader practical experience in Java programming with multithreaded programming to execute parallel programming and TCP/IP, UDP, RMI and CORBA to execute distributed programming. The distributed programming experience extends to cover all major components of the Java 2 Enterprise Edition (J2EE) such as Java Persistence API and Java Messaging Services, Java Servlets, Java Server Pages (JSP), Java Server Faces (JSF), Facelets, AJAX, JAX-RPC, JAX-WS, JAX-RS, SAAJ.
Parallel and distributed computing, with the focus on both theory and practical methods. Sample programs provided for parallel and distributed memory architecture, programming model and design issues such as data dependency and parallel input and output. Example programs included in appendices for parallel concepts such as parallel sorting, searching, bouncing balls, traffic lights; examples programs also included for distributed concepts such as TCP/IP based multiuser chatting, file transfer using RMI, concurrent database access using RMI, concurrent database using TCP/IP.
JAVA LANGUAGE FUNDAMENTALS: An Overview of Java. Data Types, Variables. Arrays. Control Statements. The Elements of Object Oriented Programming. The Java Classes and Objects Constructor. Methods. Inheritance. Summary, Review Questions & Exercises.
EXCEPTION, INTERFACE, PACKAGES AND STRINGS: Exception Handling. Interfaces Packages. Strings. Summary, Review Questions & Exercises.
JAVA MULTITHREADED PROGRAMMING: An Overview of Multithreaded Programming. What is Thread? The Thread States. The Thread API. Creating a Thread. Creating Multiple Threads. Thread Priority. Deadlocks. Synchronization. Inter-Thread Communication. The Thread Group API. Daemons. High-Level Concurrency Objects. Summary, Review Questions & Exercises.
INTRODUCTION TO ABSTRACT WINDOWING TOOLKIT: Introduction To The AWT. The Container Class. Common Methods of All Components. Layout Classes. The Basic User Interface Components. Summary, Review Questions & Exercises.
EVENT HANDLING: Introduction To Event Handling. Events Classes. Event Listener Interfaces. Adapter Classes. Summary, Review Questions & Exercises.
INTRODUCTION TO JAVA APPLETS: What Is an Applet? What Is Required To Run an Applet? Capabilities and Limitations of Applets. The Java Applet Security. The Life Cycle of an Applet. HTML and Java Applets. Passing Parameters to Applets. Applet With UI Components. Applet With Event Handling. Creating a Threaded Applet. Summary, Review Questions & Exercises
FILES: Overview of I/O Package. Streams Overview. Character Stream. Byte Stream. The File Class. The Streamtokenizer Class. Summary, Review Questions & Exercises.
DATABASES: Introduction to JDBC. Product Components of JDBC. Establishing a Connection. Database With GUI Program. Transactions. Introducing JDBC Rowsets. Types of Parallelism In-Database Processing. Summary, Review Questions & Exercises.
INTRODUCTION TO HIGH-PERFORMANCE COMPUTING: Overview of High-Performance Computing and Java Framework. Concurrent Techniques. The Benefits of Parallel Programming. The Benefits of Distributed Programming. The Basic Layers of Concurrent Technique. Categories of Computers. Summary & Review Questions.
PARALLEL COMPUTER SYSTEM ARCHITECTURE: Overview of Parallel Computing. Central Processing Unit Design. Instruction Set Architecture And Design. Some General Parallel Terminology. Summary & Review Questions.
MICROPROCESSOR TECHNOLOGIES: Overview of Microprocessor. Silicon Technology. Intel Multi-Core Technology. Summary & Review Questions
PARALLEL COMPUTER MEMORY ARCHITECTURE: Parallel Computer Memory Architectures. SMPS, MPPS, and Parallel Processing. Summary, Review Questions & Exercises.
PARALLEL AND DISTRIBUTED PROGRAMMING MODEL: Parallel and Distributed Programming Models. Shared Memory Model. Threads Model. Message Passing Model. Data Parallel Model.Hybrid Programming Model. FlynnS Programming Models.Embarrassingly Parallel Computations. Pipelined Computations. Summary, Review Questions & Exercises.
DESIGNING PARALLEL AND DISTRIBUTED PROGRAMS: Automatic Vs. Manual Parallelization. Understand the Problem and the Program. Partitioning. Communications. Synchronization. Data Dependencies. Load Balancing. Granularity. Parallel Input and Output. Limits And Costs of Parallel Programming. Performance Analysis and Tuning. Summary, Review Questions & Exercises
CLIENT/SERVER BASED DISTRIBUTED PROGRAMMING THROUGH SOCKET: TCP/IP Layers and Protocols. Transport Layer Protocols. TCP Versus UDP. Introduction To Java Socket Programming. The Socket Class. The Serversocket Class. The Datagram packet Class. The Datagramsocket Class. The Inetaddress Class. Summary, Review Questions & Exercise.
MIDDLEWARE BASED DISTRIBUTED PROGRAMMING: Overview of Middlewares Remote Method Invocation (RMI). Common Object Request Broker Architecture (CORBA). Summary, Review Questions & Exercises.
INTRODUCTION TO CLOUD COMPUTING: What Is Cloud Computing? Cloud Components. Web Application Framework. Cloud Web Services. Service Oriented Architectures Towards to Cloud Computing. Summary & Review Questions.
ENTERPRISE JAVA BEANS (EJB): Enterprise Application Technologies. Overview of EJB. Session Beans. Entity Bean (Java Persistence API). Message-Driven Bean / Java Messaging Services (JMS). Summary, Review Questions & Exercises.
WEB BASED DISTRIBUTED PROGRAMMING: Java Sevlets. Java Server Pages. Javaserver Faces (JSF) Facelets. Ajax. Summary, Review Questions & Exercises.
SERVICE ORIENTED ARCHITECTURE (SOA): Overview of SOA. Java Api For XML-Based Remote Procedure Call (JAX-RPC). Java API For XML. Web Services (JAX-WS). Java API For Restful Web Services (JAX-RS). Soap With Attachments Api For Java (SAAJ). Summary & Review Questions.
APPENDICES: Examples: Parallel And Distributed Programs. Useful Representation. Definitions. List Of Acronyms. Netbeans IDE. JCreator.
This book is intended for Under Graduate and Post Graduate Students, Professionals, Academicians and Researchers who are into design and development of Parallel and Distributed programs through JAVA Language.