martes, 27 de agosto de 2013

Automatizas los procesos de copias de seguridad?

En el ámbito de la gestión de tecnología de la información y en el enfoque de las normas para la seguridad de la información es muy importante considerar los procesos automatizados que generen los respaldos de las bases de datos o carpetas de archivos.

En este documento digital, expongo a manera de paso a paso, lo que se debe tener en cuenta para realizar una generación de copias de seguridad en PostgreSQL 9.2 para Windows, luego se detalla la forma de recuperar una base de datos desde un Backup de archivo .SQL o archivo .Backup.

Para los usuarios intermedios y avanzados, les será muy útil un aparte de este enlace de material técnico en el que detallo lo más relevante para crear un proceso automatizado con un Script archivo.bat que es invocado desde una tarea programada del sistema operativo.


viernes, 23 de agosto de 2013

Apache JMeter como Herramienta Software para Testing del Rendimiento


Colegas desarrolladores de software y lectores del ámbito teleinformático, en este aporte al blog, les comparto algo de mi experiencia con el uso de Apache JMeter; es un open source que he tenido la oportunidad de conocer, del cual tengo buenos comentarios y les invito a considerarlo; seguramente apoyará sus procesos automatizados de diagnóstico y análisis detallado del rendimiento del diversos servicios como LDAP, HTTP, SOAP, JDBC.

En esta entrada de blog explicaré cómo deben iniciar el proceso de instalación, configuración y también les presento un recorrido para que realicen su primer uso, el cual inicia desde la ejecución de la aplicación con el archivo ejecutable "jmeter.bat", pasando por la demostración de los elementos de configuración requeridos para un plan de prueba y finalmente presenta la gráfica de resultados obtenidos de una Petición JDBC que se realiza a PostgreSQL.

Nota: Recuerde que Usted puede utilizar JMeter para realizar testing a diversos servicios, sin embargo mi objetivo con esta guía inicial es que se comprenda la utilidad del software si estás administrando bases de datos y requieres información sobre el desempeño que tiene el servidor al momento de recibir una carga transaccional enviada por peticiones de usuarios.


lunes, 12 de agosto de 2013

De Qué Forma Realizas Los Procesos de Migración de Datos ?

Colega informático, en este artículo introduzco sobre el enfoque de automatizar el proceso de migración de datos empleando herramientas del tipo CASE - ETCL "Extract Transform Clean Load", el cual considero muy importante para todos los que realizamos proyectos de implementación de software, pues en mi caso desde hacen algo más de 12 años trabajo con bases de datos y sistemas de información transaccionales OLTP, se soportan en ORACLE, PostgreSQL, SQLServer, MySQL y ACCESS.

Lo importante del tema de la migración de datos para mí, radica en varios aspectos: 1) Garantizarle al administrador del sistema "Cliente" la calidad e integridad de los datos que se migran al nuevo Sistema Gestor de Base de Datos Relacional (SGBDR). 2) Realizar el proceso en un tiempo ajustado. 3) Ajustar los costes de forma racional en cuanto a personal y otros insumos como hardware y software. 4) Desarrollar un proceso de migración que permita la trazabilidad y repetición de sus fases. 5) Presentar informes detallados apoyado en las evidencias "Archivos Logs" que registran las transformaciones automatizadas y que su vez validen la completa ejecución del paso de los datos de una fuente de origen a un destino específico.

En este enlace les redirecciono a una sección del sitio de Kettle donde se encuentra un material que puede orientar en cómo realizar una transformación automatizada empleando Pentaho Data Integration PDI :: Kettle (Spoon).

jueves, 27 de junio de 2013

Conexiones con bases de datos vía JDBC

Es muy común que al desarrollar software de propósito general se tenga previsto realizar conexiones con bases de datos. En esta entrada les comparto un link que les permitirá descargar los JDBC Drivers con los cuales se pueden iniciar en el mundo del desarrollo con acceso a datos.
El comprimido incluye los siguientes: Access, MySQL, PostgreSQL, ORACLE y SQLServer.

lunes, 11 de marzo de 2013

Sistemas de Información para Apoyo en la Toma de Decisiones

