40 likes | 139 Views
Explore architectural overview of Google Technologies for web development, covering server-side data management, client-server communication, synchronization, & more. Learn about implemented methods, push messaging, and cron jobs.
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.