Archivos en la Categoría: Ivalo

Hasta ahora no hemos hablado de una las decisiones principales del proyecto: la tecnología/s a utilizar.

Ya de partida suponemos que se van a utilizar varias, ya que hay partes muy distintas, así que la herramienta ha de ser potente, multiplataforma y versátil, es decir que permita comunicarse con otro tipo componentes escritos, quien sabe, en otro lenguaje más específico y mediante tecnologías muy diversas (servicios web, remoting…)

Con todo ello, para la creación del Core (que es la parte inicial del proyecto) hemos ido hacia dos posibilidades: plataforma Java y plataforma .Net/Mono.

Ambas son conocidas por todos y con multitud de herramientas y paquetes extras o extensiones, pero al final la opción elegida ha sido .Net/Mono. La razón: tiene toda la potencia que necesitamos, es una plataforma en la que ahora mismo nos encontramos más cómodos que en java y nos permite acceder a extensiones externas que hoy por hoy desconozco si existen en Java (como interfaces xaml). De todas maneras no me extrañaria la utilización de Java en algún otro lugar del sistema.

Para la programación sobre esta plataforma se va a utilizar c#. (lo de c++ en modo protegido es para locos, y lo de visual basic… no merece ni comentarlo :) )

Java | Java Developers

Mono | Proyecto mono

.Net | Microsoft .NET Framework

La idea del post es aclarar cuales son los posibles escenarios de trabajo de iValo, para definir su esquema funcional de conexiones y sus métodos de instalación.

Ni la base de datos ni, por supuesto, la biblioteca son tenidas en cuenta a la hora la definición de los escenarios, ya que pueden (o mejor dicho deben) existir fuera del ámbito directo de iValo, es decir, se puede acceder a ellas de manera aislada.

Escenarios

  • E1: instalación completa en estación de trabajo. [WC] Es el escenario más real, el que será más utilizado por un simple tema de recursos (es más complicado encontrar usuarios con un servidor dedicado en casa)
  • E2: instalación sin servidor web (sin control remoto) en estación de trabajo. [WP]. iValo pasaría a ser una especie de player completo. Evita la instalación de un servidor http y su funcionamiento como servicio
  • E3: instalación en modo cliente – servidor [CS]. Es la instalación idónea, la más cercana al objetivo que se quiere conseguir de un sistema doméstico de audición.

En cualquiera de los escenarios, será necesaria la instalación obligatoria del player en cada una de las máquinas existentes.

En este gráfico se puede observar un esquema general del funcionamiento de iValo

Esquema general iValo

(pincha en la imagen para verla más grande)

donde se muestran:

  • Conexiones con volúmenes donde se almacena la discoteca. Estos volúmenes pueden ser internos o externos
  • Sincronización con dispositivos portatiles de audio
  • Conexión con CD/DVD/BlueRay para la creación/restauración de copias de seguridad o conversión automática de CD-Audio a mp3/ogg
  • Salida a servidor web para el uso vía wifi del sistema mediante dispositivo móviles (funcionalidad mando a distancia)
  • Conexión a Internet para la obtención de datos sobre las canciones: letras, CDDB para la automatización del ripeo, escucha de emisoras de radio
  • Salida de audio para al escucha de la música

Además se modeliza iValo en cuatro bloques:

  • iCore: kernel del sistema. Soporta todas las funcionalidades comunes
  • iWeb: gestiona la web interna para la conexión con dispositivos externos
  • iCM: programa cliente que permite la gestión y configuración de todo el sistema
  • iRobot: robot que realiza las labores de mantenimiento de la discoteca