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.
El Mundo de Ubuntu en las Redes Sociales
Espero que esta publicación te haya gustado. Si tienes alguna duda, consulta o quieras complementar este post, no dudes en escribir en la zona de comentarios. También puedes visitar Facebook, Twitter, Google +, Linkedin, Instagram, Pinterest, restantes Redes Sociales y Feedly donde encontrarás información complementaria a este blog. COMPARTE EN!