Diferencia entre revisiones de «Arquitectura»

De Thubanpedia
Saltar a: navegación, buscar
(Página creada con «{{Languages}} ='''Objetivo'''= El objetivo de este documento es brindar una visión general de la arquitectura de la plataforma ''Thuban®.'' Está dirigido a todas aquel...»)
(Sin diferencias)

Revisión de 12:42 8 oct 2014


Objetivo

El objetivo de este documento es brindar una visión general de la arquitectura de la plataforma Thuban®. Está dirigido a todas aquellas personas que deseen conocer el funcionamiento interno del sistema, las cualidades sistémicas y la capacidad de integración.

Sirve además como punto de entrada para cualquier stakeholder relacionado con un proyecto basado en la plataforma Thuban®; tanto para aquellos que desarrollan el producto (analistas, desarrolladores, implementadores, testers) como para los que evalúan, analizan y aplican el producto a una lógica de negocio particular (gerentes, analistas de negocios, analistas técnicos).

Introducción

Thuban® es una plataforma de Enterprise Document Management (EDM) diseñada especialmente para trabajar en entornos de alta exigencia donde los documentos y procesos son la clave fundamental del negocio. Su arquitectura orientada a servicios le permite ser flexible, integrable y escalable. Al estar desarrollada en Java, se puede portar muy fácilmente.

Como plataforma de EDM, Thuban® cuenta con un conjunto de herramientas que le permiten abarcar el ciclo completo de la información: captura, indexación, procesamiento, consulta, monitoreo y mejora continua.

Este documento describe la arquitectura del producto, los principales componentes, el inventario de servicios, las estructuras básicas y modelo de datos, los conectores, las capacidades de integración y las cualidades sistémicas del mismo.

Arquitectura de la solución

Antes de comenzar a analizar la arquitectura del sistema, se realizará un breve repaso del significado de “Arquitectura” en un sistema de software.

Por definición, es la estructura de estructuras del sistema, compuesta por elementos, sus propiedades visibles (lo que un componente externo puede asumir sobre otro) y sus relaciones.

La arquitectura es lo que permite dividir un problema complejo en múltiples partes para resolverlas de manera independiente y luego volver a juntarlas para reconformar un todo. Da la posibilidad a los analistas, diseñadores, programadores, testeadores e implementadores de trabajar en una línea común que permita alcanzar los objetivos del sistema. Es el principal conductor de las cualidades de un sistema, como el rendimiento, la escalabilidad, la confiabilidad, la utilidad, la gestión, la portabilidad y la seguridad, entre otras.

De la misma manera que en la arquitectura de construcciones se requieren diversos planos y vistas (cada una destinada a resolver una problemática definida, por ejemplo los planos de cañerías de agua o tendido eléctrico de un edificio) en la arquitectura de un software no es posible hacer un análisis del sistema desde un único punto de vista. Por eso es necesario crear diversas vistas que permitan a cada uno de los stakeholders evaluar la arquitectura desde su lugar.


Para exponer de manera clara la arquitectura de Thuban®, se clasificarán los tipos de vista en tres clases distintas. Los dos primeros responden a tipos lógicos y el último a un tipo físico:

- Estructura: Las vistas de estructura permiten analizar los módulos lógicos del sistema, sus responsabilidades y de qué manera se relacionan entre sí.


- Comportamiento: Las vistas de comportamiento permiten analizar los componentes sistémicos en funcionamiento (Runtime), la comunicación entre los mismos y la forma en que colaboran para lograr el objetivo.


- Despliegue: Las vistas de despliegue, a diferencia de las anteriores, dicen de qué manera física existen los módulos y componentes del sistema. Por ejemplo, la distribución de componentes entre servidores para atender cualidades sistémicas de escalabilidad o rendimiento, o la forma en que el código fuente se agrupa en proyectos para su correcta gestión y versionado.

Vistas Estructurales del Sistema

Módulos del sistema

