lunes, 18 de abril de 2011

Gestión del Alcance del Proyecto

Es primordial definir el concepto de  Alcance  para poder hablar luego de la gestión del mismo, por tanto en el alcance se describen las fronteras del proyecto, se define lo que el proyecto va a entregar y también lo que no entregará y en caso de  proyectos muy grandes, se pueden incluir las organizaciones que se verán afectadas, las transacciones y los tipos de información incluidos.

Ahora, el alcance del proyecto debe hacerse para entregar un producto que de una u otra forma cumpla con las funciones y todas las características y requerimientos que fueron planteadas en la fase anterior, en donde además se debe asegurar que la planificación incluya todo el trabajo necesario y requerido, para no dejar escapar ni un detalle y culminar el proyecto exitosamente.

Cuando al alcance es definido, se establece claramente un compromiso con el cliente, se crea un acoplamiento con los plazos, costos y la calidad, permitiendo definir una línea clara de administración que sea visible para efectos de un mejor seguimiento.

En toda gestión de alcance, se necesitan algunos documentos que se convierten en parte fundamental de esta etapa y son las especificaciones de requerimientos, planes de trabajo en donde se describen las tareas y son de tipo gerencial tales como entregables, y criterios de aceptación en donde se tiene en claro el nivel de calidad además de los beneficios del proveedor y del cliente y los estándares.

Sin una adecuada definición del alcance, se perdería la oportunidad de gestionar eficiente y oportunamente el alcance del proyecto, por eso el trabajo debe estar claro y definido tanto de la parte responsable como de la parte a interesada.

Entonces, en la gestión del alcance se tiene en cuenta lo siguiente:





En la dirección de proyectos es clave la recopilación de requisitos ya que es la identificación y gestión de los interesados ya que todos sus aportes serán valiosos en todo el recorrido del proyecto. Aquí es donde se definen necesidades, deseos, restricciones, oportunidades y todo apuntado a los objetivos del desarrollo del proyecto.
Para definir el alcance se necesita:




Ya con las entradas, el enfoque que se le da al alcance es otro, ya que hay más claridad sobre lo que se tiene y lo que no. Aquí los requisitos son la guía y todas las expectativas y necesidades deben estar bien identificadas.
Ahora, otra parte importante es la creación de la EDT, que no es más que la subdivisión del proceso en entregables de trabajo de forma que sean más pequeños y por tanto más fáciles de cumplir y manejar.  La EDT cuenta con:



La finalidad de la EDT es poder logar una óptima asignación de trabajo y distribución de responsabilidad y cumplimiento, una mejor estimación de costos, recursos y tiempo. Esto se hace mediante un cuadro jerárquico donde cada paquete tiene su identificación y está organizado en un nivel de detalle de mayor a menor y con esto se asegura que todos en el equipo encargado del proyecto comprenda cada parte y se haga responsable por entregables que darán en gran medida avances visuales y reales.

Además de todo lo anterior, el alcance debe verificarse de forma que el producto servicio cumpla lo pactado, así la formalización de aceptación será más fácil. Pero no solo se verifica sino que se controla de forma que puedan prevenirse los cambios o asegurar que las modificaciones no sean traumáticas para el desarrollo y cumplimiento del proyecto y esto debe hacer de forma continua y documentada.

Si los requisitos y el alcance del proyecto no se definen totalmente, si no se describen bien o si no hay un control de cambios eficaz, puede sobrevenir entonces un arrastre de alcance o requisitos.


Gestión de la Integración del Proyecto

Para comenzar, decimos que la gestión de la integración del proyecto describe aquellos procesos que son requeridos para asegurar que los diversos elementos de un proyecto estén coordinados apropiadamente. Está compuesta de los procesos de dirección de proyecto en donde se tienen en cuenta varia procesos de dirección proyectos en los que se encuentra el desarrollo de actas de constitución, alcance, plan de gestión, procesos para dirigir, controlar, supervisar y gestionar la ejecución del proyecto.

Pero realmente ¿qué es gestión de integración?, la gestión es la coordinación de todos los aspectos de un proyecto y cuando es realizada correctamente, se asegura de que todos los procesos en un proyecto sin problemas y la  gestión de la integración producen entonces una serie de resultados previstos dada en 7 pasos.

Primeramente como se menciono anteriormente, se debe realizar una carta de constitución del proyecto en la que se da inicio al mismo y se autoriza la puesta en marcha. Se dice que no es más de una página en las que citan estatutos estatales, objetivos, del proyecto y responsables del proyecto, principalmente el gerente del proyecto.Seguidamente se hace la declaración sobre el alcance preliminar, en donde se revisan los elementos de gestión y se hace la declaración del alcance enfocado mas en lo que es y debe hacerse.

