sábado, 4 de enero de 2014

Un buen link...

¡Hola a todos! espero que estén muy bien...

Actualmente me encuentro cursando una materia llamada Almacén de Datos (Datawarehouse), y mientras buscaba información en Internet, encontré una página muy buena que habla sobre muchas cosas relacionadas con Inteligencia de Negocios, por lo que me pareció útil compartirla aquí con todos ustedes.

Les dejo el link para que le echen una ojeada:


¡Hasta luego!

Viviana Pérez.

miércoles, 20 de junio de 2012

Inteligencia de Negocios

¡Hola amigos!

Los puntos que voy a tratar en este post son:
- Sistemas de información para el apoyo a la toma de decisiones
- Sistemas de información para ejecutivos
- Sistemas OLAP
- Inteligencia de negocios
- Modelo conceptual de la inteligencia de negocios
- Modelo Estrella vs. Modelo 3FN

   En los primeros post que publiqué en mi blog, expliqué que los Sistemas de Información se podían dividir en dos perspectivas diferentes, y una de ellas era la perspectiva del nivel de apoyo a la administración, que se representa con la siguiente pirámide:



   De ésta pirámide, me enfoqué las últimas semanas en los Sistemas de Procesamiento de Transacciones (TPS) y en los Sistemas de Información Gerencial (MIS), donde trabajé con los sistemas ERP, CRM, SCM y BPM.

   A pesar de que los TPS son muy importantes para una empresa, porque manejan todos los datos de la misma, con ellos no se puede realizar análisis de datos, ni se puede generar conocimiento, y aunque los MIS generan reportes periódicamente, éstos no son suficientes para ayudar a la toma de decisiones de una empresa, ya que dichos reportes son estandarizados y estructurados con información estática, y no permiten profundizar en los datos, navegar entre ellos, manejarlos desde distintas perspectivas, etc.

   Para ayudar a la toma de decisiones de una empresa, surgen los Sistemas de Información más altos de esta pirámide: Los Sistemas de Apoyo a la Toma de Decisiones (DSS) y los Sistemas de Información para Ejecutivos (EIS), que permiten obtener información, realizar análisis y extrapolar conocimiento de los datos almacenados diariamente, en las bases de datos de la empresa.

Sistemas de Información para el Apoyo a la Toma de Decisiones (DSS)

   Un DSS es un sistema que se enfoca en el análisis de los datos de una empresa. Estos sistemas explotan al máximo la información guardada en una base de datos corporativa (DataWarehouse), mostrando reportes muy dinámicos y con gran potencial de navegación.

   Los DSS suelen requerir un motor OLAP, que facilite el análisis casi ilimitado de los datos para hallar las causas de los problemas de la empresa.

Sistemas de Información para Ejecutivos (EIS)

   Un EIS es un sistema basado en un DSS, que provee a los gerentes y ejecutivos un acceso sencillo a la información interna y externa de la empresa, y que es relevante para sus factores críticos de éxito.

   Los factores críticos de éxito son el conjunto de variables de una organización que es necesario monitorear y dar seguimiento para asegurar el éxito de la empresa. 

   Los EIS se caracterizan por ofrecer al ejecutivo un acceso rápido y efectivo a la información compartida de la empresa, utilizando interfaces gráficas visuales e intuitivas, que suelen incluir informes fáciles de leer, gráficos de barras, tortas, semáforos, etc., que le permiten analizar que Indicadores Claves de Desempeño (KPIs) están cumpliendo o no las expectativas de la empresa, y así determinar un plan estratégico.


  Para que un EIS sea exitoso debe cumplir con los siguientes factores:
   - Que se vea bien: que sea muy gráfico.
   - Que sea relevante: que acceda a los datos más importantes de la empresa.
   - Que sea rápido: que los tiempos de respuesta sean cortos.
   - Que la información este siempre disponible y actualizada.



