martes, 11 de enero de 2011

TUTORIAL: Desarrollo de aplicaciones para bada (XII)

El servidor bada
Funcionamiento

Para muchos desarrolladores de aplicaciones para móviles, el mayor problema es escoger el lenguaje de programación. Pero aún es mayor cuando el desarrollo implica comunicación entre componentes web como proveedores de mapas (Google, NavTeq, ...), proveedores de servicios sociales (Facebook, Twitter, ...) o servidores de contenidos (Flickr, Picasa, ...). A continuación veremos como trata este tipo de comunicaciones la plataforma bada.


APIs de bada para la interacción dispositivo-servidor

Cuando desarrollas aplicaciones para acceder a servicios asociados a servidores en bada, no es necesario que te preocupes por el lenguaje a utilizar (Javascript, Python, HTML, etc.). En bada, todas las comunicaciones entre los dispositivos y los servidores se realizan mediante APIs de C++.
Por ejemplo, supongamos que queremos verificar nuestra cuenta de Twitter conectándonos al servidor de Twitter mediante el método de autenticación abierta. Utilizando Javascript y el plug-in oauth Javascript (http://oauth.googlecode.com/svn/code/javascript/) puedes escribir las siguientes líneas de código:


Pero en la plataforma bada, lo único que debes escribir es lo siguiente:

Osp::Social::Services::SnsAuthenticator* pAuthenticator; 

pAuthenticator->Authenticate(L“twitter”, L”YourConsumerKey”,L”consumerSecretKey”);

Con el ejemplo anterior te puedes hacer una idea del funcionamiento de las APIs C++ de bada para la comunicación con servidores de terceros. Para servicios como Social, Remote Landmark Store y Content, los desarrolladores se comunican directamente con el servidor bada, pero para otros servicios como SNS Gateway y Location, el servidor bada actúa de intermediario entre el dispositivo y servidores de terceros.


Interacción entre el servidor bada y los servidores de terceros mediante APIs abiertas 

En la plataforma bada, el servidor bada se comunica con servidores de terceros mediante APIs abiertas, de manera que ambos extremos puedan consultar y gestionar recursos. Los desarrolladores pueden utilizar una API nativa simplificada para gestionar listas de contactos de sitios SNS famosos como Twitter o Facebook. El servidor bada se encarga del trabajo más engorroso en las conexiones. Además, al ser escalable, en el futuro se podrán añadir más servicios.

NOTA: el gateway SNS se utiliza principalmente para consultar información de contactos de proveedores de servicios sociales de terceros. Para otras funciones, como seguir en Twitter, tienes que utilizar conexiones HTTP y el parser XML proporcionado por bada

La siguiente figura muestra, a grandes rasgos, los servicios asociados al servidor bada. Lo único que los desarrolladores de aplciaciones necesitan conocer son las APIs C++ nativas.
 

Ahora veamos como funcionan las APIs abiertas en el servidor bada. Normalmente las aplicaciones cliente utilizan APIs de tipo Representational State Transfer (REST) para comunicarse con los servidores web, lo que significa que las llamadas se realizan sobre HTTP (GET, POST, ...) al servidor.
Es muy difícil para una aplicación cliente interoperarar con diferentes servidores, ya que cada uno utiliza un conjunto de APIs REST. Pero con el servidor bada como mediador, no es necesario utilizar ninguna API REST, simplemente se utilizan APIs C++ nativas. El servidor bada se ocupa de hacer llamadas a servidores de terceros.
Mediante el servidor de mapas deCarta, bada puede proporcionar a tus aplicaciones servicios de mapas que incluyen cálculo de rutas, servicio de directorios, etc.


Vía: Introduction to bada - A developer's guide

No hay comentarios:

Publicar un comentario