Adicional a esto se trabaja un desarrollo para definir el plan del proyecto en donde se incluyen algunos elementos como objetivos , definiciones, presupuestos, programación y recursos que harán parte del proyecto previamente definido, d igual manera se define su enfoque, planes y evaluaciones de riesgo.

Todo proceso debe ir acompañado de un trabajo de dirección y supervisión además de ser monitoreado y controlado. En este punto se tienen muy en cuenta los cambios  que se pueden presentar en cualquier punto o fase del proyecto. Si por alguna razón el proyecto no es monitoreado o controlado de la forma como debería hacerse, entonces se podría decir que está en juego la calidad del mismo y hasta podría verse comprometido el final o cierre éxito de todas las etapas, es por eso que el cierre debe ir acompañado de una revisión detallada de los procesos, logros y porque no, de las deficiencias que seguramente en el camino fueron encontradas.

Se puede decir que la necesidad de integración del proyecto se hace evidente en situaciones en las que interactúan los procesos individuales  además una gran  mayoría de profesionales con experiencia de gestión del proyecto coinciden en que saben que no hay una sola manera de gestionar un proyecto por tanto se aplican todos y cada uno de los diferentes   conocimientos que se tienen para la gestión de proyectos, en donde habilidades y los procesos en los diferentes órdenes y grados de rigor son importantes para lograr los resultados que se desean.

Por eso esta tan importante analizar y comprender detalladamente el alcance incluyendo sus requisitos, criterios, supuestos, restricciones y como poder llegar a tratarlas. La documentación de todas las anteriores también se hace primordial ya que lleva a comprender la forma en cómo debe estar la información. Esta es Una de las importantes funciones hechas por el Gerente y no es otra cosa que  el de integrar las diferentes piezas desarrolladas por el equipo del Proyecto y esta tarea se hará más crítica en la medida en que el tamaño del proyecto se más grande.

Se recomienda que al final de cada una de las fases del proyecto, vistas como una experiencia se adquirida un documento que se elaborará según  las lecciones aprendidas que definen lo que se hizo bien o  no tan bien y que  requiere ser completado para que el proyecto llegue a feliz término.

Procesos de la Dirección de Proyectos

Para empezar, todo proceso de dirección de proyectos comienza con la elaboración de un plan estratégico y de ahí en adelante se mezclan los conocimientos, habilidades, herramientas y técnicas para cumplir con todas y cada una de las actividades que conforman los distintos procesos de la dirección de proyecto. Para que exista un buen marco de calidad en la gestión de proyectos, entonces debe existir calidad en los procesos y en los proyectos y ambos requieren de un tratamiento especial.

Siempre se entiende por proyectos una serie de procesos transitorios en los cuales se prestan recursos y se hace uso de ellos con el fin de lograr crear un producto o servicio. Los procesos son un conjunto de actividades que están relacionadas unas con otras pero ordenadas que buscan el mismo fin de los proyectos: obtener un servicio o producto único. Todos los procesos aplicados al caso que sea tendrán siempre unas entradas y unas salidas, además de unos procesos de transformación en donde se le agrega valor a la entrada, pero el éxito de su desarrollo está en que se seleccionen los procesos adecuados de manera que apunten directamente al logro de los objetivos del proyecto y si es el caso al logro de los objetivos organizacionales.

Los procesos en la organización deben tener un enfoque definido de esta manera se puede satisfacer más fácilmente las necesidades de los interesados, además los procesos pueden cruzar transversalmente a la organización y por ello se habla de dos categorías de procesos. Estas categorías son: Procesos de dirección de proyectos en la cual se garantiza un avance y que a lo largo de ciclo de vida se desarrollen las actividades eficazmente y los Procesos orientados al Producto en donde se especifica y se desarrolla el producto y está definido por el ciclo de vida del proyecto.

Los directores de proyectos tienen una tarea difícil de realizar y está en buscar la alineación entre los procesos del producto y los procesos del proyecto. Como  los procesos generan información, esto ayuda a la dirección a mejorar y a generar nuevos servicios y nuevos proyectos.  Como los procesos de la dirección de proyectos son claves, relevantes y significativos en la compañía porque deben presentar indicadores, documentación de procedimientos, auditorias de cumplimiento entre otras, entonces se crean grupos de procesos más específicos que ayuden con el desarrollo de estas tareas buscando satisfacer los objetivos de cada fase del ciclo.

