Speakers
- Alex Antonov
- Tim Berglund
- Rohit Bhardwaj
- Ola Bini
- Cliff Click
- Jeremy Deane
- Esther Derby
- Hans Dockter
- Keith Donald
- Ben Ellingson
- Neal Ford
- Andrew Glover
- Brian Goetz
- Arun Gupta
- Stuart Halloway
- David Hussman
- Paul King
- Dave Klein
- Scott Leberknight
- Howard Lewis Ship
- Andrew Lombardi
- Matthew McCullough
- Ted Neward
- Michael Nygard
- Eric Pugh
- Ben Rady
- Paul Rayner
- Mark Richards
- Ian Robinson
- Johanna Rothman
- Aleksandar Seovic
- Roshan Sequeira
- Ken Sipe
- Brian Sletten
- John Smart
- John Steven
- Venkat Subramaniam
- Vaughn Vernon
- Jim Webber
Aleksandar Seovic
Software Developer and Author
Aleksandar lead the implementation of Oracle Coherence for .NET, a client library that allows applications written in any .NET language to access data and services provided by Oracle Coherence data grid. He was also one of the key people involved in the design and implementation of Portable Object Format (POF), a platform-independent object serialization format that allows seamless interoperability of Coherence-based Java, .NET and C++ applications.
Aleksandar is the author of Oracle Coherence 3.5 (Packt Publishing, 2010) and Oracle ACE Director for Fusion Middleware. He frequently speaks about and evangelizes Coherence at conferences, Java and .NET user group events, and Coherence SIGs.
Presentations
Performance and Scalability Revisited: In-Memory Data Grids
Building scalable, highly-available applications that perform well is not an easy task. These features cannot be simply “bolted” onto an existing application – they have to be architected into it. Unfortunately, the things we need to do to achieve them ar more »In-Memory Data Grids: Not Your Mom's Cache
While many developers still think of in-memory data grids as clustered caches, in reality they are much more and provide a solid foundation for the next generation of scalable web and enterprise applications. more »End-to-End Performance Optimization
Performance matters. If your web site or application is unresponsive, users will either go to competitor’s site or hate the application they are forced to use. more »Introduction to Load Testing
You might think that your application scales well, but what will happen if you deploy it in production and it crashes and burns as the number of users increases. Whether it crashes completely or “just” becomes extremely slow, the end result is the same – more »Building scalable, highly-available applications that perform well is not an easy task. These features cannot be simply “bolted” onto an existing application – they have to be architected into it. Unfortunately, the things we need to do to achieve them are often in conflict with each other, and finding the right balance is crucial.
In this session we will discuss why scaling web applications is difficult and will look at some of solutions we have come up with in the past to deal with the issues involved. We will then look at how in-memory data grids can make our jobs easier by providing a solid architectural foundation to build our applications on top of.
If you are new to in-memory data grids, you are guaranteed to leave the presentation eager to learn more. However, even if you are already using one you will likely walk out with a few ideas on how to improve performance and scalability of your applications.
While many developers still think of in-memory data grids as clustered caches, in reality they are much more and provide a solid foundation for the next generation of scalable web and enterprise applications.
In this session we will briefly discuss standard caching features of in-memory data grids and quickly move on to some of the truly amazing and revolutionary features such as grid queries and aggregations, parallel and in-place processing, and real-time events.
Performance matters. If your web site or application is unresponsive, users will either go to competitor’s site or hate the application they are forced to use.
In this session we will discuss various performance optimization techniques you can use to improve performance of your web applications and ensure that your users are happy. We will cover the whole architecture stack by discussing not only how to optimize server-side code and persistence layer, but how to optimize the front end as well.
You might think that your application scales well, but what will happen if you deploy it in production and it crashes and burns as the number of users increases. Whether it crashes completely or “just” becomes extremely slow, the end result is the same – it is essentially unavailable to the users.
To avoid that, you need to stress the application before the deployment and measure how well it performs under load and how well it scales.
In this session we will discuss load testing in general and talk about what you need to measure, how you need to measure it, and what conclusions you can draw from the results.
Books
by Aleksandar Seovic, Mark Falco, and Patrick Peralta
-
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.