Distributed computing in Java 9 make the best of Java for distributing applications
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 computatio...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, [England] ; Mumbai, [India] :
Packt
2017.
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630676906719 |
Tabla de Contenidos:
- 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.
- 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.
- 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.