What Does the Programmer's Guide Cover?

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 EnvironmentThis section gives a detailed description of the GigaSpaces deployment & runtime environment.
    • The GigaSpaces AgentA process manager that manages Service Grid processes such as GSM, GSC and LUS
    • The GigaSpaces ContainerA container which hosts Processing Unit Instances provisioned to it by the GSM
    • The GigaSpaces ManagerManages Processing Unit deployments and GigaSpaces Containers
    • The Lookup ServiceA registry of services (GSM, GSC, Space Instances, Processing Unit Instances) that can be lookup up using it.
  • Packaging and DeploymentThis 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.
    • The Processing Unit Structure and ConfigurationThis page describes the processing unit directory structure
    • Deploying and Running the Processing UnitThis section describes the various options to debug and run your processing units
    • Obtaining Cluster InformationObtaining 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 GridExplains 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 ScenariosGigaSpaces IMDG supports three different caching mechanisms: in-line cache, side cache and client cache.
    • LeasesLease basics and explains how Leases can be managed
    • Space IteratorUsed to read objects matching multiple templates in one call in a continoues manner.
    • Space TopologiesExplains the topologies and clustering mechanism of the GigaSpaces in-memory data grid (the Space)
    • Deploying and Interacting with the SpaceOverview of GigaSpaces in-memory data grid - how to create a data grid, connect to it, and interact with it.
    • The Space ComponentA Space component allows you to create an IJSpace (or JavaSpace) based on a space URL.
    • The GigaSpace InterfaceThe JavaSpaces API is abstracted in OpenSpaces by a simple wrapper: the GigaSpace interface.
    • POJO SupportGigaSpaces JavaSpaces API Plain Old Java Object support - the POJO.
    • SQLQueryThe SQLQuery class is used to query the space using the SQL like syntax.
    • IndexingUsing indexes to improve performance.
    • The Map ComponentA Map component allows you to create an IMap (or JCache Cache) based on a Space component.
    • The GigaMap InterfaceThe IMap/JCache Cache API is abstracted in OpenSpaces by a simple wrapper: the GigaMap interface.
    • The GigaSpaceContext AnnotationAllows you to inject a predefined GigaSpace instance using annotations.
    • Local View and Local CacheA 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.
    • PersistencyGigaSpaces's persistency approach consists of several paradigms for data persistency, according to the application needs. This section gives a basic overview of each paradigm.
    • Transaction ManagementOpenSpaces provides several implementations of Spring's PlatformTransactionManager allowing you to use the GigaSpaces and Jini Transaction Manager.
    • Memory Management FacilitiesSetting 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 SupportHow to get entries in the same order in which they were written to the space.
    • memcachedmemcached support on top of the space.
    • JDBC DriverGigaSpaces 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.
    • Advanced Topics
  • Services on Top of the Data GridThis 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
  • Web Application Support
  • Administration and Monitoring APISimple API to monitor and administer GigaSpaces services and components.
    • DumpSimple API to generate dump files of the runtime GigaSpaces environment.
    • Logging APISimple API extract and filter out logging information of GigaSpaces runtime.
  • Integrations
    • Maven PluginInstalling the OpenSpaces Maven plugin, creating and running a Processing Unit project.
    • Mule ESBOpenSpaces 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.
  • Interoperability
    • Platform Interoperability in GigaSpacesThe 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 CPPThe 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.
  • Cloud and Virtualization
  • Appendix
    • XAP OverviewGigaSpaces 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 FAQFrequently asked questions about OpenSpaces.
    • XAP-Community FAQ
    • About JiniJini is an open architecture that allows the implementation of network services - One such service is JavaSpaces.
GigaSpaces.com - Legal Notice - 3rd Party Licenses - Site Map - API Docs - Forum - Downloads - Blog - White Papers - Contact Tech Writing - Gen. by Atlassian Confluence