Código Nivel 1 Nivel 2 Nivel 3 Descripción
PD Thuban® Power Desk Es la herramienta legacy que utilizan los usuarios para la gestión de documentos y procesos de negocio.
PD-BCE Búsqueda, consulta y edición de documentos Módulo funcional que agrupa la búsqueda, consulta y edición de documentos
PD-BCE-B Búsqueda de documentos. Módulo funcional que agrupa la búsqueda y las acciones sobre los documentos. Se asocia directamente a la interfaz de usuario SearchUI.
PD-BCE-E Consulta y edición de documentos y vínculos dinámicos. Módulo funcional que agrupa la visualización y edición de documentos y vínculos dinámicos y las acciones sobre los documentos. Se asocia directamente a la interfaz de usuario DisplayUI.
PD-BD Bandejas dinámicas Módulo funcional que permite la visualización y edición de documentos en bandejas de trabajo. Se asocia directamente a la interfaz de usuario TrayUI.
PD-CO Búsqueda, consulta y edición de documentos Módulo funcional que agrupa la búsqueda, consulta y edición de documentos


Código Nivel 1 Nivel 2 Nivel 3 Descripción
A Thuban® Admin Es la herramienta legacy que utilizan los administradores para la gestión de usuarios, grupos, clases documentales y permisos del sistema.
A-U Creación y edición de usuarios Módulo funcional que permite la creación y edición de usuarios.
A-G Creación y edición de grupos y asignación de usuarios a grupos Módulo funcional que agrupa la creación y edición de grupos, con la asignación de usuarios a grupos.
A-G-C Creación y edición de grupos Módulo funcional que permite la creación y edición de grupos.
A-G-A Asignación de usuarios a grupos Módulo funcional que permite la asignación de usuarios a grupos.
A-C Creación y edición de clases documentales Módulo funcional que agrupa toda la funcionalidad que permite parametrizar las clases documentales del sistema.
A-C-D Edición de datos generales Módulo funcional que permite definir los datos básicos de una clase documental.
A-C-C Creación y edición de campos de la clase Módulo funcional que permite definir los campos de una clase documental.
A-C-VI Creación y edición de vistas de clases documentales Módulo funcional que permite la creación y edición de vistas de clases documentales.
A-C-VD Creación y edición de campos de la clase Módulo funcional que permite definir los campos de una clase documental.
A-P Asignación de permisos a grupos Módulo funcional que agrupa toda la funcionalidad de asignación de permisos a las diversas herramientas, módulos, clases documentales y acciones del sistema
A-P-H Asignación de permisos a herramientas del sistema. Módulo funcional que permite otorgar accesos a los distintas herramientas/módulos del sistema. Generalmente se encuentra asociada al nivel 2 de modularización del sistema y en algunos casos hasta el nivel 3.
A-P-VV Asignación de permisos a vistas y vínculos Módulo funcional que permite otorgar accesos a las vistas y vínculos de una clase documental a grupos de usuario
A-P-AA Asignación de permisos a acciones sobre documentos del sistema Módulo funcional que permite otorgar permisos a las distintas acciones que un usuario puede realizar sobre documentos de una clase documental del sistema
A-P-R Asignación de permisos a ejecución y administración de reportes Módulo funcional que permite otorgar permisos para la ejecución y administración de reportes
A-P-B Asignación de permisos de ejecución de bandejas Módulo funcional que permite otorgar permisos a bandejas de trabajo de workflow colaborativo



Código Nivel 1 Nivel 2 Nivel 3 Descripción
AW Thuban® Admin Web Es la herramienta web que utilizan los administradores para la gestión de usuarios, grupos, clases documentales y permisos del sistema.
AW-U Creación y edición de usuarios Módulo funcional que permite la creación y edición de usuarios
AW-G Creación y edición de grupos y asignación de usuarios a grupos Módulo funcional que agrupa la creación y edición de grupos, con la asignación de usuarios a grupos.
AW-G-C Creación y edición de grupos Módulo funcional que permite la creación y edición de grupos.
AW-G-A Asignación de usuarios a grupos Módulo funcional que permite la asignación de usuarios a grupos.
AW-C Creación y edición de clases documentales Módulo funcional que agrupa toda la funcionalidad que permite parametrizar clases documentales del sistema.
AW-C-D Edición de datos generales Módulo funcional que permite definir los datos básicos de una clase documental.
AW-C-C Creación y edición de campos de la clase Módulo funcional que permite definir los campos de una clase documental.
AW-C-VI Creación y edición de vistas de clases documentales Módulo funcional que permite la creación y edición de vistas de clases documentales.
AW-C-VD Creación y edición de vínculos dinámicos de clases documentales Módulo funcional que permite la creación y edición de vistas de vínculos dinámicos.
AW-P Asignación de permisos a grupos Módulo funcional que agrupa toda la funcionalidad de asignación de permisos a los diversas herramientas, módulos, clases documentales y acciones del sistema
AW-P-H Asignación de permisos a herramientas del sistema. Módulo funcional que permite otorgar accesos a los distintas herramientas/módulos del sistema. Generalmente se encuentra asociada al nivel 2 de modularización del sistema y en algunos casos hasta el nivel 3.
AW-P-VV Asignación de permisos a vistas y vínculos Módulo funcional que permite otorgar accesos a las vistas y vínculos de una clase documental a grupos de usuario
AW-P-AA Asignación de permisos a acciones sobre documentos del sistema Módulo funcional que permite otorgar permisos a las distintas acciones que un usuario puede realizar sobre documentos de una clase documental del sistema
AW-P-R Asignación de permisos a ejecución y administración de reportes Módulo funcional que permite otorgar permisos para la ejecución y administración de reportes
AW-P-B Asignación de permisos de ejecución de bandejas Módulo funcional que permite otorgar permisos a bandejas de trabajo de workflow colaborativo



