Intel AGR Presentation Server
Background
A comienzos de 2006 Intel abrió el Argentina Software Development Center (ASDC), único Centro de Desarrollo de Software de Intel en Latinoamérica, con sede en la ciudad de Córdoba. En la actualidad, el ASDC cuenta con mas de 150 profesionales que trabajan en forma integrada con los otros Centros de Desarrollo de Intel distribuidos en el mundo.
En el año 2007, Neosur se sumó al Intel ® Software Partners Program de Intel, como parte de su estrategia de integración con las grandes empresas de la industria. A partir de esta relación, Neosur comenzó a trabajar junto con el Intel ASDC en la evaluación de proyectos de I+D en temas relacionados con MIDs (Mobile Internet Devices) y aplicaciones para estos dispositivos móviles; y en la actualidad es uno de los partners de mayor participación en trabajos de colaboración con el ASDC.
Desafío
Intel desarrolló y lanzó al mercado en 2009 su store de aplicaciones, denominada AppUp (www.appup.com); esta plataforma permite concentrar aplicaciones desarrolladas para netbooks, table pc y otros dispositivos, donde los clientes puedan consultar catálogos de aplicaciones para luego efectuar compras o descargar las aplicaciones gratuitas.
Entre otros componentes, el cliente de AppUp está conformado por una interfaz gráfica, UX (html5), y un componente llamado Headless Client (HC C++), que actúa como un servidor de información, proveyendo a la intefaz gráfica recursos, tales como datos, archivos (css, html, js, etc) o callbacks necesarios en la UX.
El requerimiento solicitado a Neosur S.A. fue la implementación de un nuevo componente desarrollado en C++ que hiciera de puente entre los componentes UX (Vista) y HC (Backend) vía peticiones RESTful, con la posibilidad de enviar sus respuestas no sólo con formato XML, sino también en formato JSON.
Solución
Neosur diseñó e implementó en C++ una libreria que se acoplaba al HC a fin de facilitar la distribución de la misma a los distintos clientes de AppUp. Con la necesidad de resolver las peticiones mediante Restful (http) se integró un servidor HTTP llamado Mongoose.
La libreria PServer recibe peticiones via HTTP provenientes de la UX. Dependiendo el tipo de petición, puede buscar los recursos locales en el disco, o bien comunicarse con el HC a fin de obtener una respuesta a la petición de la UX. El HC únicamente responde en terminos de XML, por lo que fue necesario desarrollar un parser de XML a Json que permitiera cumplir con el requerimiento de devolver objetos Json para facilitar la integracion con la UX (html5).
Uno de los puntos de mayor complejidad al momento de desarrollo se dió al momento de resolver la forma de controlar los callbacks que la UX puede realizar al HC. Los mismos se resolvieron mediante la integración de WebSockets que permite lograr la comunicación bidireccional necesaria en este caso. Actualmente WebSockets no es un estandar, por lo cual el desarrollo se basó en la implementacion que desarrolla QT de Nokia para esta tecnología.
Para el testing unitario y el entrenamiento del PServer se utilizaron FrameWorks y tecnologías como CxxTest integrando cURL y cURLpp para permitir las llamadas HTTP desde los casos de test.
Entregable
La libería PServer entregada por Neosur fue integrada dentro de la suite del producto, y las funcionalidades requeridas fueron probadas y se encuentran en un proceso de mejora constante.
- Acerca de NEOSUR y el ASDC
- En la actualidad Neosur y el ASDC continúan trabajando en conjunto en varios proyectos. Neosur se encuentra posicionado como un socio estratégico en la cadena de valor del ASDC.
- Acerca de Neosur
- Neosur es una compañía global con demostrada experiencia en el diseño e implementación de soluciones a medida para clientes en todo el mundo. Comprometida con su misión de diseñar e implementar soluciones de alto valor agregado, Neosur se involucra en la problemática de sus clientes para poder diseñar en conjunto las soluciones adecuadas para cada caso.
Últimos casos de éxito
Clientes
--------------------------------------
