ARQUITECTURA Arquitectura software de la plataforma de

Anuncio
MINISTERIO DE LA
PRESIDENCIA
SUBSECRETARÍA
SUBDIRECCIÓN GENERAL DE
TECNOLOGÍAS Y SERVICIOS DE
LA INFORMACIÓN
ARQUITECTURA
Arquitectura software de la plataforma de
Expediente Electrónico
Expediente Electrónico
MPR -Subsecretaría
Control de versiones
Versión
Fecha
Descripción / Comentarios
1.0
07/08/2012
Versión inicial
1.1
06/11/2014
Inclusión de componentes
electrónica y portafirmas
Arquitectura Software
de
factura
Expediente Electrónico
MPR -Subsecretaría
Índice
1 Introducción........................................................................................................................................ 2 2 Descripción General de la arquitectura .............................................................................................. 2 3 2.1 Visión general............................................................................................................................. 2 2.2 Diagrama .................................................................................................................................... 2 2.3 Explicación de los elementos ......................................................................................................3 Arquitectura de Componentes .............................................................................................................5 3.1 Componentes de Gestión Documental ...................................................................................... 6 3.2 Componentes de Acceso a Datos ................................................................................................7 3.3 Componentes de Integración con Servicios Externos ............................................................... 8 3.4 Componentes de Servicios de Conversión ................................................................................. 9 3.5 Componentes de factura electrónica ........................................................................................ 10 3.6 Componentes de Servicios de Plataforma ................................................................................ 11 3.7 Componentes de Utilidad ......................................................................................................... 12 3.8 Componentes de tests unitarios de Plataforma ....................................................................... 12 1 de 14
Expediente Electrónico
MPR -Subsecretaría
1 Introducción
El propósito de este documento es presentar la arquitectura software y de componentes de la
Plataforma de Expediente Electrónico del Ministerio de la Presidencia, en adelante @Doc.
2 Descripción General de la
arquitectura
2.1 Visión general
La arquitectura software implantada en @Doc sigue un modelo de capas que separa la lógica de
implementación de los servicios Web, tanto de conversión como de la Plataforma, del acceso a
sistemas externos, como la base de datos, el gestor documental y servicios Web externos. Cada una de
estas capas se ha implementado con uno o varios componentes reutilizables, de forma que el
desarrollo realizado en @Doc pueda explotarse tanto mediante el acceso a su catálogo de servicios
web, como mediante la reutilización de componentes de software.
2.2Diagrama
La siguiente figura muestra a grandes rasgos las capas de componentes de @Doc, y su relación con las
aplicaciones cliente de la Plataforma y otros sistemas externos.
2 de 14
Expediente Electrónico
MPR -Subsecretaría
2.3Explicación de los elementos
•
•
•
Capa de Gestión Documental (DMS): Proporciona servicios de Gestión Documental de bajo
nivel (creación de carpetas y documentos, búsquedas, modificación de atributos, despliegue
dinámico de tipos, etc). Tiene los siguientes componentes:
o
Interfaz DMS: Ofrece hacia las capas superiores una interfaz con múltiples métodos
para explotar los servicios típicos de un Gestor Documental, aislando del producto de
Gestión Documental concreto que se utilice
o
Proveedor DFS (Documentum Foundation Services): Implementa la Interfaz
DMS mediante una factoría para la conexión al gestor documental que utiliza librerías
de Documentum 6.7 SP1 o Documentum 7.1, y que atacan a este gestor documental
mediante su API DFS, que consiste básicamente en una capa de servicios Web a
medida facilitada por el propio producto.
o
Proveedor CMIS (Content Management Interoperability Services):
Implementa la Interfaz DMS mediante una factoría basada en el estándar CMIS. Esta
factoría ha sido completamente probada con Documentum 7.1
o
Desplegador de tipos: No se ha mostrado en la figura anterior por simplificar. Se
encarga del despliegue dinámico de nuevos tipos en Documentum. Esta operación es
necesaria cuando se da de alta en @Doc una nueva aplicación cliente que tiene
metadatos complementarios propios.
Capa de Acceso a Datos: Esta capa ofrece la conectividad con la capa de datos. Dentro de esta
capa de integración debemos destacar varios elementos:
o
JPA: Es la API de Persistencia estándar de Java
o
Hibernate: En la capa de acceso a datos se utiliza Hibernate 3 como motor de
persistencia JPA
o
JTA: Es la API estándar de gestión de transacciones bajo Java EE 5. Permite definir
los “boundaries” de las transacciones y sincronizar transacciones entre varias fuentes
de datos. Garantiza que ante cualquier error no controlado, el estado de todos los
objetos persistentes vuelva al estado original.
o
Commons DBCP: librería que gestiona el pool de conexiones a la base de datos
o
Driver SQL Server: librería con el driver jdbc de acceso a SQL Server. La
plataforma puede trabajar con cualquier base de datos relacional utilizando el driver
apropiado y generando los scripts de creación de las tablas específicos para cada
RDBMS.
Capa de Integración con Servicios Externos: Ofrece una serie de componentes que contienen
los stubs de java para la invocación de servicios Web externos, o que se integran con servicios
Web externos para la realización de tareas necesarias para el funcionamiento de la plataforma.
Utilizan Apache CXF como motor de servicios Web, y Spring 3.5 como framework de base para
la implementación. Los componentes concretos que ofrece son:
o
Componente de Integración con el Registro Electrónico (REGELEC):
Contiene los stubs de java necesarios para la invocación de los servicios Web del
Registro Electrónico del MPR (REGELEC), así como una factoría que explota el
componente de servicios Web de la Plataforma para ofrecer un descriptor de servicios
propio con métodos de registro y recuperación de asientos registrales.
o
Componentes de Integración con el Directorio Único (DIR). El DIR es el
Directorio Común de oficinas y órganos gestionado por el MINHAP. @Doc tiene dos
componentes relacionados con el DIR:
ƒ
Componente de sincronización con el DIR: Contiene los stubs java para
la invocación a los servicios Web del DIR. Este componente invoca a los
servicios del DIR para actualizar periódicamente una base de datos de oficinas
y organismos procedente del DIR, que posteriormente es explotada por @Doc
o por otras aplicaciones.
3 de 14
Expediente Electrónico
ƒ
MPR -Subsecretaría
Componente de explotación de unidades y organismos procedentes
del DIR: Explota la base de datos mencionada en el punto anterior.
o
Componente de Integración con SIA: El SIA (Sistema de Información
Administrativa) es un sistema que contiene un catálogo de procedimientos publicado
por cada organismo. Este componente contiene los stubs java para la invocación a los
servicios Web de SIA, y una factoría con métodos que explota el componente de
servicios Web de la Plataforma para verificar la existencia de códigos SIA
especificados por las aplicaciones cliente.
o
Componente de Integración con @Firma: Ofrece al componente de servicios
web de la Plataforma una factoría que aglutina servicios de realización de firma
digital, gestión de claves, validación de firmas y obtención de información de
certificados. Para la realización de firmas el componente utiliza las librerías del cliente
de @firma, versión 3.3; la validación de firmas y obtención de información de
certificados la realiza delegando estas funciones en los servicios Web de validación de
@firma, para lo que incorpora los stubs java para la invocación de dichos servicios
Web.
o
Componente de Integración con Servicio de Conversión: Ofrece al
componente de servicios Web de la Plataforma una factoría con métodos relacionados
con la conversión de documentos a PDF y obtención de copias auténticas. El
componente delega estas tareas en los Servicios Web de Conversión, por lo que incluye
los stubs java para la invocación de estos servicios.
•
Capa de Servicios Web de Conversión: Esta capa constituye en sí misma una aplicación de
servicios Web que se despliega de forma independiente de la Plataforma @Doc. Ofrece
servicios genéricos de conversión de formatos, utilizando internamente algunas librerías de
manejo de gráficos y OpenOffice 3.4. Puede ser invocado de forma independiente por las
aplicaciones cliente.
•
Utilidades: Conjunto de librerías externas de propósito general (logging, tests unitarios,
ejecución programada de procesos, detección dinámica de tipos mime, algoritmos de
codificación). Asimismo esta capa incluye un componente de utilidades desarrollado en el
ámbito del proyecto @Doc para manipulación de cadenas Xml y utilidades I/O.
•
Capa de Servicios Web de Plataforma: Aplicación de servicios Web de la Plataforma @Doc.
Incluye 5 descriptores wsdl para servicios de Expediente Electrónico (servicios de inserción,
actualización, obtención y búsqueda de expedientes y documentos, servicios de firma digital,
servicios de generación de copias, servicios de ciclo de vida), servicios de Registro Electrónico,
Servicios de Administración, Servicios de Catálogo y Servicios de Portafirmas respectivamente.
Utiliza prácticamente todas las capas descritas anteriormente para la implementación de estos
servicios Web.
4 de 14
Expediente Electrónico
MPR -Subsecretaría
3 Arquitectura de Componentes
Se describe en este apartado de forma detallada la arquitectura de componentes de @Doc y las
dependencias entre los mismos.
cmp Componentes
Componentes de Utilidad
+ adoc-commons-util
+ afirma
+ avalon-framework-api
+ avalon-framework-impl
+ commons-dbcp
+ commons-io
Componentes de Integrac ión Serv icios Externos
+ adoc-commons-afirma
+ adoc-commons-dir
+ adoc-commons-dirsync
+ adoc-commons-portafirmas
+ adoc-commons-regelec
+ adoc-commons-sia
+ cxf-frontend-jaxws
+ cxf-transports-http
+ cxf-ws-security
+ dctm-commons
+ dom4j
Componentes de Serv icios de Plataforma
+ adoc-webservices
+ easymock
+ fop
+ hibernate-entitymanager
+ itextpdf
+ jai
+ jod-converter-core
+ juh
Componentes de Serv icios de Conv ersión
+ adoc-commons-convert
+ converter-webservices
+ junit
+ jurt
+ log4j
Componentes de Gestión Documental
+ MITyCLibAPI
+ MITyCLibOCSP
+ MITyCLibPolicy
+ MITyCLibTrust
+ adoc-dfs-dms-provider
+ adoc-dms-interface
+ adoc-documentum-deployer
+ MITyCLibTSA
+ MITyCLibXADES
+ quartz
+ ridl
Componentes de Fa ctura Electrónica
+ adoc-commons-facturae
+ slf4j-log4j12
+ spring-beans
+ spring-context-support
+ spring-core
+ spring-orm
+ spring-security-core
Componentes de Acceso a Datos
+ adoc-database
+ spring-security-crypto
+ spring-test
+ sqljdbc4
+ tika-core
+ tika-parsers
+ unoil
+ xmlgraphics-commons
Componentes de tests unitarios
+ adoc-unit-tests
+ adoc-webservices
5 de 14
Expediente Electrónico
MPR -Subsecretaría
3.1Componentes de Gestión Documental
cmp Componentes de Gestión Documental
Test unitarios: junit 4.10, easymock 3.1
Componente s de
Utilidad::j unit
Componente s de
Utilidad::easymock
«jar»
adoc-documentum-deployer
Despliegue dinámico de
tipos en Documentum
loggin: log4j 1.2.15, slf4j 1.6.4
Componente s de
Utili dad::log4j
Componente s de
Utilidad::sl f4j -log4j 12
«jar»
adoc-dms-interface
«jar»
adoc-dfs-dms-prov ider
Interfaz de servicios de
gestión documental
Implementación DFS de
la interfaz de servicios de
gestión documental
•
adoc-documentum-deployer (jar): Componente para el despliegue dinámico de tipos en
Documentum
•
adoc-dms-interface (jar): Componente con la interfaz de métodos para la explotación de
gestores documentales. Independiza a las capas superiores del producto utilizado.
•
adoc-dfs-dms-provider (jar): Implementa la interfaz DMS invocando a la capa DFS
(Documentum Foundation Services) de Documentum.
6 de 14
Expediente Electrónico
MPR -Subsecretaría
3.2Componentes de Acceso a Datos
cmp Componentes de Acceso a Datos
Spring 3.0.6
Componentes
de Utilidad::
spring-test
Componente s de
Utili dad::
spring-security-core
Componente s de
Utili dad::
spring-security-crypto
Componente s de
Utili dad::
spring-beans
Componente s de
Utilidad::spring-orm
Test unitarios: junit 4.10, easymock 3.1
«jar»
adoc-database
Componente s de
Utilidad::j unit
Componente s de
Utilidad::easymock
loggin: log4j 1.2.15, slf4j 1.6.4
Componente s de
Utili dad::log4j
Componente s de
Utili dad::
slf4j -log4j 12
Acceso a datos: driver sql server, pool dbcp 1.4, hibernate 3.5.6
Componente s de
Utilidad::sqlj dbc4
•
Componente s de
Utili dad::
commons-dbcp
Componente s de
Utili dad::
hibernate-entitymanager
adoc-database: Contiene las entidades JPA asociadas a las tablas de la base de datos de
@Doc, así como un conjunto de clases DAO con métodos que facilitan la explotación de la base
de datos.
7 de 14
Expediente Electrónico
MPR -Subsecretaría
3.3Componentes de Integración con Servicios
Externos
cmp Componentes de Integración de Serv icios Externos
Spring 3.0.6
Comp onen tes
de Utilidad::
spring-core
Comp onen tes
de Utilidad::
spring-test
«jar»
adoc-commons-afirma
Componente s de
Utili dad::
spring-security-core
«jar»
adoc-commons-dir
Apache CXF 2.5.2
Componente s de
Utili dad::
cxf-w s-security
Componente s de
Utili dad::
cxf-transports-http
Compo nente s de
Utili dad::
cxf-frontend-j axw s
@firma 3.3
Librerías del cliente
de @firma
«jar»
adoc-commons-dirsync
Componente s de
Utilidad::afirma
«jar»
adoc-commons-regelec
Test unitarios: junit 4.10, easymock 3.1
Compo nente s de
Utilidad::j unit
Compo nente s de
Utilidad::easymock
«jar»
adoc-commons-sia
loggin: log4j 1.2.15, slf4j 1.6.4
Compo nente s de
Utili dad::log4j
Compo nente s de
Utilidad::sl f4j -log4j 12
«jar»
adoc-commons-portafirmas
Acceso a datos: driver sql server, pool dbcp 1.4, hibernate 3.5.6
Compo nente s de
Utilidad::sqlj dbc4
Compo nente s de
Utili dad::
commons-dbcp
Compo nente s de
Utili dad::
hibernate-entitymanager
Lanzamiento programado de tareas: quartz 1.6.3
Compo nente s de
Utilidad::quartz
Componentes de Utilidad:
:adoc-common s-util
•
adoc-commons-afirma (jar): métodos de firma digital, gestión de claves, validación de
firmas y obtención de información de certificados
•
adoc-commons-dir (jar): métodos para la explotación la base de datos con las oficinas y
organismos obtenidas desde el DIR
•
adoc-commons-dirsync (jar): sincronización de la base de datos de organismos y oficinas
con el DIR.
•
adoc-commons-regelec (jar): conexión al registro electrónico del MPR (REGELEC)
•
adoc-commons-sia (jar): métodos para la verificación de códigos de clasificación mediante
la consulta a los servicios web del SIA
•
adoc-commons-portafirmas (jar): métodos para la comunicación con los servicios web
de Portafirmas.NET
8 de 14
Expediente Electrónico
MPR -Subsecretaría
3.4Componentes de Servicios de Conversión
cmp Componentes de Conv ersión
Spring 3.0.6
Componentes
de Utilidad::
spring-core
Componentes
de Utilidad::
spring-test
«jar»
adoc-commons-conv ert
Stubs de acceso a los
servicios Web de conversión
Componente s de
Utili dad::
spring-security-core
Apache CXF 2.5.2
Componente s de
Utili dad::
cxf-w s-security
Componente s de
Utili dad::
cxf-transports-http
Componente s de
Utili dad::
cxf-frontend-j axw s
Test unitarios: junit 4.10, easymock 3.1
Componente s de
Utilidad::j unit
Componente s de
Utilidad::easymock
«war»
conv erter-w ebserv ices
Servicios Web de
conversión
loggin: log4j 1.2.15, slf4j 1.6.4
Componente s de
Utili dad::log4j
Componente s de
Utilidad::sl f4j -log4j 12
Conversión de formatos: jodconverter 3.0, itext 5.1.3
Componente s de
Utili dad::
j od-conv erter-core
Componente s de
Utili dad::j ai
Componente s de
Utilidad::itextpdf
OpenOffice 3.4
Componentes Componentes Componentes
de Utilidad::j uh de Utilidad::ridl de Utilidad::
unoil
Componente s de
Utilida d::j urt
•
adoc-commons-convert (jar): Contiene los stubs java para el acceso a los servicios Web de
conversión de formatos
•
converter-webservices (war): Aplicación de servicios Web de conversión de formatos.
9 de 14
Expediente Electrónico
MPR -Subsecretaría
3.5 Componentes de factura electrónica
class Componentes de Factura Electrónica
Componente s de
Utilidad::j unit
Componente s de
Utili dad::log4j
Componente s de
Utilidad::easymock
Componente s de
Utili dad::
commons-io
Componente s de
Utili dad::
spring-beans
Componente s de
Utilidad::itextpdf
«jar»
adoc-commons-facturae
Componente s de
Utilidad::spring-orm
Componente s de
Utili dad::
xmlgraphics-commons
Componente s de
Utili dad::
spring-context-support
Componente s de
Utili dad::
adoc-comm ons-util
Componente s de
Utili dad::
spring-security-crypto
«jar»
Componente s de
Acceso a Datos::
adoc-database
•
«jar»
Componente s de
Inte grac ión
Serv icios Externos:
:
adoc-commons-afirma
Componente s de
Utili dad::
av alon-fram ew ork-impl
Componente s de
Utili dad::
av alon-fra mew ork-api
adoc-commons-facturae: métodos para generación de copias auténticas y validación de
facturas electrónicas.
10 de 14
Expediente Electrónico
MPR -Subsecretaría
3.6Componentes de Servicios de Plataforma
cmp Componentes de Serv icios de Plataforma
Spring 3.0.6
Componentes
de Utilidad::
spring-core
Componentes
de Utilidad::
spring-test
Componente s de
Utili dad::
spring-security-core
«jar»
Componentes d e Integración Serv icios
Externos::adoc-commons-afirma
Apache CXF 2.5.2
«jar»
Componentes d e Integración Serv icios
Externos::adoc-commons-dir
Componente s de
Utili dad::
cxf-w s-security
Componente s de
Utili dad::
cxf-transports-http
Componente s de
Utili dad::
cxf-frontend-j axw s
«war»
adoc-w ebserv ices
«jar»
Componentes d e Integración Serv icios
Externos::adoc-commons-dirsync
Test unitarios: junit 4.10, easymock 3.1
Componente s de
Utilidad::j unit
Compo nente s de
Utilidad::easymock
loggin: log4j 1.2.15, slf4j 1.6.4
Componente s de
Utili dad::log4j
«jar»
Componentes d e Integración Serv icios
Externos::adoc-commons-regelec
«jar»
Componentes d e Integración Serv icios
Externos::ado c-commons-sia
Componente s de
Utilidad::sl f4j -log4j 12
«jar»
Componente s de Serv icios de
Conv ersión::adoc -commons-conv ert
Componentes de Utilidad::
adoc-comm ons-util
«jar»
Componentes de Ges tión Documental::
adoc-dfs-dms-prov ider
«jar»
Componentes de Ges tión Documental::
adoc-dms-interface
«jar»
Componentes de Ges tión Documental::
adoc-documentum-deployer
«jar»
Componentes de Acceso a Datos::
adoc-database
«jar»
Componentes de Fac tura Electrónica::
adoc-commons-facturae
•
adoc-webservices (war): Aplicación de servicios Web de la Plataforma @Doc. Publica
descriptores wsdl para servicios de Expediente Electrónico, Registro Electrónico y
Administración. Para más información consultar el Manual de Integración con los Servicios
Web de la Plataforma @Doc.
11 de 14
Expediente Electrónico
MPR -Subsecretaría
3.7Componentes de Utilidad
cmp Utilidades @Doc
adoc-comm ons-util
j unit
•
log4j
commons-io
dom 4j
adoc-commons-util (jar): componente de utilidades desarrollado en el ámbito del proyecto
@Doc para manipulación de cadenas Xml y utilidades I/O
3.8Componentes de tests unitarios de Plataforma
cmp Componentes de tests unitarios
Spring 3.0.6
Componentes
de Utilidad::
spring-core
Componentes
de Utilidad::
spring-test
Componente s de
Utili dad::
spring-security-core
Apache CXF 2.5.2
Componente s de
Utili dad::
cxf-w s-security
Componente s de
Utili dad::
cxf-transports-http
Componente s de
Utili dad::
cxf-frontend-j axw s
Test unitarios: junit 4.10, easymock 3.1
Componente s de
Utilidad::j unit
«jar»
adoc-unit-tests
«jar»
adoc-w ebserv ices
Componente s de
Utilidad::easymock
Contiene los stubs para el acceso
a los servicios web desplegados
con adoc-webservices.war
loggin: log4j 1.2.15, slf4j 1.6.4
Componente s de
Utili dad::log4j
Componente s de
Utilidad::sl f4j -log4j 12
•
adoc-webservices (jar): Contiene los stubs para el acceso a los servicios Web de la
Plataforma
•
adoc-unit-test (jar): Contiene una extensa batería de tests unitarios para chequear el estado
de la Plataforma.
12 de 14
Descargar