About the Book
Create Internet-scale applications using Oracle's high-performance data grid
- Build scalable web sites and Enterprise applications using a market-leading data grid product
- Design and implement your domain objects to work most effectively with Coherence and apply Domain Driven Designs (DDD) to Coherence applications
- Leverage Coherence events and continuous queries to provide real-time updates to client applications
- Successfully integrate various persistence technologies, such as JDBC, Hibernate, or TopLink, with Coherence
- Filled with numerous examples that provide best practice guidance, and a number of classes you can readily reuse within your own applications.
In Detail
Scalability, performance, and reliability have to be designed into an application from the very beginning, as there may be substantial cost or implementation consequences if they need to be added down the line. This indispensible book will teach you how to achieve these things using Oracle Coherence, a leading data grid product on the market.
Authored by leading Oracle Coherence authorities, this essential book will teach you how to use Oracle Coherence to build high-performance applications that scale to hundreds of machines and have no single points of failure. You will learn when and how to use Coherence features such as distributed caching, parallel processing, and real-time events within your application, and understand how Coherence fits into the overall application architecture.
Oracle Coherence provides a solid architectural foundation for scalable, high-performance and highly available enterprise applications, through features such as distributed caching, parallel processing, distributed queries and aggregations, real-time events, and the elimination of single points of failure.
However, in order to take full advantage of these features, you need to design your application for Coherence from the beginning. Based on the authors' extensive knowledge of Oracle Coherence, and how to use it in the real world, this book will provide you with all the information you need in order to leverage various Coherence features properly. It contains a collection of best practice-based solutions and mini-frameworks that will allow you to be more productive from the very beginning.
The early chapters cover basics like installation guidelines and caching topologies, before moving on to the domain model implementation guidelines, distributed queries and aggregations, parallel processing, and real-time events. Towards the end, you learn how to integrate Coherence with different persistence technologies, how to access Coherence from platforms other than Java, and how to test and debug classes and applications that depend on Coherence.
What you will learn from this book
Best use distributed caching to reduce the load on the backend database Design and implement your domain objects to work most effectively with Coherence Apply Domain Driven Design (DDD) principles to Coherence applications Query and aggregate data efficiently within the Coherence grid Boost application performance by executing tasks in parallel within the grid Leverage Coherence events and continuous queries to provide real-time updates to client applications Integrate various persistence technologies, such as JDBC and JPA, with Coherence Access Coherence from .NET and C++ applications using Coherence*Extend Test and debug Coherence-related code Chapter 1 Introduction to Oracle Coherence -Shows you how to install Coherence and teaches the basics of Coherence API
Chapter 2 Designing Coherence Caches -Covers various caching topologies Coherence supports and when to use each
Chapter 3 Implementing Domain Model -Describes how to apply DDD to Coherence applications and how to implement your domain objects to work optimally with Coherence
Chapter 4 Querying the Data Grid - Provides an overview of Coherence distributed queries and aggregations
Chapter 5 Parallel Processing -Teaches you how to improve application performance by parallelizing task execution within the Coherence cluster
Chapter 6 Data Grid Events - Shows you how to use Coherence events and continuous queries to receive real-time notifications of data changes
Chapter 7 Implementing Persistence Layer -Examines different persistence architectures that can be used with Coherence and shows you how to use Spring JDBC, Hibernate, and TopLink to implement persistence
Chapter 8 Bridging Platform and Network Boundaries -Describes how to connect to a Coherence grid from remote Java, .NET, and C++ applications over TCP/IP
Chapter 9 Bridging Platform and Network Boundaries -Covers the Coherence*Extend protocol, which allows you to access a Coherence cluster from remote clients and from platforms and languages other than Java, such as .NET and C++.
Chapters 10 Accessing Coherence from .NET and Chapter 11 Accessing Coherence from C++ -Teach you how to access Coherence from .NET and C++ clients, respectively.
Chapter 12 The Right Tool for the Job -Provides some parting thoughts and reiterates practices you should apply when building scalable applications. Appendix, Coherent Bank Sample Application, describes how to set up the sample application that accompanies the book in your environment.
Approach
This title covers Coherence features progressively, from simple to more advanced topics, and provides best-practice guidance on when and how to use each.
Numerous examples are provided throughout the book that will help you become familiar with Coherence APIs. You will also be able to reuse many of the sample classes or mini-frameworks encapsulating Coherence best practice and providing missing features directly within your own applications. This should significantly increase your productivity when developing Coherence applications.
Finally, a sample application that you can download from the companion web site will show you how to use Coherence as part of the broader infrastructure stack, including Spring Framework and Hibernate, as well as how to access Coherence from a WPF-based .NET desktop application.
Who this book is written for
This book is written for architects and developers responsible for the design and development of Internet or Enterprise applications (web-based or otherwise) that need to scale to support a large number of simultaneous users, while at the same time providing fast response times and high availability. The book assumes a solid knowledge of Java, and a familiarity with Domain Driven Design (DDD) is helpful.