uGASP is an OSGi/iPOJO (component oriented) middleware dedicated to ubiquitous and multiplayer gaming.
It is released under L-GPL license and implements the OMA GS (Open Mobile Alliance Games Services working group) specifications.
Hosting of game logics.
Creation of sessions of game logics. Several sessions of different game logics can be launched is parallel in the same uGASP platform.
Managing life cycle of game logic depending on your needs
Transmission of data inter-clients and between clients and game logic.
Two communication protocols for mobile environment: one that give priority to ease of use, the other to optimize the volume of data on the network.
There are many implementations of OSGi specifications
available like Apache Felix, Eclipse Equinox, Makewave
Knopflerfish... In order to build uGASP, we have chosen
Apache Felix which is an implementation of the R4 OSGi
iPOJO stands for injected Plain Old Java Object, it is
a service-oriented component model which aims at simplifying
OSGi based application development. To summarize,
this model manages all underlying OSGi mechanisms like
service registering and binding. The main iPOJO principle is
field injection. Thus, it injects dynamically the bundle service
dependencies as POJO in specific class fields of the main class.
It offers an XML based language to specify the binding fields,
optional callback methods and bundle activation conditions.
The server side of the GASP legacy middleware is implemented
as a servlet over Apache Tomcat. uGASP is built on
top of Apache Felix OSGi implementation and iPOJO layer.
uGASP model is bundle oriented and provides different families of bundles:
User connectivities: to support various client protocols like HTTP, Sockets...
User connectors: to handle requests from different type of users, like players or administrators
User services: like lobby, buddy services for players or supervision console for administrators
Game logic manager: to manage game session instances and associated players
Game logic factories: to instantiate the game server logics deployed in the framework
System services: like IDs or MySQL DB management
uGASP bundle list
Here the list of the uGASP bundles by families (interfaces/implementations):