Código Nivel 1 Nivel 2 Nivel 3 Descripción
PDW Thuban® Power Desk Web Es la herramienta web que utilizan los usuarios para la gestión de documentos y procesos de negocio.
PDW-BCE Búsqueda, consulta y edición de documentos Módulo funcional que agrupa la búsqueda, consulta y edición de documentos
PDW-BCE-B Búsqueda de documentos. Módulo funcional que agrupa la búsqueda y las acciones sobre los documentos. Se encuentra asociada directamente a la interfaz de usuario SearchUI.
PDW-BCE-E Consulta y edición de documentos y vínculos dinámicos. Módulo funcional que agrupa la visualización y edición de documentos y vínculos dinámicos y las acciones sobre los documentos. Se encuentra asociada directamente a la interfaz de usuario DisplayUI.
PDW-BD Bandejas dinámicas Módulo funcional que permite la visualización y edición de documentos en bandejas de trabajo. Se encuentra asociada directamente a la interfaz de usuario TrayUI.
PDW-ER Ejecución de reportes Módulo funcional que permite la ejecución de reportes del sistema. Se encuentra asociada directamente a la interfaz de usuario ReportsUI.
PDW-AR Administración de reportes Módulo funcional que permite la administración (ABM) de reportes del sistema. Se encuentra asociada directamente a la interfaz de usuario ReportsManagerUI.
PDW-PS Prescan Módulo funcional de seguimiento de documentación física
PDW-PS-EC Emisión de caratulas Módulo funcional que permite la generación de caratulas del sistema. Se encuentra asociada directamente a la interfaz de usuario PrescanCoversUI.
PDW-PS-EN Envío de lotes de caratulas Módulo funcional que permite el inicio de un lote de caratulas en un proceso de seguimiento de documentación física. Se encuentra asociada directamente a la interfaz de usuario PrescanSendDocumentUI.
PDW-PS-SE Seguimiento de documentación física Módulo funcional que permite el seguimiento de documentación física. Se encuentra asociada directamente a la interfaz de usuario PrescanTracingUI.
PDW-PS-B Bandejas de ejecución de procesos Módulo funcional que permite la ejecución de tareas del circuito de seguimiento de documentación física. Se encuentra asociada directamente a la interfaz de usuario PrescanTraysUI.
PDW-PS-D Despliegue de procesos Módulo funcional que permite el despliegue de procesos de seguimiento de documentación física. Se encuentra asociada directamente a la interfaz de usuario PrescanProcessDeployUI.
PDW-CO Configuración de preferencia de usuario Módulo funcional que permite personalizar, mediante variables de usuario, el sistema para cubrir las necesidades de cada usuario
PDW-AY Ayuda Módulo funcional de ayuda en línea