Sistemas OLAP 


   Los sistemas que se encargan de las transacciones diarias de una empresa, utilizan los sistemas de Procesamiento de Transacciones En Línea (OLTP), los cuales hacen énfasis en mantener la integridad de los datos y registrar eficazmente todas las transacciones que se realizan diariamente. Las bases de datos de un OLTP se caracterizan por tener un esquema entidad-relación modelado en 3FN.

   Por otro lado, los sistemas que se encargan del análisis de los datos, utilizan los sistemas de Procesamiento Analítico En Línea (OLAP), que se enfocan en las bases de datos corporativas, también conocidas como DataWarehouse.

  El DataWarehouse es un almacén de datos transformados y separados físicamente de una o varias fuentes distintas, por lo general, esas fuentes son las bases de datos OLTP. La ventaja principal de un DataWarehouse, radica en la estructura multidimensional en la que se almacenan los datos.


  El objetivo fundamental de un sistema OLAP, es permitir el análisis de datos, por lo que deben proveer funciones de consulta analítica y de apoyo a la toma de decisiones.

OLAP fue creado bajo las siguientes ideas:

- Estructura multidimensional: hacer sencilla la selección y navegación de los datos. 

- Lograr rapidez de respuesta: entregar la información a los usuarios finales en el menor tiempo posible.

- Posibilitar el análisis: ofrecer análisis numérico y estadístico de los datos.

- Compartir datos: incluye mecanismos de seguridad para compartir información entre diferentes usuarios.

- Recuperar información: acceder a los datos y recuperar información valiosa (solo lectura) para las diferentes aplicaciones clientes.

OLTP vs OLAP

 Los sistemas OLTP se encargan de procesar óptimamente multitud de pequeñas transacciones de captura de información (su entrada, modificación o eliminación), y los sistemas OLAP se dedican al análisis de enormes cantidades de información.

   A continuación un cuadro comparativo entre los sistemas OLTP y OLAP:


Inteligencia de Negocios - Business Intelligence (BI)

   La inteligencia de negocios integra distintas estrategias y herramientas enfocadas a la administración y creación de conocimiento, mediante el análisis de datos existentes en una empresa. Su objetivo es ayudar a las empresas a tomar mejores decisiones y a conseguir un mejor control de la misma.

Incluye:
- Procesos de Transformación de Datos e Interfaces con otros sistemas
- Consultas y reportes
- Procesos Analíticos En Línea (OLAP)
- Análisis estadístico
- Proyecciones
- Minería de datos

Beneficios: 
- Permite tomar decisiones rápidas y seguras
- Ahorra informes complejos y trabajosos de hacer
- Permite analizar información rápidamente

La plataforma de inteligencia de negocios que utilizaremos en esta parte del curso, será:


   Pentaho es un conjunto de programas libres para generar inteligencia empresarial (BI) e incluye herramientas integradas para generar informes, minería de datos, ETL, etc.

Modelo conceptual de inteligencia de negocios

OLTP - Procesamiento de Transacciones En Línea
   Son las distintas fuentes de origen de donde se extraerán, transformarán y cargaran los datos que contendrá la fuente destino DataWarehouse.

ETL - Extracción, Transformación y Carga

    Para la obtención, depuración, preparación y carga de datos, se utiliza un sistema ETL:

   Extracción: este es el primer paso para obtener la información que será cargada en el DataWarehouse.

  Transformación: una vez que la información es extraída, hay posibles paso de transformación como: limpiar la información, seleccionar únicamente los campos necesarios para el DataWarehouse, combinar fuentes de datos, etc.

  Carga: al final del proceso de transformación, los datos están en forma para ser cargados.

ODS - Almacén de Datos Operacional
   Es un sistema que recopila la información existente en los sistemas operacionales.

Staging - Área de trabajo para ETL
  Es un área temporal donde se recogen los datos que se necesitan de los sistemas operacionales. Se recogen los datos estrictamente necesarios para las cargas, y se aplica el mínimo de transformaciones a los mismos.

DataWarehouse - Base de datos corporativa
   Es donde se almacenan los datos ya transformados y separados físicamente de los distintas fuentes de origen.

OLAP Server - Procesamiento Analítico En Línea
   Cálculos analíticos agregados (datos precalculados), sumarizados.
   Masivamente desnormalizada.

OLAP Client - Visualizador de Data
   Tablas pivote, navegación, charts, drilling.
   Genera consultas, muestra los resultados.
   Intercambia metadata con el servidor OLAP.

