15
Ministerio del Poder Popular para Ciencia, Tecnología e Industrias Intermedias Centro Nacional de Tecnologías de Información SINAPSIS Documento de Arquitectura del Sistema Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0 Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas. Telf. +58 (212)- 578.59.92 / 507.21.11 Sitio Web: www.cnti.gob.ve 1 de 15

SINAPSIS Documento de Arquitectura del Sistemaforja.softwarelibre.gob.ve/docman/view.php/130/525/DAS_sinapsis.pdf · especificación Java Servlet Specification 2.2, con una arquitectura

Embed Size (px)

Citation preview

Ministerio del Poder Popular paraCiencia, Tecnología e Industrias Intermedias

Centro Nacional de Tecnologías de Información

SINAPSIS

Documento de Arquitectura del Sistema

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

1 de 15

Historial de Revisiones

Versión Fecha Autor Descripción1.0 2011 Jesús De Oliveira Versión inicial 0.1.0-SNAPSHOT (checkpoint-1)

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

2 de 15

Índice de contenido

1 Arquitectura del Sistema...........................................................................................................................4

2 Vista Lógica................................................................................................................................................4

2.1 Diagrama de Paquetes............................................................................................................................... 5 2.2 Paquetes de Diseño significativos..............................................................................................................5 2.3 Diagrama de clases agrupado por paquetes..............................................................................................9

3 Vista de Implementación ........................................................................................................................10

3.1 Diagrama de Componentes del Sistema.............................................................................................10

4 Vista de Despliegue.................................................................................................................................10

4.1 Diagrama de Despliegue del Sistema.......................................................................................................10

5 Modelo de Datos......................................................................................................................................11

5.1 Modelo Entidad-Relación de las Bases de Datos.....................................................................................11

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

3 de 15

1. Arquitectura del Sistema

La aplicación informática SINAPSIS ha sido concebido como un componente web bajo la especificación Java Servlet Specification 2.2, con una arquitectura N-capas, en el marco del framework Spring, y del ambiente de desarrollo rápido de aplicaciones SpringRoo. La versión actual del sistema esta compuesta por las siguientes capas:

• Presentación, bajo patrón de diseño Modelo-Vista-Controlador:

◦ Vistas: Páginas web JSPX con tag libraries de SpringMVC que despliegan formularios al usuario.◦ Controladores: Controladores de SpringMVC, que reciben y procesan las solicitudes del usuario bajo el patrón REST.◦ Modelos: Formularios (backing beans) reutilizados de la capa de modelo de dominio.

• Aplicación:

◦ Capa de servicios: contentiva de componentes “agentes” o “brokers” encargados de ejecutar procesos complejos que interactúan con los objetos del modelo de dominio en nombre del usuario.◦ Capa de modelo de dominio: contentiva de la estructura conceptual que representa el dominio de la aplicación, en la forma de JavaBeans tradicionales (POJOs) enriquecidos con anotaciones de los frameworks Java Persistency API, Java Validation API, Spring y SpringRoo.

• Persistencia:

◦ Capa de abstracción de acceso a datos: Framework Java Persistency API (JPA) para abstraer las operaciones de persistencia sobre los objetos de dominio, independientemente del proveedor ORM.◦ Capa de implementación de acceso a datos: ORM Hibernate.

2. Vista Lógica

En esta vista se detallan las partes del modelo de diseño que son significativas

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

4 de 15

arquitectónicamente representando los diagramas que permiten tener una visión de los elementos que conforman el sistema y de la interacción entre ellos.

1.1 Diagrama de Paquetes

1.2 Paquetes de Diseño significativos

En esta sección se muestra para cada uno de los paquetes representados anteriormente una breve descripción y el nombre de las clases que contiene.

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

5 de 15

P-01 WEB-INF/layouts

Descripción:

Este paquete contiene las plantillas de presentación del sistema en lenguaje JSPX (layouts), bajo el componente Tiles del framework SpringMVC, a partir de las cuales se construyen las paginas web que conforman las vistas del sistema.

Clases Disponibles: N/A

P-02 WEB-INF/views

Descripción:

Este paquete contiene las vistas del sistema en lenguaje JSPX, bajo el componete Tiles del framework SpringMVC. Estas vistas son “combinadas” con las plantillas correspondientes (asociadas en tiempo de ejecución) para generar o “renderizar” las paginas web HTML que son desplegadas al usuario, interactuando con los objetos de la capa de dominio y formularios. Estas vistas son incluidas en el “área principal de contenido” (body) de las plantillas.

Clases Disponibles: N/A

P-03 ve.co.bsc.sinapsis.web

Descripción:

Este paquete contiene los controladores (web) de la aplicación, responsables de procesar las solicitudes de los usuarios a través del protocolo HTTP y el patrón REST, recibidas por el Request Dispatcher Servlet de SpringMVC. Estos controladores interactúan con la capa de servicios o directamente con los componentes de la capa de dominio para satisfacer las solicitudes recibidas, colocando objetos en contenedores de SpringMVC e invocando la renderización de vistas del paquete P-02 WEB-INF/views. Estos controladores son generados automáticamente por el entorno RAD SpringRoo, y ajustados posteriormente a las necesidades de la aplicación.

