Advanced HTTP session management with Oracle Coherence

Similar documents
<Insert Picture Here> Oracle Application Cache Solution: Coherence

Coherence & WebLogic Server integration with Coherence (Active Cache)

TopLink Grid: Scaling JPA applications with Coherence

Coherence An Introduction. Shaun Smith Principal Product Manager

<Insert Picture Here> Getting Coherence: Introduction to Data Grids Jfokus Conference, 28 January 2009

<Insert Picture Here>

XTP, Scalability and Data Grids An Introduction to Coherence

Oracle Coherence. User s Guide for Oracle Coherence*Web Release 3.7 E

Oracle Fusion Middleware

Pimp My Data Grid. Brian Oliver Senior Principal Solutions Architect <Insert Picture Here>

WLS Neue Optionen braucht das Land

<Insert Picture Here>

Oracle Fusion Middleware

SUN Enterprise Development with iplanet Application Server

CO Oracle WebLogic Server 12c. Administration II. Summary. Introduction. Prerequisites. Target Audience. Course Content.

Classloader J2EE rakendusserveris (Bea Weblogic Server, IBM WebSphere)

<Insert Picture Here> Oracle Coherence & Extreme Transaction Processing (XTP)

Oracle WebLogic Server 12c: Administration I

Oracle WebLogic Server 11g: Administration Essentials

B. Pack -domain=c:\oracle\user_projects\domains\mydomain.jar -template=c:\oracle\userj:emplates\mydomain -template_name=nmy WebLogic Domain"

11-15 DECEMBER ANTWERP BELGIUM

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

MySQL for Database Administrators Ed 3.1

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

112-WL. Introduction to JSP with WebLogic

<Insert Picture Here> Application Grid: Oracle s Vision for Next-Generation Application Servers and Foundation Infrastructure

OSGi on the Server. Martin Lippert (it-agile GmbH)

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

Maximum Availability Architecture: Overview. An Oracle White Paper July 2002

Introduction. Architecture Overview

<Insert Picture Here> WebLogic JMS Messaging Infrastructure WebLogic Server 11gR1 Labs

WebLogic & Oracle RAC Active GridLink for RAC

Data Management in Application Servers. Dean Jacobs BEA Systems

GlassFish v2.1 & Enterprise Manager. Alexis Moussine-Pouchkine Sun Microsystems

Oracle Fusion Middleware

GlassFish High Availability Overview

Oracle WebLogic Server Multitenant:

Javaentwicklung in der Oracle Cloud

<Insert Picture Here> Oracle Cloud Strategy: Oracle s Vision for Next- Generation Application Grid, Virtualization and Cloud

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

Gemeinsam mehr erreichen.

Oracle WebCenter Portal Performance Tuning

Spring Soup with OC4J and MBeans

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Diplomado Certificación

CLUSTERING HIVEMQ. Building highly available, horizontally scalable MQTT Broker Clusters

Oracle Corporation

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

<Insert Picture Here> QCon: London 2009 Data Grid Design Patterns

Java Cloud Service & WLS 12c

SQL Azure. Abhay Parekh Microsoft Corporation

Oracle Transportation Management. Application Scalability Guide Release 5.5 Part No. E

Administering WebLogic Server on Java Cloud Service I Ed 1 Coming Soon

Craig Blitz Oracle Coherence Product Management

<Insert Picture Here> MySQL Cluster What are we working on

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

IBM WebSphere Application Server 8. Clustering Flexible Management

MySQL Cluster Web Scalability, % Availability. Andrew

TIBCO BusinessEvents Extreme. System Sizing Guide. Software Release Published May 27, 2012

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER

1Z Oracle Application Grid 11g Essentials Exam Summary Syllabus Questions

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Modular Java Applications with Spring, dm Server and OSGi

OSGi. Building LinkedIn's Next Generation Architecture with OSGI

ITdumpsFree. Get free valid exam dumps and pass your exam test with confidence

COPYRIGHTED MATERIAL

<Insert Picture Here> Oracle NoSQL Database A Distributed Key-Value Store

Building LinkedIn's Next Generation Architecture with OSGI

Issues in the Development of Transactional Web Applications R. D. Johnson D. Reimer IBM Systems Journal Vol 43, No 2, 2004 Presenter: Barbara Ryder

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

Websphere Force Uninstall Application Server 8 Linux Installing

Microservices Beyond the Hype. SATURN San Diego May 3, 2016 Paulo Merson

INTRODUCTION TO SERVLETS AND WEB CONTAINERS. Actions in Accord with All the Laws of Nature

112. Introduction to JSP

WebSphere Application Server, Version 5. What s New?

status Emmanuel Cecchet

C

Oracle Application Server 10g (9.0.4): Manually Managed Cluster. An Oracle White Paper June 2004

Using the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver

Web Application Architecture (based J2EE 1.4 Tutorial)

Techniques for Building J2EE Applications

Inside WebSphere Application Server

Oracle 10g: Build J2EE Applications

