HHCloud te permite crear una nube de almacenamiento sumamente facil y rapido, con poca configuracion, haciendo uso de su interfaz web, se complementan para poder prestar el servicio, HHCloud consta de 2 partes:
- Servidor: Gestiona las peticiones de el cliente.
- Cliente: Tiene La interfaz adactada a las prestaciones del servidor.
$ git clone https://github.com/Davidc2525/HHCloudBackend.git
$ cd HHCloudBackend
$ mvn compile assembly:single
$ java -cp target/HHCloud-1.0-SNAPSHOT-jar-with-dependencies.jar orchi.HHCloud.Prepare
$ mvn exec:java
Predeterminadamente el host y el puerto donde correra el servicio, es localhost y el puerto 8080, si quieres cambiar de forma rapida el host, o el host y el puerto sin tener que editar la configuración lo puedes hacer de la siguiente manera
...
mvn exec:java -Dexec.args="localhost"
...
mvn exec:java -Dexec.args="localhost 8080"
El servidor presta un servicio de administracion por el puerto 2626, puedes deshabilitar el servicio en el archivo de configuración o cambiar el puerto de escucha
...
#configurar si el servidor de servicio para administracion esta activo o no
admin.adminservice.enable=true
#puerto donde estara activo el servicio administracion
admin.adminservice.port=2626
...
para administrar el servidor se hace uso de un software de escritorio incluido en los paquetes, para ejecutarlo tiens que tener la direccion en donde tienes java instalado para poder hacer uso de unas librerias, tiene que estar el servidor activo para que la herramienta puede iniciarse
java -cp target/HHCloud-1.0-SNAPSHOT-jar-with-dependencies.jar:$JAVA_HOME/jre/lib/ext/jfxrt.jar orchi.HHCloud.HHCloudAdmin.Main
El programa de administracion hace uso de la misma configuración que esta usando el servidor.
SE TIENE QUE USAR LA MISMA CONFIGURACION TANTO PARA EL SERVIDOR COMO PARA EL ADMINISTRADOR.
HHCloud para gestionar la parte de almacenamiento hace uso de un sistema distribuido de archivos HDFS, pero permite usar otros como puede ser el sistema de almacenamient del propio sistema operativo u otros. Dentro del funcionamiento el almacenamiento se abstrae en una interface que permite hacer tus propias implementaciones, dentro del sistema existe 3 implementaciones:
- FsStore: Viene establecida por defecto, hace uso del sistema de archivos del sistema operatvo para almacenar los datos.
- GlusterFsStore: Una implementacion adactada para almacenar los datos en GlusterFs.
- HdfsStoreProvider: Esta implementacion esta basada en el sistema de archivos distribuido HDFS, permitiendo hacer replicacion de los datos, en un cluster de almacenamiento, trae consigo una mayor seguridad de almacenamiento de los datos, para poder hacer uso de esta implementacion tienes que tener configurado un servidor donde este corriendo ese sistema de almacenamiento y editar la configuracion para que pueda hacer uso de el.
...
store.storemanager.storeprovider=orchi.HHCloud.stores.HdfsStore.HdfsStoreProvider
....
HHCloud para la parte de gestion de los usuarios se cuenta con una interfaz para poder hacer tus propias implementaciones, la implementacion por defecto esta preparada para cubrir todo el aspecto de usuarios.
HHCloud para el sistema de gestion de base de datos al igual que los aspectos anteriores cuenta con una interfaz y una implementacion debido a que HHCloud quiere ser un sistema facil y rapido de usar y que mantenga una integracion limpia la implementacion esta montada sobre un administrador de base de datos empotrada Apache Derby se usa como administrador de base de datos, debido a que ayuda a tener el sistema integrado, puedes hacer tus propias implementaciones y editar la configuracion para usar tu propia implementacion. Implementacion por defecto en la configuracion.
...
db.dbmanager.connection.provider=orchi.HHCloud.database.EmbeddedConnectionProvider
...
HHCloud en cierta parte de la gestion de usuario, hace uso de el envio de correos, para eso se describe una interfaz y una implementacion. Tambien puedes escribir tus propiaas implementaciones y usarlas editando la configuracion, existen dos implementaciones con dos proveedores distintos de servicio, uno para Gmail y otro para OutLook, el proveedor por defecto es el que se muestra debajo en la configuracion, hace uso de Gmail para enviar los mensajes por correo.
...
mail.mailmanager.mail.provider=orchi.HHCloud.mail.GoogleGmailProvider
mail.mailmanager.mail.admin[email protected]
...
Puedes editar la configuracion para personalizar el comportamiento y adactarlo a sus necesidades, el archivo de configuración.