Los procesos de dirección de proyectos están compuestos por grupos de iniciación, planificación, ejecución, seguimiento y control y cierre. Cada grupo tiene tareas específicas de reconocimiento, de proyección, coordinación, comprobación y formalización. Estos grupos deben vincular de alguna forma con los otros procesos los resultados que cada uno va produciendo, haciendo que la salida de un proceso sea la entrada para el siguiente.

Un medio que permite ver la interacción que hay entre los distintos grupos de procesos es el diagrama de flujo de procesos ya que este brinda un resumen global de los interesados y de las interacciones entre los grupos. Ahora bien, el grupo del proceso de iniciación incluyen todos esos procesos que definan los nuevos proyectos o nuevas fases y es clave en este grupo la definición del alcance y los recursos financieros iniciales. En estos procesos se realiza el desarrollo de las actas de constitución de los proyectos donde se autorice muy formalmente el comienzo de las fases o de un proyecto y los requerimientos iniciales entre interesados.

La planificación cuenta con procesos que buscan establecer el alcance total, definir y refinar los objetivos. Es entonces cuando se desarrolla el plan de dirección en donde se tiene en cuenta el alcance, los tiempos, costos, riesgos y adquisiciones. Esta planeación es bien importante porque tiene tareas muy especificas que se deben desarrollar para llegar a cabo el proyecto y estas tareas consisten en recopilar todas las necesidades y requisitos de los interesados, definir la descripción del proyecto y del producto, desglosar el trabajo en función de entregables y crear una EDT de manera que queden tareas pequeñas de fácil realización. En la subdivisión se definen también actividades que no serán más que acciones específicas que lleven a la elaboración de un entregable. Todas las actividades deben quedar documentadas y más aquellas que se relacionan con otras.

Estimar los recursos ya sea de persona, equipos u otros y estimar la duración de los mismos e incluso de las actividades de cada proceso para lograr construir un cronograma de trabajo; también se estiman los costos de las actividades para generar un presupuesto mediante una línea base de costos autorizados. Todos y cada uno de los procesos y actividades a desarrollar deben contar con el sello de calidad mediante normas y políticas claramente definidas y establecidas. Este sello de calidad incluye el tener en cuenta un plan de recursos donde se identifiquen roles y responsabilidades, un plan de comunicaciones en donde se determine y se comunique la información a los distintos interesados y muy importante un plan de riesgo que garantice la continuidad de los servicios aún en situaciones de peligro.

El grupo de proceso de ejecución complementa el trabajo del grupo anterior y definición del plan de dirección. Siempre la ejecución tiene la tarea de coordinar recursos y personas e integrarlos en vía al cumplimiento de proyecto aunque la ejecución puede traer consigo cambios en la planificación ya que se pueden tener variantes en la disponibilidad y productividad de los recursos o puede darse un impacto (riesgo) no concebido o anticipado. En este grupo de procesos se tiene en cuenta el desarrollo de un plan de aseguramiento de calidad que permita auditar los resultados y verificar los requisitos propuestos inicialmente. En la ejecución, la creación del equipo del proyecto es fundamental para completar las tareas del proceso y mejorar las competencias del equipo en busca de un mejor desempeño y logro de objetivos finales.

En el grupo de procesos de seguimiento y control se supervisa, se analiza y se regulan los procesos para poder identificar en donde están ocurriendo fallas y que áreas necesitan cambios para lograr un mejor desempeño. Dentro de este grupo de actividades o procesos se deben controlar los cambios y verificar los procesos de acuerdo al plan de dirección establecido, así todos los procesos generan conocimiento al equipo y fortalece el proyecto y áreas débiles. Aquí en este grupo se requiere de la realización de informes de estado, mediciones de avance y proyecciones, de desempeño y con esto seguramente se va a brindar información referente a los costos, el alcance, los recursos, el cronograma e inclusive calidad y riesgos. El control de cambios es importante y debe ser revisado y aprobado por la dirección porque no se puede perder la gestión de entregables porque la producción de cambios en los mismos.

Finalmente, el grupo de procesos que forman parte del cierre dan por finalizado las actividades de todos los grupos de procesos de la dirección de proyectos. En este punto se verifica que cada proceso termino y se da paso a obtener el visto bueno del cliente o hacer una última revisión del proyecto. El cierre puede ser del proyecto o de una fase pero en cualquiera de los dos casos es indispensable documentar lo aprendido, cerrar las adquisiciones y aplicar las actualizaciones necesarias a los procesos trabajados.
Para concluir, sea cual fuere el proyecto a realizar la idea es considerar e implementar unas mejores prácticas enfocadas a la planeación, la organización y el control de todas las actividades del proyecto. La dirección de proyectos debería ser efectiva en términos del uso de habilidades y desarrollo de conocimientos efectuado de la mano por la definición del ciclo de vida del proyecto y la división por grupos de procesos.


