Plataforma de Interoperabilidad Libre Orientada a Servicios para el Estado Venezolano Prueba de Concepto Enero 2009 Ing. Javier Santana Agenda ● ● Conceptos y Tecnologías involucradas Escenario actual y deseado con el Proyecto de Plataforma de Interoperabilidad ● Herramientas utilizadas en la Prueba de Concepto ● Actividades realizadas en la Prueba de Concepto – Arquitectura – Servicio Identificación – Proceso BPEL de Identificación – Aplicacion Web – Pruebas – Seguridad Conceptos y Tecnologías ● Interoperabilidad ● SOA ● ● ● Servicios Web WSDL SOAP ● ESB ● XML ● XSD ● BPEL ● ● ● ● ● ● ● Registro de Servicios UDDI Servidor de Web Servidor de Apps Ambiente de Ejecución de WS Ambiente de Ejecución de BPEL IDE ● JAVA ● JEE ● JDK ● JAX-WS ● OpenESB ● OpenUDDI ● WS-Security Conceptos y Tecnologías ● Interoperabilidad: “Es la habilidad de los sistemas de comunicación e información y los procesos de negocio que ellos soportan para intercambiar datos y permitir compartir información y conocimiento.” ● Plataforma de Interoperabilidad: “Es el conjunto de estándares y pautas que describen la forma mediante la cual organizaciones acuerdan interactuar entre ellas.” ● Arquitectura Orientada a Servicios: “Es un estilo de sistema distribuido que promueve debilmente acoplabadas entre servicios.” ● interacciones Servicio: “Un servicio es una unidad de trabajo realizada por un proveedor para entregar resultados a un consumidor.” Conceptos y Tecnologías ● Servicios Web: “Son componentes de software que permiten interacciones interoperables máquina a máquina a través de una red” ● – Proporcionan un paradigma ideal para implementar SOA. – Se basan en estándares basados en XML (WSDL, SOAP y UDDI) Procesos de Negocio: “Son una secuencia definida actividades estructuras y relacionadas que pueden ser invocadas para producir valor a una organización o un individuo” ● BPEL: “Lenguaje que permite la orquestación de Servicios Web para implementar Procesos de Negocio.” Escenario actual ONIDEX SENIAT Ciudadano Ciudadanos ● ● Poca cohesión entre organismos Ineficiencia Ciudadanos ● ● Duplicidad de información Díficil Interoperabilidad Escenario deseado Ciudadano SENIAT CNE ONIDEX CANTV IPOSTEL EDC CADIVI Ciudadanos ● ● ● Eficiencia Cohesión Agilidad de atención IVSS ● ● Reutilización Agilidad para crear nuevos servicio al ciudadano Herramientas Prueba de Concepto ● Definición y Diseño de la Arquitectura ● Onidex: ● ● – Instalación de runtime de Web Services (glassfish) – Diseño y Desarrollo de Servicio Indentificación – Configuración de Seguridad CANTV Hosting: – Instalación de ESB (openESB) – Diseño y Desarrollo de Proceso BPEL de Indentificación – Configuración de Seguridad – Instalación de Registro de Servicios (OpenUDDI) – Aplicación Web de interacción con el Proceso BPEL Pruebas de carga Arquitectura Servicio Identificación (Diseño) Servicio Identificación (Imp) Servicio Identificación (resultado) Proceso BPEL (desarrollo) Código BPEL Aplicación Compuesta Aplicación Web (desarrollo) Aplicación Web (resultado) Aplicación Web (resultado) Pruebas de carga (descripción) Pruebas de carga (resultados) Pruebas de carga (resultados) Seguridad AUTENTICACIÓN MUTUA, BASADO EN WS-SECURITY CNTI Hosting CANTV Instalaciones ONIDEX Servidor Servidor CANAL ENCRIPTADO (HTTPS) Certificado SSL Certificado SSL CLIENTE SERVIDOR Aplicación de Prueba Servicio Web Seguro Proceso de Identificación Proceso de Identificación (BPEL) WS-SECURITY Nota: La comunicación entre la Aplicación de Prueba y el Servicio Web del Proceso de Identificación se realiza también de forma segura empleando Autenticación Mutua. Servicio Web Seguro de Identificación WS-SECURITY Seguridad HERRAMIENTAS EMPLEADAS XCA http://sourceforge.net/projects/xca KeyTool IUI http://yellowcat1.free.fr/index_ktl.html JDK KeyTool Plataforma de Interoperabilidad Libre Orientada a Servicios para el Estado Venezolano Prueba de Concepto Enero 2009 Ing. Javier Santana