Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la...

100
Servicios Profesionales de Consultoría Tecnológica Consultor Carlos Kuknow Camps Email:[email protected] Página 1 de 100 Señores BANCO INTERAMERICANO DE DESARROLLO Presente At. : Srs. Tomas Campero / Carlos Lagos Por medio de la presente hago llegar a Uds. Informe Diagnostico sobre Análisis del Potencial del Actual Sistema de Adquisiciones Electrónicas en Costa Rica (CompraRED)Análisis sobre aspectos tecnológicos y operacionales de la plataforma CompraRed. Esperando que la presente cumpla con vuestros requerimientos, saluda atentamente a Uds. Carlos Kuknow Camps Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Transcript of Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la...

Page 1: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 1 de 100

Señores BANCO INTERAMERICANO DE DESARROLLO

Presente

At. : Srs. Tomas Campero / Carlos Lagos

Por medio de la presente hago llegar a Uds. Informe Diagnostico sobre

“Análisis del Potencial del Actual Sistema de Adquisiciones Electrónicas en Costa Rica (CompraRED)”

Análisis sobre aspectos tecnológicos y operacionales

de la plataforma CompraRed.

Esperando que la presente cumpla con vuestros requerimientos, saluda

atentamente a Uds.

Carlos Kuknow Camps

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 2: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 2 de 100

Informe Final Análisis Plataforma

Tecnológica Comprared

Informe Técnico

Autor: Carlos Kuknow Camps

Fono:+56 (9) 99435273

Email: [email protected] Creado: febrero 2009

Actualizado: Febrero 2009

Aplicación del Documento: IIS, ITIL, MOF, SQL Server 2005, Delphi, .NET, ISO

27000, ISA Server, MSF, Seguridad y Criptografia.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 3: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 3 de 100

Sumario Este informe provee una guía para el mejoramiento tecnológico y operativo de la

plataforma Comprared.

Para el análisis del potencial tecnológico y operativo de dicha plataforma, se

revisaron los siguientes aspectos:

Software

Fabrica de Desarrollo

Infraestructura

Gestión Operacional Se revisaran los aspectos de manera micro y macro para tener un adecuado

análisis de lo solicitado.

Copyright La información colocada en este documento es solo para uso del BID,

y las entidades que el BID estime convenientes para la entrega de este informe. El informe no podrá ser utilizado en otras empresas o

instituciones, esto solo se permitirá con la petición escrita del autor.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 4: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 4 de 100

INDICE Objetivos y Alcance de la asesoría .............................................................. 9

Alcance ..................................................................................................... 9

Consideraciones de Alcance ........................................................................10 Plan de trabajo ......................................................................................... 10

Solicitud de Datos ..................................................................................11

Diagnostico y Análisis............................................................................... 12

Fabrica de Software.................................................................................. 12

Situación Actual ........................................................................................12

Situación Futura........................................................................................12

Metodología de Análisis ..............................................................................12

Análisis de la Fábrica .................................................................................13

Equipo de Trabajo ..................................................................................13

Metodología de Desarrollo .......................................................................15

Diseño y especificación ...........................................................................15

Cubicación e Implementación por parte de Hermes ....................................15

Pruebas y Puesta en marcha por parte de DGABCA y DGIC .........................16

Mantención del Software .........................................................................16

Riesgos y Falencias Detectadas ...................................................................18

Recomendaciones......................................................................................19

Fabrica de software. ...............................................................................19

Metodología de trabajo ...........................................................................19

Herramientas utilizadas. .........................................................................19

Equipo de trabajo ..................................................................................20

Código de la Aplicación ............................................................................. 22

Situación Actual ........................................................................................22

Desarrollo Delphi ...................................................................................22

Patrones de Diseño .............................................................................22

Estándares y codificación.....................................................................23

Estructura de la Aplicación ...................................................................23

Interacción de componentes ................................................................24

Componentes Web..............................................................................24

Componentes Aplicación ......................................................................25

Componentes Base de Datos ................................................................26

Diagrama de Interacción entre los módulos ...........................................27

Arquitectura del a aplicación Delphi. .....................................................28

Tecnología .NET .....................................................................................28

Patrones de Diseño .............................................................................28

Estándares y codificación .....................................................................30

Estructura de la Aplicación ...................................................................30

Interacción de componentes ................................................................31

Componentes Web..............................................................................31

Componentes Aplicación ......................................................................32

Componentes Base de Datos ................................................................32

Diagrama de Interacción entre los módulos ...........................................33

Cuadro Comparativo de tecnologías utilizadas ...........................................34

Modelo de Datos .......................................................................................35

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 5: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 5 de 100

Tamaño de Tablas..................................................................................36

Índices .................................................................................................36

Programación de Stored Procedures (SP) ..................................................37

Matriz de Evaluación ..................................................................................37

Recomendaciones......................................................................................38

Calidad del Código .NET ..........................................................................38

Calidad del Código Delphi........................................................................38

Arquitectura ..........................................................................................38

Potencialidad del Código .........................................................................39

Usabilidad................................................................................................. 40

Situación Actual ........................................................................................40

Guía de Implementación ............................................................................41

Reuniones o workshops ..........................................................................41

2. Cuestionarios para usuarios.................................................................41

3. Entrevistas y Grupos de discusión ........................................................42

4. Card sorting ......................................................................................42

Pruebas y Medición de Usabilidad del Sitio. ...................................................43

1. Benchmark ........................................................................................43

2. Análisis heurístico ..............................................................................43

3. Prototipado .......................................................................................44

Test de usabilidad ....................................................................................45

Software ..................................................................................................46

Infraestructura ......................................................................................... 47

Situación Actual ........................................................................................47

Estructura Organizacional .......................................................................48

Diagrama de Infraestructura Comprared ...................................................49

Comunicaciones .....................................................................................49

Diagrama de Aplicación / Infraestructura ..................................................50

Situación Futura Comunicaciones .............................................................51

Análisis y revisión......................................................................................52

Planes de Contingencia y Procedimientos ..................................................52

Monitoreo .............................................................................................53

Matriz de Evaluación ..................................................................................53

Rendimiento Servidores .............................................................................54

Recomendaciones......................................................................................55

Seguridad ................................................................................................. 56

Situación Actual ........................................................................................56

Seguridad Aplicación ..............................................................................56

Algoritmos Utilizados ..............................................................................57

Entidades Emisoras ................................................................................57

Aplicación e Interfaz Cliente ....................................................................58

Auditoria...............................................................................................58

Hora y Fecha de la transacción ................................................................59

Roles y Permisos en la Aplicación .............................................................59

Seguridad Infraestructura Externa...............................................................61

Seguridad Infraestructura Interna ...............................................................63

Testing y Revisión externa de seguridad.......................................................64

Scan de puertos.....................................................................................64

Ejecución de XSS y SQL Injection. ...........................................................66

SQL Injection ........................................................................................66

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 6: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 6 de 100

Matriz de Evaluación ..................................................................................67

Recomendaciones......................................................................................68

Rendimiento Aplicación ambiente productivo ........................................... 69

Metodología de Análisis ..............................................................................69

Medición y Análisis de muestra ...................................................................70

Métricas del Sistema. .............................................................................70

Métricas de Base de base de datos ...........................................................70

Tamaño de la base de datos ................................................................70

Objetos de la base de datos .................................................................70

Toma de muestras el día 04/02 /09..........................................................71

Base de Datos ....................................................................................71

Uso de Disco de la Base de Datos ......................................................71

Eventos de Base de Datos ................................................................71

Métricas de Ejecuciones de Querys ....................................................71

Uso de CPU ....................................................................................71

Querys Ejecutados con Mayor porcentaje de uso de recursos de servidores

.....................................................................................................72

Métricas Servidores Web.........................................................................74

Uso de CPU ........................................................................................74

Uso de Disco ......................................................................................74

Información sobre Threads en IIS ............................................................75

Medición contra una prueba de stress ..........................................................77

Script de Navegacion utilizado .................................................................78

Resultados Prueba Stress en Cliente.........................................................82

Medición Stress en Base de Datos ...............................................................83

Métricas de Ejecuciones de Querys ...........................................................83

Uso de CPU ...........................................................................................83

Valores de interface de tiempo de Disco...................................................83

Tiempo de respuesta de lectura de discos .................................................83

Valores de Memoria................................................................................84

Uso de PageFile en % .............................................................................84

Cantidad de WorkFiles Utilizados por segundo ...........................................84

Cantidad de WorkFiles Creados por Segundo .............................................84

Cantidad de Paginas de Memoria buscadas a Disco por Segundo ..................84

Cantidad de Logouts por Segundo ............................................................84

Cantidad de Compilaciones por Segundo ...................................................85

Querys Ejecutados con Mayor porcentaje de uso de recursos de servidores ...85

Conclusiones ............................................................................................87

Revisión Carga Diaria. ............................................................................87

Revisión Carga Stress.............................................................................87

Recomendaciones ..................................................................................88

Servidor Web .....................................................................................88

Servidor de Base de Datos ...................................................................88 Gestión de Operaciones ............................................................................ 89

Situación Actual ........................................................................................89

Matriz de evaluación ..................................................................................91

Recomendaciones......................................................................................92

CONCLUSIÓN ............................................................................................ 94

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 7: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 7 de 100

Plan de Trabajo: ....................................................................................... 96

Carta Gantt ..............................................................................................96

Costos .....................................................................................................97 Personal Entrevistado............................................................................... 98

Documentación Utilizada .......................................................................... 99

ANEXOS .................................................................................................. 100

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 8: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 8 de 100

Introducción

El Gobierno de Costa Rica ha solicitado al Banco Mundial y al Banco

Interamericano de Desarrollo su asistencia para analizar el potencial de su actual sistema de adquisiciones electrónicas (CompraRed) vis a

vis sus desafíos en compras públicas. Este requerimiento deberá ser cubierto en un plazo no superior a Febrero 2008.

Como parte del análisis es preciso indicar la capacidad y calidad de la

plataforma tecnológica de CompraRed, para sustentar los benchmark identificados en operaciones y funcionalidades.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 9: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 9 de 100

Objetivos y Alcance de la asesoría

En virtud de lo solicitado por el BID, los objetivos a cubrir en este informe son:

o Revisión y Análisis de:

o Fabrica de Software

o Modelo de Datos

o Robustez y estabilidad del código o Infraestructura utilizada o Desempeño del aplicativo o Usabilidad del aplicativo o Gestión de operaciones e incidentes o Seguridad

o Recomendaciones sobre diagnostico:

o Al analizar cada ítem del diagnostico, se entregaran recomendaciones

acordes a cada ámbito.

o Futuro plan de trabajo

o Fabrica de Software

o Aplicativo o Software

o Gestión de Operaciones

o Infraestructura

Alcance El alcance de la consultoría cubrirá los siguientes elementos:

o Análisis de Fabrica de Software y Aplicativo a nivel Macro

Se realizara la especificación y revisión de los elementos que son parte

de la Fábrica de Software, Aplicación, Usabilidad

o Análisis de desempeño del Aplicativo

Se analizaran aspectos de Hardware y Software que están involucrados

en el desempeño de la aplicación en producción.

o Análisis de la Infraestructura

Se revisaran los aspectos técnicos, capacidad, seguridad y revisión a la

gestión tecnológica.

o Análisis de la Gestión de Operaciones

Se revisaran los aspectos técnicos, gestión de incidentes y revisión a la

gestión del ámbito operacional.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 10: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 10 de 100

Consideraciones de Alcance

o La información entregada en este informe tiene un carácter informativo.

o El contenido de la información fue extraída en base a la información

obtenida de las distintas unidades y empresas involucradas

o La prueba de stress es solo representativa y puede no indicar el caso

más representativo de uso del sistema

Plan de trabajo

El plan de trabajo propuesto está dividido en 3 fases más la entrega final:

Fase 1: Definición de los objetivos del informe

Fase 2: Recolección de Información

Fase 3: Procesamiento y Análisis de la información entregada

Fase 4: Entrega de informe final Fase 1 - Definición de los objetivos del informe

En esta fase, se realizaron las actividades de definición de objetivos junto

con el BID, las actividades fueron:

o Definir objetivos y alcances

o Definición de los responsables

o Plan de trabajo estimado

Fase 2 – Recolección de Información

Se definieron los ítems o documentos a solicitar, el grado de acceso a la

información, y las fechas de entrega de las solicitudes.

o Definición Ítems de Entrega

o Disponibilidad de información

o Confirmación de las fechas de entrega de la información

disponible mas información adicional.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 11: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 11 de 100

Fase 3 - Procesamiento y Análisis de la información entregada

Una vez entregado los ítems de información, se realizaran procesos para

tabular y analizar la información solicitada

o Entrega documentación del Software

o Entrega Información Contadores

o Entrega Información adicional

o Procesamiento de Información

Solicitud de Datos

Se solicitaron las configuraciones y contadores, documentación de información.

Software

Documentación

Casos de Uso

Planes de Prueba

Documentación de Software

Infraestructura

o Especificación de Hardware de los Servidores:

o Sistemas Operativos y Configuración.

o Configuración de SQL Server

o Mediciones de entorno

o Seguridad En la prueba de stress se solicitaron:

Contadores de rendimiento servidores SQL

Informe PSSDIAG (Microsoft)

Informe PAL para Servidores Web (Microsoft)

Informe de Debug para Servidores Web (Microsoft)

Informes SQLNEXUS.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 12: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 12 de 100

Diagnostico y Análisis

Fabrica de Software

Situación Actual

La fábrica de software esta externalizada es decir es una empresa privada “Hermes”, la cual desarrolla y mantiene el software “Comprared”.

El concepto del software “Comprared”, tiene una antigüedad de cerca de 8 años (Creado en

septiembre del 2001).

Sin embargo la obligatoriedad del uso del software por parte del estado es del año 2005.

La tecnología utilizada en el desarrollo está dividida en 2 etapas

1. Desarrollo Delphi

a. Para los módulos a los cuales se les realiza la mantención y que son parte de

las fases I, II, III. Estos se encuentran desarrollado en Delphi.

2. Desarrollo .NET

a. El nuevo desarrollo es realizado como parte de un nuevo modulo será en

tecnología .net

b. Se desarrollo en tecnología .NET el registro de proveedores que actualmente

se encuentra en producción

c. Se está en proceso de marcha blanca el modulo de convenio marco

Situación Futura

La dirección DGABCA contempla dentro de su plan de trabajo realizar la migración de

los módulos realizado en Delphi hacia tecnología .NET, esto se contempla dentro de

un contrato de mantenimiento con la empresa de software.

Metodología de Análisis Para analizar si la fábrica de software tiene la potencialidad de cubrir los nuevos desarrollos

para el futuro se realizo lo siguiente:

1. Entrevistas y realización de preguntas con los integrantes

2. Esquema organizacional de la empresa respecto al software

3. Entrega de Documentos con la información relevante

4. Metodología de trabajo para el desarrollo de código

5. Conocimiento sobre la tecnología utilizada

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 13: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 13 de 100

Análisis de la Fábrica Como resultado del análisis se revisaran los aspectos relevantes a la fábrica que

son:

Equipo de Trabajo

Metodología de Desarrollo Equipo de Trabajo

El equipo de trabajo actual según lo informado por la Fábrica de Software,

considera el siguiente personal.

1 Director de Proyecto /Analista Programador Senior

2 Analista Programadores

Director de Proyecto / Analista

Programador Senior

Analista

Programador 1 Analista

Programador 2

Dentro de las funciones realizadas por el director de proyecto se encuentran

Dirección del proyecto

Enlace entre la empresa y de la Contraparte técnica del Ministerio de Hacienda

Planeamiento, coordinación, definición y dirección de los recursos del proyecto.

Comunicación del grado de avance del proyecto.

Identificación de las desviaciones de cualquier punto del proyecto y tomar las acciones

correctivas necesarias en forma inmediata.

Establecimiento de puntos de control, administración de riesgos que existan en el proyecto,

monitoreo y revisión de avances del proyecto, coordinar la elaboración de los informes de

revisión para el Ministerio de Hacienda.

Participación en las reuniones que se deriven con las Contrapartes Técnicas del Ministerio de

Hacienda.

El perfil del director tiene las siguientes ser el siguiente

Conocimiento de herramientas Delphi

Conocimiento y desarrollo en tecnologías .NET

Conocimiento en planificación y gestión de requerimientos.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 14: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 14 de 100

Dentro de las funciones realizadas por el Analista Programador se encuentran

Analizar requerimientos, diseñar, desarrollar o adaptar las necesidades, para el

mantenimiento de COMPRARED y su implementación y seguimiento post-implementación.

interactuar en modo permanente con la contraparte técnica y funcional del Ministerio de

Hacienda, para garantizar la generación de productos que cumplan con la integración y

coordinará el levantamiento de requerimientos

Participarán en la definición del plan general de implantación y definirá el detalle para lograr

los objetivos previstos en cada fase.

Definir los recursos idóneos requeridos para el proceso de implantación.

Identificar los procesos claves del negocio

Identificar los requerimientos de cada proceso

Participar en la definición de la situación deseada del área funcional en relación con el

Sistema COMPRARED

Verificar que los objetivos del negocio sean contemplados por el mantenimiento.

Deberán entrar al detalle de resolver los casos particulares que se presenten, de carácter

