viernes, 25 de noviembre de 2011

DATAWAREHOUSE

Una de las consultas mas frecuentes es tambien sobre DATAWAREHOUSE, a continuación se comenta algo de este tema que es super interesante.






¿Qué es Datawarehouse?

DATA WAREHOUSE es una combinación de conceptos y tecnología que cambian significativamente la manera en que es entregada la información a la gente de negocios.

El objetivo principal es satisfacer los requerimientos de la información interna de la empresa para una mejor gestión, con eficiencia y facilidad de accesos.
Una de las principales problemáticas al implantar un sistema de BI es que la información es dispersa, heterogénea y muchas veces incoherente. En las empresas se emplean muchas aplicaciones distintas para cada uno de sus departamentos. Por ejemplo es habitual que se utilice una aplicación CRM para la gestión de clientes y otra diferente para la facturación. Seguramente cada una guarda diferentes datos de los clientes, con distintos formatos y en diferentes bases de datos.






Además normalmente la información no coincide en ambos sistemas: puede que el sistema CRM utilice un número de cliente diferente al de la aplicación de facturación. Incluso es posible que haya incoherencias, como el caso de un cliente que haya cambiado de dirección y dicha información sólo esté actualizada en uno de los sistemas. Es una idea interesante la de combinar la información de ambos sistemas para poder tratarla conjuntamente y realizar análisis del tipo de búsqueda de correlaciones entre el número de llamadas realizadas al cliente, presente en el sistema CRM, y la cantidad facturada a cada cliente, presente en la aplicación de facturación. Pero al estar la información normalmente repartida en diferentes sistemas es dispersa, incoherente y heterogénea. En estas condiciones es imposible abordar este tipo de análisis conjunto de los datos. Se necesita un paso previo.

El paso necesario para combinar la información de las diferentes aplicaciones de cada empresa es tomar dicha información, depurarla, y traspasarla a un Data Warehouse. Al final en el Data Warehouse se dispondrá de toda la información de todos los sistemas centralizada y coordinada, libre de incoherencias, y lista para poder responder a nuestras preguntas. Un Data Warehouse es simplemente una base de datos, generalmente con un esquema específico que facilita la consulta de los datos. Esto no implica que la implantación de un Data Warehouse sea sencilla, ni mucho menos. Un Data Warehouse puede almacenar la información en tablas relacionales, o bien en bases de datos multidimensionales.

¿Qué es ETL?

Como se menciona en el apartado anterior, para poder explotar la información existente en los diferentes sistemas empresariales, hay que extraerla de ellos, transformarla y llevarla al Data Warehouse. Una herramienta ETL está pensada expresamente para estas funciones.








Estas siglas significan Extract, Transform & Load (extraer, transformar y cargar). La extracción consiste en leer los datos de la base de datos original. La transformación se refiere al hecho de limpiar la información incoherente o no válida, adaptar los tipos de datos, los valores de los campos, etc. Por último la carga se refiere al hecho de guardar los datos en el formato adecuado dentro del Data Warahouse. Las herramientas ETL suelen guardar la información transformada en tablas relacionales con esquemas especiales. La creación de bases de datos multidimensionales implica la utilización de otro tipo de herramientas. Estas herramientas suelen venir con los servidores OLAP, que se comentan a continuación.

Características de Datawarehouse
- Consultas más fáciles
- Facilita la toma de decisiones
- Práctica de negocios inteligentes
- Obtener información valiosa y oportuna
- Impacto positivo sobre los procesos empresariales
- Ejecutivos mejor informados



Ing. Percy Bravo






















































lunes, 21 de noviembre de 2011

Data Center

Los centros de datos, ya sea para mantener las necesidades de una sola empresa o alojar decenas de miles de sitios de Internet de clientes, son esenciales para el tráfico, procesamiento y almacenamiento de información. Es por esto que deben ser extremadamente confiables y seguros al tiempo que deben ser capaces de adaptarse al crecimiento y la reconfiguración.



Para diseñar un centro de datos se deben tener en cuenta varios factores más allá del tamaño y la cantidad de equipos de procesamiento/almacenamiento de datos que éste debiera albergar. Establecer el lugar físico, acceso a la energía, nivel de redundancia, cantidad de refrigeración, rigurosa seguridad y tipo de cableado son sólo algunos de los varios factores que entran en juego en una instalación exitosa o ampliación de un centro de datos.

El propósito de esta Participación es conducirlo por los pasos del planeamiento, la instalación y el mantenimiento del centro de datos. Ambas cuestiones, teórica y práctica sobre la instalación se describen aquí. En particular, los temas que trata esta Participación son:

Tipos de Centro de Datos
¿Será un centro de datos corporativo para un solo cliente o un centro de datos para el hosting de varios clientes? Si es un centro de datos para el hosting, ¿se compartirán los equipos de distintos negocios o proveedores, o serán ubicadas en el mismo espacio? Estos equipos, ¿necesitarán ser apartados por seguridad?

Disponibilidad y Redundancia del Centro de Datos
La necesidad de disponibilidad para el centro de datos depende de varios factores. La ubicación, el acceso a la energía y a las comunicaciones, que otras industrias estén ubicadas en el mismo vecindario, todo esto está relacionado con la confiabilidad. Dentro del centro de datos, la disponibilidad se controla por la redundancia de la infraestructura del servicio.
Un centro de datos de Nivel 1(Tecnología e infraestructura para Regiones Emergentes- TIER 1) es básico y no redundante (quizá, ni siquiera tenga contingencia eléctrica) mientras un centro de datos Nivel 4 ofrece la máxima tolerancia a las fallas con sistemas múltiples y líneas de comunicación, electricidad, refrigeración, etc.

Diseño del Centro de Datos
Los centros de datos concentran gran cantidad de equipos electrónicos en una área reducida, por esto es que requieren organización para manejar el crecimiento y la reconfiguración. Los temas incluyen la disposición de las entradas de electricidad y telecomunicaciones a las salas, HVAC (calefacción, ventilación y aire acondicionado- a veces llamado el equipo “mecánico”), un centro de operaciones de red, una sala de telecomunicaciones, oficinas para el personal, energía redundante y por su puesto sala de cómputos. Otros temas incluyen la colocación de racks, gabinetes y equipos para una óptima refrigeración, agrupándolos por eficiencia y apartándolos por seguridad.

Sistemas Eléctricos del Centro de Datos
La entrada de energía necesita estar condicionada y “ruteada”. Las tecnologías de energía redundante (UPS – Sistema de Energía Ininterrumpida [SEI] y generadores) se discuten como también la importancia de la puesta a tierra.

Presentación del cableado de datos
Varios tipos de cables y sistemas se describen y comparan con consejos sobre cómo hacer el mejor uso de ellos.

Cableado del centro de cómputos
Los métodos, medios (cable de par trenzado de cobre y fibra óptica) y terminación del cableado estructurado se trazan y comparan. Se incluyen descripciones y comparaciones en profundidad de varias soluciones de cableado y sistemas de SYSTIMAX y su ubicación en el centro de datos.

RUP

Siempre preguntan algunos amigos Ing. Percy Bravo ¿Qué es RUP, ¿Cómo se aplica en el desarrollo de software? y ¿Que beneficios nos da?, bueno acá detallo información poniendo como ejemplo el desarrollo de de un sistema para una clínica u hospital, esperando les sea útil.

Definiciones:

Es una guía de buena práctica utilizada para desarrollo de software y junto con el lenguaje unificado de modelado (UML), constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. (Ian Sommerville, 2005:76-77).



Etapas

- Inicio, El Objetivo en esta etapa es determinar la visión del proyecto. En esta etapa se debe de presentar el Project Charter, el Scope Statement, en donde se describirá el alcance, tiempo y costo del presente proyecto. Asimismo, se entregara el documento visión con la especificación de los requerimientos funcionales y no funcionales del proyecto.

- Elaboración, En esta etapa el objetivo es determinar la arquitectura óptima. En esta etapa se presentaran toda la documentación del análisis, diagramas de caso de uso del negocio y del sistema, para que se logre un mayor entendimiento de los casos de uso con su correspondiente especificación y lo más importante identificar los riesgos del proyectos.

- Construcción, En esta etapa el objetivo es llevar a obtener la capacidad operacional clínicos, la implementación y el testeo o pruebas. Se divide por 04 vistas en las cuales se entregaran la siguiente documentación:

· Vista lógica: Diagrama de clases y modelo Entidad-Relación.

· Vista de implementación: Diagrama de Secuencia, Diagrama de estados y Diagrama de Colaboración.

· Vista conceptual: Modelo de dominio.

· Vista física: Mapa de comportamiento a nivel de hardware.

- Transición, El objetivo es llegar a obtener el producto final del presente proyecto, comprende el despliegue del sistema en los equipos de la Unidad especializada del hospital.

Cada una de estas etapas es desarrollada mediante el ciclo de iteraciones, la cual consiste en reproducir el ciclo de vida en cascada a menor escala. Los Objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes. En esta etapa se harán las pruebas con iteraciones para tener mejores resultados.

Fases del Proceso Unificado de Desarrollo:

Según Ian Sommerville, la metodología RUP, se divide en 4 fases el desarrollo del software:

- Fase de Inicio: durante la fase de inicio las iteraciones hacen mayor énfasis en actividades del modelado del negocio y requisitos.