Ciclo de vida del proyecto y organización

Está claro que los proyectos tienen un comienzo y un final, por eso son finitos y todos cuentan con un ciclo de vida que no son más que fases secuenciales, documentadas según una metodología establecida y sin importar cuál es el trabajo que se haga para referenciar el ciclo serán las mismas. Cada fase del ciclo de vida representa un proceso de control y administración.

Sin embargo es importante decir que la forma en cómo agrupar las actividades en las fases y los objetivos de las mismas varían dependiendo del tipo de producto a realizar o de el proceso a generar e incluso de las tecnologías utilizadas pero sea cual sea la división y agrupación, el ciclo de vida facilita el control de los tiempos, del trabajo y de la calidad.

Es necesario en cada fase especificar los resultados evaluables y cuanto más grande sea el proyecto mayor detalle se requiere para definir las fases logrando así que cada fase se haga muy manejable.
En el ciclo de vida se establecen unas tareas características como el estudio de la viabilidad, identificación de soluciones tecnológicas, asignación de recursos, operación, mantenimiento, validación del producto, control de entregable, influencia de interesados, costos, riesgos entre otras.

Ahora bien, el proyecto en su ciclo de tiene consta de cuatro fases y las fases son subconjuntos lógicos y las características de cada una son similares. Las fases son: Inicio, planeación, ejecución y cierre pero la estructura interna es distinta en cada proyecto.  En cada comienzo de fase se brinda la oportunidad de revalidar los supuestos, revisar los riesgos y detallar los procesos para completar los entregables por etapa.

Con la definición de fases se logra un control formal y obtener un producto o resultado pero dependiendo de la relación que exista entre las fases el logro de resultados puede variar, es decir en la relación de fases secuencial no se puede comenzar una fase si antes haber terminado la anterior y esto hace que la incertidumbre se reduzca pero seguramente  no podrá haber recorte en el cronograma. Si la relación entre fases es de superposición es decir que una fase puede comenzar antes que termine la anterior. Con la implementación de este tipo de relación se corre un alto riesgo y hasta puede haber existencia de reprocesos ya que se puede empezar una fase antes de precisar la información de la anterior.

También puede existir una relación interactiva donde se planifica una fase y la siguiente se hace de acuerdo a como vaya el trabajo y entregables de la anterior. Esta manera de relacionar las fases es útil cuando existen inciertos o ambientes que cambian rápidamente por tanto esto hace que el alcance se gestione por medio de entregas continuas del producto.

En este punto es importante hablar de los interesados ya sean los mismos clientes, los proveedores, patrocinadores, e incluso la organización en donde se encuentran los directores de portafolio, comités de revisión, directores de programa, directores de proyectos, equipo de trabajo entre otros, ya que todos y cada uno de ellos pueden verse afectados según el desarrollo del ciclo de vida de los proyectos y la adecuada realización de fases con entregables. Los directores de proyectos deben gestionar las influencias de los distintos interesados para que no se desvíen los resultados del éxito del proyecto.

Los niveles de responsabilidad varían en los interesados y esto puede brindar un apoyo financiero y político en la ejecución de proyectos. No establecer los niveles de autoridad y responsabilidad puede elevar los costos del proyecto y prolongar la duración del mismo. Suele sonar gracioso pero un proyecto puede tener resultados  buenos o malos según el interesado. Algunos se benefician con el fracaso de los proyectos y otros perciben estos resultados como el fracaso al éxito, esto debido a que los objetivos de los interesados son diferentes, variantes y contradictorios, por eso para el director esto constituye un reto más y está en poder balancear los intereses de forma profesional y exitosa.

Otro aspecto importante en la organización está en la estructura que se tenga porque la manera en cómo se encuentre organizada influye en el modo de dirigir los proyectos y en la disponibilidad de los recursos. Hay 3 estructuras organizaciones definidas que son: la organización funcional en la cual el líder o cabeza de grupo está claramente definido y el personal está agrupado según las especialidades y cada área realiza su trabajo de forma independiente. El cliente aquí no es el foco de las actividades porque el trabajo funcional es considerado más importante que el proyecto.
La organización por proyectos como su nombre lo dice, está orientada a los proyectos y la mayor parte de los recursos se destina a la elaboración de los mismos. Los directores tienen mucha autoridad e independencia. Con esta organización se logra más calidad, se mantienen los costos de materialización y se cumplen en gran porcentaje con los tiempos. La organización matricial es una mezcla de estas dos estructuras y aunque se hace necesario un director, a él no se la autoridad suficiente para el financiamiento y planeación del proyecto.

