40 likes | 130 Views
TAU – Google Technologies for Web Development. Architectural Overview. Amir Barkai Hila Barzilai Ran Goldberg Tammy Dagan. Server Side. Data Management Users info and statistics, games statistics and match management Implemented with GAE Datastore and Data Objects managed with JDO
E N D
TAU – Google Technologies for Web Development Architectural Overview Amir Barkai HilaBarzilai Ran Goldberg Tammy Dagan
Server Side • Data Management • Users info and statistics, games statistics and match management • Implemented with GAE Datastore and Data Objects managed with JDO • Client Server Communication • Objects data transfer, Method invocation, Error management and Push messaging • Implemented with: • Servlets– Each method invocation is a servlet, errors are returned as headers. • JSON – Used for objects transfer, JDO objects are converted to JSON enabled types. • C2DM – Used for push messaging, including game invitations and pushing game offers. • Synchronization • Games results, statistics and invitations, and player occupation management. • Implemented with GAE Task Queues • Scheduled maintenance • Check users active state and renewing C2DM auth token • Implemented with GAE Cron jobs • Active push game offers • Ability to change location based offers online • Push messages based on stored statistics • Implemented with GAE Cron jobs and JSP
Client Side • Client Server Communication • Objects data transfer, Method invocation, Error management • Implemented with: • Multithreaded http client – Each method invocation is a server request, each response headers are checked for errors • JSON – Used for objects transfer, mutual objects for server and client. • GUI • Simple and clean android’s OS looks & feel. • External game integration API • Creating a main “gameActivity” activity responsible for all server-client logic a single game needs. • Every external game mainly needs to implement it, and includes Moish’d! SDK. • Location based features • Location based trophies, game offers and scoring. • Implemented using Android’s LocationManager with services: GPS, APGS. • Facebook • Connect to Facebook server, retrieve user friends. • Share and post trophies user won on his wall. • Implemented using Facebook Graph.