• No se han encontrado resultados

ARQUITECTURA. Arquitectura software de la plataforma de Expediente Electrónico

N/A
N/A
Protected

Academic year: 2021

Share "ARQUITECTURA. Arquitectura software de la plataforma de Expediente Electrónico"

Copied!
14
0
0

Texto completo

(1)

MINISTERIO DE LA

PRESIDENCIA

SUBDIRECCIÓN GENERAL DE TECNOLOGÍAS Y SERVICIOS DE LA INFORMACIÓN

ARQUITECTURA

Arquitectura software de la plataforma de

Expediente Electrónico

(2)

Arquitectura Software

Control de versiones

Versión Fecha Descripción / Comentarios 1.0 07/08/2012 Versión inicial

(3)

Índice

1  Introducción ... 2 

2  Descripción General de la arquitectura ... 2 

2.1  Visión general ... 2 

2.2  Diagrama ... 2 

2.3  Explicación de los elementos ...3 

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 

(4)

2 de 14

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.2 Diagrama

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.

(5)

2.3 Explicació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.

(6)

4 de 14 ƒ 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.

(7)

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 + cxf-frontend-jaxws + cxf-transports-http + cxf-ws-security + dctm-commons + dom4j + easymock + fop + hibernate-entitymanager + itextpdf + jai + jod-converter-core + juh + junit + jurt + log4j + MIT yCLibAPI + MIT yCLibOCSP + MIT yCLibPolicy + MIT yCLibT rust + MIT yCLibT SA + MIT yCLibXADES + quartz + ridl + slf4j-log4j12 + spring-beans + spring-context-support + spring-core + spring-orm + spring-security-core + spring-security-crypto + spring-test + sqljdbc4 + tika-core + tika-parsers + unoil + xmlgraphics-commons

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

Componentes de Serv icios de Conv ersión

+ adoc-commons-convert + converter-webservices

Componentes de Gestión Documental

+ adoc-dfs-dms-provider + adoc-dms-interface + adoc-documentum-deployer

Componentes de tests unitarios

+ adoc-unit-tests + adoc-webservices

Componentes de Acceso a Datos

+ adoc-database

Componentes de Serv icios de Plataforma

+ adoc-webservices

Componentes de Fa ctura Electrónica

(8)

6 de 14

3.1 Componentes de Gestión Documental

cmp Componentes de Gestión Documental

«jar» adoc-documentum-deployer «jar» adoc-dms-interface Componente s de Utilidad::j unit Componente s de Utilidad::easymock

Test unitarios: junit 4.10, easymock 3.1

Componente s de Utili dad::log4j loggin: log4j 1.2.15, slf4j 1.6.4 Componente s de Utilidad::sl f4j -log4j 12 «jar» adoc-dfs-dms-prov ider Despliegue dinámico de tipos en Documentum 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.

(9)

cmp Componentes de Acceso a Datos

«jar»

adoc-database

Spring 3.0.6

Comp onen tes de Utilidad:: spring-test Componente s de Utili dad:: spring-security-core Compo nente s de Utilidad ::j unit Componente s de Utilidad::easymock

Test unitarios: junit 4.10, easymock 3.1

Compo nente s de Utili dad::log4j loggin: log4j 1.2.15, slf4j 1.6.4 Compo nente s de Utili dad:: commons-dbcp Compo nente s de Utilidad::sqlj dbc4 Componente s de Utili dad:: hibernate-entitymanager

Acceso a datos: driver sql server, pool dbcp 1.4, hibernate 3.5.6

Componente s de Utili dad:: slf4j -log4j 12 Compo nente s de Utili dad:: spring-beans Compo nente s de Utilidad::spring-orm Compo nente s de Utili dad:: spring-security-crypto

• 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.

(10)

8 de 14

3.3 Componentes de Integración con Servicios

Externos

cmp Componentes de Integración de Serv icios Externos

Spring 3.0.6 Apache CXF 2.5.2 Compo nente s de Utili dad:: cxf-frontend-j axw s Componente s de Utili dad:: cxf-transports-http Componente s de Utili dad:: cxf-w s-security Comp onen tes

de Utilidad:: spring-core

Comp onen tes de Utilidad:: spring-test Componente s de Utili dad:: spring-security-core Componente s de Utilidad::afirma @firma 3.3 Librerías del cliente

de @firma «jar» adoc-commons-afirma Compo nente s de Utilidad::j unit Compo nente s de Utilidad::easymock

Test unitarios: junit 4.10, easymock 3.1

Componentes de Utilidad: :adoc-common s-util Compo nente s de Utili dad::log4j loggin: log4j 1.2.15, slf4j 1.6.4 Compo nente s de Utili dad:: commons-dbcp Compo nente s de Utilidad::sqlj dbc4 Compo nente s de Utili dad:: hibernate-entitymanager

Acceso a datos: driver sql server, pool dbcp 1.4, hibernate 3.5.6

«jar» adoc-commons-dir Compo nente s de Utilidad::sl f4j -log4j 12 «jar» adoc-commons-dirsync Compo nente s de Utilidad::quartz

Lanzamiento programado de tareas: quartz 1.6.3

«jar» adoc-commons-regelec «jar» adoc-commons-sia «jar» adoc-commons-portafirmas

• 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

(11)

cmp Componentes de Conv ersión OpenOffice 3.4 Componente s de Utilida d::j urt Comp onentes de Utilidad::j uh Comp onentes de Utilid ad::ridl

Comp onen tes de Utilidad::

unoil Compo nente s de

Utili dad:: j od-conv erter-core