técnico organizativo y funcional del proyecto.

Participar en modo activo conjuntamente con los miembros del equipo funcional y con el

grupo de los usuarios expertos en el desarrollo del diseño funcional; incluyendo su

aprobación.

Participarán conjuntamente con el equipo técnico de COMPRARED, en el diseño, desarrollo e

implementación de los ajustes, desarrollo de nuevos programas, interfaces, conversiones y

cualquier otro componente adicional que se requiera en el mantenimiento de COMPRARED

Capacitación sobre el mantenimiento de los ambientes de desarrollo y producción; base de

datos y administración del sistema operativo, así como del sistema de seguridad.

Responsables de la dirección y ejecución de la prueba integración del sistema, esto incluye

trabajar con el equipo funcional del proyecto COMPRARED, en la identificación de los

escenarios críticos, identificar los datos que van hacer probados; dirigirán los resultados

esperados versus resultados actuales y harán los ajustes necesarios para la solución a los

problemas encontrados.

Realizar reuniones de trabajo con los representantes de la Dirección General de

Administración de Bienes y grupos técnicos de la Dirección de Informática a efecto de

cumplir con los objetivos propuestos.

Capacitar al grupo de usuarios expertos y apoyar en la capacitación de los usuarios finales,

en todas las actividades de mantenimiento de COMPRARED.

El perfil académico y técnico del analista programador es:

Bachiller universitario con amplia experiencia Conocimiento en herramientas Delphi

Conocimiento en herramientas .NET Se consulto si existían roles como CM, testing, validación de procesos,

Administradores de base de datos, documentadores, entre otros, ante lo cual, la

respuesta fue que existe un duplicidad de funciones para solventar estos roles.

No existe una separación entre las áreas de mantenimiento y desarrollo de nuevos

requerimientos, lo cual implica duplicidad de roles para el desarrollo de ambas

labores.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 15: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 15 de 100

Metodología de Desarrollo

Al revisar la metodología actual de desarrollo, se desprende lo siguiente:

La fabrica no utiliza un modelo estándar en el desarrollo del software, ya sea

mediante la maduración de los procesos como CMII o una metodología ágil de

desarrollo, como MSF+AGILE, sin embargo se tienen especificado y delimitada las

etapas del ciclo de vida de desarrollo de software (SDLC) mediante documentación

en distintos formatos. El modelo utilizado por la fábrica es del tipo descriptivo, el cual es útil como una

base de conocimiento y para la mejora de procesos de desarrollo. Este puede

utilizarse posteriormente para la realización de un modelo prescriptivo.

El SLDC de comprared es el siguiente:

Diseño y Especificación de requerimientos por Parte de la DGABCA Cubicación e Implementación por parte de Hermes

Pruebas y Puesta en marcha por parte de DGABCA y DGI

Mantención del Software

Diseño y especificación

La fabrica cuando toma un nuevo requerimiento de parte de la DGABCA, se realiza

un análisis y cubicación de los requerimientos en base a la experiencia del

desarrollo anterior por lo cual no existe una metodología para el análisis del tiempo

a desarrollar (cubicación), por lo cual puede que el esfuerzo estimado para dicho

requerimiento no sea claro y conciso.

La definición del diseño y ámbito del requerimiento, esta dado por la experiencia

del equipo de Hermes, y la conceptualización a nivel de CU, hacia la DGABCA El requerimiento del la DGABCA, es tomado y diseñado a través de un lenguaje de

modelamiento como UML, dicho requerimiento es enviado en forma electrónica

preferencialmente en formato Word.

El caso de uso es diseñado en la herramienta EA (Enterprise Architect), luego el caso de uso, la especificación a nivel de prosa, y la centralización de dicho

documento es realizado en el software “TopTeam”. Ambos software principalmente cumple con las etapas de requerimiento y análisis,

sin embargo los CU realizados en EA, además son utilizados para las etapas de

implementación de los requerimientos.

Cubicación e Implementación por parte de Hermes

La cubicación del software está basada en la experiencia del gerente de proyecto

para especificación del esfuerzo realizado, y los tiempos impuestos de desarrollo

por la DGABCA

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 16: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 16 de 100

Se analizo si existían métricas las cuales permiten tener una mejor aproximación a

dicha estimaciones de esfuerzo, las cuales a nivel general son parte del

conocimiento empírico y no están basados en bases a estadísticas o repositorios de

información. La planificación de los tiempos está registrada con el software Office Project, pero

no existe un seguimiento claro de las tareas, y las desviaciones que se generan a lo

largo del desarrollo del requerimiento, a su vez el equipo de desarrollo, no tiene

definidas claramente en que parte de la planificación se encuentran.

La implementación del software, estaba basada en la automatización en base a

plantillas, en el cual el arquitecto de software indica las pautas a realizar.

El cual implica que debe estar un modelado muy maduro del requerimiento, para

no impactar los controles de cambio posteriores, y el software base debe estar

conceptualizado para dar soporte a este modelamiento.

Pruebas y Puesta en marcha por parte de DGABCA y DGIC

Las pruebas y puesta en marcha del desarrollo, se basan en aceptaciones formales

a través de documentos firmados por parte de la DGABCA.

La aceptación se basa en pruebas realizadas al software en un ambiente de testing, el cual dicho ambiente no es una aproximación real al ambiente de certificación.

Dentro del equipo de trabajo actual, al no existir un rol de Configuration

Managment, es difusa la definición de un release para la puesta en producción, por

lo cual la aceptación de la versión candidata puede sufrir modificaciones, dentro de

los cuales no está claro, si pertenece a un control de cambio, a un error u otros. El deploy o puesta en producción del aplicativo, se basa en la entrega del software

por parte de la fábrica, hacia la DGABCA posteriormente la DGABCA envía a la DGI

y ellos proceden a la implantación del deploy en los servidores. Todo esto es realizando mediante la formalización de un documento hacia la DGI,

con el script respectivo si es de base de datos, y/o aplicación. Mantención del Software

La mantención del software está basada en reportes de bugs que son originados

por la recepción de incidentes a través de la mesa de ayuda.

Cuando un incidente es recepcionado por la fabrica, es ingresado a la herramienta

“Track”, luego de esto un desarrollador procede a revisión del incidente, una vez

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 17: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 17 de 100

corregido, posteriormente se realizan las pruebas unitarias, se realiza la

coordinación con la dirección en las pruebas, y se sube la corrección respectiva.

La fábrica de software recibe incidentes de cualquier índole, ya sea error de ingreso

de datos, caída del aplicativo, entre otros. Los cuales debe utilizar un tiempo no determinado para dar la con la resolución

respectiva.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 18: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 18 de 100

Riesgos y Falencias Detectadas

Posterior al análisis realizado y en base a la información entregada se detalla la

siguiente lista de riesgos y falencias detectadas, en base al potencial necesitado de comprared.

El menor valor indica que a pesar que dé existe el riesgo se han realizado acciones

sin embargo estas no han sido del todo correctivas.

Un valor alto indica que existe poca o nula acción sobre el riesgo.

Un riesgo no latente pero que será parte de los siguientes capítulos, es el doble

desarrollo que se tiene hasta el momento para la mantención de la plataforma.

En términos de riesgos un valor 39 indica que la fábrica de software ha tomado

medidas que permiten afrontar el desarrollo de una buena manera.

Sin embargo existen ciertos ítems que impiden que el riesgo aun persista como:

Duplicidad de funciones

Personal especializado Dichas brechas son solucionables en el corto y mediano plazo

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 19: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 19 de 100

Recomendaciones Para minimizar los riesgos detectados se entregan las siguientes recomendaciones.

Fabrica de software.

En base a lo diseñado por la Fábrica de software se deben realizar algunas acciones que permitan mejorar la estabilidad del desarrollo:

1) La fábrica debe tomar como marco referencial el adaptar su metodología de

trabajo y de software a una forma estándar de trabajo como CMII o MSF, lo

cual implicar estandarizar la documentación y los procesos

2) Seguir innovando en la utilización de patrones, pero no excederse en la

utilización de patrones poco prácticos al modelo de negocio

3) Utilizar plantillas de metodología de reusabilidad de código, asociadas a la

tecnología .NET, considerar GAX.

4) Considerar la utilización de software integrados para el desarrollo como

Team Foundation Server o Cruise Control.

5) No realizar sobre documentación de casos de usos, se recomienda tener un

documentador para este propósito.

Metodología de trabajo

Para mejorar la rapidez y productividad de la fábrica se recomiendan los siguientes

puntos:

1) Considerar el uso de metodologías estándar junto con metodologías de

desarrollo modernas, como CMII + MSF, en el cual existen niveles de

madurez y además es iterativa

2) Registrar e integrar en una sola herramienta la gestión de horas trabajadas,

con la integración de proyectos, y analizar las métricas en base a líneas de

código realizadas, modificadas entre otros.

3) Al adoptar una cierta metodología considerar el uso de documentación

estándar como:

a. Tareas

b. Requerimientos

c. Controles de cambios

4) Considerar al uso de herramientas integradas la integración con las cartas

de proyecto, y así lograr una mejor gestión.

5) Mejorar la capacidad de la herramienta de gestión de bug‟s, integrándola a

los versionamientos de código, y además estimar cuanto tiempo es utilizado

en este tipo de tareas.

Herramientas utilizadas.

Se consideran el mejorar las herramientas ya existentes con el objeto de tener una

mayor gobernabilidad y producción del código.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 20: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 20 de 100

1) Utilizar SubSonic y mejorar la integración con otros componentes, evaluar

usar Visual Source Safe, de TFS.

2) Revisar frecuentemente el código compilado con herramientas externas

como FXCOP.

3) Utilizar herramientas de integración continua, como Cruise Control.

4) Realizar planes de prueba iterativos con herramientas de validación de

estándar HTML, para mejorar la accesibilidad a la aplicación Web.

Equipo de trabajo

Considerar este punto como uno de los más relevantes del proyecto.

La capacidad actual de la fábrica de software es insuficiente para contemplar el

manejo del sistema de compras públicas, ya que actualmente existe una alta

demanda y escasa mano de obra.

Deben realizarse aumentos de personal de manera sostenida, en la cual se vayan

integrando personal de las distintas áreas como jefaturas, dirección de proyecto,

mantención, testing y qa.

Las cuales permitan tener una adecuada base para afrontar la migración y los nuevos desarrollos de manera adecuada y sin riesgos latentes.

El equipo que se propone es el siguiente.

Gerente

Jefes de proyecto

Mantencion

Jefe de Proyecto Migracion

QA de Procesos

QA Testing CM

Programador 1

Programador 2

Programador 3

Programador Senior

Se propone que dicho equipo vaya siendo gradual en la medida de la carga de

trabajo y esto debe determinarse en conjunto con la priorización de migración de

los módulos.

De esta manera podría llegarse aun supuesto de 8 personas en el desarrollo y

mantención de la solución de CompraRed.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 21: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 21 de 100

Este análisis se basa en:

la cantidad de trabajo que implica convertir el código a .NeT.

Se reviso según las funcionalidades entregadas hasta ahora, desarrolladas en

Delphi, de la cual se tomo como cada acción, separada del sistema como una

funcionalidad.

El detalle de las funcionalidades esta en el Anexo “Detalle de Funcionalidades Comprared”

Cantidad Descripción

560 Funcionalidades

3 Días por Funcionalidad (días de 8 Horas)

Cantidad de Días por la cantidad de

1680

84

10.5

funcionalidades

Cantidad de Meses de 20 días considerado de

manera lineal

Cantidad de meses aproximada a 8

programadores

9 Cantidad de meses con programador sénior

La actual mantención al código, la validación y testing de la funcionalidad.

Dicha área aun no está establecida, y el tiempo de adecua miento y

realización del software puede ser un tiempo finito en la cual deban existir

tiempos de marcha blanca y adecua miento de las herramientas utilizadas.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 22: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 22 de 100

Código de la Aplicación

Objetivo

El enfoque es revisar que potencialidad tiene el código desarrollado para alcanzar la

cantidad de usuarios esperado y si el código es capaz de tener un alto grado de

reusabilidad.

Situación Actual

El desarrollo de la solución está realizado en 2 lenguajes de programación distintos.

Para los nuevos módulos que son Convenio Marco y Registro de proveedores, se

considero utilizar lenguaje .NET.

El mantenimiento de la aplicación Comprared, con los módulos involucrados en el

mantenimiento implica la mantención y programación en el lenguaje Delphi. Se detallaran a continuación la revisión de la programación realizada en Delphi y

.NET Desarrollo Delphi

Los desarrollo y mantención en Delphi involucra lo siguiente:

Delphi 7 Professional

Documentos XML y transformación a HTML con plantillas XSL

Manejo de DHTML y Java Script.

El motor de transformación es XMLLIB

Motor de base de datos con SQL Server 2000 Enterprise, con Drivers para

DB: CoreLab dbExpress Drivers para MS SQL Server

Conocimientos de IIS 4.0 o Superior

Conocimientos de manejos de DLL ISAPI sobre IIS Patrones de Diseño

Al revisar la documentación no se encontró si existió algún tipo de definición o

patrón de diseño, respecto al modelo de desarrollo en Delphi.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 23: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 23 de 100

Sin embargo en dicha revisión, existe una cierta tendencia al uso de patrones de

diseño como:

Patrón Observador (patrón para desacoplamiento de lógica entre emisor y

receptor)

Patrón Active Record (patrón para impedir el desacoplamiento entre la

aplicación y el modelo de datos) Se desconoce si estos patrones fueron utilizados debido al uso de las herramientas

propias de delphi (como dbExpress) o son parte de la conceptualización del

arquitecto de software. Además se revisa que existen ciertos aspectos de la aplicación que utiliza un

modelo del tipo MVC.

Estándares y codificación

La aplicación utiliza un modelo hibrido de programación procedural y de objetos.

Existen normativas de programación indicadas en la documentación entregada, en

la cual se especifican normas como declaración de las clases, métodos, etc. Se utilizan clases, herencias, propiedades, interfaces, entre otros, sin embargo no

existe una especificación clara a nivel de documentación, el cómo se realiza esta

programación, puede que exista pero no fue encontrado en la documentación

entregada. Existen otros componentes de la aplicación se utilizan funciones de utilidades como

entidades y funciones de conexión a base de datos.

Estructura de la Aplicación

La estructura del desarrollo en Delphi se basa en un desarrollo de 3 tiers físicos (o

capas físicas)

Web

Servidor de Aplicación

Base de Datos

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 24: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 24 de 100

A nivel lógico la aplicación está separada de manera lógica en múltiples

componentes.

Componentes Web (XML y XSL)

Componentes de Aplicación (Componentes T*)

Componentes de Base de Datos (dbExpress y SQL Embebido) Los componentes se encuentran cohesionados en uno o varios archivos, por

ejemplo el archivo OrdenCompra.pas, se encuentran las funciones de interacción

hacia la aplicación web (TAnswer) y hacia la base de datos (TSQLQuery). Se reviso la documentación, para entender la lógica de separación de código, sin

embargo la búsqueda fue infructuosa.

A modo de revisión se verán los componentes más representativos (se debe

indicar que no necesariamente sean los más representativos desde el punto de

vista del arquitecto de la aplicación).

Interacción de componentes

Los componentes interactúan en el modelo de 3 capas físico.

Las ejecuciones de entrada son realizadas a través del cliente web, en la cual

ejecuta el requerimiento en el servidor web, el servidor web aloja una DLL ISAPI el

cual contiene los componentes para interacción y ejecución de los servicios hacia el

servidor de aplicación, una vez recibido por el componente de aplicación, este

realiza la ejecución de las querys respectivas, contra el servidor de base de datos.

Posteriormente el resultado de las querys, es transformada a XML, y devuelta a la

capa de interacción web, esta capa contiene un parser y transforma dicho contenido

a HTML compatible con el navegador.

Componentes Web

Para la separación se la capa de aplicación de la capa de presentación se utilizaron

las tecnologías XML y xslt. Para cada solicitud que recibe el servidor de COMPRARED se genera un XML. Este

XML es transformado mediante XSLT en el HTML que es devuelto al navegador del

cliente.

Para la generación de XML se utilizó la librería llamada “libxml2.dll”

Para las transformaciones se utilizó la librería “libexslt.dll”. Libxslt una librería desarrollada por el proyecto Gnome.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 25: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 25 de 100

Los componentes web desarrollados son

Componentes Aplicación

Todos los componentes son manejados por un componente general llamado

“TCRIIIController”.

Dentro de los componentes utilizados son:

componentes manejador de requerimientos web (TWebResquestHandler)

componentes controladores (TRequestController)

componentes internos de manejo de requerimientos respuesta

(TRequestHandler)

componentes de repuesta para web (TWebAnswer)

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 26: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 26 de 100

Componentes Base de Datos

Según lo revisado existen componentes de interacción hacia la base de datos.

Estos componentes principalmente son utilizadas por la aplicación:

TSQLConnection

TTransactionDesc

TSQLQuery Existen 2 tipos de ejecución de querys.

T-SQL embebido en la aplicación

o EN entrevista con la empresa Hermes, se explico que existe

separación de código SQL en la aplicación a través de archivos que

contienen la sentencias SQL en un archivo XML.

