GigaSpaces XAP offers a Platform as a Service (PaaS) solution that allows developers and enterprises to deploy and scale existing applications as well as build new enterprise applications in the cloud. The solution supports everything from mission-critical applications demanding extreme performance to large-scale Web applications based on popular frameworks such as Java EE (JEE), .NET, Spring and Jetty.
The main components of the GigaSpaces PaaS are:
- GigaSpaces XAP is an application server that provides a complete environment for deploying and running enterprise applications, including multi-tenancy, enterprise-grade middleware and auto scaling -- either in or outside the cloud. XAP's architecture enables organizations -- including companies such as Dow Jones, Virgin Mobile and Sempra Energy -- to flexibly move between their data centers and the cloud or to use both simultaneously. This approach offers a clear migration path from a hosted or on-premise environment to the public cloud.
- GoGrid is a cloud hosting service that provides the underlying hardware infrastructure. ServePath, the providers of GoGrid, offer dedicated hosting for the enterprise market with the requisite uptime, security, and service level agreements.
Overcoming Enterprise Java Complexity
JEE has been criticized for its complexity. This complexity mostly relates to complex programming models, complex configurations that rely heavily on XML, and bloated specifications, which result in heavyweight and complex application servers.
Recent versions of JEE (Java EE 5 and Java EE 6, which hasn't been finalized yet) are taking the first steps to address such complexity through a POJO-based programming model and the use of profiles.
However, the development community has not waited for the Java Community Process (JCP) to keep up with current trends and needs. Alternative programming models and development frameworks have emerged, the most dominant one being the Spring Framework, which promotes dependency injection, a POJO-based programming model, and aspect-oriented programming. GigaSpaces XAP adopts this style of programming as part of its core OpenSpaces APIs.
Another complexity issue is that JEE and other application servers were designed to solve a set of very similar problems around business logic processing. Data storage/management and messaging issues are not integrated with these app servers. Consequently, the burden of integrating apps and systems falls onto development teams.
GigaSpaces XAP takes a different approach. Space-based Architecture (SBA) calls for viewing the problem from end to end and providing a complete solution without the need for complex integration within the boundaries of applications and systems.
Foundations of GigaSpaces XAP
At the core of GigaSpaces XAP is GigaSpaces' in-memory data grid (IMDG), also known as The Space.
The Space is a data grid implementation whose API is inspired primarily by the JavaSpaces specification and the powerful tuple space model. However, as one would expected from any modern data grid implementation, The Space contains richer functionality, supporting modern paradigms like POJO-based data objects, Java 5 generics, and dependency injection.
The GigaSpaces IMDG supports multiple clustering topologies (partitioned, replicated, master/local, and more) and enables developers to store vast amounts of data in the memory of data grid instances, while maintaining high availability through replication to peer instances in the cluster.
The Space integrates with all major relational databases via the JDBC API and the Hibernate ORM framework.