viernes, 1 de junio de 2012

INTELIGENCIA DE NEGOCIO

Estudiando la definición de inteligencia de negocio se encuentra que se refiere al conjunto de herramientas y estrategias enfocadas a la administración y creación de conocimiento mediante el análisis de datos existentes en una organización o empresa, la cual se basa en aplicaciones, tecnologías y procesos de recolección, almacenamiento y presentación de los datos, permitiendo su transformación en información para ayudar a los usuarios a tomar mejores decisiones.

Entre éstas herramientas se encuentran los sistemas de informacion ejecutiva (EIS por sus siglas en ingles Executive information systemorientados a usuarios de nivel gerencial, que permite monitorear el estado de las variables de un área o unidad de la empresa a partir de información interna y externa a la misma. Una de las características más importantes de un EIS es que permite a usuarios con perfil no técnico construir nuevos informes y navegar por los datos de la compañía, con el objetivo de descubrir información que les resulte relevante.

Características de inteligencia de negocio

Rapidez: los datos son "empujados" o fácilmente accedidos. Existencia de data correcta, en el momento correcto, en el lugar apropiado y en el formato necesitado.

Integradora: incorporación de datos de una gran variedad de fuentes, sistemas y aplicaciones. Provisión de una vista holística.

Precisa: decisiones basadas en datos precisos, es decir, realidades + intuición + experiencia = preciso.

On-Line Analytic Processing (OLAP)

En inteligencia de negocio surge la estrategia de procesamiento analítico en linea (OLAP por sus siglas en ingles) como enfoque para proveer rápidamente respuestas a consultas analíticas que son de naturaleza multidimensional, es decir, agilizar la consulta de grandes cantidades de datos mediante cubos OLAP que contienen datos resumidos de grandes bases de datos o sistemas transaccionales (OLTP).

OLAP se basa en el concepto de sistema de soporte a decisiones (DSS por sus siglas en ingles: decision support system) el cual es un sistema informático utilizado para servir de apoyo, más que automatizar, en el proceso de toma de decisiones. El apoyo a una decisión significa ayudar a las personas que trabajan solas o en grupo a reunir inteligencia, generar alternativas y tomar decisiones a través de la estimación, la evaluación y/o la comparación de alternativas.

Características de OLAP

- Enfoque a la información: diseñado para la investigación por parte de usuario final y la exploración de la data.



- Interactividad: capacidad de aceptar y actuar sobre preguntad ad-hoc que el usuario tenga.



- Agregación dinámica: información resumida de data detallada en tiempo real.



- Navegación (Drilling): posibilidad de moverse entre niveles de granularidad de datos.



- Segmentación (Slice and Dice): habilidad de combinar y recombinar varias dimensiones para visualizar diferentes facetas de la información.


 
SLICING

DICING


- Pivoteo: capacidad de ofrecer comparaciones, revelar patrones y relaciones y analizar tendencias.



- Desempeño: el acceso a la data y las manipulaciones deben realizarse a la "velocidad del pensamiento".



ARQUITECTURA CONCEPTUAL DE INTELIGENCIA DE NEGOCIO

A continuación un esquema detallado donde se representa de manera conceptual la arquitectura de las soluciones analíticas de inteligencia de negocio: 


- OLTP: Procesamiento de Transacciones En Línea (OnLine Transaction Processing), son sistemas que facilitan y administran aplicaciones transaccionales, usualmente para entrada de datos y recuperación y procesamiento de transacciones, por ejemplo, CRMs y ERPs como aplicaciones operacionales, en el esquema se quiere representar la data sin refinar, bajo nivel de transacción y normalizada en 3FN.

- ETL: extraer, transformar y cargar (Extract, Transform and Load), consiste en el proceso que permite mover datos desde múltiples fuentes, reformatearlos y limpiarlos, para luego cargarlos en otra base de datos o data warehouse para analizar, o en otro sistema operacional para apoyar un proceso de negocio. Se efectúa desde múltiples orígenes hacia un solo repositorio.

- ODS/Staging: Almacén de datos operacionales (Operational Data Store), consiste en el almacenamiento centralizado de datos consumido por los Data Warehouse así como también otros sistemas OLTP; la data cumple con 3FN. Staging se refiere al área de trabajo o área de procesamiento temporal transitoria donde se ubican los archivos, bases de datos, etc para ETL, por ejemplo: archivos de texto en proceso, archivos comprimidos, XML, scripts FTP.

- Data Warehouse Systems: es la data histórica o expediente completo de una organización, más allá de la información transaccional y operacional, almacenado en una base de datos diseñada para favorecer el análisis y la divulgación eficiente de datos el cual es integrado, no volátil y variable en el tiempo, cumple con 3FN.

- OLAP Server: en este se ubica el procesamiento analítico en linea donde se efectúan los cálculos analíticos agregados y sumarizados, por ejemplo: Primer trimestre Vs. Ultimo trimestre. En este punto la data se encuentra masivamente desnormalizada.

- OLAP Client: es el usuario visualizador de la data ya procesada y disponible para ser consultada, de modo que puede ser vista en tablas pivote, realizar navegación, drilling, etc, con el fin de generar consultas y mostrar resultados. En estos procesos se intercambia metadata con el servidor OLAP.

MODELAJE DIMENSIONAL

El modelaje dimensional se basa en mejores practicas para el diseño de bases de datos para OLAP. Es una técnica de modelaje y no implementacion de base de datos, dicha técnica optimiza agregaciones masivas y dinámicas de datos. En el modelaje dimensional surge el esquema estrella.

Esquema Estrella

Es un modelo de datos que tiene una tabla de hechos (tabla fact) que contiene los datos para el análisis, rodeada de las tablas de dimensionesLas tablas de dimensiones tendrán siempre una clave primaria simple, mientras que en la tabla de hechos, la clave principal estará compuesta por las claves principales de las tablas dimensionales.



Una tabla fact o de hechos contiene elementos (hechos) que se quieren medir siendo estas medidas valores que se tratan de reportar: el Que, por ejemplo: ingreso, cantidad vendida (unidades), precio promedio, etc.

Las tablas dimensiones son las formas como se quieren ver las medidas, por ejemplo: por fecha, por producto, etc. Éstas tablas dan contexto, significado a la información en los reportes: el Por.

Expongo un ejemplo de lo anterior desde un enfoque de lenguaje:

Sepamos "el Que" son los hechos y "el Por" las dimensiones, entonces el usuario desea:

- Saber cuales son las proporciones de ventas por tipos de producto y tipos de cliente.
- Cual es la proporción de ganancia que proviene de clientes actuales vs. clientes nuevos.
- Cual es el perfil de los clientes (localidad, ingreso y genero) que hace el 80% de la ganancia actual opuesto al 80% de los ingresos.

Finalmente dicho usuario obtendrá un reporte de la siguiente manera:

lunes, 28 de mayo de 2012

CONCEPTOS PREVIOS DE BASE DE DATOS


Recordando que una base de datos es un repositorio centralizado de datos lógicamente relacionados, que permite almacenar y organizar hechos ó eventos y restituirlos a demanda de el, o los usuarios para producir información.

También definida como una colección de registros o archivos relacionados lógicamente. Una BD consolida muchos registros almacenados previamente en archivos independientes, de modo que un cúmulo (pool) común de registros sirvan como una sola central para muchas aplicaciones de procesos que necesitan este tipo de datos.

Antes de entrar en el tema de Inteligencia de Negocio es importante traer a colación la definición de proceso de normalizacion de base de datos el cual consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional, con el fin de evitar la redundancia, problemas de actualización y proteger la integridad de los datos.

En el proceso de normalizacion destaca el uso de la tercera forma normal (3FN) definida originalmente por E.F. Codd en 1971. Codd plantea que una tabla está en 3NF si y solo si se cumplen las dos condiciones siguientes:

1) Ninguno de sus atributos no primarios son funcionalmente dependientes en una parte de una clave primaria (segunda forma normal 2FN).
2) Ningún atributo no primario de la tabla es dependiente transitivamente de una clave primaria.