SQL en forma de Stored Procedures

o La aplicación en ciertos módulos ejecuta Stored Procedures.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 27: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 27 de 100

La aplicación utiliza indistintamente para operaciones de manejo de datos a través

de ejecuciones con el motor dbExpress así como ejecución de Querys embebidos y

stored procedures. El resultado de las querys, se entrega en formato XML.

Existe documentación sobre este parte aunque de manera general.

Diagrama de Interacción entre los módulos

A nivel de interacción entre los módulos quedaría de la siguiente manera

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 28: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 28 de 100

Arquitectura del a aplicación Delphi.

Dentro de la documentación entregada se especifica que la aplicación realizada en

Delphi, tiene soporte para tolerancia a fallas, concurrencia, balanceo de carga . El manejo de balanceo de servidores y tolerancia a fallas se indica que la aplicación

es realizada por un componente de la aplicación. En dicha documentación, no se

especifica el componente y como se realiza el cálculo del algoritmo, se desconoce si

a la fecha se han realizado pruebas de rendimiento, tolerancia a fallas, con dicha

arquitectura, y las métricas de estas pruebas realizadas. Dentro de la documentación no se especifica el cómo se realiza el manejo de

sesiones a nivel de arquitectura, solo se indica que el servidor de aplicaciones

realiza la creación de la sesión de un usuario autenticado. No se especifica claramente a nivel de documentación como la aplicación graba los

archivos de los usuarios, sin embargo en la entrevista con la fábrica de software se

indico que se configura mediante archivos de configuración dentro de la aplicación.

Tecnología .NET

Los desarrollo y mantención en .NET involucra lo siguiente:

Visual Studio 2005

.NET Framework 2.0 Windows XP o Windows 2003 o superior

IIS 5.0 o Superior.

Patrones de Diseño

Al revisar la documentación se analizo que existió una definición (no formal) de

patrón de diseño basado en los siguientes:

Patrón DTO

Patrón FAÇADE

Patrón Active Record Los patrones quedan manifestado en el siguiente diagrama de componentes, sin

embargo dicha definición es solo a modo de análisis y no representa la definición

formal de la arquitectura de los componentes.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 29: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 29 de 100

cmp Registro de prov eedores

AuthUserFDHandler

UT ILREQ=AUT ENT ICAR

Autenti carConCl ave

LoginRequest

FeriadosHandler GetFeri ados

FeriadosRequest

ControlAccesoHandler Usuari oDT O

ControAcceso

CrearUsuari o

«nam espace»

handlers

«nam espace»

AppSrv API

sol i ci tud

«rem oti ng»

capa ui

CRAppSrv CRWeb

respuesta

«rem oti ng»

Seguridad

capa bd

capa app

«nam espace»

po y dto

RegistroProv

«nam espace»

map

«nam espace»

bo

Comunes

RegistroProv BO SeguridadBO

RegistroProv M apper SeguridadM apper

«bd»

SPs

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 30: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 30 de 100

Estándares y codificación La aplicación utiliza un modelo orientado a la programación de objetos.

Existen normativas de programación indicadas en la documentación entregada, en

la cual se especifican normas como declaración de las clases, métodos, etc. Se utilizan clases, herencias, propiedades, interfaces, entre otros, sin embargo no

existe una especificación clara a nivel de documentación, el cómo se realiza esta

programación, puede que exista pero no fue encontrado en la documentación

entregada. Existen otros componentes de la aplicación se utilizan funciones de utilidades como

entidades y funciones de conexión a base de datos.

Estructura de la Aplicación

La estructura del desarrollo en .NET se basa en un desarrollo de 3 tiers físicos (o

capas físicas)

Web

Servidor de Aplicación (Remoting)

Base de Datos A nivel lógico la aplicación está separada de manera lógica en múltiples

componentes.

Componentes Web (Controles Web y paginas ASP.NET)

Componentes de Aplicación (Componentes expuestos a través de Remoting)

Componentes de Base de Datos (Archivos XML y Stored Procedures) Cada componente es parte de uno o más proyectos, que se encuentran unidos a

través de namespaces, dichos proyectos están separados en 4 grandes ámbitos.

Componentes de Mapeo entre clases y base de datos (Mapper)

Componentes de Despliegue (Paginas ASP.NET y Controles de Usuario)

Componentes Orquestadores (BO o Bussiness Objects)

Componentes simples de datos (DTO y/o PO)

Se reviso la documentación, y no se encontró la especificación de la separación de

los componentes, sin embargo esta aseveración fue en base al código fuente

revisado y la entrevista realizada al equipo de Hermes.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 31: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 31 de 100

Interacción de componentes

Los componentes interactúan en el modelo de 3 capas, las ejecución son realizadas

a través del cliente web, en la cual ejecuta el requerimiento en el servidor web,

luego el requerimiento se transporta a través de remoting, el cual accede a los

componentes “alojados” o “hosteados” en el servidor de aplicaciones.

El servidor “host” contiene los componentes para la ejecución de los servicios

dentro del servidor de aplicación, una vez recibido el llamado o ejecución, por el componente de aplicación, este realiza la ejecución de las querys o SP respectivos.

Posteriormente el resultado de las querys, es enviada a través de objetos DTO, y

devuelta a la capa de interacción web, esta capa transforma dicho objeto a la lógica

a través de los controles y entrega el output en HTML compatible con el navegador.

Componentes Web

Para la separación se la capa de aplicación de la capa de presentación se utilizaron

las tecnologías de controles custom realizados por la fábrica de software,

componentes ajax custom, y controles asp.net nativos. Para cada solicitud que recibe el servidor de aplicaciones se genera un dto o un

objectdatasource genérico, este luego es devuelto hacia el servidor web y se

transforma en un contenido HTML. Los controles web desarrollados son

CAPanel CAButton

CADataDropDown

CADateTimeInput CAHyperLink

CAImageButton

CALinkButton CANumberInput

CATATextbox CATextbox

Con los cuales se cubre la mayor parte de las funcionalidades básicas del sistema

Junto a esto se utilizaron los componentes nativos de .net para la lógica de

autenticación a nivel de controles web.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 32: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 32 de 100

Se menciona que no se utilizo el modelo de seguridad asociado a forms o Windows

autenticación debido a la incompatibilidad con el desarrollo en Delphi y la

implementación de la firma digital.

Componentes Aplicación

Los componentes de aplicación, son clases, métodos de negocio, interfaces, entre

otros expuestos a través de remoting (modo singleton) y clases heredadas a través

de Marshall.

La exposición de los objetos se realiza a través de un host, dicho host realiza la

comunicación hacia el servidor web a través de comunicación a través de TCP

Binario, esta información fue extraída de la entrevista con la fábrica de software. Componentes Base de Datos

Según lo revisado existen componentes de interacción hacia la base de datos. Estos componentes principalmente son utilizadas por la aplicación, estos son

objetos nativos de los componentes .net, el cual son el conjunto de librerías

ado.net para la ejecución de consultas hacia la base de datos.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 33: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 33 de 100

Existen 2 tipos de ejecución de querys.

T-SQL separado en archivos XML

o EN entrevista con la empresa Hermes, se explico que existe

separación de código SQL en la aplicación a través de archivos que

contienen la sentencias SQL en un archivo XML.

SQL en forma de Stored Procedures

o La aplicación en la mayor parte de los módulos ejecuta Stored

Procedures. La aplicación utiliza indistintamente para operaciones de manejo de datos a través

de ejecuciones con él los querys en formato XML así como ejecución de stored

procedures.

Diagrama de Interacción entre los módulos

A nivel de interacción entre los módulos quedaría de la siguiente manera

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 34: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 34 de 100

Cuadro Comparativo de tecnologías utilizadas

Punto de Vista Delphi .NET

Tiempo de desarrollo sobre la

plataforma Ciclo de vida del

Software

>= 5 años

1 año

Tamaño del software realizado

sobre la cantidad total de

funcionalidades

90%

10%

Nivel de Documentación sobre el

software

Alta

Baja

Nivel de abstracción del software

Alto

Alto

Soporte nativo de tecnología para

manejo de alta transaccionalidad

a nivel Web.

No (Se debe realizar la

programación a través de

algoritmos)

Si se utiliza ISAPI se pueden tener

deficiencias a nivel de threads.

Se usan los Working Processes de

ASP.NET, entre otros, disponibles

desde IIS 6.0.

Soporte de Aplicación para

manejo de sesiones a través de

Balanceo de carga de servidores

Web

SI (Aunque se debe realizar la

programación del componente y

con algoritmos propios de la

fabrica)

SI, Configurable a través de

directivas.

Software capaz de soportar

interacción a través de nuevas

integraciones como SOAP, REST u

otros

SI (Aunque debe ser programado

íntegramente e integrar

herramientas externas)

SI, Soporte nativo para conexión

de webservices, etc.

Entorno integrado de desarrollo

(Integración de herramientas

adicionales como control de

código fuente, entre otros)

SI

SI (Tiene distintos providers

configurables)

Software orientado al desarrollo

de sistemas web

NO (Aunque delphi es considerado

uno de los lenguajes más

utilizados en el ámbito de la

multioperatividad de plataformas)

SI (aunque solo en ambientes

Microsoft)

Soporte especializado de tercer

nivel

NO

SI, Se cuenta con soporte premier

Microsoft.

Lenguaje con capacidades de

Cache y persistencia de valores

en servidores Web

SI (Aunque debe ser programado)

SI

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 35: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 35 de 100

Modelo de Datos

El modelo de datos fue diseñado hace 8 años, este modelo de datos ha tenido

nuevos módulos, que han involucrados nuevas tablas, y debe analizarse si dicho

modelo está preparado para un porcentaje mayor de concurrencia.

Las métricas actuales son las siguientes, para los principales objetos de base de

datos

Tipo

Cantidad

Tablas

413

Vistas

139

Índices

569

Procedimientos

1918

Se revisara principalmente el tamaño de almacenamiento y cardinalidad de índices, y programación de stored procedures.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 36: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 36 de 100

Tamaño de Tablas

En cuanto a tamaño en disco desglosado por tabla es lo siguiente:

El 78% del tamaño de la base de datos corresponde a las siguientes 3 tablas:

TRANSACCION_MODIFICA 56%

TRANSACCION_INSERTA 15%

TRANSACCION 7%

El 78% involucra un peso de 11.3 GB (Total 14.2GB), lo cual indica, un alto

tamaño concentrado en un porcentaje muy bajo en lo que respecta a la

cantidad de objetos, una forma de mitigación es lo siguiente:

labores de almacenamiento histórico en conjunto con la aplicación

limpieza de estas tablas para no afectar el rendimiento.

Índices

Respecto a los índices de base de datos se analiza que existe un alto porcentaje

de índices clustered, esta es una definición por defecto de la creación de las

tablas cuando tiene una PK (llave principal). El tener este tipo de índices

involucra mayor cantidad de lecturas a disco, y mayor tiempo de CPU para la

inserción o modificando de valores en la tabla.

Si te tienen índices clustered, analizar la opción de mantener este índice como

NON Clustered (HEAP), debido a que se realizan lecturas al azar y no de

manera secuencial, lo cual mejora los tiempos de respuesta y además analizar

la opción de builds asincrónicos de índices de SQL 2005.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 37: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 37 de 100

Programación de Stored Procedures (SP)

La programación de SP, debe considerarse de manera sustancial para el manejo

de alta transaccionalidad. Se recomienda que los T-SQL ejecutados

directamente por la aplicación sean traspasados a lógica de SP.

Considerar la lectura sucia (DIRTY READ), lo cual implica que la aplicación podrá

realizar lecturas de manera no bloqueante.

Se recomienda agregar la clausula NOLOCK o READUNCOMMITTED, en los casos

que amerite una alta transacción.

Además considerar que cada sentencia select solo debe contener la lista de

campos a traer, debido a problemas de rendimiento como network, planes de

ejecución entre otros.

Matriz de Evaluación

Una vez realizado el análisis se realizo la siguiente tabla de brechas.

Un promedio de 75 implica que se han realizado correctamente el desarrollo del

software, sin embargo existen puntos que deberán mejorarse como:

Actual desarrollo en Delphi y .NET

Mejorar la calidad de la programación a nivel de base de datos

Poca o nula revisión de métricas de base de datos.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 38: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 38 de 100

Recomendaciones

Calidad del Código .NET

AL analizar el código .net, se puede concluir que no tiene grandes falencias, debido

a que fue construido bajo patrones de diseño y buenas prácticas. Sin embargo debe considerar herramientas adicionales que le permitan mejorar la

separación de las brechas como:

Dependencia exclusiva en el arquitecto para las soluciones, se debe nivelar

un equipo de trabajo, como un panel o grupo de expertos

Se deben revisar las practicas concernientes a la mejoras en codificación,

instrumentación de código, entre otros.

Migrar todo el código SQL de la aplicación hacia T-SQL como stored

procedure

Capacitar al personal de gobierno, con tal de no tener una doble

dependencia, en el desarrollo y la operación.

Calidad del Código Delphi

Solo se analizara, que existe un riesgo al tener el código SQL embebido en el

código Delphi, y revisar la posibilidad de migrarlo hacia SP.

El segundo riesgo y el más importante es la dependencia actual de la programación

en Delphi

Dicha programación tiene serios problemas de rendimiento, relacionados a la

capacidad de multitarea en ambientes web y concurrencia, junto con esto no es un

software que permita escalamiento y concurrencia de manera nativa.

Arquitectura

EL análisis de la arquitectura debe estar diseñado para las expectativas del sistema comprared en el corto y mediano plazo, esto se basa en 3 grandes puntos, que

son:

Información Histórica

Dentro de lo especificado para la arquitectura diseñada en .NET, se puede

aseverar que existe un porcentaje de avance que permite tener información

histórica, sin embargo se deben hacer revisiones respecto a la estructura de

la información, para no tener problemas de rendimiento asociados a

cantidad de registros y ejecución de querys.

Concurrencia

La aplicación al coexistir los 2 lenguajes de programación, no permite acotar

el problema que se pueda generar debido a la concurrencia, una vez

despejada esta variable, y solo asumiendo que la lógica de programación es

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 39: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 39 de 100

.NET, se asevera, que existe trabajo ya realizado para la separación de las

capas (datos, negocio, presentación).

Se deben analizar agregar balanceador por hardware y realizar cambios a la aplicación que permita trabajar en un esquema de servidores de granja (Farmed Servers)

Se debe además considerar la base de datos como un elemento clave en la

de la concurrencia por lo cual considerar la optimización de esta a través de mejoramiento de planes de ejecución, tunning de índices entre otros.

Integraciones

Se debe analizar que las funcionalidades de comprared, puedan estar

disponibles para ser accedidas como host de integración, si se toma como

base el desarrollo .net ya realizado, se debe pensar en esta característica, a

través de agregar clases, lógica de negocio, proxy, etc. Adicionalmente revisar en el futuro el uso de software del tipo BPM, un

ejemplo claro es Microsoft BizTalk, BEA.

Potencialidad del Código

Es importante destacar que la revisión de código se realizo a la plataforma .NET y

Delphi, se deben tomar las siguientes decisiones para poder realizar un incremento en la capacidad de carga del sistema.

1) Realizar la conversión del código desarrollado en Delphi hacia .Net, con la

lógica utilizada para los módulos construidos de Convenio Marco y Registro

de Proveedores. Delphi no es un lenguaje orientado a alta transaccionalidad

en ambiente web (Mas adelante se indicaran la razón de esta aseveración).

2) Dotar a la fábrica de software de mejores herramientas de desarrollo y

mayor personal, que permitan mayor productividad, por ejemplo: Controles

Telerik, Suite Team System.

3) Una vez realizada la migración, considerar el uso de sesiones a través de

State Server, en un esquema de balanceo por Hardware, con esto se

mejorara la disponibilidad y escalabilidad.

4) Conceptualizar y agregar a la aplicación el manejo de filegroups o conjuntos

de carpetas para no tener problemas a futuro de almacenamiento.

5) Utilizar patrones que involucren conceptos adicionales como:

a. Instrumentación de aplicaciones

b. Manejo a través de WMI

6) Realizar la conversión de proyectos web .NET de ASP Web Site a Application

Web, para tener una construcción más limpia de binarios.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 40: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 40 de 100

Usabilidad

Objetivo

El enfoque es revisar que potencialidad de uso tiene el sistema comprared,

basándose en los patrones básicos de usabilidad los cuales son:

Facilidad de ser aprendido, Eficiencia, Recordabilidad, Baja tasa de errores,

Satisfacción.

Ante lo cual surge que el sistema “comprared” ser una buena experiencia al usuario

y dar una impresión subjetiva positiva en el usuario.

Situación Actual

Para establecer una línea base de usabilidad del sistema se realizaron las siguientes

preguntas, las cuales se indica el nivel de completitud o trabajo dentro de esa área.

Como valor promedio se tuvo un valor de 11, lo cual indica que existe poco o nulo

trabajo de usabilidad, ante lo cual se presentara una guía de implementación, con

carácter de urgencia para el trabajo de usabilidad.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 41: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 41 de 100

Guía de Implementación

Se consideraran para la guía de implementación de corto y mediano plazo, listar las técnicas existentes para medir y ayudar a la mejora de la usabilidad, estas por