Lo último para tener en cuenta en las organizaciones son los activos de los procesos que abarcan las políticas, planes, procedimientos y lineamientos y según el tipo se agrupan en procedimientos y procesos o en bases corporativas de conocimiento.

Como conclusión a lo expuesto, se puede decir que la organización en las compañías implica un marco fundamental en donde se establece la disposición y correlación de las funciones y todo el conjunto de actividades que apunten al logro de los objetivos y estrategias de la organización.

Aplicación Grid Computing en Bases de Datos Relaelacionales para proveer alta disponibilidad

                                                                                                                                                                 Aplicación Grid Computing en Bases de Datos Relaelacionales para proveer alta disponibilidad

María Gisela López Castillo

mariagisela@hotmail.com

Rhonalf Habib Martínez Villa

rhonaldomaster@gmail.com

Ana Karina Rodríguez

anakrc@gmail.com

Abstract: Grid Computing has been growing up as an important new technology. It uses distributed databases with innovative applications and high availability for users.

In this article are related all the considerations that a company needs like enterprise integration, applications servers, distributed databases and peer to peer computing with the objective of managing a great amount of data in few time, and that is why the Grid Computing concept is focused to manage the distribution resources, tools and services integration.

Grid Computing can run in a large or small numbers of computers, in which the middleware1 controls the machines and creates a logical entity of the system. It can add or remove resources and data without take care of the quantity or the size and manage the information in small or large computer networks.

Resumen: Grid Computing ha estado creciendo en los últimos tiempos como una tecnología importante. Esta tecnología utiliza bases de datos distribuidas y computación punto a punto con aplicaciones innovadoras y alta disponibilidad para los usuarios.

En este artículo se tienen en cuenta todas las consideraciones que necesita una compañía cualquiera como lo son la integración empresarial, servidores de aplicación, bases de datos distribuidas y computación punto a punto con el objetivo de manejar una gran cantidad de datos en poco tiempo, por lo cual el concepto de Grid Computing se enfoca en el manejo de recursos distribuidos, herramientas e integración de servicios.

 Grid Computing puede ser ejecutado en pocos o muchos computadores, en los cuales el middleware2 controla los equipos y crea una entidad lógica del sistema. Grid puede añadir o eliminar recursos y datos sin importar la cantidad o el tamaño y manejar la información en pequeñas o grandes redes de computadores.




Keywords:   Grid   Computing,   Middleware,

Distribution, Integration. High Availability

Palabras claves: Grid Computing, Distribución, Integración, Alta Disponibilidad.


1. INTRODUCCIÓN

Desde su concepción inicial, las bases de datos han sido parte fundamental del desarrollo de la tecnología, permitiendo administrar grandes cantidades de datos de forma eficiente. Con el tiempo surgieron las bases de datos distribuidas, quienes añadieron mejoras a las ya existentes bases de datos centralizadas, evitando así errores y riesgos que tenían sus predecesoras.

Actualmente el mundo de la informática cuenta con una nueva tecnología, que entre todos sus beneficios permite mejorar la estructura y funcionalidad de las bases de datos distribuidas, llamada Grid Computing ó Computación en Malla. A través del estudio y la implementación de Grid se busca llegar a una optimización de los sistemas de bases distribuidas al proveer alta disponibilidad mediante el uso este nuevo descubrimiento al mando del Middleware como cabeza del sistema, quien envía la información a la Grid, espera y finalmente envía la respuesta.

2. BASES DE DATOS DISTRIBUIDAS

Las bases de datos distribuidas son un conjunto de n bases de datos que se encuentran en n nodos en una red. Sus principales métricas son superar las distintas dificultades tecnológicas como el acceso a los nodos, la integración de los datos y su distribución en los nodos con que cuenta el sistema de forma óptima.

La necesidad de crecimiento de las empresas geográficamente y a la vez en volúmenes de datos lleva a la idea de poder integrar y compartir todo bajo el uso de una sola herramienta en un ambiente distribuido, autónomo y heterogéneo, en donde los datos están repartidos y cuando se requiera de ellos se busca bajo la implementación de métodos totalmente transparentes para satisfacer una petición accediendo desde cualquier sitio como si los datos estuviesen en el mismo lugar en donde es generada la consulta.

La descripción de las bases de datos es como la idea de un objetivo virtual en donde cada componente real y físico de la red almacena datos desde cualquier lugar para luego ser consultados.

Las ventajas con la distribución de los datos radican en los tiempos en que se hacen las consultar ya que los resultados son obtenidos de una manera más rápida, ágil y confiable. Por eso, hoy día las empresas requieren este tipo de sistemas ya que les resulta ser más flexible y confiable por eso es que estas bases de datos están más enfocadas a un tipo organizacional permitiendo un futuro crecimiento

