SlideShare a Scribd company logo
Spring Data and In-Memory
Data Management in Action
John Blum • Luke Shannon
@john_blum • @lukewshannon
Agenda
• Brief Apache Geode Overview
• Apache Geode in Spring
• Spring with Apache Geode in Action:
• Caching in [Pivotal] CloudFoundry
• Events with Continuous Query
• Data Access with Repositories
• New Improvements
• Roadmap
• *Bonus Feature
• QA
3
Apache Geode Pivotal GemFire
4
~
5
Distributed
Linearly Scalable
High Throughput
Low/Predictable Latency
Highly Available
Consistent
Durable
In-Memory
Resilient/Fault Tolerant
Shared Nothing Architecture
Partitioned
Real-Time Big/Fast Data
Events/Continuous Query
Functions
Transactions
Queries/Indexes
Multi-Cluster
Client/Server
P2P
Persistent
Replication
Cloud
Secure
Serialization
Spring Data GemFire / Geode
7
1. Use the Spring Framework’s powerful, non-invasive programming model
and concepts to simplify the configuration and development of highly-
scalable, distributed Spring applications based on Pivotal GemFire or
Apache Geode.
1. Integration with the Spring portfolio…
Purpose
Spring Data GemFire / Geode
8
+ +
Using Pivotal GemFire or Apache Geode
With Spring’s Transaction Management and Spring Data GemFire/Geode
To support both Local (Cache) & Global (JTA) Transactions
Spring Framework
Spring Data GemFire / Geode
9
+ +
Using Pivotal GemFire or Apache Geode
With Spring’s Cache Abstraction and Spring Data GemFire/Geode
To serve as a JCache (JSR-107) caching provider
Spring Framework
Spring Data GemFire / Geode
10
Spring Data Commons
+
Using Pivotal GemFire or Apache Geode
With SD Commons Repository Infrastructure and SD GemFire/Geode
To rapidly build Data Access Objects (CRUD + Mapping + Querying)
|
Spring Data GemFire / Geode
11
Spring Data REST & Spring HATEOAS
+
Using Pivotal GemFire or Apache Geode
With SDC Repositories, Spring Data REST and Spring HATEAOS
To easily create mature, hypermedia-driven REST web services
| +
Spring Data GemFire
12
Spring Integration
+
Using Pivotal GemFire with Spring Integration
For Inbound (Cache Events & CQ) and Outbound Channel Adapters,
Message Store, Lock Registry, Metadata Store
Spring Data GemFire
13
Spring XD
+
Using Pivotal GemFire with Spring XD (CQ, source & sink)
To simplify Big Data applications
Performing Ingest, Analytics, Batch Jobs and Data Export
Spring Data GemFire
14
Spring Session
+
Using Pivotal GemFire with Spring Session (Data GemFire)
To simplify (HTTP) Session State Management
+
Spring Data GemFire
15
Spring Boot
+
Using Pivotal GemFire with Spring Boot
To get up and running as quickly as possible
+
Spring Data GemFire
16
Spring Cloud
+
Use Spring Cloud (Connectors)
To build Cloud Native Applications and Microservices
Using Pivotal GemFire
Examples
17
Spring Data GemFire / Geode
18
Spring Data GemFire
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-gemfire</artifactId>
<version>1.8.2.RELEASE</version>
</dependency>
Spring Data Geode
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-geode</artifactId>
<version>1.0.0.APACHE-GEODE-INCUBATING-M2</version>
</dependency>
Pivotal
GemFire
Maven Artifacts
http://search.maven.org/#artifactdetails%7Corg.springframework.data%7Cspring-data-
gemfire%7C1.8.2.RELEASE%7Cjar
http://search.maven.org/#artifactdetails%7Corg.springframework.data%7Cspring-data-
geode%7C1.0.0.APACHE-GEODE-INCUBATING-M2%7Cjar
Spring Data GemFire / Geode
19
Spring Data GemFire
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-gemfire</artifactId>
<version>1.4.0.RELEASE</version>
</dependency>
Pivotal
GemFire
Spring Boot Maven Artifact
http://search.maven.org/#artifactdetails%7Corg.springframework.data%7Cspring-data-
gemfire%7C1.8.2.RELEASE%7Cjar
Roadmap – Annotation Support for Callbacks
20
@Component
public class ExampleApplicationCallbacks {
@CacheListener(region = “EventSource”)
public void afterCreate(EntryEvent<K, V> event) {
..
}
@CacheLoader(region = “DataSink”)
public void load(LoaderHelper<K, V> helper) {
..
}
@CacheWriter(region = “DataSource”)
public void beforeUpdate(EntryEvent<K, V> event) {
..
}
}
Spring Data GemFire / Geode
 Spring Data GemFire 2.0
 Java 8
 Spring Framework 5.0
 GemFire 9.0
 Projections; Java 8 Types (Optional<T>, Stream<T>); Reactive Support (?)
 Codebase re-organization
 Test Framework support