Modelo Estrella vs. Modelo 3FN

 Como expliqué anteriormente, el DateWarehouse tiene una estructura multidimensional en la que se almacenan los datos. Existen tres tipos de modelamientos posibles para este tipo de estructura, que permiten realizar consultas de soporte de decisión: Modelo Estrella, Modelo Copo de Nieve y Modelo Constelación. En este post explicaré únicamente el Modelo Estrella y sus diferencias con el Modelo 3FN.

   El Modelo Estrella está formado por una tabla central de hechos, la cual está rodeada por varias tablas dimensiones y juntas forman una estructura que permite implementar mecanismos básicos para poder utilizarla con una herramienta de consultas OLAP.


    La tabla de hechos contiene datos de tipo numéricos medibles. Son datos cuantitativos. Ejemplo: Ventas promedio en bolívares.
   
   Las tablas dimensiones contienen el detalle de los valores que se encuentran asociados a la tabla de hechos. Son datos cualitativos. Ejemplo: Dimensión Tiempo, Dimensión Clientes, Dimensión Productos, etc.

Características del Modelo Estrella:
- Enfocado a la consulta, brindando respuestas rápidas.
- Fácil de entender por los usuarios.
- Está formado por una tabla de hechos y varias tablas dimensión.
- Altamente desnormalizado.
- Varios niveles de datos precalculados.


  Por otro lado, los sistemas operacionales se sustentan en el Modelo 3FN, en donde se dividen los datos en entidades y representan como tablas en la BD, se asegura la integridad de los datos, se evita la redundancia y la duplicidad.

Características del Modelo 3FN:
- Enfocado a las actualizaciones y eliminar redundancia.
- Altamente normalizado.
- Pocos datos precalculados.
- Se tienen muchos caminos para ir de una tabla a otra.


   Antes de finalizar este post, quiero recomendarles el siguiente link, donde podrán encontrar más información sobre el tema de inteligencia de negocios.

¡Hasta pronto amigos!


Viviana Pérez.

Aviso: La información recopilada en este blog sólo debe utilizarse con fines orientativos.


Bibliografía:
- Laminas y anotaciones de la clase.

lunes, 28 de mayo de 2012

Tercera Forma Normal

¡Hola amigos!

   Hoy quiero hablar muy brevemente sobre las "Bases de datos en 3FN"

   Las bases de datos que hemos venido manejando durante todo este tiempo, se encuentran normalizadas en tercera forma normal, ya que aseguran la integridad de los datos, evitan la redundancia y la duplicidad.

  La tercera forma normal (3NF) está basada en el concepto de dependencia funcional transitiva, es decir, que ningún atributo de una tabla dependa transitivamente de una llave principal. Además, debe cumplirse que los atributos de una tabla dependan en forma total de una llave principal (2NF) y que dichos atributos contengan valores atómicos (1FN).

Ejemplo:
   Sea la relación/tabla R(codigo_alumno, nombre, curso, aula), con las siguientes dependencias funcionales:

codigo_alumno ->nombre, curso
curso ->aula


   Podemos que ver que dicha relación se encuentra en 2NF pero no en 3NF, ya que existe una dependencia funcional transitiva (codigo_alumno->curso->aula). Para solucionar este problema, se crean dos nuevas relaciones:

R1(curso, aula)
R2(codigo_alumno, nombre, curso)

   Estas dos relaciones se encuentran en 3FN y se conservan las dependencias funcionales de la relación original R, pues en R2 se mantiene codigo_alumno ->nombre, y con la unión de las dependencias de R2 codigo_alumno ->curso y R1 curso ->aula se mantienen la dependencia codigo_alumno ->curso ->aula

Así quedan las tablas normalizadas:


Hasta aquí el post de hoy amigos, hasta pronto.

Viviana Pérez.

Aviso: La información recopilada en este blog sólo debe utilizarse con fines orientativos.


Bibliografía:
- Página web: http://todosobredatos2.blogspot.com/2011/09/explicacion-de-la-3fn-ejemplos.html

martes, 24 de abril de 2012

BPMS: del diseño (BPMN) a la ejecución (BPEL)

¡Hola amigos!

  Quiero empezar este post enseñándoles las maneras en que se puede modelar un proceso de negocio (mal modelado y bien modelado). Luego les hablaré un poco de BPEL (Lenguaje de Ejecución de Procesos de Negocio), y finalizaré con Formularios.

Nota: Amplía las imágenes que se presentan a continuación para apreciar con más detalle cada diagrama.

