XAP

Deploying and Running

This section describes the various options for debugging and running your Processing UnitsClosed This is the unit of packaging and deployment in the GigaSpaces Data Grid, and is essentially the main GigaSpaces service. The Processing Unit (PU) itself is typically deployed onto the Service Grid. When a Processing Unit is deployed, a Processing Unit instance is the actual runtime entity..

Some of the features discussed here are not part of the open-source edition, and are only available in the licensed editions (starting with Premium).

In production, your Processing Units run on the GigaSpaces service grid, taking advantage of its SLA and monitoring capabilities. However, when developing your application, you typically want to run it from within your IDEClosed Integrated Development Environment. A software application that helps programmers develop software code efficiently. It increases developer productivity by combining capabilities such as software editing, building, testing, and packaging in an easy-to-use application. Example: DBeaver. or in a more lightweight mode that will not require you to start a complete runtime environment.

The abstraction that enables running the same Processing Unit in different modes (service grid, within your IDE, etc.) is called Processing Unit Containers.

Naturally, the Grid Service Container implements its own Processing Unit container, allowing for Processing Units that are provisioned to it to run properly.

In addition, to facilitate easier development and debugging, GigaSpaces provides two more Processing Unit containers. The Integrated Processing Unit Container allows you to debug and run your Processing Units within your IDE in an isolated, easy-to-use mode. The Integrated Processing Unit Container is simply a class with a main method, which instantiates a Spring application context for your Processing Unit and makes sure other services (such as cluster information) is available to your code as if it was running in a real cluster.

Similarly, the standalone Processing Unit container also runs your Processing Units in a simple isolated environment, allowing you to start and stop them quickly to avoid the overhead of starting a full-blown cluster.

Both the Integrated Processing Unit Container and the standalone Processing Unit run as a standalone Java process, and therefore cannot enforce any of the SLA requirements of the Processing Unit. Their primary purpose is to enable you to debug and unit test your Processing Units.

Choosing the Correct Runtime Mode

The following table summarizes when to use each of the runtime modes.

You Would Like to... Runtime Mode Processing Unit Container Name
Unit test your Processing Unit within your IDE Embedded in IDE Integrated Processing Unit Container
Unit test your Processing Unit or run it in an unmanaged environment Standalone Standalone Processing Unit Container
Run your Processing Unit in production or conduct full-blown integration tests Managed by the Service Grid Service GridClosed A built-in orchestration tool which contains a set of Grid Service Containers (GSCs) managed by a Grid Service Manager. The containers host various deployments of Processing Units and data grids. Each container can be run on a separate physical machine. This orchestration is available for XAP only. Processing Unit Container

 

This topic includes the following sections: