DAS_sinapsis.pdf (2012-05-03 11:22) 519KB

Anuncio
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
Historial de Revisiones
Versión Fecha
Autor
Descripción
1.0
Jesús De Oliveira
Versión inicial 0.1.0-SNAPSHOT (checkpoint-1)
2011
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
Descargar