Distributed computing in Java 9 make the best of Java for distributed applications

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...

Full description

Bibliographic Details
Main Author: Pattamsetti, Raja Malleswara Rao
Format: eBook
Language:English
Published: Birmingham, UK Packt Publishing 2017
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 09737nmm a2200445 u 4500
001 EB001918189
003 EBX01000000000000001081091
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 9781787122734 
050 4 |a QA76.9.D5 
100 1 |a Pattamsetti, Raja Malleswara Rao 
245 0 0 |a Distributed computing in Java 9  |b make the best of Java for distributed applications  |c Raja Malleswara Rao Pattamsetti 
246 3 1 |a Distributed computing in Java nine 
260 |a Birmingham, UK  |b Packt Publishing  |c 2017 
300 |a 1 volume  |b illustrations 
505 0 |a Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Quick Start to Distributed Computing -- Parallel computing -- Amdahl's law -- Distributed computing -- Parallel versus distributed computing -- Design considerations for distributed systems -- Java support -- Summary -- Chapter 2: Communication between Distributed Applications -- Client-server communication -- Sockets and streams -- Socket programming for TCP -- Reading from the socket -- Socket programming for UDP -- Multicasting -- Streams -- URLs, URLConnections, and the ContentHandler classes -- URL (base URL and relative URL) -- Practicality of URLs -- ClassLoader -- Summary -- Chapter 3: RMI, CORBA, and JavaSpaces -- RMI -- What is RMI? -- Key terminologies of RMI -- RMI for distributed computing -- Writing an RMI server -- Implementing a remote interface -- Creating a client program -- Compiling programs -- Building a JAR file from the interface classes -- Building the server classes -- Building the client classes -- Running a remote client program -- Starting the server -- Invoking the client -- Common Object Request Broker Architecture (CORBA) -- CORBA standards -- Inter-ORB communication -- Java support for CORBA -- OMG IDL samples -- Interfaces -- Types and constants -- Structures -- Discriminated unions -- Sequences -- CORBA services -- Sample CORBA program using JAVA IDL -- IDL interface specification -- Compiling the IDL -- Client application -- Object implementation -- Defining the server -- Compiling and starting the server -- Executing the client -- JavaSpaces -- Overview -- How it works -- Sample JavaSpaces code -- How Java 9 adds value -- Summary -- Chapter 4: Enterprise Messaging -- EMS -- JMS -- The publish/subscribe messaging paradigm 
505 0 |a Amazon EC2 -- Amazon S3 -- Amazon SQS -- Amazon CloudFront -- Amazon SimpleDB -- Writing a distributed application on AWS -- Docker CaaS -- CaaS -- Characteristics of Docker CaaS -- Docker CaaS platform components -- Eclipse integration for a Docker container -- Deploying a sample Java application to Tomcat with Docker -- Java 9 support -- Spring Boot -- Spring Cloud -- Spring Cloud Data Flow -- Summary -- Chapter 8: Big Data Analytics -- What is big data? -- Big data characteristics -- Volume -- Variety -- Velocity -- Veracity -- NoSQL databases -- Hadoop, MapReduce, and HDFS -- Hadoop -- HDFS (Hadoop Distributed File System) -- MapReduce -- Cloud computing for Hadoop -- Dynamic Distributed Dimensional Data Model (D4M) -- Distributed computing for big data -- ZooKeeper for distributed computing -- Summary -- Chapter 9: Testing, Debugging, and Troubleshooting -- Challenges in testing distributed applications -- Standard testing approach in software systems -- Unit testing -- Mocking the dependencies -- Continuous Integration (CI)-based unit testing -- System testing -- System integration testing -- User Acceptance Testing -- Cloud distributed application testing -- Latest tools for testing Java distributed applications -- JUnit -- JTest -- TestNG -- Arquillian -- The Grinder -- JWalk -- Mockito -- PowerMock -- Debugging and troubleshooting distributed applications -- Summary -- Chapter 10: Security -- Security issues and concerns -- Two-way Secure Sockets Layer (SSL) implementation -- Two-way SSL implementation for web services -- Allow the secured calls in server application -- Generate a client program as a web service client with a two-way SSL -- Cloud computing security -- Security enhancements in Java 9 -- Datagram Transport Layer Security -- TLS Application Layer Protocol Negotiation Extension -- OCSP stapling for TLS -- Summary -- Index 
505 0 |a The Point-To-Point Messaging Paradigm -- JMS interfaces -- Developing a JMS application -- Publish-Subscribe (topic) programming -- Point-To-Point (queue) programming -- Web services -- Web service architectures -- SOAP web services -- RESTful web services -- Building a SOAP web service using the JAX-WS API in RPC Style -- Building SOAP web service using the JAX-WS API in Document style -- Building a RESTful web service using the JAX-RS API (using the Jersey implementation) -- Enterprise integration patterns -- Summary -- Chapter 5: HPC Cluster Computing -- Era of computing -- Commanding parallel system architectures -- MPP -- SMP -- Distributed systems -- Clusters -- Network of workstations -- Cluster computer architecture -- Cluster system software and tools -- HPCC -- Java support for high-performance computing -- Java support for parallel programming models -- Multithreading -- Parallelism -- Synchronization -- JOMP -- Java message passing -- The Spliterator interface -- Parallel stream processing -- Java 9 updates for processing an API -- Summary -- Chapter 6: Distributed Databases -- Distributed and decentralized databases -- Motivation for distributed databases -- Distributed database environments -- Homogeneous distributed database environment -- Heterogeneous distributed database environment -- Distributed database setup methodologies -- Replication -- Horizontal partitioning -- Vertical partitioning -- Hybrid setup -- Distributed DBMS architecture -- Java Database Connectivity -- JTA for distributed transactions -- Switching between the transaction modes -- Sample program for the XA transaction -- Summary -- Chapter 7: Cloud and Distributed Computing -- What is cloud computing? -- Cloud deployment models -- Cloud computing patterns -- Features of cloud computing -- Cloud versus distributed computing -- Cloud service providers -- AWS. 
653 |a COMPUTERS / Programming Languages / Java / bisacsh 
653 |a Traitement réparti 
653 |a Electronic data processing / Distributed processing / fast 
653 |a COMPUTERS / Data Processing / bisacsh 
653 |a Electronic data processing / Distributed processing / http://id.loc.gov/authorities/subjects/sh85042293 
653 |a Java (Computer program language) / fast 
653 |a Java (Langage de programmation) 
653 |a Java (Computer program language) / http://id.loc.gov/authorities/subjects/sh95008574 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
015 |a GBB7G3326 
776 |z 9781787126992 
776 |z 1787122735 
776 |z 9781787122734 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781787126992/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.2762 
520 |a 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.  
520 |a 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. Style and approach This is a step-by-step practical guide with real-world examples 
520 |a What You Will Learn Understand the basic concepts of parallel and distributed computing/programming Achieve performance improvement using parallel processing, multithreading, concurrency, memory sharing, and hpc cluster computing Get an in-depth understanding of Enterprise Messaging concepts with Java Messaging Service and Web Services in the context of Enterprise Integration Patterns Work with Distributed Database technologies Understand how to develop and deploy a distributed application on different cloud platforms including Amazon Web Service and Docker CaaS Concepts Explore big data technologies Effectively test and debug distributed systems Gain thorough knowledge of security standards for distributed applications including two-way Secure Socket Layer In Detail 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,  
520 |a Explore the power of distributed computing to write concurrent, scalable applications in Java About This Book Make the best of Java 9 features to write succinct code Handle large amounts of data using HPC Make use of AWS and Google App Engine along with Java to establish a powerful remote computation system Who This Book Is For This book is for basic to intermediate level Java developers who is aware of object-oriented programming and Java basic concepts.