acis 2009 - desaf os en proyectos de gran escala,...

50
1 Desafíos en proyectos de gran escala, apalancados en tecnologías como BPM, SOA y J2EE. Caso RUNT Alvaro Javier Infante [email protected] Heinsohn Software House 6337070 ext 1419 Bogotá, Colombia Santiago Gil [email protected] Heinsohn Software House 6337070 ext 1420 Bogotá, Colombia

Upload: phungkhanh

Post on 15-May-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

1

Desafíos en proyectos de gran escala, apalancados en tecnologías como BPM,

SOA y J2EE. Caso RUNT

Alvaro Javier [email protected]

Heinsohn Software House

6337070 ext 1419

Bogotá, Colombia

Santiago [email protected]

Heinsohn Software House

6337070 ext 1420

Bogotá, Colombia

XXIX Salón de Informática -Agosto'2009 2

Agenda

� Objetivo de la presentación � Registro Único Nacional de Tránsito (RUNT)� Arquitectura de Aplicaciones, proyecto RUNT� Desafíos y Problemáticas encontradas en el desarrollo del

proyecto RUNT.� Desafío 1: Cumplimiento de tiempos de desarrollo, con calidad

de desarrollo.� Desafío 2: Integración con actores externos� Desafío 3: Tunning de aplicaciones para soportar requerimientos

de concurrencia y desempeño� Conclusiones

XXIX Salón de Informática -Agosto'2009 3

Objetivo de la Presentación

� Presentar los principales desafíos y problemáticas que hicieron parte del proyecto de desarrollo del software que soporta el RUNT.

� Se presenta:� Un contexto de negocio del proyecto RUNT.� Los principales componentes de Software dentro de la arquitectura.� Los desafíos y problemáticas más representativos.

XXIX Salón de Informática -Agosto'2009 4

Alcance de la Presentación

La presentación se enfoca en la arquitectura de aplicaciones, y su impacto en la estrategia de desarrollo.

El papel de Heinsohn Software House, también ha sido enfocado únicamente en esta área.

Arquitectura Técnica (Hardware y Acceso)

Arquitectura de Datos

Arquitectura de Aplicaciones

Arquitectura de Negocio

XXIX Salón de Informática -Agosto'2009 5

Agenda

� Objetivo de la presentación � Registro Único Nacional de Tránsito (RUNT)� Arquitectura de Aplicaciones, proyecto RUNT� Desafíos y Problemáticas encontradas en el desarrollo del

proyecto RUNT.� Desafío 1: Cumplimiento de tiempos de desarrollo, con calidad

de desarrollo.� Desafío 2: Integración con actores externos� Desafío 3: Tunning de aplicaciones para soportar requerimientos

de concurrencia y desempeño� Conclusiones

XXIX Salón de Informática -Agosto'2009 6

Registro Único Nacional de Tránsito (RUNT)Definition y Objetivo

El objetivo principal del RUNT es generar un modelo de operación, administración y mantenimiento de la información que permita validar, registrar y autorizar las transacciones relacionadas con el sector de transito y transporte a nivel nacional. Incluyendo información de:

� Automotores� Conductores� Seguros� Accidentes� Empresas de Transporte � Personas Naturales y Jurídicas que prestan servicios al sector� …

El RUNT está concebido como una solución de Back End que apoya en la gestión de atención de trámites en los Organismos de tránsito y las direcciones territoriales.

XXIX Salón de Informática -Agosto'2009 7

Registro Único Nacional de Tránsito (RUNT)Modelo de Operación

XXIX Salón de Informática -Agosto'2009 8

Registro Único Nacional de Tránsito (RUNT)Integración con Entidades Externas: OTs y DTs

Organismos de Tránsito (236)

Direcciones Territoriales (20)(Antioquia y Chocó, Atlántico, Bolívar San Andres y Providencia, Boyacá y Casanare, Huila y Caquetá, Magdalena, Nariño, Cauca, Cesar, Córdoba y Sucre, Cundinamarca, Santander, Risaralda, Guajira, Valle, …)

XXIX Salón de Informática -Agosto'2009 9

Registro Único Nacional de Tránsito (RUNT)Integración con Entidades Externas: Otros Actores

Tipo A(Trámites, Registro

Información, Consultas)

Tipo B(Registro Información, Consultas)

