Contenido


Cree servicios back-end de nube en IBM Cloud para construir aplicaciones móviles y de web rápidamente

Comments

El proceso de desarrollo de la aplicación móvil es altamente iterativo y de rápido ritmo, con un énfasis en la creatividad front-end. Los desarrolladores móviles tienen poco tiempo, o incluso habilidades para dedicarse a construir servicios de infraestructura y back-end. Afortunadamente, estas restricciones en los desarrolladores móviles se están resolviendo con la reciente popularidad de PaaS. PaaS ofrece un rico conjunto de servicios con la flexibilidad para cablear servicios de soporte rápidamente tales como bases de datos, analítica, seguridad y DevOps, minimizando el tiempo que los desarrolladores móviles tienen que ocupar construyendo el back-end. Lo que es más importante, estos servicios pueden migrarse fácilmente de un arenero de desarrollo a un ambiente de producción en la nube sin tener que dejar las comodidades de un navegador o una ventana de línea de comando.

Siendo un conocedor de vinos, decidí crear una simple aplicación móvil que guardó una lista de mis vinos favoritos. También quise que fuera capaz de hacer búsquedas en la lista y desde luego ser capaz de editar, agregar y remover las capturas para mantenerlo actualizado y listo para impresionar a mis amigos.

Obtener el código del proyecto Worklight Obtener el código de la aplicación node.js

Después de escuchar el anuncio de IBM PaaS denominado IBM Cloud, yo quería determinar si podía mejorar mi productividad con esta nueva plataforma. Dado que soy un conocedor de vinos, decidí crear una simple aplicación móvil que guardara una lista de mis vinos favoritos. También quería ser capaz de hacer búsquedas en la lista y desde luego ser capaz de editar, agregar y remover registros para mantenerla actualizada y lista para impresionar a mis amigos.

Dado que soy propietario de un teléfono Android y de un Apple iPad, opté por crear una aplicación que pudiera correr en dispositivos múltiples. Al empezar mi camino creativo, pensé qué herramienta me ayudaría más a lograr mi objetivo. IBM ofrece una plataforma de desarrollo móvil denominada IBM Worklight® que permite que los desarrolladores construyan tanto sus aplicaciones móviles híbridas como nativas. En mi caso, sentí que una aplicación de web híbrida era más apropiada porque su enfoque es “escriba una vez y córrala en cualquier dispositivo” ¡IBM Worklight era la herramienta perfecta para el trabajo!

Después, necesitaré una base de datos para guardar mi colección de vino para realizar las operaciones típicas de Crear (Create), Leer (Read), Actualizar (Update), Borrar (Delete) (CRUD), incluyendo la búsqueda de texto. Vi el catálogos de servicios de IBM Cloud y descubrí un host de servicios de administración de datos En relación con otras bases de datos NoSQL, Cloudant pareció ser una buena elección para las aplicaciones móviles dado que su integración de almacenamiento fuera de línea con PouchDB y una analítica superior.

Con la base de datos seleccionada ahora yo tenía que considerar una capa de interfaz de datos para mediar entre mi aplicación móvil y la base de datos Cloudant. Dada mi familiaridad con JavaScript y un deseo de mantener homogéneo su lenguaje de programación sentí que Node.js sería la elección más apropiada para una plataforma de ejecución. Al sentirme cómodo con mis elecciones pude construir mi aplicación móvil con Cloudant, Node.js y Worklight.

Este artículo le muestra la forma paso por paso de crear y desplegar servicios de nube back-end en IBM Cloud y construir aplicaciones móviles y de web rápidamente ¡Empecemos!

Lo que necesita para construir su aplicación

  • Una cuenta IBM Cloud para crear y acceder a los servicios Cloudant y Node.js
  • Cualquier IDE de su elección para desarrollar código Javascript, específicamente Node.js
  • Herramientas de prueba REST como cURL, o Advanced REST Client (una aplicación Google Chrome)
  • Worklight Studio for Developers v6.1

Paso 1. Cree un tiempo de ejecución de una aplicación Node.js en IBM Cloud

  1. Inicie una sesión en IBM Cloud.
  2. Haga clic en Agregue una aplicación para ver el catálogo de servicios.
  3. Haga clic en Node.js bajo Runtimes.
  4. Haga clic en CREATE APP.
  5. Llene los detalles en Finish agregando el panel Node.js. Seleccione un espacio (el predeterminado es "dev") y capture el nombre de una aplicación y host. Después haga clic enCREATE.