21
Just around the corner…
Spring Boot
22
PR #6224 – Auto-configuration support for SDG Repositories
interface CustomerRepository extends Repository<Customer, Long> {
}
@Region(“Customers”)
class Customer {
}
compile “org.springframework.boot:spring-boot-starter-data-gemfire:1.5.0.M1”
No longer necessary…
@SpringBootApplication
@EnableGemfireRepositories
class ExampleSpringBootApplication {
}
Spring Boot
23
PR #5445 – Spring Boot Starter Data Geode
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-geode</artifactId>
<version>???</version>
</dependency>`
Spring Session
24
PR #366 – Spring Session Data Geode
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-geode</artifactId>
<version>???</version>
</dependency>`
References
25
 Spring Data GemFire (SDG) project page
 SDG GitHub source code
 SDG Reference Guide
 SDG API
 SDG Wiki page
 SDG Examples
 SDG JIRA Issue Tracking
 SDG StackOverflow spring-data-gemfire tag
 spring-data Gitter IM Channel
Learn More. Stay Connected.
Oliver Gierke
Advanced Spring Data REST
11:00 – 12:15 PM
@springcentral
spring.io/blog
@pivotal
pivotal.io/blog
@pivotalcf
http://engineering.pivotal.io
Questions
27
Answers
Thank You
28
Safe Harbor Statement
• The following is intended to outline the general direction of Pivotal's offerings. It
is intended for information purposes only and may not be incorporated into any
contract. Any information regarding pre-release of Pivotal offerings, future
updates or other planned modifications is subject to ongoing evaluation by
Pivotal and is subject to change. This information is provided without warranty
or any kind, express or implied, and is not a commitment to deliver any material,
code, or functionality, and should not be relied upon in making purchasing
decisions regarding Pivotal's offerings. These purchasing decisions should only
be based on features currently available. The development, release, and timing
of any features or functionality described for Pivotal's offerings in this
presentation remain at the sole discretion of Pivotal. Pivotal has no obligation to
update forward looking information in this presentation.
29

More Related Content

PPTX
Getting Started with Apache Geode
PPTX
Apache Geode (incubating) Introduction with Docker
PDF
SpringCamp 2016 - Apache Geode 와 Spring Data Gemfire
PDF
A Series of Fortunate Events: Building an Operator in Java
PDF
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
PDF
Kube Your Enthusiasm - Paul Czarkowski
PDF
Persistent storage with containers By Kaslin Fields
PDF
6 Things You Need to Know to Safely Run Kubernetes
Getting Started with Apache Geode
Apache Geode (incubating) Introduction with Docker
SpringCamp 2016 - Apache Geode 와 Spring Data Gemfire
A Series of Fortunate Events: Building an Operator in Java
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
Kube Your Enthusiasm - Paul Czarkowski
Persistent storage with containers By Kaslin Fields
6 Things You Need to Know to Safely Run Kubernetes

What's hot (20)