Código Nivel 1 Nivel 2 Nivel 3 Descripción
S Services
S-C Core services Módulo central del sistema que define la capa de servicios de aplicación, los contratos y las interfaces
S-C-D Document Service Servicio que permite crear, modificar, eliminar, bloquear y reclasificar documentos del sistema.
S-C-R Resource Service Servicio que provee acceso e información sobre los archivos asociados a un documento.
S-C-MI Migration Service Servicio que permite migrar recursos entre dos conectores del sistema.
S-C-MA Mail Service Servicio que permite el envío online y por tanda de correos electrónicos.
S-C-P Prescan Service Servicio que permite realizar el seguimiento de documentación física. Emitir caratulas, pre-indexar documentos, etc.
S-C-S Search Service Servicio que permite la búsqueda de documentos, clases, vistas y vínculos del sistema.
S-C-SE Security Service Servicio que permite gestionar permisos del sistema.
S-C-R Report Service Servicio que permite gestionar los reportes del sistema.
S-C-T Tray Service Servicio que permite la gestión de bandejas de workflow colaborativo.
S-C-L Login Service Servicio que permite la validación de usuarios al sistema
S-C-LO Log Service Servicio que permite gestionar los registros de log del sistema
S-C-C Config Service Servicio que permite gestionar el acceso a las tablas de configuración Thuban® para las diferentes aplicaciones (ThubanConfig).
S-C-A Admin Service Servicio que permite administrar usuarios y grupos del sistema.
S-E Encapsulación de servicios Módulo funcional que permite invocar la capa de servicios a través de mecanismos de transporte que difieren del mecanismo tradicional (ejecución en la misma VM)
S-H HTTP Services Módulo funcional que permite invocar servicios del sistema a través de HTTP GET y POST
S-W Web Services Módulo funcional que permite invocar servicios del sistema a través de Webservices


Código Nivel 1 Nivel 2 Nivel 3 Descripción
D Documentación Documentación del sistema.
D-M Manuales Manuales del sistema.
D-M-PD Manual de Power Desk Manual de Usuario de Thuban® PowerDesk
D-M-S Manual de Server Manual de Usuario de Thuban® Server
D-M-A Manual de Admin Manual de Usuario de Thuban® Admin
D-G Guías
D-G-AC Guía de administración y configuración Guía de Configuración y Administracion
D-G-DI Guía de configuración de DocIntro Guía de Configuración de DocIntro
D-J Javadocs Documentación del sistema.
Javadoc DocIntro [1]
Javadoc Services [2]

Items de configuración

Cada módulo del sistema es un ítem de configuración de Thuban®.

Para cada uno de ellos se realizan las siguientes tareas de gestión de la configuración:


- Control de versiones: Cada ítem es versionado para controlar el historial de cambios.


- Gestión integral de bugs, incidentes y solicitudes de mejora.


- Planificación de nuevas versiones de los ítems de configuración en lanzamiento de producto (Roadmap).

Arquitectura orientada a servicios

La plataforma Thuban® posee una arquitectura orientada a servicios diseñada de la siguiente manera:

Arq1a.png


Thuban® Core es el componente principal que define los contratos de servicios, las estructuras básicas de datos y el concepto de Conector.

Los contratos de servicios son interfaces que dictan el comportamiento de los servicios (el “qué”) pero no describen de qué manera se lleva a cabo (el “cómo”). Los servicios que Thuban® define son servicios propios de todo sistema de gestión documental. Podemos encontrar entre ellos los servicios de búsqueda, de gestión de documentos, de gestión de carpetas, de workflow, etc.

Las estructuras de datos son aquellas entidades que el sistema utiliza para manejar la información: Documento, Clase Documental, Campos, Vistas, Carpetas. De la misma manera que los servicios, sólo se definen qué datos mínimos deben contener, pero no cómo se almacenan.

Conectores

En Thuban®, un conector es el conjunto de implementaciones de los servicios provistos por la solución para un sistema en particular. El conector describe de qué manera esos servicios funcionan internamente (el “cómo”). Así, el conector Thuban® es la implementación propia de los servicios definidos por Thuban® Core, pero no la única: es posible construir conectores adicionales para software de terceros.

De esta manera, se separa la lógica de implementación de la lógica de negocio y se puede entender a Thuban® como solución de integración de diversos sistemas de gestión de contenidos y/o repositorios de datos.

Diseño Multicapa

La plataforma Thuban® posee un diseño multicapa definido de la siguiente manera:

Arq1b.png


DAO: Es la capa de acceso a datos.


SERVICES: Es la capa que define los contratos de los servicios y la lógica de negocio de los mismos.


SERVICE LOCATOR: Es una capa que, mediante configuración, permite dotar al sistema de la inteligencia necesaria para funcionar con múltiples repositorios pudiendo situar a la solución como plataforma de integración y/o migración.


WEB-SERVICES: Interfaz simplificada para la invocación de los servicios a través de SOAP.






Modelo de Dominio

A continuación se pueden observar las estructuras básicas de datos con las que trabajan los servicios de la plataforma Thuban® en la gestión de documentos.

