¿Qué es una solución de migración?
Es un procedimiento mediante el cual se cambia el actual sistema o gestor de bases de datos por otros productos o por versiones que se adapten mejor a las necesidades de la organización.

¿De que consta el proceso de migración?
Los procesos que involucra la migración varían dependiendo, entre otros factores, del producto actual, de sí la decisión de la nueva base había sido tomada o si es necesario plantear diferentes alternativas, etc.

El proceso de migración consta de los siguientes pasos:
Se analiza la factibilidad de la migración. Si la migración es posible, se hace un backup de información y se procede a la realización la migración. Se recupera la información y se verificará la adecuada funcionalidad e integridad de la información recuperada.

¿Cuál es el resultado?
Las migraciones traen como resultado el mejor aprovechamiento de la tecnología que se posea y la mayor velocidad de acceso a la información. En muchos casos y dependiendo del tipo de migración, también se logra mayor seguridad y versatilidad.


Casos en los que es necesaria la migración de datos

  • Se ha vuelto muy lenta la carga y consulta de datos.
  • Se debe mantener compatibilidad hacia arriba con otros productos.
  • El volumen de información que se maneja necesita una mejor base de datos.
  • Se desea mantener actualizados los productos.
  • Es necesario cambiar hacia un producto de base de datos sin licencia.
  • Se necesita bajar los gastos en tecnología.
  • Se desea armar una red.
  • Se han comprado nuevos equipos.

  • ¿Qué es la reingeniería?
    La reingeniería es el proceso de analizar sistemas existentes para entender su diseño y desarrollar estrategias para extraer y reutilizar componentes. Implica la rehabilitación y modernización de los componentes que lo conforman.

    Ventajas del proceso de reingeniería
    Proporcionar asistencia automatizada a las tareas de mantenimiento y evolución del software.
    Reducir errores y costes.
    Mejorar los procesos de conversión y migración.
    Extender el ciclo de vida de las aplicaciones.
    Facilitar el entendimiento de los programas.

    Tipos de reingeniería

  • Reformateo: Identificación y alineación de palabras clave, nombres de datos, etc.
  • Reestructuración de Control: Convierte código no estructurado en código equivalente pero estructurado. Refuerza el mantenimiento.
  • Reestructuración de Datos: Diseña y crea nuevas estructuras de datos más flexibles.
  • Redocumentación: Entendimiento del software y reconstruir documentación
  • Re-desarrollo: Incluye la reescritura de partes del sistema utilizando un nuevo entorno de desarrollo.



  • ¿Qué son los sistemas para la toma de decisiones gerenciales?
    Son una colección de sistemas de información que interactúan entre sí y que proporcionan información tanto para las necesidades de las operaciones como de la administración. Es un conjunto de información extensa y coordinada de subsistemas racionalmente integrados que transforman los datos en información en una variedad de formas para mejorar la productividad de acuerdo con los estilos y características de los administradores.

    El valor de la información proporcionada por el sistema, debe cumplir con los siguientes cuatro supuestos básicos:

  • Calidad: Para los gerentes es imprescindible que los hechos comunicados sean un fiel reflejo de la realidad planteada.

  • Oportunidad: Para lograr un control eficaz, las medidas correctivas en caso de ser necesarias, deben aplicarse a tiempo, antes de que se presente una gran desviación respecto de los objetivos planificados con anterioridad.

  • Cantidad: Es probable que los gerentes casi nunca tomen decisiones acertadas y oportunas si no disponen de información suficiente, pero tampoco deben verse desbordados por información irrelevante e inútil (redundancia), pues esta puede llevar a una inacción o decisiones desacertadas.

  • Relevancia: La información que le es proporcionada a un gerente debe estar relacionada con sus tareas y responsabilidades.

  • Nuestra visión
    Esta claro que la información es el insumo más importante para que la gerencia de una empresa pueda tomar la mejor decisión y de esta manera concretar el éxito de la misma. Es por eso que 2H Software pone a su disposición la experiencia y seguridad para llevar a cabo la mejor solución que se adapte a su empresa y así ayudar al su éxito.

    ¿Qué es e-Commerce?
    Es la práctica de comprar y vender productos y servicios utilizando un medio electrónico como canal. Éste permite la personalización masiva de productos y servicios al hacer posible que las transacciones se hagan a la medida del consumidor.

    ¿Por qué utilizar aplicaciones e-Commerce?

  • Por que permiten consolidar a una empresa y brindar mejores servicios a los clientes.
  • Por que permite reducir costos de transacción de ventas y ampliar la cobertura de mercados.
  • Por que hace posible crear nuevas relaciones con sus clientes y proveedores, así como extender aquéllas existentes más allá de lo que tradicionalmente era posible.
  • Por que hace más sencilla la labor de los negocios con los clientes.
  • Por que permite efectuar una reducción considerable del inventario.
  • Por que acelerar las operaciones del negocio.
  • Por que provee nuevas maneras de para encontrar y servir a los clientes.

  • Nuestra visión
    E-Commerce es una estrategia de negocios basada en lo mejor de las tecnologías actuales. Abarca un conjunto de servicios no sólo para la construcción de la plataforma más acorde a su negocio sino también para la de una visión a futuro en su organización. Para este fin, 2H Software posee las relaciones y prácticas que nos permiten ofrecerle las mejores soluciones en tiempo y costos.

    Tecnologías Open Source.
    Desde sus inicios, 2H Software ha creído en los desarrollos basados en proyectos opensource y ha desarrollado soluciones basadas en este tipo de software. Esta decisión ha permitido que nuestros desarrollos sean de alta calidad a un costo por debajo de los desarrollos hechos con software por licenciamiento.

    A través del uso de software opensource hemos diseñado y generado un número importante de soluciones que actualmente se encuentran en operación. A continuación encontrará la referencia a proyectos de código abierto que ya hemos implementado con éxito.





    Este servicio tiene como objetivo principal ofrecer seguridad y confianza a través del correcto manejo de las bases de datos del cliente.

    La administración de base de datos es un servicio recomendado para cualquier tipo de empresa, sin importar su tamaño y ocupación.

    2H Software se compone de personal altamente capacitado y cualificado para ejercer el puesto de Administrador de Base de Datos (DBA).


    Entre las tareas delegadas a la administración de bases de datos están las siguientes:

  • Creación y pruebas de respaldos de datos.
  • Verificación de la integridad de datos.
  • Definición e implementación de controles de acceso a datos.
  • Asegurar la disponibilidad de la base de datos.
  • Asegurar el máximo desempeño de la base de datos.
  • Desarrollo y soporte de pruebas.



  • Definición de estrategias de prueba.
    Realizar pruebas de software es sumamente importante. Sin pruebas, no se puede garantiza la correcta funcionalidad del producto final. Las pruebas se planifican por adelantado y se llevan a cabo de manera sistemática haciendo uso de métodos específicos.

    Aquí es donde radica la importancia de llevar a cabo estrategias de prueba de software, las cuales proporcionarán al desarrollador de software una plantilla o modelo a seguir para la ejecución de pruebas.

    Nuestro equipo cuenta con una gran experiencia en el desarrollo de dichas estrategias, lo cual nos ha permitido asegurar la calidad de nuestro software, tal como lo pueden corroborar nuestros clientes.


    Ejecución de pruebas de regresión.
    Durante el ciclo natural de desarrollo de un sistema, es común que aparezcan los llamados errores de regresión. Normalmente los errores de regresión ocurren por consecuencias involuntarias de los cambios en el programa. Esto implica que la funcionalidad del software que previamente funcionaba como era deseado deje de funcionar de la misma forma en la cual fue planeada.

    Para resolver estos errores, se recurre a las pruebas de regresión, las cuales consisten en prácticas como las que a continuación se citan:


  • Repetición completa de la suite de pruebas
  • Automatización de las pruebas de regresión.
  • Repetición de las pruebas parciales basándose en la traza y el análisis de los riesgos de negocio y técnicos.
  • Pruebas de usuario o cliente
  • Beta
  • Piloto
  • Paralelas

  • Las pruebas de regresión pueden usarse no solo para probar la corrección de un programa, sino también para rastrear la calidad de su salida.

    Construcción de pruebas unitarias, de desempeño y concurrencia.
    Para garantizar la calidad del software desarrollado, nuestra empresa cuenta con un equipo especializado en la construcción de las diferentes pruebas necesarias para este fin. A continuación daremos una breve descripción de las mismas:

    Pruebas unitarias: Una prueba unitaria es una forma de probar el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado.

    El objetivo de las pruebas unitarias es aislar, cada parte del programa y mostrar que las partes individuales son correctas. Proporcionan un contrato escrito que el trozo de código debe satisfacer. Estas pruebas aisladas proporcionan cinco ventajas básicas:


  • Fomentan el cambio: Las pruebas unitarias facilitan que el programador cambie el código para mejorar su estructura puesto que permiten hacer pruebas sobre los cambios y así asegurarse de que los nuevos cambios no han introducido errores.

  • Simplifica la integración: Puesto que permiten llegar a la fase de integración con un grado alto de seguridad de que el código está funcionando correctamente. De esta manera se facilitan las pruebas de integración.

  • Documenta el código: Las propias pruebas son documentación del código puesto que ahí se puede ver cómo utilizarlo.

  • Separación de la interfaz y la implementación.

  • Los errores están más acotados y son más fáciles de localizar: dado que tenemos pruebas unitarias que pueden desenmascararlos.


  • Pruebas de desempeño: Es el tipo de prueba que ese enfoca en validar la capacidad cuantitativa y cualitativa del sistema para llevar a cabo las funciones y objetivos para lo cual fue desarrollado.

    Surgen como un medio para apreciar el buen funcionamiento del sistema, su integración con la infraestructura y sus futuras mejoras para dar el mejor resultado a la empresa donde se implanto.

    Pruebas de concurrencia: Es el tipo de prueba que se enfoca en certificar la capacidad del sistema de atender múltiples solicitudes departe de los actores que acceden a un mismo recurso (un dato que esté almacenado en memoria, un conjunto de registros en base de datos o una interfaz con un dispositivo de hardware o un sistema externo).


    Certificación de aplicaciones para su puesta en producción.
    Antes de pasar una aplicación a producción es recomendable someterla a las condiciones más cercanas a la que será su entorno de ejecución.

    Esta certificación comprende un conjunto de pruebas y técnicas conocidas como pruebas funcionales, carga, rendimiento, etc. y otras específicas, dependientes del entorno y la aplicación, que juegan un papel importante de cara a garantizar el rendimiento y disponibilidad de las aplicaciones y de las infraestructuras IT, ayudando a identificar áreas potencialmente vulnerables.

    Este servicio, está diseñado para proporcionar la garantía de calidad del rendimiento y disponibilidad de una aplicación. Sus objetivos son:

  • Determinar y documentar los requisitos de rendimiento de las aplicaciones.

  • Precisar y eliminar los "cuellos de botella" de rendimiento de las aplicaciones, sistemas e infraestructura IT.

  • Determinar la capacidad real de la infraestructura IT, y verificar que es capaz de soportar la aplicación, y modelar necesidades futuras.

  • Garantizar que la configuración de la infraestructuras IT, los sistemas y componentes, son capaces de soportar periodos de "cargas puntas", y está optimizado para dar e mejor rendimiento, demostrando la escalabilidad de las aplicaciones.

  • Minimizar el impacto de la puesta en producción de nuevas aplicaciones sobre la infraestructura existente.

  • Entender el comportamiento del sistema con diferentes tipos de transacciones.


  • El alcance del servicio puede comprender: el desarrollo del Plan de Pruebas, pruebas de entornos Web, Pruebas de infraestructuras, Pruebas sobre entornos de desarrollo, pruebas de comparación, etc.

    Los principales beneficios que se obtienen del mismo son:

  • Reducción de los riesgos, al probar exhaustivamente la aplicación antes de su pase a producción.

  • Mejora significativa de la satisfacción del usuario, identificando y corrigiendo a tiempo los incumplimientos de niveles de servicios esperados.

  • Reducción de costes, al ajustar las configuraciones de infraestructuras necesarias para el correcto funcionamiento de las aplicaciones.





  • Soluciones de Tecnología
    Migración y reingeniería de aplicaciones en producción

    Análisis, diseño, desarrollo y puesta a punto de sistemas para la toma de decisiones gerenciales

    Análisis, diseño, desarrollo y puesta a punto de aplicaciones para e-comerce

    Análisis, diseño, desarrollo y puesta a punto de aplicaciones basadas en tecnologías open source

    Monitoreo y administración de bases de datos.

    Pruebas y aseguramiento de calidad