carlos kuknow camps · fase 2: recolección de información fase 3: procesamiento y análisis de la...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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