Académique Documents
Professionnel Documents
Culture Documents
www.ste.es
Entorno Tecnolgico
NDICE GENERAL
1. 2. Introduccin ................................................................................................................... 5 Arquitectura del sistema................................................................................................. 6 2.1. 2.2. 2.3. Introduccin............................................................................................................ 6 Arquitectura en 3 capas ......................................................................................... 6 Detalle de la arquitectura ....................................................................................... 7 Nivel 0: Cliente ............................................................................................... 8 Nivel 1: Servicios de usuario ........................................................................ 10 Nivel 2: Lgica de negocio ........................................................................... 11 Nivel 3: Servicios de datos ........................................................................... 12
2.4.1. 2.4.2. 3.
Comunicaciones .......................................................................................................... 17 3.1. Necesidades en materia de comunicaciones....................................................... 17 Software de base necesario......................................................................... 17 Estrategias de sincronizacin....................................................................... 18 Mecanismos de infraestructura para comunicaciones ................................. 20
Requisitos adicionales ......................................................................................... 25 Pruebas SISPE ............................................................................................ 25 Pruebas internas .......................................................................................... 25 Funcionamiento en modo degradado........................................................... 25
Resumen.............................................................................................................. 26
Interfaces con otras aplicaciones................................................................................. 28 Funcionalidades aadidas ........................................................................................... 29 5.1. Gestin de procesos automticos ........................................................................ 29
Entorno Tecnolgico
Usabilidad en la creacin de informes ................................................................. 30 Agenda del Gestor ............................................................................................... 31 Bsqueda parametrizada ..................................................................................... 32 Utilizacin del visor para documentos: conversin en pdf ................................... 33 Comunicaciones entre entidades gestoras .......................................................... 34 Gestin de canales comunicacin ....................................................................... 34 Uso de metainformacin ...................................................................................... 36 Mdulo de estadsticas ........................................................................................ 36 Herramientas para gestin de la configuracin................................................ 37
NDICE DE FIGURAS
Ilustracin 1 Ilustracin 2 Ilustracin 3 Ilustracin 4 Ilustracin 5 Ilustracin 6 Ilustracin 7 Ilustracin 8 Ilustracin 9 Ilustracin 10 Ilustracin 11 Ilustracin 12 Ilustracin 13 Ilustracin 14 Ilustracin 15 Ilustracin 16 Esquema de arquitectura de niveles de SICAS ............................................. 7 Detalle de Arquitectura SICAS . Modelo J2EE............................................... 8 Interface grfica de usuario . Entidades involucradas.................................... 9 Bloques del modelo de presentacin ............................................................. 9 Interface Objetos de Datos BD.................................................................. 13 Arquitectura SICAS Entorno Hardware/Software ...................................... 14 Esquema de la plataforma ideal para soportar la aplicacin SICAS ........... 16 Esquema de plataforma para comunicaciones SICAS ................................ 18 Listado de servicios de intercambio fases A y B de SISPE ......................... 21 Esquema mecanismo asncrono .............................................................. 24 Arquitectura de la capa de comunicaciones SICAS ................................. 26 Diseo de la infraestructura para los procesos automticos.................... 29 Modelo de informes .................................................................................. 30 Esquema de la Agenda del gestor ........................................................... 31 Pantalla de la Agenda del gestor.............................................................. 32 Bsquedas Parametrizadas. Modelo basado en Filtros ........................... 33
Entorno Tecnolgico
Visualizador de informes de SICAS ......................................................... 34 Gestor de comunicaciones SICAS . Entidades involucradas ................... 35 Bloques del Gestor de comunicaciones ................................................... 35 Esquema de metainformacin.................................................................. 36 Estadsticas del sistema de intermediacin laboral.................................. 36 Pantalla de la herramienta de incidencias................................................ 37
Entorno Tecnolgico
1.
Introduccin
En este documento se presenta el entorno tecnolgico de la aplicacin SICAS. La arquitectura de SICAS se basa en la utilizacin de software abierto lo que permite minimizar el coste de instalacin de este sistema, y asegurar su portabilidad y crecimiento. En los apartados siguientes se describen sus caractersticas principales.
Entorno Tecnolgico
2.
2.1. Introduccin
La arquitectura de aplicacin necesaria para el proyecto del Sistema de Intermediacin Laboral (en adelante SICAS) tiene los siguientes condicionantes: Los requisitos de comunicacin marcados por SISPE hacen necesaria la utilizacin del monitor transaccional Tuxedo como elemento de conectividad e integridad transaccional con el servicio estatal. Aunque la aplicacin no obliga a utilizar un gestor de base de datos determinado (el nico requisito es soportar el protocolo XA), el nico gestor de datos con el que se han realizado pruebas desde el proyecto SISPE ha sido Oracle. Adems, desde SISPE se recomienda utilizar la versin 8.1.7. Se utilizar una arquitectura basada en el modelo J2EE, lo cul implica la utilizacin de un Servidor de Aplicaciones que sirva las peticiones recibidas a travs de un navegador por parte del usuario. El nico producto del mercado que cumple con los requisitos de SISPE y permite utilizar una arquitectura J2EE es BEA WebLogic Server en su ltima versin ya que contiene el componente necesario (WebLogic Tuxedo Conector, WTC) que permite delegar en el servidor de aplicaciones el control transaccional y propagarlo a Tuxedo de manera que se respeten los requisitos de integridad y bi-direccionalidad marcados por SISPE.
Entorno Tecnolgico
comentado, el nico servidor de aplicaciones del mercado que permite cumplir con los requisitos marcados desde el proyecto SISPE es BEA WebLogic. Acceso a los datos Con el uso de Ansi-SQL, y pl/sql, se construye una capa a modo de vista lgica a nivel de datos y de funciones, esto nos permite la portabilidad a todos los gestores que trabajan bajo este estndar, adems de ofrecer mejores controles de seguridad en los datos. El estndar J2EE se basa en una arquitectura en 3 capas tal y como se muestra en la figura siguiente.
MAQUINA CLIENTE Capa Cliente
Servlets
Capa Negocio
EJBs
SERVIDOR COMUNICACIONES
Capa Interconexin
Ilustracin 1
Entorno Tecnolgico
Aplicacin J2EE Entity Beans Stateless Beans Aplicacin WEB Procesos Batch HTML Servlets Clases java Acceso a ficheros MultiPools (XA/JDBC) Mensajes JMS
Ilustracin 2
2.3.1. Nivel 0: Cliente Cliente (Navegador IExplorer , Netscape, otros compatibles con el Java plug-in de Sun) Nivel de interaccin con el usuario; permite la visualizacin de informacin con grficos y animaciones, y el envo de peticiones a la aplicacin (lo que incluye modificacin de datos, firma electrnica, envo de documentos, etc.) Aplicaciones Lenguajes utilizados Herramientas Navegador, herramientas ofimticas Java, applets, XML Thinlet, HTTP, XML Internet Explorer y Netscape Navigator / Communicator
Entorno Tecnolgico
BD
Ilustracin 3
Tablas valores Parte Servidora Parte Cliente Thinlet realiza un parsing de los ficheros xml para incorporarlos como objetos estilo AWT, al contenedor que es el applet, y responde a los eventos de pantalla redireccionando a los mtodos de la clase cliente. SISPE/SICAS T3filesystems
Pantalla XML
Almacenamiento Local
Thinlet Modelo Tablas Thinlet SICAS API Cliente Proceso Applet Informes Cliente Librerias Cliente
Ilustracin 4
Entorno Tecnolgico
10
2.3.2. Nivel 1: Servicios de usuario (Desvincula el diseo de interfaz con el usuario de las otras capas) Se subdivide en dos pequeas capas, una se coloca en el servidor de aplicaciones, que ser la encargada de aceptar las peticiones de la parte que residir en el cliente. La parte que reside en el servidor utiliza: Tecnologas: Servlets, clases Java. En este nivel se atienden las peticiones de los clientes y se generan las llamadas correspondientes a las reglas de negocio. Cuando la regla de negocio ha finalizado, se retorna la informacin de respuesta al usuario, mediante objetos de intercambio de informacin. Entorno Aplicaciones Lenguajes utilizados Componentes Servlets de recepcin Redireccionan las peticiones del cliente al componente asociado. Cada peticin tiene un componente asociado, que es el que sabe cmo interpretar las peticiones en funcin de la informacin del objeto e intercambio. Clases java, que evaluan la informacin del objeto, y controlan restricciones del usuario a nivel de acceso a funciones, y son los encargados de invocar a las reglas de negocio bien directamente mediante instanciacin o bien mediante invocaciones remotas mediante RMI a EJBs. Servidor Servidor de aplicaciones (con servicio de aplicaciones web, servlets) Java, J2EE.
Delegados
Interficie del nivel Comunicacin con el Se utiliza comunicacin de objetos sobre http, serializada y nivel servicio de usuario comprimida segn el protocolo zip. en cliente La parte que reside en el cliente utiliza: Tecnologas: Applets, Thinlet, clases Java. Entorno Aplicaciones Lenguajes utilizados Cliente Java plug-in Java, XML Thinlet
Entorno Tecnolgico
11
Componentes Clientes Clases java tipo applet, que controlan los eventos que se producen en la pantalla y delegan en la capa de lgica de pantalla. Clases java que implementan parte de la lgica del proceso, validaciones de datos introducidos, etc.
Comunicacin con el Se utiliza comunicacin de objetos sobre http, serializada y nivel servicio de usuario comprimida segn el protocolo zip. en servidor 2.3.3. Nivel 2: Lgica de negocio (Lgica de la aplicacin en forma de reglas de negocio que plasman el flujograma de procesos asociados a la operacin) Tecnologas: (EJBs, RMI, JMS, JNDI), J2EE Es en este nivel donde se realizan los procesos asociados a la lgica de negocio. Para ello se apoya en el nivel superior, servicios de usuario, que le proporciona los parmetros necesarios para su ejecucin y en el nivel inferior, servicios de datos, que es el que realiza todas las selecciones y actualizaciones sobre las fuentes de datos. Entorno Aplicaciones Lenguajes utilizados Herramientas Componentes Reglas de negocio de Son las reglas de negocio dirigidas a procesar las peticiones nivel 1 directas del nivel superior (delegados). Son las responsables de asegurar la integridad transaccional del proceso. Reglas de negocio de Se compone de aquellas reglas de negocio que pueden ser nivel 2 reutilizadas por otras reglas de negocio de nivel 1 o 2. Interficie del nivel Comunicacin con el Mediante el protocolo RMI, que permite la ejecucin de las nivel servicio de datos reglas de negocio y los servicios de datos en mquinas separadas. Mediante conexiones JDBC directas a BD, para consultas, etc. Servidor Servidor de JavaBeans) Java Weblogic Server, WebGain VisualCafe aplicaciones (con servicio de Enterprise
Entorno Tecnolgico
12
Comunicacin entre Mediante la utilizacin del protocolo RMI, que permite la reglas de negocio ejecucin distribuida de las reglas de negocio, y de los EJBs (Enterprise Java Beans del estndar J2EE), que permiten a los servidores de aplicaciones: Balanceo de cargas, mediante la replicacin de RN Transacciones distribuidas, con el uso de Two Phase Commit Comunicacin reglas de externas con El estndar J2EE, mediante la interficie que provee los EJBs, negocio permite la comunicacin y ejecucin de reglas de negocio externas. Las RN estn escritas en Java que acepta el estndar de objetos CORBA.
2.3.4. Nivel 3: Servicios de datos Tecnologas: Session/Entity Java Beans, JTA, Weblogic Tuxedo Connector (WTC), RMI, JMS, JNDI En este nivel se desarrolla la interaccin con los gestores de bases de datos; se recupera y se modifica informacin. Se subdivide a su vez en dos subcapas, una que se ubica en el servidor de aplicaciones, constituida de EJB tipo Entity que actan como cache de la BD, y permiten la comparticin de la informacin entre diferentes procesos sin accesos a BD individuales. La segunda capa est formada por el modelo lgico que ofrece la base de datos, un modelo constituido por un conjunto de vistas, funciones y procedures que pertenecen al dominio del SGBD. Subcapa del servidor de Aplicaciones: Entorno Aplicaciones Lenguajes utilizados Componentes Objetos de acceso a Cada objeto corresponde a una entidad de la base de datos. datos Cada objeto provee una interficie a los datos y operaciones de la tabla que representa mediante el uso de propiedades y mtodos, que encapsulan llamadas Ansi-SQL. Subcapa del gestor de base de datos: Entorno Aplicaciones Lenguajes utilizados SGBD Oracle Servidor de BBDD SQL, PL/SQL Servidor Servidor de aplicaciones (con servicio de RMI) Java, J2EE
Entorno Tecnolgico
13
Componentes Vistas Cada vista corresponde a un subconjunto homogeneo de in formacin que ser tratado por las reglas de negocio.
Funciones de consulta y Un conjunto de funciones constituyen el api que la BD publica a modificacin las reglas de negocio, para encapsular el modelo fsico y aislar a las reglas de la implementacin actual y/o futura de las tablas.
R.N.
API Clases java Scripts bsh Completa Sub-sistema Diagrama de clases
Stateless Interprete, Operaciones multiples sobre objetos modelados en Entities Rdto, cache Independiente SGBD y Modelo fsico
EJB Stateless
EJB Entity
Clase Queries
API Modif
BD
Entorno Tecnolgico
14
Ilustracin 6
En los apartados siguientes se detallan los requisitos a nivel de software y hardware. 2.4.1. Software SISPE marca como elemento necesario para la comunicacin entre los sistemas el siguiente: Monitor transaccional BEA Tuxedo versin 8 Adems, recomienda utilizar como gestor de Base de Datos autonmico Oracle 8.1.7, por ser el gestor utilizado en las pruebas de viabilidad. El software adicional necesario para la aplicacin SICAS es el siguiente: Servidor de aplicaciones: BEA WebLogic Server 6.1, actualizado al ltimo service pack Servidor web (opcional) Netscape Enterprise Server Microsoft IIS
Entorno Tecnolgico
15
Apache Web Server Navegador: IExplorer 6 o superior, o Netscape Navigator 6.2 o superior En PCs con sistema operativo Windows o Linux, y una resolucin mnima de 1024x768, y java-plug-in versin 1.4.1. 2.4.2. Hardware En la figura siguiente se muestra un esquema de la plataforma ideal para soportar la aplicacin SICAS. En ella se han considerado dos aspectos importantes: la escalabilidad y la alta disponibilidad. Por eso, aparecen replicadas las mquinas de Tuxedo, WebLogic y base de datos. Esta plataforma no pretende mostrar requerimientos concretos sino nicamente indicaciones para dimensionar correctamente el sistema. La plataforma mostrada servira para soportar una carga estimada de 500 usuarios concurrentes (unos 2000-3000 usuarios diarios).
Entorno Tecnolgico
16
INTERNET 0 / 28
0 / 28 Firewall Perimetral
ENTIDADES GESTORAS
Balanceador LB Alten
0 / 24 FRONTEND WEB Servidor Web 1 E220R 2 CPUs 1 Gb Ram 2 HD 36 GB Servidor Web 1 E220R 2 CPUs 1 Gb Ram 2 HD 36 GB
Cisco 2600
INEM
Weblogic Weblogic Weblogic Weblogic 1 E220R 1 E220R 1 E220R 1 E220R 2 CPUs 2 CPUs 2 CPUs 2 CPUs 4 Gb Ram 4 Gb Ram 4 Gb Ram 4 Gb Ram 2 HD 36 GB2 HD 36 GB 2 HD 36 GB 2 HD 36 GB
BROADCAST CLUSTER
Ilustracin 7
Entorno Tecnolgico
17
3.
Comunicaciones
En este captulo se enumeran los requisitos que debe cumplir un Sistema de Intermediacin para las CCAA de Sistema Propio, para poder realizar comunicaciones con la red del Servicio Pblico de Empleo, segn las normas y protocolos que establece el proyecto SISPE. Asimismo se detalla como se cumplen estos requisitos para la solucin tecnolgica presentada en este documento. La interconexin entre los sistemas definida en SISPE debe basarse en los siguientes puntos: Todos los Sistemas Informticos de las CC.AA. estarn conectados con el Sistema Informtico Estatal para el intercambio de informacin. El acceso a la informacin de una Comunidad Autnoma desde otra Comunidad Autnoma se realizar a travs del Sistema Informtico Estatal. SISPE contempla una serie de Entidades y Procesos para el intercambio de informacin entre sistemas. Para cada Entidad, se ha definido un conjunto de datos, denominados Datos Comunes SISPE, que han de ser compartidos por todos los sistemas de informacin y que sern los nicos contemplados.
Entorno Tecnolgico
18
Encapsulamiento de la parte especfica de comunicaciones: software Tuxedo y elementos de envo y recepcin de buffers El modelo de aplicacin utilizado delega el control transaccional sobre el servidor de aplicaciones WebLogic, lo que permite que todo el acceso a datos se realice mediante objetos Java, y no a travs de Tuxedo. Esto aporta flexibilidad e independencia de la implementacin fsica para adaptarlo a las necesidades concretas del sistema autonmico Para cumplir con los requisitos de transaccionalidad definidos en SISPE, se utiliza el producto (interno de WebLogic) WTC (WebLogic Tuxedo Connector) que permite delegar el control transaccional a WebLogic a travs del API JTA de Java. El gestor de base de datos debe cumplir el protocolo transaccional XA (Oracle en la versin utilizada y superiores, lo cumple)
Servidor de Aplicaciones WebLogic
SGBD Oracle
XA
WTC
Tuxedo
Ilustracin 8
3.1.2. Estrategias de sincronizacin Al tratarse de un sistema con varias aplicaciones y bases de datos interconectadas, debe poder garantizarse la integridad en cualquier momento. Para eso, SISPE define un conjunto de estrategias para asegurar la sincronizacin e integridad de los datos en todos los sistemas.
3.1.2.1. Distribucin de datos comunes en copia maestra y copia esclava
Existen dos tipos de datos dentro del modelo de datos a definir dentro de la aplicacin de intermediacin: datos comunes (definidos por SISPE) y datos propios de cada CA. Cada registro de datos de los datos comunes debe pertenecer a un solo sistema, aunque pueden existir rplicas en otros sistemas. Se definen, por tanto, datos maestros y datos esclavos de un sistema en funcin de si pertenecen o no al sistema en cuestin. En caso de fallo del sistema o inconsistencia, siempre se considerar la copia maestra de los datos como la buena y todas las copia esclavas debern igualarse con ella. Dentro de los datos comunes se han definido diferentes dominios, cada uno de ellos formado por entidades. Los dominios que intervienen en esta fase de SISPE son intermediacin y Entidades Comunes. La copia maestra de las Entidades Comunes (PERSONA FSICA, EMPRESARIO y EMPLEADOR) deber encontrarse en el SEPEe ya que pueden afectar a ms de un sistema autonmico.
Entorno Tecnolgico
19
Las copias maestras de las entidades del dominio de intermediacin estarn distribuidas entre los sistemas autonmicos de forma que la copia maestra residir en la CA que la gestione en dicho momento (la copia esclava estar en el SEPEe). Esto slo afectar a los datos comunes definidos para SISPE. Cada CA podr disponer de datos propios, que no tendrn que seguir estas reglas. Es obligacin de cada sistema conocer para cada dato si posee la copia maestra o esclava. Asimismo, debern implementarse los mecanismos adecuados para poder recuperar los datos de una copia maestra en caso de error o inconsistencia.
3.1.2.2. Bloques de Sincronizacin e Indicadores de nivel
El sistema de copias maestras y esclavas implica una serie de condiciones a la hora de actualizar los datos: Las actualizaciones deben producirse primero independientemente del tipo de proceso utilizado, sobre las copias maestras,
Deben habilitarse herramientas de sincronizacin entre datos maestros y esclavos, tanto a nivel de aplicacin como de sistema. Adems, podran producirse actualizaciones sncronas y asncronas que afectaran a un mismo registro y provocar inconsistencias. Por ello, se define una divisin de los datos comunes en uno o varios grupos de datos de tal manera que se interacte siempre sobre el mismo grupo de datos, SISPE los llama bloques de sincronizacin. Cada bloque de sincronizacin debe llevar asociado un indicador de nivel que permitir comprobar, contra la copia maestra, que se dispone de la versin ms actualizada de los datos. Cada sistema debe asegurar la divisin clara en su bbdd de datos comunes y datos propios, copia maestra y esclava, y la divisin de los datos comunes en bloques de sincronizacin asociando adems un indicador de nivel a cada uno de ellos, de tal manera que cualquier proceso que acceda a datos comunes en modo escritura, pueda asegurar la sincronizacin con el sistema estatal a partir de ellos. El sistema debe asegurar adems que, en caso de realizarse actualizaciones de datos comunes a travs del acceso de otras aplicaciones, se respetan las estrategias de sincronizacin SISPE.
3.1.2.3. Sincronizacin de tablas
Para garantizar adems la coherencia de los datos intercambiados, se debe asegurar que las tablas de referencia son las mismas en cada uno de los sistemas. Es decir, que los cdigos que se utilizan dentro de cada registro de la aplicacin, son los mismos, llevan asociadas las mismas validaciones y se interpretan de igual forma en cada uno de los sistemas.
Entorno Tecnolgico
20
SISPE define un protocolo de comprobacin y sincronizacin de tablas diario, de tal manera que ningn sistema puede entrar en comunicaciones si no se ha comprobado que sus tablas estn a nivel con las dems. Cada sistema debe validar diariamente, mediante el protocolo de sincronizacin de tablas establecido por SISPE que sus tablas de cdigos se corresponden exactamente con las comunes.
3.1.2.4. Equivalencias de valores
El hecho de disponer de datos y procesos propios, implica disponer de tablas de valores propias para cada CA. La aplicacin de intermediacin debe poder realizar las equivalencias necesarias entre valores propios y valores comunes SISPE, cuando se produzcan comunicaciones en cualquiera de los sentidos (de INEM a CA, o de CA a INEM). 3.1.3. Mecanismos de infraestructura para comunicaciones Todas las comunicaciones pasarn por la invocacin de servicios de intercambio, definidos como unidades bsicas de funcionalidad. El acceso a estos servicios se realizar mediante el envo y la recepcin de buffers de datos. Estos buffers son cadenas fijas de caracteres que deben seguir un formato estndar comn a todos los sistemas. SISPE define adems varios protocolos o tipos de comunicacin posibles entre los sistemas, para la invocacin de los servicios y el envo y recepcin de buffers.
3.1.3.1. Servicios de Intercambio
Los servicios de intercambio son unidades bsicas de funcionalidad, de tal manera que un proceso comn SISPE se puede desglosar en uno o varios servicios de intercambio. La lista de servicios de intercambio a desarrollar para la entrada en produccin de SISPE fase 1, es la siguiente:
Entorno Tecnolgico
21
Persona Fsica NPFALTAX NPFCONSK NPFMODSX NPFACTIX Demanda IDEALTAX IDECONSK IDEMODIX IDECOPRK IDECSITX IDERENOX Empresario NEMALTAX NEMCONSK NEMMODSX NEMACTIX Empleador NCCALTAX NCCCONSK NEMCOUCK NCCMODSX NCCACTIX Oferta IOFALTAX IOFCON1K IOFMODIX IOFCSIMX Relacin Demanda-Oferta IODALTSX IODCONRK IODMODSX
Alta de una Persona Fsica desde una CA Consulta de los datos de una Persona Fsica Modificacin de los datos de una Persona Fsica en SEPE Activacin/Desactivacin de los datos de la Persona Fsica Alta de datos G1 de la Demanda Consulta de datos de la Demanda Modificacin de datos de la Demanda desde la CA de inscripcin Consultas a prestaciones bsica Cambio de Situacin Administrativa de la Demanda Renovacin de la Demanda desde la CA de inscripcin Alta de un Empresario desde una CA Consulta de los datos de un Empresario Modificacin de los datos de un Empresario en SEPE Activacin/Desactivacin de los datos del Empresario Alta de los datos de una Cuenta de Cotizacin desde una CA Consulta de los datos de una Cuenta de Cotizacin Consulta de la ltima CC de un Empresario Modificacin del domicilio de una Cuenta de Cotizacin provisional en SEPE Activacin/Desactivacin de los datos de la Cuenta de Cotizacin Alta de Oferta datos G1 Consulta individual de ofertas por Identificador Modificacin de datos de una oferta Cambio de situacin manual de la oferta Alta de la relacin Oferta-Demanda en SEPE Consulta de la relacin Oferta-Demanda Modificacin de la Relacin Oferta-Demanda en SEPE
PS2PC PSno2PC PS2PC PS2PC PS2PC PSno2PC PS2PC PSno2PC PS2PC PS2PC PS2PC PSno2PC PS2PC PS2PC PS2PC PSno2PC PSno2PC PS2PC PS2PC PS2PC PSno2PC PS2PC PS2PC PS2PC PSno2PC PS2PC
CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM
Persona Fsica NPFMODCW NPFCAISX NPFCAICW NPFBAJAX Demanda ISEALTAX ISECONSK ISEAMPLX IFOALTAX IFOCONSK IFOMODIX IDESDETK IDESG3TK IDESOLTX IDEBORTX IDEBAJ3X IDECRUCX ISEBAJAX IFOBAJAX IDERETCX IDECHCOK IDECHILK IDECOMPK IDERECHK IDECIPIK IDECITIK Empresario NEMMODCW NEMCOCCW NEMCAISX NEMCAICW NEMBAJAX Empleador NCCMODCW NCCAIDCW NCCBAJAX Relacin Demanda-Oferta IODCOBEX IODEMPAX Contrato ICOALTCW Generales XXXCNISK XXXCNICK XXXRNISK XXXRNICK XXXPNISK XXXPNICK
Modificacin de los datos de una Persona Fsica en CA Cambio de identificador de una Persona Fsica en SEPE Cambio de identificador de una Persona Fsica en CA Borrado de una Persona Fsica Alta de un servicio recibido Consulta de un servicio recibido Ampliacin de un servicio recibido Alta de una formacin ocupacional Consulta de una formacin ocupacional Modificacin de una formacin ocupacional Solicitud de Demanda para traslado Solicitud de datos G3 para traslado Solicitud de traslado de una Demanda Eliminacin de la Demanda en la CA de origen cuando se traslada Eliminacin de datos G3 de la Demanda Informacin de cruces a la CA Baja de un servicio recibido Baja de una formacin ocupacional Repercusin de los datos de alumnos de ETCOTE a la CA Consulta de historiales del histrico de demanda Consulta de historiales de demanda Consultas sobre prestaciones mltiple Recuperacin de historiales (para copias que no estn a nivel) Consulta por Identificador de Periodos de Inscripcin de la Demanda Consulta por del tiempo ininterrumpido como desempleado de la Demanda Modificacin de los datos de un Empresario en CA Consulta de los datos de las Cuentas de Cotizacin de un Empresario Cambio del identificador de un Empresario en SEPE Cambio del identificador de un Empresario en CA Borrado de los datos del Empresario solicitado Modificacin de los datos de una Cuenta de Cotizacin en CA Cambio en CA del Identificador de una cuenta de cotizacin provisional Borrado de los datos de una Cuenta de Cotizacin Repercusin de la cobertura de puesto sobre Oferta, Demanda, Relacin Oferta-Demanda Emparejamiento estatal Comunicacin de alta de contratos por internet Comprobacin de nivel con el SEPE Comprobacin de nivel con una CA Recuperacin de niveles con el SEPE Recuperacin de niveles con una CA Puesta a nivel en SEPE Puesta a nivel en una CA
PetAsinc PS2PC PetAsinc PS2PC PS2PC PSno2PC PS2PC PS2PC PSno2PC PS2PC PSno2PC PSno2PC PS2PC PS2PC PS2PC PS2PC PS2PC PS2PC PS2PC PSno2PC PSno2PC PSno2PC PSno2PC PSno2PC PSno2PC PetAsinc PetAsinc PS2PC PetAsinc PS2PC PetAsinc PetAsinc PS2PC PS2PC PS2PC PetAsinc PSno2PC PSno2PC PSno2PC PSno2PC PSno2PC PSno2PC
INEM>CA CA>INEM INEM>CA CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM CA>INEM INEM>CA CA>INEM INEM>CA CA>INEM INEM>CA CA>INEM CA>INEM INEM>CA CA>INEM CA>INEM CA>INEM INEM>CA CA>INEM CA>INEM INEM>CA INEM>CA CA>INEM INEM>CA CA>INEM INEM>CA INEM>CA CA>INEM INEM>CA CA>INEM INEM>CA CA>INEM INEM>CA CA>INEM INEM>CA CA>INEM INEM>CA
Ilustracin 9
Entorno Tecnolgico
22
Los buffers de comunicaciones son cadenas fijas de caracteres que deben seguir el juego de caracteres comn ISO-8859-1. Tienen una estructura fija formada por una cabecera (de formato comn para cualquier tipo de peticin) y una estructura de datos particular para cada una de las entidades y servicios definidos. Todos los sistemas deben comunicarse utilizando estos buffers comunes, con independencia de los formatos de comunicacin y de almacenamiento internos que utilicen. El sistema SICAS encapsula la construccin del buffer en unos objetos Java especficos, de tal manera que, en caso de que en algn momento se decidiera cambiar el formato de comunicaciones entre los sistemas, nicamente se tendra que modificar ese cdigo. Por la arquitectura utilizada permite adems multitud de posibilidades de interconexin diferentes a las que plantea SISPE.
3.1.3.3. Protocolos de comunicacin
Tal como define SISPE, el modelo de intercambio de informacin entre sistemas deber permitir el procesamiento de actualizaciones en tiempo real y el procesamiento de actualizaciones de forma diferida en el tiempo. En cualquier caso el sistema debe garantizar la integridad transaccional y la consistencia de los datos comunes almacenados en cada base de datos.
3.1.3.3.1. Sncrono
Existen varios procesos cuya criticidad obliga a realizar actualizaciones de datos en cada sistema on line, y garantizando la integridad transaccional. Este tipo de procesos utilizarn el mecanismo SISPE sncrono. Se basa en la realizacin de transacciones distribuidas mediante el protocolo estndar twophase commit. Cada sistema debe disponer e implementar la infraestructura necesaria para garantizar la integridad transaccional mediante protocolo two-phase commit. Esto incluye: Disponer de un gestor de base de datos compatible XA Disponer de un elemento coordinador transaccional (que puede ser el propio monitor Tuxedo, un componente Java utilizando el estndar JTA, o cualquier elemento capaz de iniciar y propagar una transaccin hacia Tuxedo) Si es Tuxedo quien ejerce de coordinador transaccional, se est forzando un modelo de aplicacin basado en el desarrollo de toda la lgica de acceso a datos mediante servicios
Entorno Tecnolgico
23
Tuxedo. Lo cul es poco parametrizable, no es portable (ya que la compilacin debe realizarse en cada sistema), y difcil de mantener. Por eso SICAS utiliza cdigo Java para el acceso a datos y el protocolo JTA para el control de las transacciones. De esta manera se consigue un sistema adaptado a las necesidades propias de la CA, portable y escalable. Los procesos sncronos pueden ser tambin de consulta, en ese caso no es necesario habilitar el envolvente transaccional. Todas las invocaciones sncronas de la CA al INEM deben realizarse sobre el servicio Tuxedo estatal SISPEFRN. El sistema autonmico debe ofrecer un servicio SISCAFRN donde recibir todas las peticiones sncronas del INEM. Asimismo, debe ser capaz de enrutar las llamadas a este servicio hacia el/los servicio/s interno/s que debe/n atender la peticin.
3.1.3.3.2. Asncrono
Para todas aquellas comunicaciones que no requieran de una respuesta on line, y donde sea aceptable que la integridad transaccional pueda estar diferida en el tiempo, se debe implementar el protocolo asncrono. Este protocolo permite separar el procesamiento local del procesamiento remoto. Se basa en un sistema de colas en cada uno de los sistemas donde insertar las peticiones. En caso de no estar el otro sistema disponible, el propio sistema de colas debe realizar los reintentos necesarios para garantizar finalmente la integridad en ambas bbdd. Cada sistema debe implementar el protocolo asncrono. Esto incluye: Disponer de un sistema de colas transaccional (SISPE no concreta la tecnologa a utilizar, pero puede realizarse mediante Tuxedo /Q, JMS, o sistema equivalente) con autorecuperacin, sistema de reintentos y procesamiento automtico de estados De manera equivalente al caso sncrono, deben implementarse unos servicios Tuxedo especficos para recibir o invocar peticiones asncronas. SICAS utiliza JMS (Java Messaging Service) para el desarrollo del sistema de colas, por la facilidad de implementacin, configuracin y administracin de las colas. Permite un control de las colas mucho mayor que el sistema de Tuxedo, integrado completamente en el resto de la aplicacin. En la figura siguiente se muestra el esquema utilizado por SICAS para la implementacin del mecanismo asncrono.
Entorno Tecnolgico
24
EventBeanId EventBeanId
StateBeanId StateBeanId
DataBase DataBase
JMSQueueId JMSQueueId
Cabecera JMS Cabecera JMS +Buffer +Buffer Inicial(I) Inicial(I) Tx1 Estado [ I->E ] INICIAL end Tx1 Tx1
Servicios remotos de colas de Tuxedo Cola Cola Tuxedo Tuxedo OutBnd OutBnd
Tx1
Estado [ E->P/F ] ENVIADO Time Time Out Out Estado [ P->C ] PROCESADO Purga de cola
Tx2
Tx2
end
Tal como define SISPE, este mecanismo surge para dar respuesta a determinadas situaciones que necesitan un mecanismo especial de transferencia de informacin. En los mecanismos anteriores, existe una limitacin de tamao del buffer de informacin que se intercambia (limitacin impuesta por el sistema del INEM). Exactamente ese lmite est en 4 KB (4.096 bytes de informacin entre cabecera de control y datos). Debido a esta restriccin, el mecanismo de Transferencia de Ficheros hace referencia a la forma de intercambiar cantidades de informacin superiores al lmite establecido de 4KB. Bsicamente, este mecanismo se implementa mediante unos mdulos que dialogan entre s para coordinar el intercambio de informacin y que guardan todos los datos relevantes en una Tabla de Control, a fin de poder controlar en todo momento el estado de cada Transferencia. Cada sistema debe implementar este protocolo de intercambio, asegurando su cumplimiento tal y como est definido.
Entorno Tecnolgico
25
Entorno Tecnolgico
26
En explotacin, debe ofrecer todos aquellos mecanismos internos que permitan trabajar con consistencia e integridad an cuando no estn disponibles las comunicaciones.
3.3. Resumen
El esquema siguiente muestra la arquitectura de comunicaciones de SICAS, identificando las funciones de cada una de las capas.
Generacin y descomposicin de buffers Validaciones sintcticas y semnticas Implementacin de parte de lgica de proceso Implementacin de los mecanismos de infrastructura SISPE: sncrono, asncrono, transferencia de ficheros, sincronizacin de tablas Comunicacin con Tuxedo a travs de WTC Recepcin y envo de peticiones Mapeador hacia servicios de WebLogic Validaciones de formato de buffers Front-end para procesos on line y transferencia de ficheros diferenciados
Oracle
WebLogic
Tuxedo
BBDD
InfoCom
WTC
Servicios front-end
Como resumen de los puntos anteriores, las caractersticas de SICAS en el apartado de comunicaciones SISPE son los siguientes: Dispone de SGBD ORACLE 8.1.7 y monitor transaccional TUXEDO 8.0 en su plataforma de base. Asegura que se cumplen las estrategias de sincronizacin definidas en SISPE: distincin en el modelo fsico de datos de los datos comunes SISPE y datos propios; para los datos comunes, distincin entre copia maestra y copia esclava, asociacin de bloques de sincronizacin e indicadores de nivel. Dispone de los mecanismos adecuados para poder recuperar los datos de una copia maestra en caso de error o inconsistencia. Asegura que, en caso de realizarse actualizaciones de datos comunes a travs del acceso de otras aplicaciones, se respetan las estrategias de sincronizacin SISPE. Dispone de sistema de validacin diaria de tablas de valores SISPE, mediante el protocolo de sincronizacin de tablas. Realiza las equivalencias necesarias entre valores propios y valores comunes SISPE, cuando se producen comunicaciones en cualquiera de los sentidos (de INEM a CA, o
Entorno Tecnolgico
27
de CA a INEM). Genera y recibe correctamente los buffers de comunicaciones comunes de SISPE, con independencia de los formatos de comunicacin y de almacenamiento internos que utilicen. Garantiza la integridad transaccional y la consistencia de los datos comunes almacenados en cada base de datos. Dispone de la infraestructura necesaria para garantizar la integridad transaccional mediante protocolo two-phase commit. Esto incluye: Disponer de un gestor de base de datos compatible XA Disponer de un elemento coordinador transaccional (que puede ser el propio monitor Tuxedo, un componente Java utilizando el estndar JTA, o cualquier elemento capaz de iniciar y propagar una transaccin hacia Tuxedo) Dispone de la infraestructura necesaria para poder realizar comunicaciones segn el protocolo asncrono definido en SISPE. Esto incluye: Disponer de un sistema de colas transaccional (SISPE no concreta la tecnologa a utilizar, pero puede realizarse mediante Tuxedo /Q, JMS, o sistema equivalente) con autorecuperacin, sistema de reintentos y procesamiento automtico de estados Ofrece la posibilidad de comunicaciones sncronas, asincronas y de transferencia de ficheros, segn los mecanismos SISPE. Suministra todos aquellos componentes (a nivel de cdigo y configuracin necesaria) para poder realizar el ciclo de pruebas definido en SISPE para garantizar la entrada de una CA en el sistema. Suministra todos los componentes necesarios para poder probar y validar el sistema en su globalidad, sin necesidad de tener habilitadas las comunicaciones con INEM. Ofrece la posibilidad de trabajar nicamente en modo local, sin comunicaciones habilitadas, en todas las fases previas a la explotacin. En explotacin, debe ofrecer todos aquellos mecanismos internos que permitan trabajar con consistencia e integridad an cuando no estn disponibles las comunicaciones.
Entorno Tecnolgico
28
4.
Se entiende, por interfaces, una puerta o mecanismo de integracin con aplicacin/es externa/as. Las necesidades de integracin de las aplicaciones existentes hacen necesaria la existencia de dos tipos de integraciones: bajo nivel y alto nivel. Bajo nivel: bsicamente acceso directo a los diferentes objetos (servicios) de acceso a datos en modo lectura/escritura. Tablas de valores, parmetros funcionales, objetos de datos de Persona Fsica, Demanda, Oferta, EECC. Alto nivel: mecanismo bsico de acceso y enlace para el desarrollo de servicios procedurales (lgica de proceso - negocio), que podrn utilizar los mdulos y componentes (servicios existentes y nuevos) desarrollados en la aplicacin. Bsicamente, constituye un punto de entrada para ejecutar reglas de negocio modeladas en clases y/o EJBs java. Para que la aplicacin externa se sirva de estos procesos, ser necesario identificarse mediante login y password, como un usuario registrado en la aplicacin. Debern tenerse en cuenta los mecanismos de control de acceso y modelado de perfiles asignados al usuario identificado, as como el mbito de tratamiento de registros de los procesos consultados y existentes en la aplicacin. El ncleo que soluciona la problemtica de resolucin de servicios, lo constituye un EJB sin estado, que publica una serie de mtodos en su interface remota y un mtodo genrico de entrada para dar solucin a diferentes funcionalidades. El EJB usa varias clases de servidor donde realmente se implementan los servicios. Hay una clase de servidor por cada mdulo de la aplicacin donde se implementan los servicios referentes a ese mdulo publicados por la interface remota del EJB, y existe otra clase de servidor genrica donde se implementarn nuevas funcionalidades. Las aplicaciones externas que puedan instanciar un ejb publicado en el servidor de la aplicacin sicas, podrn usar directamente los mtodos publicados en la interface de este EJB. Se hace necesaria la existencia de una pasarela http, modelada por un servlet para poder comunicar las aplicaciones existentes que no disponen de paquete jndi de programacin para buscar el EJB de servicio.
Entorno Tecnolgico
29
5.
Funcionalidades aadidas
Disparador Batch
QUARTZ
Entorno Tecnolgico
30
CVS
Applet pantalla
Parametros
Clases java
Clases y utilidades
Jasper Reports
Resultado XML
Modelo de Vistas
BD
Entorno Tecnolgico
31
BD
Insertar Mensaje Modificar Mensaje Borrar Mensaje Insertar Fichero Modificar Fichero Borrar Fichero Insertar L.D. .
Entorno Tecnolgico
32
Entorno Tecnolgico
33
Entorno Tecnolgico
34
Entorno Tecnolgico
35
E-mail sms
BD
fax
Demandante/s
Configuracin mensajes
Configuracin plantillas/medios Informes Fachada SMS Reglas Negocio Aplicacin Fachada Fax Fachada Mail Agenda Facilidad para incorporar nuevos medios. Se encarga de emitir documentos que podrn ser enviados por otros medios. No disponible, pdte. enlace CCAA Disponible, pdte. enlace CCAA Se encarga de enviar correos a los demandantes y oferentes Se encarga de enviar comunicados entre entidades gestoras Existen procesos de consulta sobre estas tablas. Registro envos a demandantes Registro envos a oferentes Las CCAA pueden informar estas tablas asincronamente, Ej : fallos comunicacin, fax, correo, etc
API
Gestor Comunicaciones
Entorno Tecnolgico
36
Modulo
Campos
Proceso
Agrupa
Campos.Acc.
Accion
Agrup.Acc.
Entorno Tecnolgico
37
Entorno Tecnolgico
38
6.
La arquitectura J2EE en la que se basa SICAS, soporta un modelo de aplicaciones distribuidas basado en componentes desarrollados en JAVA, por lo tanto es fcilmente portable y escalable, y permite una amplia interoperabilidad entre sistemas y dispositivos (como dispositivos WAP, sistemas centralizados tipo mainframe, sistemas mviles J2ME, etc). Es una arquitectura de componentes estndar para el desarrollo de aplicaciones distribuidas, lo que permite la aplicacin de estndares de calidad (en base a la reutilizacin de componentes, metodologas, etc.) que facilitan el mantenimiento evolutivo de la aplicacin. Es un modelo de sistemas abiertos, lo que permite implementar soluciones basadas en Java Computing sin depender de terceros. El modelo de N capas permite, adems, separar el modelo de negocio de otros como presentacin, conexin a BD, etc. lo cul simplifica el mantenimiento correctivo, y posibilita modificar una parte especfica de la aplicacin sin afectar al resto. La parte de comunicaciones de SICAS, adems presenta los siguientes valores aadidos: Encapsulamiento de la parte especfica de comunicaciones: software Tuxedo y elementos de envo y recepcin de buffers. Si en algn momento SISPE decide modificar la forma de comunicacin entre los sistemas, nicamente con modificar esta parte el sistema seguira funcionando correctamente Posibilidad de interconexin entre sistemas diferentes a las que plantea SISPE. Posibilidad de convivencia e integracin fcil con otras aplicaciones Diseo modularizado que aporta facilidad de administracin y configuracin, parametrizacin y mantenimiento Posibilidad de diferentes modos de funcionamiento (en funcin de si las comunicaciones estn habilitadas o no)