Standardize caching in Java. Introduction to JCache and In-Memory data grid solutions

Size: px
Start display at page:

Download "Standardize caching in Java. Introduction to JCache and In-Memory data grid solutions"

Transcription

1 Standardize caching in Java Introduction to JCache and In-Memory data grid solutions

2 Agenda 1. What is caching? 2. JCache overview 3. Quick walk through providers 4. C2MON highlights

3 What is caching?

4 What is caching? Cache: A high-performance, low-latency datastructure in which an application places a temporary copy of information that is likely to be used more than once

5 Benefits of using cache Performance Scale up get the most out of one machine Scale out add more capacity with more machines Usually very fast and easy to apply

6 When to use caching When applications use the same data more than once When cost (time / resources) of making an initial copy is lower than fetching or producing the data again or when it isfaster to request from a Cache

7 Some general use cases

8 JCache overview

9 What is JCache? A common mechanism for performing CRUD operations from Caches Provides core caching concepts and API Provides application portability between various Caching solutions

10 JCache: Main features Read/Write Integration support Cache Event Listeners Type-safety - fully generic ConcurrentMap like API Statistics Store-By-Value/Store-By-Reference Annotations support Support for local and distributed caching Topology Agnostic - Topologies not defined or restricted by the specification

11 Store-By-Value and Store-By-Reference JSR-107 storing mechanisms: Store-By-Reference (optional) Object key =... Object value =... cache.put(key, value); assert cache.get(key) == value; assert cache.iterator().next().getkey() == key; Store-By-Value(default)

12 Cache Consistency Consistency refers to the behavior of caches and the guarantees that exist when concurrent cache mutation occur together with the visibility of the mutations when multiple threads are accessing a cache. An implementation may provide support for different consistency models in addition to the required Default Consistency model. Method boolean containskey(k key) V get(k key) V getandput(k key, V value) Iterator<Cache.Entry<K, V>> iterator() void put(k key, V value) boolean putifabsent(k key, V value) boolean remove(k key) <T> T invoke(k key, EntryProcessor<K, V, T> entryprocessor, Object... arguments); Default Consistency last value happen-before happen-before last value happen-before happen-before plus compare and swap happen-before plus compare and swap happen-before

13 Cache Topologies Embedded approach Client/Server approach

14 Cache Types replicated cache partitioned cache

15 JCache Core interfaces

16 JCache API

17 CacheManager Configures and manages named Caches caches may be created dynamically or predefined provides Cache infrastructure provides Cache scopes(for clusters) provides important for Store-By-Value Cache ClassLoaders Provides Cache lifecycle management

18 Cache A Cache is a Map-like data-structure that permits the temporary storage of Key-based Values, some what like java.util.map data-structure. A Cache is owned by a single CacheManager.

19 Entry An Entry is a single key-value pair stored by a Cache.

20 ExpiryPolicy Eternal Cache entries will never expire. Access Cache entries will expire if they have not been accessed within a configured time interval. Creation Cache entries will expire after a configured time interval from when they were added to the cache. Update Cache entries will expire if they have not been modified within a configured time interval.

21 JCache Runtime Structure

22 JCache API example if Cache already exists, or it s configured in XML: CachingProvider provider = Caching.getCachingProvider(); CacheManager manager = provider.getcachemanager(); Cache<Long, Person> personcache = manager.getcache( personcache, Long.class, Person.class); personcache.put(1l, new Person()); Person person = personcache.get(1l); if Cache doesn t exist and we want to configure it programmatically: CacheManager cachemanager = Caching.getCachingProvider().getCacheManager(); MutableConfiguration<Long, Person> config = new MutableConfiguration<>(); config.settypes(long.class, Person.class); config.setstorebyvalue(true); // value is serialized cachemanager.createcache("personcache", config);

23 Atomic Operations: EntryProcessor allows develop Lock-Free API eliminates round-trips in distributed systems Needs Serialization (if distributed) An invocable function that allows applications to perform compound operations on a Cache.Entry atomically, according the defined* consistency of a Cache. Any Cache.Entry mutations will not take effect until after the EntryProcessor.process(MutableEntry, Object...) method has completed execution. Implementations may execute EntryProcessor}s in situ, thus avoiding locking, round-trips and expensive network transfers. JCache specification

24 EntryProcessor usage example String name = Foo ; cache.invoke(k key, (entry, arguments) -> { V value = entry.getvalue(); value.setname(name); entry.setvalue(value); return null; }); public class CustomEntryProcessor implements EntryProcessor<K, V, T> public T process(mutableentry<string, Long> entry, Object... arguments) throws EntryProcessorException { V value = entry.getvalue(); value.setname(arguments[0]); entry.setvalue(value); return null; } } // Usage cache.invoke(k key, new CustomEntryProcessor(), T arguments);