Tipo C(Consultas)

XXIX Salón de Informática -Agosto'2009 10

Registro Único Nacional de Tránsito (RUNT)Beneficios para el sector

� Permitirá validar, autorizar y registrar las transacciones resultado de trámites, en línea y tiempo real.

� Centralizará y unificará la información del sector de tránsito y transporte terrestre.

� Mejorará la calidad de la información� Incrementará su capacidad de control y disminuirá los

problemas de seguridad.� Apoyará la planeación que adelantan las entidades del

sector, mejorando la toma de decisiones y la definición de políticas.

� Modernizará el sector de tránsito y transporte� Contribuirá a la mayor organización de un sector vital de

la economía del país.

XXIX Salón de Informática -Agosto'2009 11

Registro Único Nacional de Tránsito (RUNT)El RUNT en cífras

� Atenderá 12 millones de trámites al año.

� Registrará 41 millones de transacciones anuales.

� Accederán al sistema:� 3 000 funcionarios de los Organismos

de Tránsito.� 13 000 funcionarios relacionados con

los otros actores.� 1500 + usuarios concurrentes.

� Manejará inicialmente 415reglas de negocio (validaciones).� Soportará 247 tipos de trámite.

XXIX Salón de Informática -Agosto'2009 12

Registro Único Nacional de Tránsito (RUNT)Requerimientos No Funcionales de la Solución de TI

� Alta disponibilidad para todos los componentes de software y hardware dentro de la arquitectura.

� 1500+ usuarios concurrentes.� Acuerdos de niveles de servicio (SLA) rigurosos � Auditoria a nivel de Base de Datos.� Interacción con RUNT vía Portal Web y Webservices,

presentando Funcionalidad equivalente.� Monitoreo Transaccional y Monitoreo de Negocio requeridos.� Seguridad:

� Autenticación de Usuarios a partir de usuario/password/huella dactilar (biométricos).

� Single-SignOn: uso y propagación de credenciales de usuario por todas las aplicaciones RUNT.

� Firma digital para algunas transacciones en RUNT (Certificados Digitales)

� Garantizar No repudio de transacciones.� Estampa digital (TSA) proveída por terceros.

XXIX Salón de Informática -Agosto'2009 13

Estado actual del proyecto

� Entrada en producción esperada para Octubre del 2009

� Actualmente en proceso de recolección de datos migrados de los Organismos de Transito y otros actores. Este procesos es necesario para la entrada en producción del RUNT

� Fase I del proyecto finalizada, en ejecución de pruebas de carga y estrés.

XXIX Salón de Informática -Agosto'2009 14

Agenda

� Objetivo de la presentación � Registro Único Nacional de Tránsito (RUNT)� Arquitectura de Aplicaciones, proyecto RUNT� Desafíos y Problemáticas encontradas en el desarrollo del

proyecto RUNT.� Desafío 1: Cumplimiento de tiempos de desarrollo, con calidad

de desarrollo.� Desafío 2: Integración con actores externos� Desafío 3: Tunning de aplicaciones para soportar requerimientos

de concurrencia y desempeño� Conclusiones

XXIX Salón de Informática -Agosto'2009 15

Registro Único Nacional de Tránsito (RUNT)Arquitectura de Aplicaciones

Servicios de Negocio

Capa de Datos

RUNT

Capa de Presentación

WEB

Capa BPM

(Integración Interna)

Capa de Lógica de Negocio

Componentes de

Soporte Funcional

Capa de Mediación

Sistemas de

Otros Actores

Componentes de Negocio

(Por Registro / Trámite)

Componentes

Genericos

Procesos de

Negocio

Servicios de Integración con Externos

(Monitoreo – Autenticación /Autorización

Encripción Datos – Certificado Digital)

BPMS DB

Software

Misional (OTs)

Portales

(OT / DT / MT

OA )

Admin. de

Aplicaciones y

Procesos

Monitoreo

De negocio

Business Monitor

DBDirectorio de

UsuariosDB Auditoria

EJB Facade Session Stateless

(Core Heinsohn Framework)

Componentes de Acceso a Datos

(Core Heinsohn Framework)

Monitoreo de Negocio

(Oracle BAM)

Monitoreo de SLAs

(OWSM / Oracle

Grid Control)

Seguridad

(Oracle IDM Suite)

Auditoria