Clases Disponibles: ArchivoAdjuntoController

HistoriaClinicaController

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

6 de 15

P-03 ve.co.bsc.sinapsis.web

InterconsultaController

NoticiaController

PacienteController

UsuarioController

P-04 ve.co.bsc.sinapsis.domain

Descripción:

Este paquete contiene las clases (POJOs) del modelo de dominio de la aplicación, representando las entidades y procesos de negocio, enriquecidas con anotaciones para gestionar su persistencia, validez de sus atributos y relaciones. Son generados automáticamente por el entorno RAD SpringRoo a partir de la especificación de sus atributos y relaciones. Su conversión ORM es provista por el framework Java Persistency API (JPA)

Clases Disponibles: ArchivoAdjunto

Ciudad

CodigoPostal

Especialidad

Estado

Etnia

HistoriaClinicaBitacora

HistoriaEspecificacionCampo

HistoriaEspecificacionFicha

HistoriaInstanciaFicha

HistoriaInstanciaCampo

HistoriaInstanciaFicha

Interconsulta

InterconsultaBitacora

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

7 de 15

P-04 ve.co.bsc.sinapsis.domain

InterconsultaEntrada

Medico

Municipio

Nacionalidad

Noticia

Ocupacion

Paciente

Pais

Parroquia

Profesion

RolUsuario

Urbanizacion

Usuario

P-05 ve.co.bsc.sinapsis.form

Descripción:

Este paquete contiene las clases (POJOs) que representan formularios complejos, y funcionan como “backing beans” cuando los formularios no emplean directamente los objetos de la capa de dominio (i.e. formularios auxiliares).

Clases Disponibles: MedicoUsuarioForm

P-06 ve.co.bsc.sinapsis.util

Descripción:Este paquete contiene clases adicionales utilitarias para realizar diversas operaciones auxiliares en el sistema

Clases Disponibles: BarcodeGenerator

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

8 de 15

P-06 ve.co.bsc.sinapsis.util

DummyEntidad

Entidad

FileReferenceDecorator

HistoriaClinicaSubmenuBuilder

HistoriaInstanciaCampoValidator

HistoriaInstanciaFichaWithHistoriaInstanciaCampoListDecorator

ListDecorator

MapDecorator

Ordenable

OrdenableComparator

SelectItemDecorator

SubmenuOption

.

P-07 ve.co.bsc.sinapsis.exception

Descripción: Este paquete contiene las excepciones propias del sistema

Clases Disponibles: FichaEsReadonlyException

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

9 de 15

1.3 Diagrama de clases agrupado por paquetes

A continuación se muestra el diagrama de clases agrupado por paquetes. Se omiten las declaraciones de métodos y atributos gestionadas de forma automática por el entorno de desarrollo rápido de aplicaciones SpringRoo por motivos de simplicidad. Adicionalmente, se omiten los parámetros de los métodos por fines de simplicidad.

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

10 de 15

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

11 de 15

3. Vista de Implementación

La vista de implementación muestra el empaquetado físico de las partes reutilizables del sistema en unidades sustituibles, llamadas componentes. Una vista de implementación muestra los elementos físicos del sistema mediante componentes, así como sus interfaces y dependencias entre componentes. Los componentes son piezas reutilizables de alto nivel a partir de las cuales se pueden construir los sistemas.

1.4 Diagrama de Componentes del Sistema

Se omite la vista de componentes dado que no añade valor considerando la complejidad de la versión actual del sistema.

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

12 de 15

4. Vista de Despliegue

La vista de despliegue muestra la disposición física de los recursos de ejecución computacionales, tales como computadores y sus interconexiones.

La vista de despliegue puede mostrar cuellos de botella para el rendimiento si las instancias de los componentes con dependencia se ponen en distintos nodos.

1.5 Diagrama de Despliegue del Sistema

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

13 de 15

5. Modelo de Datos

El Modelo de datos es aquel que describe de forma abstracta cómo se representan los datos de un sistema. Un modelo de datos consiste en: entidades, atributos y sus relaciones.

Dado que el modelo de datos de implementación (SQL) es generado automáticamente por el ambiente de desarrollo rápido de aplicaciones SpringRoo, en esta sección se presenta un modelo ER generado a partir de la herramienta MySQL Workbench.

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

14 de 15

1.6 Modelo Entidad-Relación de las Bases de Datos

Documento de Arquitectura del Sistema: SINAPSIS Versión: 1.0.0

Av. Andrés Bello, sector Guaicaipuro, Torre MPPTI, piso 16, Municipio Libertador, Caracas.Telf. +58 (212)- 578.59.92 / 507.21.11

Sitio Web: www.cnti.gob.ve

15 de 15