jueves, 12 de mayo de 2016

Inteligencia de Negocio (Business Intelligence)


“Inteligencia de Negocio” o “Business Intelligence”

Se denomina inteligencia empresarial, inteligencia de negocios o BI (del inglés business intelligence), al conjunto de estrategias y aspectos relevantes enfocados a la administración y creación de conocimiento sobre el medio, a través del análisis de los datos existentes en una organización o empresa.

Es posible diferenciar datos, informaciones y conocimientos, conceptos en los que se centra la inteligencia empresarial, ya que como sabemos, un dato es algo vago, por ejemplo "10 000", la información es algo más preciso, por ejemplo "Las ventas del mes de mayo fueron de 10 000", y el conocimiento se obtiene mediante el análisis de la información, por ejemplo "Las ventas del mes de mayo fueron 10 000. Mayo es el mes más bajo en ventas". Aquí es donde la BI entra en juego, ya que al obtener conocimiento del negocio una vez capturada la información de todas las áreas en la empresa, es posible establecer estrategias y determinar cuáles son las fortalezas y las debilidades.

El término inteligencias empresariales se refiere al uso de datos en una empresa para facilitar la toma de decisiones. Abarca la comprensión del funcionamiento actual de la empresa, bien como la anticipación de acontecimientos futuros, con el objetivo de ofrecer conocimientos para respaldar las decisiones empresariales.

La vida o el periodo de éxito de un software de inteligencia de negocios dependerá únicamente del éxito de su uso en beneficio de la empresa; si esta empresa es capaz de incrementar su nivel financiero, administrativo y sus decisiones mejoran la actuación de la empresa, el software de inteligencia de negocios seguirá presente mucho tiempo, en caso contrario será sustituido por otro que aporte mejores y más precisos resultados.

Características


  • Accesibilidad a la información: Los datos son la fuente principal de este concepto. Lo primero que deben garantizar este tipo de herramientas y técnicas será el acceso de los usuarios a los datos con independencia de la procedencia de éstos.
  • Apoyo en la toma de decisiones: Se busca ir más allá en la presentación de la información, de manera que los usuarios tengan acceso a herramientas de análisis que les permitan seleccionar y manipular sólo aquellos datos que les interesen.
  • Orientación al usuario final: Se busca independencia entre los conocimientos técnicos de los usuarios y su capacidad para utilizar estas herramientas.


Niveles de Business Intelligence

De acuerdo a su nivel de complejidad se pueden clasificar las soluciones de Business Intelligence en:
  • Informes
  • Informes predefinidos
  • Informes a la medida
  • Consultas (Query) / Cubos OLAP (On-Line Analytic Processing).
  • Alertas
  • Análisis
  • Análisis estadístico
  • Pronósticos (Forecasting)
  • Modelado predictivo o Minería de datos (Data Mining)
  • Optimización
  • Minería de Procesos

Minería de Datos en BI (Business Intelligence)

La minería de datos o exploración de datos (es la etapa de análisis de "Knowledge Discovery in Databases" o KDD) es un campo de las ciencias de la computación referido al proceso que intenta descubrir patrones en grandes volúmenes de conjuntos de datos. Utiliza los métodos de la inteligencia artificial, aprendizaje automático, estadística y sistemas de bases de datos. El objetivo general del proceso de minería de datos consiste en extraer información de un conjunto de datos y transformarla en una estructura comprensible para su uso posterior.

La tarea de minería de datos real es el análisis automático o semi-automático de grandes cantidades de datos para extraer patrones interesantes hasta ahora desconocidos, como los grupos de registros de datos (análisis clúster), registros poco usuales (la detección de anomalías) y dependencias (minería por reglas de asociación). Esto generalmente implica el uso de técnicas de bases de datos como los índices espaciales. 

