REDcientifica

Herramientas de escritorio para automatización e integración de aplicaciones
9.311 visitas desde el 18/11/2011
Daniel Moreno
Informática, Inteligencia Artificial, Tecnología

Artículo publicado en M2C-Consulting en Noviembre de 2011.
www.m2c.es


¿Recordáis que a principios de los años noventa existía un grabador de acciones en Windows 3.0 y Windows 3.1? Aquello era una maravilla. Cualquier tarea aburrida se podía grabar y repetir tantas veces como se quisiera. A esto se le llamó "Macro" y se almacenaba con la extensión ".rec".


¿Quieres saber más?
Regístrate para leer más artículos como este

La tecnología de Windows fue complicándose y el ahora añorado grabador de macros desapareció. Sólo se mantuvo algo similar en Excel, también llamado "grabador de macros", y que después se convirtió en un generador de código VBA (Visual Basic for Applications). Actualmente VBA es una tecnología muy depurada para la automatización de tareas en Microsoft Office. Pero, ¿que podemos hacer cuando queremos automatizar tareas rutinarias que involucran todo tipo de aplicaciones y entornos?

Para ello existen herramientas y tecnologías muy diversas que nos permiten automatizar e integrar tareas. Estas herramientas funcionan como un robot o agente virtual, que genera clicks, lee y rellena campos en las aplicaciones, igual que lo haría un ser humano.

¿Para qué se usa la automatización?
Los distintos enfoques de estas herramientas dependen del objetivo y del marco de trabajo:

  • Integración de aplicaciones. Por ejemplo, en un Contact Center, el agente puede estar trabajando al mismo tiempo con varias aplicaciones y distintas bases de datos. Imaginemos que el agente debe copiar el código del cliente o su nueva dirección postal en tres entornos diferentes. Las herramientas de automatización pueden trabajar ocultas, en modo background, y "despertarse" cuando se dan ciertas condiciones, ayudando al agente. Esto permite una integración de aplicaciones "no intrusiva", sin necesidad de grandes desarrollos de sistemas.
  • Actualización inmediata de la lógica de negocio. Estas mismas herramientas nos permiten también ser muy rápidos a la hora de por ejemplo, modificar la oferta comercial para un cliente determinado, teniendo en cuenta que las reglas que definen cuáles son los clientes que pueden disfrutar de esta oferta cambian rápidamente, e implican consultar datos en más de una aplicación corporativa.
  • Automatización de tareas rutinarias de administración o "Back Office". Todas las organizaciones aplican procedimientos y flujos de documentos que, una vez aprendidos, son terriblemente tediosos. ¿Por que no automatizarlos? Habitualmente estos procedimientos ya están automatizados, pero siguen siendo tediosos, consumen más tiempo del necesario, y en definitiva, se podrían automatizar aún más. ¿Cómo? Manteniendo la atención del administrador únicamente en aquellos puntos en los que es estrictamente necesaria la toma de decisiones, y dejando que una herramienta automática sea quien gestione el resto del proceso, recubriendo el software existente, sin tener que modificarlo.
  • Pruebas masivas de software. Estas herramientas son también muy útiles para realizar pruebas de regresión y de rendimiento. En el desarrollo de aplicaciones de larga vida, normalmente se dispone de una batería de pruebas estándar, que se aplica cada vez que se libera una nueva versión del software. Podemos utilizar las herramientas de automatización para realizar estas pruebas masivas, generando todo tipo de combinaciones de acciones, y registrando los resultados.
  • Automatización de tareas en entornos web. El entorno web está especialmente relacionado con tareas automatizables como son: extracción de datos, descarga de sitios web completos, dispersión de mensajes, relleno automático de formularios, gestión de múltiples transferencias FTP, actualización de parámetros en múltiples servidores o servicios web, etc.
  • Automatización de juegos. Una curiosa aplicación de estas herramientas es la de superar los retos que suponen los juegos o cualquier otro entorno que ofrezca algún tipo de premio, dificultad y reintento.

Criterio de automatización
¿Existe algún criterio general para detectar que tareas se pueden automatizar? Sí. Se pueden automatizar todas aquellas tareas repetitivas en las que las reglas que se aplican estén claras y sean objetivas.

Como caso particular, si podemos identificar el conjunto completo de todos los datos que son manejados por el agente u operador, con todos los posibles valores de esos datos, podremos automatizar la tarea.