(Oracle Audit Vault)

(SAFD)

JMS

JAAS

JAAS

Monitoreo Tx

(Oracle Grid Control)

JMX

RUNT

OLAP

(Oracle Web Services Manager)

(Oracle BPEL Process Manager)

BPMInterface

(Oracle Internet Application Server EE)

(Oracle Database EE – Oracle Real Application Clusters RAC)

SOAP /HTTP -- RUNT-XML

RMI / JNDISOAP / WSDL

RMI / JNDI

La arquitectura de aplicaciones de RUNT:

- Es una arquitectura Orientada a Servicios (SOA).- Multi-capas (N-Tier)

- Apoyada en una serie de soluciones horizontales.

XXIX Salón de Informática -Agosto'2009 16

Registro Único Nacional de Tránsito (RUNT)Arquitectura de Aplicaciones

Servicios de Negocio

Capa de Datos

RUNT

Capa de Presentación

WEB

Capa BPM

(Integración Interna)

Capa de Lógica de Negocio

Componentes de

Soporte Funcional

Capa de Mediación

Sistemas de

Otros Actores

Componentes de Negocio

(Por Registro / Trámite)

Componentes

Genericos

Procesos de

Negocio

Servicios de Integración con Externos

(Monitoreo – Autenticación /Autorización

Encripción Datos – Certificado Digital)

BPMS DB

Software

Misional (OTs)

Portales

(OT / DT / MT

OA )

Admin. de

Aplicaciones y

Procesos

Monitoreo

De negocio

Business Monitor

DBDirectorio de

UsuariosDB Auditoria

EJB Facade Session Stateless

(Core Heinsohn Framework)

Componentes de Acceso a Datos

(Core Heinsohn Framework)

Monitoreo de Negocio

(Oracle BAM)

Monitoreo de SLAs

(OWSM / Oracle

Grid Control)

Seguridad

(Oracle IDM Suite)

Auditoria

(Oracle Audit Vault)

(SAFD)

JMS

JAAS

JAAS

Monitoreo Tx

(Oracle Grid Control)

JMX

RUNT

OLAP

(Oracle Web Services Manager)

(Oracle BPEL Process Manager)

BPMInterface

(Oracle Internet Application Server EE)

(Oracle Database EE – Oracle Real Application Clusters RAC)

SOAP /HTTP -- RUNT-XML

RMI / JNDISOAP / WSDL

RMI / JNDI

XXIX Salón de Informática -Agosto'2009 17

Registro Único Nacional de Tránsito (RUNT)Arquitectura de Aplicaciones- Secuencia de Ejecución (1)

Servicios de Negocio

Capa de Datos

RUNT

Capa de Presentación

WEB

Capa BPM

(Integración Interna)

Capa de Lógica de Negocio

Componentes de

Soporte Funcional

Capa de Mediación

Sistemas de

Otros Actores

Componentes de Negocio

(Por Registro / Trámite)

Componentes

Genericos

Procesos de

Negocio

Servicios de Integración con Externos

(Monitoreo – Autenticación /Autorización

Encripción Datos – Certificado Digital)

BPMS DB

Software

Misional (OTs)

Portales

(OT / DT / MT

OA )

Admin. de

Aplicaciones y

Procesos

Monitoreo

De negocio

Business Monitor

DBDirectorio de

UsuariosDB Auditoria

EJB Facade Session Stateless

(Core Heinsohn Framework)

Componentes de Acceso a Datos

(Core Heinsohn Framework)

Monitoreo de Negocio

(Oracle BAM)

Monitoreo de SLAs

(OWSM / Oracle

Grid Control)

Seguridad

(Oracle IDM Suite)

Auditoria

(Oracle Audit Vault)

(SAFD)

JMS

JAAS

JAAS

Monitoreo Tx

(Oracle Grid Control)

JMX

RUNT

OLAP

(Oracle Web Services Manager)

(Oracle BPEL Process Manager)

BPMInterface

(Oracle Internet Application Server EE)

(Oracle Database EE – Oracle Real Application Clusters RAC)

SOAP /HTTP -- RUNT-XML

RMI / JNDISOAP / WSDL

RMI / JNDI

1

2

3

4

5

10

6

7

9

11

8

12

XXIX Salón de Informática -Agosto'2009 18

