CouchDB (Parte I)

Luego de una laaaarga temporada sin entradas nuevas, comenzamos el 2014 con ésto😀

Como saben soy usuario de MongoDB (hasta tengo un diploma para Java😀 ) pero siempre quiero aprender nuevas tecnologías, en éste caso relacionadas con las BDs -> Documentos.

Fue así como llegué a CouchDB😉

Pueden instalarlo en sus equipos, o usarlo desde la internes con Cloudant Captura de pantalla 2014-01-18 a la(s) 18.17.14 (de aquí en adelante, todo lo hago por Cloudant, no por cliente “instalable”)

Para usar Cloudant deben registrarse. El “hosting” es gratis hasta que nuestras BDs comiencen a pedir más gears (openshift style).

Entonces, empezamos conectando a Cloudant desde Java. Para eso, vamos a ocupar LightCouch . Lo podemos instalar desde Maven, siguiendo: Captura de pantalla 2014-01-18 a la(s) 18.30.34Y listo, lo tenemos agregado.

Ahora, imaginemos que tenemos un registro de usuarios con 3 campos: Captura de pantalla 2014-01-20 a la(s) 0.06.14Y queremos registrar los usuarios en CouchDB (por Cloudant). Empezamos por crear el POJO simple con los 3 campos + la fecha de registro.

public class Usuario {

    private String Nombre,
        Pass,
        Mail;
    private Date FechaRegistro;

    public Usuario(String nombre, String pass, String mail) {
        Nombre = nombre;
        Pass = pass;
        Mail = mail;
        FechaRegistro = new Date();
    }

    public String getNombre() {
        return Nombre;
    }

    public void setNombre(String nombre) {
        Nombre = nombre;
    }

    public String getPass() {
        return Pass;
    }

    public void setPass(String pass) {
        Pass = pass;
    }

    public Date getFechaRegistro() {
        return FechaRegistro;
    }

    public String getMail(){
        return Mail;
    }

    public void setMail(String mail){
        Mail = mail;
    }

    public void setFechaRegistro(Date fechaRegistro) {
        FechaRegistro = fechaRegistro;
    }
}

Eso hasta ahora. Para que sea corto😛 lo insertamos directamente desde nuestro servlet (o lo que sea que estén usando).

Primero, la información para conectarse al servidor (cloudant en mi caso):

CouchDbClient dbClient = new CouchDbClient(
  "cajamonte", //nombre BD
   true, //crear la BD si no existe
   "http", //protocolo: http o https
   "mariocares.cloudant.com", //host
    5984, //puerto
    "mariocares", //usuario
    "123456" //contraseña
); 

Y con esto ya estamos conectados. Siempre esto en un try/catch para ver por qué NO pudimos conectar.

Insertamos un registro:

Response resp = dbClient.save(
  new Usuario(
    request.getParameter("txt_usuario"),
    request.getParameter("txt_email"),
    request.getParameter("txt_pass")
  )
);

Mostramos el ID y Rev generados

out.write("<h1>Insertado con ID: " + resp.getId()+"</h1>");
out.write("<h2>REV: " + resp.getRev()+"</h2>");

Listo ! es así de simple😀 Captura de pantalla 2014-01-20 a la(s) 0.47.35Y en Cloudant Captura de pantalla 2014-01-20 a la(s) 0.49.20Como documento Captura de pantalla 2014-01-20 a la(s) 0.50.52Eso por ahora😉

Acerca de MaritoCares

Ingeniero Informático. Con tendencias a la programación en [C#, VB].NET, Java(Web principalmente...), PHP, JavaScript, algo mínimo de [ruby, python], y el clásico C.
Esta entrada fue publicada en CouchDB, Java, Tutoriales y etiquetada , , . Guarda el enlace permanente.

4 respuestas a CouchDB (Parte I)

  1. Jeans Styles dijo:

    Saludos… Que tal…
    Muy buen Tutorial…
    Aunque… no sé cual Framework puedo utilizar en Java…
    Quisiera usar uno para RESTful… Como el Slim Framework de PHP…
    Te agradecería que me contestaras…
    Gracias…!

  2. Mariano dijo:

    Como accedo a Couchdb desde javascript, he leido algo de Pouchdb, puede ser?
    Saludos.

    • MaritoCares dijo:

      En teoría, como CouchDB es su propio “cliente” no necesitas ningún driver para la conexión desde JavaScript. En otras palabras, debería ser posible conectarse desde una página cualquiera sin necesidad de pasar por un servidor.
      Si estás en Node.js, el tema debería ser igual.

      PouchDB tengo entendido que es una especie de BD local que se sincroniza con un CouchDB en algún servidor. Algo así como para trabajar offLine.

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