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.
Space Component — A Space component allows you to create an IJSpace (or JavaSpace) based on a space URL.
GigaSpace Component — The JavaSpaces API is abstracted in OpenSpaces by a simple wrapper: the GigaSpace interface.
Map Component — A Map component allows you to create an IMap (or JCacheCache) based on a Space component.
GigaMap Component — The IMap/JCacheCache API is abstracted in OpenSpaces by a simple wrapper: the GigaMap interface.
Executors Component — Executors allows to easily execute tasks on the space using the GigaSpace API.
Space Mode Context Loader — Allows you to load a Spring application context only when the Processing Unit or space is in primary mode, and unload it when the Processing Unit or space is in backup mode.
GigaSpace Context — Allows you to inject a predefined GigaSpace instance using annotations.
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 .
Administration API — Allows applications to start and stop a space; get status, statistics, and cluster mode; and shutdown a container.
Local Cache and Local View Components — OpenSpaces allows you to easily configure and use the space local view feature using the LocalViewSpaceFactoryBean component and local cache using LocalCacheSpaceFactoryBean.
SQLQuery — The SQLQuery class is used to query the space using the SQL like syntax.
Space Locking and Blocking — Using optimistic and pessimistic locking to preserve the integrity of changes in multi-user scenarios.
Indexing — Setting implicit indexing, extended indexing, and related options.
Cluster-Aware Operations — Supported and non-supported operations, limitations, and considerations when working with a clustered space.
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.
C++ — 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.
Data Example — This example gives a more extensive overview of OpenSpaces, the Processing Unit and the enhanced configurations in the pu.xml file. The example contains two Processing Units; one that feeds data objects into the system, and another that reads those objects and processes them.
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.