Consortium    Solutions    Middleware    Forge    MyObjectWeb 
ObjectWeb Consortium
Print

Advanced - Powered by Google







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

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

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

About
· Team

Events
· UbiMob'06

GASP Project Components: Ubiquitous OSGi Middleware

Presentation

uGASP is an OSGi (component oriented) middleware dedicated to ubiquitous multiplayer gaming. It keeps all GASP functionalities, it is released under L-GPL license and implements the OMA GS (Open Mobile Alliance Games Services working group) specifications.

uGASP features:

  • dedicated to multiplayer ubiquitous games (MUGs)
  • component (bundle) oriented over OSGi R4 framework: to provide more dynamic, configurable and extensible gaming services
  • 100 % of GASP functionalities
  • handles the MooDS protocol

Current Version: 0.9

History

  • 2008-2010: uGASP has been created in the context of the PLUG project leaded by the CNAM-Cedric

Current work

  • Location based gaming support: a ubiquitous gaming services bundle dedicated to player's GPS positions projections on 2D real world maps.

Details

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 session manager: to manage game session instances and associated players
  • Game server logic factories: to instantiate the game server logics deployed in the framework
  • Ubiquitous gaming services: services available from game server logics in order to create MUGs, like location management services
  • 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 session manager

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

Game server logic factories

  • Game server management: org.ugasp.gameserver.jar / org.ugasp.impl.gameserver.jar

Ubiquitous gaming services

  • Location management: org.ugasp.service.internal.gameserver.location.jar / org.ugasp.impl.service.internal.gameserver.location.jar

System services

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

Learn more

More detailed informations, like white papers, are available on the documentation section.


Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster | Last modified at 2008-06-08 08:00 PM