En esta fase se deben presentar los entregables:

√ Documento visión del proyecto.

√ Modelado de casos de uso con una lista de todos los casos de uso y los actores que pueden ser identificados.

√ Caso de uso inicial del negocio el cual incluye: contexto del negocio, criterios de éxito, y planificación financiera.

√ Plan del proyecto que muestre las fases y las iteraciones.

El objetivo de esta fase, es entender las funciones del negocio, tanto en su estructura como en sus procesos. Su objetivo es modelar funciones y roles que organizan en la organización para realizar más fácilmente la reingeniería de procesos o la implementación de un nuevo sistema. También se describe lo que el sistema tendría que realizar y permitir que los desarrolladores y el cliente estén de acuerdo con esta descripción. Para ello se debe de realizar lo siguiente:

√ Describir los requerimientos funcionales y no funcionales.

√ Capturar un glosario o vocabulario del sistema o proyecto.

√ Encontrar actores y casos de uso.

√ Describir los casos de uso mediante su flujo principal, variaciones y excepciones.

√ Asignar prioridades a los casos de uso encontrados para poder planificar la iteración en forma de análisis, diseño e implementación.

√ Modelar la interfaz de usuario (diseño lógico).

√ Prototipo de la interfaz de usuario (diseño físico).

- Fase de Elaboración: se orientan al desarrollo de la arquitectura, que incluye los flujos de trabajo de requerimientos, modelo de negocios (refinamiento), análisis, diseño y una parte de implementación orientado a la arquitectura. En esta fase se debe realizar lo siguiente:

√ Un modelo de Casos de Uso con todos los actores identificados y la mayor parte de las descripciones de Casos de Uso.

√ Descripción de la arquitectura del software.

√ Prototipo ejecutable de arquitectura.

√ Plan del proyecto, incluyendo iteraciones y criterios de evaluación para cada iteración.

En esta fase se especifican los requerimientos y se describen sobre cómo se van a implementar en el sistema: transformar los requisitos al diseño del sistema, desarrollar una arquitectura para el sistema, y adaptar el diseño para que sea consistente con el entorno de implementación.

- Fase de construcción: se implementan las clases y objetos en ficheros fuente, binarios, ejecutables y demás. El resultado final es un sistema ejecutable. Para ello se debe realizar lo siguiente:

√ El producto de software integrado sobre la plataforma adecuada.

√ Una descripción de la versión actual.

√ Cada implementador decide en qué orden implementa los elementos del subsistema.

√ Si encuentra errores de diseño, los notifica.

√ Se integra el sistema siguiendo el plan.

- Fase de transición: permite mantener la integridad de todos que se crean en el proceso, así como de mantener información del proceso evolutivo que han seguido. En la fase del Entorno, la finalidad es dar soporte al proyecto con las adecuadas herramientas, procesos y métodos. Brinda una especificación de las herramientas que se van a necesitar en cada momento, así como definir la instancia concreta del proceso que se va a seguir.

En concreto las responsabilidades de este flujo de trabajo incluyen:

√ Selección y adquisición de herramientas.

√ Establecer y configurar las herramientas para que se ajusten a la organización.

√ Configuración del proceso.

√ Mejora del proceso.

√ Servicios técnicos. (Ian Sommerville, 2005:76-77).

Beneficios del Proceso Unificado de Desarrollo:

Según Ian Sommerville (2005:76-77), los beneficios del proceso unificado de desarrollo son:

√ Las mejores prácticas más probadas de la industria: Son las mejores prácticas de desarrollo adoptadas en cientos proyectos mundialmente y enseñadas como parte de la currícula en cientos de universidades, la metodología RUP se convirtió rápidamente en el estándar de facto para el proceso de desarrollo en la industria de software.

√ Proceso hecho práctico: Diferente que otras metodologías comerciales, la plataforma RUP hace que el proceso sea práctico con bases de conocimiento y guías para ayudar en el despegue de la planificación del proyecto, integrar rápidamente a los miembros del equipo y poner en acción el proceso personalizado.

√ Se adapta a las necesidades de los proyectos: Solo la plataforma RUP proporciona un framework de proceso configurable que permite seleccionar e implantar los componentes específicos de proceso necesarios para proporcionar un proceso consistente y customizado para cada equipo y proyecto.

Una de las mejores prácticas centrales de RUP es la noción de desarrollar iterativamente. Rational Unified Process organiza los proyectos en términos de disciplinas y fases, consistiendo cada una en una o más iteraciones. Con esta aproximación iterativa, el énfasis de cada workflow variará a través del ciclo de vida. La aproximación iterativa ayuda a mitigar los riesgos en forma temprana y continua, con un progreso demostrable y frecuentes releases ejecutables.

Atte

Percy Bravo