Conociendo Facebook…

By choka

Pasó bastante tiempo desde que puse la primera entrada, ahora ya con mucho tiempo libre y antes de que se me olviden las cosas voy a empezar a hablar sobre como desarrollar una aplicación para Facebook (r) utilizando servlets creados con Java.

Primero que nada Facebook permite desarrollar aplicaciones creadas por nosotros (usuarios) para otros usuarios y esto es fácil de hacer, para esto hay que entender como funciona. Sugiero, recomiendo y si pudiera los obligaría a leer el Wiki de Facebook acerca de este procedimiento de crear aplicaciones.

http://wiki.developers.facebook.com/index.php/Creating_your_first_application

Leer este documento aclarará muchas dudas y también hará entender mejor algunas cosas que aquí daré por hecho que se entienden.

El primer paso en el desarrollo de aplicaciones basadas en Facebook es añadir una aplicación llamada Developer ;) , esta aplicación es propia de Facebook y nos permite configurar las opciones y características de las aplicaciones que vamos a desarrollar.

http://www.facebook.com/developers/

Nosotros estaremos utilizando Java como lenguaje (en mi caso uso J2SE 1.5 y el J2RE 1.5), es entonces necesario bajar la API propia de Java desde AQUI.

update:

esta API que solía ser la oficial, aún funciona, sin embargo se descontinuarán algunos métodos y Facebook no da soporte a esta API, para ver/usar una nueva API con soporte al día, les recomiendo este vínculo:

http://code.google.com/p/facebook-java-api/

Ahora tenemos instalada la aplicación “Developer” y tenemos la API de Java, ¿qué sigue?, entender que es lo que queremos hacer.

Hay dos tipos de aplicaciones que podemos desarrollar “desktop” y “web”, en este caso voy a hablar sobre aplicaciones web. Si desean entender como funciona una aplicación tipo “desktop” recomiendo que prueben, compilen y entiendan la aplicación de prueba que se incluye en el archivo ZIP junto con la APl.

Para aplicaciones WEB el proceso es un tanto complicado a veces de entender; Facebook no guardará su aplicación en sus servidores, no se “subirá” en algún momento o se ejecutará (por así decirlo) directamente dentro de la página. Para entender esto les presento el siguiente diagrama:

El servidor donde se hospeda la aplicación” es un servidor que van a necesitar para hospedar su aplicación (sus servlets) y su base de datos si es necesaria esta, este servidor debe estar correctamente configurado para poder interpretar los servlets (un servidor tomcat). “Facebook” es el servidor de la plataforma y la máquina del “Usuario de Facebook” es la computadora de cualquiera de nosotros que quiere hacer uso de la aplicación.
El procedimiento es el siguiente:

  1. El usuario hace una petición a Facebook de mostar la aplicación X.
  2. Facebook solicita al servidor que le mande el contenido de la aplicación.
  3. El servidor que hospeda la aplicación manda el contenido que interpretará Facebook. Este punto es importante, Facebook entiende o interpreta un lenguaje llamado FBML (Facebook Markup Language) y algunas etiquetas de HTML (http://wiki.developers.facebook.com/index.php/FBML).
  4. Facebook una vez que interpreta el contenido lo muestra al usuario.

Como se darán cuenta es necesario entonces contar con un servidor que almacene nuestra aplicación o de lo contrario buscar una página que redireccione una dirección fija a nuestra PC (www.dyndns.com). Es así como funciona Facebook y es así como se debe de entender el proceso antes y durante la programación de la aplicación WEB.

Existe también la posibilidad de crear 2 tipos de aplicaciones Web:

  1. Una aplicación que se vea y se sienta completamente integrada con Facebook, que use bototes y formas propias de la plataforma.
  2. Una aplicación que se muestre dentro de un iframe en Facebook (que es lo que la mayoría de aplicaciones hace). Facebook solamente muestra el marco o iframe y el contenido dentro de este es un tanto independiente de la plataforma.

En este blog voy a hablar acerca de aplicaciones web integradas con la plataforma, no creadas con iframes.

Tags: ,

2 Responses to “Conociendo Facebook…”

  1. entrepixeles Says:

    Que tipo de Base de Datos usa FaceBook ?

  2. choka Says:

    Te refieres a ¿internamente?, si es así no lo sé. Puedes usar su FQL (Facebook Query Language) para realizar consultas dentro de su base de datos (ver). Si te refieres a que si usa una base de datos donde tu puedas guardar tus propios datos, no es así, tu debes almacenar tus datos dentro de una base de datos en el servidor donde se encuentran tus servlets o en algún otro lado, nada es guardado dentro facebook.

Leave a Reply