Ahora ya se creó la aplicación y deberá estar disponible en su Tablero. Si hace clic en la miniatura, se le llevará a la sección de generalidades. Aquí puede monitorear el tiempo de ejecución Node.js, haga cambios a la configuración de memoria, ver la documentación o vincular otros servicios y adiciones.

Paso 2. Cree y vincule un servicio Cloudant

  1. En la sección de generalidades (Overiew) de la aplicación Node.js recién creada, haga clic en Agregue un servicio .
  2. Esto lo lleva al catálogo. Haga clic en Cloudant JSONDB bajo la sección Data Management.
  3. En el desplegable subsecuente, haga clic en CREATE AND ADD TO APP.
  4. Llene los detalles en Finish agregando el panel Cloudant JSONDB. Seleccione el espacio y el nombre de la aplicación que creó en el Paso 1.5. Puede cambiar el nombre del servicio predeterminado si lo prefiere. También introduzca la información de su cuenta Cloudant. Si aún no tiene una cuenta Cloudant, haga clic en el vínculo de registro. Después del registro, escriba el URL y credenciales que se crearon durante el registro.
  5. Una vez que se agregue el servicio, se le ha redirigido a la sección de Generalidades y su servicio Cloudant recién creado aparece bajo la sección de Servicios. Si hace clic en la sección Quick Doc , puede ver Instantiation Credentials en una estructura JSON. Ahora cualquier aplicación en IBM Cloud ligada a esta instancia puede usar este servicio para conectarse a su base de datos Cloudant.

Paso 3. Poblar la base de datos Cloudant

Se necesitan dos archivos del repositorio del código del proyecto Node.js en DevOps Services. El archivo wines.json contiene una lista de vinos muestra y el archivo winesearch.design contiene el código MapReduce para indexar los documentos para la búsqueda.

Ahora puede poblar la base de datos Cloudant usando los contenidos de estos archivos. A pesar de que puede usar cURL, es más fácil ilustrar las llamadas REST API usando una herramienta visual como la aplicación Advanced REST Client de Google Chrome que está disponible en la tienda Chrome app store.

  1. Primero agregue por volumen los documentos de vino con una solicitud de POST a https://<cloudant_url>/<db>/_bulk_docs. El cuerpo de las cargas útiles deberán incluir contenidos del archivo wines.json y "Content-Type" del encabezado de la solicitud deberá establecerse en application/json.

    Aquí tiene un ejemplo de uso del cliente Advanced REST (en Chrome):

  2. Después, agregue el diseño de MapReduce con una solicitud PUT para https://<cloudant_url>/<db>/_design/<design name>. Le puede dar cualquier nombre significativo para el nombre del diseño, por ejemplo winesearch. Copie y pegue los contenidos del documento winesearch.design al área de carga útil

    Aquí tiene un ejemplo del uso de Advanced REST del cliente (en Chrome):

  3. Ahora inicie la sesión en su tablero Cloudant para confirmar si creó su diseño y todos sus documentos bajo la base de datos correcta.

Paso 4. Vea y modifique el código Node.js

  1. Extraiga la carpeta de vinos del proyecto del repositorio node.js. Vea los contenidos de los archivos.
  2. Edite el archivo manifest.yml. Reemplace el nombre del servicio Cloudant JSON-b3 con el nombre generado por IBM Cloud de su servicio Cloudant. Cambie el valor del host para reflejar el host correcto. También modifique el nombre de la aplicación para igualar la aplicación Node.js en IBM Cloud.
  3. Edite el archivo package.json. Cambie el valor del nombre para igualar la aplicación Node.js en IBM Cloud.
  4. Edite el archivo cloudantDB.js bajo la carpeta de rutas. Cambie todos los valores marcados dentro de los corchetes (< >) para reflejar su ambiente.