En las empresas aún es muy notable el uso de sistemas de información transaccionales, dedicados al procesamiento de datos con una funcionalidad de reportes planos que recuperan y presentan de forma tabular los registros encontrados para un criterio de consulta específico.

Sin embargo la necesidad de la gerencia hoy día a girado a solicitar información relacionada con estadísticas, cuadros comparativos, registros de trazabilidad de transacciones, proyecciones a partir de históricos, simulaciones con datos almacenados y creación de escenarios con casos de inteligencia de negocio.

domingo, 10 de marzo de 2013

Software Engineering Institute

Para mayor información sobre buenas prácticas, aportes de líderes en el desarrollo de Software, tendencias en este ámbito de las tecnologías de información, accede al Blog o a la Página oficial en Internet del SEI Carnegie Mellon University.


SEI Overview



The Carnegie Mellon Software Engineering Institute (SEI) works closely with defense and government organizations, industry, and academia to continually improve software-intensive systems. Our core purpose is to help organizations such as yours to improve their software engineering capabilities and to develop or acquire the right software, defect free, within budget and on time, every time. To accomplish this, the SEI
  • performs research to explore promising solutions to software engineering problems
  • identifies and codifies technological and methodological solutions
  • tests and refines the solutions through pilot programs that help industry and government solve their problems
  • widely disseminates proven solutions through training, licensing, and publication of best practices
Fuente: http://www.sei.cmu.edu
Sección: About Us 
Consultado el: 10-Marzo-2013

Definición de Calidad de Software


La calidad de software es un proceso formal que se implementa en la construcción de productos software para garantizar que los suministros, liberaciones e implantaciones de soluciones estén acordes con los requerimientos funcionales y técnicos explícitos exigidos por la parte contratante, con aquellos implícitos y aplicables para el tipo de arquitectura computacional, propende por el cumplimiento de las características y estándares globalmente establecidos “conocidos” como marcos de referencia y buenas prácticas para avalar la efectividad de su proceso de desarrollo.

Definición de Ingeniería de Software



La Ingeniería de Software

Es una disciplina de las ciencias computaciones que contempla un grupo de procesos y actividades relacionadas con la aplicación de métodos formales, herramientas tecnológicas, procedimientos y buenas prácticas para asegurar la calidad general en el proceso de construcción de software.

La Ingeniería de Software tiene una relación directa con la construcción de productos software de calidad, en razón que ésta disciplina crea una base de conocimiento y ofrece modelos de madurez pertinentes para las organizaciones dedicadas a la fabricación, mantenimiento y gestión del desarrollo de soluciones informáticas, aporta procedimientos y mecanismos que coadyuvan a aplicar patrones definidos, arquitecturas documentadas, control de tiempo, control de errores, defectos, versiones y documentación explícita para todas las actividades del proceso de software. Todo esto anterior, concluye con la generación de software que incluye altos atributos de calidad y con una organización que es consciente de la importancia de los requisitos, estándares y características que debe contener una determinada solución antes de la entrega o puesta en marcha a un cliente / usuario final.

Autor: Emerson Madrid Morgan

Metodologías a emplear

En qué ocasiones seleccionar Rational Unified Process (RUP), Extreme Programming (XP). Que opinas al respecto? 

No tenía la cultura de registrar los tiempos de mis desarrollos y tu?


En muchas ocasiones el afán o la presión que ejercen los clientes finales, aquellos que nos piden desarrollar un sistema de información, no permite que se desarrolle con todo el formalismo el proceso de la Ingeniería del Software como se propone en las buenas prácticas.  

Registrar el tiempo dedicado a las distintas fases del ciclo de vida del sistema que se desarrolla, documentar los errores y la información empleada para resolver las fallas detectadas, realizar diversas pruebas al código fuente, documentar completamente el sistema de información y sus artefactos. Alguna vez te ha pasado esto?

Como ha sido tu experiencia con estas plataformas?


Si eres un desarrollador web y conoces alguna de estas herramientas, agradezco que compartas Cómo ha sido tu experiencia en el uso de éstos entornos, lenguajes y / o servicios?