Sabiendo esto lo siguiente es entrar en materia de inteligencia de negocio en el cual se desarrolla a partir de una base de datos normalizada en su 3FN.

sábado, 28 de abril de 2012

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

Los siguientes modelos tienen como fin dar un inicio al tema de procesos ejecutables, haciendo referencia a la ejecucion de procesos de negocio (BPEL). Business Process Execution Languaje (BPEL por sus siglas en ingles) es un lenguaje de ejecucion de procesos de negocio como su nombre lo especifica, el cual fue estandarizado por OASIS para la composicion de servicios web. Básicamente, consiste en un lenguaje basado en XML diseñado para el control centralizado de diferentes servicios Web. Haré referencia a distintos puntos importantes con respecto a BPMN y BPEL:

En Intalio|Designer modelamos en BPMN.
- Al salvar en Intalio|Designer, se genera automáticamente código BPEL.
- Intalio|Server ejecuta BPEL.
- En BPEL se pueden hacer:
  1)  Actividades basicas: invoke, recieve, reply, assign, throw, wait, empty, exit, rethrow.
  2)  Actividades estructuradas: sequence, if, while, repeatUntil, pick, flow, foreach.
- No hay que aprender BPEL para poder automatizar procesos de negocio.
Lo modelado en pools no ejecutables no genera código BPEL.
- Lo modelado en pools ejecutables genera código BPEL.

Por otro lado, cerrando la breve explicacion de lo que es BPEL, muestro dos tipos de modelado diferentes del siguiente caso:

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.


