This guide is written for application developers who wish to build scaled-out applications with GigaSpaces XAP. The guide provides all the information and tools needed to quickly develop either basic or more complex scaled-out applications. This includes reference documentation, foundations, APIs, configurations and more advanced topics.
Note that this guide is specific to XAP developers. For instructions for XAP.NET developers, please refer to the XAP.NET Programmer's Guide.
Section Contents
The Runtime Environment — This section gives a detailed description of the GigaSpaces deployment & runtime environment.
The GigaSpaces Agent — A process manager that manages Service Grid processes such as GSM, GSC and LUS
The GigaSpaces Container — A container which hosts Processing Unit Instances provisioned to it by the GSM
The Lookup Service — A registry of services (GSM, GSC, Space Instances, Processing Unit Instances) that can be lookup up using it.
Packaging and Deployment — This section deals with the internals of the GigaSpaces XAP packaging and deployment unit, namely the processing unit. It explains how to create it and how to run it in the various runtime modes.
Obtaining Cluster Information — Obtaining information about the clustering topology, member id and other cluster related information can be useful in many cases. Cluster information can be provided to the processing unit instances at deployment time via the class org.openspaces.core.cluster.ClusterInfo, which can be injected into the processing unit components
The In-Memory Data Grid — Explains the concepts of the GigaSpaces in-memory data grid (the Space), how to access it, and how to configure advanced capabilities, such as persistency, eviction, etc.
Caching Scenarios — GigaSpaces IMDG supports three different caching mechanisms: in-line cache, side cache and client cache.
Leases — Lease basics and explains how Leases can be managed
Space Iterator — Used to read objects matching multiple templates in one call in a continoues manner.
Space Topologies — Explains the topologies and clustering mechanism of the GigaSpaces in-memory data grid (the Space)
Local View and Local Cache — A client application may run a local side cache (near cache). There are two variations provided: local cache and local view. These allows the client application to cache specific or recently used data at the client memory address and have it updated automatically by the space when that data changes.
Persistency — GigaSpaces's persistency approach consists of several paradigms for data persistency, according to the application needs. This section gives a basic overview of each paradigm.
Memory Management Facilities — Setting Space cache policy, memory usage, and rules for exceeding physical memory capacity.
Programmatic API (Configurers) — This section describes how you can use OpenSpaces components in a non-Spring environment. The constructs which are used to create and configure GigaSpaces components are called Configurers .
FIFO Support — How to get entries in the same order in which they were written to the space.
memcached — memcached support on top of the space.
JDBC Driver — GigaSpaces allows applications to connect to the IMDG using a JDBC driver. A GigaSpaces JDBC driver accepts SQL statements, translates them to space operations, and returns standard result sets.
Services on Top of the Data Grid — This page provides an overview of the various service components that are available on top of the GigSpaces DataGrid framework. It also outlines when to choose each one of them
Task Execution over the Space — Task executors allow you to easily execute grid-wide tasks on the space using the GigaSpace API.
Maven Plugin — Installing the OpenSpaces Maven plugin, creating and running a Processing Unit project.
Mule ESB — OpenSpaces Mule ESB integration allows you to use the Space as a Mule external transport, replace Mule VM transport with transport over the Space, enhances the Mule SEDA model, and can be packaged and run as a Processing Unit.
Platform Interoperability in GigaSpaces — The possibility for organizations whose projects include a combination of Java, .NET and C++ platforms to communicate and access each other easily and efficiently while also maintaining the benefits of the GigaSpaces scale-out application server.
XAP CPP — The GigaSpaces C++ API has been designed to allow the same level of flexibility, usability and interoperability of the Java POJO and .NET C# PONO counterpart APIs for building scalable, low-latency SBA applications.
XAP ESM on Cisco UCS — This page describes the GigaSpaces Elastic Data Grid deployment on the Cisco Unified Computing System (UCS) platform, using the Elastic Service Manager
XAP ESM on Rackspace — This page describes the GigaSpaces Elastic Data Grid deployment on Rackspace using the Elastic Service Manager
XAP Overview — GigaSpaces XAP is a platform for scaling out stateful applications. XAP uses the GigaSpaces space as a core middleware, and provides the Spring-based Open Spaces framework as a development environment.
OpenSpaces FAQ — Frequently asked questions about OpenSpaces.