Las compañías internacionales se ha visto interesadas en la manera en que se están desarrollando las bases de datos en la actualidad ya que les genera menos costos de hardware y mejor organización de la información aunque cabe anotar que periódicamente las bases de datos deben sincronizarse unas con otras para asegurarse que todas sus datos estén almacenados y organizados uniformemente.

2.1 VENTAJAS

Las ventajas que tiene una base de datos que se encuentra distribuida contra otro tipo de base de datos, radican principalmente los siguientes puntos.


Todos los usuarios de un nodo, podrán acceder a los datos que están almacenados en otro punto fácilmente y aunque hay un control sobre la administración de la información cada punto es autónomo local de sus datos.


La disponibilidad hace parte de la distribución y es característica fundamental en ello, ya que un sistema puede caer en fallo por cualquier motivo, pero los demás nodos siguen trabajando de la misma manera; si en el sistema ocurre un fallo, la base de datos distribuida tiene la capacidad de recuperarse pero durante ese tiempo la operación que esta siendo ejecutada conseguirá el datos que necesite para culminar y lo puede obtener de otro nodo que este disponible y tiene la información.


Compartición de recursos es otra ventaja importante y esto brinda rápidos tiempos de respuesta ya que los diferentes puntos de utilización que tiene comunicación operan simultáneamente y hace posible la entrega óptima y rápida de datos.



2.2 DESVENTAJAS

Pero también existen algunas desventajas que son importantes tener en cuenta para tomar una buena decisión.

Uno de de esas desventajas es el aumento de la sobrecarga en las actualizaciones, debido que las tablas que son replicadas deben ser consistentes, los cambios serán actualizados tanto en las tablas originales, como en las replicadas.

Una de las principales desventajas es con el sistema operativo, ya que no existe uno que esté destinado al soporte de este tipo de sistemas. Además, es preferible contar con el mismo sistema operativo en todos los equipos para garantizar la comunicación entre ellos. Normalmente, se utiliza alguna de las distribuciones de GNU/Linux como Red Hat Enterprise Linux. Oracle recomienda el uso de GNU/Linux, sea Red Hat o United Linux, por sus ya conocidas ventajas en cuanto a estabilidad, precio y soporte.3


En comparación con las bases de datos centralizadas, las distribuidas pueden llegar a ser no tan confiables ya que dependen de la confiabilidad de las computadoras que hacen parte de la distribución, de la red, del sistema manejador de base de datos y de la tasa de error de carga de trabajo.



3. GRID COMPUTING

Grid Computing es una tecnología que permite utilizar de forma coordinada todo tipo de recursos (entre ellos cómputo, almacenamiento y aplicaciones específicas) que no están sujetos a un control centralizado”, dice el ingeniero Ricardo Jiménez Piris, investigador y docente de la facultad de Informática de la Universidad Politécnica de Madrid y añade “Es una nueva forma de computación distribuida, en la cual los recursos pueden ser heterogéneos y se encuentran conectados mediante redes de área extensa como es el Internet.

La filosofía que se maneja para impletar este método avanzado de computación esta en la interconexión de todos y cada uno de los recursos que componen un sistema de computo frente a todo un sin numero de datos de información que requiere una cantidad considerable de memoria para su calculo y que generalmente cuesta mucho, tanto en costo como en tiempo mediante el uso de minería de datos, técnicas de análisis y simulaciones y mejorar en todo sentido la toma de decisiones.

Grid trabaja bajo el mando del Middleware, que no es más que un software que se encarga específicamente de la parte comunicativa de forma transparente entre los diferentes nodos que conforman la malla y que trabajan repartidamente para satisfacer una petición y para ello el solo se encarga de buscar los datos que necesita, las herramientas para ejecutar la petición y la potencia de cálculo necesaria para terminar el proceso óptimamente en tiempo según la disponibilidad de cada computador. El Middleware está formado por los metadatos que contienen toda la información de direcciones de almacenamiento de los datos y el formato respectivo en el que se encuentran.

Cuando se habla de compartir recursos, se hace referencia no solo al intercambio de datos sino también al acceso directo a software, datos remotos y el control total de los demás dispositivos que hacen parte del sistema y que son el complemento a toda la tarea que tiene Grid por tanto esto implica el control de acceso seguro y el manejo de los diversos dominios de administración.

Con el compartimiento de recursos se generan el verdadero significado de Grid, ya que la malla debe ser capaz de repartir el trabajo eficientemente usando mecanismos de forma autónoma y que eliminen las colas de espera, es por ello que se reduce el tiempo de respuesta e incrementa la disponibilidad.

