Empezando a definir el servidor

Una vez que la app Android está 100% operativa, llevo bastantes días metido de lleno en el servidor. Los últimos retoques que le faltan a la app Android (cositas de diseño que quedarían mejor de una forma que de otra, y pequeños bugs controlados) los está dando poco a poco el colaborador externo nuevo: Josué.

Por mi parte, he estado estos últimos días definiendo e implementado el servidor que será el encargado de guardar todas las Qdadas y permitir la comunicación (mediante las notificaciones push de Google Cloud Messaging) entre los distintos usuarios de la plataforma. Para ello, estoy definiendo un back-end lo más minimalista posible. Haciendo uso de node.js y de express.js, estoy creando la infraestructura de APIs para comunicar la app Android con el Servidor. Para el lado de la base de datos, estoy usando MongoDB en el servidor, por su mátiz de no ser relacional y por su perfecta sincronía con Node.js. También tendré que crear la infraestructura necesaria para hacer las llamadas desde la app Android al Servidor y esperar por las respuestas adecuadas sin que le afecta a la usabilidad del usuario.

Para trabajar con Node.js, no estoy utilizando ningún IDE tocho, sino que estoy haciendo uso de Sublime Text… canelita fina. El mundo de plugins que se pueden instalar en este liviano editor es todo una gozada. ¡Qué grande es la comunidad!

Respecto a la BBDD y a MongoDB, os dejo con una captura de pantalla de la clase Qdada, que en su día también definimos en Android y os mostré. Para que veais la diferencia de usar Java y MySQL en Android (con un ORM que abstrae mucho) y usar JavaScript y MongoDB con Node.js (con otro ORM que es una autentica pasada: Mongoose). Todos estos modulos extras de Node.js que estoy usando, podeis echarles un vistazo en el README del repositorio en GitHub donde los nombre y os enlazo a su código fuente. ¡Aprovechad insensatos!. Como os decía una captura de pantalla de la clase Qdada de la BBDD del servidor:

Definición de la Clase Qdada que se almacenará en MongoDB

Definición de la Clase Qdada que se almacenará en MongoDB

 

Referente a los web services, el trabajar con Express.js, no me cansaré de decirlo, es una gozada. En un par de líneas puedes definir el método POST o GET o cualquier otro que quieras implementar en tu servidor. A modo de ejemplo os muestro los web services que tengo creados, de momento son 4: 3 POST y 1 GET. Y podemos ver en la captura como el GET hace referencia a una función que aparece definida y que en un par de líneas devuelve a quien consuma dicho servicio web los datos actualizados de una Qdada específica que determina el identificador pasado por la URL del Web Service.

Definición de Web Services de tipo REST

Definición de Web Services de tipo REST

 

Y esto es todo, os dejo como siempre con el commit correspondiente a esto que os he explicado: Commit.

¡Sed Felices!

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s