WebSphere eXtreme Scale V8.5 documentation
Product overview
WebSphere eXtreme Scale overview
What's new
Release notes
Notices
Privacy policy considerations
Hardware and software requirements
Directory conventions
WebSphere eXtreme Scale technical overview
Caching overview
Caching architecture
Catalog service
Container servers, partitions, and shards
Maps
Clients
IBM eXtremeMemory
Zones
Evictors
OSGi framework overview
Cache integration overview
Liberty profile
Data caching and the Liberty profile
JPA level 2 (L2) cache plug-in
HTTP session management
Dynamic cache provider overview
Database integration overview
Sparse and complete cache
Side cache
In-line cache
Write-behind caching
Loaders
Data pre-loading and warm-up
Database synchronization`
Data invalidation
Indexing
JPA Loaders
Serialization overview
Serialization using Java
ObjectTransformer plug-in
Serialization using the DataSerializer plug-ins
Scalability overview
Data grids, partitions, and shards
Partitioning
Placement and partitions
Single-partition and cross-data-grid transactions
Scaling in units or pods
Availability overview
High availability
Replication for availability
High availability catalog service
Catalog server quorums
Replicas and shards
Shard placement
Reading from replicas
Load balancing across replicas
Shard lifecycles
Map sets for replication
Transaction processing overview
Transactions
Transaction processing in Java EE applications
CopyMode attribute
Locking strategies
Lock types
Deadlocks
Data access and transactions
Transaction isolation
Single-partition and cross-data-grid transactions
JMS for distributed transaction changes
Two-phase commit and error recovery
Security overview
REST data services overview
Scenarios
Using an OSGi environment to develop and run eXtreme Scale plug-ins
OSGi framework overview
Installing the Eclipse Equinox OSGi framework with Eclipse Gemini for clients and servers
Installing eXtreme Scale bundles
Running eXtreme Scale containers with non-dynamic plug-ins in an OSGi environment
Administering eXtreme Scale servers and applications in an OSGi environment
Building and running eXtreme Scale dynamic plug-ins for use in an OSGi environment
Building eXtreme Scale dynamic plug-ins
Configuring eXtreme Scale plug-ins with OSGi Blueprint
Installing and starting OSGi-enabled plug-ins
Running eXtreme Scale containers with dynamic plug-ins in an OSGi environment
Configuring OSGi-enabled plug-ins using the ObjectGrid descriptor XML file
Starting eXtreme Scale servers using the Eclipse Equinox OSGi framework
Administering OSGi-enabled services using the xscmd utility
Configuring servers with OSGi Blueprint
Using JCA to connect transactional applications to eXtreme Scale clients
Transaction processing in Java EE applications
Installing an eXtreme Scale resource adapter
Configuring eXtreme Scale connection factories
Configuring Eclipse environments to use eXtreme Scale connection factories
Configuring applications to connect with eXtreme Scale
Securing J2C client connections
Developing eXtreme Scale client components to use transactions
Administering J2C client connections
Configuring HTTP session failover in the Liberty profile
Enabling the eXtreme Scale web feature in the Liberty profile
Configuring a web server plug-in to forward requests to multiple servers in the Liberty profile
Merging plug-in configuration files for deployment to the application server plug-in
Running grid servers in the Liberty profile using Eclipse tools
Installing the Liberty profile developer tools for WebSphere eXtreme Scale
Setting up your development environment within Eclipse
Configuring eXtreme Scale in the Liberty profile using Eclipse tools
Creating an OSGi bundle project for eXtreme Scale grid development
Migrating a WebSphere Application Server memory-to-memory replication or database session to use WebSphere eXtreme Scale session management
Samples
Free trial
Sample properties files
Sample: xsadmin utility
Creating a configuration profile for the xsadmin utility
xsadmin utility reference
Verbose option for the xsadmin utility
Tutorials
Tutorial: Querying a local in-memory data grid
ObjectQuery tutorial - step 1
ObjectQuery tutorial - step 2
ObjectQuery tutorial - step 3
ObjectQuery tutorial - step 4
Tutorial: Storing order information in entities
Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
Tutorial: Configuring Java SE security
Java SE security tutorial - Step 1
Java SE security tutorial - Step 2
Java SE security tutorial - Step 3
Java SE security tutorial - Step 4
Java SE security tutorial - Step 5
Java SE security tutorial - Step 6
Tutorial: Run eXtreme Scale clients and servers in the Liberty profile
Liberty profile
Module 1: Install the Liberty profile
Module 2: Create a web application server in the Liberty profile
Lesson 2.1: Define a server to run in the Liberty profile
Module 3: Add the Liberty web feature to the Liberty profile
Lesson 3.1: Define a web application to run in the Liberty profile
Module 4: Configure clients to use client APIs in the Liberty profile
Lesson 4.1: Configure the Liberty profile to run with eXtreme Scale clients
Module 5: Run the data grid inside the Liberty profile
Lesson 5.1: Configure eXtreme Scale servers to use the Liberty profile
Lesson 5.2: Configuring a Liberty profile web application server to use eXtreme Scale for session replication
Tutorial: Integrate WebSphere eXtreme Scale security with WebSphere Application Server
Introduction
Module 1: Prepare WebSphere Application Server
Lesson 1.1: Understand the topology and get the tutorial files
Lesson 1.2: Configure the WebSphere Application Server environment
Module 2: Configure WebSphere eXtreme Scale to use WebSphere Application Server Authentication plug-ins
Lesson 2.1: Configure client server security
Lesson 2.2: Configure catalog server security
Lesson 2.3: Configure container server security
Lesson 2.4: Install and run the sample
Module 3: Configure transport security
Lesson 3.1: Configure CSIv2 inbound and outbound transport
Lesson 3.2: Add SSL properties to the catalog server properties file
Lesson 3.3: Run the sample
Module 4: Use Java Authentication and Authorization Service (JAAS) authorization in WebSphere Application Server
Lesson 4.1: Enable WebSphere eXtreme Scale authorization
Lesson 4.2: Enable user-based authorization
Lesson 4.3: Configure group-based authorization
Module 5: Use the xscmd tool to monitor data grids and maps
Tutorial: Security in a mixed environment
Introduction
Module 1: Prepare the environment
Lesson 1.1: Understand the topology and get the tutorial files
Lesson 1.2: Configure the WebSphere Application Server environment
Module 2: Configure authentication
Lesson 2.1: Configure WebSphere eXtreme Scale client security
Lesson 2.2: Configure catalog server security
Lesson 2.3: Configure container server security
Lesson 2.4: Install and run the sample
Module 3: Configure transport security
Lesson 3.1: Configure CSIv2 inbound and outbound transport
Lesson 3.2: Add SSL properties to the catalog server properties file
Lesson 3.3: Run the sample
Module 4: Use Java Authentication and Authorization Service (JAAS) authorization in WebSphere Application Server
Lession 4.1: Enable WebSphere eXtreme Scale authorization
Lesson 4.2: Enable user-based authorization
Module 5: Use the xscmd utility to monitor data grids and maps
Tutorial: Running eXtreme Scale bundles in the OSGi framework
Introduction: Starting and configuring the eXtreme Scale server and container to run plug-ins in the OSGi framework
Module 1: Preparing to install and configure eXtreme Scale server bundles
Lesson 1.1: Understand the OSGi sample bundles
Lesson 1.2: Understand the OSGi configuration files
Module 2: Installing and starting eXtreme Scale bundles in the OSGi framework
Lesson 2.1: Start the console and install the eXtreme Scale server bundle
Lesson 2.2: Customize and configure the eXtreme Scale server
Lesson 2.3: Configure the eXtreme Scale container
Lesson 2.4: Install the Google Protocol Buffers and sample plug-in bundles
Lesson 2.5: Start the OSGi bundles
Module 3: Running the eXtreme Scale sample client
Lesson 3.1: Set up Eclipse to run the client and build the samples
Lesson 3.2: Start a client and insert data into the grid
Module 4: Querying and upgrading the sample bundle
Lesson 4.1: Query service rankings
Lesson 4.2: Determine whether specific service rankings are available
Lesson 4.3: Update the service rankings
Getting started
Tutorial: Getting started with WebSphere eXtreme Scale
Lesson 1.1: Configuring data grids
Module 2: Create a client application
Lesson 2.1: Creating a Java client application
Module 3: Running the sample application in the data grid
Lesson 3.1: Starting catalog and container servers
Lesson 3.2: Running the getting started sample client application
Lesson 4: Monitor your environment
Getting started with developing applications
Planning
Planning overview
Planning the topology
Local in-memory cache
Peer-replicated local cache
Embedded cache
Distributed cache
Database integration overview
Sparse and complete cache
Side cache
In-line cache
Write-behind caching
Loaders
Data pre-loading and warm-up
Database synchronization`
Data invalidation
Indexing
Multiple data center topologies
Topologies for multi-master replication
Configuration considerations for multi-master topologies
Loader considerations in a multi-master topology
Design considerations for multi-master replication
Interoperability with other products
Planning for configuration
Planning for network ports
Planning to use IBM eXtremeMemory
Security overview
Planning for installation
Hardware and software requirements
Java SE considerations
Java EE considerations
Directory conventions
Planning environment capacity
Sizing memory and partition count calculation
Sizing CPU per partition for transactions
Sizing CPUs for parallel transactions
Dynamic cache capacity planning
Planning to develop WebSphere eXtreme Scale applications
Planning to develop Java applications
Java API overview
Java plug-ins overview
REST data services overview
Spring framework overview
Java class loader and classpath considerations
Relationship management
Cache key considerations
Data for different time zones
Installing
Installation overview
Planning for installation
Installation topologies
Hardware and software requirements
Offering IDs for WebSphere eXtreme Scale product offerings
Java SE considerations
Java EE considerations
Directory conventions
Runtime files for WebSphere Application Server installation
Runtime files for installation
IBM Installation Manager and WebSphere eXtreme Scale product offerings
Installing IBM Installation Manager using the GUI
Installing the product with the GUI
Installing IBM Installation Manager using the command line
Installing the product using the command line
Installing IBM Installation Manager using response files
Installing the product using a response file
Creating a keyring
Installing the Eclipse Equinox OSGi framework with Eclipse Gemini for clients and servers
Installing the REST data service
Installing eXtreme Scale bundles
Installing within WebSphere Application Server
Installing the Liberty profile
Installing the Liberty profile application-serving environment by running a JAR file
Uninstalling the product using IBM Installation Manager
Uninstalling the product using the GUI
Uninstalling the product using the command line
Uninstalling the product using response files
Customizing WebSphere eXtreme Scale for z/OS
Installing the WebSphere Customization Toolbox
Generating customization definitions
Uploading and running customized jobs
Creating and augmenting profiles
Using the graphical user interface to create profiles
Using the graphical user interface to augment profiles
manageprofiles command
Non-root profiles
First steps after installation
Troubleshooting the product installation
Updating and migrating
Updating eXtreme Scale servers
Migrating to WebSphere eXtreme Scale Version 8.5
Installing fix packs using IBM Installation Manager
Installing fix packs using the GUI
Installing fix packs using the command line
Installing fix packs using a response file
Uninstalling fix packs using IBM Installation Manager
Uninstalling fix packs using the GUI
Uninstalling fix packs using the command line
Uninstalling fix packs using response files
Updating WebSphere eXtreme Scale on WebSphere Application Server
xsadmin tool to xscmd tool migration
Deprecated properties and APIs
Removed properties and APIs
Configuring
Configuration methods
Operational checklist
Configuring data grids
Configuring local deployments
Configuring evictors with XML files
Configuring a locking strategy in the ObjectGrid descriptor XML file
Configuring the lock timeout value
Configuring peer-to-peer replication with JMS
Distributing changes between peer JVMs
JMS event listener
Configuring dynamic maps
Configuring deployment policies
Configuring distributed deployments
Controlling shard placement with zones
Configuring zones for replica placement
Zone-preferred routing
Defining zones for container servers
Example: Zone definitions in the deployment policy descriptor XML file
Viewing zone information with the xscmd utility
Configuring catalog and container servers
Configuring catalog servers and catalog service domains
Example: Configuring catalog service domains
Configuring WebSphere eXtreme Scale with WebSphere Application Server
Configuring the catalog service in WebSphere Application Server
Creating catalog service domains in WebSphere Application Server
Catalog service domain administrative tasks
Catalog service domain collection
Catalog service domain settings
Client security properties
Catalog service domain custom properties
Configuring the quorum mechanism
Tuning failover detection
Configuring container servers
Container server reconnect properties
Configuring container servers in WebSphere Application Server
Configuring WebSphere Application Server applications to automatically start container servers
Configuring eXtreme Scale servers to run in the Liberty profile
Configuring multiple data center topologies
Configuring ports
Configuring ports in stand-alone mode
Configuring ports in a WebSphere Application Server environment
Servers with multiple network cards
Configuring transports
Configuring IBM eXtremeIO (XIO)
Configuring Object Request Brokers
Configuring the Object Request Broker in a WebSphere Application Server environment
Configuring the Object Request Broker with stand-alone WebSphere eXtreme Scale processes
Configuring a custom Object Request Broker
Configuring IBM eXtremeMemory
Configuring Java clients
Java client overrides
Configuring Java clients with an XML configuration
Configuring the REST gateway with an XML configuration
Configuring Java clients programmatically
Configuring the near cache
Configuring an evictor for the near cache
Configuring JMS-based client synchronization
Configuring request and retry timeout values
Configuring eXtreme Scale connection factories
Configuring Eclipse environments to use eXtreme Scale connection factories
Configuring cache integration
Configuring HTTP session managers
Configuring the HTTP session manager with WebSphere Application Server
Configuring WebSphere Application Server HTTP session persistence to a data grid
eXtreme Scale session management settings
Splicing a session data grid application with the addObjectGridFilter script
Editing the splicer.properties file
Using WebSphere eXtreme Scale for SIP session management
Configuring HTTP session manager with WebSphere Portal
Configuring the HTTP session manager for various application servers
XML files for HTTP session manager configuration
Servlet context initialization parameters
splicer.properties file
Configuring the dynamic cache provider for WebSphere eXtreme Scale
JPA level 2 (L2) cache plug-in
JPA cache configuration properties for both OpenJPA and Hibernate Version 3.0
Configuring the OpenJPA cache plug-in
Example: OpenJPA ObjectGrid XML files
Configuring the Hibernate cache plug-in
Example: Hibernate ObjectGrid XML files
Configuring a Spring cache provider
Configuring database integration
Configuring JPA loaders
Configuring a JPA time-based data updater
Configuring REST data services
Enabling the REST data service
Scalable data model in eXtreme Scale
Retrieving and updating data with REST
Starting a stand-alone data grid for REST data services
Starting a data grid for REST data services in WebSphere Application Server
Configuring application servers for the REST data service
Deploying the REST data service on WebSphere Application Server
Starting REST data services with WebSphere eXtreme Scale integrated in WebSphere Application Server 7.0
Deploying the REST data service on WebSphere Application Server Community Edition
Starting the REST data service in WebSphere Application Server Community Edition
Deploying the REST data service on Apache Tomcat
Starting REST data services in Apache Tomcat
Configuring Web browsers to access REST data service ATOM feeds
Using a Java client with REST data services
Visual Studio 2008 WCF client with REST data service
Configuring OSGi-enabled plug-ins using the ObjectGrid descriptor XML file
Configuring servers for OSGi
Configuring eXtreme Scale plug-ins with OSGi Blueprint
Configuring servers with OSGi Blueprint
Configuring servers with OSGI config admin
Configuring eXtreme Scale servers to run in the Liberty profile
Configuring HTTP session failover in the Liberty profile
Enabling the eXtreme Scale web feature in the Liberty profile
Configuring a web server plug-in to forward requests to multiple servers in the Liberty profile
Merging plug-in configuration files for deployment to the application server plug-in
Administering
Starting and stopping stand-alone servers
Starting stand-alone servers
Starting a stand-alone catalog service
Starting container servers
startOgServer script
Stopping stand-alone servers
Stopping servers gracefully with the xscmd utility
Starting and stopping servers in a WebSphere Application Server environment
Starting and stopping servers in the Liberty profile
Using the embedded server API to start and stop servers
Embedded server API
Administering with the xscmd utility
Controlling placement
Managing ObjectGrid availability
Managing data center failures
Querying and invalidating data
Retrieving eXtreme Scale environment information with the xscmd utility
Starting eXtreme Scale servers using the Eclipse Equinox OSGi framework
Installing and starting OSGi-enabled plug-ins
Administering OSGi-enabled services using the xscmd utility
Updating OSGi services for eXtreme Scale plug-ins with xscmd
Administering with Managed Beans (MBeans)
Accessing Managed Beans (MBeans) using the wsadmin tool
Accessing Managed Beans (MBeans) programmatically
Administering J2C client connections
Developing applications
Setting up the development environment
Accessing API documentation
Setting up a stand-alone development environment in Eclipse
Running a WebSphere eXtreme Scale application that uses an application server other than WebSphere Application Server in Eclipse
Running an integrated client or server application with WebSphere Application Server in Rational Application Developer
Accessing data with client applications
Connecting to distributed ObjectGrid instances programmatically
Tracking map updates
Interacting with an ObjectGrid using the ObjectGridManager interface
Creating ObjectGrid instances with the ObjectGridManager interface
Retrieving a ObjectGrid instance with the ObjectGridManager interface
Removing ObjectGrid instances with the ObjectGridManager interface
Controlling the lifecycle of an ObjectGrid with the ObjectGridManager interface
Accessing the ObjectGrid shard
Accessing data with indexes (Index API)
DynamicIndexCallback interface
Using Sessions to access data in the grid
SessionHandle for routing
SessionHandle integration
Caching objects with no relationships involved (ObjectMap API)
Introduction to ObjectMap
Creating dynamic maps with Java APIs
ObjectMap and JavaMap
Maps as FIFO queues
Caching objects and their relationships (EntityManager API)
Relationship management
Defining an entity schema
Entity manager in a distributed environment
Interacting with EntityManager
Entity listeners and callback methods
Entity listener examples
EntityManager fetch plan support
Entity query queues
EntityTransaction interface
Retrieving entities and objects (Query API)
Querying data in multiple time zones
Data for different time zones
Using the ObjectQuery API
Configuring an ObjectQuery schema
EntityManager Query API
Simple queries with EntityManager
Reference for eXtreme Scale queries
ObjectGrid query Backus-Naur Form
Programming for transactions
Interacting with data in a transaction
Using locking
Configuring and implementing locking in Java applications
Example: flush method lock ordering
Java exception handling for locking
Map entry locks with query and indexes
Java examples for transaction isolation
Optimistic collision exception
Running parallel logic with the DataGrid API
DataGrid APIs and partitioning
DataGrid agents and entity-based Maps
DataGrid API example
Configuring Java clients programmatically
Java client overrides
Enabling client-side map replication
System APIs and plug-ins
Managing plug-in life cycles
Writing an ObjectGridPlugin plug-in
Writing a BackingMapPlugin plug-in
Plug-ins for multimaster replication
Developing custom arbiters for multi-master replication
Plug-ins for versioning and comparing cache objects
Plug-ins for serializing cached objects
Serializer programming overview
Avoiding object inflation when updating and retrieving cache data
ObjectTransformer plug-in
Plug-ins for providing event listeners
MapEventListener plug-in
ObjectGridEventListener plug-in
BackingMapLifecycleListener plug-in
ObjectGridLifecycleListener plug-in
Plug-ins for indexing data
Configuring the HashIndex plug-in
HashIndex plug-in attributes
Custom indexing plug-ins
Using a composite index
Plug-ins for communicating with databases
Configuring database loaders
Writing a loader
Map pre-loading
Configuring write-behind loader support
Write-behind caching
Write-behind loader application design considerations
Handling failed write-behind updates
Example: Writing a write-behind dumper class
JPA loader programming considerations
JPAEntityLoader plug-in
Using a loader with entity maps and tuples
Writing a loader with a replica preload controller
Plug-ins for managing transaction life cycle events
Transaction processing overview
Introduction to plug-in slots
External transaction managers
WebSphereTransactionCallback plug-in
Programming to use the OSGi framework
Building eXtreme Scale dynamic plug-ins
Upgrading agents and data models dynamically from OSGi bundles in the Liberty profile
Programming for JPA integration
JPA Loaders
Developing client-based JPA loaders
Client-based JPA preload utility overview
Example: Preloading a map with the ClientLoader interface
Example: Reloading a map with the ClientLoader interface
Example: Calling a client loader
Example: Creating a custom client-based JPA loader
Developing a client-based JPA loader with a DataGrid agent
Example: Using the Hibernate plug-in to preload data into the ObjectGrid cache
Starting the JPA time-based updater
JPA time-based data updater
Developing applications with the Spring framework
Spring framework overview
Managing transactions with Spring
Spring managed extension beans
Spring extension beans and namespace support
Starting a container server with Spring
Configuring clients in the Spring framework
Monitoring
Statistics overview
Monitoring with the web console
Starting and logging on to the web console
Connecting the web console to catalog servers
Viewing statistics with the web console
Web console statistics
Monitoring with custom reports
Monitoring with CSV files
CSV file statistics definitions
Enabling statistics
Statistics modules
Monitoring with the statistics API
Monitoring with the xscmd utility
Monitoring with WebSphere Application Server PMI
Enabling PMI
Retrieving PMI statistics
PMI modules
Accessing Managed Beans (MBeans) using the wsadmin tool
Monitoring server statistics with managed beans (MBeans)
Monitoring with vendor tools
IBM agent for Tivoli Monitoring
CA Wily Introscope
Monitoring eXtreme Scale with Hyperic HQ
Monitoring eXtreme Scale information in DB2
Tuning performance
Tuning operating systems and network settings
Tuning ORB properties
Tuning IBM eXtremeIO (XIO)
Tuning Java virtual machines
Tuning failover detection
Tuning garbage collection with WebSphere Real Time
WebSphere Real Time in a stand-alone environment
WebSphere Real Time in WebSphere Application Server
Tuning the dynamic cache provider
Tuning the cache sizing agent
Cache memory consumption sizing
Tuning and performance for application development
Tuning the copy mode
Improving performance with byte array maps
Tuning copy operations with the ObjectTransformer interface
Tuning evictors
Tuning locking performance
Tuning serialization performance
Tuning serialization
Tuning query performance
Query plan
Query optimization using indexes
Tuning EntityManager interface performance
Entity performance instrumentation agent
Security
Data grid authentication
Data grid security
Authenticating and authorizing clients
Authenticating application clients
Authorizing application clients
Configuring secure transport types
Transport layer security and secure sockets layer
Configuring SSL parameters
Java Management Extensions (JMX) security
Security integration with external providers
Securing the REST data service
Security integration with WebSphere Application Server
Configuring client security on a catalog service domain
Enabling data grid authorization
Starting and stopping secure servers
Starting secure servers in a stand-alone environment
Starting secure servers in WebSphere Application Server
Stopping secure servers
Configuring FIPS 140-2
Configuring security profiles for the xscmd utility
Securing J2C client connections
Programming for security
Security API
Client authentication programming
Client authorization programming
Data grid authentication
Local security programming
Troubleshooting
Troubleshooting and support for WebSphere eXtreme Scale
Techniques for troubleshooting problems
Searching knowledge bases
Getting fixes
Getting fixes from Fix Central
Contacting IBM Support
Exchanging information with IBM
Subscribing to Support updates
Enabling logging
Collecting trace
Server trace options
Analyzing log and trace data
Log analysis overview
Running log analysis
Creating custom scanners for log analysis
Troubleshooting log analysis
Troubleshooting the product installation
Troubleshooting client connectivity
Troubleshooting cache integration
Troubleshooting the JPA cache plug-in
Troubleshooting IBM eXtremeMemory
Troubleshooting administration
Troubleshooting multiple data center configurations
Troubleshooting loaders
Troubleshooting XML configuration
Troubleshooting deadlocks
Troubleshooting security
Troubleshooting Liberty profile configurations
IBM Support Assistant for WebSphere eXtreme Scale
Reference
ObjectGrid interface
BackingMap interface
ExceptionMapper interface
xscmd utility reference
Regular expression syntax
Configuration files
Server properties file
Client properties file
REST data service properties file
ObjectGrid descriptor XML file
objectGrid.xsd file
Deployment policy descriptor XML file
deploymentPolicy.xsd file
Entity metadata descriptor XML file
emd.xsd file
Security descriptor XML file
objectGridSecurity.xsd file
Spring descriptor XML file
Spring objectgrid.xsd file
Liberty profile configuration files
Liberty profile server properties
Liberty profile web feature properties
Liberty profile xsWebApp feature properties
Liberty profile xsWebGrid feature properties
Liberty profile xsDynacacheApp feature properties
Messages
User interface settings
eXtreme Scale session management settings
Catalog service domain collection
Catalog service domain settings
Client security properties
Catalog service domain custom properties
Site map