25 Cache Annotations The JCache covers the most common @CacheRemoveAll

26 JCache annotations = personcache ) public class PersonRepository public void put(@cachekey Long Person person) public Person get(@cachekey Long id) { Person person = // get object from DB return person; public void invalidate(@cachekey Long id) {} public void invalidateall() {}

27 JCache supporting frameworks

28 Cache Providers with JCache Support Ehcache Hazelcast Ignite Coherence Infinispan

29 Ehcache Terracotta as one of the companies supporting actively JSR107 Full JSR107 support Flexible Scalable minimal dependencies Open Source Licensing - Apache 2.0 license

30 Hazelcast Full TCK Compliant implementation for: Embedded Members Very fast and highly scalable JCache Implementation Dead simple Near Cache support

31 Apache Ignite Near Cache support fully JCache TCK compliant Distributed Queries Apache 2 license

32 C2MON use case evaluation

33 Current implementation of C2MON Cache module Runs on Ehcache + Terracotta Ehcache dependent Cluster based on Terracotta(license required) Limited amount of clients Forced Store-By-Value very complex clustered locking system

34 Goals Support for JCache standard Fully Open Source Clusterable Support of junit tests Auto detections of nodes in the cluster Easier cluster-locking mechanism No limitations on cache clients eventual replacement for JMS messaging Nice to have: Continuous query

35 Summary + lesson learned JCache vs vendor specific features Which is my favoured cache? Best documentation, material, resources

36 Thank you!

37 References JCache specification Hazelcast documentation Ignite documentation Ehcache documentation stackoverflow

Oracle*Coherence*12.1.3*

Oracle*Coherence*12.1.3* Oracle*Coherence*12.1.3* Cloud&Applica,on&Founda,on& Dave*Felcey* Product*Management* Oracle*Coherence* June,*2014* Copyright* *2014*Oracle*and/or*its*affiliates.*All*rights*reserved.** * Oracle*ConfidenHal*

More information

Java Caching API The Java Caching API is an API for interacting with caching systems from Java programs

Java Caching API The Java Caching API is an API for interacting with caching systems from Java programs Java Caching API The Java Caching API is an API for interacting with caching systems from Java programs Proposed Final Draft Specification JSR107 Expert Group Specification Leads: Greg Luck, Terracotta

More information

Using the new javax.cache Caching Standard

Using the new javax.cache Caching Standard Using the new javax.cache Caching Standard Greg Luck, CTO Terracotta Cameron Purdy, Founder Coherence and VP, Oracle JavaOne 2012 Session CON11546 Typical Bottlenecks 1 3 2 4 Types of Scaling Types of

More information

Ehcache API Developer Guide. Version 10.1

Ehcache API Developer Guide. Version 10.1 Ehcache API Developer Guide Version 10.1 October 2017 This document applies to Terraco a DB and Terraco a Ehcache Version 10.1 and to all subsequent releases. Specifications contained herein are subject

More information

Motivation There are applications for which it is critical to establish certain availability, consistency, performance etc.

Motivation There are applications for which it is critical to establish certain availability, consistency, performance etc. 1 Motivation Motivation There are applications for which it is critical to establish certain availability, consistency, performance etc. Banking Web mail KOS, CourseWare (to some degree) Questions How

More information

<Insert Picture Here>

<Insert Picture Here> Caching Schemes & Accessing Data Lesson 2 Objectives After completing this lesson, you should be able to: Describe the different caching schemes that Coherence

More information

Performance, Scalability and High-availability of Enterprise Applications

Performance, Scalability and High-availability of Enterprise Applications Performance, Scalability and High-availability of Enterprise Applications Miroslav Blaško miroslav.blasko@fel.cvut.cz Winter Term 2017 Miroslav Blaško (miroslav.blasko@fel.cvut.cz)performance, Scalability

More information

Cloud Programming on Java EE Platforms. mgr inż. Piotr Nowak

Cloud Programming on Java EE Platforms. mgr inż. Piotr Nowak Cloud Programming on Java EE Platforms mgr inż. Piotr Nowak Distributed data caching environment Hadoop Apache Ignite "2 Cache what is cache? how it is used? "3 Cache - hardware buffer temporary storage

More information

/** * Gimme Caching * The JCache Way */

/** * Gimme Caching * The JCache Way */ /** * Gimme Caching * The JCache Way */ Disclaimer This presentation may include certain forward-looking statements and projections provided by the Company. Any such statements and projections reflect

More information

A memcached implementation in Java. Bela Ban JBoss 2340

A memcached implementation in Java. Bela Ban JBoss 2340 A memcached implementation in Java Bela Ban JBoss 2340 AGENDA 2 > Introduction > memcached > memcached in Java > Improving memcached > Infinispan > Demo Introduction 3 > We want to store all of our data

More information

XTP, Scalability and Data Grids An Introduction to Coherence

XTP, Scalability and Data Grids An Introduction to Coherence XTP, Scalability and Data Grids An Introduction to Coherence Tom Stenström Principal Sales Consultant Oracle Presentation Overview The challenge of scalability The Data Grid What

More information

Apache Ignite TM - In- Memory Data Fabric Fast Data Meets Open Source

Apache Ignite TM - In- Memory Data Fabric Fast Data Meets Open Source Apache Ignite TM - In- Memory Data Fabric Fast Data Meets Open Source DMITRIY SETRAKYAN Founder, PPMC https://ignite.apache.org @apacheignite @dsetrakyan Agenda About In- Memory Computing Apache Ignite

More information

Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing

Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Jürgen Höller, Principal Engineer, SpringSource 2012 SpringSource, A division of VMware. All rights reserved Deployment Platforms: Becoming

More information

Gemeinsam mehr erreichen.

Gemeinsam mehr erreichen. Gemeinsam mehr erreichen. Bring the process to the cached data in Oracle Coherence September 2015 Agenda Currrent Situation Coherence in the CAF What is Coherence? Characteristics of Coherence Data Grid

More information

Using MVCC for Clustered Databases

Using MVCC for Clustered Databases Using MVCC for Clustered Databases structure introduction, scope and terms life-cycle of a transaction in Postgres-R write scalability tests results and their analysis 2 focus: cluster high availability,

More information

Introduction to Infinispan

Introduction to Infinispan Introduction to Infinispan Tomáš Sýkora JBoss Data Grid Quality Engineering Red Hat Contact: tsykora@redhat.com IRC: #infinispan on freenode November 21st 2014 1 Don't work so hard... Beer? Parties? Nah,

More information

The new Ehcache and Hibernate Caching SPI Provider

The new Ehcache and Hibernate Caching SPI Provider The new Ehcache 2.0.0 and Hibernate Caching SPI Provider Presented by: Chris Dennis, Software Engineer, Terracotta Inc. May 12, 2010 Agenda Intro to Ehcache and Terracotta Ehcache and Ehcache + Terracotta

More information

WHO AM I.

WHO AM I. WHO AM I Christoph Engelbert (@noctarius2k) 8+ years of professional Java development Specialized to performance, GC, traffic topics Apache DirectMemory PMC Previous companies incl. Ubisoft and HRS Official

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Developing Oracle Coherence Applications for Oracle WebLogic Server 12c (12.2.1.2.0) E77826-02 December 2016 Documentation for developers and architects that describes how to develop,

More information

About Terracotta Ehcache. Version 10.1

About Terracotta Ehcache. Version 10.1 About Terracotta Ehcache Version 10.1 October 2017 This document applies to Terraco a Ehcache Version 10.1 and to all subsequent releases. Specifications contained herein are subject to change and these

More information

Easy Distributed Systems Using Hazelcast. Peter Veentjer

Easy Distributed Systems Using Hazelcast. Peter Veentjer Easy Distributed Systems Using Hazelcast Peter Veentjer Whoami Working for Hazelcast Team Lead Quality & Performance Author of Mastering Hazelcast 3' 14 years Java experience Big love Concurrency control

More information

Boost Your Hibernate and Application Performance

Boost Your Hibernate and Application Performance Boost Your Hibernate and Application Performance Presented by: Greg Luck, Founder and CTO Ehcache March 3, 2010 Agenda Intro to Ehcache and Terracotta Code: Scaling Spring Pet Clinic With Hibernate With

More information

<Insert Picture Here> Oracle Application Cache Solution: Coherence

<Insert Picture Here> Oracle Application Cache Solution: Coherence Oracle Application Cache Solution: Coherence 黃開印 Kevin Huang Principal Sales Consultant Outline Oracle Data Grid Solution for Application Caching Use Cases Coherence Features Summary

More information

Coherence An Introduction. Shaun Smith Principal Product Manager

Coherence An Introduction. Shaun Smith Principal Product Manager Coherence An Introduction Shaun Smith Principal Product Manager About Me Product Manager for Oracle TopLink Involved with object-relational and object-xml mapping technology for over 10 years. Co-Lead

More information

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc. Achieving Scalability and High Availability for clustered Web Services using Apache Synapse Ruwan Linton [ruwan@apache.org] WSO2 Inc. Contents Introduction Apache Synapse Web services clustering Scalability/Availability

More information

Pragmatic Clustering. Mike Cannon-Brookes CEO, Atlassian Software Systems

Pragmatic Clustering. Mike Cannon-Brookes CEO, Atlassian Software Systems Pragmatic Clustering Mike Cannon-Brookes CEO, Atlassian Software Systems 1 Confluence Largest enterprise wiki in the world 2000 customers in 60 countries J2EE application, ~500k LOC Hibernate, Lucene,

More information

Advanced HTTP session management with Oracle Coherence

Advanced HTTP session management with Oracle Coherence Advanced HTTP session management with Oracle Coherence Michał Kuratczyk principal solution architect, Oracle Oracle Coherence distributed in memory key value NoSQL data grid for Java,.NET and C++ objects

More information

1 Markus Eisele, Insurance - Strategic IT-Architecture

1 Markus Eisele, Insurance - Strategic IT-Architecture 1 Agenda 1. What is JPA? 2. What is Coherence? 3. Why Coherence with JPA? 4. JOTG - JPA On The Grid 1. JPA Backed Caches 2. JPA 2nd Level Cache 3. JPA 2nd Level Cache with JPA Backed Cache 5. Summary 2

More information

Spring and Coherence Recipes

Spring and Coherence Recipes Spring and Coherence Recipes David Whitmarsh, Phil Wheeler December 4, 2013 Outline 1 IoC Frameworks 2 Problems with Spring and Coherence 3 ApplicationContexts 4 LifeCycle 5 Bean Definition and Injection

More information

WHITE PAPER. Caching Strategies. By Christoph Engelbert. Technical Evangelist Senior Solutions Architect Hazelcast

WHITE PAPER. Caching Strategies. By Christoph Engelbert. Technical Evangelist Senior Solutions Architect Hazelcast WHITE PAPER Caching Strategies By Christoph Engelbert Technical Evangelist Senior Solutions Architect WHITE PAPER Caching Strategies This document aims to describe different strategies for application

More information

TopLink Grid: Scaling JPA applications with Coherence

TopLink Grid: Scaling JPA applications with Coherence TopLink Grid: Scaling JPA applications with Coherence Shaun Smith Principal Product Manager shaun.smith@oracle.com Java Persistence: The Problem Space Customer id: int name: String

More information

Building a Scalable Architecture for Web Apps - Part I (Lessons Directi)

Building a Scalable Architecture for Web Apps - Part I (Lessons Directi) Intelligent People. Uncommon Ideas. Building a Scalable Architecture for Web Apps - Part I (Lessons Learned @ Directi) By Bhavin Turakhia CEO, Directi (http://www.directi.com http://wiki.directi.com http://careers.directi.com)

More information

{brandname} 9.4 Glossary. The {brandname} community

{brandname} 9.4 Glossary. The {brandname} community {brandname} 9.4 Glossary The {brandname} community Table of Contents 1. 2-phase commit........................................................................... 2 2. Atomicity, Consistency, Isolation,

More information

High Performance in-memory computing with Apache Ignite

High Performance in-memory computing with Apache Ignite High Performance in-memory computing with Apache Ignite Building low latency, near real time application Shamim Ahmed Bhuiyan, Michael Zheludkov and Timur Isachenko This book is for sale at http://leanpub.com/ignite

More information

Middleware for Sensor Networks

Middleware for Sensor Networks Middleware for Sensor Networks Krzysztof Piotrowski piotrowski@ihp-ffo.de Background Application Middleware Sensor Network Application Middleware Sensor Network Middleware for Sensor Networks 2 Middleware

More information

ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ

ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ ΠΑΡΑΡΤΗΜΑ «Β» ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ Α/Α ΠΕΡΙΓΡΑΦΗ ΕΚΠΑΙΔΕΥΣΗΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ 1. Java SE8 Fundamentals What Is a Java Program? Introduction to Computer Programs Key Features of the Java Language

More information

Give Your Site a Boost With memcached. Ben Ramsey

Give Your Site a Boost With memcached. Ben Ramsey Give Your Site a Boost With memcached Ben Ramsey About Me Proud father of 8-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original

More information

Give Your Site a Boost With memcached. Ben Ramsey

Give Your Site a Boost With memcached. Ben Ramsey Give Your Site a Boost With memcached Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original

More information

<Insert Picture Here>

<Insert Picture Here> Introduction to Data Grids & Oracle Coherence Lesson 1 Objectives After completing this lesson, you should be able to: Describe Data Grid drivers Describe Oracle

More information

Overview. CMSC 330: Organization of Programming Languages. Concurrency. Multiprocessors. Processes vs. Threads. Computation Abstractions

Overview. CMSC 330: Organization of Programming Languages. Concurrency. Multiprocessors. Processes vs. Threads. Computation Abstractions CMSC 330: Organization of Programming Languages Multithreaded Programming Patterns in Java CMSC 330 2 Multiprocessors Description Multiple processing units (multiprocessor) From single microprocessor to

More information

Agenda. Apache Ignite Project Apache Ignite Data Fabric: Data Grid HPC & Compute Streaming & CEP Hadoop & Spark Integration Use Cases Demo Q & A

Agenda. Apache Ignite Project Apache Ignite Data Fabric: Data Grid HPC & Compute Streaming & CEP Hadoop & Spark Integration Use Cases Demo Q & A Introduction 2015 The Apache Software Foundation. Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation. Agenda Apache Ignite Project Apache

More information

Apache OpenJPA. Bean Validation Integration in JPA 2.0. July 17, Copyright 2009, The Apache Software Foundation

Apache OpenJPA.  Bean Validation Integration in JPA 2.0. July 17, Copyright 2009, The Apache Software Foundation Apache OpenJPA http://openjpa.apache.org/ Bean Validation Integration in JPA 2.0 July 17, 2009 Copyright 2009, The Apache Software Foundation Legal This presentation is based on Early Access levels of

More information

Distributed Caching: Essential Lessons

Distributed Caching: Essential Lessons Distributed Caching: Essential Lessons Stuttgart JUG 19 June 2006 Cameron Purdy Agenda Introduction Grid Overview Distributed Caching & Data Grid Topologies Data Source Integration Data Grid Processing

More information

Oracle Coherence 3.6: Share and Manage Data in Clusters

Oracle Coherence 3.6: Share and Manage Data in Clusters Oracle Coherence 3.6: Share and Manage Data in Clusters Volume I Student Guide D66791GC10 Edition 1.0 November 2010 D69716 Authors Mark Lindros Copyright 2010, Oracle and/or its affiliates. All rights

More information

GridGain and Apache Ignite In-Memory Performance with Durability of Disk

GridGain and Apache Ignite In-Memory Performance with Durability of Disk GridGain and Apache Ignite In-Memory Performance with Durability of Disk Dmitriy Setrakyan Apache Ignite PMC GridGain Founder & CPO http://ignite.apache.org #apacheignite Agenda What is GridGain and Ignite

More information

an Object-Based File System for Large-Scale Federated IT Infrastructures

an Object-Based File System for Large-Scale Federated IT Infrastructures an Object-Based File System for Large-Scale Federated IT Infrastructures Jan Stender, Zuse Institute Berlin HPC File Systems: From Cluster To Grid October 3-4, 2007 In this talk... Introduction: Object-based

More information

Data Management in Application Servers. Dean Jacobs BEA Systems

Data Management in Application Servers. Dean Jacobs BEA Systems Data Management in Application Servers Dean Jacobs BEA Systems Outline Clustered Application Servers Adding Web Services Java 2 Enterprise Edition (J2EE) The Application Server platform for Java Java Servlets

More information

JVA-563. Developing RESTful Services in Java

JVA-563. Developing RESTful Services in Java JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop

More information

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7 CONTENTS Chapter 1 Introducing EJB 1 What is Java EE 5...2 Java EE 5 Components... 2 Java EE 5 Clients... 4 Java EE 5 Containers...4 Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

More information

Infinispan from POC to Production

Infinispan from POC to Production Infinispan from POC to Production Who am I? Mark Addy, Senior Consultant Fast, Reliable, Secure, Manageable Agenda Part 1 An existing production system unable to scale Part 2 A green-field project unable

More information

Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection

Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection Agenda 2 Bottlenecks Mutable vs. Immutable Caching/Pooling Strings Primitives Final Classloaders Exception Handling Concurrency

More information

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration contents foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration xix xxxii PART 1 GETTING STARTED WITH ORM...1 1 2 Understanding object/relational

More information

Oracle Coherence and WebLogic 12c Delivering Real Time Push at Scale Steve Millidge

Oracle Coherence and WebLogic 12c Delivering Real Time Push at Scale Steve Millidge Oracle Coherence and WebLogic 12c Delivering Real Time Push at Scale Steve Millidge About Me Founder of C2B2 Leading Independent Middleware Experts Non-functional Experts Vendor Neutral Red Hat (JBoss),

More information

Hibernate Search Googling your persistence domain model. Emmanuel Bernard Doer JBoss, a division of Red Hat

Hibernate Search Googling your persistence domain model. Emmanuel Bernard Doer JBoss, a division of Red Hat Hibernate Search Googling your persistence domain model Emmanuel Bernard Doer JBoss, a division of Red Hat Search: left over of today s applications Add search dimension to the domain model Frankly, search

More information

Oracle Corporation

Oracle Corporation 1 2012 Oracle Corporation Oracle WebLogic Server 12c: Developing Modern, Lightweight Java EE 6 Applications Will Lyons, Director of WebLogic Server Product Management Pieter Humphrey, Principal Product

More information

10/18/2017. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414

10/18/2017. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414 Announcements Database Systems CSE 414 Lecture 11: NoSQL & JSON (mostly not in textbook only Ch 11.1) HW5 will be posted on Friday and due on Nov. 14, 11pm [No Web Quiz 5] Today s lecture: NoSQL & JSON

More information

How (Not) to Build Scalable Applications in ONOS. Jordan Halterman Member of Technical ONF

How (Not) to Build Scalable Applications in ONOS. Jordan Halterman Member of Technical ONF How (Not) to Build Scalable Applications in ONOS Jordan Halterman Member of Technical Staff @ ONF 1 Distributed Applications @Reference(cardinality = ReferenceCardinality.MANDATORY) private FlowRuleService

More information

Coherence Managed Servers

Coherence Managed Servers Coherence 12.1.2 Managed Servers Noah Arliss Software Development Manager (Sheriff) 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. The$following$is$intended$to$outline$our$general$

More information

Page 1

Page 1 Java 1. Core java a. Core Java Programming Introduction of Java Introduction to Java; features of Java Comparison with C and C++ Download and install JDK/JRE (Environment variables set up) The JDK Directory

More information

Monday, November 21, 2011

Monday, November 21, 2011 Infinispan for Ninja Developers Mircea Markus, Red Hat R&D Who s this guy? R&D JBoss Clustering @ Redhat JBoss clustering: JBossCache, PojoCache, jgroups,.. Infinispan developer - day 1 Founder Radargun

More information

Exam Questions 1Z0-895

Exam Questions 1Z0-895 Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale

More information

Adobe ColdFusion (2016 release)

Adobe ColdFusion (2016 release) Adobe (2016 release) Feature improvement history Features included in each edition of Adobe API Manager API monitoring API version and lifecycle management API access control API rate limiting and throttling

More information

Hybrid Shipping Architectures: A Survey

Hybrid Shipping Architectures: A Survey Hybrid Shipping Architectures: A Survey Ivan Bowman itbowman@acm.org http://plg.uwaterloo.ca/~itbowman CS748T 14 Feb 2000 Outline Partitioning query processing Partitioning client code Optimization of

More information

Introduction to Spring Framework: Hibernate, Spring MVC & REST

Introduction to Spring Framework: Hibernate, Spring MVC & REST Introduction to Spring Framework: Hibernate, Spring MVC & REST Training domain: Software Engineering Number of modules: 1 Duration of the training: 36 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual

More information

TERRACOTTA DB: FASTEST FOR IN-MEMORY DATA

TERRACOTTA DB: FASTEST FOR IN-MEMORY DATA TERRACOTTA DB: FASTEST FOR IN-MEMORY DATA The volume of data ingested into our systems is only going to accelerate with the Internet of Things (IoT) and tighter app integration on mobile devices like smartphones.

More information

Practical Concurrency. Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited.

Practical Concurrency. Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Practical Concurrency Agenda Motivation Java Memory Model Basics Common Bug Patterns JDK Concurrency Utilities Patterns of Concurrent Processing Testing Concurrent Applications Concurrency in Java 7 2

More information

Module 5: Performance Issues in Shared Memory and Introduction to Coherence Lecture 10: Introduction to Coherence. The Lecture Contains:

Module 5: Performance Issues in Shared Memory and Introduction to Coherence Lecture 10: Introduction to Coherence. The Lecture Contains: The Lecture Contains: Four Organizations Hierarchical Design Cache Coherence Example What Went Wrong? Definitions Ordering Memory op Bus-based SMP s file:///d /...audhary,%20dr.%20sanjeev%20k%20aggrwal%20&%20dr.%20rajat%20moona/multi-core_architecture/lecture10/10_1.htm[6/14/2012

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

CS November 2018

CS November 2018 Bigtable Highly available distributed storage Distributed Systems 19. Bigtable Built with semi-structured data in mind URLs: content, metadata, links, anchors, page rank User data: preferences, account

More information

CS November 2017

CS November 2017 Bigtable Highly available distributed storage Distributed Systems 18. Bigtable Built with semi-structured data in mind URLs: content, metadata, links, anchors, page rank User data: preferences, account

More information

Java EE Architecture, Part Two. Java EE architecture, part two 1

Java EE Architecture, Part Two. Java EE architecture, part two 1 Java EE Architecture, Part Two Java EE architecture, part two 1 Content Requirements on the Business layer Framework Independent Patterns Transactions Frameworks for the Business layer Java EE architecture,

More information

Redis based In-Memory Data Grid and Distributed Locks in Java. Nikita Koksharov, Founder of Redisson

Redis based In-Memory Data Grid and Distributed Locks in Java. Nikita Koksharov, Founder of Redisson Redis based In-Memory Data Grid and Distributed Locks in Java Nikita Koksharov, Founder of Redisson Redisson overview (Redis based In-Memory Data Grid) Distributed Collections Distributed Objects Distributed

More information

Software Architect, Deutsche Bank

Software Architect, Deutsche Bank Santiago Martin-Romani santiago_martin@yahoo.com Software Architect, Deutsche Bank Reasons to use Oracle Coherence Application layer friendly Single holistic view! Scalable! Fast, in-memory speeds, data

More information

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio Fall 2017 1 Outline Inter-Process Communication (20) Threads

More information

Oracle Fusion Middleware 12c

Oracle Fusion Middleware 12c Oracle Fusion Middleware 12c Cloud Application Foundation Coherence 12.1.2 Coherence 12.1.2 Configuration Enhancements (or Building Your Own Services) Brian Oliver Senior Consulting

More information

Tuesday, June 22, JBoss Users & Developers Conference. Boston:2010

Tuesday, June 22, JBoss Users & Developers Conference. Boston:2010 JBoss Users & Developers Conference Boston:2010 Infinispan s Hot Rod Protocol Galder Zamarreño Senior Software Engineer, Red Hat 21st June 2010 Who is Galder? Core R&D engineer on Infinispan and JBoss

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Distributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014

Distributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014 Distributed Systems 29. Distributed Caching Paul Krzyzanowski Rutgers University Fall 2014 December 5, 2014 2013 Paul Krzyzanowski 1 Caching Purpose of a cache Temporary storage to increase data access

More information

Java 8 Programming for OO Experienced Developers

Java 8 Programming for OO Experienced Developers www.peaklearningllc.com Java 8 Programming for OO Experienced Developers (5 Days) This course is geared for developers who have prior working knowledge of object-oriented programming languages such as

More information

104. Intermediate Java Programming

104. Intermediate Java Programming 104. Intermediate Java Programming Version 6.0 This course teaches programming in the Java language -- i.e. the Java Standard Edition platform. It is intended for students with previous Java experience

More information

HIBERNATE MOCK TEST HIBERNATE MOCK TEST IV

HIBERNATE MOCK TEST HIBERNATE MOCK TEST IV http://www.tutorialspoint.com HIBERNATE MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Hibernate Framework. You can download these sample mock tests

More information

JAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder

JAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder JAVA PERFORMANCE PR SW2 S18 Dr. Prähofer DI Leopoldseder OUTLINE 1. What is performance? 1. Benchmarking 2. What is Java performance? 1. Interpreter vs JIT 3. Tools to measure performance 4. Memory Performance

More information

What is Groovy? Almost as cool as me!

What is Groovy? Almost as cool as me! What is Groovy? Groovy is like a super version of Java. It can leverage Java's enterprise capabilities but also has cool productivity features like closures, builders and dynamic typing. From http://groovy.codehaus.org/

More information

Common JBoss Data Grid Architectures

Common JBoss Data Grid Architectures Common JBoss Data Grid Architectures Ray Tsang (rtsang@redhat.com) Solution Architect, Red Hat June 10, 2013 Ray Tsang, All Rights Reserved Lots of Reads Web Service Web Service Web Service Application

More information

Realtime visitor analysis with Couchbase and Elasticsearch

Realtime visitor analysis with Couchbase and Elasticsearch Realtime visitor analysis with Couchbase and Elasticsearch Jeroen Reijn @jreijn #nosql13 About me Jeroen Reijn Software engineer Hippo @jreijn http://blog.jeroenreijn.com About Hippo Visitor Analysis OneHippo

More information

TECHED USER CONFERENCE MAY 3-4, 2016

TECHED USER CONFERENCE MAY 3-4, 2016 TECHED USER CONFERENCE MAY 3-4, 2016 Bob Jeffcott Software AG Big Data Adabas In Memory Data Management with Terracotta 2016 Software AG. All rights reserved. For internal use only AGENDA 1. ADABAS/NATURAL

More information

Esper EQC. Horizontal Scale-Out for Complex Event Processing

Esper EQC. Horizontal Scale-Out for Complex Event Processing Esper EQC Horizontal Scale-Out for Complex Event Processing Esper EQC - Introduction Esper query container (EQC) is the horizontal scale-out architecture for Complex Event Processing with Esper and EsperHA

More information

Coherence & WebLogic Server integration with Coherence (Active Cache)

Coherence & WebLogic Server integration with Coherence (Active Cache) WebLogic Innovation Seminar Coherence & WebLogic Server integration with Coherence (Active Cache) Duško Vukmanović FMW Principal Sales Consultant Agenda Coherence Overview WebLogic

More information

Infinispan for Ninja Developers

Infinispan for Ninja Developers Infinispan for Ninja Developers Mircea Markus, Red Hat R&D Who s this guy? R&D RedHat/Clustering Infinispan developer - day 1 Founder Radargun JBoss clustering: jgroups, JBossCache.. Agenda Transactions

More information

Introduction. Distributed Systems IT332

Introduction. Distributed Systems IT332 Introduction Distributed Systems IT332 2 Outline Definition of A Distributed System Goals of Distributed Systems Types of Distributed Systems 3 Definition of A Distributed System A distributed systems

More information

Robust Data Sharing with Key-Value Stores Replication over multiple cloud storage providers

Robust Data Sharing with Key-Value Stores Replication over multiple cloud storage providers Robust Data Sharing with Key-Value Stores Replication over multiple cloud storage providers Cristina Basescu, Christian Cachin, Ittay Eyal, Robert Haas, Alessandro Sorniotti, Marko Vukolic and Ido Zachevsky

More information

Shared Memory Programming with OpenMP (3)

Shared Memory Programming with OpenMP (3) Shared Memory Programming with OpenMP (3) 2014 Spring Jinkyu Jeong (jinkyu@skku.edu) 1 SCHEDULING LOOPS 2 Scheduling Loops (2) parallel for directive Basic partitioning policy block partitioning Iteration

More information

2005, Cornell University

2005, Cornell University Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson bh79@cornell.edu Agenda Kuali Application Architecture CATS Case Study CATS Demo CATS Source

More information

SCALE OUT AND CONQUER: ARCHITECTURAL DECISIONS BEHIND DISTRIBUTED IN-MEMORY SYSTEMS VLADIMIR OZEROV YAKOV ZHDANOV

SCALE OUT AND CONQUER: ARCHITECTURAL DECISIONS BEHIND DISTRIBUTED IN-MEMORY SYSTEMS VLADIMIR OZEROV YAKOV ZHDANOV SCALE OUT AND CONQUER: ARCHITECTURAL DECISIONS BEHIND DISTRIBUTED IN-MEMORY SYSTEMS VLADIMIR OZEROV YAKOV ZHDANOV WHO? Yakov Zhdanov: - GridGain s Product Development VP - With GridGain since 2010 - Apache

More information

Second assignment came out Monday evening. Find defects in Hnefetafl rules written by your classmates. Topic: Code Inspection and Testing

Second assignment came out Monday evening. Find defects in Hnefetafl rules written by your classmates. Topic: Code Inspection and Testing Announcements Second assignment came out Monday evening Topic: Code Inspection and Testing Find defects in Hnefetafl rules written by your classmates Compare inspection, coverage testing, random testing,

More information

Designing Next-Generation Data- Centers with Advanced Communication Protocols and Systems Services. Presented by: Jitong Chen

Designing Next-Generation Data- Centers with Advanced Communication Protocols and Systems Services. Presented by: Jitong Chen Designing Next-Generation Data- Centers with Advanced Communication Protocols and Systems Services Presented by: Jitong Chen Outline Architecture of Web-based Data Center Three-Stage framework to benefit

More information

Deep Dive: Cluster File System 6.0 new Features & Capabilities

Deep Dive: Cluster File System 6.0 new Features & Capabilities Deep Dive: Cluster File System 6.0 new Features & Capabilities Carlos Carrero Technical Product Manager SA B13 1 Agenda 1 Storage Foundation Cluster File System Architecture 2 Producer-Consumer Workload

More information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Definition of a Distributed System (1) A distributed system is: A collection of

More information

User Plugins. About Plugins. Deploying Plugins

User Plugins. About Plugins. Deploying Plugins User Plugins About Plugins Artifactory Pro allows you to easily extend Artifactory's behavior with your own plugins written in Groovy. User plugins are used for running user's code in Artifactory. Plugins

More information

6232B: Implementing a Microsoft SQL Server 2008 R2 Database

6232B: Implementing a Microsoft SQL Server 2008 R2 Database 6232B: Implementing a Microsoft SQL Server 2008 R2 Database Course Overview This instructor-led course is intended for Microsoft SQL Server database developers who are responsible for implementing a database

More information