EJERCICIO

  Un empleado envía una solicitud para pedir un adelanto de dinero, la cual debe ser revisada. A un gerente se le envía la solicitud del empleado para su revisión, quien tiene la potestad de aprobarla o rechazarla. 
  Si se aprueba, el empleado recibe una notificación y el proceso culmina. De lo contrario al empleado se le envía la solicitud para su corrección. El empleado procede a realizar los cambios y a enviar la solicitud nuevamente. Luego se envía una notificación al gerente y el proceso culmina.

Proceso modelado de manera sencilla:

Ejemplo #1
Proceso modelado correctamente:

  En este caso, añadí eventos de tipo inicio, intermedios y de fin, además cerré todas las decisiones abiertas, y el proceso es mucho más legible que el anterior.

Ejemplo #2
 ¿Modelar bien o modelar mal?

  No es necesario que un modelo de proceso de negocio esté completamente bien modelado para poder ejecutarlo, puede ser un boceto sencillo, como el ejemplo #1, donde sólo se utilicen tareas y decisiones. Más adelante, cuando se ejecute el proceso y se confirme que funciona de la manera esperada, se puede terminar de modelar correctamente, utilizando eventos, artefactos, etc., como en el ejemplo #2.

  Modelar correctamente un proceso de negocio permite que éste se entienda mejor y sea mucho más legible.

BPEL . . .

 En Intalio se utiliza BPMN para modelar los procesos de negocio y BPEL para ejecutarlos. Para ser más especifica, en Intalio|Designer se modela con BPMN y al guardar el modelo del proceso de negocio, se genera automáticamente un código BPEL, el cual es ejecutado por Intalio|Server.

Lo modelado en pools ejecutables, genera código BPEL.
Lo modelado en pools no ejecutables, no genera código BPEL. 


¡FORMULARIOS!

  Muchas veces los eventos o las tareas de un proceso de negocio se basan en solicitudes y notificaciones, y es necesario crear un formulario para cada unas de ellas. Intalio provee un editor gráfico para hacer éstos formularios.

  Los formularios permiten al proceso interactuar con humanos, pueden ser de tipo: INIT, CREATE -COMPLETE y NOTIFY.

INIT: El humano es el que da inicio a una nueva instancia de proceso.
CREATE-COMPLETE: El proceso le envía información al humano para que la complete, y luego el humano envía de vuelta la información completada al proceso.
NOTIFY: El proceso le envía información al humano y no se es necesario completar nada, simplemente es lectura.

  Si estás interesado en aprender como crear formularios, definir roles, mapear datos, y finalmente ejecutar un proceso, te invito a que veas al siguiente tutorial que realicé con mucho cariño, llamado "¿Cómo crear formularios con Intalio?.

Nota: El tutorial lo realicé con base al ejercicio que se encuentra al comienzo de este post.


  Bueno amigos, hasta aquí el post de hoy, espero que les haya gustado el tutorial. No olviden que pueden escribirme si tienen alguna duda, opinión o sugerencia. ¡Hasta luego!

Viviana Pérez.

Aviso: La información recopilada en este blog sólo debe utilizarse con fines orientativos.

¡Otro ejercicio de modelado BPMN en Intalio Designer!

¡Hola a todos!

Hoy quiero comenzar este post con la siguiente frase:

“Fent i desfent es fa l'aprenent”
(Haciendo y deshaciendo se hace el aprendiz)

   El motivo de esta frase, es incitar a todos ustedes, mis lectores, para que practiquen y hagan ejercicios de modelos de procesos de negocios. Ya que si realmente desean aprender a modelar con BPMN en Intalio Designer, la mejor manera es practicar, practicar y practicar.


Nota: Amplía las imágenes que se presentan a continuación para apreciar con más detalle cada diagrama.

EJERCICIO

1. Un proceso cliente envía una petición para que se realice una solicitud y aprobación de fondos.
2. Se solicita y recibe la información de la solicitud de un empleado.
3. Se solicita y recibe la aprobación de la solicitud de un gerente.


  Comencé el diagrama del proceso, con un sólo participante de tipo ejecutable, llamado "Proceso de aprobación de fondos", y utilicé sólo tareas para describir los pasos 1, 2 y 3.