Arq1c.png

Document

Es la principal entidad del sistema. El documento tiene asociado un recurso físico (archivo) y uno o más campos que guardan su información. Cada documento pertenece a una única clase documental que define qué campos puede contener. Esta estructura cuenta con los siguientes campos:

- Id (id): Representa el id único en el sistema.

- Nombre Externo (externalName): Representa el nombre externo con el que se conoce el documento.

- Campos (fields): Representa los campos y valores del documento.


DocumentField

Representa el campo de un documento. Cuenta con los siguientes campos:

- Id: Representa el id de campo.

- Clase Documental (docClass): Clase documental a la que pertenece el campo.

- Leyenda (prompt): Leyenda con la cual se muestra el campo en una interfaz de usuario.

- Valores Posibles (values): Lista de valores posibles que puede tomar el campo.


DocumentClass

Representa una clase documental. Es un molde para los documentos. Cuenta con los siguientes campos:

- Id: Representa el id de clase.

- Campos (fields): El conjunto de campos que definen los datos que almacenará un documento de dicha clase.


Resource

Representa un recurso físico (archivo) asociado al documento. Cuenta con los siguientes campos:

- Id: Representa el id único del recurso. Se identifica con el mismo id que al documento.

- mimeType: Representa el mimetype del recurso físico asociado.


View

El conjunto de vistas a los que el usuario tiene acceso determina qué campos del documento puede ver y modificar. Cuenta con los siguientes campos:

- Id: Representa el id único de la vista.

- Clase Documental (docClass): Representa la clase documental a la que pertenece la vista.

- Campos (fields): Los campos que posee la vista.


View Field

Representa el campo de una vista. Posee los siguientes campos:

- Id: Representa el id único del campo de la vista.

- Campo de Documento (docFieldId): El identificador del campo de documento asociado.

- Nivel de acceso (accessLevel): El nivel de acceso al campo de documento (Lectura, Escritura y Obligatorio).


DynamicFolder

Representa una carpeta dinámica. En Thuban® no existen las carpetas estáticas debido a los problemas de reencarpetado continuo que producen. Por esta razón, las carpetas se generan de forma dinámica en base a Queries preconfigurados. Posee los siguientes campos:

- Id: Representa el id de la carpeta.

- Clase Documental (docClass): Clase documental a la que pertenece la carpeta.


DynamicFolderItem

Representa un ítem de la carpeta dinámica. Cuenta con los siguientes campos:

- Id de carpeta (linkId): Representa el id de la carpeta a la que pertenece.

- Id de documento (docId): Representa el id del documento asociado a la entrada de carpeta.

- Ruta de carpeta padre (parent): Representa la ruta completa de carpetas del nivel superior.

- Nombre de ítem (itemName): Representa el nombre del ítem con el que se muestra la entrada.

Inventario de Servicios

La plataforma Thuban® define los siguientes servicios:

Servicio de búsqueda de documentos: permite buscar documentos utilizando los campos de indexación de los mismos.

Arq2.png


Servicio de gestión de documentos: permite crear, recuperar, modificar y eliminar documentos.

Arq3.png


Servicio de gestión de recursos: permite recuperar, modificar y eliminar recursos asociados a los documentos (archivos).

Arq4.png


Servicio de migración: se utiliza para migración transparente de repositorios. Es posible configurar la plataforma para que migre documentos de un sistema a otro a medida que se consultan.

Arq5.png


Servicio de reserva de recursos: permite establecer bloqueos de escritura sobre un recurso para evitar problemas de concurrencia al modificar un documento.

Arq6.png

Inventario de Servicios Web

La plataforma Thuban® cuenta con una capa que permite exponer los servicios del sistema a través de Servicios Web (SOAP w/attachments 1.2). Dichos Servicios Web tienen las siguientes características:

- Sin estado (Stateless): cada invocación es independiente de otras invocaciones tanto del mismo usuario como de otro.

- Sin sesión (Sessionless): no existe una sesión de usuario asociada.

- Autenticación: Cada invocación a un servicio web se autentica mediante Autenticación Básica de HTTP (plana o DIGEST).

- Autorización: Los permisos de usuario se validan de la misma manera que al utilizar otros módulos de consulta (Thuban® Power Desk y Thuban® Power Desk Web).