MODELADO EN BPMN 

MODELADO (FLUJO Y TAREAS)

martes, 24 de abril de 2012

EJERCICIOS BPMN

A continuación cuatro ejercicios resueltos en el laboratorio de Sistemas de Información, en el cual hago uso de Intalio Designer 6.1.12 para el modelado de los mismo:

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’.


Solución:

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.

Solución:

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.

Solución:


EJERCICIO 4

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
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
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.



INSTALACION DE INTALIO-BPMS SOBRE WINDOWS XP


Para llevar a cabo la instalación y configuración de la aplicación BPMS Intalio descargo gratuitamente a través de la pagina web de la compañía privada Intalio (http://www.intalio.com/downloads) las dos herramientas necesarias, siendo éstas las siguientes:
Intalio|BPMS Designer 6.1.12 for Windows
                Se trata de un archivo ejecutable (com.intalio.bpms.designer.distribs.ce.win32-6.1.12-installer.exe), el cual con simples clicks se instala de forma automática, a continuación muestro breves ejemplos:
















Intalio|BPMS Server 6.2.4 for All Platforms

                En este archive se encuentra comprimida la carpeta de Intalio Server (.zip) la cual puede ser extraída con la aplicación WinRAR por dar una sugerencia. Ahora bien, una vez descargado éste lo siguiente es descomprimir la carpeta contenida en el directorio C de tal modo que el directorio completo quede de la siguiente manera “C:\intalio-bpms-6.2.4














Luego, agregar la variable de entorno CATALINA_HOME, y la direccion “…\bin” en la variable Path, como ya se vio anteriormente en el tutorial de instalación de ADempiere esto se realiza yendo a Mi PC -> Propiedades -> Avanzado -> Variables de Entorno. En la sección de Variables del Sistema incluir una nueva entrada con los valores:
Nombre de la Variable: CATALINA_HOME
Valor de la variable: C:\intalio-bpms-6.2.4














Finalmente, en la variable Path luego de un punto y coma “;” se debe agregar lo siguiente: ;%CATALINA_HOME%\bin














Y así queda por concluida la configuración de Intalio|BPMS.

miércoles, 18 de abril de 2012

CLASE 5: INTRODUCCION A BPMN

La Notación para el Modelado de Procesos de Negocio o BPMN (por sus siglas en ingles Business Process Modeling Notation) como su nombre lo indica es una notación grafica estándar establecida para el modelado de procesos de negocio mediante un formato de flujo de trabajo o workflow con el fin de proporcionar una fácil legibilidad y entendimiento por parte de todos los involucrados en el negocio (analistas de negocio, desarrolladores, gerentes, administradores, etc).



Ya teniendo una previa idea de lo que es un modelo BPMN, expondré mas a fondo la descripción de los elementos que provee la notación BPMN:

Objetos de flujo


Objetos de conexión

Carriles (Swinlanes)

A continuación anexo distintas tablas donde se describe la semántica de cada uno de los eventos, compuertas y actividades para el modelado:







martes, 17 de abril de 2012

CLASE 4: INTRODUCCON A BPMS


Entrando en el tema de BPMS, expongo dos definiciones útiles:

Un proceso de negocio es el conjunto de tareas que se relacionan de forma lógica con el fin de lograr un resultado de negocio definido (consultar clase anterior donde se profundiza en el tema de los procesos de negocio).

Business Process Manager o Gestión de procesos de negocio (BPM por sus siglas en ingles) es el enfoque o metodologia empresarial basado en la coordinacion de las actividades y decisiones realizadas por las partes involucradas durante un proceso de negocio, con el objetivo de mejorar la eficiencia y eficacia de la organizacion mediante la gestion de los procesos de negocio, ésto se refiere al diseño, modelado, organizacion, documentacion y optimizacion constante de los mismos. Entre los beneficos o ventajas que provee un BPM están:

1) Conocimiento certero de la organizacion.
2) Claridad en las relaciones entre las partes.
3) Visibilidad de las operaciones.
4) Flexibilidad y agilidad para adaptarse.

Sabiendo ésto, puedo dar inicio al estudio del Business Process Manager System o Sistema de gestión de procesos de negocio (BPMS por sus siglas en ingles), el cual es una coleccion integrada de tecnologias de software que permiten el control, manejo y mejoramiento continuo de los procesos a traves de la automatizacion de su ciclo de vida.

DIAGRAMA DEL CICLO DE VIDA DE PROCESOS



Los beneficios que provee un BPMS se fundamentan en:

1) Ciclos de innovacion mas cortos.
2) Ahorro en los costos de desarrollo y mantenimiento de software.
3) Manejo del ciclo de vida de los procesos.
4) Reduccion de las barreras de participacion de sistemas y humanos en los proceso.

DIAGRAMA DE CICLO DE DESARROLLO DE BPMS