PDF
Intro to GKE and app deployment with Kubernetes
PDF
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
PPTX
Gdsc muk - innocent
PDF
Spring Cloud Function & Project riff #jsug
PPTX
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
PDF
AWS Summit Singapore 2019 | Autoscaling Your Kubernetes Workloads
PDF
Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applicati...
PPTX
Simplifying Apache Geode with Spring Data
PDF
Openstack days sv building highly available services using kubernetes (preso)
PDF
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
PDF
Short Lived Tasks in Cloud Foundry #cfdtokyo
PDF
Microservices with Spring and Cloud Foundry
PDF
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
PDF
Weave GitOps Core Overview (Free GitOps Workshop)
PPTX
12 Factor App
PDF
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
PDF
Big data on google cloud
PDF
Rehosting apps between k8s clusters and automating deployment using crane c...
PPTX
An Early Evaluation of Running Spark on Kubernetes
PPTX
Kubernetes: від знайомства до використання у CI/CD
Intro to GKE and app deployment with Kubernetes
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
Gdsc muk - innocent
Spring Cloud Function & Project riff #jsug
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
AWS Summit Singapore 2019 | Autoscaling Your Kubernetes Workloads
Build bundles in the cloud - How Cloudyle PaaS+ helps creating OSGi applicati...
Simplifying Apache Geode with Spring Data
Openstack days sv building highly available services using kubernetes (preso)
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Short Lived Tasks in Cloud Foundry #cfdtokyo
Microservices with Spring and Cloud Foundry
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Weave GitOps Core Overview (Free GitOps Workshop)
12 Factor App
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Big data on google cloud
Rehosting apps between k8s clusters and automating deployment using crane c...
An Early Evaluation of Running Spark on Kubernetes
Kubernetes: від знайомства до використання у CI/CD
Ad

Viewers also liked (20)

PDF
075 - The Names You Know, The People You Don't - James Douglas Ogilby (Tank T...
PDF
Laparoscopy-assisted distal gastrectomy with D1+β compared with D1+α lymph no...
PDF
Connections
DOCX
J.W. Crane Biography
PDF
Thesis Project - Prodega Volume One: Through the Lens of the Individual
DOCX
FEA - Simple Analysis example
PDF
023 - Aqua Latin 101 (Tank Talk 35-04 - December 2007)
PDF
Классификация логотипов
PDF
Tatuajes
DOC
Adhir Kumar Shukla Resume.
PDF
deloitte-uk-cf-aldt-q1-2016
PPT
Casos Clinics Homeopàtics de Qualitat
DOCX
PDF
Jerry Resume
PDF
TrainingCoursesfullpage5_7_15
PDF
Weerstand teen teksgebonde navorsing: 'n bydrae tot 'n omgekeerde benadering ...
DOCX
Basel III - Implications of Implementation
PDF
Sondeo exploratorio
PPTX
Essential-Drugs-Company-Limited
PPTX
Entorno para compartir recurso
075 - The Names You Know, The People You Don't - James Douglas Ogilby (Tank T...
Laparoscopy-assisted distal gastrectomy with D1+β compared with D1+α lymph no...
Connections
J.W. Crane Biography
Thesis Project - Prodega Volume One: Through the Lens of the Individual
FEA - Simple Analysis example
023 - Aqua Latin 101 (Tank Talk 35-04 - December 2007)
Классификация логотипов
Tatuajes
Adhir Kumar Shukla Resume.
deloitte-uk-cf-aldt-q1-2016
Casos Clinics Homeopàtics de Qualitat
Jerry Resume
TrainingCoursesfullpage5_7_15
Weerstand teen teksgebonde navorsing: 'n bydrae tot 'n omgekeerde benadering ...
Basel III - Implications of Implementation
Sondeo exploratorio
Essential-Drugs-Company-Limited
Entorno para compartir recurso
Ad

Similar to Spring Data and In-Memory Data Management in Action (20)

PDF
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
PDF
Spring Data (GemFire) Overview
PPTX
Dataworks | 2018-06-20 | Gimel data platform
PPTX
Gimel at Dataworks Summit San Jose 2018
PDF
QCon 2018 | Gimel | PayPal's Analytic Platform
PPTX
Gimel and PayPal Notebooks @ TDWI Leadership Summit Orlando
POTX
Building Effective Apache Geode Applications with Spring Data GemFire
PDF
Azure Data Factory v2
PDF
Big Data Ready Enterprise
PPTX
#GeodeSummit - Spring Data GemFire API Current and Future
PDF
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...
PDF
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
PDF
SpringBoot and Spring Cloud Service for MSA
PDF
How a distributed graph analytics platform uses Apache Kafka for data ingesti...
PPTX
Best practices for developing your Magento Commerce on Cloud
PDF
Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...
PPTX
Microservices with kubernetes @190316
PPTX
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PDF
Voxxed Days Cluj - Powering interactive data analysis with Google BigQuery
PPTX
Geode Meetup Apachecon
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
Spring Data (GemFire) Overview
Dataworks | 2018-06-20 | Gimel data platform
Gimel at Dataworks Summit San Jose 2018
QCon 2018 | Gimel | PayPal's Analytic Platform
Gimel and PayPal Notebooks @ TDWI Leadership Summit Orlando
Building Effective Apache Geode Applications with Spring Data GemFire
Azure Data Factory v2
Big Data Ready Enterprise
#GeodeSummit - Spring Data GemFire API Current and Future
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
SpringBoot and Spring Cloud Service for MSA
How a distributed graph analytics platform uses Apache Kafka for data ingesti...
Best practices for developing your Magento Commerce on Cloud
Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...
Microservices with kubernetes @190316
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
Voxxed Days Cluj - Powering interactive data analysis with Google BigQuery
Geode Meetup Apachecon