4. Si la solicitud del empleado es rechazada se vuelve al paso #2.
5. Si se aprueba la solicitud, se solicita y recibe información contable al director del área.


  Para describir los pasos 4 y 5, hice uso de una decisión exclusiva, ya que con ella se puede determinar cual camino escoger si la solicitud del empleado es aprobada o rechazada. Si la solicitud es aprobada se puede continuar con las tareas de solicitar y recibir información contable del director del área, pero si es rechazada, se debe volver al paso #2. Para poder volver coloqué en un sub-proceso con una marca "ciclo", todas las actividades descritas a partir del paso #2.
6. Se solicita y recibe la revisión del departamento de finanzas.
    Este departamento puede:
     a. Aprobar.
     b. Rechazar basados en la información de la solicitud del empleado.
   c. Rechazar basados en la información contable proporcionada por el director.
7. Si el departamento de finanzas rechazó basado en la solicitud del empleado, se debe volver al paso #2.
8. Si el departamento de finanza rechazó basado en la información contable, se debe volver al paso #5.
9. Si el departamento de finanzas aprobó, el proceso finaliza enviando un mensaje al proceso cliente.


   Para describir los pasos 6, 7, 8 y 9 hice uso de dos decisiones exclusivas después de solicitar y recibir la revisión del departamento de finanzas. Si el departamento de finanzas aprueba la revisión, el proceso finaliza enviando un mensaje al cliente, de lo contrario, si rechaza, se debe verificar la razón del rechazo. Si el rechazo es por solicitud del empleado, se debe volver al sub-proceso que comienza con el paso #2. Si el rechazo es por información contable, se debe volver al paso #5. Para poder volver, coloqué en un sub-proceso con una marca "ciclo", todas las actividades descritas a partir del paso #5.

  Para finalizar el ejercicio, cambié algunas tareas por eventos.

Recomendación: Puedes terminar mucho mejor el ejercicio, agregando a los participantes "Cliente", "Empleado", "Gerente", "Director" y "Departamento de Finanzas" que son de tipo no ejecutables, y los flujos de mensajes.

¡Hasta luego amigos!

Viviana Pérez.

Aviso: La información recopilada en este blog sólo debe utilizarse con fines orientativos.

sábado, 21 de abril de 2012

Modelando BPMN en Intalio Designer

¡Hola a todos!

  Ahora que ya les he hablado de BPMN y de los elementos básicos que componen esta notación, ha llegado el momento de modelar algunos procesos. Para realizar los siguientes tres ejercicios, es necesario tener instalado el programa Intalio Designer. Si aún no lo has instalado, revisa mi post anterior: "¡Intalio! Tu también puedes instalarlo".

   Para comenzar a modelar procesos, abre el programa de Intalio Designer y sigue estos sencillos pasos:

Paso 1
Crea un nuevo proyecto de procesos de negocio.
Paso 2
Ponle un nombre al proyecto.
Paso 3
Crea un nuevo diagrama de procesos de negocio.
Paso 4
Ponle un nombre al diagrama.
Paso 5
Dirígete a la paleta que contiene todos los elementos para modelar diagramas de procesos de negocio. Listo, ¡A crear!


Recomendación: Si quieres ver con más detalle como se utiliza la paleta de Intalio para modelar diagramas de procesos de negocio, revisa el siguiente flash.

Nota: Amplía las imágenes que se presentan a continuación para apreciar con más detalle cada diagrama.


EJERCICIO #1

El siguiente ejercicio es para familiarizarnos un poco con la notación BPMN:
• Cree 6 tareas que se ejecuten secuencialmente, nómbrelas de la ‘A’ a la ‘F’.
• La tarea B, realmente es un subproceso, compuesto de dos tareas B1 y B2, las cuales se ejecutan secuencialmente en el orden respectivo.
• La tarea C y el subproceso B se ejecutan paralelamente.
• Bajo ciertas condiciones no se ejecuta C.
• En circunstancias aún más especiales, en vez de ejecutarse C se debe detener el proceso completo, incluso las actividades del subproceso B.
• Antes de ejecutar la tarea E se debe esperar un tiempo.
• La tarea A es realmente la recepción inicial de un mensaje de un participante llamado ‘cajero’ y la tarea F es realmente un evento de fin vacio.
• La tarea E es realmente un envío de mensaje a un participante llamado ‘cliente’.
  Este primer ejercicio básico, permite hacer uso de varios elementos importantes de BPMN, como son: participantes, carriles, tareas, sub-procesos, decisiones, eventos de tipo inicio, intermedios y fin, flujos de secuencia y flujos de mensajes. 

  Algunos de los tips claves que se pueden apreciar en este primer ejercicio y que se pueden utilizar en otros ejercicios son:

1) Al comenzar el diagrama de un proceso, se coloca un sólo participante, que será de tipo ejecutable, y  su carril sólo tendrá actividades, decisiones y flujos de secuencia.
2) Luego, varias de esas actividades pueden cambiar a eventos (inicio, intermedio, fin), y además se pueden agregar nuevos participantes de tipo no ejecutables y flujos de mensaje.
3) Los flujos de mensaje sólo pueden intercambiarse entre el participante ejecutable y los no ejecutables.
4) Los participantes no ejecutables, no intercambian flujos de mensaje entre ellos.
5) Como buena práctica, al usar una decisión exclusiva, se coloca alguna de las respuestas como flujo por defecto.
6) Los eventos de color negro: envían. 
7) Los eventos de color blanco: reciben.

EJERCICIO #2

   Después de un incendio, por un lado se necesita obtener información de nuestra compañía de seguro. Por otro lado, es posible que necesitemos información adicional del departamento de bomberos, pero solo si los bomberos participaron durante el apagado del incendio. Cuando se tenga toda la información, se necesita escribir un informe consolidado. 

Así queda el segundo ejercicio:
  La obtención de información del incendio debe realizarse de forma paralela, por eso utilicé la decisión paralela justo después del evento de inicio del proceso. Los participantes no ejecutables en este ejercicio, son la compañía de seguro y el departamento de bomberos.

EJERCICIO #3


   Nuestros productos están listos para ser enviados. Para determinar qué compañía de envío utilizar, enviamos 3 mensajes separados a cada una pidiéndole que despachen nuestros productos. La primera compañía que responda que puede hacer el envió es la escogida.

Así queda el tercer ejercicio: 

  De este último ejercicio, quiero destacar que hice uso de una decisión basada en un evento intermedio de carrera, para seleccionar a la primera compañía que responda el mensaje que le fue enviado. Dicha decisión basada en un evento, la cerré con una decisión exclusiva, ya que sólo una compañía es escogida al terminar la carrera.

Próximamente más ejercicios de BPMN.
¡Hasta luego amigos!

Viviana Pérez.

Aviso: La información recopilada en este blog sólo debe utilizarse con fines orientativos.

Bibliografía:
- Ejercicios realizados en la clase y en el laboratorio.

martes, 17 de abril de 2012

¡Intalio! Tu también puedes instalarlo

¡Hola a todos!

Los puntos que voy a tratar en este post son:
- ¿Qué es Intalio?
- ¿Cómo instalé Intalio?


  En el post anterior les hablé sobre BPM, BPMS y BPMN, ahora que ya tenemos varios conceptos claros, me parece oportuno hablarles de la herramienta Intalio.

Intalio

  "Intalio es un software Open Source, que implementa BPMS, y esta basado en un conjunto de frameworks y arquitecturas muy conocidas en la industria del software y con una madurez aceptable. Intalio utiliza la notación para diseñar procesos de negoci0 establecida por el BPMN que puede adaptarse a los requisitos de la arquitectura orientada servicio (SOA)".

Instalación de Intalio

   La instalación de Intalio fue mucho más aceptable que la instalación de Adempiere, me pareció más sencilla y rápida, aunque igual me tropecé con algunos obstáculos en el camino, los cuales pude superar leyendo foros en Internet y manteniendo la calma.

   Quiero compartir con ustedes nuevamente un tutorial que realicé, llamado: ¿Cómo instalé Intalio?, espero que les sea de utilidad y les guste. Presten atención a las notas que se encuentran dentro de un recuadro color morado, ¡son importantes!


Mapa mental del tema de hoy:




Hasta un próximo post amigos.
Cualquier duda, opinión o sugerencia pueden dejármela saber en un comentario.
 :)

Viviana Pérez.

"Siempre mira el lado positivo de lo negativo"

Aviso: La información recopilada en este blog sólo debe utilizarse con fines orientativos.