Paso 5. Despliegue el código Node.js a IBM Cloud

  1. Inicie una sesión en IBM Cloud vía la línea de comando. Si no ha usado IBM Cloud para desplegar las aplicaciones Node.js con anterioridad empiecen por lo siguiente: tutorial. Los comandos aquí lo asisten en algunos de los requisitos previos de una sola vez, incluyendo las configuraciones de inicio de sesión.
  2. En la línea de comando, navegue en el directorio de vinos para emitir los comandos IBM Cloud (cf) para desplegar su código.
  3. Para desplegar la aplicación, emita el siguiente comando:
     cf push <appname>
  4. Una vez que se ha iniciado la aplicación, puede verificar que se ha desplegado emitiendo el siguiente comando:
    cf app <appname>

Paso 6. Pruebe su despliegue IBM Cloud

Emita una consulta GET de cURL o cliente Advanced REST de Chrome. Una transacción exitosa deberá devolver un documento JSON con un código HTTP de 200.

Pruebe la conectividad de REST a la base de datos Cloudant

  1. Inicie la sesión en Cloudant a través del navegador Chrome.
  2. En una diferente pestaña (mismo navegador), emita una solicitud GET HTTP a la base de datos Cloudant. Este enfoque guarda las credenciales de inicio de sesión de Cloudant al caché de cookie del navegador, ahorrándole el trabajo adicional de poblar los encabezados de Basic Authentication en el cliente REST. La sintaxis URL para la consulta GET es https://<url_to_cloudant>/<db_name>. La respuesta es un documento de estatus JSON. Asegure que dentro de la respuesta de carga útil dentro del valor doc_count está 8. Aquí se muestra un ejemplo:

Pruebe la conectividad REST a la aplicación Node.js en IBM Cloud

  1. Abra el cliente Advanced REST en Chrome
  2. Emita una solicitud GET HTTP a la aplicación hospedada de IBM Cloud. La sintaxis de la solicitud es http://<application_url>/wines. La respuesta correcta es un documento JSON conteniendo una lista de vinos y un Código HTTP de 200. Aquí se muestra un ejemplo:

    Nota: Podría preguntarse por qué la respuesta contiene una cuenta de fila total de 9. Esto es porque hay una fila adicional que contiene el documento del diseño de búsqueda. Para propósitos de nuestra aplicación puede ignorar esto por ahora.

Paso 7. Importe y modifique la aplicación Worklight

  1. Con el código back-end desplegado y verificado, ahora puede importar la aplicación muestra de Worklight en Worklight Studio. Este tutorial lo lleva la mano a través de los pasos para descargar e instalar Worklight Studio for Developers v6.1.
  2. Importe el archivo del proyecto Worklight BlueMixProject.zip, del repositorio del código Worklight a su espacio de trabajo de Worklight Studio.
  3. Edite el archivo CloudantAdapter.xml.
  4. Cambie el valor de domain para equiparar el URL de la aplicación IBM Cloud.
  5. Haga un clic derecho en BlueMixProject->adapters->CloudantAdapter y haga clic en Run As->Deploy Worklight Adapter.
  6. Haga un clic derecho en BlueMixProject->apps->WinesApp y haga clic en Run As->1. Corra Worklight Development Server. Esto inicia el servidor de desarrollo local Worklight antes de que despliegue el adaptador. Si le interesa aprender más sobre las funciones del adaptador de Worklight, visite Generalidades de los adaptadores IBM Worklight .

Paso 8. Pruebe su aplicación Worklight Sample

  1. Ahora está listo para probar la aplicación móvil en el emulador del navegador móvil de Worklight. Haga clic en BlueMixProject->adapters->WinesApp y haga clic en Run As->3. Vista previa
  2. El seleccionar Preview invoca la ventana del navegador de internet y despliega la página de lanzamiento de la aplicación (en este caso, WinesApp).

Conclusión

¡Allí lo tiene! Con 150 líneas de código (sin incluir la aplicación de Worklight), hemos construido un servicio back-end corriendo en Node.js con una base de datos Cloudant. La facilidad y la simplicidad con la que desplegamos esta aplicación aumentaron nuestra productividad por una orden de magnitud, ahorrándonos incontables horas. Este enfoque de desarrollo basado en la nube con IBM Cloud ofrece la ruta más corta para construir la siguiente gran aplicación móvil.


Recursos para Descargar


Comentarios

Inicie Sesión o Regístrese para agregar comentarios.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Cloud computing, Desarrollo móvil
ArticleID=980265
ArticleTitle=Cree servicios back-end de nube en IBM Cloud para construir aplicaciones móviles y de web rápidamente
publish-date=02272018