En este sentido contamos con eXistdb un motor de Base de Datos que se basa en documentos y no depende de un modelo relacional, de ahí su denominación como NoSQL, a diferencia de muchos motores actuales, este no se basa en JSON y JavaScript si no que depende más del XML, aunque muchos podrán ver esto como desventaja, su misión es totalmente diferente.
¿Qué es eXistdb?
Esta pieza de tecnología es un poco compleja de definir debido a los ámbitos y las diferentes funcionalidades que maneja, ya que en algunos casos puede ser algo totalmente diferente de lo que podemos conocer realmente.
Algo muy interesante es que a pesar que se define como un motor para documentos XML, en la práctica se puede trabajar con casi cualquier tipo de documento, no solo XML, por lo que podemos extraer meta datos de diferentes tipos de documentos y ayudarnos en su almacenamiento y consultas.
Si nos alejamos un poco de concepto de motor de Base de Datos en su sentido tradicional, eXistdb también nos provee de un servidor web de alto rendimiento contra el que podemos ejecutar y consumir peticiones vía REST para poder hacer búsquedas, consultas e inclusive aplicaciones que nos permitan manipular nuestros documentos.
Por último al ser de la licencia LGPL, eXistdb nos da la libertad de poder manipular de forma más libre su código y contenido, además de que con el desarrollo de los años existen miles de complementos y librerías que extienden su funcionalidad gracias a este enfoque filosófico de su licenciamiento.
Instalación
La instalación de eXistdb está hecha para que sea sin complicaciones, sin embargo para llegar a ese punto primero debemos cumplir algunos requisitos, el primero es tener un sistema operativo Windows, MAC OS, o Linux. En segundo lugar debemos tener Java 1.7 o posterior. Generalmente las pruebas que el equipo de eXistdb hace, las hace sobre el entorno oficial de Oracle y también sobre el entorno libre OpenJDK, por lo que podemos esperar compatibilidad máxima en la mayoría de los entornos en los que nos manejemos.
Una vez que hemos cumplido los requisitos anteriores solamente debemos dirigirnos a la página web exist-db.org y proceder al área de descargas, donde podremos hacer click en la última versión disponible.
Esto nos va a proveer de un archivo .jar que es el que contiene todos los recursos necesarios para poder poner eXistdb en funcionamiento en nuestro sistema. Una vez que tenemos el archivo .jar debemos decidir un directorio o carpeta de instalación en nuestro sistema y ahí depositaremos el archivo que recién hemos descargado, luego abrimos una terminal de consola de comandos y escribimos la siguiente instrucción:
java -jar exist-db-setup-xxx.jarDonde las xxx son el número de la versión y revisión que hemos descargado, veamos el ejemplo en la siguiente imagen para mayor claridad:
Esto nos va a levantar una interfaz gráfica que contendrá todos los parámetros para poder configurar eXistdb en nuestro sistema.
El primer paso luego de empezar a instalar es elegir el directorio de instalación, si hemos seguido este tutorial ya lo habremos creado o elegido adecuadamente, es muy importante no instalar en una ubicación como “Program Files” o “Archivos de Programa” en ambientes Windows ya que si no tendremos un conflicto con los permisos del sistema operativo.
Acto siguiente debemos elegir la carpeta donde se debe almacenar los datos del motor de Base de Datos, es decir, es allí dónde irán a parar nuestros documentos una vez empecemos a utilizar la aplicación, normalmente se escoge para ambientes de desarrollo la misma ruta de la instalación, que justamente es la propuesta por el instalador. El cuarto paso es muy importante, veamos que nos propone en la siguiente imagen:
Aquí debemos elegir en primer lugar la contraseña del administrador, por lo que debemos tomar nota y construir un password seguro, hay casos como entornos de desarrollo donde podemos ser un poco más descuidados con esta contraseña, sin embargo siempre es bueno utilizar contraseñas seguras.
Luego se nos pide una configuración de memoria para el servicio, aquí podemos seguir las siguientes recomendaciones:
El próximo paso es la elección de los paquetes a instalar, para efectos de este tutorial vamos a dejar lo que viene por defecto para no complicarnos.
Ya cuando pasemos este paso eXistdb empezará a copiar todos los archivos necesarios en nuestro sistema para poder ejecutarse.
Es muy importante que no haya otra aplicación utilizando estos puertos ya que puede haber un conflicto y estropearse ambas, por ello antes de levantar el servicio de eXistdb debemos verificar navegando a localhost:8080 y localhost:8443 y ver que no tengamos nada en el navegador. Incluso si nuestros conocimientos del sistema operativo dan, podemos hacer una revisión por consola de los puertos en uso y así validar que estos dos que hemos indicado no lo estén.
Iniciando el servicio
Si queremos iniciar el servicio basta con colocar en el directorio de instalación la siguiente instrucción:
java -jar start.jarInmediatamente obtendremos una pantalla indicándonos el inicio de eXistdb, veamos como luce este mensaje en la consola de comandos:
Si navegamos a la ruta localhost:8080, veremos algo como lo siguiente indicando que ya podemos empezar a utilizar eXistdb de forma normal en nuestro sistema:
Es un proceso de instalación bastante sencillo a pesar de la gran complejidad interna que nos ofrece la aplicación. Si queremos detener el servicio únicamente debemos ir al directorio bin de nuestra instalación y utilizar la herramienta shutdown, debemos añadirle el parámetro -p y la contraseña de administrador para poder llevar a cabo la detención efectiva del servicio.
Como vemos la instalación y administración del inicio y apagado del servicio son muy simples de llevar a cabo, a pesar que hay una interfaz gráfica decidimos hacer todo por consola, debido a que en un entorno de producción normalmente es la única vía de acceder a estas herramientas administrativas, es por ello que mientras antes las dominemos mucho mejor.
Con esto finalizamos este tutorial, hemos aprendido a dar nuestros primeros pasos con eXistdb, pasando desde una descripción de lo que hace y como lo hace, hasta una guía detallada de instalación del servicio. Sabemos que esto no es suficiente para entender de qué trata esta gran herramienta, sin embargo todo inicio es difícil, es por ello que al superar el escollo inicial y tener la instalación funcional podremos empezar nuestro camino de investigación hacia donde podremos emplear este motor de Base de Datos y de aplicaciones para nuestro provecho.