Por ejemplo, no podremos automatizar tareas en las que un tipo de dato sea texto libre (un textarea) y se tengan que tomar decisiones en función de lo que ahí aparezca. Pero sí podremos automatizar el proceso hasta ese punto, y desde ese punto.



Ventajas y Beneficios
Las principales ventajas de la automatización son:

  • Ahorro de tiempo: Los resultados del proceso, sean éstos los que sean, normalmente se dispondrán antes si el proceso se automatiza
  • Ahorro de costes: Mejoramos la eficiencia en la utilización de los recursos humanos y materiales (máquinas, software, infraestructura)
  • Escalabilidad: Los incrementos en la necesidad de procesamiento se pueden cubrir más fácilmente
  • Precisión: La automatización adecuada evita errores manuales y asegura la calidad del resultado
  • Formalización del Know-how: En el propio programa queda representado el conocimiento acerca de cómo realizar el proceso
  • Racionalización del proceso: El esfuerzo de automatización requiere de una revisión sistemática del proceso, en la que frecuentemente se encuentran mejoras


Automatización y conectividad
Probablemente el aspecto más importante de las herramientas de automatización sea la conectividad. Para algunas automatizaciones sencillas puede ser suficiente con generar clicks de ratón o pulsaciones de teclas, pero en otros casos debemos de ser capaces no sólo de escribir y realizar acciones, sino también de leer valores de las aplicaciones, y tomar decisiones en función de estos valores. Podemos necesitar conectarnos a todo tipo de entornos o aplicaciones desarrolladas con distintas tecnologías, entre ellas:
  • Sistema Operativo Windows
  • Microsoft Office
  • Aplicaciones Win32
  • Aplicaciones .NET
  • Exploradores Web (Internet Explorer, Chrome, etc.)
  • Aplicaciones Java
  • Consolas Emulación de terminal (Pantallas "negras" o "verdes" tipo 3270)
  • Aplicaciones Flash
  • Aplicaciones Javascript
En muchos casos, la conectividad es el criterio principal para decidirnos por una herramienta u otra. Sin embargo, existen muchos otros factores a la hora de elegir un software de automatización. Las herramientas difieren mucho de unas a otras en múltiples parámetros como son: soporte, referencias, diseño mediante diagramas de flujo, interacción con objetos (no sólo con posiciones de pantalla), facilidad para el despliegue, generación de código (grabador de macros), seguridad, monitorización, entorno de depuración, invocación de librerías externas, etc.

Fabricantes
Existe una amplia variedad de fabricantes y soluciones de automatización, con grandes diferencias en precio y prestaciones. Contacte con nosotros si desea que le ayudemos a encontrar la herramienta que mejor encaje con sus necesidades.

Fuente: Este artículo fue publicado en M2C-Consulting en Noviembre de 2011.
www.m2c.es



 ¿Te ha gustado este artículo?
Colabora con
REDcientifica
desde 1 euro


  



Comentarios




REDcientifica

Ciencia, Tecnología y Pensamiento





Últimos comentarios
» lamentable pero cierto cabal reflexion
» Se supone que el cerebro es hipoactivo durante un paro cardíaco. Sin embargo, el estado neurofis...
» Les recomiendo leer la fuente original de la información http://m.pnas.org/content/110/35/1443...


Temas
Antropología (12)
Aprendizaje (18)
Arte (1)
Astronáutica (1)
Biografía (1)
Biología (11)
Cerebro (12)
Ciencia (28)
Ciencia-ficción (2)
Computación Evolutiva (1)
Consultoría (5)
Cosmología (4)
Cuántica (6)
Ecología (5)
Economía (23)
Educación (24)
Ética (13)
Evolución (8)
Filosofía (68)
Física (13)
Futuro Vegano (2)
Genética (4)
Gnoseología (7)
Historia (3)
Informática (8)
Ingeniería (3)
Inteligencia Artificial (9)
Lingüística (2)
literatura (1)
Lógica (3)
Marketing (8)
Matemáticas (6)
Medicina (24)
Método Científico (9)
Negocios (2)
Neurociencia (2)
Política (12)
Programación (4)
Psicología (15)
Química (1)
REDcientifica (6)
Redes Neuronales (3)
Robótica (5)
Sensocentrismo (1)
Sistemas Complejos (4)
Sociología (26)
Subjetividad (26)
Tecnología (15)
Visión Artificial (1)

 redcientifica.org en Twitterredcientifica.org en Facebookredcientifica.org en Google+ 

redcientifica.org en LinkedIn



CSS Validator