Actualmente se utiliza Axis 1.4 como implementación de SOAP y sólo se cuenta con servicios de consulta y modificación de documentos y archivos asociados aunque es posible exponer fácilmente cualquiera de los servicios definidos en el Core:

- Search Service: Permite buscar información de documentos almacenados en la plataforma.

- Document Service: Permite crear, modificar y eliminar documentos del sistema.

- Resource Service: Permite recuperar archivos asociados a documentos.

Vistas de Comportamiento del sistema

Inversión del Control (IoC)

La inversión de control es un principio utilizado en diversas arquitecturas de software. Indica que el flujo de control del sistema está invertido en comparación a la programación tradicional.

En la programación tradicional, el flujo de control está determinado por una parte central del código fuente que genera los subcomponentes del sistema y los relaciona entre sí. Utilizando IoC, el control centralizado se deja de lado y da lugar a la aparición de un componente externo adicional diseñado específicamente para la interrelación de componentes, donde la principal característica es que la relación entre componentes se realiza en base al comportamiento (“el qué”) sin necesidad de que otros subsistemas conozcan la implementación real de ese componente (“el cómo”).


La inversión de control se utiliza principalmente para:

- Desacoplar la ejecución de cierta tarea de su implementación.

- Dividir las responsabilidades de cada subsistema para que el mismo se enfoque en resolver únicamente el problema para el que fue diseñado.

- Liberar a los subsistemas de los supuestos sobre otros subsistemas.

- Reemplazar un subsistema sin afectar a otros.


En Thuban® todas las capas del sistema utilizan el concepto de inversión de control para manejar las relaciones entre componentes.

Vistas de Despliegue del sistema

Despliegue de la aplicación

La configuración básica de despliegue de Thuban® responde al siguiente diagrama:

Arq7.png


Se debe desplegar as aplicaciones Thuban® Server, Thuban® Web y Thuban® Admin Web en un servidor de aplicaciones JEE 1.4 compatible como WARs independientes de aplicación o conformando un único archivo EAR. El servidor de aplicaciones tiene, además, acceso a una base de datos relacional y al Storage, donde se almacenaran los documentos del sistema. El acceso por usuario se realiza a través de un explorador de internet o a través de las herramientas legacy (Power Desk y Admin Web) del sistema.

Versiones 6.2.X en adelante

A partir de la versión 6.2.X, se unificaron las tres aplicaciones, por lo tanto deberá desplegar sólo Thuban® en un servidor de aplicaciones JEE. El servidor de aplicaciones tiene, además, acceso a una base de datos relacional y al Storage, donde se almacenaran los documentos del sistema. El acceso por usuario se realiza a través de un explorador de internet o a través de las herramientas legacy (Power Desk y Admin Web) del sistema.

Arq14.png

Proyectos y Versiones

El código fuente de Thuban® está estructurado en los siguientes paquetes:

Arq8.png


Thuban-Commons: Representa los proyectos que contienen herramientas que se utilizan usualmente en el resto de los proyectos para resolver problemáticas comunes de programación.

Thuban-Core: Representa el módulo central del sistema que describe el inventario de servicios de la aplicación, los conectores, las estructuras de datos y las excepciones del sistema.

Conector-Thuban: Representa la implementación propia de los servicios de Thuban®. Incluye la capa de acceso a datos.

Web-Projects: Representa las aplicaciones web que se generan como resultado de la compilación del sistema.

Thuban-Applets: Representa los proyectos que generan Applets como resultado de la compilación.

Legacy-Tools: Representa la aplicaciones Legacy de Thuban® (Thuban® Power Desk y Thuban® Admin Desk) en sus versiones de Windows de 32 bits.





Librerías Java

A continuación se detallan las librerías Java incluidas en las versiones instalables de Thuban®.

•ZK Enterprise 3.6.1.
•Spring 2.5.6.
•Spring Security 2.0.
•Spring LDAP 1.2.1.
•Jasper Reports 3.5.2.
•Axis 1.4.
•Hibernate 3.1.
•C3P0 0.9.1.2.
•Velocity 1.5.
•Quartz 1.5.2.
•PDFBox 0.7.4.
•Log4j 1.2.14.
•JUnit 3.8.1.
•JAI 1.1.2.
•ImageIO 1.1.0.
•Java Mail 1.4.
•Activation 1.1.
•Apache Commons
      o Collection 3.2.1
      o Codec 1.3
      o io 1.3.1
      o logging 1.1.1
      o pool 1.3
      o lang 2.3
      o Discovery 0.2
      o Beanutils 1.7
      o fileupload 1.2.1
      o beanutils 1.7.0
      o Digester 1.7
