ff-multiconverter, multimedia, audio, video, linux, ubuntu ubuntu kylin, china, releases, linux terminal, ubuntu, linux, comandos, shell conky, gadgets, ubuntu, linux SpeedTest-Cli, velocidad, red, consola, terminal tag foto 6 pinta, grafica, linux, ubuntu djl, juegos, yum, synaptic, paquetes ubuntu, releases, canonical psensor, ubuntu, linux, sistema, monitor

Desarrollo de Videojuegos Sociales y Móviles (4a parte): Back-end.

 La capa de servicios del juego puede ser implementada usando lenguajes del lado del servidor (Java, PHP, C#) y pueden ser expuestos a través de protocolos binarios de comunicación (ej: AMF de Adobe Systems) o basados en HTTP (REST, SOAP).


Back-end

En la actualidad, destaca el uso del servidor Node.js, el cual permite desarrollar aplicaciones altamente escalables usando Javascript, empleando una arquitectura orientada a eventos. Además, cuenta con la capacidad de extender su funcionalidad base mediante módulos que se le pueden ir incorporando.
Junto a esto, para permitir escalabilidad del back-end, alta disponibilidad y una gran capacidad de almacenamiento puede hacerse uso de tecnología basada en Cloud Computing. En la modalidad PaaS (Platform as a Service) puede usarse una plataforma que ya viene predeterminada con hardware, redes, sistema operativo y servidor de aplicaciones. Tal es el caso de Microsoft Windows Azure, el cual provee un sistema operativo Windows Server el cual ofrece almacenamiento de tipo relacional (SQL Azure) y no relacional (table storage, blobs, queues).
A su vez, en la modalidad IaaS (Infrastructure as a Service) pueden realizarse modificaciones al sistema operativo, servidor de aplicaciones y otras configuraciones de infraestructura. Un ejemplo de esto es la plataforma Amazon Web Services, la cual ofrece máquinas virtuales de Linux, Windows y permite establecer el servidor de aplicaciones a usar (ej: Tomcat, Jetty).
A nivel de persistencia, los grandes volúmenes a manipular por una aplicación social pueden ser controlados usando mecanismos de almacenamiento distribuido y no relacional, tales como MongoDB (base de datos de tipo NoSQL) y Table Storage de Windows Azure. A su vez, existen soluciones complementarias como Memcached, la cual permite agregar una capa de caché distribuida que almacena y recupera objetos serializados en memoria RAM, disminuyendo así el acceso a los repositorios persistentes cuyo acceso es generalmente más lento y caro.
Con respecto a la capa de integración a redes sociales, cada una de estas redes provee un conjunto de APIs en distintos lenguajes para poder interactuar desde aplicaciones hechas por terceros. Facebook provee una SDK oficial para programar en Javascript, PHP y dispositivos móviles (iOS y Android). Junto a esto, redes sociales como Orkut y Hi5 utilizan la API de la especificación OpenSocial para acceder a sus datos y funcionalidades mediante Javascript.
Finalmente, la capa de análisis de datos puede implementarse usando el servicio Google Analytics, el cual permite definir una serie de métricas y categorías que se van nutriendo de información a través de llamadas HTTP enviadas desde el front-end o back-end. En caso que se desee una solución más específica para capturar eventos de redes sociales existe el servicio ofrecido por Kontagent, el cual permite registrar invitaciones, publicaciones y datos demográficos entre otros.

0 comments:

No insertes enlaces clicables, de lo contrario se eliminará el comentario. Si quieres ser advertido via email de los nuevos comentarios marca la casilla "Notificarme". Si te ayudé con la publicación o con las respuestas a los comentarios, compártelo en Facebook, Twitter, Tumblr, Google +, Pinterest o Instagram. Gracias.