Proceso típico de minería de datos

  • Selección del conjunto de datos.
  • Análisis de las propiedades de los datos, en especial los histogramas, diagramas de dispersión, presencia de valores atípicos y ausencia de datos (valores nulos).
  • Transformación del conjunto de datos de entrada, se realizará de diversas formas en función del análisis previo, con el objetivo de prepararlo para aplicar la técnica de minería de datos que mejor se adapte a los datos y al problema.
  • Seleccionar y aplicar la técnica de minería de datos, se construye el modelo predictivo, de clasificación o segmentación.
  • Extracción de conocimiento, mediante una técnica de minería de datos, se obtiene un modelo de conocimiento, que representa patrones de comportamiento observados en los valores de las variables del problema o relaciones de asociación entre dichas variables. También pueden usarse varias técnicas a la vez para generar distintos modelos, aunque generalmente cada técnica obliga a un preprocesado diferente de los datos.
  • Interpretación y evaluación de datos, una vez obtenido el modelo, se debe proceder a su validación comprobando que las conclusiones que arroja son válidas y suficientemente satisfactorias. En el caso de haber obtenido varios modelos mediante el uso de distintas técnicas, se deben comparar los modelos en busca de aquel que se ajuste mejor al problema.

Minería de Procesos en BI (Business Intelligence)

Minería de procesos es una técnica de administración de procesos que permite analizar los procesos de negocios de acuerdo con un registro de eventos. A través de esta activdad se desea extraer conocimiento desde los registros de evento de los procesos almacenados por los sistemas. Este conocimiento implica lograr realizar la traza de los procesos en estudio, incluyendo información de los actores que lo realizan, los tiempos involucrados, entre otras cosas. Uno de los objetivos es llevar el control de los procesos, pero además tiene como objetivo permitir el descubrimiento de procesos, controles, información y estructuras organizacionales partiendo de la base de los registros de eventos.

La Minería de Procesos es utilizada generalmente cuando no existe una descripción formal de los procesos, o cuando la información existente es de mala calidad. Por ejemplo, el registro de atención de un paciente en un hospital puede ser analizado a través de la Minería de Procesos para descubrir modelos que describan el flujo del paciente.

SOAP (Simple Object Access Protocol)



SOAP

SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML.

SOAP fue creado por Microsoft, IBM y otros.

Este protocolo está basado en XML y esta compuesto de:
  • Sobre: el cual define qué hay en el mensaje y cómo procesarlo.
  • Conjunto de reglas de codificación: para expresar instancias de tipos de datos.
  • La Convención: para representar llamadas a procedimientos y respuestas.

Características

  1. Extensibilidad (seguridad y WS-routing son extensiones aplicadas en el desarrollo).
  2. Neutralidad (SOAP puede ser utilizado sobre cualquier protocolo de transporte como HTTP, SMTP, TCP o JMS).
  3. Independencia (SOAP permite cualquier modelo de programación).

Ejemplo de uso

Como ejemplo de cómo el modelo SOAP pueda ser utilizado, consideraremos un mensaje SOAP que podría ser enviado a un web service para realizar la búsqueda de algún precio en una base de datos, indicando para ello los parámetros necesitados en la consulta. El servicio podría retornar un documento en formato XML con el resultado, un ejemplo, precios, localización o características. Teniendo los datos de respuesta en un formato estandarizado procesable (en inglés "parseable"), éste puede ser integrado directamente en un sitio Web o aplicación externa.

Mensaje SOAP, XML



Ejemplo Mensaje SOAP



Ventajas de SOAP

  • Debido al uso de XML permite invocar procedimientos remotos de muchos lenguajes, por lo tanto, presenta una gran interoperabilidad.
  • Al utilizar una comunicación vía HTTP es fácilmente escalable, además de ser casi siempre permitido por los cortafuegos.
  • Puede ser implementado utilizando cualquier lenguaje y ejecutado en cualquier plataforma.
  • Es posible utilizarlo mediante usuario anónimo y mediante autentificación.
  • Es posible transmitirlo mediante cualquier protocolo de transporte capaz de transmitir texto, típicamente HTTP o SMTP.


Desventajas de SOAP

  • Debido al uso de XML para el paso de mensajes, SOAP es considerablemente más lento que otros middleware como CORBA ya que los datos binarios se codifican como texto. Para contrarrestar este punto débil en el caso de XML con código binario incrustado se desarrolló un método optimizado de transmisión de mensajes.
  • Depende del WSDL (Web Services Description Language).
  • Al contrario que Java, PHP o Python ciertos lenguajes no ofrecen un apoyo adecuado para su uso ya sea a nivel de integración o de soporte IDE.

Arquitectura Orientada a Servicios (SOA)



Arquitectura orientada a Servicios (SOA)

La Arquitectura Orientada a Servicios es un paradigma de arquitectura para diseñar y desarrollar sistemas distribuidos. Las soluciones SOA han sido creadas para satisfacer los objetivos de negocio las cuales incluyen facilidad y flexibilidad de integración con sistemas legados, alineación directa a los procesos de negocio reduciendo costos de implementación.