Recently uploaded (20)

PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Essential Infomation Tech presentation.pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
DOCX
The Five Best AI Cover Tools in 2025.docx
PDF
Digital Strategies for Manufacturing Companies
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPT
JAVA ppt tutorial basics to learn java programming
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Introduction to Artificial Intelligence
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Essential Infomation Tech presentation.pptx
How to Migrate SBCGlobal Email to Yahoo Easily
Design an Analysis of Algorithms I-SECS-1021-03
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
The Five Best AI Cover Tools in 2025.docx
Digital Strategies for Manufacturing Companies
Design an Analysis of Algorithms II-SECS-1021-03
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Softaken Excel to vCard Converter Software.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
How to Choose the Right IT Partner for Your Business in Malaysia
JAVA ppt tutorial basics to learn java programming
ManageIQ - Sprint 268 Review - Slide Deck
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Introduction to Artificial Intelligence
Which alternative to Crystal Reports is best for small or large businesses.pdf
Materi_Pemrograman_Komputer-Looping.pptx

Spring Data and In-Memory Data Management in Action

  • 1. Spring Data and In-Memory Data Management in Action John Blum • Luke Shannon @john_blum • @lukewshannon
  • 2. Agenda • Brief Apache Geode Overview • Apache Geode in Spring • Spring with Apache Geode in Action: • Caching in [Pivotal] CloudFoundry • Events with Continuous Query • Data Access with Repositories • New Improvements • Roadmap • *Bonus Feature • QA 3
  • 3. Apache Geode Pivotal GemFire 4 ~
  • 4. 5 Distributed Linearly Scalable High Throughput Low/Predictable Latency Highly Available Consistent Durable In-Memory Resilient/Fault Tolerant Shared Nothing Architecture Partitioned Real-Time Big/Fast Data Events/Continuous Query Functions Transactions Queries/Indexes Multi-Cluster Client/Server P2P Persistent Replication Cloud Secure Serialization
  • 5. Spring Data GemFire / Geode 7 1. Use the Spring Framework’s powerful, non-invasive programming model and concepts to simplify the configuration and development of highly- scalable, distributed Spring applications based on Pivotal GemFire or Apache Geode. 1. Integration with the Spring portfolio… Purpose
  • 6. Spring Data GemFire / Geode 8 + + Using Pivotal GemFire or Apache Geode With Spring’s Transaction Management and Spring Data GemFire/Geode To support both Local (Cache) & Global (JTA) Transactions Spring Framework
  • 7. Spring Data GemFire / Geode 9 + + Using Pivotal GemFire or Apache Geode With Spring’s Cache Abstraction and Spring Data GemFire/Geode To serve as a JCache (JSR-107) caching provider Spring Framework
  • 8. Spring Data GemFire / Geode 10 Spring Data Commons + Using Pivotal GemFire or Apache Geode With SD Commons Repository Infrastructure and SD GemFire/Geode To rapidly build Data Access Objects (CRUD + Mapping + Querying) |
  • 9. Spring Data GemFire / Geode 11 Spring Data REST & Spring HATEOAS + Using Pivotal GemFire or Apache Geode With SDC Repositories, Spring Data REST and Spring HATEAOS To easily create mature, hypermedia-driven REST web services | +
  • 10. Spring Data GemFire 12 Spring Integration + Using Pivotal GemFire with Spring Integration For Inbound (Cache Events & CQ) and Outbound Channel Adapters, Message Store, Lock Registry, Metadata Store
  • 11. Spring Data GemFire 13 Spring XD + Using Pivotal GemFire with Spring XD (CQ, source & sink) To simplify Big Data applications Performing Ingest, Analytics, Batch Jobs and Data Export
  • 12. Spring Data GemFire 14 Spring Session + Using Pivotal GemFire with Spring Session (Data GemFire) To simplify (HTTP) Session State Management +
  • 13. Spring Data GemFire 15 Spring Boot + Using Pivotal GemFire with Spring Boot To get up and running as quickly as possible +
  • 14. Spring Data GemFire 16 Spring Cloud + Use Spring Cloud (Connectors) To build Cloud Native Applications and Microservices Using Pivotal GemFire
  • 16. Spring Data GemFire / Geode 18 Spring Data GemFire <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-gemfire</artifactId> <version>1.8.2.RELEASE</version> </dependency> Spring Data Geode <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-geode</artifactId> <version>1.0.0.APACHE-GEODE-INCUBATING-M2</version> </dependency> Pivotal GemFire Maven Artifacts http://search.maven.org/#artifactdetails%7Corg.springframework.data%7Cspring-data- gemfire%7C1.8.2.RELEASE%7Cjar http://search.maven.org/#artifactdetails%7Corg.springframework.data%7Cspring-data- geode%7C1.0.0.APACHE-GEODE-INCUBATING-M2%7Cjar
  • 17. Spring Data GemFire / Geode 19 Spring Data GemFire <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-gemfire</artifactId> <version>1.4.0.RELEASE</version> </dependency> Pivotal GemFire Spring Boot Maven Artifact http://search.maven.org/#artifactdetails%7Corg.springframework.data%7Cspring-data- gemfire%7C1.8.2.RELEASE%7Cjar
  • 18. Roadmap – Annotation Support for Callbacks 20 @Component public class ExampleApplicationCallbacks { @CacheListener(region = “EventSource”) public void afterCreate(EntryEvent<K, V> event) { .. } @CacheLoader(region = “DataSink”) public void load(LoaderHelper<K, V> helper) { .. } @CacheWriter(region = “DataSource”) public void beforeUpdate(EntryEvent<K, V> event) { .. } }
  • 19. Spring Data GemFire / Geode  Spring Data GemFire 2.0  Java 8  Spring Framework 5.0  GemFire 9.0  Projections; Java 8 Types (Optional<T>, Stream<T>); Reactive Support (?)  Codebase re-organization  Test Framework support 21 Just around the corner…
  • 20. Spring Boot 22 PR #6224 – Auto-configuration support for SDG Repositories interface CustomerRepository extends Repository<Customer, Long> { } @Region(“Customers”) class Customer { } compile “org.springframework.boot:spring-boot-starter-data-gemfire:1.5.0.M1” No longer necessary… @SpringBootApplication @EnableGemfireRepositories class ExampleSpringBootApplication { }
  • 21. Spring Boot 23 PR #5445 – Spring Boot Starter Data Geode <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-geode</artifactId> <version>???</version> </dependency>`
  • 22. Spring Session 24 PR #366 – Spring Session Data Geode <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-geode</artifactId> <version>???</version> </dependency>`
  • 23. References 25  Spring Data GemFire (SDG) project page  SDG GitHub source code  SDG Reference Guide  SDG API  SDG Wiki page  SDG Examples  SDG JIRA Issue Tracking  SDG StackOverflow spring-data-gemfire tag  spring-data Gitter IM Channel
  • 24. Learn More. Stay Connected. Oliver Gierke Advanced Spring Data REST 11:00 – 12:15 PM @springcentral spring.io/blog @pivotal pivotal.io/blog @pivotalcf http://engineering.pivotal.io
  • 27. Safe Harbor Statement • The following is intended to outline the general direction of Pivotal's offerings. It is intended for information purposes only and may not be incorporated into any contract. Any information regarding pre-release of Pivotal offerings, future updates or other planned modifications is subject to ongoing evaluation by Pivotal and is subject to change. This information is provided without warranty or any kind, express or implied, and is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions regarding Pivotal's offerings. These purchasing decisions should only be based on features currently available. The development, release, and timing of any features or functionality described for Pivotal's offerings in this presentation remain at the sole discretion of Pivotal. Pivotal has no obligation to update forward looking information in this presentation. 29