Conversión de formatos: jodconverter 3.0, itext 5.1.3

Compo nente s de Utilidad::itextpdf Componente s de Utili dad::j ai Spring 3.0.6 Apache CXF 2.5.2 Compo nente s de Utili dad:: cxf-frontend-j axw s Compo nente s de Utili dad:: cxf-transports-http Compo nente s de Utili dad:: cxf-w s-security Componentes de Utilidad:: spring-core

Comp onen tes de Utilidad:: spring-test Compo nente s de Utili dad:: spring-security-core Compo nente s de Utilidad ::j unit Compo nente s de Utilidad::easymock

T est unitarios: junit 4.10, easymock 3.1

Compo nente s de Utili dad::log4j loggin: log4j 1.2.15, slf4j 1.6.4 Componente s de Utilidad::sl f4j -log4j 12 «war»

conv erter-w ebserv ices

«jar»

adoc-commons-conv ert

Stubs de acceso a los servicios Web de conversión

Servicios Web de conversión

• adoc-commons-convert (jar): Contiene los stubs java para el acceso a los servicios Web de conversión de formatos

(12)

10 de 14

3.5 Componentes de factura electrónica

class Componentes de Factura Electrónica

«jar» adoc-commons-facturae Compo nente s de Utili dad::log4j Componente s de Utilidad ::j unit Componente s de Utilidad::easymock Compo nente s de Utili dad:: spring-beans Compo nente s de Utilidad::spring-orm Compo nente s de Utili dad:: spring-context-support Compo nente s de Utili dad:: spring-security-crypto «jar» Compo nente s de Acceso a Datos:: adoc-database «jar» Compo nente s de Inte grac ión Serv icios Externos:

: adoc-commons-afirma Compo nente s de Utili dad:: adoc-comm ons-util Compo nente s de Utili dad:: av alon-fram ew ork-impl Componente s de Utili dad:: av alon-fra mew ork-api

Compo nente s de Utili dad:: xmlgraphics-commons Compo nente s de Utilidad::itextpdf Compo nente s de Utili dad:: commons-io

• adoc-commons-facturae: métodos para generación de copias auténticas y validación de facturas electrónicas.

(13)

cmp Componentes de Serv icios de Plataforma Spring 3.0.6 Apache CXF 2.5.2 Componente s de Utili dad:: cxf-frontend-j axw s Componente s de Utili dad:: cxf-transports-http Componente s de Utili dad:: cxf-w s-security Componentes de Utilidad:: spring-core Componentes de Utilidad:: spring-test Componente s de Utili dad:: spring-security-core Componente s de Utilidad::j unit Compo nente s de Utilidad::easymock

Test unitarios: junit 4.10, easymock 3.1

Componente s de Utili dad::log4j loggin: log4j 1.2.15, slf4j 1.6.4 Componente s de Utilidad::sl f4j -log4j 12 «war»

adoc-w ebserv ices

«jar»

Componentes d e Integración Serv icios Externos::adoc-commons-afirma

«jar»

Componentes d e Integración Serv icios Externos::adoc-commons-dir

«jar»

Componentes d e Integración Serv icios Externos::adoc-commons-dirsync

«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

«jar»

Componente s de Serv icios de Conv ersión::adoc -commons-conv ert

«jar»

Componentes de Ges tión Documental:: adoc-dms-interface

«jar»

Componentes de Ges tión Documental:: adoc-dfs-dms-prov ider

«jar»

Componentes de Acceso a Datos:: adoc-database Componentes de Utilidad::

adoc-comm ons-util

«jar»

Componentes de Ges tión Documental:: adoc-documentum-deployer

«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.

(14)

12 de 14

3.7 Componentes de Utilidad

cmp Utilidades @Doc

adoc-comm ons-util

j unit log 4j 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.8 Componentes de tests unitarios de Plataforma

cmp Componentes de tests unitarios

«jar»

adoc-unit-tests adoc-w ebserv ices«jar»

Contiene los stubs para el acceso a los servicios web desplegados con adoc-webservices.war Spring 3.0.6 Apache CXF 2.5.2 Componente s de Utili dad:: cxf-frontend-j axw s Compo nente s de Utili dad:: cxf-transports-http Compo nente s de Utili dad:: cxf-w s-security Componentes de Utilidad:: spring-core Componentes de Utilidad:: spring-test Componente s de Utili dad:: spring-security-core Componente s de Utilidad::j unit Compo nente s de Utilidad::easymock

Test unitarios: junit 4.10, easymock 3.1

Componente s de Utili dad::log4j

loggin: log4j 1.2.15, slf4j 1.6.4

Compo nente 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.

Referencias

Documento similar

La solución que se ha planteado, es que el paso o bien se hiciese exclusivamente por el adarve de la muralla, o que una escalera diese acceso por la RM evitando la estancia (De

DECORA SOLO LAS IMÁGENES QUE NECESITES PARA LLEGAR AL NÚMERO CORRESPONDIENTE... CEIP Sansueña/CEIP Juan XXIII Infantil

Más concretamente, y como caso de estudio, se analizará este concepto en relación a los parques temáticos y el componente emocional que estimula en los usuarios.. Figura 6:

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

The Global Compact for Safe, Orderly and Regular Migration (Global Compact for Migration hereinafter) has been considered the first instrument to comprehensively address all

Indicadores municipales de sostenibilidad: Tasa de afiliación a

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Lo más característico es la aparición de feldespatos alcalinos y alcalino térreos de tamaño centimétrico y cristales alotriomorfos de cuarzo, a menudo en agregados policristalinos,