Origen de SOA

Los modelos de desarrollo han ido evolucionando con el paso de los años. En los años 80 aparecieron los modelos orientados a objetos, en los 90 aparecieron los modelos basados en componentes y en la actualidad han aparecido los modelos orientados a servicios.

¿Qué es un servicio?

Una función sin estado, auto-contenida, que acepta una(s) llamada(s) y devuelve una(s) respuesta(s) mediante una interfaz bien definida. Los servicios pueden también ejecutar unidades discretas de trabajo como serían editar y procesar una transacción. Los servicios no dependen del estado de otras funciones o procesos.

Principios de SOA

  • Contrato de servicios estandarizados: los servicios adhieren a un acuerdo de comunicación, según se define en conjunto con uno o más documentos de descripción de servicios.
  • Acoplamiento débil de sistemas: los servicios mantienen una relación que minimiza las dependencias y sólo requiere que mantengan un conocimiento de uno al otro.
  • Abstracción de servicios: más allá de las descripciones del contrato de servicios, los servicios ocultan la lógica a los demás.
  • Reutilización de servicios: la lógica se divide en servicios con la intención de promover la reutilización.
  • Autonomía de servicios: los servicios tienen control sobre la lógica que encapsulan, desde una perspectiva de diseño y ejecución.
  • Optimización de servicios: los servicios de alta calidad son preferibles a los de baja calidad.
  • Encapsulación de servicios: muchos servicios están consolidados para el uso de SOA. A menudo, estos servicios no fueron planificados para estar en un SOA.
  • Transparencia de ubicación de servicios: se refiere a la capacidad de un consumidor de servicios para invocar a un servicio independientemente de su ubicación en la red.

SOA define varias capas de Software

  • Aplicaciones básicas: sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad.
  • De exposición de funcionalidades: donde las funcionalidades de la capa aplicativa son expuestas en forma de servicios (generalmente como servicios web).
  • De integración de servicios: facilitan el intercambio de datos entre elementos de la capa aplicativa orientada a procesos empresariales internos o en colaboración.
  • De composición de procesos: que define el proceso en términos del negocio y sus necesidades, y que varía en función del negocio.
  • De entrega: donde los servicios son desplegados a los usuarios finales.

Diseño y desarrollo de SOA

La metodología de modelado y diseño para aplicaciones SOA se conoce como 'análisis y diseño orientado a servicios. La arquitectura orientada a servicios es tanto un marco de trabajo para el desarrollo de software como un marco de trabajo de implementación. Para que un proyecto SOA tenga éxito los desarrolladores de software deben orientarse ellos mismos a esta mentalidad de crear servicios comunes que son orquestados por clientes para implementar los procesos de negocio.

Cuando la mayoría de la gente habla de una arquitectura orientada a servicios están hablando de un juego de servicios residentes en Internet o en una intranet, usando servicios web. Existen diversos estándares relacionados a los servicios web; incluyendo los siguientes:

XML – HTTP - SOAP – REST

Hay que considerar, sin embargo, que un sistema SOA no necesariamente utiliza estos estándares para ser "Orientado a Servicios" pero es altamente recomendable su uso.

Beneficios SOA

  • El gran beneficio de SOA es la agilidad que proporciona a las organizaciones que la usan. Las características propias de SOA permiten a las organizaciones la capacidad de controlar un problema de forma general, permitiendo una respuesta más rápida y eficaz y por tanto adaptarse de la mejor forma a los cambios.
  • Independencia de las plataformas e infraestructuras tecnológicas, lo que le permite integrarse con sistemas y aplicaciones diferentes de forma sencilla.

SOA, Beneficios para la organización

  • Mejora en los tiempos de realización de cambios en procesos.
  • Facilidad para evolucionar a modelos de negocios basados en tercerización.
  • Facilidad para la integración de tecnologías disímiles.
  • Mejora en la toma de decisiones: la organización dispone de mayor información y más actualizada, lo que le permite una respuesta rápida y eficaz cuando surgen problemas o cambios.

miércoles, 11 de mayo de 2016

Automatización de procesos


Automatización de procesos


