Previamente, desde 1995 estuve trabajando durante 12 años en Software AG participando en proyectos en el sector de la Administración Pública como consultor especializado en tecnología J2EE y servicios web (certificado tanto en XML como en Crossvision Service Orchestrator y en BPEL) realizando además tareas comerciales, trabajando con equipos cuyo objetivo era abrir nuevos proyectos de consultoría. En los últimos años básicamente desempeñaba una triple función:
- A nivel técnico, trabajando desde el 2002 como Consultor en el Área de Preexplotación de la Gerencia Informática de la Seguridad Social, efectuando pruebas de aplicaciones J2EE con el objetivo de garantizar que estas llegan a Producción libres de errores y sin problemas de rendimiento.
- A nivel comercial, participando desde el 2004 en iniciativas orientadas a desarrollar proyectos relacionados con servicios web y Arquitecturas Orientadas a Servicio.
- A nivel de gestión, desde el 2006 ocupado de efectuar labores de coordinación de proyectos de servicios profesionales: entrevistas a candidatos, control de horas y vacaciones, revisiones salariales, etc..
A continuación detallo cuales han sido los proyectos más interesantes en los que participé entre 1995 y 2007:
2007
Trabajo técnico desarrollado en la Seguridad Social:
- Optimación del rendimiento de secuencias escritas con Crossvision Service Orchestrator, utilizando monitores de bajo nivel como Java HPROF, y Solaris truss.
- Análisis de rendimiento de dos motores de generación de PDFs: Actuate 9 y Saint Reports. Ambos productos presentan un rendimiento pobre cuando trabajan con fuentes de datos en XML.
- Desarrollo de varias utilidades en Perl, como un generador de informes a partir de java full thread dumps, o un analizador del log de los servidores web.
- Integración de Turtorise CVS y CVS Server para Windows con Mercury LoadRunner, convirtiendolo en un mecanismo para facilitar el trabajo concurrente de dos programadores sobre el mismo script.
- Pruebas de DataPower: un acelerador hardware de IBM especializado en transformaciones XSL
- Evaluación de FindBugs como una herramienta para encontrar bugs en apliaciones Java.
- Pruebas de aplicaciones J2EE para WebSphere zOS utilizando Introscope; analisis del rendimiento de zAAP (un procesador java dedicado, para maquinas zSeries).
Actividad comercial:
- BPEL. Desarrollo de varias arquitecturas basadas en ActiveBPEL. Preparacion de material para impartir varios seminarios.
- Elaboracion de una presentacion sobre SOA para el Ministerio de Justicia
- Desarrollo de varios prototipos para un proyecto en el MAP basados en Crossvision Service Orchestrator
Tareas de gestión:
- Entrevistas a candidatos para cubrir plazas en concursos ganados en el ambito de la Administracion Publica
- Uso of Open Air, una herramienta para automatizar la gestion de proyectos de servicios profesionales
2006
Trabajo técnico desarrollado en la Seguridad Social:
- Migración de aplicaciones Java desde el servidor de aplicaciones WebSphere 4.0.7 a la versión 5.1.1 (entorno Solaris). Ajuste inicial de los parámetros del servidor de aplicaciones para soportar una concurrencia de varios miles de usuarios.
- Pruebas de una aplicación Java desplegada en WebSphere 5.1 para zOS. Ajuste de los parámetros del servidor de aplicaciones específicos para zOS, como la política de profiles (CPUBOUND, IOBOUND, LONGWAIT, etc.), el número de regiones servant o la integración con el Work Load Manager (WLM). Monitorización de la máquina virtual Java sobre zOS. Elaboración de una propuesta de Arquitectura Batch J2EE basada en zOS donde los procesos se codifican en Java pero se lanzan desde un JCL utilizando EJBs para efectuar llamadas remotas.
- Pruebas de la base de datos Tamino 4.2 y 4.4. Análisis detallado de su rendimiento a partir del XML Request Log, con el objetivo de detectar bloqueos y sentencias costosas. Ajuste de los parámetros de la base de datos: número de XML Worker Threads, diversos timeouts (de sentencia, de transacción, de inactividad, etc.).
- Pruebas de una aplicación basada en el sistema de mensajería asíncrona persistente de EntireX Communicator. Ajuste de los diversos parámetros del producto y eliminación de los cuellos de botella presentes en la aplicación.
- Elaboración de utilidades en Perl destinadas a analizar el log del servidor web iPlanet y verificar si los navegadores están utilizando adecuadamente la caché.
- Utilización de Oracle Quest Central como herramienta para obtener métricas de rendimiento en tiempo real de Oracle.
Actividad comercial:
- Preparación de varias propuestas de Arquitecturas Orientadas a Servicio (SOA) para grandes clientes de la Administración General que cuentan con muchas islas de información dispersas en un entorno tecnológico muy heterogéneo.
- Elaboración de pruebas de concepto de CentraSite como repositorio UDDI.
- Desarrollo de un prototipo de plataforma de servicios web basada en AXIS y WSS4J.
- Preparación de material comercial relacionado con Factura electrónica.
- Elaboración de varios seminarios sobre servicios web y Arquitecturas Orientadas a Servicios, impartidos a clientes de la Administración General..
2005
Trabajo técnico desarrollado en la Seguridad Social:
- Intercambio de información con Microsoft en relación con una incidencia en Internet Explorer. La librería MSXML - utilizada para fusionar en el PC documentos XML y plantillas XSL - no interactuaba bien con la caché del navegador, especialmente cuando se utilizaban componentes de tipo iFRAME. Reproducción del problema con diversos servidores web como iPlanet 4, iPlanet 6, IIS, etc.
- Migración de Tamino 4.1 para Windows a Tamino 4.2 para Solaris. Análisis detallado del rendimiento de la base de datos a nivel de sockets. XTS.
- Implantación a nivel de departamento de la herramienta colaborativa TWiki.
- Utilización de la herramienta WebScarab para efectuar pruebas de vulnerabilidad, modificando los parámetros de la HTTP Request con objeto de acceder a información a la que el usuario no esta autorizado.
- Pruebas con la herramienta Wily Introscope, la cual permite monitorizar el rendimiento en Producción de servidores de aplicaciones.
- Utilización del Apache SOAP Monitor incluido con AXIS para analizar el comportamiento de aplicaciones basadas en servicios web.
- Pruebas del producto Derdack, utilizado como pasarela para enviar mensajes SMSs.
Actividad comercial:
- Preparación de un entorno de pruebas basado en Enterprise Service Integrator(ESI 2.1)
- Elaboración de material comercial relacionado con Application Portfolio Management (APM) y offshoring / outsourcing
- Presentación interna sobre la participación de Software AG en el proyecto Certifica del MAP.
- Presentación interna sobre el uso de ApplinX en diversos proyectos.
- Elaboración de un seminario sobre J2EE y servicios web, impartido a clientes de la Administración Autonómica.
- Elaboración de material comercial sobre la Interoperabilidad en el ámbito autonómico.
2004
Trabajo técnico desarrollado en la Seguridad Social:
- Pruebas detalladas del servidor de impresión Actuate, en sus versiones 5 y 7 sobre Windows y Solaris. Acceso a datos utilizando Data Direct y Oracle. Ajuste de los parámetros del producto.
- Migración de las aplicaciones de la Seguridad Social desde Oracle 8 a Oracle 9.
- Utilización del sniffer Ethereal para detectar diversos problemas de rendimiento relacionados con la interacción del navegador con el servidor web.
- Instalación del producto EntireX XML Mediator en entornos de Desarrollo. Integración con herramientas de monitorización J2EE.
- Instalación a nivel departamental de un servidor de mensajería instantánea basado en IRC.
- Utilización de Mercury Quick Test Pro para efectuar pruebas de tipo funcional.
- Migración desde EntireX Communicator 5 a EntireX Communicator 6
- Pruebas de una Arquitectura Batch J2EE desarrollada a medida.
- Pruebas utilizando servidores de web-caching
2003
Trabajo técnico desarrollado en la Seguridad Social:
- Elaboración de una aplicación J2EE utilizada para controlar los errores producidos en la Arquitectura J2EE de la Seguridad Social. Uso de Rational Rose como herramienta de modelado UML.
- Monitorización avanzada de Oracle utilizando tkprof y el monitor de Oracle incluido en Mercury LoadRunner.
- Ajuste de los parámetros del servidor de aplicaciones WebSphere 4.0.7, ajustando el numero de hilos del web container, el tamaño de los datasources, la configuración del plugin, etc.
- Pruebas contrastando el rendimiento de EJBs de tipo Entity Bean codificados utilizando Bean Managed Persistence (BMP) y Container Managed Persistence (CMP). Pruebas modificando las diversas opciones de commit (option A, B y C). Pruebas utilizando el parámetro NoLocalCopies, que simplifica el paso de argumentos entre EJBs.
- Ajuste de la memoria del servidor de aplicaciones y de las diversas opciones de funcionamiento del garbage collector.
- Utilización de full java thread dumps para detectar bloqueos a nivel de base de datos o de métodos de tipo synchronized.
- Pruebas de escalabilidad horizontal y vertical de WebSphere 4.0.7.
- Comparación entre el rendimiento de WebSphere y Weblogic.
- Pruebas detalladas del impacto en el rendimiento por el uso de SSL.
- Utilización de la herramienta PerformaSure de Quest para monitorizar de manera no intrusiva el rendimiento de un servidor de aplicaciones.
- Elaboración de una propuesta para poder efectuar un despliegue en caliente en entornos J2EE.
Entrefebrero y diciembre del 2002
Trabajo técnico desarrollado en la Seguridad Social:
- Elaboración de una arquitectura para utilizar EntireX como mecanismo de acceso a datos en una Arquitectura J2EE.
- Evaluación de ClearCase como herramienta de control de versiones integrada con Eclipse.
- Utilización del profiler de WebSphere Studio Application Developer (WSAD) para detectar problemas de rendimiento y memory leaks.
- Utilización de LoadRunner como herramienta de simulación de carga.
- Estudio de la viabilidad del driver ODBC NEON Shadow Direct.
Enero 2001 - enero 2002
Desarrollo de una aplicación de control económico en Java para Telefónica Móviles. La aplicación se desplegó en el servidor de aplicaciones iPlanet, y accedía a la base de datos Oracle utilizando Tuxedo. El trabajo que efectué fue el siguiente:
- Diseño y construcción en Java de un motor de workflow a medida.
- Análisis y diseño de diversos modulos utilizando UML (Together) y Oracle Designer. Utilización de patrones de diseño.
- Codificación de diversos componentes utilizando Visual Age como herramienta de desarrollo y Visual Source Safe como herramienta de control de versiones.
- Estimación de plazos utilizando técnicas como la de los puntos de función.
Junio - diciembre del 2000
Durante medio año, formé parte del equipo de porting de Tamino. En este período, adaptamos esta base de datos XML a varios sistemas UNIX, incluyendo Unixware y AIX. El proyecto estaba liderado en el Corporate Porting Center de Software AG en Darmstadt (Alemania), y desde España mis tareas eran:
- Adaptar la nueva funcionalidad de Tamino 2.2 a UnixWare y AIX.
- Efectuar pruebas para garantizar que el código fuente cumplía todos los requisitos de calidad, de acuerdo a los estándares corporativos de Software AG.
- Asegurarme que todos los cambios eran documentados y actualizados en el sistema de gestión de configuraciones en Software AG Alemania.
Este proyecto me dió la oportunidad de trabajar en un entorno complejo, en el que participaban equipos de diferentes países. También tuve la oportunidad de profundizar en temas como XML, XSL, DOM, etc.
Enero - junio del 2000
Durante seis meses, participé en la implantación y configuración en el Grupo Ferrovial de un paquete de distribución de software para UNIX. Esta compañia tenía más de 300 servidores SCO UNIX, y el sistema de actualización de software se basaba en soportes magnéticos: cada dos semanas se generaba una copia maestra en cinta o diskette, la cual era duplicada y distribuida utilizando correo postal.
La instalación del paquete de distribución de software simplificó este proceso, al ser substituidas las cintas y diskettes por órdenes transmitidas usando TCP/IP.
Finalmente, el sistema fue integrado en la intranet corporativa, donde - con una serie de CGIs escritos en Perl, y algunas páginas HTML publicadas con Apache - se simplificó el control y la generación de órdenes de distribución.
Junio 1998 - diciembre 1999
Durante año y medio, me encargué en el Grupo Ferrovial de:
- Administración de los más de 300 servidores SCO UNIX utilizados por el Grupo. La mayoría eran máquinas OpenServer, pero también había equipos con UnixWare y con Linux.
- Soporte a varios equipos de desarrollo en aplicaciones de negocio en Natural/Adabas para UNIX.
En la última mitad de 1999 se actualizaron todos los servidores UNIX a nuevas versiones de sistema operativo y de software de sistemas, lo cual supuso un esfuerzo significativo de un equipo de 15 personas.
Enero - junio de 1998
Diseño, desarrollo y pruebas del Entire Screen Builder, producto de Software AG cuya funcionalidad incluye la traducción de pantallas 3270 a interfaces gráficas para navegadores con Java. Además de una gran cantidad de código Java, también se diseñó algún componente ActiveX.
Agosto 1996 - diciembre 1997
En estos 18 meses participé en diversos proyectos. Las tecnologías empleadas fueron:
- Programación para Windows. Desarrollo de aplicaciones de sistemas utilizando el API de Win32.
- Porting de aplicaciones a sistemas UNIX, incluyendo UnixWare, AIX, Solaris y Linux.
- Porting de aplicaciones POSIX a Windows NT.
Diciembre 1995 - julio 1996
Durante 8 meses, compaginé el último año de carrera con la colaboración como becario en Software AG. En esta etapa, desarrollé una utilidad para Windows que permitía tomar el control remoto de PCs corriendo Windows.
Abril - septiembre 1995
Durante seis meses trabajé como becario en el SCH desarrollando aplicaciones de gestión en Visual Basic.
No hay comentarios:
Publicar un comentario