su rapidez y coste puede estar al alcance de los objetivos de comprared.

EL listar la lista de técnicas y metodologías no implica la no contratación de una

asesoría realizada por profesionales, es de vital importancia contratar expertos en

las fases de trabajo para obtener un correcto rendimiento en el desarrollo e

implementación. Es recomendable que las técnicas que impliquen realizar pruebas, sean con

usuarios reales, así la calidad de dichos resultados será la acorde a los resultados

esperados.

Dentro de las técnicas a utilizar para el inicio de la línea base de trabajo esta:

Reuniones o workshops

Estas reuniones son una excelente oportunidad para acercar los objetivos del

negocio a la facilidad de uso. Lo que se persigue con esta técnica es identificar

todos los factores relacionados con el negocio y el uso de la web.

Para ello deben reunirse a los responsables directos del proyecto: encargados o

gerentes, diseñadores del web, personas relacionadas con la gestión de clientes, responsables de marketing y comunicación, etc.

Es importante que se cuenta con personas que tengan algún grado de decisión

dentro de la institución.

¿Para qué se hace el site?, ¿cuáles son los objetivos generales y específicos?

¿Cuáles serán los usuarios del sitio web?, ¿qué información se dispone de

ellos? Y concretamente ¿qué podrán hacer en el site?

¿Existen ideas o conceptos de diseño descartados de antemano?, ¿o hacia

los que haya preferencias?

2. Cuestionarios para usuarios

La realización de esta técnica implica que puede obtenerse la foto fija de la opinión de los usuarios en un momento determinado.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 42: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 42 de 100

Dentro de las opiniones realizadas están por ejemplo:

Preferencias sobre contenido, estabilidad de la conexión, uso y manejo de

Internet, intereses, etc.

En ese sentido esta medición no se debe tomar como una técnica de medición

de la usabilidad, sino, como una técnica exploratoria en los usos y motivaciones

de usuarios actuales o potenciales.

Las preguntas incluidas en el cuestionario han de ser consensuadas por el

equipo responsable del site.

Uno de los puntos en los que hay que prestar mucha atención cuando se diseña

el cuestionario es la realización de las preguntas:

Evitar preguntas que inciten a una respuesta determinada, reduciendo el sesgo de quien realiza el cuestionario. Ser lo más objetivo y aséptico posible en las

preguntas.

Procurar hacer una prueba interna antes de lanzar el cuestionario definitivo a los

usuarios para ver si en la práctica funciona. Comprobar que vamos a recoger la

información que deseamos.

3. Entrevistas y Grupos de discusión

El uso de esta técnicas es para conocer de „manera directa‟ la opinión de los usuarios o posibles usuarios del sistema. Estas son técnicas exploratorias y en ningún caso pueden constituir medición alguna de la usabilidad. En el ámbito de

la experiencia de uso dotan de información complementaria a las técnicas de Test de Usuarios y Card Sorting, para ayudar a la comprensión de

comportamientos de uso y agrupaciones de información.

El principal aporte de estas técnicas es poder realmente captar, mediante el

discurso del usuario, cuál es su grado de satisfacción con el site o cuáles son sus

valoraciones sobre los contenidos. En definitiva, estas técnicas son ideales para

conocer los porqués de la aceptación o rechazo, y la razón por la cual se realizan

las decisiones de los usuarios.

Por su naturaleza estas técnicas requieren de usuarios reales y una

comunicación presencial, „cara a cara‟ a ser posible. En ambos casos, tanto en las entrevistas como en los grupos, es necesaria la presencia de un moderador cuya función fundamental es fomentar el diálogo y dejar fluir la conversación, basándose en la empatía con los usuarios.

4. Card sorting

Esta es una técnica de agrupación de tarjetas, que persigue entender las lógicas de agrupación de información de los usuarios para, de esta manera, orientar la

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 43: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 43 de 100

organización de los contenidos del sitio web. La forma de llevarla a cabo es

invitando a los usuarios a una dinámica de agrupación de tarjetas.

Cada tarjeta contendrá:

-Un título o enunciado, que normalmente se corresponde con cada uno de los contenidos que se incluirán en el site

-Una breve descripción del enunciado lo más breve y clara posible, evitando

incluir palabras contenidas en el título.

Las tarjetas se entregarán al usuario y este, bajo su criterio personal, ira

agrupando tarjetas (o sea, contenidos) según sus preferencias en montones. El

resultado de la agrupación mostrará la concepción del usuario en cuanto a

afinidad de contenidos.

Esta técnica es conveniente complementarla con una entrevista para permitir al

usuario expresar los motivos que le han llevado a realizar los grupos de tarjetas.

De esta forma se pueden conocer las lógicas que subyacen en las preferencias

de los usuarios, que permitirán orientar el diseño del site.

Pruebas y Medición de Usabilidad del Sitio.

Una vez realizada esta línea base se plantea realizar, la siguiente fase de técnicas:

1. Benchmark

Esta técnica consiste en revisar y determinar cuáles son los

competidores directos del sistema y analizarlos e identificar e n ellos las

mejores prácticas de usabilidad, junto con esto revisar sistemas que

aunque no sean competidores, si pueden realizarse acciones parecidas

dentro del uso diario del sistema.

Esta técnica puede ser realizada por una persona o un grupo de personas

(paneles de expertos). Pero lo importante es identificar aquellos sites que mejor

lo hacen dentro y fuera de nuestro sector, y centrarnos en aquellos puntos

cruciales del negocio definidos en los workshops o las reuniones de descripción

de proyecto.

2. Análisis heurístico

Esta es una de las técnicas más utilizadas y conocidas dentro del contexto de evaluación de usabilidad. Consiste en la revisión del site por un conjunto de expertos en usabilidad (entre 3 y 5), los cuales contrastan las páginas del site con una serie de criterios generales previamente definidos, conocidos y aceptados por la comunidad de expertos en usabilidad que se denominan

“principios heurísticos”.

Se pueden dar varios tipos de análisis heurísticos atendiendo a su alcance:

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 44: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 44 de 100

a) Análisis del site completo

b) Análisis de secciones concretas, dentro del site, definidas previamente por

quien encargue el estudio.

La operativa del análisis heurístico es el trabajo individual de cada experto sobre

las distintas secciones en las que se ha dividido el site y luego su puesta en

común. En una primera fase cada experto trabaja de manera separada en la

búsqueda de problemas de usabilidad dentro del site. Una vez detectados, el

experto realiza una explicación del problema haciendo referencia al heurístico/s

en cuestión al que directamente afecta la cuestión. Por definición, los problemas

son susceptibles de ser superados, por lo que el experto a continuación esboza

una posible solución en forma de recomendación.

Una vez los expertos terminan el trabajo individual, se realiza una puesta en

común y se elabora un documento único con las aportaciones de cada uno.

Normalmente el documento se ordena según las mismas secciones del sitio web

y por la severidad o grado de prioridad de los problemas detectados.

En el análisis heurístico, al ser un análisis subjetivo, pueden darse diferencias

entre los expertos. Todo ello enriquece aún más el resultado final de esta

técnica, siendo un punto de partida para los diseñadores y desarrolladores del

site.

3. Prototipado

Esta técnica consiste en reproducir un modelo del sitio web final en una

maqueta, para poder testarlo previamente a la salida a Internet. El prototipo

permite de manera rápida aclarar algunas dudas de diseño en cuanto a

funcionalidades o apariencia antes de continuar con el desarrollo definitivo del

producto. Esta técnica ayuda a depurar errores en fases iníciales del ciclo de

vida del sitio web con la consecuente reducción de costos y aprovechamiento de recursos resultante.

Dentro de esta técnica podemos encontrarnos dos tipos de prototipos:

•Prototipos de baja fidelidad (low-fidelity): aquellas maquetas realizadas de manera rápida y sencilla (papel o dibujos, o presentaciones en pantalla del ordenador). El objetivo de este tipo de prototipado es asentar mediante test con

usuarios las líneas básicas, sobre todo funcionalidades y de estructura de

contenidos, de nuestro producto web.

•Prototipos de alta fidelidad (high-fidelity): son maquetas con un mayor nivel de detalle desde el punto de vista gráfico y de programación. No se pueden considerar el producto final pero se acercan en mayor medida que los de baja

fidelidad. El objetivo es poder testar elementos de diseño y el uso de las

funcionalidades que tendrá el producto final. En esta fase la programación

puede ser real o simulada, pero la intención es presentar al usuario como

respondería el sitio web ante sus acciones.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 45: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 45 de 100

El prototipo es una técnica orientada a la inspección, se busca poner a prueba „los cimientos‟ de nuestro sistema web. Una vez estos „cimientos‟ son sólidos de cara a nuestros usuarios, existe vía libre para el desarrollo o migración final. Si

los test con usuarios no dan el aprobado, es aconsejable volver a fases iníciales para replantearse aquellos elementos puestos en entredicho.

El resultado de los test con usuarios sobre los prototipos indicará si podemos

continuar con fases posteriores o es conveniente volver a fases previas y

replantear el prototipo.

Test de usabilidad

Esta técnica supone el „momento de la verdad‟, el enfrentamiento de nuestro sitio web con el usuario. Su objetivo es constatar con usuarios reales la usabilidad de nuestro site. Para ello situamos a un usuario público objetivo de

nuestro sitio web delante del ordenador con nuestro site.

La operativa de esta dinámica es la siguiente:

• Se necesita un usuario, un técnico que dirija el test y un computador con el

sistema “comprared”. También puede estar presente una tercera persona como asistente del técnico de usabilidad, retirado del campo de visión del usuario,

cuya finalidad es tomar notas de lo que dice y hace el usuario durante el test.

• El usuario se sienta en frente del computador a una distancia normal. El entorno en el que se realice el test ha de reproducir al máximo el lugar de navegación del usuario y ha de estar ausente de ruidos e interrupciones exteriores.

• El técnico se sitúa al lado del usuario en una posición más retrasada. La

intención es no distraer al usuario durante la navegación respetando su „espacio

personal‟. El asistente normalmente se situará detrás de ambos o a un lado dependiendo la distribución de la sala (ancho, largo) a una distancia suficiente

para que el usuario pueda olvidarse de su presencia.

• El técnico se presenta él mismo, al asistente, a la empresa a la que pertenece, e indica al usuario los motivos por los cuales ha sido seleccionado para este test. También es importante introducir un poco al usuario en los

objetivos del estudio, sin entrar en detalles, simplemente para hacer partícipe al

usuario y que sea más real la situación. Esta parte es importante crear un

entorno amigable que facilite la conversación y navegación por el site de cara a

tranquilizar al usuario.

• Después de esto, el técnico explicará al usuario la dinámica: “Ahora te voy a ir dando una serie de tareas para realizar que en principio son hipotéticas pero totalmente factibles. Es decir, que te voy a pedir que te pongas en una situación

ficticia para realizar una serie de tareas. Pero estas tareas son totalmente

realizables dentro del site”. Las tareas son leídas en voz alta por el usuario o el técnico, y si hay dudas se aclararán todo lo que sea necesario hasta que el

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 46: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 46 de 100

usuario entienda lo que debe hacer. En ningún caso esta aclaración ha de

contener información sobre cómo encontrar la información o lograr el éxito de la

tarea.

• Importante en este punto decir al usuario que se exprese con total libertad, de ahí la necesidad de generar un ambiente agradable y de confianza al inicio. Debemos pedirle que piense en voz alta de forma que podamos conocer las

impresiones del usuario durante su navegación.

• Las tareas nuevas deben ser leídas según se finalizan las anteriores. Se consideran terminadas cuando el usuario da por hecho que ha conseguido lo que se le pedía, y no en función de si ha alcanzado con éxito el objetivo. Esto nos va

a permitir conocer el grado de cumplimiento con éxito o fracaso de las tareas.

También deberemos finalizar cuando el usuario desiste del intento de seguir

con la tarea debido a la frustración de no encontrar lo que busca. Hay que evitar

sensaciones negativas que puedan condicionar las tareas siguientes. Todos

estos datos van siendo recogidos por el técnico y el asistente.

• Una vez terminada la dinámica agradeceremos al usuario su presencia y le entregaremos el incentivo correspondiente.

• Finalizados todos los test, agruparemos los datos recogidos durante el campo para su posterior análisis.

• Es recomendable entablar una conversación antes y después del test propiamente dicho de forma que podamos contextualizar la prueba del usuario con sus intereses, gustos, necesidades y experiencias.

Como hemos expuesto antes, todas esta guía requieren de la presencia de

profesionales que puedan extraer mayor beneficio del análisis de la información,

y que estén capacitados para desarrollar dichas técnicas y hacer frente a los

posibles problemas o desviaciones surgidas en su realización. Por eso se

aconseja la inclusión de los análisis de usabilidad en los presupuestos de

migración de desarrollo.

Posterior a esto y en la medida de lo posible, agregar dicho estudio de

usabilidad en las fases de diseño e implementación de los nuevos módulos.

Software

Software recomendado para el desarrollo del proyecto de usabilidad.

Eye tracking http://www.eyetracking.com/

Morae http://www.techsmith.com/morae.asp

Visual Analyzer http://www.visualanalyzer.com/

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 47: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 47 de 100

Infraestructura

Objetivo

El objetivo de ese punto es la revisión y análisis de que la infraestructura y

personal proporcionado a comprared tiene el potencial de cubrir la demanda actual

y futura del sistema de compras del estado.

Situación Actual

La solución de comprared se encuentra “hosteada” en la DGI, dicha institución es una dirección que presta y entrega servicios y soluciones tecnológicas a los distintos servicios.

La solución de software comprared, actualmente comparte el mismo hardware, con

otras soluciones de gobierno.

Sin embargo se está realizando un proceso de migración de dichos servicios a

servidores dedicados exclusivamente para esta labor, el tiempo de finalización de la migración es estimada a finalizara finales de marzo.

Existe un proveedor de hardware el cual es Sonda.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 48: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 48 de 100

Estructura Organizacional

A nivel organizacional la operación de la plataforma, reside en la siguiente estructura:

Área de Bases de

Datos

Requerimientos de espacio

Requerimientos de configuración

SONDA

Incidentes de operación

Reportes de rendimiento

Área de

Operaciones

Técnológicas

Requerimientos de

configuración de puertos

Requerimientos de

conexión entre servidores

Área de

Comunicaciones

Solicitud de creación de usuarios

Solicitud de creación de políticas de AD

Área de Seguridad

Para cada área existe una jefatura respectiva y cada área tiene personal asignado

para dicha labores específicas, no existe interacción de manera expedita entre las

distintas áreas

Se reviso la documentación existente para los procedimientos de respaldo, a nivel

de aplicación y base de datos. Solo existen políticas básicas sobre respaldo de base de datos, no se encontró

información sobre políticas de respaldo de la aplicación, control de las versiones

instaladas en producción, monitoreo de la aplicación centralizado, entre otros.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 49: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 49 de 100

Diagrama de Infraestructura Comprared

Comunicaciones

A nivel de comunicaciones se cuenta con la siguiente infraestructura.

Dos enlaces de Internet, uno en fibra óptica a 20 Mbps y el otro como

respaldo a 2 Mbps El esquema es ACTIVO – PASIVO. Ambos son con el ISP RACSA

Existen dos enrutadores marca Cisco modelo 2800. En cuanto a muros de fuego se cuenta con dos PIX-Firewall modelo

515. Los mismos operan en un esquema FAILOVER, donde la

configuración actual mantiene el registro de las sesiones establecidas

en ambos equipos, en caso que el equipo failover entre en

funcionamiento no se perderán las sesiones establecidas

Adicionalmente se tienen dos muros de fuego por software. Estos son

dos ISA Server 2004 que se encuentran en arreglo de ISAs.

Los equipos principales o de CORE son dos conmutadores de redes

(switch) CISCO Catalyst 6513. Estos tienen módulos de Firewall en

esquema de Failover, los cuales para la aplicación COMPRARED

separan las capas de aplicación, web y bases de datos a través de VLANs y controlados por listas de control de acceso (ACLs).

Se mantiene una extranet con 52 sitios remotos a través de enlaces

VPN, Frame Relay los cuales van desde 384 Kbps a 10 MBPS

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 50: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 50 de 100

Diagrama de Aplicación / Infraestructura

Sitio CompraRed

Extensión ISAPI

del IIS

SQL Server 2000 BD

Tarjeta Fax

Servidor WEB

IP Local

IP Publica Win2000

Advanced/ Win2003

Servidor

BD

IP Local

Servidor

Aplicaciones

IP Local

Servidor

FAX/SMTP

IP Local

Red Desmilitarizada

Red Local

Sw itch

Usuario

Win2000+

IE 5.5. +

Firew all

INTERNET

Usuario

Win2000+

IE 5.5. +

Usuario

Win2000+

IE 5.5. +

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 51: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 51 de 100

Situación Futura Comunicaciones

Existirán dos enlaces, a 100 Mbps cada uno en fibra óptica, en un esquema

ACTIVO – ACTIVO, utilizando el protocolo BGP. Estos serán uno con RACSA y otro con el ICE. Esto se espera concluir en el primer trimestre del año 2009.

Los enrutadores 2800 serán migrados a un modelo 3845-HSEC. Los pix firewall serán migrados a un modelo ASA 5540-AIP40.

