• No se han encontrado resultados

3. DISENO DEL SISTEMA 444444 

3.2 Módulos del Sistema 565656 

3.2.2 Interacción de Módulos 696969 

En esta sección se describe la interacción de los módulos desde un nivel superior, es decir la interacción entre los componentes del sistema, cómo colaboran entre sí los componentes del lado del cliente y del servidor para el funcionamiento de cada sección de MiPortafolio.

A continuación en la figura 3.3 se describe la interacción de los componentes del lado del servidor.

Los componentes del servidor realizan tareas por sí solos pero también interactúan entre sí para la realización de otras tareas o el cumplimiento de las mismas, es decir se ayudan entre sí para tareas como la obtención de datos para una validación o para llevar una referencia, a continuación describimos estos procesos.

El componente para la gestión de usuarios es aquel que interactúa con todos los demás componentes debido a la necesidad de los demás componentes que deben guardar los registros del usuario que está realizando la acción, es así que los demás componentes piden a éste que les indique qué usuario es el que está guardando o leyendo datos, de esta manera también se valida la seguridad de la acción, en cuanto a permisos del usuario.

El componente para la gestión del perfil, sólo interactúa con el componente de gestión de usuarios de la manera descrita anteriormente, gracias a esta interacción los datos personales, información de contacto, actividades actuales, temas de interés, actividades extracurriculares y metas mantienen una referencia de qué usuario las creo.

El componente para gestión del Currículum interactúa con el componente de gestión de usuarios de la misma manera que el componente de perfil, es así que los datos de los cuales se encarga este componente que son estudios realizados, seminarios y cursos, idiomas, experiencia laboral, dignidades, proyectos realizados y referencias llevan consigo la referencia de qué usuario lo creo, Además este componente también interactúa con el componente para

gestión de RSS, gracias a esto la información del currículum se

puede publicar como un feed, la funcionalidad de exportación a PDF es propia del componente.

El componente para gestión de trabajos es muy similar al componente de gestión de currículum, es decir en cuanto a la interacción con otros componentes trabaja de la misma manera, también interactúa con el componente de gestión de usuarios, gestión de comentarios y con el componente para la gestión de RSS.

El componente para la gestión de comentarios de la misma manera trabaja con el componente para la gestión de usuarios tanto para el registro del autor de un comentario como para determinar a quién va dirigido ese comentario, también interactúa con el componente para

usuario que comenta pertenece a la lista de contactos del usuario, es decir si puede realizar comentarios o no, este componente es usado por los componentes de gestión de perfil, de currículum y de trabajos, justamente para agregarles la funcionalidad para poder realizar comentarios.

El componente para gestión de RSS como antes se mencionó es usado por los componentes de gestión de currículum y trabajos y de igual manera es justamente usado para agregarle la funcionalidad a este par de componentes de publicar como RSS sus datos, y lograr así que cualquier lector de RSS los pueda consumir.

El componente para la gestión de configuraciones interactúa con el componente de gestión de usuarios para llevar a cabo las tareas de seguridad de la acción realizada por el usuario.

A continuación en la figura 3.4 se describe la interacción de los componentes del cliente.

Figura 3.4 Interacción entre componentes del cliente

El componente para la gestión del layout principal interactúa con todos los demás componentes ya que éste se encarga de posicionarlos correctamente a cada uno de esta manera construye todo el diseño y estructura del sitio.

El componente para gestión de las configuraciones del usuario también interactúa con cada uno de los otros componentes del cliente, este componente conoce exactamente si debe o no mostrar a cada elemento de la interfaz dependiendo de la configuración del usuario.

El componente para la gestión del perfil, de currículum, de trabajos, contactos, y de RSS tienen un comportamiento similar, todos interactúan con los componentes de gestión del layout principal y con el componente de gestión de configuraciones del usuario.

Interacción entre componentes del cliente y componentes del servidor

Nuestro sistema al ser una herramienta web mantiene la arquitectura tipo cliente servidor, es decir el cliente envía requerimientos al servidor y este responde con mensajes, es así que nuestros componentes tanto del cliente y del servidor interactúan entre sí, por medio de mensajes HTTP.

Nuestra aplicación al iniciar carga las configuraciones del usuario, esto logra comunicación entre el componente para gestión de las configuraciones del usuario del cliente y el componente para la gestión de configuraciones del servidor, cuando se obtiene la respuesta el componente para gestión de las configuraciones del usuario se encarga de comunicarse con todos los demás componentes del cliente

y enviarles la respectiva configuración para que ellos decidan la tarea que deben realizar.

Cuando cada componente recibe su configuración, empieza a realizar tareas propias, es así que tenemos que los componentes para la gestión del perfil, del currículum, de trabajos, de comentarios, de contactos y de RSS interactúan entre sí tanto los componentes del servidor y en el cliente con el mismo nombre, la tarea de estos es enviar los requerimientos al servidor de presentación, actualización, eliminación e inserción de datos, estos requerimientos también son enviados por medio de eventos activados por el usuario.

Las validaciones se realizan en el lado del servidor, el cliente envía los datos al servidor y éste los valida devolviendo texto en formato JSON en caso de que no existan errores en el formulario, esta respuesta JSON es recibida e interpretada por el cliente.