KillTest *KIJGT 3WCNKV[ $GVVGT 5GTXKEG Q&A NZZV ]]] QORRZKYZ IUS =K ULLKX LXKK [VJGZK YKX\OIK LUX UTK _KGX

[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java.

MySQL Cluster Ed 2. Duration: 4 Days

It also performs many parallelization operations like, data loading and query processing.

vcdm System Requirements Version 6.4 English

Mastering SOA Challenges more cost-effectively. Bodo Bergmann Senior Software Engineer Ingres Corp.

vcdm System Requirements Version 6.2 English

1 Markus Eisele, Insurance - Strategic IT-Architecture

Using Oracle NoSQL Database Workshop Ed 1

Administering the JBoss 5.x Application Server

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Modular Java EE in the cloud

COURSE 9 DESIGN PATTERNS

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Transcription:

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 with distributed data processing and HTTP session management capabilities

Architecture

Partitioned Topology : Data Access Data Access Topologies Coherence provides many Topologies for Data Management Local, Near, Replicated, Overview, Disk, Off Heap, Extend (WAN), Extend (Clients) Partitioned Topology Data spread and backed up across members Transparent to developer Members have access to all Data All Data locations are known no lookup & no registry!

Partitioned Topology : Data Update Partitioned Topology Synchronous Update Avoids potential Data Loss & Corruption Predictable Performance Backup Partitions are partitioned away from Primaries for resilience No engineering requirement to setup Primaries or Backups Automatically and Dynamically Managed

Partitioned Topology : Recovery Partitioned Topology Membership changes (new members added or members leaving) Other members, in parallel, recover / repartition No in flight operations lost Some latencies (due to higher priority of recovery) Reliability, Availability, Scalability, Performance are the priority Degrade performance of some requests

Features : QueryMap Interface

Features : InvocableMap Interface

Coherence*Web Coherence*Web is an HTTP session management module It is a drop in replacement for native container session management Works with all major web containers WebLogic WebSphere OC4J JBoss/Tomcat/Jetty Glassfish and others

Why Coherence*Web Decouple session management from web container Application can handle more users without adding more application servers Applications/containers can be restarted/maintained without loosing sessions Handle very large sessions Keep session data coherent under heavy load Share session between applications Share session between application servers

How does Coherence*Web work? Coherence*Web wraps existing web applications No runtime byte code manipulation is done Any requests to use sessions (from servlets, JSPs, filters, etc) are intercepted by Coherence*Web wrappers Some web containers require patches to work with Coherence*Web Coherence*Web extends container classes, which sometimes are declared final These patches modify internal container classes to make them extendable by Coherence*Web

Deployment Models

Deployment Models In Process

Deployment Models Out of Process

Deployment Models Out of Process/Extend

Session Models

Session Models Traditional

Session Models Monolithic

Session Models Split

Locking Models

Locking Models Optimistc locking (default) Allows multiple nodes in a cluster to access an HTTP session simultaneously; prohibits concurrent modification Last Write Wins Locking Like optimistc locking but the last write is allowed to win. Member Locking Does not allow more than one node in the cluster to access HTTP session. Application Locking Multiple threads in the same web application allowed Thread Locking Does not allow more than one thread in the cluster to access an HTTP session.

Cluster Node Isolation

Cluster Node Isolation App Server Scoped

Cluster Node Isolation EAR Scoped

Cluster Node Isolation WAR Scoped

Session and Session Attribute Scoping

Session and Session Attribute Scoping Session Scoping Coherence*Web allows session data to be shared by different Web applications deployed in the same or different Web containers. Session Attribute Scoping Extension of Session Scoping allowing for scoping of individual session attributes so that they are either globally visible or scoped to an individual web application Behavior is controllable via the AttributeScopeController interface. Two out of the box implementations: ApplicationScopeController and GlobalScopeController

Installing Coherence*Web

Web Installer Make sure patch is installed for your web container if it is required Run the inspector on the existing WAR/EAR file This generates a coherence web.xml configuration file This file wraps all servlets, filters, etc with Coherence implementations It also contains configuration settings for Coherence*Web Inspect and (if any changes are required) modify the coherence web.xml file Run the installer process on the existing WAR/EAR This generates a new WAR/EAR and backs up the original Deploy the WAR/EAR

Session Provider for the Microsoft.NET Framework Overview: The Coherence Session Provider for the Microsoft.NET Framework allows you to manage ASP.NET session state in a Coherence cluster in the same way Coherence*Web provides session management in JEE containers. New Features: Supports all Coherence*Web Session Models (Traditional, Monolithic and Split) Pluggable Serializer Support.NET and POF Serialization Support Lockless exclusive session access via EntryProcessors Optimized Session_OnEnd Support

Demo sharing one session across three different applications deployed on three different app servers Tomcat Glassfish WebLogic storing session data out of process

Prepare the WAR file Create the WAR file as usual For each container inspect the WAR file java -jar webinstaller.jar MyWar.war \ -inspect -server:[container] review/edit generated file (coherence web.xml) modify the WAR file java -jar webinstaller.jar MyWar.war -install deploy as usual

Different containers share the session http://localhost:7001/mywar/demoservlet username is currently set to null session.getid: 1En6Vk6qyYDz http://localhost:7001/mywar/demoservlet?username=foo username has been set to 'foo' session.getid: 1En6Vk6qyYDz http://localhost:8080/mywar/demoservlet username is currently set to 'foo' session.getid: 1En6Vk6qyYDz http://localhost:9090/mywar/demoservlet username is currently set to 'foo' session.getid: 1En6Vk6qyYDz