Registro Único Nacional de Tránsito (RUNT)Arquitectura de Aplicaciones- Secuencia de Ejecución (2)

Soluciones Horizontales

Cache:

Oracle Coherence

Excepciones

Log -QoS

XXIX Salón de Informática -Agosto'2009 19

Agenda

� Objetivo de la presentación � Registro Único Nacional de Tránsito (RUNT)� Arquitectura de Aplicaciones, proyecto RUNT� Desafíos y Problemáticas encontradas en el desarrollo del proyecto RUNT.

� Desafío 1: Cumplimiento de tiempos de desarrollo, con calidad de desarrollo.

� Desafío 2: Integración con actores externos� Desafío 3: Tunning de aplicaciones para soportar requerimientos

de concurrencia y desempeño� Conclusiones

XXIX Salón de Informática -Agosto'2009 20

Desafíos y Problemáticas encontradas en el Desarrollo del Proyecto RUNT (software)

� Desarrollo de software, cumpliendo tiempos de desarrollo y calidad de desarrollo.

� Integración con actores externos� Tunning de aplicaciones para soportar requerimientos de concurrencia y

tiempos de respuesta.

� Selección, Evaluación y Adaptación de tecnologías /herramientas en la arquitectura de aplicaciones.

� Administración de configuración (soportando entregas frecuentes, equipo de desarrollo extenso y desarrollo remoto geográficamente).

� Integración de dispositivos biométricos dentro de la aplicación (Web y WS).� Equipo de desarrollo distribuido geográficamente.� Negocio y requerimientos funcionales cambiantes.

XXIX Salón de Informática -Agosto'2009 21

Desafíos y Problemáticas encontradas en el Desarrollo del Proyecto RUNT (software)

� Cada problemática/desafío será presentado siguiendo el siguiente formato:

� Contexto y Descripción

� Estrategia (s) de solución

� Resultados Objetivos y subjetivos

� Esta presentación se enfoca en presentar las experiencias y las soluciones utilizadas en el contexto del proyecto. No pretende presentar “la mejor práctica”.

� Es un proyecto en curso, entonces se presentan los resultados a la fecha.

XXIX Salón de Informática -Agosto'2009 22

Agenda

� Objetivo de la presentación � Registro Único Nacional de Tránsito (RUNT)� Arquitectura de Aplicaciones, proyecto RUNT� Desafíos y Problemáticas encontradas en el desarrollo del

proyecto RUNT.� Desafío 1: Cumplimiento de tiempos de desarrollo, con calidad de desarrollo.

� Desafío 2: Integración con actores externos� Desafío 3: Tunning de aplicaciones para soportar requerimientos

de concurrencia y desempeño� Conclusiones

XXIX Salón de Informática -Agosto'2009 23

Desafío 1: Desarrollo de software, cumpliendo tiempos de desarrollo y calidad de desarrollo

Contexto� Solucionar un proyecto de Desarrollo de SW con amplias

restricciones:� Tiempo: ciclo completo de desarrollo en aprox. 9 meses, para la fase 1.� Tamaño funcional medio/alto: 1550+ Casos de Uso.� Requerimientos funcionales inestables.� Entregas a cliente (iteraciones) cada 15 días.� Altos Requerimientos No funcionales (Desempeño, Concurrencia,

Disponibilidad, Seguridad, entre otros).� Proyecto con uso de múltiples tecnologías.� Interacción con múltiples actores.

� Desarrollo de software remoto geográficamente. Fábricas de Software en Armenia, Manizales, Medellín, y Bogotá.

� Complejidad en la administración de Configuraciones.

XXIX Salón de Informática -Agosto'2009 24

Desafío 1: Desarrollo de software, cumpliendo tiempos de desarrollo y calidad de desarrollo

Estrategias de Solución

� Manejo de riesgos – Desarrollo en iteraciones

� Entre 70 y 80 ingenieros en el proyecto (especificación, desarrollo, pruebas).

� Desarrollo remoto a gran escala

� Diseño teniendo en cuenta desarrollo masivo y paralelo.

� Gran énfasis en diseño y arquitectura, en paralelo con el desarrollo de requerimientos.

XXIX Salón de Informática -Agosto'2009 25

Desafío 1: Desarrollo de software, cumpliendo tiempos de desarrollo y calidad de desarrollo

Estrategias de Solución (2)