Empresas importantes del mercado informático han estado desarrollando proyectos durante los últimos años donde implementen esta nueva tecnología y con el transcurrir del tiempo está será la mejor estrategia usada por las empresas para la organización de su información.



3.1 PROYECTOS BASADOS EN GRID4

Cada día, los proyectos que empiezan a gestionarse son mas ambiciosos que hace algunos años atrás y los objetivos que los abordan son complejos que requieren de una gran tecnología pero que proporcionan grandes ganancias.

Algunos proyectos destacados que han implementado esta tecnología se encuentran los siguientes:

*    Orbit@home tiene como misión principal todo el estudio del sistema solar, como el predecir asteroides y requiere de la instalación de un software llamado Boinc para participar.

*   Genoma@home es un proyecto que busca determinar la secuencia completa y exacta de ADN que tiene el ser humano y se ha implementado bajo un sistema que simula el funcionamiento de los genes y con esto se busca mejorar los tratamientos médicos y encontrar la cura a miles de enfermedades que están acabando la vida humana.

*    Malaria Control pretende con el estudio profundo de esta enfermedad y los microorganismos que la producen, evitar contagio y concluir con la padecimiento humano.

*  GIMPS es el proyecto matemático basado en el  estudio  de  los  números  primos  usados para encriptar y entre mayor sea el número, mas seguro será el método.

* Seti@home es el proyecto con el cual arranco la idea de implementar Grid. Ellos estaban en busca de inteligencia extraterrestre mediante observaciones por radiotelescopio.


4. ESTADO DEL ARTE

Con el auge de esta nueva tecnología, han surgido numerosas empresas empezado a trabajan con la computación Grid y ofrecen paquetes empresariales completos tanto para la parte de aplicaciones como para la parte de bases de datos y proveer a las compañías de tecnología de ultima generación y que les facilita las diversas operaciones que manejan al interior de sus organizaciones; entre ellas se destacan las siguientes compañías

* Oracle, quizás la empresa proveedora de soluciones de bases de datos más famosa del mercado, que empezó a incursionar en el área de Grid con sus productos Oracle Database y Oracle Application Server 10g5 entre muchos otros para soportar la gran cantidad de trabajo que se generan en las grandes empresas y brindándoles una mejor solución para la optimización de sus procesos informáticos. Estos productos proporcionan funcionalidades para manejar bases de datos distribuidas utilizando Grid Computing dependiendo de la necesidad que tenga cada entidad para desarrollar una tarea, investigación, proyecto o simplemente para mejorar su sistema informático y brindar mas seguridad, eficiencia y rapidez a sus clientes.

* IBM, de las empresas más reconocidas a nivel mundial, ofrece soluciones completas para sus clientes con Grid Computing. También apoya a sus partners tecnológicos proveyéndolos con una solución completa, además de capacitación y entrenamiento.

La solución de integración de datos combina los elementos de hardware y software de IBM y el elemento de integración de datos comienza con WebSphere y ProfilesStage donde se integran los datos por medio de varios tipos de volumen de datos y automatiza el hallazgo de los mismos.

5.   INTEGRACIÓN   TECNOLOGICA   CON BASE DE    DATOS    DISTRIBUIDAS    PARA

SUMINISTRAR ALTA DISPONIBILIDAD

La propuesta para lograr la integración de los datos en una base de datos distribuida y ganar alta disponibilidad se basa en un caso real, que se presenta muy constantemente en los almacenes de cadena y que se ilustrará de tal forma que puedan explicarse todos los conceptos antes mencionados pero desarrollados de tal forma que al final de plantear la propuesta de solución Grid, el sistema quede completamente integrado, distribuido y disponible.

Se ha notado que cuando un cliente se dirige a un almacén que tiene un manejo gran en volumen de datos y realiza un reclamo por la compra de un producto, ya sea por devolución o solicitud garantía de un articulo, y esta petición se hace en un tiempo superior al de número de meses guardados en el historial de la base de datos, resulta ser todo un problema, por lo que es necesario esperar algunos días para que la información sobre la transacción sea subida al sistema y enviada a la tienda para proceder a hacer la devolución respectiva o dar respuesta a la petición del cliente.

Primero que todo, según el análisis del caso se llegó a la conclusión que la base de datos que estaban utilizando es centralizada, de ahí que dure tanto tiempo resolver un caso como este, ya que la capacidad de la base de datos es limitada y se van guardando copias de seguridad para almacenar la información entonces cuando se solicita un dato es necesario hacer el backup y la recuperación de la transacción y eso tarda algunos días.

La arquitectura que soporta esta base de datos es como se muestra en la siguiente gráfica  

                                                         Figura 1. Base de Datos Centralizada 