La empresa contemporánea está en plena guerra por la supervivencia y el beneficio. El objetivo a conseguir es la mejora de productividad y la optimización de los costes. Uno de los caminos en la mejora de ambos factores es la automatización de los procesos.


La automatización de los procesos es la sustitución de tareas tradicionalmente manuales por las mismas realizadas de manera automática por máquinas, robots o cualquier otro tipo de automatismo. La automatización tiene ventajas muy evidentes en los procesos industriales. Se mejora en costes, en servicio y en calidad. El trabajo es más rápido y no necesita de una cantidad determinada de operarios, que antes eran necesarios. Además se producen menos problemas de calidad por realizarse el trabajo de una manera más uniforme debido a las especificaciones dadas al automatismo. Otras ventajas se obtienen de la automatización son el aumento de producción, menor gasto energético, mayor seguridad para los trabajadores.

Etapas de al automatización

  1. Análisis de procesos 
  2. Búsqueda de soluciones 
  3. Estudiar los costos de inversión 
  4. Implementación o instalación 
  5. Formar al personal
  6. Comprobación 

1. Análisis de procesos

Se trata de estudiar el proceso completo y buscar puntos de mejora (preferiblemente en el cuello de botella)

2. Búsqueda de soluciones 

Hay que buscar elementos sustitutivos para la situación actual: robótica industrial, maquinaria, PLC's, diferentes tipos de automatismos.

3. Estudiar los costos de inversión 

Hay que ver cual de las soluciones nos aporta un retorno de la inversión más rápido, la solución más amortizable, estudiar los costes de los posibles despidos. El beneficio económico y social debe ser mayor que el coste de operación y mantenimiento.

4. Instalación

Una vez elegida la solución hay que asegurar su correcta instalación y puesta a punto. Este proceso es delicado porque de él depende en gran medida un resultado óptimo del desarrollo.

5. Formar al personal en la mejora

Es posible que haya pequeñas reparaciones, rearmes, cambios de herramientas, etc que pueda realizar un operario. Para ello tendrá que estar formado en la tecnología implementada.

6. Comprobación

Una vez está el automatismo en marcha debemos comprobar que funciona como deseamos. Lo normal es que la empresa que nos lo vende nos ofrezca un periodo de tiempo para dar marcha atrás sin coste o con costes muy bajos.


Ejercicios Propuestos

Ejercicio 1 (10 minutos), diagramar proceso en un BPMN

Para RENOVAR su Licencia de Conducir debe presentar:
  • Licencia de conducir a renovar.
  • Recibo de pago por el monto correspondiente a los años que desee agregar a su Licencia, este pago lo puede realizar en cualquier agencia del Banco Industrial.
  • Estar libre de multas.
  • Examen de la vista emitido por una Clínica Óptica u Oftalmólogo profesional colegiado activo, que cumpla con los requisitos establecidos por el Departamento de Tránsito de la Policía.
  • Factura original del examen de la vista.

Ejercicio 2 (20 minutos)

Realizar una mejora y automatización del proceso

Proceso:

Primero, ingresa una solicitud de crédito por correo y ésta es derivada a un ejecutivo de negocio en el banco. El ejecutivo revisa la solicitud en forma visual; luego ingresa algunos datos del solicitante en un sistema de análisis de riesgo. Si el índice de riesgo es positivo o aceptable, ingresa la información de la solicitud en un sistema de crédito financiero y posteriormente envía ésta ya evaluada a su superior para que la apruebe.

Alternativa de solución:

La automatización de este proceso podría resultar de la siguiente forma: tras el arribo de la solicitud de crédito por correo, se digitaliza y vía un programa de OCR (Optical Character Recognition) se extraen ciertas variables del formulario y se ingresan a un sistema de evaluación de crédito. Luego se crea un documento electrónico que gatilla la generación de una orden de trabajo en el Process Engine (sistema de automatización del flujo de control), la que es depositada en la bandeja de entrada de actividades nuevas del ejecutivo correspondiente. Este la selecciona de la lista y visualiza la solicitud de crédito en el Process Engine, la revisa formalmente y luego el Process Engine, por medio de un servicio web, invoca el sistema de análisis de riesgo enviándole la información correspondiente. Si el resultado del análisis es positivo, el Process Engine deriva automáticamente la solicitud de aprobación a su superior, ingresando los datos en el sistema de crédito financiero por medio de un servicio web y depositándola en la bandeja de entrada de éste para su debida aprobación.