� Ciclo de desarrollo de software, basado en Ciclo y Herramientas BPM (Oracle SOA Suite).

� Arquitectura de Aplicaciones definida independiente de proveedor de tecnología.

� Framework de desarrollo y componentes (incrementa productividad de desarrollo).

� Roles TSP bien definidos en el proyecto.

� Apoyo en mejores practicas de PMI, RUP, y CMMI.

XXIX Salón de Informática -Agosto'2009 26

Desafío 1: Desarrollo de software, cumpliendo tiempos de desarrollo y calidad de desarrollo

Estrategias de Solución (3) – Habilitan el desarrollo remoto geográficamente

� Diseño e identificación de casos de uso orientado a reutilización de funcionalidad (servicios).

� Desarrollo de funcionalidad granular. Para lograr una alta reutilización.

� Tipificación de Casos de Uso, y definición de estándares específicos para cada uno. Algunos de estos tipos de CU incluyen “plantillas”para facilitar desarrollo masivo.

� El desarrollo “granular” implementado remotamente (en las fabricas de SW), la integración y el sentido de negocio realizado directamente en Bogotá, en conjunto con el equipo de pruebas funcionales.

� Apoyo en Diseño detallado para todos los casos de uso desarrollados.

XXIX Salón de Informática -Agosto'2009 27

Desafío 1: Desarrollo de software, cumpliendo tiempos de desarrollo y calidad de desarrollo

Estrategias de Solución (4) – Habilitan el desarrollo remoto geográficamente

� Estándares de Calidad Rigurosos:� Lineamientos de desarrollo especializados por tipo de CU y muy

específicos.� Estándares incluyeron: JUnits y Revisión de Código� Estándares CMMI del Proceso de Desarrollo.

� Administración de Configuración: � Simplificación de la administración de la configuración en los ambientes

de desarrollo remotos. La complejidad de administración de configuración esta en los ambientes de desarrollo en Bogota (Integración ).

� Integración continua habilitada por SVN, ANT, “Builds” nocturnos, Ejecución de JUnits nocturnas, …

XXIX Salón de Informática -Agosto'2009 28

Desafío 1: Desarrollo de software, cumpliendo tiempos de desarrollo y calidad de desarrollo

Resultados� Cumplimiento en las fechas de entregas. � 11 Entregas a cliente en 9 meses de desarrollo (fase 1).� La mayoría de entregas fueron realizadas cada 15dias.� Desarrollo de 1550+ Casos de Uso, en 7 módulos funcionales y 30+

procesos de negocio.� Adaptación a requerimientos cambiantes.� Montaje efectivo de herramientas Oracle (BPEL PM, OWSM, App Server,

BD, Grid control, Audit Vault, ).� Adopción efectiva de nuevas tecnologías.� Reutilización de servicios y reglas de negocio (fase I)

� 415 reglas de negocio � 30+ Procesos de negocio� 65+ trámites.

XXIX Salón de Informática -Agosto'2009 29

Agenda

� Objetivo de la presentación � Registro Único Nacional de Tránsito (RUNT)� Arquitectura de Aplicaciones, proyecto RUNT� Desafíos y Problemáticas encontradas en el desarrollo del

proyecto RUNT.� Desafío 1: Cumplimiento de tiempos de desarrollo, con calidad

de desarrollo.� Desafío 2: Integración con actores externos� Desafío 3: Tunning de aplicaciones para soportar requerimientos

de concurrencia y desempeño� Conclusiones

XXIX Salón de Informática -Agosto'2009 30

Desafío 2: Integración con Actores ExternosContexto y Descripción

� Integración con múltiples actores externos: 223 OTs, 20 DT, y Otros Actores.� Interacción con externos por diferentes mecanismos: Portal Web, Cargues Batch, y

Webservices.� Funcionalidad Web y Webservices es equivalente.� Funcionalidad expuesta vía Webservices extensa:

� 60+ Casos de Uso. (incluyendo trámites, consultas, …).� 70+ Tablas parametricas.� Tablas parametricas con grandes volúmenes de datos: (eg. 9,000+ Colores, 15,000+ Líneas

de Automotores, …). Dificulta Administración.� Dificultad en la propagación de cambios en las interfaces de los Webservices a