Como se observa en la gráfica, todos los servidores de aplicación están conectados a un servidor principal que está ubicado en la ciudad de Bogotá y desde allá se maneja toda la información de la compañía.

Para empezar a solucionar está problemática de reclamos, bastante incomoda para la empresa y el cliente, se propone una distribución de la información de manera que se cuente con 4 nodos principales teniendo en cuenta las diferentes sucursales que se tienen de la compañía en el país. En cada punto distribuido geográficamente por regiones se tendrá la información referente a los clientes, los productos y la más importante, las transacciones.

Todos los puntos contarán con la información que haga referencia a su cuidad y a las sucursales cercanas a ella de manera que la distribución quede hecha de tal forma que exista un equilibrio en el volumen de datos debido a que para garantizar la disponibilidad del sistema se sugiere emplear el método de replicación y no se sobrecarga ninguno de los nodos. La siguiente grafica muestra el sistema de base de datos distribuido que se propone para solución al caso de los reclamos.


Se solucionó el problema de los reclamos al distribuir la información y se ganó disponibilidad para el sistema pero aún la tenemos un problema que resolver y va enfocado a la parte de las aplicaciones que se manejan ya que cada cierto tiempo la compañía necesita saber su estado real y hacer cierto tipos de informes pero al distribuir la información resulta mas difícil hacerlo.

¿Cuá es la disponibilidad que hay de un determinado producto en todo el país?, está es la pregunta que llevará a dar la segunda opción de solución; implementar Grid Computing, donde las aplicaciones estén conectadas a la malla al igual que la información y la capa del Middleware según la arquitectura que plantea Oracle 10g como motor de base de datos se encargara de la comunicación entre los nodos distribuidos y ubicación de la información en cada uno de esos puntos, serán el paquete completo para darle toda la conectividad y confiabilidad a la malla y así resolver exitosamente el caso de los reclamos y de las aplicaciones de los servidores.

Se propone la siguiente arquitectura de distribución implementando Grid Computing según las capas que la conforman y utilizando el producto Oracle 10g como primera base de datos diseñada para entornos Grid, reduce el costo y el riesgo, mejora el nivel del servicio y las respuestas a cambios.


   
                                                                            Figura 2. Base de Datos Distribuida



                                                   Figura 3. Arquitectura Grid para una Base de Datos   Distribuida 


6. CONCLUSIÓN

Muchas empresas utilizan soluciones basadas en sistemas centralizados, ya sea porque manejan pocos datos o porque no han pensado en lo riesgoso de este tipo de manejo. A pesar que la solución se puede mejorar con un sistema distribuido, a veces no es suficiente, por la cantidad de aplicaciones que se conectan al sistema que a veces no da abasto con tanta petición.

Para resolver el caso se puede plantear una solución en Grid Computing, que pueda garantizar la velocidad y eficacia de las transacciones sin importar la cantidad de datos que se manejen, ya que Grid permite manejar un gran volumen de información de forma rápida, sin mostrar que es un sistema distribuido. Muchas empresas se han acogido a este tipo de sistema, mostrando grandes resultados, como le velocidad de respuesta y el ahorro económico. Por ejemplo, algunas empresas aseguran haber incrementado la velocidad de respuesta de las transacciones en un factor de 10.

Los beneficios que esta arquitectura presenta con significativos en costo y tiempo. La disponibilidad hace parte de la garantía que brinda un modelado como el sugerido y con el tiempo las empresas podrán observar que tecnologías como la que se ha analizado valen la pena y las comodidades que brinda para resolver problemas es invaluable.


7. BIBLIOGRAFIA

BOUZEGHOUB, Mokrane et. al. (Eds.). Semantics of a networked world: semantics for grid databases. Springer. 2004.

DI STEFANO, Michael.

Distributed data management for grid compu ting. Wiley Interscience.

GOYAL, Brajesh y LAWANDE, Shilpa. Grid revolution: an introduction to enterprise Grid Computing. New York: McGraw-Hill Osborne Oracle. 2005.

OPEN GRID FORUM. http://www.ogf.org/

OZSU, M. Tamer, VALDURIEZ, Patrick. Principles of distributed databases. London: Prentice-Hall International. 1991.

TANENBAUM, Andrew. Redes de computadores. México: Pearson Education. 2003.


 Connectivity layer that allows the functionality of the system applications

Capa de conectividad que permite el buen funcionamiento de todas las aplicaciones con las que cuenta el sistema

3http://www.oracle.com/technology/oramag/oracle/03-sep/o53grid_2.html
http://www.ogf.org/
Más información en http://www.oracle.com/