Interfaces entre módulos funcionales

interfacesArquitectura

API

Wiring

Gestiona la conexión entre eventos y slots.

Trabaja a nivel de identificadores de variable, no tiene acceso a las varaibles como tal

El wiring define canales que son internos a él. Ningún otro módulo conoce el concepto de canal.

El canal guarda un dato.

Un canal se conecta a otro canal formando estructuras complejas

El wiring debe hacer pesistente la estrucuta de los caneles diseñada con el interfaz de wiring

   resultCode createChannel (name) <<User>>
   resultCode connectSlot (idInstanciaGadget, idSlot, channel) <<User>>
   resultCode disconnectSlot (idInstanciaGadget, idSlot, channel) <<User>>
   resultCode registerSlot (idInstanciaGadget, idSlot) <<VarManager>>
   resultCode connectEvent (idInstanciaGadget, idEvent, channel) <<User>>
   resultCode disconnectEvent (idInstanciaGadget, idEvent, channel) <<User>>
   resultCode registerEvent (idInstanciaGadget, idEvent) <<VarManager>>
   resultCode addInstance (idInstanciaGadget, template) <<OpManager>>
   resultCode removeInstance (idInstanciaGadget) <<OpManager>>
   <<async>> resultCode sendEvent (idInstanciaGadget, idEvento, value) <<VarManager>>

VarManager

Gestiona las variables y la persistencia de su valor

Se encarga de notificar a las instancias de gadgets cuando una variable a cambiado su valor

Las varaibles tiene la función de callback asociada a su cambio

   resultCode writeSlot (idInstanciaGadget, idSlot, Value) <<Wiring>>
   void registerVariable (idInstancia, Variable) <<IGadget>>
   Value get (Variable) <<IGadget>>
   resultCode set (Variable, Value) <<IGadget>>
   resultCode setProperty (Variable, Value) <<DragBoard>>

PersistenceEngine?

Persiste y recupera los valores que se deseen guardar mediante un interfaz REST

   GET (url)
   POST (url, value)
   DELETE (url)
   UPDATE (url, value)

OpManager?

Evita el acoplamiento entre los módulos Wiring, Showcase y Dragboard

Punto centralizado para proporcionar servicios comunes a los módulos

   resultCode addInstance (Gadget) <<Showcase>>
   resultCode deleteInstance (Gadget) <<Dragboard>>

Showcase

Es la paleta personal de cada usuario

Permite crear una instancia de gadget desde su gadget

   resultCode addGadget (url) <<User>>
   resultCode tagGadget (Gadget, [tag]) <<User>>
   resultCode deleteGadget (Gadget) <<User>>
   resultCode repaint () <<User>>
   resultCode updateGadget (url, Gadget) <<User>>
   resultCode addInstance (Gadget) <<User>>

Dragboard

Muestra los gadgets cargados en el entorno operacional

Permite moverlos e interactuar con ellos

   resultCode setupProperty (Variable, value) <<User>>
   resultCode repaint () <<User>>
   resultCode moveInstance (IGadget, Position) <<User>>

Attachments