clientes.� Administración de tablas paramétricas entre clientes. Estandarización compleja.� Entidades externas por lo general no están preparadas para la integración vía

Webservices.� Alto número de horas dedicados al soporte de integración y pruebas con terceros.

XXIX Salón de Informática -Agosto'2009 31

Desafío 2: Integración con Actores ExternosContexto y Descripción (2)

� Altos Requerimientos de Seguridad para interacción vía Webservices:� Autenticación (usuario, password)� Autenticación también involucra validación de huella dactilar (OTs).� Autorización de Recursos

� A nivel de operación de webservice (no URL).� Restricción de direcciones IP origen.

� Firma Digital (Certificados Digitales).� Almacenamiento de evidencia Digital para no repudio de transacciones.

� Validación de Requerimientos de seguridad es realizada para cada transacción vía Webservices.

� Problemas de interoperabilidad por WS-Security. Requiere un esfuerzo considerable para lograr compatibilidad de WS-Security entre implementaciones de proveedores de tecnología (Oracle, MS, AXIS, ).

XXIX Salón de Informática -Agosto'2009 32

Desafío 2: Integración con Actores ExternosEstrategias de Solución

� Definición de Estándares de integración y Catalogo de Servicios detallados.

� Requerimientos de Seguridad� Interfaces WSDL, y XSD.� Documentación detallada de las interfaces. Incluyendo: Operaciones,

Datos entrada/salida, tablas paramétricas utilizadas, restricciones, …

� Creación de Servicios de autoconsulta y sincronización de datos paramétricos. Facilita la administración y propagación de cambios de datos paramétricos entre clientes.

� Definición de mecanismos de certificación de clientes que interactúan vía Webservices.

XXIX Salón de Informática -Agosto'2009 33

Desafío 2: Integración con Actores ExternosEstrategias de Solución (2)

� Uso de WS-Security como estándar de propagación de credenciales de seguridad (autenticación, certificados digitales, ..).

� Administración de políticas de Seguridad de Webservices utilizando Oracle Webservices Manager.

� Creación de clientes de Webservices basados en WS-Security en varias tecnologías (AXIS, Oracle, .NET).

XXIX Salón de Informática -Agosto'2009 34

Desafío 2: Integración con Actores ExternosResultados a la fecha, y en proceso…

� Integración en Batch con:� SOAT y Pólizas de Seguros - Aseguradoras (30+)� Detalle de Vehículos - Importadoras y ensambladoras (250+).� Infracciones de Transito y Transporte- Organismos de Transito (253+), Policía, …� …

� Integración vía Webservices con:� 3 Entidades recaudadoras (Bancos).� 2 Proveedores de Software para Organismos de Transito.

� Integraciones vía Webservices en desarrollo:� 5 Entidades recaudadoras (Bancos).� 4 Proveedores de software para Organismos de Tránsito.

� Integración para consulta de información en línea:� DIAN� SIMIT

XXIX Salón de Informática -Agosto'2009 35

Agenda

� Objetivo de la presentación � Registro Único Nacional de Tránsito (RUNT)� Arquitectura de Aplicaciones, proyecto RUNT� Desafíos y Problemáticas encontradas en el desarrollo del

proyecto RUNT.� Desafío 1: Cumplimiento de tiempos de desarrollo, con calidad

de desarrollo.� Desafío 2: Integración con actores externos� Desafío 3: Tunning de aplicaciones para soportar requerimientos de concurrencia y desempeño

� Conclusiones

XXIX Salón de Informática -Agosto'2009 36

Desafío 3: Tunning de Aplicaciones para cumplimiento de Requerimientos No Funcionales

� Requerimientos No Funcionales:� Soportar 1500+ usuarios concurrentes.� SLA “Tiempos de Respuesta” riguroso.� Optimización de uso de recursos físicos de hardware:

� Memoria (RAM).� Uso de CPU� Ancho de Banda

� La prioridad de la optimización fue en ese orden (concurrencia, tiempos de respuesta, uso de recursos).

� Arquitectura de Aplicaciones compuesta de:� 2 Mecanismos de Interacción (Portal Web, y Webservices).� Amplia Funcionalidad� Capas y soluciones horizontalesLa optimización debe tener el mayor cubrimiento posible. En cuanto a funcionalidad y capas

de la arquitectura de aplicaciones.

XXIX Salón de Informática -Agosto'2009 37