•iText 2.1.4.
•JTDS 1.2.
•Antlr 2.7.6rc1
•Asm 1.5.3
•aspectjweaver 1.5.3
•avalon-framework 4.1.3
•bcmail-jdk-136
•bcprov-jdk-136
•bsh 2.0b4
•Cglib 2.1_3
•Dom4j 1.6.1
•EH Cache 1.1
•Fontbox 0.1.0
•JCommon 1.0.0
•Jempbox 0.2.0
•Jfreechart 1.0.3
•POI 3.0.1 FINAL
•Xerces 2.6.0
•Xml-api 1.3.02
•XmlParserAPI 2.6.0
•XmlSec 1.4.0

Integración

La plataforma Thuban® ofrece diversas formas de integración en distintos niveles. A continuación se explica cada una de ellas.

Integración Web por Invocación de URL

Este el método más rápido de integración porque requiere el menor esfuerzo de desarrollo. La aplicación origen debe conectarse a una URL (página web) de Thuban® y, previa autenticación, el usuario debe solicitar mediante una serie de parámetros el recurso que desea visualizar. Thuban® buscará el documento y mostrará el recurso solicitado en el explorador de internet predeterminado.


Este tipo de integración permite dos formas de autenticación:

Autenticación de usuario común: En este caso, cuando la aplicación origen invoca la URL de Thuban®, el sistema solicita usuario y contraseña para permitir el acceso y el usuario debe utilizar su usuario propio para acceder a la información.

Autenticación por usuario de aplicación: En este caso, la autenticación ya está dada por el sistema de origen y no se solicita usuario ni contraseña al intentar visualizar un documento. Para ello se utiliza un único usuario de aplicación Thuban®. Estos usuarios son identificados especialmente porque realizan controles de seguridad adicionales. Debido a que un mismo usuario de aplicación puede representar a un conjunto de usuarios de la aplicación cliente que, a su vez, pueden tener distintos perfiles de acceso, cada solicitud enviada de esta manera irá acompañada de un hash de seguridad que asegura que fue la aplicación de origen quién realizó la solicitud.


Integración por Generación de Token de acceso

Este método permite integrar Thuban® con aplicaciones Desktop y Web de manera rápida, eficiente y segura. En este mecanismo, al igual que en el anterior, la autenticación ya está dada por el sistema de origen y no se solicita nuevamente usuario ni contraseña. Para ello se realiza el siguiente procedimiento:

La aplicación origen invoca un Web Service o Http Service y solicita la generación de un Token para un usuario particular (en la mayoría de los casos, el usuario logueado en el sistema de origen). Para acceder al servicio, el sistema de origen debe loguearse mediante un usuario de aplicación o transporte. El Token generado tiene las siguientes características:

- Se encuentra asociado a un único usuario.

- Tiene un tiempo de caducidad configurable (Por defecto 15 minutos).

- Sólo se puede utilizar por única vez.


Dicho Token será posteriormente adjuntado a la URL (GET) como parámetro con el nombre “Token”.

Al procesar una URL con el parámetro TOKEN, el sistema crea una nueva sesión web para el usuario asociado al Token sin solicitar al mismo sus credenciales. Una vez utilizado el TOKEN, el sistema lo marca como consumido y no se puede volver a utilizar.


Composición del Token:

El Token se encuentra generado por el siguiente texto:

<source lang="xml">TOKEN|<usuario>|<timestamp_vencimiento></source>


Donde “TOKEN” es un texto estático, “<usuario>” es el id de usuario al cual está asociado el token y “<timestamp_vencimiento>” es una fecha en formato long representando los milisegundos desde 1900.

Una vez generado el String, se encripta mediante el algoritmo simétrico DES y posteriormente se codifica en Base 64. La codificación a Base 64 se realiza para que el TOKEN pueda viajar en una URL sin sufrir modificaciones por la interpretación de caracteres.

La clave que permite encriptar/desencriptar el Token es conocida solamente por Thuban®.

Integración por Web Services

La integración mediante Servicios Web permite a otras aplicaciones que, no necesariamente fueron desarrolladas en java, obtener el acceso a recursos de Thuban® de manera uniforme. Por cuestiones de realización, los servicios expuestos mediante Web Services cuentan con una interfaz de comunicación simplificada pero totalmente funcional. La plataforma utiliza Axis 1.4 como motor de SOAP y expone los "wsdl" de acceso a los mismos a través de una URLs.

