Consortium    Solutions    Middleware    Forge    MyObjectWeb 
ObjectWeb Consortium

Advanced - Powered by Google

Project Links
· Home
· News
· Downloads
· Documentation
· Mailing Lists
· Forum
· License

Project Components
· GASP Online
· GASP Bluetooth
· MooDS Protocol
· Demonstration Games

Developers' Corner
· GForge
· Wiki
· Project Trakers
· SVN Repository

· Team

GASP Project Components: OSGi/iPOJO Ubiquitous Middleware


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.

uGASP features:

  • 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.
  • Handling of disconnections

Current Version: 1.0.0


  • 2010-2011: uGASP has been industrialized on the occasion of the PlayOnline project leaded.
  • 2008-2010: uGASP has been created in the context of the PLUG project leaded by the CNAM-Cedric

How to setup uGASP

  • uGASP install tutorial: a complete tutorial is available on the GASP project wiki, page UGASPInstall.

How to use uGASP


Architecture overview

uGASP Architecture

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 specifications.

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.

Component model

uGASP Component Model

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):

User connectivities

  • HTTP: org.ugasp.connector.http.jar / org.ugasp.impl.connector.http.jar

User connectors

  • Player: org.ugasp.service.external.player.jar / org.ugasp.impl.service.external.player.jar
  • Administrator: org.ugasp.service.external.admin.jar / org.ugasp.impl.service.external.admin.jar

User services

  • Lobby: org.ugasp.service.external.lobby.jar / org.ugasp.impl.service.external.lobby.jar

Game logic manager

  • Core: org.ugasp.core.jar / org.ugasp.impl.core.jar
  • Event model: org.ugasp.eventmodel.jar

Game logic factories

  • Game logic management: org.ugasp.gamelogic.jar / org.ugasp.impl.gamelogic.jar

System services

  • MySQL DB management: org.ugasp.service.internal.system.db.jar / org.ugasp.impl.service.internal.system.db.mysql.jar
  • ID system: /

Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster | Last modified at 2011-06-23 08:21 PM