Skip to content
Hernan Quintana edited this page Jun 30, 2015 · 1 revision

Taller Cloud Heroku

Prerrequisitos

  • Descargar la aplicación <ruta>

  • Tener instalado el cliente mongodb.

  • Creación de cuenta en servicio mongolab (https://mongolab.com)

  • Creación de cuenta en servicio heroku

Creación y configuración de base de datos MongoDB

Al verificar su cuenta de mongo, se le dirige a la siguiente página:

cloud1

Crear una nueva base de datos haciendo click en la opción "Create new".

Dentro de la pantalla "Create new subscription", llenar lo siguiente:

  • Cloud provider: Amazon’s US East

  • Seleccionar Single Node y luego la opción de Sandbox.

  • MongoDB version: 2.6.x

  • Database name: ul_alumnos (pueden poner el nombre que crean conveniente)

  • Hacer click en el botón "Create new MongoDB deployment".

Warning
Asegurarse que el Price sea $0 / month
cloud2

Si todo estuvo correcto, se tendrá la siguiente pantalla:

cloud3

Hacemos click en la base de datos ul_alumnos. Con esto se muestra el detalle de la base de datos.

cloud4
  • En la parte superior, se muestran los datos para realizar conexiones.

  • En la parte inferior, se ven las colecciones que tiene la base de datos, así como los usuarios registrados, estadísticas, etc.

Para poder conectarnos desde una aplicación externa (sea un cliente mongo en shell o nuestra webapp), debemos crear un usuario. Para esto hacemos click en la pestaña "Users" y luego el botón "Add database user".

cloud5

En esta pantalla se debe poner el nombre de usuario (ul_alumnos) y su password (ul_alumnos). Posteriormente hacer click en el botón "Create".

Tip
Si es que se chequea la opción "Make read-only", el acceso a la base de datos con el usuario creado solo será de lectura.

Si todo estuvo correcto, se verá lo siguiente:

cloud6

Conexión desde línea de comandos (shell)

Desde línea de comandos (shell) y utilizando los datos de la imagen anterior, poner el siguiente comando:

hernan$ ds031711.mongolab.com:31711/ul_alumnos -u ul_alumnos -p ul_alumnos

Siendo:

  • host: ds031711.mongolab.com

  • port: 31711

  • base de datos: ul_alumnos

Si todo estuvo correcto, se verá el prompt del mongodb.

hernan$ ./mongo ds031711.mongolab.com:31711/ul_alumnos -u ul_alumnos -p ul_alumnos
MongoDB shell version: 2.6.5
connecting to: ds031711.mongolab.com:31711/ul_alumnos
rs-ds031711:PRIMARY>

Ahora procederemos a importar los documentos necesarios para el laboratorio.

Desde la línea de comandos (shell), importaremos los datos de la colección alumnos.json. Para esto, teclear lo siguiente:

hernan$ ./mongoimport -h <host>:<port> -u <usuario> -p <password> -d ul_alumnos -c alumnos --file alumnos.json

Si todo estuvo correcto, saldrá los siguiente:

hernan$ ./mongoimport -h <host>:<port> -u <usuario> -p <password> -d ul_alumnos -c alumnos --file alumnos.json
connected to: <host>:<port>
2015-06-30T14:48:37.691-0500 imported 3 objects

Ahora procederemos a importar la colección carreras.

hernan$ ./mongoimport -h <host>:<port> -u ul_alumnos -p ul_alumnos -d ul_alumnos -c carreras --file carreras.json

Si todo estuvo correcto, saldrá los siguiente:

hernan$ ./mongoimport -h <host>:<port> -u ul_alumnos -p ul_alumnos -d ul_alumnos -c carreras --file carreras.json
connected to: <host>:<port>
2015-06-30T14:56:44.402-0500 imported 3 objects

Configuración de conexión a base de datos MongoDB desde Webapp

Verificar la clase Configuracion y modificar los parámetros con los de su base de datos Mongo.

package pe.edu.ulima.ulalumnos.model;


public class Configuracion {
    public static final String MONGO_USER = "ul_alumnos";
    public static final String MONGO_PASSWORD = "ul_alumnos";
    public static final String MONGO_URI =
            "mongodb://" + MONGO_USER +":" + MONGO_PASSWORD +
            "@ds031711.mongolab.com:31711/ul_alumnos";
}

Subir webapp a la nube (Heroku)

Creación de aplicación dentro de Heroku

Entrar a www.heroku.com y loguearse. A continuación visualizará la siguiente pantalla:

cloud7

Procedamos a crear una nueva aplicación, para esto, hacer click en el "+" que se encuentra en la parte superior derecha.

Tras esto, se mostrará la pantalla de "New App". Llenar con los datos de su aplicación, para luego presionar el botón "Create App".

cloud8
Important
Se sugiere poner un nombre a la aplicación en el campo "App Name", caso contrario, Heroku le asignará un nombre por defecto.

Creación de WAR y configuración de app

Subir webapp a Heroku