Desafío 3: Tunning de Aplicaciones para cumplimiento de requerimientos No Funcionales

Pruebas de Carga de capas y soluciones horizontales por separado. Facilita la detección de fallos para optimización de aplicaciones.

Se plantean escenarios con el propósito de probar X funcionalidad, X capas y soluciones horizontales.

Para cada capa, plantear varios escenarios funcionales (eg. Seguridad: E1: autenticacion, E2: Autorizacion, E3: Inscripcion de usuarios)

Servicios de Negocio

Capa de Datos

RUNT

Capa de Presentación

WEB

Capa BPM

(Integración Interna)

Capa de Lógica de Negocio

Componentes de

Soporte Funcional

Capa de Mediación

Sistemas de

Otros Actores

Componentes de Negocio

(Por Registro / Trámite)

Componentes

Genericos

Procesos de Negocio

Servicios de Integración con Externos

(Monitoreo – Autenticación /Autorización

Encripción Datos – Certificado Digital)

BPMS DB

Software

Misional (OTs)

Portales

(OT / DT / MT

OA )

Admin. de

Aplicaciones y

Procesos

Monitoreo

De negocio

Business Monitor

DBDirectorio de

UsuariosDB Auditoria

EJB Facade Session Stateless (Core Heinsohn Framework)

Componentes de Acceso a Datos

(Core Heinsohn Framework)

Monitoreo de Negocio

(Oracle BAM)

Monitoreo de SLAs

(OWSM / Oracle

Grid Control)

Seguridad

(Oracle IDM Suite)

Auditoria

(Oracle Audit Vault)

(SAFD)

JMS

JAAS

JAAS

Monitoreo Tx

(Oracle Grid Control)

JMX

RUNT

OLAP

(Oracle Web Services Manager)

(Oracle BPEL Process Manager)

BPMInterface

(Oracle Internet Application Server EE)

(Oracle Database EE – Oracle Real Application Clusters RAC)

SOAP /HTTP -- RUNT-XML

RMI / JNDISOAP / WSDL

RMI / JNDI

Escenarios:Logica, BPM, BD

Escenarios

Escenarios OWSM

EscenariosPresentación

Es. 4

Es. 5

Es. 6

Escenarios Seguridad

Escenarios BAM

Escenarios Audit Vault

XXIX Salón de Informática -Agosto'2009 38

Desafío 3: Tunning de Aplicaciones para cumplimiento de requerimientos No Funcionales

� Detección de Fallos en cuanto:� Tiempos de Espera de los procesos y threads (Bloqueos de recursos, BD, etc.).

Estos problemas evitan que la aplicación escale en número de usuarios concurrentes.

� Tiempos de Solución /Respuesta.� Uso inapropiado de recursos físicos como memoria, almacenamiento, y ancho de

banda.

� Optimizaciones son propagadas a lo largo de toda la arquitectura de aplicaciones.

� El resultado de las pruebas de carga son:� Recomendaciones de configuración de productos (app Server, SOA Suite, ..).� Optimizaciones de aplicación � Lineamientos de desarrollo y listas de chequeo.

XXIX Salón de Informática -Agosto'2009 39

Desafío 3: Tunning de Aplicaciones para cumplimiento de requerimientos No Funcionales

� Tiempos de respuesta Antes/Después de Optimización, bajo concurrencia.

� Prueba de Carga sobre 3 Webservicesfuncionales.

XXIX Salón de Informática -Agosto'2009 40

Desafío 3: Tunning de Aplicaciones para cumplimiento de requerimientos No Funcionales

� Pruebas de Carga sobre solución de seguridad. � Escenario probando funcionalidad de autenticación y

autorización de usuarios vía Portal Web.

XXIX Salón de Informática -Agosto'2009 41

Desafío 3: Tunning de Aplicaciones para cumplimiento de requerimientos No Funcionales

Resultados:� Guías de afinamiento de Oracle Application Server, Oracle

BPEL PM, Oracle Webservices Manager, Oracle IdentityManagement Suite. Versión 10g.

� Optimizaciones de Rendimiento. Eg:� Problemas de escalamiento accediendo recursos físicos (Imágenes, …)

desde código Java. Solución: Creación de caches en memoria de recursos físicos en byte[].