Será implementado un arreglo de ISA Server 2006 de cuatro nodos.

Será implementado un esquema de administración de ancho de banda a

través de un Appliance Packteer con capacidad de administrar 200 Mbps en

full duplex. Los Catalyst 6513 como chasis se mantendrán no obstante será actualizada

su tarjeta supervisora y se incluirán dos ASA para proteger el DATACENTER ya que los módulos de firewall de los 6513 dejarán de tener soporte de

Cisco. Serán instalados en cada switch 6513 un módulo de balanceo de carga

mediante los cuales los accesos a las aplicaciones serán por hardware y no por software haciendo más eficiente el uso del balanceo de carga.

Al igual que la infraestructura de Internet, todos los equipos de

comunicaciones del Ministerio serán actualizados dentro de una proceso de

contratación administrativa a lo interno del Ministerio. Este proceso ya se

encuentra en su período de adjudicación y de no existir mayores

inconvenientes se espera que este implementado en los próximos 6 meses.

Como parte del esquema, serán implementadas vienen herramientas centralizadas de Monitoreo como MARS y Cisco Secure Manager. Esto unido

a la herramienta CISCO WORKS con la que cuenta el Ministerio. Estas

herramientas serán monitoreadas en tiempo real mediante dos monitores

LCD de 52 pulgadas.

Los sitios que conforman la extranet serán interconectados mediante

enlaces de fibra óptica con una velocidad inicial de 10 Mbps por enlace

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 52: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 52 de 100

Análisis y revisión

Planes de Contingencia y Procedimientos

Se revisaron las configuraciones realizadas a los servidores, entre las cuales solo

existe a nivel básico el concepto de contingencia.

Es decir en base al conocimiento empírico.

Solo existe una definición respecto a la existencia de una solución de alta

disponibilidad respecto a la aplicación y base de datos. Para la base de datos, se cuenta con la configuración de clúster activo pasivo.

Para la aplicación se cuenta con un ser vicio de balanceo de software a través de

NLB.

Ante esto no existen las definiciones de:

Matrices de riesgos y mitigación

Plan de contingencia sobre:

o Fallas de aplicación o Fallas de Hardware

o Fallas de comunicaciones Procedimientos de contingencia del personal

Procedimientos sobre respaldos Procedimientos sobre restauración de respaldos Procedimientos de verificación sobre respaldos Procedimientos de verificación del correcto funcionamiento de la

contingencia (Pruebas de simulacro). Procedimientos definidos para el manejo de incidencias

Definición y escalamientos en caso de incidencias

Se realizaron una serie de preguntas respecto al nivel técnico del personal, ante lo

cual en síntesis, fue que no se cuenta con personal técnico especializado para dar

soporte integral en las áreas definidas a nivel organizacional. Un ejemplo es que no hay personal especializado para entregar información

detallada sobre el manejo y configuración de los servidores IIS.

Existe una serie de problemas organizativos, dado que la estructura organizacional,

está regida por áreas con el mismo nivel de jerarquía.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 53: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 53 de 100

Monitoreo Dentro de la solución de infraestructura entregada por la empresa Sonda, el

monitoreo de los servidores está a cargo de ellos, el software de monitoreo

utilizado es OpenView e Insight Manager, ambas de HP No se entrego información sobre qué servicios son monitoreados ni la manera de

utilización de dicho software

Se asume que la empresa Sonda, realiza las labores de monitoreo de dichos

servidores.

No se informo si existen soluciones de monitoreo externo de la aplicación.

No existe información sobre sistemas de monitoreo integrados a la aplicación.

Matriz de Evaluación

Se realizo la siguiente matriz de evaluación para revisar la potencialidad de la

infraestructura

Un valor de 49 indica que existe el hardware para que se dé el soporte a la

aplicación, sin embargo, existen puntos débiles en la gestión y administración del

hardware y organizacional.

Se realizan recomendaciones para reforzar este ámbito.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 54: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 54 de 100

Rendimiento Servidores Los servidores cuentan con la capacidad para manejar miles de transacciones de

negocio por hora.

Una de las solicitudes es revisar si el hardware si tiene la capacidad, esta

respuesta es afirmativa debido a la conceptualización de alta transaccionalidad de

la tecnología Blade. Según los modelos entregados de hardware, en una configuración con un alto grado

de similitud, puede dar soporte en un rango de 70mil a 120 mil transacciones de

negocio por hora. Documentos de referencia:

http://www.hponlineschedulingtool.com/Files/EcoCollateral_20080922_bl685c_sieb

el_052708_klnd.pdf

http://www.oracle.com/apps_benchmark/doc/hp-siebel8-4700-pspp-on-windows-

white-paper.pdf

ftp://ftp.compaq.com/pub/products/servers/benchmarks/PL-DL585-G5-

OracleEBS_Nov08.pdf

A nivel de servidores web, dichos servidores pueden procesar hasta

110mil transacciones TMPC por minuto.

http://www.tpc.org/results/FDR/TPCC/HP_ProLiant_BL25p_26GHz_DC_FDR.pdf

Por lo cual el hardware existente cumple con las expectativas de crecimiento que pueda existir para comprared.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 55: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 55 de 100

Recomendaciones

Una vez analizado el hardware utilizado para la aplicación comprared, se evalúa que

el hardware ya existente tiene el correcto dimensionamiento para la carga

esperada. Sin embargo deben realizarse ciertas mejoras que contemplen a lo menos lo

siguiente.

o Tener infraestructura dedicada para Comprared, para toda la aplicación, es

decir:

o Base de datos

o Servidores de Aplicación

o Servidores Web

o Considerar un plan de contingencia acorde al nivel de criticidad del servicio

o Considerar enlaces secundarios de internet por vías distintas

(Considerado en plan de cambio de comunicaciones)

o Considerar sistemas de monitoreo de incendio

o Considerar control remoto fuera de las dependencias

o Implementar una metodología acorde al manejo y soporte infraestructura

como MOF, ITIL u otros.

o Contratación de personal especializado, con el objetivo de disponer de cierta

autonomía en la resolución de incidentes

o Realizar cambios organizacionales, con el objetivo de tener un equipo

compacto de trabajo, con el fin de minimizar riesgos y mejorar la

productividad.

o Externalizar ciertos servicios con empresas de tecnología, en caso de que la

revisión de los costos de inversión/implementación sea mayor al costo de

mantenimiento de dicha empresa.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 56: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 56 de 100

Seguridad

Objetivo El objetivo de ese punto es la revisión y análisis de los procedimientos de resguardo

ya acceso a la información de comprared

Dentro del objetivo es la revisión de la aplicación, el entorno externo e interno.

Situación Actual

Seguridad Aplicación

Comprared utiliza un modelo de firma digital avanzado para la gestión

autenticación de los usuarios, por lo cual es obligatorio para cualquier usuario que

desee realizar una transacción debe tener un token que realice la firma de dichos

documentos. Dentro de la gestión de seguridad de la aplicación están los siguientes ítems:

Autenticación de usuarios. Se refiere a poder determinar que un usuario

es realmente quien dice ser.

No repudio de transacciones. Se refiere a poder determinar en todo

momento el emisor de una transacción.

Autorización y control de acceso usuarios. Se refiere a los mecanismos

que permiten asegurar que un usuario solo puede acceder la

funcionalidad y datos a los que está autorizado.

Protección de la información. Se refiere a garantizar la integridad y

confidencialidad de la información mientras la misma es transmitida o

permanece almacenada.

Pistas de auditoría. Se refiere a poder determinar en todo momento

quienes han ejecutado alguna función sobre un dato. Los usuarios deben tener un certificado X509 es un documento electrónico firmado

digitalmente que contiene la llave pública y la identificación del dueño del

certificado conocido como el sujeto del certificado, para poder realizar la

autenticación. La manera de operación es:

Cada usuario de COMPRARED, ya sean funcionarios del gobierno o empleados de

empresas privadas, tienen un certificado digital X.509 que usarán para firmar

digitalmente cuando generen transacciones en el sistema. La llave privada y el

certificado del usuario se guardarán en un toquen USB para poder ofrecer el no

repudio de las transacciones.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 57: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 57 de 100

Algoritmos Utilizados

LA aplicación utiliza el algoritmo simétrico RSA para la encriptación de la información y para el hash de los documentos se utilizan el algoritmos de

encriptación asimétrica SHA1 o MD5.

La validación del usuario se realiza mediante la validación de la cadena del

certificado a través de la llave pública de dicho certificado.

Entidades Emisoras

A nivel organizativo la entidad que emite el certificado es la DGI la cual va a

implementar la autoridad certificadora para todo el Ministerio de Hacienda,

Comprared usará los certificados de esa autoridad.

Existen tres autoridades certificadoras intermedias: CA Instituciones, CA Empresas

y CA Software. El nombre del CA Instituciones identifica claramente que su

autoridad se limita solamente a las instituciones públicas que usan el sistema

COMPRARED del Ministerio de Hacienda de Costa Rica.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 58: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 58 de 100

cd Autoridad certificadora

- C=CR:

CA Raiz

- O=Mi ni steri o de Haci enda:

- OU=Si stema Comprared:

CA Instituciones

- C=CR:

- O=Mi ni steri o de Haci enda:

- OU=Si stema Comprared:

- OU=Insti tuci ones publ i cas:

CA Empresas

- C=CR:

- O=Mi ni steri o de Haci enda:

- OU=Si stema Comprared:

- OU=Empresas proveedoras:

CA Softw are

- C=CR:

- O=Mi ni steri o de Haci enda:

- OU=Si stema Comprared:

- OU=Software asoci ado:

Certificado usuario

institucional

- C=CR:

- O=Mi ni steri o de Haci enda:

- OU=Si stema Comprared:

- OU=Insti tuci ones publ i cas:

- OU=Mi ni steri o de T uri smo:

- CN=Juan Perez:

- UI=102340567:

Certificado usuario

empresarial

- C=CR:

- O=Mi ni steri o de Haci enda:

- OU=Si stema Comprared:

- OU=Empresas proveedoras:

- OU=ACME S.A.:

- CN=Pedro perez:

- UI=104320987:

Certificado usuario softw are

- C=CR:

- O=Mi ni steri o de Haci enda:

- OU=Si stema Comprared:

- OU=Software asoci ado:

- CN=Comprared:

Aplicación e Interfaz Cliente

COMPRARED requiere poder firmar digitalmente cada transacción que los usuarios

generan, por otro lado COMPRARED es una aplicación Web que es accedida por

medio de un navegador de Internet. Además se debe recordar que para poder

firmar digitalmente las transacciones COMPRARED debe utilizar el token USB del

usuario.

1. El navegador de Internet envía un formulario hacia COMPRARED el cual

es interceptado por el componente ActiveX. Esta intercepción se logra gracias a que el componente ActiveX implementa la interfaz COM

“IProtocolHandler” asignado al protocolo “DIGSIG” que es el que usa COMPRARED.

2. El componente ActiveX genera el mensaje firmado digitalmente usando

el CriptoApi de Windows para acceder la funcionalidad de firma digital del

token USB.

3. El CriptoApi se comunica directamente con el token USB para realizar la operación de firma digital.

4. El CriptoApi retorna la firma digital al componente ActiveX.

5. El control ActiveX hace que el navegador envié la transacción firmada digitalmente hacia el servidor de COMPRARED mediante el uso la interfaz

COM “IWebBrowser2”. 6. El Internet Explorer envía la solicitud firmada digitalmente hacia el

servidor de COMPRARED usando un canal SSL.

Auditoria

Todas las transacciones que los usuarios del sistema generen serán firmadas digitalmente y el servidor verificará la firma digital de las mismas cuando las recibe.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 59: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 59 de 100

Además las transacciones firmadas digitalmente serán guardadas en una bitácora

de transacciones.

La bitácora de transacciones contendrá para cada transacción el identificador de la

sesión en la cual se realizo la transacción. Cada sesión estará asociada al usuario

que realizó la misma, de modo que es posible asociar cada transacción con el

usuario que la generó.

cd Bitacora

Accion

- Nom bre:

- Descri pci on:

TipoObj ecto

real i zada por

1 1..*

Autori zabl e

TipoTransaccion

- Nom bre:

- Descri pci on:

- Requi ereSesi on:

- Nom bre:

- Descri pci on:

1 1..* 1

es de ti po

Usuario

- Cedul a:

- Nom bre: 1

- Habi l i tado:

1

ti ene

1..*

Certificado

real i za

0..*

Sesion

- FecIni ci a:

- M axDuraci on:

- FecT erm i na:

- Acti va:

- IpCl i ente:

0..*

se real i zan

1 0..*

1..*

Transacción

- Id:

- Datos:

- Fecha:

- Hora:

- IdObj eto:

1

ti ene

1

usado para i ni ci ar

1 usado para generar

1

0..*

FirmaDigital

Hora y Fecha de la transacción

COMPRARED se utiliza el servicio de hora atómico provisto por el “National Institute

of Science and Technology” del gobierno de los Estados Unidos. El reloj atómico del NIST forma parte del sistema de relojes atómicos encargados de mantener la hora

UTC (“Universal time coordinated”)

Roles y Permisos en la Aplicación

Cuando un usuario se encuentra autenticado se procede a revisar la autorización la

cual establece que funcionalidades el usuario puede utilizar y que datos pueden

acceder, y el control de acceso son los mecanismos que se utilizan para lograr que

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 60: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 60 de 100

los usuarios solo utilicen las funcionalidades y datos para los que tienen

autorización.

El control de acceso se realiza por funcionalidades y por datos. Es necesario poder

establecer que funcionalidades puede acceder un usuario y también poder limitar

los datos que un usuario puede acceder. Un usuario solo puede aplicar las

funcionalidades para las cuales tiene permiso sobre datos que pertenezcan a la

institución de la cual el usuario es un funcionario. La autorización para las funcionalidades se realiza mediante la asignación de

permisos. Un permiso determina a que opciones de menú y que tipos de

transacción pueden realizar un usuario. La administración de los permisos se

realiza a través de roles, los cuales son grupos de permisos necesarios para que

un actor realice sus tareas asignadas con el sistema.

Se realizado la consulta si la aplicación realiza la encriptación de las ofertas, ante lo

cual la respuesta fue que la aplicación la realiza y solo cuando existe la apertura, se

pueden revisar las ofertas.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 61: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 61 de 100

Seguridad Infraestructura Externa

La seguridad de la infraestructura externa se basa en los patrones de separaciones

de redes, control de acceso a través de firewall (software o hardware) y

encriptación de la información. La red de servidores se encuentra en un esquema de red segura con zonas

desmilitarizadas.

dd ExtensionServ idor

Cliente por

red interna

Cliente por

red Internet

Red i nterna

Red desm i l i tari zada

Serv idor Comprared

Serv idor w eb

Serv idor

aplicaciones

Firew all

Extension

ISAPI del IIS Serv idor Comprared

Serv idor

aplicaciones

La seguridad a nivel de firewall es realizada a través de 2 ISA Server 2004 en

balanceo NLB.

Dentro de las funciones que realiza el ISA, esta:

Proteger los recursos de la red interna mediante el control del tráfico

entrante y saliente.

• Asegurar el acceso y fiabilidad a la red. • Administrar la seguridad del tráfico entre las diferentes secciones de la red.

• Autenticar a los usuarios para garantizar el control de acceso basado en usuarios y grupos.

• Ofrecer información de actividad y reportes para analizar y monitorear el tráfico de entrada y salida. • Acceso seguro y rápido a los servidores internos. • Implementar tecnologías que habiliten la colaboración. • Mantener la confidencialidad e integridad de la información transmitida.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 62: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 62 de 100

• Habilitar de una manera efectiva y óptima la conectividad de los usuarios remotos a la red corporativa. • Permitir controlar de una manera efectiva y óptima la tolerancia a fallos la VPN sitio-a-sitio entre oficinas.

A su vez el certificado SSL se encuentra alojado en el ISA Server, con esto se

asegura la correcta implementación del esquema de seguridad a nivel de

encriptación de la información entre el cliente y el servidor web.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 63: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 63 de 100

Seguridad Infraestructura Interna

La seguridad de la infraestructura interna se refiere a los manejos de

procedimientos, reglas y accesos al personal autorizado solo a la información

solicitada. La administración de las políticas de seguridad interna de información está dada por

el área de Seguridad de la DGI.

Se reviso si existía alguna normativa estándar para el manejo de la seguridad, sin

embargo esto es realizado de manera empírica. De esta manera están definidos los procedimientos a través de directrices que se

resumen en un documentos con recomendaciones sobre el manejo de las cuentas,

uso y perfiles. Se realizo una serie de preguntas del orden técnico, sobre la definición de

normativas de seguridad sobre perfiles y cuentas para la aplicación, ante lo cual no

hubo certeza de las respuestas. No se explicito si existen procesos de auditoría en la cual se realiza una correcta y

adecuada gestión acceso de los recursos.

Se reviso y no existe una centralización de la información generada a través tanto

de la aplicación como de los servidores para posteriormente generar una adecuada

gestión. Se reviso y no existe de manera clara procedimientos de revisión o checklist

periódicos con tal de minimizar los impactos de seguridad. No se informa si existe una normativa clara respecto a la instalación de parches de

seguridad sobre los servidores, esto se atribuye a problemas de índole técnico y

