Skip to content

HHCloudBackend, sistema de almacenamiento en la nube, aplicacion de servidor para HHCloud

License

Notifications You must be signed in to change notification settings

Davidc2525/HHCloudBackend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HHCloud server

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.

Uso

$ 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

solo host

...
mvn exec:java -Dexec.args="localhost"

host y puerto

...
mvn exec:java -Dexec.args="localhost 8080"

Administracion

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.

Almacenamiento

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
....

Gestion de usuarios

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.

Base de datos

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
...

Envio de correos

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=hhcloud25@gmail.com
...

Configuracion

Puedes editar la configuracion para personalizar el comportamiento y adactarlo a sus necesidades, el archivo de configuración.