Oliver Gierke
Engineer at SpringSource
Oliver Gierke is engineer at SpringSource, a division of VMware, project lead of the Spring Data JPA module and involved into other Spring Data modules (e.g. MongoDB) as well. He has been into developing enterprise applications and open source projects for over 6 years now. His working focus is centered around software architecture, Spring and persistence technologies. He is regularly speaking at German and international conferences as well as author of technology articles.
Presentations
An Introduction to Spring Data
Spring always provided sophisticated support for various data access technologies. The lately coined Spring Data project now takes the next step and introduces support for non-relational data stores like MongoDB, CouchDB, Cassandra, Redis and Riak just to name a few.
Beyond that it helps implementing data access layers in a consistent and easy-to grasp fashion, for both the NoSQL stores as well as more traditional APIs like JPA. The talk introduces the umbrella project, foundational concepts and abstractions and dives down into specialties of particular modules hands-on.
Spring Data JPA - Repositories done right
Domain driven design has become a ubiquitous approach to tackle complex problem domains and build a rich object model. Furthermore JPA has become the standard and widely accepted way of object persistence in the Java world.
The talk introduces the the Spring Data project in general with a focus on the JPA module that allows developers to easily implement JPA based repositories in a sophisticated way. We start with a brief analysis of a plain JPA based repository implementation and outline pain points esp. regarding the domain driven approach (lack of abstraction, tediousness of executing queries, pagination and so on). The main part of the talk then takes a look at how Spring Data JPA provides solutions to those problems.
Whoops, where did my architecture go?
When applications grow bigger, modularity becomes a key aspect regarding maintainability. Design decisions made in the early days are hardly discoverable in the codebase, inter-module dependencies grow a lot. The talk introduces means and approaches to connect logical architecture to the codebase.
Beyond that we discuss patterns and best practices around general code organization, package structures to build a solid foundation for Java applications and in how far Spring can help creating loosely coupled components and dedicated points to extend applications.
Spring Data Repositories – A Deep Dive
The repository abstraction layer is one of the core pieces of the Spring Data projects. It provides a consistent, interface-based programming model to allow implementing data access layers easily. The talk will start with a brief introduction and dive into best practices and implementation patterns later one.
We will conclude the session with an overview over what can actually be built on top of this generic repository abstraction and discuss integration hooks into Spring MVC and REST webservices.