administrativo.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 64: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 64 de 100

Testing y Revisión externa de seguridad.

Se realizo una revisión de manera externa de las posibles falencias que pudiera

tener la plataforma de manera externa.

Scan de puertos

Se ejecuto la aplicación NMAP para la revisión de puertos y posibles falencias de la

dirección www.hacienda.co.cr

No se encontraron vulnerabilidades.

Detalle del Resultado de la Prueba

Initiating Parallel DNS resolution of 1 host. at 08:48

Completed Parallel DNS resolution of 1 host. at 08:48, 0.24s elapsed

Initiating SYN Stealth Scan at 08:48

Scanning 196.40.24.53 [1000 ports]

Discovered open port 443/tcp on 196.40.24.53

Discovered open port 80/tcp on 196.40.24.53

Completed SYN Stealth Scan at 08:48, 14.79s elapsed (1000 total ports)

Initiating Service scan at 08:48

Scanning 2services on 196.40.24.53

Completed Service scan at 08:48, 19.84s elapsed (2 services on 1 host)

Initiating OS detection (try #1) against 196.40.24.53

Retrying OS detection (try #2) against 196.40.24.53

Initiating Traceroute at 08:48

196.40.24.53: guessing hop distance at 17

Completed Traceroute at 08:49, 11.21s elapsed

Initiating Parallel DNS resolution of 17 hosts. at 08:49

Completed Parallel DNS resolution of 17 hosts. at 08:49, 0.33s elapsed

SCRIPT ENGINE: Initiating script scanning.

Initiating SCRIPT ENGINE at 08:49

SCRIPT ENGINE DEBUG: showHTMLTitle.nse: Default page is located at http://www.hacienda.go.cr/portal

SCRIPT ENGINE DEBUG: showHTMLTitle.nse: Default page is located at https://www.hacienda.go.cr/portal

Completed SCRIPT ENGINE at 08:49, 3.06s elapsed

Host 196.40.24.53 appears to be up ... good.

Interesting ports on 196.40.24.53:

Not shown: 998 filtered ports

PORT STATE SERVICE VERSION

80/tcp open http Microsoft IIS

|_ HTML title: Document Moved

443/tcp open ssl/http Microsoft IIS

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 65: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 65 de 100

|_ SSLv2: server still supports SSLv2

|_ HTML title: Document Moved

Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port

Device type: WAP|switch|general purpose

Running (JUST GUESSING) : D-Link embedded (97%), TRENDnet embedded (97%), HP embedded (97%),

Microsoft Windows 2003 (90%)

Aggressive OS guesses: D-Link DWL-624+ or TRENDnet TEW-432BRP wireless broadband router (97%), HP

4000M ProCurve switch (J4121A) (97%), Microsoft Windows Server 2003 SP1 (90%)

No exact OS matches for host (test conditions non-ideal).

TCP Sequence Prediction: Difficulty=263 (Good luck!)

IP ID Sequence Generation: Randomized

Service Info: OS: Windows

TRACEROUTE (using port 443/tcp)

HOP RTT ADDRESS

1 2.00 192.168.1.1

2 ...

3 12.00 192.168.248.22

4 12.00 te4-2.ar3.SCL1.gblx.net (208.48.250.61)

5 160.00 sprint-1.ar1.MIA2.gblx.net (64.215.195.194)

6 171.00 sl-bb21-mia-13-0-0.sprintlink.net (144.232.2.255)

7 176.00 sl-crs1-orl-0-5-2-0.sprintlink.net (144.232.19.171)

8 179.00 sl-crs1-orl-0-15-5-0.sprintlink.net (144.232.3.72)

9 185.00 sl-racsa-44883-0.sprintlink.net (144.232.145.86)

10 194.00 200.122.191.182

11 214.00 taurus-sj-acceso02-fe1-1-0.racsa.co.cr (200.122.150.122)

12 ...

13 211.00 196.40.24.53

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 66: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 66 de 100

Ejecución de XSS y SQL Injection.

Se realizo la parametrizacion y ejecución de scripts a través de XSS.

El resultado de las pruebas indican que la aplicación a través de ISA server y

certificado HTTPS, restringe la ejecución de este tipo de sentencias.

SQL Injection

Se parametrizaron los valores de múltiples cajas de texto con información con

comandos de SQL, para revisar si existen querys parametrizados a nivel de

aplicación. Esto se realiza con el objetivo de obtener información o ejecución de querys

maliciosas para lograr corromper el sistema.

El resultado de la ejecución de estas querys:

Es que entrega información, la cual no necesariamente es información relevante al

usuario, sin embargo puede ser de utilidad para alguna persona con conocimientos

de programación.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 67: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 67 de 100

Matriz de Evaluación

Un valor de 69, indica que se han realizado correctamente acciones pertinentes a

tener una aplicación que tenga resguarda la información correctamente. Sin embargo existen puntos débiles como:

Procedimientos internos de seguridad

Auditorías externas

Metodologías estándar de seguridad. Los cuales se entregaran ciertas recomendaciones con el objetivo de acortar dichas

brechas.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 68: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 68 de 100

Recomendaciones

La seguridad externa de la aplicación, referente a la infraestructura, se

encuentra en un nivel aceptable, lo cual indica que existe una baja

probabilidad de acceder a través de puertos no securitizados u otras

maneras como XSS, es decir vulnerar el servicio de manera externa.

Sin embargo se deben revisar los aspectos internos de la seguridad, como

fuga de información, debido a que el 80% de las fugas de información,

según estudios, se debe a fallas de la seguridad interna.

Por lo cual las recomendaciones serán en torno a este punto.

o Realizar un manejo centralizado y gestionado de los eventos de

seguridad, con el objetivo de mejorar y prever ciertos fallas que puedan

deberse, por la incorrecta gestión.

Los eventos deben ser extraídos de los distintos medios como:

Hardware de Seguridad

ISA Servers, Firewalls, IPS/IDS

Servidores de aplicaciones y base de datos

Servidores Web

Controladores de Dominio

Esto debe realizarse de manera periódica y sistemática.

o Implementar y diseñar una metodología de seguridad que contemple

tanto el software, hardware, procedimientos de acceso a la información y

normativas, se puede tomar como base la ISO 27.000

o Supervisar y mejorar que la seguridad de la información del aplicativo

solo pueda ser accedido a través de normas básicas, como autenticación,

identificación y otros conceptos como la no repudiación de los datos.

o Realizar auditorías externas a la plataforma, es decir con empresas

externas especialistas en seguridad, con el objetivo de tener una opinión

especialidad para la verificación de las normativas y procedimientos.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 69: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 69 de 100

Rendimiento Aplicación ambiente productivo

Objetivo Se debe analizar si la aplicación Comprared es capaz de soportar el potencial

número de usuarios de la plataforma.

Metodología de Análisis

Se realizaran 2 tipos de mediciones y análisis

1. Medición y Análisis de rendimiento de uso diario

Valores de la muestra:

Se tomaran valores de los servidores de bases de datos, aplicación y

web.

Estos valores serán basados en la carga actual del sistema

Objetivo

Establecer línea base de análisis y revisión de problemas actuales de

la plataforma

2. Medición contra una prueba de stress

Valores de la muestra:

Se tomaran los tiempos de respuesta de los servidores y los valores

medidos del servidor de base de datos

Objetivo

Comportamiento de la aplicación bajo condiciones de alta carga,

revisión de principales botlenecks

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 70: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 70 de 100

Medición y Análisis de muestra

Métricas del Sistema. Número de Usuarios y Transacciones

Métrica Numero Observación Cantidad de Visitas

Diarias 1279 Muestra del día 05/02

Cantidad de Órdenes

de Compra 4.983 Al año 2008

Cantidad de

Proveedores 20837 Al año 2008

Cantidad de

Adjudicaciones 11803 Al año 2008

Valores medidos para la muestra del día 05/02/09

Métricas de Base de base de datos

Tamaño de la base de datos

file file

group

size max

size

grow

th

usag

e

M:\COMPRARED_Data1\CompraRed_Da ta01.MDF

PRIMAR Y

145299 20 KB

Unlimit ed

10% data only

L:\COMPRARED_Logs\CompraRed_Log0

1.LDF 231916

8 KB Unlimit ed

10% log only

N:\COMPRARED_Data2\CompraRed_Da ta02.NDF

PRIMAR Y

370380 8 KB

Unlimit ed

10240 00 KB

data only

Objetos de la base de datos

type count

tables 413

views 139

indexes 569

procedures 1948

functions 8

all columns 3227

all parameters 4386

types 17

triggers 49

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 71: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 71 de 100

defaults 39

rules 0

schemas 13

XML schema collections 1

Toma de muestras el día 04/02 /09

Base de Datos

Uso de Disco de la Base de Datos

Database File # I/Os Avg ms

per I/O COMPRARED 4231688 61

M:\COMPRARED_Data1\CompraRed_Data01.MDF 378654 61

N:\COMPRARED_Data2\CompraRed_Data02.NDF 132404 25

L:\COMPRARED_Logs\CompraRed_Log01.LDF 3720630 0

Eventos de Base de Datos

Métricas de Ejecuciones de Querys

Counter Average Minimum Maximum Total

Batches Started 1.980,57 63 10.515 1.552.763

Batches Completed 1.980,56 63 10.515 1.552.760

Attentions 0,00 0 0 0

Duration (µs) 2.080.715,55 108.388 21.215.738 1.631.280.994

CPU (ms) 1.952,13 78 19.987 1.530.468

Reads 97.668,17 3.234 1.305.216 76.571.847

Writes 22,13 0 1.771 17.351

Uso de CPU

Promedio de utilización total servidor 33% Promedio Uso SQL 5% Promedio de Tiempo 111 ms

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 72: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 72 de 100

Querys Ejecutados con Mayor porcentaje de uso de recursos de servidores

Querys con mayor uso de CPU

Query

Numbe

r

CPU

(ms)

Duratio

n (µs) Reads

Write

s

Execute

s

Promedi

o Uso

CPU en

MS

Query Template

(Fueron acortadas las

ejecuciones) 1 27159

6

276225417 1682021

8 0 2 135798 SELECT COUNT(*) AS NUMRECORDS

FROM ( SELECT * FROM ( SELECT M.*, {STR} AS COMMAND, {STR} AS IMAGEURL, ( CASE TIPOREC WHEN

{##} THEN {STR} ELSE {STR} END

) TOOLTIP FROM MERCANCIA M WHERE NOT EXISTS ( SELECT *

FROM DCMERCANCIAS INNER JOIN DCMERCANCIA ON (

POFDCMERCANCIASID = DCMERCANCIASID ) WHERE

M.CATALOGO = DCMERCANCIA.CATALOGO AND

M.CODMERC = DCMERCANCIA.CODMERC AND

DCMERCANCIAS.DATOCAMPOID =

@DATOCAMPOID ) AND @......

2 18487 8

3 16878

0

189392567 237223 0 20 9243,9 SELECT COUNT(*) AS NUMRECORDS

FROM ( SELECT SOLICITUDID, SOLICITUD.NUMPROV, NOMBPROV, FECHACREACION, FECHACITARECEPCION,

DEFSOLICITUD.DESCRIPCION TIPOSOLICITUD,

TIPOPERSONA.NOMBRE NOMBRETIPOPERSONA,

ESTADOSOLICITUDPROV.DESCRIPCI

ON AS ESTADO,

UNIDADREGISTRO.DESCRIPCION AS DESCUNIDADREGISTRO, ( CASE

ESTADOSOLICITUDPROV.CODIGO

WHEN {STR} THEN {##} WHEN

{STR} THEN {##} WHEN {STR}

THEN {##} ELSE {##} END ) AS …… ………….

174400382 404183 0 20 8439 SELECT TOP {##} SOLICITUDID,

SOLICITUD.NUMPROV, NOMBPROV, FECHACREACION, FECHACITARECEPCION,

DEFSOLICITUD.DESCRIPCION TIPOSOLICITUD,

TIPOPERSONA.NOMBRE

NOMBRETIPOPERSONA,

ESTADOSOLICITUDPROV.DESCRIPCI ON AS ESTADO,

UNIDADREGISTRO.DESCRIPCION AS

DESCUNIDADREGISTRO, ( CASE

ESTADOSOLICITUDPROV.CODIGO WHEN {STR} THEN {##} WHEN

{STR} THEN {##} WHE …….

4 12421 4

129895227 4750757 2 360 345,038888 9

SELECT TOP {##} * FROM ( SELECT

M.*, {STR} AS COMMAND, {STR} AS IMAGEURL, ( CASE TIPOREC WHEN

{##} THEN {STR} ELSE {STR} END ) TOOLTIP FROM MERCANCIA M

WHERE NOT EXISTS ( SELECT * FROM DCMERCANCIAS INNER JOIN DCMERCANCIA ON ( POFDCMERCANCIASID = DCMERCANCIASID ) WHERE M.CATALOGO =

DCMERCANCIA.CATALOGO AND ……..

5 33218 34073241 27415 0 7 4745,42857 1

SELECT SOLICITUDID, SOLICITUD.NUMPROV, NOMBPROV,

FECHACREACION, FECHACITARECEPCION,

DEFSOLICITUD.DESCRIPCION TIPOSOLICITUD,

TIPOPERSONA.NOMBRE

NOMBRETIPOPERSONA, ESTADOSOLICITUDPROV.DESCRIPCI

ON AS ESTADO, UNIDADREGISTRO.DESCRIPCION AS

DESCUNIDADREGISTRO, ( CASE

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 73: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 73 de 100

ESTADOSOLICITUDPROV.CODIGO

WHEN {STR} THEN {##} WHEN

{STR} THEN {##} WHEN {STR} THEN {##} ELSE {##} END ) AS

EDITABLE, ( SELECT TOP {##} …. ……..

6 14175 14536582 578336 0 597 23,74 OPCION_OBTENERREL_PERMIS

O

Querys con mayor uso de DISCO

Query

Numb

er

CPU

(ms)

Duration

(µs)

Reads Execute

s

Promedi

o Uso CPU

Query Template

1 27159 6

27622541 7

1682021 8

2 135798 SELECT COUNT(*) AS NUMRECORDS FROM ( SELECT * FROM ( SELECT M.*,

{STR} AS COMMAND, {STR} AS IMAGEURL, ( CASE TIPOREC WHEN {##}

THEN {STR} ELSE {STR} END ) TOOLTIP

FROM MERCANCIA M WHERE NOT EXISTS ( SELECT * FROM DCMERCANCIAS INNER

JOIN DCMERCANCIA ON (

POFDCMERCANCIASID =

DCMERCANCIASID ) WHERE M.CATALOGO =

DCMERCANCIA.CATALOGO AND

M.CODMERC = DCMERCANCIA.CODMERC

………..

4 12421

4

12989522

7

4750757 360 345,03888

89

SELECT TOP {##} * FROM ( SELECT M.*, {STR} AS COMMAND, {STR} AS

IMAGEURL, ( CASE TIPOREC WHEN {##}

THEN {STR} ELSE {STR} END ) TOOLTIP

FROM MERCANCIA M WHERE NOT EXISTS

( SELECT * FROM DCMERCANCIAS INNER

JOIN DCMERCANCIA ON (

POFDCMERCANCIASID =

DCMERCANCIASID ) WHERE

M.CATALOGO = DCMERCANCIA.CATALOGO AND

M.CODMERC = DCMERCANCIA.CODMERC

AND DCMERCANCIAS.DATOCAMPOID =

@DATOCAMPOID ) AND

@SOLOSELECCIONADOS = {STR} AND NOT DESCMERC = {STR} AND ( DESCMERC LIKE {STR}+@FILTER OR M.CODMERC LIKE {STR}+@FILTER )

AND VIGENTE IN(LIST) A……………. 6 14175 14536582 578336 597 23,743718

59

OPCION_OBTENERREL_PERMISO

12 2131 2029866 443720 13 163,92307

69

SELECT * FROM DEFCAMPOSECCIONOBLIGATORIO

WHERE POFSOLICITUDID =

@SOLICITUDID AND CANTIDADMINIMA

= {##} UNION SELECT * FROM

DEFCAMPOSECCIONOBLIGATORIOXMERC

ANCIA WHERE POFSOLICITUDID =

@SOLICITUDID AND CANTIDADMINIMA

= {##}

3 16878

0

17440038

2

404183 20 8439 SELECT TOP {##} SOLICITUDID, SOLICITUD.NUMPROV, NOMBPROV,

FECHACREACION, FECHACITARECEPCION,

DEFSOLICITUD.DESCRIPCION

TIPOSOLICITUD, TIPOPERSONA.NOMBRE

NOMBRETIPOPERSONA,

ESTADOSOLICITUDPROV.DESCRIPCION

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 74: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 74 de 100

AS ESTADO, UNIDADREGISTRO.DESCRIPCION AS

DESCUNIDADREGISTRO, ( CASE

ESTADOSOLICITUDPROV.CODIGO WHEN

{STR} THEN {##} WHEN {STR} THEN {##} WHEN {STR} THEN {##} ELSE

{##} END ) AS EDITABLE, ( SELECT TOP {##} …. ……..

11 2861 2971931 276963 730 3,9191780

82 CAMPOSECCION_OBTENER_DATOCAMPO

Métricas Servidores Web

Uso de CPU

Promedio de utilización total servidor 15% Context Switching 1150

Uso de Disco

Tiempo de respuesta promedio de

lectura a disco 0.015

Tiempo de respuesta promedio de

escritura a disco 0.032

Context Switching 1150 Espacio para Kernel Dump 1.6GB

Uso de Memoria

Memoria disponible Promedio 1200MB

Numero de Page Inputs por Segundo 15

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 75: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 75 de 100

Información sobre Threads en IIS

Type Description Recommendation

Warnin g

The following threads in

w3wp.exe DefaultAppPool__PID 4240 Date 02_04_200 9 Time_06_25_23PM 47 Manual Dump.dmp are calling an ISAPI Extension criiiext ( 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ) 30.77% of threads blocked

The purpose of ISAPI extensions is to "extend"

the functionality of a web

site. Without ISAPI extensions the IIS web

service would be similar to

the FTP service where it

simply returns static

(unchanging) files. If a

developer of an ISAPI

extension has not written

any sort of custom "thread

pool" then the ISAPI extension they wrote will

execute on the default

threads that handle the

incoming requests (ATQ

thread) of the web service.

The maximum number of

threads in the ATQ thread

pool is 256 but is typically

much lower due to system

resources. If enough ATQ threads become

unavailable due to hanging

requests to an ISAPI

extension then soon IIS

will have no threads

available to handle any

requests. Please follow up with

vendor TecApro for problem resolution

concerning the following

file:

\\?\C:\Comprared\scri

pts\criiiext.dll.

Warnin g

The following threads in

w3wp.exe DefaultAppPool__PID 4384 Date 02_04_200 9 Time_06_17_45PM 626 Manual Dump.dmp are calling an ISAPI Extension criiiext ( 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ) 27.27% of threads blocked

The purpose of ISAPI

extensions is to "extend"

the functionality of a web

site. Without ISAPI

extensions the IIS web

service would be similar to the FTP service where it

simply returns static

(unchanging) files. If a

developer of an ISAPI

extension has not written

any sort of custom "thread

pool" then the ISAPI

extension they wrote will

execute on the default

threads that handle the incoming requests (ATQ

thread) of the web service.

The maximum number of

threads in the ATQ thread

pool is 256 but is typically

much lower due to system

resources. If enough ATQ

threads become

unavailable due to hanging requests to an ISAPI

extension then soon IIS

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 76: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 76 de 100

will have no threads available to handle any

requests. Please follow up with

vendor TecApro for problem resolution

concerning the following

file: \\?\C:\Comprared\scri

pts\criiiext.dll.

Warnin g

The following threads in

w3wp.exe DefaultAppPool__PID 4384 Date 02_04_200 9 Time_06_17_45PM 626 Manual Dump.dmp are waiting on data to be returned from another server via WinSock. The call to WinSock originated from criiiext!TerminateExtension+c95 ( 24 ) 1.82% of threads blocked

Ensure that any remote

server this application may

be calling is functioning

properly and there are no

network issues between the two servers. If the

problem continues, please

contact the application

vendor for further

assistance

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 77: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 77 de 100

Medición contra una prueba de stress

Se realizo la prueba de stress con el Software WAS (Web Application Stress). Debido a dificultades técnicas, no se pudo ejecutar las pruebas con el Software

Stress Agent de Visual Studio 2008.

Dichas pruebas de stress fueron guiadas por el personal técnico de Hermes, en

conjunto con la DGABCA y el consultor La prueba consistió en un stress de 200 Usuarios en un lapso de 15 minutos.

Debido a restricciones respecto al ciclo de información, no se realizaron stress con

transacciones de pruebas, solo se limito a realizar ciclos de selección y despliegue

de información.

La distribución de los ciclos de búsqueda está distribuido de forma normal.

El objetivo es tomar el Tiempo de Respuesta en el cliente a través de estas pruebas

y como este redunda en el nivel de recursos del servidor

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 78: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 78 de 100

Script de Navegacion utilizado La url de búsqueda para los ciclos es el siguiente:

1. Búsqueda Inicial

https://www.hacienda.go.cr//scripts/criiiext.dll?UTILREQ=VACIO

2. Búsqueda para proveedor https://www.hacienda.go.cr/scripts/criiiext.dll?UTILREQ=RESULTADOBUSQUEDAPROVEEDO RES&NUMPROV=&COMBOESTADOPROVEEDOR=A

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 79: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 79 de 100

3. Búsqueda de mercancías

https://www.hacienda.go.cr/scripts/criiiext.dll?UTILREQ=BUSQUEDAMERCANCIAS&CLASME RC=10203

Búsqueda de Proveedores filtrado por PYMES

https://www.hacienda.go.cr/scripts/criiiext.dll?UTILREQ=RESULTADOBUSQUEDAPROVEEDO RES&NUMPROV=&COMBOESTADOPROVEEDOR=A&SI_PYMES=SI

4. información del proveedor https://www.hacienda.go.cr/scripts/criiiext.dll?UTILREQ=INFOPROVEEDOR&NUMPROV=310 1091810

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 80: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 80 de 100

5. Información del Tramite https://www.hacienda.go.cr/scripts/criiiext.dll?UTILREQ=DESPLEGARINFOTRAMITE&TRAMI DEN=2008CD-002326-32700&TITUTRAM=12

6. Información de la Mercancía

https://www.hacienda.go.cr//scripts/criiiext.dll?UTILREQ=INFOMERCANCIA&CODMERC=10 808015000001&CATALOGO=COG

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 81: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 81 de 100

7. Listado de Carteles https://www.hacienda.go.cr//scripts/criiiext.dll?UTILREQ=CONTRATHAGABUSQUEDAXVIGE NTE&DESCRIPCION=Servicio&VIGENTESCHECKBOX=ON

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 82: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 82 de 100

Resultados Prueba Stress en Cliente Una vez ejecutado el ciclo de prueba.

Se obtuvieron los siguientes valores a nivel del cliente

Pagina Hits Porcentaje

Tiempo Promedio de Respuesta en Milisegundos

1 580 14% 22870.53

2 552 13% 17630.39

3 537 13% 18478.86

4 529 12% 16456.63

5 517 12% 17868.15

6 505 12% 18706.71

7 493 12% 17816.13

8 564 13% 18753.79

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 83: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 83 de 100

Medición Stress en Base de Datos

Métricas de Ejecuciones de Querys

Counter Average Mínimum Maximum Total

Batches Started 2.970,03 159 7.470 507.875 Batches Completed 2.970,01 159 7.471 507.872

Attentions 0,00 0 0 0

Duration (µs) 5.512.536,50 149.402 12.011.312 942.643.741

CPU (ms) 8.916,87 390 15.501 1.524.785

Reads 592.337,76 22.948 1.794.714 101.289.757

Writes 38,19 0 2.367 6.531

Uso de CPU

Promedio de utilización total

servidor 93%

Promedio Uso SQL 93% Promedio de Tiempo de respuesta

del recurso 694 ms

Valores de interface de tiempo de Disco

Promedio en

MS Contador \\COMPRSQL\LogicalDisk(C:)\% Idle Time 61 \\COMPRSQL\LogicalDisk(C:)\% Idle Time 65 \\COMPRSQL\LogicalDisk(L:)\% Idle Time 68 \\COMPRSQL\LogicalDisk(M:)\% Idle Time 92

Tiempo de respuesta de lectura de discos

Contador

Total \\COMPRSQL\PhysicalDisk(0 C:)\Avg. Disk

Valor en

MS

sec/Read 9,4

Total \\COMPRSQL\PhysicalDisk(3 F:)\Avg. Disk sec/Read 15,3

Total \\COMPRSQL\PhysicalDisk(4 M:)\Avg. Disk

sec/Read 18,7

Total \\COMPRSQL\PhysicalDisk(8 N:)\Avg. Disk

sec/Read 11,2

Total \\COMPRSQL\PhysicalDisk(_Total)\Avg. Disk

sec/Read 22,0

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 84: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 84 de 100

Valores de Memoria

Contador

Memoria

Disponible

Promedio

\\COMPRSQL\Memory\Available MBytes 149

Uso de PageFile en %

Contador Promedio %

\\COMPRSQL\Paging

File(\??\C:\pagefile.sys)\% Usage Peak 93

Cantidad de WorkFiles Utilizados por segundo

Contador Avg \\COMPRSQL\SQLServer:Access

Methods\Workfiles Created/sec 686

Cantidad de WorkFiles Creados por Segundo

Contador Avg \\COMPRSQL\SQLServer:Access

Methods\Worktables Created/sec 145

Cantidad de Paginas de Memoria buscadas a Disco por Segundo

Contador Promedio

\\COMPRSQL\SQLServer:Buffer Manager\Page

reads/sec 49

Cantidad de Logouts por Segundo

Contador Avg

\\COMPRSQL\SQLServer:General

Statistics\Logouts/sec 6

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 85: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 85 de 100

Cantidad de Compilaciones por Segundo

Contador Avg

\\COMPRSQL\SQLServer:SQL Statistics\SQL

Compilations/sec 5

Querys Ejecutados con Mayor porcentaje de uso de recursos de servidores

Querys con mayor uso de CPU

Query

Numb er CPU (ms)

Duration (µs) Reads

Writ es

Execut es

Attenti ons

Tiempo

Promedi o Cpu Query Template

1 1275524 4560417

12

672345

77

0 11543 0 110,5 SELECT

MIN(SOLICITUDTRANSMISIONID) ID FROM SOLICITUDTRANSMISION INNER JOIN IDENTIFICADOROBJETO ON IDENTIFICADOROBJETOID = POFIDENTIFICADOROBJETOID INNER

JOIN ESTADOSOLICITUD ON

TOESTADOSOLICITUDID = ESTADOSOLICITUDID WHERE (CODIGO

= {STR}) AND

SOLICITUDTRANSMISIONID > @LASTSOLID AND NOT (ID1 = {STR}

AND ID2 = {STR})

13 35927 2308927 12

189520 0 281 0 SELECT TOP {##}

VISTA_PROVEEDORES_PYMES.NUMPRO V, NOMBPROV, STATPROV,(SELECT DESCRIPCION FROM

ESTADOPROVEEDOR WHERE

(STATPROV = VISTA_PROVEEDORES_PYMES.STATPRO

V)) AS ESTADOPROVEEDOR_DESCRIPCION,(SE

LECT DISTINCT(TIPO_SANCION) FROM PROVEEDOR_SANCION WHERE

NUMPROV =VISTA_PROVEEDORES_PYMES.NUMPR

OV AND (

(FEC_INCUMPLIMIENTO>={STR}) AND GETDATE()>=FECHA_INICIO AND

GETDATE()<=FECHA_FINAL ) AND

TIPO_SANCION={STR}) AS

ESTADOPROVSANC_DESCRIPCION , (SELECT DESCRIPCION FROM

CATEGORIAS_PYMES WHERE (ID =

VISTA_PROVEEDORES_PYMES.CATEGOR

IA_PYMES)) AS CATEGORIA_PYMES ,

(SELECT DESCRIPCION FROM SECTORES_PYMES WHERE (ID =

VISTA_PROVEEDORES_PYMES.SECTOR_

PYMES)) AS SECTOR_PYMES FROM

VISTA_PROVEEDORES_PYMES WHERE STATPROV={STR}

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 86: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 86 de 100

11 23029 2353864

5 572736 0 879 0 SELECT ADJUDICACIONES.* FROM

ADJUDICACIONES,

RESOLUCION_ADJUDICACION WHERE ID_DOCUMENTO=@ID AND

RESOLUCION_ADJUDICACION.TITUTRA

M = ADJUDICACIONES.TITUTRAM AND

RESOLUCION_ADJUDICACION.TRAMIDE N = ADJUDICACIONES.TRAMIDEN AND

RESOLUCION_ADJUDICACION.LINEA =

ADJUDICACIONES.LINEA AND

RESOLUCION_ADJUDICACION.FEC_ADJ UDICACION =

ADJUDICACIONES.FEC_ADJUDICACION 10 19957 2225180

9 600914 0 2 0 SELECT * FROM

VISTA_DOCUMENTOS_BAJADOS2

3 17789 2010243

2 627107

7 0 912 0 19,5 SELECT DATOS_SIGAF.*,

TIPO_DATO.ORDEN, TIPO_DATO.ELEMENTO FROM

DATOS_SIGAF, TIPO_DATO WHERE

(EXPORTADO={STR} OR EXPORTADO

IS NULL) AND DATOS_SIGAF.TIPO = TIPO_DATO.TIPO AND

DATOS_SIGAF.TIPO = @P# ORDER BY

TIPO_DATO.ORDEN, FEC_DATO

Querys con mayor uso de DISCO

Query

Numb

er

CPU

(ms)

Duration

(µs)

Reads Wri

tes

Execute

s

Query Template

1 127552

4

45604171

2

67234577 0 11543 SELECT MIN(SOLICITUDTRANSMISIONID) ID

FROM SOLICITUDTRANSMISION INNER JOIN

IDENTIFICADOROBJETO ON

IDENTIFICADOROBJETOID = POFIDENTIFICADOROBJETOID INNER JOIN

ESTADOSOLICITUD ON TOESTADOSOLICITUDID = ESTADOSOLICITUDID WHERE (CODIGO =

{STR}) AND SOLICITUDTRANSMISIONID > @LASTSOLID AND NOT (ID1 = {STR} AND ID2

= {STR})

2 14279 15179889 10861941 0 10477 SELECT * FROM HISTORIAL_ESTADOS WHERE TITUTRAM=@TITUTRAM AND

TRAMIDEN=@TRAMIDEN ORDER BY LINEA, FEC_INICIA DESC

3 17789 20102432 6271077 0 912 SELECT DATOS_SIGAF.*, TIPO_DATO.ORDEN,

TIPO_DATO.ELEMENTO FROM DATOS_SIGAF,

TIPO_DATO WHERE (EXPORTADO={STR} OR

EXPORTADO IS NULL) AND DATOS_SIGAF.TIPO = TIPO_DATO.TIPO AND DATOS_SIGAF.TIPO =

@P# ORDER BY TIPO_DATO.ORDEN, FEC_DATO

4 16091 23346083 5426444 0 321 SELECT COUNT(*) NUMRECORDS FROM (

SELECT * FROM

VISTA_BUSQUEDA_DE_TRAMITES WHERE ( (FECHAAPERT >= @P# ) AND (FECHAAPERT <=

@P# ) ) AND ( ( PERITRAM = {STR} OR

FECHAAPERT>=GETDATE()) AND ( ESTADOCOD

NOT IN(LIST) OR ( ESTADOCOD = {STR} AND EXISTS( SELECT * FROM TRAMITE_LINEA

WHERE TITUTRAM = VISTA_BUSQUEDA_DE_TRAMITES.TITUTRAM

AND TRAMIDEN = ……..

5 11875 10100585 1919873 267 1

281 SELECT COUNT(*) NUMRECORDS FROM VISTA_PROVEEDORES_PYMES WHERE

STATPROV={STR}

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 87: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 87 de 100

Conclusiones

Revisión Carga Diaria.

La carga actual de los servidores es media/baja, debido a que existe una cantidad

de visitas diarias con un valor muy bajo.

Sin embargo existen problemas de rendimiento que afectan a la plataforma, a

pesar de tener una baja carga.

Dentro de los síntomas encontrados por el bajo rendimiento esta:

Base de Datos Duración muy alta para la ejecución de los querys Cantidad de lecturas a disco muy alta

Servidores Web Lecture a disco, muy lento

Cantidad Alta de bloqueos

Revisión Carga Stress.

Con una carga moderada de stress, el objetivo fue revisar si la aplicación podía

responder adecuadamente a los requerimientos

Los tiempos de respuesta de la aplicación a nivel del cliente fueron muy altos, la

mayoría de los sistemas web, debe tener tiempos menores a 10 segundos, sin embargo acá hubo un promedio de 18 segundos de tiempo de respuesta.

A nivel de servidor de base de datos (ya que es el principal “botlenecks” de las aplicaciones), se encontraron los siguientes síntomas

Duración muy alta para la ejecución de los querys Cantidad de lecturas a disco muy alta

Uso de CPU elevado Alta ejecución de compilaciones

Alto uso de memoria

Alta cantidad de Logouts

El comportamiento en ambas situaciones es consistente e indica que los problemas

de rendimiento no son por situaciones puntuales propios de una alto stress, sino

por el diseño e implantación de la aplicación.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 88: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 88 de 100

Recomendaciones

Servidor Web

Revisar arreglos de discos, firmware entre otros.

Realizar la migración a .NET, de manera inmediata, el uso de la ISAPI de

IIS, tiene serios problemas de bloqueos de threads, lo cual redunda en

escenarios de carga, se den tiempo de respuesta poco adecuados al usuario

final y un aumento de CPU del servidor.

Utilizar característica de IIS 6.0 para el manejo de pooling de aplicaciones

de .NET.

Agregar manejo de servidores de State Server para la disponibilidad de las

sesiones.

Servidor de Base de Datos

Revisión y configuración de Motor SQL a través de soporte especializado. Revisar y reescribir querys invasivas

o utilizar sentencias deterministicas o Analizar planes de ejecución

Costos de memoria y cpu asociados.

Utilizar DIRTY READ en querys de selección

No utilizar tablas temporales (#) o evitar la re compilación de querys

Revisar configuración de SQL

o Builds de Estadísticas

o Builds de Índices

Utilizar software que utilice pool de conexiones a base de datos. Si no se realizan estas medidas en el corto mediano plazo, puede existir un alto

riesgo en los tiempos de respuesta para el usuario final, y de esa manera puede

recaer en que las incidencias que se produzcan repercutan en las demás áreas de la

organización

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 89: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 89 de 100

Gestión de Operaciones

Objetivo

La gestión de operaciones involucra la revisión del soporte y operación de la

plataforma, revisar la potencialidad indica si es capaz de soportar una mayor

cantidad de incidencias y gestión de la plataforma con tiempos de respuesta

adecuados.

Situación Actual

La gestión de operaciones está a cargo del dpto. De gestión tecnológica de la

DGABCA.

Dicho dpto. Está a cargo del Jefe de Tecnología, del cual tiene una dependencia de

ejecutivos de soporte y la interacción y definición con la fábrica de software. La llegada de incidencias se canaliza a través de la mesa de ayuda, que es la mesa

de ayuda de la DGI, el cual si es un incidente para comprared este es derivado

hacia la DGABCA. La gestión de las incidencias se realiza mediante el software proporcionado por el

call center (Pivotal). La cantidad de incidencias recibida es del orden de 2 incidentes diarios.

AL consultar si existen procedimientos para la tipificación e ingreso de incidentes,

se indica que existe procedimiento en la recepción de la llamada, y que este puede ser reasignado dentro del software pivotal.

Se revisa si existe alguna metodología para la recepción y seguimiento de

incidencias, pero no está bajo alguna metodología definida dicho seguimiento.

Se reviso si el dpto. De tecnología, tenía la autonomía para realizar modificaciones

o mejoras al sistema, ante lo cual la respuesta fue que solo en cierta manera, se

indica que dependiendo del tipo de la incidencia es como pueden realizar las

acciones respectivas, existen distintos tipos de incidencias.

Por ejemplo:

cuando se verifica que es un problema de datos, se realiza por

BackOffice en la mayoría de los casos

cuando es un incidente por problema de aplicación se envía un correo al

personal de la fábrica para la modificación.

Cuando se detecta que es un problema de la información, la fabrica

realiza el script de la modificación, luego dicho script es enviado por la

DGABCA y posteriormente lo ejecuta el área de base de datos de la DGI

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 90: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 90 de 100

No existe acceso remoto a los servidores donde se aloja la aplicación.

Se analizo la realización de los deploys o pasos a producción ante lo cual, se carece de un ambiente de testing, que sea el reflejo de lo que se realiza en producción.

La realización de las pruebas es de manera empírica, y en la mayoría de los casos,

la aprobación de las subidas, se realiza por la aprobación de la jefa de tecnología.

EL paso a producción de la versión, se realiza en base a lo que la fábrica de

software especifique y entregue, la DGABCA, solo realizar que se envié la

documentación respectiva al DGI.

Se reviso si existen mecanismos de monitoreo externo a la aplicación, ante lo cual

la respuesta, fue que existe un programa realizado por la fabrica, pero que no es

utilizado para realizar el monitoreo.

Al consultar si existen mecanismos de regulación de tiempos de la respuesta y

servicio (SLA), se indica que no existe indicaciones exactas sobre tiempos y

depende de la criticidad asignada por el jefe de tecnología, los tiempos de

respuesta según lo consultado, varían entre 1 a 3 días. Se reviso si había definición sobre un plan de contingencias, ante lo cual se informo

que la DGI, tiene su plan de contingencia para las catástrofes, no especificando si la

DGABCA tiene algún plan de contingencias.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 91: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 91 de 100

Matriz de evaluación Para medir y revisar la brechas que existen para alcanzar el potencial requerido se analizaran y determinara el porcentaje de avance en cada brecha.

Un promedio de 18 indica que a pesar de que se han realizado algunas labores para realizar la mantención estas han sido infructuosas, existen demasiados puntos

débiles los cuales enumeraremos.

Falta de normativas y procedimientos

Ausencias de SLA para plataforma operacional y soporte de incidencias.

Infraestructura tecnológica no adecuada para dar un adecuado soporte

(Software y Hardware)

Carencia de personal técnico adecuado

Estructura organizacional deficiente

Roles multifuncionales

Ausencia de monitoreo externo

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 92: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 92 de 100

Recomendaciones

Se recomendara el siguiente plan de acción con tal de minimizar tal brecha.

1) Estandarizar y normalizar los procedimientos referentes a la operación

diaria, respecto a incidencias, consultas, errores, sugerencias, de la

aplicación entre otros.

2) La normalización puede ser en base a alguna metodología de operaciones

como ITIL o MOF.

a. Una vez realizado esta normalización, implementar una plataforma

tecnológica para la centralización y gestión de las tareas

b. La plataforma tecnológica, debe permitir el ingreso de incidencias,

seguimiento y correlación de información con el cliente, entre otros, a

menudo estas plataformas tecnológicas son categorizadas como CRM,

Bugtracker, entre otros.

c. Implantar una base de conocimiento con las consultas y errores más

frecuentes

3) Al no existir personal técnico idóneo, se realiza una dependencia exclusiva

en la fábrica de software y el DGI, para la resolución de conflictos, lo cual no

permite la autonomía de la operación

a. Se sugiere la contratación de perfiles técnicos, con algún tipo de

conocimiento en perfil de negocio, entre estos perfiles se sugiere:

i. Líderes de Proyecto

ii. Administradores de plataformas Microsoft, en conocimientos

de redes, sistemas operativos, servidores IIS.

iii. Administradores de base de datos

iv. Analistas de negocio

v. Ejecutivos de BackOffice

vi.

b. Se entienda que exista una contraparte técnica en el DGI, sin

embargo, el tener esto no permite una correcta autonomía en la

operación de la plataforma

4) Deben normarse y agregarse SLA (Service Level Agreement) de operaciones

y soporte

a. Para esto debe existir una implementación tecnológica que permita

la medición de los tiempos y eventos producidos.

b. La medición debe basarse en tiempos de respuesta, eventos

producidos en el periodo, criticidad del incidente, etc.

c. Esto debe ser aplicado al nivel de soporte y también a nivel de

infraestructura.

d. Dichos SLA deben tener multas (económicas o no) con tal de

incentivar al cumplimiento de estas.

5) Deben reestructurarse el área tecnológica para tener la capacidad de

procesar y atender los requerimientos de las más diversas áreas de

gobierno.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 93: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 93 de 100

Se propone una estructura jerárquica liderara por un líder tecnológico

que tenga las capacidad técnicas y la visión de la dirección de bienes. A ello deben sumarse 3 áreas que contemplen la separación de áreas y

funciones

El área BackOffice, principalmente trataría los problemas de

usuarios, como errores de ingreso, datos, etc.

El área mantención, tendría como función mantener desde el

punto de vista de la aplicación (código), la plataforma, este puede

ser un externo como la fábrica de software (esta detallado

anteriormente)

El área Operaciones, estaría encargado de los incidentes técnicos,

derivados del uso de la plataforma.

La estructura de manera conceptual, es la siguiente:

Lider tecnologico

Asesor Externo

Area Backoffice Area Mantencion Area Operaciones

Analista funcional Programador(es) Base de Datos

Ejecutivo(s) BackOffice

Software

Infraestructura

6) Deben ser prioritario incluir sistemas de monitoreo

a. Sistemas de monitoreo de sistemas internet, con el objetivo de

revisar que los tiempos de respuesta de la aplicación a través de

internet sean los óptimos, y además el uptime del aplicativo

pueda ser medido.

b. Monitoreo interno de servidores, implantar soluciones de

monitoreo de recursos de servidores, para la oportuna entrega de

información sobre disponibilidad de CPU, Disco, Redes u otros

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 94: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 94 de 100

Conclusión

La solución tecnológica y operacional de “Comprared”, se debe analizar como un

conjunto total en la cual coexiste software, hardware, personal, procedimientos,

entre los distintos ítems revisados y evaluados.

La plataforma “Comprared”, de la manera que actualmente operando, permite su

utilización adecuada, debido a la baja carga actual que existe.

Las magnitudes de 1500 visitas diarias, 2 incidentes diarios, 10 mil procesos de

adjudicación al año, dan a entender que es un sistema que está siendo utilizada por

una baja cantidad de usuarios (Cerca de 70 instituciones).

Sin embargo el análisis solicitado de parte del BID y el gobierno de Costa Rica, se

basa en que dichas expectativas podrían crecer de una manera exponencial, lo cual

implica y da la interrogante si dicho sistema en su conjunto total a nivel

tecnológico, permitiría dicho aumento.

Luego del extenso análisis realizado se puede resumir que las áreas que están más

preparadas para el aumento de usuarios son:

Seguridad

Infraestructura

Fabrica de Software

Cabe analizar e indicar cuáles son las áreas más débiles

Gestión de Operaciones

Aplicación (Software)

o Delphi

o Stress

La separación entre el escenario actual hacia el objetivo esperado, no permiten en

el muy corto plazo, realizar el aumento sostenido o esperable de usuarios.

La DGABCA ha realizado en conjunto con la fábrica, medidas que pueden permitir el

acortamiento de estas brechas.

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 95: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 95 de 100

Un claro ejemplo es que ya está considerada la migración hacia la tecnología .NET,

la cual bajo los patrones de desarrollo ya utilizados por la Fábrica de software

pueden acortar dicha brecha en el mediano plazo, es factible que se considere una

mayor cantidad de esfuerzo en la realización de dicha migración Considerar que la realización de la migración del código, no implica que dicha

brecha disminuya, debe considerarse como parte fundamental que debe existir un

área de Gestión de Operaciones, que permita la correcta y adecuada gestión de la

plataforma y sus usuarios. Dicha área debe ser lo más autónoma y profesional posible, esta área debe contar

con las herramientas tecnológicas, de soporte técnico y profesional, para la

respuesta adecuada de tiempos y gestión. Junto con ello debe realizarse una reingeniería a nivel organización gubernamental,

que permita una mayor rapidez y gestión sobre dicha plataforma, dicho énfasis

debe realizar en mejorar la capacidad de administración del proyecto, poniendo

énfasis en el nivel técnico y posteriormente el administrativo. Uno de los puntos mencionados, dentro del análisis del BID, pero que no es parte

del informe técnico, es la posible implantación del sistema coreano “Koneps”, por otra entidad gubernamental.

En base a la experiencia, la implantación de un sistema de estas características

implica realizar cambios aun mayores, tanto en términos económicos, de tiempo y

esfuerzo, junto con la modificación a nivel de leyes y reglamento para dicha

implantación.

Esto torna que el sistema “Koneps”, en términos tecnológicos, sea una opción poco viable, para implantarlo en el mediano y largo plazo, debido a que implantar un nuevo sistema, implica afrontar en igual o mayor magnitud las mismas problemáticas a niveles tecnológicos, operacionales, gubernamentales y económicos, ya planteadas.

El porcentaje de avance de “Comprared” en su implantación, es alto y es recomendable que se potencie el uso de dicha la plataforma (en vez de utilizar otras alternativas), como a su vez realizar las recomendaciones realizadas para operar adecuadamente, la plataforma operacional y tecnológica en el futuro.

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 96: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 96 de 100

OP

ERA

CIO

NES

U

SAB

ILID

AD

M

AN

T.

DES

AR

RO

LLO

Plan de Trabajo:

Carta Gantt

Se recomienda el siguiente plan de trabajo.

Implantación de Proyecto

Migración de Desarrollo

Contratación Nuevo

Cantid 1 1 ad 1 2 3 4 5 6 7 8 9 0 1

1 1 1 1 2 3 4 5

1 1 1 1 2 2 6 7 8 9 0 1

2 2 2 2 3 4

Equipo 4

Análisis, diseño y Planificación 2

Desarrollo de Software (Costo 9

Pruebas y Marcha Blanca 5

Mantenimiento Actual 24

Implantación Proyecto Usabilidad

Análisis y Reuniones 4

Pruebas y mediciones 10

test de Usabilidad 7

Implantación Gestión Operaciones

Contratación Personal 4

Metodología e Implantación 3

Mantención de la Plataforma 24

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 97: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 97 de 100

Costos

El costo de implementación para los 24 meses es el siguiente:

DESARROLLO 450000

USABILIDAD 300000

OPERACIONES 500000

TOTAL 1.250.000

El desglosado es el siguiente

Desarrollo – Costo 450 Mil Dólares

1 Programador Costo Promedio: 2,5 Mil Dólares Mensuales

Costo Equipo: 20 Mil Dólares Mensuales + 10Mil dólares Costos de roles

adicionales (arquitecto jefes de proyecto)

Costo Proyecto por 15 meses: 450 Mil Dólares.

Usabilidad – Costo 300 Mil Dólares

Costo aproximado en proyecto de las dimensiones Comprared

Operaciones – Costo 500 Mil Dólares

Costo Equipo de Trabajo: 360 Mil Dólares

Costos Adicionales: 140 Mil Dólares

1 Especialista Costo Promedio: 2 Mil Dólares Mensuales

Costo Equipo: 12 Mil Dólares Mensuales + 3 Mil Dólares (Costos adicionales especialistas)

Equipo de Proyecto por 24 Meses: 360 Mil Dólares

Soporte Premier Microsoft por 24 meses: 40 Mil Dólares

Licenciamiento Software Monitoreo Plataforma: 70 Mil Dólares

Análisis externo de seguridad: 30 Mil Dólares

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 98: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 98 de 100

Personal Entrevistado

NOMBRE INSTITUCIÓN 1 Flory Espinoza Acevedo Jefa Área base Datos - DGI

2 Harold Salazar Acuna Jefe Área Operaciones - DGI

3 Fabiola León Ingeniero Base Datos - DGI 4 Jeffrey Taylor Ingeniero Comunicaciones - DGI 5 Franklin Meléndez Garita Coordinador Seguridad Informática -

DGI

6 Hayro Alberto Zúñiga Gómez Ingeniero Desarrollo – Empresa Hermes

7 Allan Ramírez Gerente de Proyecto – Empresa Hermes

8 Billy Simón Gerente Tecnología Empresa Hermes

9 Jose Massari Ingeniero Soporte Premier - Microsoft 9 Gabriela Espinoza Meza Directora de Tecnología - DGI 10 Jeannette Solano Garcia Directora DGABCA 11 Malou Guzman Quesada Jefe tecnología - DGABCA

Informe Tecnológico Plataforma Comprared

Consultoría Tecnológica para el BID - Febrero 2009 Propiedad de Carlos Kuknow Camps

Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida, en este informe es confidencial

Page 99: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 99 de 100

Documentación Utilizada

Puede que se hayan utilizado mayor documentación, pero la mayoría de la información

utilizada proviene de la siguiente lista de documentos.

Software

análisis y diseño RP.doc

Arquitectua_Interfase_Servidor_Fax_Server_y_CompraRedIII.doc

Arquitectura Central de Informaci¢n-1.13.doc Diagnostico del esquema de seguridad.doc

Esquema de Seguridad en Comprared.doc

RecursoHumanoCompraRED.docx

RespuestasBIDBM.docx Código Fuente Aplicación

Operaciones

ex090205.log

FormularioCambiosBD_CompraRED_SCBD-CR-0015-2009.DOC Formularios_Actualizaci¢n_Aplicacion_005_02_02_2009.doc

InformacionIncidenciasComprared.pdf

procedimiento atención de incidentes 2-06-06.doc

Reporte_de_incidentesCR.xls

EntregarConsultorBMundialBID.rar Información Flory.doc

Rendimiento

Comprared Nodo 2_000005_PAL_ANALYSIS_2009-02-06_13-11-

39PM_FCF0D54A-E9BC-4F4E-B79E-437604E90BF5.zip

Revisión comprared_000005_PAL_ANALYSIS_2009-02-06_13-14-

01PM_5ABD1479-09AB-4C6A-92D9-BFE1FEC31C7D

Revision comprared_000005_PAL_ANALYSIS_2009-02-06_13-14-

01PM_5ABD1479-09AB-4C6A-92D9-BFE1FEC31C7D.htm

Bottleneck Analysis.XLS

Cumulative Resource Usage.XLS

Current Server Status.XLS

Interesting Events - Exception 33.XLS Interesting Events - Exception.XLS

Interesting Events.XLS

Nodo1_MH-DGI-COMBD01.doc Nodo2_MH-DGI-COMBD02.doc

output.rar

Performance logs.zip

Top Unique Batches.XLS

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial

Page 100: Carlos Kuknow Camps · Fase 2: Recolección de Información Fase 3: Procesamiento y Análisis de la información entregada Fase 4: Entrega de informe final Fase 1 - Definición de

Servicios Profesionales de Consultoría Tecnológica

Consultor Carlos Kuknow Camps

Email:[email protected]

Página 100 de 100

ANEXOS

Informe Tecnológico Plataforma Comprared Consultoría Tecnológica para el BID - Febrero 2009

Propiedad de Carlos Kuknow Camps Prohibida cualquier reproducción, distribución o comunicación pública, salvo autorización expresa del autor, la información contenida,

en este informe es confidencial