Space and Broker Differences (Magic xpa 4.x)
This topic lists the differences between the Space middleware and the broker middleware.
In general, the broker middleware is used for development and the deployment of small and medium-sized applications that have a small number of engines.
The Space middleware is used for the deployment of medium and large applications that have a large number of engines. Servers within a cluster automatically distribute the workload, which ensures that there is no single point-of-failure. Each partition can have a backup, which improves data consistency and provides high availability of the data. The Space-based architecture also enhances your applications’ scalability and load balancing.
The Space middleware requires Java 8 to be installed on the server.
There is a difference between the Mgreq.ini file available for the different middlewares. For the Space middleware, the file is only supported in the Web requester.
There is one command line requester for the Space middleware (GigaSpaces-xpa\bin\CommandLine.bat) and another one for the broker (MGrqcmdl.exe).
Application names are always lower case in the space, and are displayed accordingly in the GS Monitor and GS-UI.
For the broker middleware, it is possible to start Runtime engines on demand via the APPLICATIONS LIST command line argument.
For the Space middleware, it is possible to start Runtime engines on demand via the attribute AdditionalOnDemand in the ProjectsStartup.xml. For more information, see Loading Engines Dynamically.
Applying application or environment changes without shutting down Magic xpa servers is available in the broker using the RqRtBlock and RqRtResume functions, while in the Space middleware it is available from the Monitor's context menus.
For the broker middleware, it is possible to terminate a specific context, while in the Space middleware it is available from the Monitor's context menus. The Ctx* functions are supported.
Note: Terminating a context is not recommended for either of the middlewares. It might leave resources locked.
For Web applications, you need to select a different requester for the middlewares using the keyword InternetDispatcherPath in the Magic.ini file.
For Rich Client applications, you also need to select the different requester for the using the requester execution property:
For specific instructions about deploying with the Space middleware, see: Deploying Applications on GigaSpaces concept paper