lunes, 21 de enero de 2013

Inteligencia de Negocio

En esta entrada aprenderémos qué es la inteligencia de negocio, a que nos referimos con Data Warehouse, y OLAP y cómo se relacionan.

   Comenzaremos por definir la Inteligencia de Negocio o Business Intelligence (BI), es el conjunto de técnicas informáticas que se utilizan para la detección, extracción y análisis de datos empresariales. 
   Gracias a estas tecnologías podemos observar un punto de vista actual que permite predecir sobre las operaciones empresariales; todo esto mediante procesos analíticos en línea, presentación de informes, gestión del rendimiento empresarial, entre otros.


Hay que tener dos conceptos bien claros:

    -Almacén de datos o Data Warehouse es un repositorio de información que proviene de varias fuentes que es almacenada bajo un esquema unificado, el cual está organizado según la fecha, la zona y el producto, y el cual se encuentra en un solo lugar. Esto hace más simple las consultas y el estudio de tendencias históricas, y las consultas de ayuda ahora estarán fuera del sistema de procesamiento de transacciones.

El esquema de Data Warehouse divide a los datos en marts de datos porque así el almacén de datos es más pequeño y más centrado, es aquí donde se suelen reflejar las reglas comerciales de una unidad específica dentro de una empresa. 

En resumen, el almacen de datos puede extraer, transformar, cargar y actualizar la información en la base de datos operacional.

    -Un Proceso Analítico en Línea (OLAP) es una propuesta que trata de responder rápidamente consultas analíticas multidimensionales. La OLAP como dijimos anteriormente es parte de la Inteligencia de Negocio. Mediante el OLAP se pueden realizar informes empresariales sobre ventas, marketing, informes de administración, gestión de procesos empresariales (BPM), entre otros.

Para este esquema las bases de datos utilizan un modelo multidimensional, que permite  consultas analíticas rápidas, complejas y específicas. El resultado de una consulta comúnmente se muestra en un formato de matriz cuyos tamaños de filas y columnas vienen dados por sus dimensiones.

Ay varios tipos de sistemas OLAP, los más importantes son: OLAP Relacionales (ROLAP) que permiten la representación relacional tradicional, y los OLAP Multidimensional (MOLAP) que implementan la estructura en cubo.

-Estructura de un sistema OLAP:
    Los datos se almacenan en BD operacionales (o en otras fuentes), luego se vuelcan en un Data Warehouse  para ser analizados, posteriormente llegan al servidor OLAP quien proporciona una interfaz para que los diferentes usuarios puedan extraer datos, analizar, consultar y realizar informes para la toma de decisiones.

Entre las operaciones de OLAP destacan el Corte del cubo, que ofrece una vista de los datos en dos dimensiones; y la Profundidad, pasa del resumen a vista con más detalle.
  
Cabe acotar que un cubo OLAP es una BD especial que permite presentar informes de forma óptima, son eficaces en la recuperación de datos, por ello la presentación de informes se caracteriza por ser fácil y eficiente.



"Ser un individuo extraordinario se logra a través de 
acción con propósito y aprendizaje continuo".

 (Jorge González Moore)

 

miércoles, 21 de noviembre de 2012

Proceso Ejecutable

En esta entrada desarrollaremos un diagrama BPMN en el programa Intalio Designer, es decir, crearemos un proceso ejecutable en este caso basándonos en el siguiente planteamiento:

"Un empleado envía una información para ser revisada. A un gerente se le envía la información 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 información para su corrección. El empleado procede a realizar los cambios y a enviar la información de vuelta. Luego se envía una notificación al gerente y el proceso culmina."

 Para comenzar debemos abrir la herramienta "Intalio Designer", aparecerá la siguiente ventana donde seleccionamos la ruta donde se guardará el diagrama y los formularios. Y posteriormente como no estamos registrados, le damos a later y se abrirá la interfaz.



Lo primero que debemos hacer en la interfaz es crear un Proceso y le colocamos un nombre:



Luego, creamos el diagrama del proceso y le definimos un nombre:



 Nos aparece el diagrama con un pool por defecto, aquí modificamos el pool ya existente y creamos los otros pool necesarios para modelar el proceso, para ello nos apoyamos de la herramienta "Pallete" que sale en la parte izquierda de la interfaz, donde están todos los elementos de representación de BPMN.
 Comenzaremos haciendo el pool del Proceso:
 

  Ahora tenemos que cambiar de perspectiva a "Intalio Designer Form Editor" para realizar los formularios:


 Y creamos un nuevo formulario, le modificamos el nombre:



Se abrirá la siguiente pestaña en donde podemos apreciar la herramienta "Workflow Form Editor Palette", donde se encuentran los elementos para hacer los formularios de acuerdo a lo que se necesite:


Para agregar los elementos debemos arrastrarlos hasta el área cuadriculada, y en la pestaña "Property" debemos modificar el nombre del elemento en "Control Label", seleccionar el tipo de dato que será en "Input/Output", si es de solo lectura poner "true()" en "Read-only", modificar el tipo de dato que es en "Schema Type", entre otras opciones.

   En este ejemplo, necesitaremos 5 formularios:

 El primero "EnviaSolicitud" tendrá: un Asunto (Text Input), una Justificación (Text Area), un Monto  (Text Input, de Schema Type double).

El segundo "EnvioRecepcionDeInformacionAGerente" tendrá: un Asunto (Text Input), una Justificación (Text Area), un Monto  (Text Input, de Schema Type double), un Empleado (Text Input), una Fecha Solicitud  (Text Input, de Schema Type date), un Aprobado (Check Box, donde su valor será 1 si es aprobado) y unos Comentarios (Text Area).



 En el tercero "NotificacionDeAprobacion" tendrá: un Label que indicará que la solicitud ha sido aprobada.


En el cuarto formulario "SolicitudDeCorrecion" se tendrá: un Gerente (Text Input), una Fecha de Revision (Text Input, de Schema Type date), unos Comentarios (Text Area), un Asunto (Text Input), una Justificacion (Text Area), un Monto (Text Input).


Y en el quinto formulario "RecibeNotificacionDeCorrecion" se tendrá: un Label que indicará al Gerente que el Empleado ha corregido la solicitud.


 Ahora que ya hemos terminado de crear los formularios, nos cambiamos de perspectiva a "Intalio Designer" para agregarlos a nuestro diagrama, y debemos elegir en cada caso a que tipo pertenecen, si son de InitProcess, de Create and Complite, de Notify o Escalate:

 
 Hacemos eso en cada caso y obtenemos el siguiente diagrama final:


Ahora tenemos que hacer el Mapeo, en este ejemplo se necesita en el GateGay, lo seleccionamos y abajo en la pestaña Mapper ubicamos en la columna izquierda buscamos a  "EnvioRecepcionDeInformacionAGerenteNotifyTaskCompletionRequestMsg", luego TaskOutput, en output buscamos "Aprobado", en la columna central agregamos la condicion de que sea igual a 1 y si esta se cumple la relacionamos con el condition de la columna izquierda:


 Luego debemos seleccionar el pool de Empleado y en la pestaña Properties en Workflow agregarle el rol: examples\msmith. Y análogamente en el pool Gerente pero con examples\ewilliams.




Ahora debemos abrir el servidor hasta que muestre que el servidor Catalina está levantado:



Ahora sin cerrar esta consola, debemos en Intalio hacer el Deploy del proceso y esperar a que muestre un mensaje que se ha realizado correctamente.



Finalmente debemos abrir en el explorador esta direccion del localhost y comprobar en la consola que esta el proceso subido, ingresando con el usuario "admin" y la clave "changeit":



Desde aquí podemos verificar el diagrama del proceso:

 

Ahora debemos ingresamos a localhost como el usuario "examples\msmith" y clave "password", ahi debe aparecer nuestro programa como si fueramos un Empleado, y si luego entramos con el el usuario "examples\ewilliams" y clave "password" nos debería salir el programa como si fueramos un Gerente. El programa se ejecuta por pestañas es decir comienza en la pestaña Processes y luego dependiendo si se genera un Create and Compleate se ira a la pestaña Tasks o si es un Notify a la pestaña Notifications.

En mi caso aunque no me sale ningún error, y el Deploy se realiza correctamente, cuando abro con cualquiera de estos usuarios (admin, msmith o ewilliams) no me aparece ningun proceso:



  
 
 =S cuando sepa por qué ocurre eso en mi pc les aviso!! 

Hay ciertas cosas que para hacerlas bien no basta haberlas aprendido. 
(Lucio Anneo Séneca)