Integración de Front End (Thuban® Development Kit)

La plataforma cuenta con un set de herramientas que permiten integrar componentes de presentación y lógica de negocio denominado Thuban® Development Kit. Este paquete cuenta con componentes de presentación desarrollados en las siguientes tecnologías:

Java Swing: Componente de visualización y manipulación de imágenes.

Microsoft ActiveX: Permite la visualización y manipulación de imágenes.

Potix ZK: Permite la búsqueda, visualización y manipulación de documentos.

Integración de Back End (Conectores)

Como se mencionó anteriormente, es posible situar a la plataforma Thuban® como gestor de contenidos almacenados en otros sistemas de EDM. La capa de servicios posee una subcapa denominada Service Locator que le permite invocar distintos conectores para obtener la información de los documentos de manera dinámica.

Es responsabilidad de cada implementación del conector transformar la información del sistema nativo a la estructura de datos básica definida anteriormente. Así, si se desea consumir desde Thuban® la información almacenada en otros sistemas, sólo es necesario implementar aquellos servicios que se deseen utilizar.

En el siguiente diagrama se puede observar que es posible definir diversas implementaciones de un mismo servicio y, mientras se honre el contrato predefinido, la información puede provenir de “N” repositorios distintos y el usuario puede manejarlos desde una única herramienta sin tener noción de la complejidad interna que se maneja.


A continuación se pueden observar las diversas implementaciones de un servicio:

Arq9.png

Migración Transparente de otros Sistemas

El esquema más común de integración es el que se define para la migración transparente de información. En este esquema, la información asociada a los documentos se migra en una etapa inicial y, a medida que se consultan los documentos, van siendo migrados al nuevo sistema de forma transparente. Una vez que finaliza el proceso, la copia se elimina del viejo sistema. Las sucesivas consultas al recurso asociado al documento traen la información del nuevo sistema.

Cualidades Sistémicas

Arq10.png


Escalabilidad: Thuban® permite escalar horizontalmente a “N” servidores de aplicación. Debido que se trata de servicios Stateless y la gestión de recursos se realiza en la base de datos, no es necesario que los servidores se aplicación se encuentren configurados como cluster, sino simplemente replicados, reduciendo el overhead y facilitando la administración de los mismos.


Seguridad: Thuban® permite integrarse tanto a ActiveDirectory como a otras soluciones de LDAP para autenticación de usuarios. Además puede configurarse para funcionar en esquemas de single sign-on con servicios como CAS. En cuanto a la autorización, Thuban® permite definir dinámicamente el acceso a las clases documentales del sistema con un alto grado de granularidad, determinando qué acciones puede ejecutar cada perfil (consultar, imprimir, eliminar, agregar notas, etc) y qué información puede visualizar y modificar (campos del documento).


Performance y Throughput: Thuban® se construyó utilizando las mejores prácticas para el desarrollo de Software, lo que permite manejar grandes cantidades de volumen de documentos electrónicos sin que decaiga su rendimiento .


Portabilidad: Thuban®, a partir de su versión 5, está desarrollada por completo en Java, lo que la hace portable a cualquier plataforma de Hardware y Software.


Usabilidad: Thuban® cuenta con interfaces de usuario especialmente diseñadas para ser simples, intuitivas y eficientes. Cuenta con herramientas de monitoreo que permiten la mejora continua de los procesos y herramientas de reporting (reportes) para exportar la información almacenada fácilmente. Además, cuenta con herramientas de auditoría para realizar el seguimiento de información sensitiva.


Gestionabilidad: Thuban® permite administrar y monitorear el sistema y los procesos de negocio de de manera ágil. En este sentido, algunas de sus funciones más importantes son la administración inteligente de sistemas de archivos (que permite realizar backups incrementales de información en el sistema de archivos, optimizando tiempo y volumen), el monitoreo y la ejecución de alarmas en puntos de control en procesos, y las funciones de auditoría, que permiten realizar el seguimiento de los cambios de configuración realizados en el sistema.


Confiabilidad: Thuban® gestiona de manera confiable la información del sistema: realiza controles de consistencia en la transferencia de archivos y transacciones en el acceso a datos, de esta manera evita estados inconsistentes de información.