� Creación de Secuencias de BD con un Cache que soporte los usuarios concurrentes. Problema impactaba tiempos de respuesta de servicios bajo concurrencia.

XXIX Salón de Informática -Agosto'2009 42

Agenda

� Objetivo de la presentación � Registro Único Nacional de Tránsito (RUNT)� Arquitectura de Aplicaciones, proyecto RUNT� Desafíos y Problemáticas encontradas en el desarrollo del

proyecto RUNT.� Desafío 1: Cumplimiento de tiempos de desarrollo, con calidad

de desarrollo.� Desafío 2: Integración con actores externos� Desafío 3: Tunning de aplicaciones para soportar requerimientos

de concurrencia y desempeño� Conclusiones

XXIX Salón de Informática -Agosto'2009 43

ConclusionesRUNT un reto para el país y el sector Transporte

� El Registro Único Nacional de Transito (RUNT) proveerá grandes beneficios para el sector de transito y transporte, y en general para el país.

� El RUNT presenta un desafío importante en términos de Tecnologías de Información:

� Para “Heinsohn Software House” como proveedor de software, en la creación de la solución de negocio a partir de arquitectura y tecnologías SOA/BPM.

� Para la Concesión RUNT integrando la solución de TI en una solución de negocio (infraestructura, comunicaciones, negocio, …).

� Para las entidades vinculadas al sector que aportan a la realización del RUNT (Integración, Datos, …)

� Pero sobre todo, el desafió del RUNT es para el país, el gobierno y las entidades vinculadas al sector.

� El reto del RUNT es un reto en desarrollo, que llevará un proceso de maduración tanto para la solución de tecnología proveído por la RUNT como para las entidades del sector que intervienen en su realización.

XXIX Salón de Informática -Agosto'2009 44

Conclusiones (2)

� Las Soluciones de Tecnologías de información deben ser orientadas a definir problemas y requerimientos de negocio. Donde el negocio predomina sobre las soluciones tecnológicas.

� Este caso de estudio, muestra un ejemplo de definición de arquitectura a partir del negocio. Su arquitectura fue definida independientemente del proveedor de tecnología.

� El modelo de desarrollo por medio de fabricas de Software puede ser efectivamente utilizado, siempre y cuando este alineado con la estrategia arquitectónica.

XXIX Salón de Informática -Agosto'2009 45

Registro Único Nacional de Tránsito (RUNT)Solución de Técnologia

Los proveedores de tecnología que participaron en el desarrollo de la solución de software del proyecto RUNT:

� Heinsohn Software House

� Quipux Software

XXIX Salón de Informática -Agosto'2009 4646

� Fábrica de Software Colombiana

� 32 años de Experiencia

� Presencia en 9 países

� Más de 450 empleados

� Más de 2000 licencias instaladas

� Sedes en Bogotá, Cali, Medellín,

Pereira, Manizales, Armenia

� Subsidiarias en Argentina y Chile

� Certificada ISO 9001:2000

� Valoración CMMI Nivel 3 y en

proceso de valoración para el

nivel 4.

COLOMBIACOLOMBIA

Argentina

Ecuador

El Salvador

Bolivia

VenezuelaPanamá

Perú

Chile

Heinsohn Software HousePerfil Corporativo

XXIX Salón de Informática -Agosto'2009 47

Proyectos SOA - Heinsohn Software House

- Registro Único Nacional de Transito (RUNT)

- Proyectos de Gobierno en Línea:� VUR - Registro de propiedad del inmueble

� GEL-XML - Mantenimiento

� PQR - Peticiones, quejas y reclamos

� RedGEL - Seguimiento capacitación y apropiación Gobierno en Línea

� PUC - Auditoría de calidad y desempeño

� GELT - Gobierno en línea fase transaccional

� SIE2-DNE - Certificado de carencia de informes por tráfico de estupefacientes

� EVPC - Estatuto virtual de contratación pública

� Servicios Web PDI

� Inspección simultánea de Puertos

XXIX Salón de Informática -Agosto'2009 48

Clientes Nacionales

XXIX Salón de Informática -Agosto'2009 4949

Clientes Internacionales -Latinoamérica

Peru

Venezuela

Argentina

BoliviaEl Salvador

50

Desafíos en proyectos de gran escala, apalancados en tecnologías como BPM,

SOA y J2EE. Caso RUNT

Gracias por su atención