Jonathan Zeferino Murrieta - Repositorio Institucional de la

Anuncio
UNIVERSIDAD VERACRUZANA
Facultad de Contaduría y Administración
Base de datos en la nube con la
utilización de la tecnología OLAP
MONOGRAFÍA
para obtener el Título de:
Licenciado en Sistemas
Computacionales Administrativos
Presenta
Jonathan Zeferino Murrieta
Asesor:
Erasto Alfonso Marín Lozano
Cuerpo Académico:
Planeación e Innovación Tecnológica
Xalapa-Enríquez, Veracruz
Febrero 2015
UNIVERSIDAD VERACRUZANA
Facultad de Contaduría y Administración
Base de datos en la nube con la
utilización de la tecnología OLAP
MONOGRAFÍA
para obtener el Título de:
Licenciado en Sistemas
Computacionales Administrativos
Presenta
Jonathan Zeferino Murrieta
Asesor:
Erasto Alfonso Marín Lozano
Cuerpo Académico:
Planeación e Innovación Tecnológica
Xalapa-Enríquez, Veracruz
Febrero 2015
AGRADECIMIENTOS
Le agradezco a Dios por haberme acompañado y guiado a lo largo de mi
carrera, por ser mi fortaleza en los momentos de debilidad y por brindarme una
vida llena de aprendizajes, experiencias y sobre todo felicidad.
A MIS PADRES:
A mi Asesorare, sinodales
Erasto Alfonso Marín Lozano
Antes que otra cosa, Gracias
por darme la vida.
Margarita Altamirano Vásquez
Eloísa Ruiz González
Y Maestros:
Por el incondicional apoyo que
me brindaron durante todo este
tiempo, por soñar conmigo y
creer en mí.
Por luchar conmigo y es que
este logro no hubiese sido
posible sin su comprensión, su
amor y su cariño.
Por enseñarme que con
dedicación, humildad y fe, todo
es posible. Lo que algún día
comenzó como nuestro sueño,
hoy es una realidad, nuestra
realidad.
Los amo...
Por todo su apoyo, su tiempo, su
confianza y su dedicación. Gracias por
compartir conmigo sus conocimientos y su
amistad
A ERICKA MARTÍNEZ MARTÍNEZ:
Por sus consejos, su apoyo en las buenas
y en las no tan buenas. Por soportarme y
dejarme ser parte de su vida en toda esta
trayectoria. Gracias...
A MIS HERMANOS:
Por formar parte de mis sueños,
brindarme su cariño, su amistad y todo
lo bueno que en ustedes hay. Gracias...
ÍNDICE
INTRODUCCIÓN .............................................................................................................................. 2
CAPÍTULO I: MARCO TEÓRICO ................................................................................................. 6
1.1
Breve reseña de la evolución de las bases de datos ................................................. 7
1.2
Definiciones ..................................................................................................................... 10
1.2.1 Bases de datos ............................................................................................................. 10
1.2.3 Sistemas OLAP (Procesamiento analítico en línea) ............................................... 13
1.3 Funcionamiento de una base de datos ............................................................................ 15
1.4 Estructuras de una base de datos .................................................................................... 17
1.4.1 Jerárquica ...................................................................................................................... 17
1.4.2 Red ................................................................................................................................. 18
1.4.3 Relacional ...................................................................................................................... 21
1.4.4 Multidimensional ........................................................................................................... 22
1.4.5 Orientada a objetos ...................................................................................................... 23
1.5 Funcionamiento del sistema OLAP ................................................................................... 25
Capítulo II. Principios de computación en nube .................................................................. 28
2.1 Evolución de la computación en nube .............................................................................. 29
2.2.2 Tecnologías pertinentes de la computación en nube ............................................. 35
2.3.1 Software como modelo de servicio ............................................................................ 40
2.3.1.1 Beneficios clave del modelo SaaS ......................................................................... 41
2.3.2 Plataforma como modelo de servicio ........................................................................ 42
2.3.2.1 Elementos mínimos de una solución del modelo de plataforma como de
servicio ..................................................................................................................................... 43
2.3.2.2 Diferencias funcionales entre el modelo PaaS y las plataformas tradicionales
de desarrollo ............................................................................................................................ 44
2.3.3 Infraestructura como modelo de servicio .................................................................. 45
2.3.3.1 Funciones disponibles para el modelo de Infraestructura como servicio ......... 46
2.4 Modelos de implementación de nubes ............................................................................. 46
2.4.1 Nube Pública ................................................................................................................. 48
2.4.2 Nube Privada................................................................................................................. 48
2.4.3 Nube Comunidad .......................................................................................................... 49
2.4.4 Nube Hibrida ................................................................................................................. 49
2.5 Clasificación de la computación en nube ......................................................................... 50
II
2.5.1 Consumidor de servicio ............................................................................................... 50
2.5.2 Proveedor de servicio .................................................................................................. 51
2.5.3 Desarrollador de servicios ........................................................................................... 53
2.6 Las ventajas y desventajas de la computación en nube ............................................... 54
2.6.1 Ventajas de la computación en nube ........................................................................ 54
2.6.2 Desventajas de la computación en nube .................................................................. 59
Capítulo III. Implementaciones de la computación en nube ............................................. 63
3.1 Empresas desarrolladoras de nubes de servicios .......................................................... 64
3.1.2 Google Inc. ................................................................................................................... 65
3.1.3 IBM ................................................................................................................................. 66
3.1.4 Salesforce.com ........................................................................................................... 67
3.2 Implementaciones de aplicaciones de computación en nube existentes ................... 67
3.2.1 Aplicaciones de computación en nube para la familia .................................... 68
3.2.2 Aplicaciones de computación en nube para la comunidad ............................ 70
3.2.3 Aplicaciones de computación en nube para las empresas ............................ 71
3.3 Casos de estudio de IaaS y SaaS de empresas desarrolladoras multinacionales ... 74
3.3.1 Caso IaaS: Servidores de nube (Rackspace EE.UU., Inc.) y EC2
(Amazon.com Inc.) ............................................................................................................... 74
3.3.2 Caso SaaS: Google Docs (Google Inc.) y Zoho (ZOHO Corp. Inc.) ............... 76
3.4 Empresas mexicanas desarrolladoras de aplicaciones de computación en nube .... 78
3.4.1 S&C Constructores de Sistemas S.A de C.V ...................................................... 78
3.4.1.1 Aplicación de computación en nube (SaaS): Fortimax Versión 4.0 .......... 79
3.4.1.2 Fortimax Versión 4.0 (SaaS): Manejo de contenido empresarial como
servicio .................................................................................................................................... 80
3.4.1.3 Fortimax Versión 4.0: Personal ........................................................................... 82
3.4.2 SaaS México (www.saasmexico.com) .................................................................. 83
3.4.2.1 Aplicación de computación en nube: SaaS OFFICE Tool ............................ 84
Capítulo IV. Casos reales ........................................................................................................... 86
4.1 Microsoft System Center .................................................................................................... 87
4.1.1 Acerca de la implementación de cubos .................................................................... 89
4.2 Grupo Salinas ....................................................................................................................... 91
4.3 Gestiweb ............................................................................................................................... 91
4.3.1 Cubos OLAP para diferentes ERPs con Saiku ........................................................ 92
4.4 Eneboo .................................................................................................................................. 93
III
CONCLUSIONES........................................................................................................................... 95
FUENTES DE INFORMACIÓN .................................................................................................. 101
ÍNDICE DE FIGURAS ................................................................................................................. 104
IV
RESUMEN
En todo sistema de información, los recursos de datos deben organizarse y
estructurarse en cierta manera lógica de manera que puedan accesar con facilidad,
procesarse de manera eficiente, recuperarse con rapidez y manejarse de forma
efectiva. Todo esto es hoy en día solucionado gracias a las bases de datos.
La computación en nube se refiere a una categoría de soluciones de tecnología que
permite a los usuarios accesar a recursos informáticos (en este caso, a recursos de
datos), según sea necesario, así los recursos sean físicos o virtuales, dedicados o
compartidos, y sin importar la forma en que se acceda a ellos (mediante conexión
directa, red de área local [LAN], red de área amplia [WAN] o Internet).
Es un sistema informático basado en Internet y centros de datos remotos para
gestionar servicios de información y aplicaciones. La computación en nube permite
que los consumidores y las empresas gestionen archivos y utilicen aplicaciones sin
necesidad de instalarlas en cualquier computadora con acceso a Internet. Esta
tecnología ofrece un uso mucho más eficiente de recursos, como almacenamiento,
memoria, procesamiento y ancho de banda, al proveer solamente los recursos
necesarios en cada momento.
Una vez que esta infraestructura está en su lugar, a medida que la base de datos
surge, los usuarios simplemente pueden ir a la nube, solicitar los recursos que
necesitan y obtener acceso inmediato a su propia base de datos personal. Cuando
ya no necesiten los recursos de datos, estos se reciclan de nuevo en la nube para
reasignación, en lugar de quedar inactivos y desperdiciados.
1
INTRODUCCIÓN
El término de bases de datos no apareció hasta mediados de los años sesenta,
época en la cual la información era representada haciendo uso de un conjunto de
archivos, generalmente planos. Estos archivos no estaban relacionados entre sí, y
los datos almacenados representaban las relaciones existentes en la información
que representaban mediante referencias simbólicas y/o físicas. La redundancia era
grande y la integridad de la información representada dejaba mucho que desear
(Aguilar, 2010).
Aun así, muchos desarrolladores de software bautizaban a sus sistemas de archivos
como bases de datos, sin preocuparse de que cumplieran o no una serie de
propiedades que deben acompañar al uso de este término.
Para que se denomine a una base de datos como tal, debe satisfacer una serie de
propiedades, las cuales fueron incorporándose a estos sistemas a medida que el
software para la administración de la información que se desarrolló fue siendo más
eficaz. Hay que tener en cuenta que, hoy en día, no todas las bases de datos
satisfacen estas propiedades ideales, por lo que el analista de sistemas se ve
obligado a una armonización de las cualidades deseables de una base de datos, a
menudo contrapuestas (González, 2010).
Los procedimientos y estructuras para el almacenamiento y mantenimiento de la
información correspondientes a un determinado dominio de un problema han
evolucionado a medida que lo ha hecho la tecnología. Inicialmente los dispositivos
de almacenamiento sólo permitía un acceso serial a la información, por lo que las
estructuras de datos, mediante las que se podía representar la información, debían
ser muy simples (archivos con organización secuenciales) y los procedimientos de
acceso a esta información requería un alto tiempo de cómputo puesto que eran
puramente seriales. Además, los procedimientos encargados del mantenimiento de
la información era totalmente dependientes del hardware utilizando para ello, lo que
3
suponía una continua modificación del software encargado de esta tarea cuando el
hardware cambiaba (Aguilar, 2010).
Con la aparición de los dispositivos de almacenamiento que permitían el acceso
directo, generalmente denominado aleatorio, las estructuras mediante las cuales se
podía representar la información se fueron haciendo más complejas. En esta época
(histórica) se desarrollaron procedimientos de acceso directo a la información, si
bien seguían siendo estos procedimientos los encargados de describir la estructura
del almacenamiento de la información que trataban. Si la estructura cambia debido
a cualquiera de las múltiples razones posibles (cambios en los requisitos del cliente
del sistema o cambios en el entorno del sistema, lo que puede suponer la
modificación de la estructura de los registros que se almacenan en los archivos), los
procedimientos debían ser modificados para reconocer la nuevo estructura de la
información. En esta época, aunque el almacenamiento de la información sí era
independiente del dispositivo hardware utilizado, la estructura de la información no
era independiente de los procedimientos que la manejaban (http://www...).
Como los sistemas son dinámicos, los requisitos cambian con el tiempo, la
información a ser tratada en cada problema también cambia y, por tanto, es
necesario, de alguna manera, independizar la estructura de la información (los
archivos encargados de almacenarla) de los procedimientos encargados de su
tratamiento, si no se estaría siempre abocado a la dedicación de una gran cantidad
de esfuerzo a la modificación de todos aquellos procedimientos encargados del
mantenimiento de la información.
Cuando se reconoce que los sistemas evolucionan y que, por tanto, la información
y la estructura de la misma no son estática sino que va cambiando con el tiempo,
es cuando aparece el concepto de las bases de datos. Si se desea que cualquier
modificación en la cantidad, contenido y estructura de la información que se desea
mantener acerca de un determinando problema no afecta a los procedimientos
desarrollados previamente para el mantenimiento de la misma, es necesario tener
en cuenta que existe una independencia de los datos con respecto a los
procedimientos. El software, por tanto, debe referenciar los datos al nivel de ítem de
4
datos; es decir, a nivel de atributo o propiedad de los objetos que forman parte o
intervienen en el problema, y no a nivel de objeto. Así, la descripción lógica de un
registro (un objeto abstracto de interés procedimental) puede contener, para un
procedimiento, ítems de datos que son distintos a los que aparecen para otro
procedimiento para ese mismo registro (Merino, 2009).
Geovanni (2005) menciona que la independencia de los datos con respecto a los
procedimientos supone que la visión conceptual de los datos, tal y como se perciben
de la observación del problema del mundo real, no tiene por qué ser la misma que
la visión de los mismos, la estructura de los archivos utilizados para su
almacenamiento. Si los procedimientos encargados del mantenimiento de la
información sólo “ven” la estructura física de los datos y si ésta se realiza a nivel de
ítem de datos, un cambio en la visión conceptual no tiene por qué afectar, en
principio, a estos procedimientos.
Esta independencia de la información con respecto a los procedimientos que la
maneja debe satisfacer a dos niveles de abstracción para que sea efectiva; por
tanto, se habla de:
Independencia lógica de los datos, por la que la modificación de la representación
lógica general del dominio del problema no afecta a los programas de aplicación
que la manipulan, siempre que esta modificación no elimine ninguno de los ítems
de datos que estos programas requieran.
Independencia física de los datos, por la que la distribución de los datos en las
unidades de almacenamientos y la estructura física de la información almacenada
es independiente de los cambios de la estructura lógica general de la información y,
por tanto, de los procedimientos que manejan la misma.
5
CAPÍTULO I: MARCO TEÓRICO
En este primer capítulo comenzara por definir que son las bases de datos mediante
opinión de diferentes autores, con el objetivo de tener clara la función de esta,
abarcando un poco los diferentes tipos de base de datos y su relación con la
computación en la nube.
También hablaremos de los sistemas OLAP (Procesamiento Analítico en Línea),
para identificar las ventajas sobre esta.
1.1 Breve reseña de la evolución de las bases de datos
Una de las tendencias más comunes de nuestra sociedad, es la de almacenar gran
cantidad de datos para convertirla en información. Antes de la aparición de las
computadoras, el manejo de estos datos era sumamente complejo y laborioso, y por
lo general se necesitaba de muchas personas para controlarlos y mantenerlos
actualizados. Al surgir las computadoras y desarrollarse, el manejo de información
comenzó a automatizarse (Eréndira, 2010).
Al principio de la década de los 60´s, se realiza la definición de la estructura
elemental de las bases de datos: el archivo. Éstos se organizaban de modo
secuencial simple. La estructura física de los datos, era igual que la estructura
lógica, no había acceso en tiempo real y se utilizaba el procesamiento por lotes.
Todas las operaciones de E/S de los dispositivos de almacenamiento eran
ejecutadas por el software, no había independencia de datos, por lo que cada
cambio significaba la reescritura de todos los programas, con su respectivo proceso
de compilación y depuración (Martínez, 2005).
Fue después de 1965 cuando el término Base de datos (BD), comienza a
popularizarse, para entonces se utilizaban ya algunos dispositivos de acceso al azar
(a través de una llave), lo que evitaba la lentitud del procedimiento secuencial. Esto,
sin embargo, no libraba al programador de un dolor de cabeza, puesto que tenía
7
que prever los medios de direccionamiento al momento de escribir un programa.
Además, aun no existía una independencia física, no lógica de los datos.
Posteriormente aparecen los DMS (Data Management System) o Sistemas
manejadores de datos, estos estaban orientados a una sola aplicación, su uso
principalmente era la explotación de la información, son el paso anterior a los
Sistemas Manejadores de Bases de Datos (SMBD) (Javier, 2005).
Conforme el hardware avanza se hace necesaria la creación de un software que
hiciera posible la distribución física de los datos, sin que por ello se alterase su
estructura lógica, claro está que se debía evitar cambios en los contenidos de los
registros o en la estructura fundamental de los archivos. Los archivos estaban
diseñados para una aplicación determinada o un grupo de aplicaciones similares.
Al evolucionar el procesamiento de los datos comerciales, se hizo evidente que no
sería posible tener sólo una independencia de los datos con respecto al hardware,
sino que también se debía atender a las adiciones (nuevos campos, nuevas
relaciones) hechas a los datos almacenados. Ya en este momento, se reconoce que
el software de la BD evoluciona, y que lo más probable es que las aplicaciones
realizadas hoy necesitaran continuas modificaciones para los objetos a cumplir
mañana. Es entonces cuando los lenguajes se complican, aparece el DML (Data
Manipulation Language) y el DLL (Data Definition Language) (Eréndira, 2010).
En este momento se da la independencia física y lógica de los datos, el acceso es
al azar y las relaciones entre los programas permiten una mayor flexibilidad al
momento de realizar aplicaciones, las cuales ya no son tan específicas.
En los 80´s, con la baja de precios de los SMBD, éstos logran una mayor aceptación,
nace entonces lo modelos semánticos o conceptuales, el más aceptado de ellos es
el modelo Entidad Relación (Marqués, 2009).
A finales de esta década y durante los 90´s, con el auge de las computadoras
personales, BD se popularizan por complejo, los SMBD se vuelven más sencillos
de manejar y entender, establecer relaciones entre archivos es más fácil, la
transparencia es mayor, se elimina la redundancia innecesaria, comienzan a
8
aparecer términos como consistencia, e integridad, con respecto a los datos. Incluso
se comienza a hacer la distinción entre datos e información, tomando a la segunda
como el resultado del procesamiento y tratamiento de los primeros (Pérez, 2009).
Aparecen las BD Distribuidas, los SMBD se vuelven más poderosos y trasparentes,
y se comienzan a estudiar alternativas que buscan resolver problemas de
tratamiento de información que las BD actuales no pueden solucionar
adecuadamente. Para mediados de 1989 hay cerca de 200 productos comerciales,
o quizá más, considerados como SMBD, disponibles en el mercado, los cuales
trabajan en casi todos los tipos de plataforma de hardware y software existente. Por
ejemplo DB2, SQL/DS, OS/2 Extended Edition Database Manager (gestor de BD
para OS/2, edición extendida), ORACLE, INGRES, entre otros muchos. A pesar de
los alcances tan grandes que, en áreas como la administrativa, tienen los modelos
de datos relacionales, desde finales de los 70´s se hizo evidente que tenía grandes
desventajas en términos de poder expresivo semántico, lo que hizo que aparecieran
los modelos de entidad relación, de jerarquía semántica y de datos semánticos,
cuyo desarrollo ha continuado hasta hoy en día (http://www...).
Actualmente, los sistemas que dominan el campo de las Bases de Datos son los
relacionales, pues han demostrado ser por demás efectivos, con lenguajes de alto
nivel, empleando diversas funciones que garantizan la seguridad, integridad y
confidencialidad de la información, y proveyendo de herramientas poderosas tanto
al diseñador de la base de datos, como al usuario final.
(Anil, 2010) menciona que a pesar de la gran popularidad y alcance de éstos en el
terreno empresarial, su efectividad no ha sido la misma en otros campos, como el
diseño y la fabricación en ingeniería (CAD/CAM), ingeniería de software asistida por
computadoras (CASE), fabricación integrada por computadora (CIM), sistemas de
información geográfica, de información médica, de gestión de imágenes, de
administración del medio ambiente, y de apoyo a la toma de decisiones. Entre las
causas, por las que los SMBD tradicionales no son muy útiles en las áreas antes
mencionadas, está el hecho de que tienen poco poder expresivo; además, en este
tipo de aplicaciones no resulta fácil hacer corresponder la estructura de datos y
9
relaciones con el modelo de tablas; igualmente, se manejan versiones de objetos,
las transaccionales pueden ser de larga duración, las aplicaciones son de
naturaleza evolutiva, por lo que los cambios en la estructura deben poder realizarse
dinámicamente sin tener que echar abajo el sistema, entre otros muchos
requerimientos que las bases de datos tradicionales no pueden cumplir.
Es por ello que se han buscado caminos opcionales que proporcionen sistemas
administradores de bases de datos más adecuados a la realidad de las aplicaciones
anteriormente mencionadas. Entre las nuevas tendencias para SMBD se
encuentran:
Extensión de los sistemas relacionales. Es una variante del modelo de datos
relacional, pero con características extendidas como el representar objetos
complejos (Merino, 2010).
Sistemas de administración de bases de datos orientadas a objetos. Combinan el
modelo de orientación a objetos con la tecnología de bases de datos.
Sistemas administradores de bases de datos deductivas. Su principal característica
es que tienen mecanismos de inferencia, porque combinan la programación lógica
con las bases de datos (Silberschatz, 2005).
Sistemas de administración de bases de datos ‘inteligentes’. Se combina la
inteligencia artificial y sus desarrollos con las bases de datos.
1.2 Definiciones
1.2.1 Bases de datos
Una base de datos se puede definir como “un conjunto de información relacionada
que se encuentra agrupada o estructurada. Desde el punto de vista de
la
informática, la base de datos es un sistema formado por un conjunto de datos
almacenados en discos que permiten el acceso directo a ellos y un conjunto de
programas que manipulen ese conjunto de datos. Este trabajo se realizara con la
10
finalidad de aprender un poco más sobre una base de datos, sus características,
usos, estructuras, diseños, entre otros. Una base de datos tiene mucha importancia
en el ritmo de vida que llevamos en los actuales momentos, ya que, está acelera el
ritmo en el momento realizar una búsqueda de información” (David, 2005)
En su sentido más simple, una base de datos es una colección de datos. Una
definición más completa sería:
“…una colección de datos interrelacionados almacenados en conjunto, sin
redundancias perjudiciales o innecesarias; su finalidad es la de servir a una
aplicación o más, de la mejor manera posible; los datos se almacenan de modo
que resulten independientes de los programas que usan; se emplean métodos bien
determinados para incluir datos nuevos y para modificar o extraer datos
almacenados. Dícese que un sistema comprende una colección de bases de datos
cuando éstas son totalmente independientes desde el punto de vista estructural.”
(Patel, 2009)
Como puede notarse en la definición, se hace la diferencia entre base de datos y
sistema de base de datos, tomando al segundo como una agrupación de las
primeras.
Aguilar (2010) menciona que: hay cuatro componentes principales de un sistema de
base de datos, estos son:
1. Información. Esta debe ser integrada y compartida. Integrada quiere decir que al
unir varios archivos de datos distintos, se elimina en la mayor medida posible la
redundancia entre ellos. Compartida quiere decir que cada uno de los elementos de
la información en la base de datos puede compartirse entre sus distintos usuarios,
sin necesidad de que lo usen para el mismo propósito.
2. Equipo. Se refiere a los dispositivos de almacenamiento secundario, a la
microcomputadora, o servidor que se utilice para almacenar el sistema de base de
datos y su administrador.
3. Programas. Es el software que permite al usuario interactuar con la base de datos
física. A este software se le conoce como (DBMS) Data Base Management System
11
o Sistema Administrador de Base de Datos. Aunque el SMBD es el componente
más importante del sistema, no es el único, también existen utilerías, herramientas
para desarrollar aplicaciones, ayudas para el diseño, generadores de informes,
lenguaje de consulta, etc.
4. Usuarios. Son las personas. Los hay de tres tipos: programador de aplicaciones
(el que escribe los programas de aplicación que utilizará la base de datos), usuario
final (es el que interactúa con el sistema desde una terminal en línea o PC),
administrador de la base de datos (quien tiene la responsabilidad central sobre los
datos).
“Es el conjunto de informaciones almacenadas en un soporte legible por ordenador
y organizadas internamente por registros (formado por todos los campos referidos
a una entidad u objeto almacenado) y campos (cada uno de los elementos que
componen un registro). Permite recuperar cualquier clase de información:
referencias, documentos textuales, imágenes, datos estadísticos, etc.” (Sharma,
2009)
Una base de datos se define como “un fichero en el cual se almacena información
en campos o delimitadores, teniendo acceso a ella posteriormente tanto de forma
separada como de forma conjunta. Se utiliza normalmente para recoger grandes
cantidades de información. (Por ejemplo el listado de nombres y apellidos de los
alumnos de varios cursos).” (Fabian, 2011)
Una base de datos (BD) se define como un “conjunto de datos relacionados entre
sí”. Los conceptos relevantes en esta definición son “datos” y “relacionados”. (Patel,
2009)
“Datos”: Conjunto de hechos relevantes que pueden ser registrados de algún modo,
y que cuentan con un significado implícito. Reflejan situaciones del mundo real y
cambios en esas situaciones (http://www...).
“Relacionados”: Debe existir homogeneidad en la colección de datos que conforma
una BD. No se trata de un conjunto seleccionado de forma aleatoria. Los datos se
12
recopilan y registran con una finalidad. Los datos deben ser relevantes con respecto
a esa finalidad (http://www...).
La particularidad definitiva que convierte a un conjunto de datos en una base de
datos es la siguiente: una BD se controlan por medio de Sistemas de Gestión de
Bases de Datos (SGBDs).
1.2.3 Sistemas OLAP (Procesamiento analítico en línea)
Un cubo OLAP es una estructura de datos que supera las limitaciones de las bases
de datos relacionales y proporciona un análisis rápido de datos. Los cubos pueden
mostrar y sumar grandes cantidades de datos, a la vez que proporcionan a los
usuarios acceso mediante búsqueda a los puntos de datos. De este modo, los datos
se pueden resumir o reorganizar según sea necesario, para procesar la variedad
más amplia de preguntas pertinentes al área de interés de un usuario. (http://www...)
Los cubos son elementos claves en OLAP (online analytic processing), una
tecnología que provee rápido acceso a datos en un almacén de datos (data
warehouse). Los cubos proveen un mecanismo para buscar datos con rapidez y
tiempo de respuesta uniforme independientemente de la cantidad de datos en el
cubo o la complejidad del procedimiento de búsqueda.
Los cubos son subconjuntos de datos de un almacén de datos, organizado y su
marizado dentro de una estructura multidimensional. Los datos se suma rizan de
acuerdo a factores de negocio seleccionados, proveyendo el mecanismo para la
rápida y uniforme tiempo de respuesta de las complejas consultas (http://www...).
Martínez (2011) menciona que la definición del cubo, es el primero de tres pasos en
la creación de un cubo. Los otros pasos son, el especificar la estrategia de
sumarización diseñando las agregaciones (elementos pre calculados de datos), y la
carga del cubo para procesarlo. Para definir un cubo, seleccione una tabla objetivo
y seleccione las medidas (columnas numéricas de interés a los usuarios del cubo)
dentro de esta tabla. Entonces seleccione las dimensiones, cada compuesta de una
13
o más columnas de otra tabla. Las dimensiones proveen la descripción categórica
por el cual las medidas son separadas para su análisis por los usuarios del cubo.
Dimensiones
Las Dimensiones son categorías descriptivas por los cuales los datos numéricos
(las mediciones) en un cubo, son separados para su análisis. Por ejemplo, si una
medición de un cubo es el conteo de la producción, y las dimensiones son Tiempo,
localización de la fábrica y el producto, los usuarios del cubo, podrán separar el
conteo de la producción, dentro de varias categorías de tiempo, localización de la
fábrica y productos (Merino, 2010).
Una dimensión puede ser creada para usarse en un cubo individual o en múltiples
cubos.
Una dimensión creada para un cubo individual, es llamada dimensión privada. Por
el contrario si esta puede ser usada por múltiples cubos, se le llama dimensión
compartida. Estas podrán ser usadas dentro de todo cubo, en la base de datos, así
se optimiza el tiempo y se evita el andar duplicando dimensiones privadas.
Las dimensiones compartidas, también habilitan la estandarización de las métricas
de negocios entre cubos. Por ejemplo, el estandarizar las dimensiones compartidas
para el tiempo y localización geográfica, aseguran que los datos analizados, desde
diferentes cubos, estén organizados similarmente (Chen, 2011)
Un cubo OLAP, OnLine Analytical Processing o procesamiento Analítico en Línea,
término acuñado por Edgar Frank Codd de EF Codd & Associates, encargado por
Arbor Software (en la actualidad Hyperion Solutions), es una base de datos
multidimensional, en la cual el almacenamiento físico de los datos se realiza en un
vector multidimensional. Los cubos OLAP se pueden considerar como una
ampliación de las dos dimensiones de una hoja de cálculo (http://www...).
Los sistemas OLAP son bases de datos orientadas al procesamiento analítico. Este
análisis suele implicar, generalmente, la lectura de grandes cantidades de datos
para llegar a extraer algún tipo de información útil: tendencias de ventas, patrones
14
de comportamiento de los consumidores, elaboración de informes complejos… etc.
Este sistema es típico de los datamarts.

El acceso a los datos suele ser de sólo lectura. La acción más común es
la consulta, con muy pocas inserciones, actualizaciones o eliminaciones.

Los datos se estructuran según las áreas de negocio, y los formatos de
los datos están integrados de manera uniforme en toda la organización.

El historial de datos es a largo plazo, normalmente de dos a cinco años.

Las bases de datos OLAP se suelen alimentar de información procedente
de los sistemas operacionales existentes, mediante un proceso de
extracción, transformación y carga (ETL).
1.3 Funcionamiento de una base de datos
Con base en los elementos anteriormente mencionados, es posible trazar un diseño
del funcionamiento de una base de datos. Se hizo hincapié en que ninguna base de
datos funciona por sí misma, necesita por fuerza de otros componentes, uno de los
más importantes es una interfaz que interactúe con el usuario, a ésta se le llama
sistema administrador de la base de datos (SMBD), que no es otra cosa que
software de aplicación cuyas funciones son atender y manejar todas las solicitudes
de acceso formuladas por los usuarios.
Básicamente, el funcionamiento de una BD es sencillo, se crean archivos, mismos
que están organizados en registros, los cuales se dividen en campos, cada uno de
los cuales contiene un dato. Estos archivos son en sí el sistema de bases de datos.
Para entrar a él y manipular la información se recurre a un SMBD que permitirá al
programador desarrollar aplicaciones para obtener la información, dichas
aplicaciones serán programas sencillos de manejar para el usuario final, que le
15
permitirán insertar nuevos datos, realizar consultas, eliminar información, en fin,
mantener actualizados sus archivos, al tiempo que puede realizar casi toda clase
de operaciones con ella para obtener los resultados que desea. El funcionamiento
interno – es decir, la manera en que se realizan las operaciones anteriormente
mencionadas -, depende del tipo de base de datos de que se trate.
Se debe tener en cuenta que no es posible llamar base de datos a cualquier
agrupación de datos puesta por ahí, por el contrario, ésta para ser considerada
como tal, debe reunir una serie de requisitos, mismos que son:
1. Eliminación de la redundancia innecesaria. Esto quiere decir que existirá el
mínimo necesario de datos duplicados, con lo cual se reduce el espacio de
almacenamiento y se emplean mejor los recursos.
2. Evitar la inconsistencia en la medida de lo posible. Cuando no está controlada
la redundancia, puede ser que en determinado momento un mismo dato –
que está duplicado en dos archivos diferentes -, se encuentre actualizado en
uno pero en otro no, entonces se dice que la BD es inconsistente. Para lograr
una BD confiable, se debe eliminar esto lo más posible.
3. Información compartida. Es decir, que las aplicaciones puedan compartir los
datos existentes, al igual que los resultados que éstas generan con otras
aplicaciones.
4. Integridad. Como ya se dijo antes, la integridad se refiere a que es necesario
que la información no sea redundante, puede ser compartida sin necesidad
de duplicarse y que no sea inconsistente.
5. Seguridad. Una BD tendrá información vital de la empresa, por lo tanto, se
debe asegurar que ésta sólo pueda ser accesada por personas autorizadas,
que podrían manipularla en contra de los intereses de la empresa.
6. Independencia de datos. Anteriormente se explicó que existen dos niveles de
independencia, es conveniente que éstos estén presentes en toda BD, para
que de esta manera se puedan realizar toda clase de actualizaciones o
modificaciones sin tener que reescribir todo el sistema.
16
1.4 Estructuras de una base de datos
Imagínese lo difícil que sería obtener cualquier información en un sistema de
información si los datos estuviesen almacenados en forma desorganizada, o si no
existiese una forma sistemática para recuperarlos. Por lo tanto en todo sistema de
información, los recursos de datos deben organizarse y estructurarse en cierta
manera lógica de manera que puedan accesarse con facilidad, procesarse de
manera eficiente, recuperarse con rapidez y manejarse de forma efectiva. Todo esto
es hoy en día solucionado gracias a las bases de datos.
Las diferentes estructuras que puede tener una base de datos son las siguientes:
1.4.1 Jerárquica
Una base de datos jerárquica es un tipo de sistema de gestión de bases de datos
que almacenan la información en una estructura jerárquica que enlaza los registros
en forma de estructura de árbol en donde un nodo padre de información puede
tener varios nodos hijo. De la misma manera se puede establecer relación entre los
nodos hermanos En este caso la estructura en forma de árbol se convierte en una
estructura en forma de grafo dirigido (Aguilar, 2010).
El modelo jerárquico se clasifica en estructuras lineales y arborescentes. La primera
clase de estructura, cada tipo de registro padre sólo puede tener un tipo de registro
hijo. La segunda, un tipo de registro padre puede tener varios tipos de registros
hijos. El producto comercial de tipo Jerárquico más extendido y el único que ha
llegado hasta nuestros días es el IMS de IBM (http://www...).
El modelo jerárquico facilita relaciones padre-hijo, es decir, relaciones 1:N (de uno
a varios) del modelo relacional. Pero a diferencia de éste último, las relaciones son
unidireccionales. En justicia, dichas relaciones son hijo-padre, pero no padre-hijo.
Por ejemplo, el registro de un empleado (nodo hijo) puede relacionarse con el
registro de su departamento (nodo padre), pero no al contrario. Esto implica que
solamente se puede consultar la base de datos desde los nodos hoja hacia el nodo
raíz. La consulta en el sentido contrario requiere una búsqueda secuencial por todos
17
los registros de la base de datos (por ejemplo, para consultar todos los empleados
de un departamento). En las bases de datos jerárquicas no existen índices que
faciliten esta tarea (Eréndira, 2010).
Una de las principales limitaciones de este modelo es su incapacidad de representar
eficientemente la redundancia de datos. De la misma manera, otra limitación es, no
garantiza la inexistencia de registros duplicados. Esto también es cierto para los
campos “clave”. Es decir, no se garantiza que dos registros cualesquiera tengan
diferentes valores en un subconjunto concreto de campos.
1.4.2 Red
La mayor parte de bases de datos de objeto usan el concepto de navegación para
proporcionar la navegación rápida a través de las redes de objetos, generalmente
usando identificadores de objeto como indicadores "inteligentes" de objetos
relacionados.
El modelo de red organiza datos que usan dos fundamental construcciones,
registros y conjuntos. Los registros contienen campos (que puede ser organizado
jerárquicamente, como en el lenguaje COBOL de lenguaje de programación). Los
conjuntos (para no ser confundido con conjuntos matemáticos) definen de uno a
varias relaciones entre registros: un propietario, muchos miembros (Aguilar, 2010).
Un registro puede ser un propietario en cualquier número de conjuntos, y un
miembro en cualquier número de conjuntos. El modelo de red es una variación sobre
el modelo jerárquico, al grado que es construido sobre el concepto de múltiples
ramas (estructuras de nivel inferior) emanando de uno o varios nodos (estructuras
de nivel alto), mientras el modelo se diferencia del modelo jerárquico en esto las
ramas pueden estar unidas a múltiples nodos. El modelo de red es capaz de
representar la redundancia en datos de una manera más eficiente que en el modelo
jerárquico. Las operaciones del modelo de red son de navegación en el estilo: un
programa mantiene una posición corriente, y navega de un registro al otro por
siguiente las relaciones en las cuales el registro participa (http://www...).
18
Los registros también pueden ser localizados suministrando valores claves. Aunque
esto no sea un rasgo esencial del modelo, las bases de datos de red generalmente
ponen en práctica las relaciones de juego mediante indicadores que directamente.
Dirigen la ubicación de un registro sobre el disco. Esto da el funcionamiento de
recuperación excelente, a cargo de operaciones como la carga de base de datos y
la reorganización.
La mayor parte de bases de datos de objeto usan el concepto de navegación para
proporcionar la navegación rápida a través de las redes de objetos, generalmente
usando identificadores de objeto como indicadores "inteligentes" de objetos
relacionados. Objectivity/DB, por ejemplo, los instrumentos llamados 1:1, 1:muchos,
muchos:1 y muchos:muchos, llamados relaciones que pueden cruzar bases de
datos. Muchas bases de datos de objeto también apoyan SQL, combinando las
fuerzas de ambos modelos (Lépori, 2010).
En el modelo de red no existen restricciones, si queremos representar que un cliente
puede tener varias cuentas, cada una de las cuáles sólo puede tener un titular, y
cada cuenta ésta en una sola sucursal, que por supuesto puede ser compartida por
varias cuentas, éste sería el esquema:
Cliente Cuenta Sucursal
Con el modelo relacional podríamos tener ambas entidades definidas de la siguiente
forma:
Cliente = (Nº Cliente: Acceso Principal; Nombre, Dirección, Nº Cuenta: Acceso
Ajeno)
Cuenta = (Nº Cuenta: Acceso Principal; Saldo)
Se puede diseñar una base de datos de red el cual se parte de un esquema de
entidad de relacion (ER).
Los Pasos pueden ser:
Trabajar con entidades normales y por cada entidad crear un tipo de registros con
muchos o todos sus atributos cuyos campos pueden ser simples o compuestos.
19
Trabajar con entidades como comunes, las cuales son entidades que dependen de
otra para poder existir.
Para cada entidad débil se crea un tipo de registro que lo represente. Además
debemos relacionarla con la entidad de la que depende, para ello la entidad fuerte
de la que depende la débil viene ser propietario y la débil, miembro (keller 2009).
Trabajar con vínculos de uno-uno (1:1) y uno-muchos no recursivos. En el caso de
la relación de uno a uno se elige cualquiera de los dos registros como propietario y
al otro como miembro.
Si la relación es de muchos (1:N) se escoge como propietario al registro que
representa a la entidad que está al lado 1 de la relación y como miembro al registro
que representa a la entidad que está al lado N de la relación.
Trabajar con relaciones de muchos a muchos (N:M). Por lo que se tiene que crear
un tipo de registro, el cual será miembro de los dos registros que representan a las
entidades de la relación.
Trabajar con vínculos recursivos con vínculos de 1:1 o 1:N. Para ambos casos se
crea un nuevo registro. El cual se unirá al registro que representa la entidad a través
de tipo de conjuntos.
Por último se trabaja con los vínculos que relacionan a más de dos entidades. Por
lo que se tiene que crea un nuevo tipo de registro, el cual será el registro miembro
de los registros que representan a las entidades; los cuales vendrían a ser los
registros propietarios.
La programación facilita realizar una o varias tareas, tales como buscar, leer,
insertar, eliminar y modificar los registros. Por lo que es necesario el uso del
programa de manipulación de datos (DML). El genera órdenes de registro por
registro incorporadas en un lenguaje de programación de aplicación general, se
llama lenguaje anfitrión (Melissa, 2010).
(Melissa, 2010) menciona que: Para poder comprender perfectamente es necesario
entender algunos términos.
20
Registros actuales: Son registros específicos identificados de la base datos.
Indicadores de actualidad, los cuales son los responsables de llevar el control de
varios registros y ocurrencias; existen tres tipos de indicadores de actualidad.
Actual de tipo de registros
Actual de tipo de conjuntos
Actual de unidad de ejecución
Área de trabajo del usuario: Es el conjunto de variables locales las cuales tienen
diferentes tipos de registros para que el programa anfitrión pueda manipularlos.
1.4.3 Relacional
El modelo relacional constituye una alternativa para la organización y
representación de la información que se pretende almacenar en una base de datos.
Se trata de un modelo teórico matemático que, además de proporcionarnos los
elementos básicos de modelado (las relaciones), incluye un conjunto de operadores
(definidos en forma de un álgebra relacional) para su manipulación, sin ambigüedad
posible (James, 2010).
El carácter formal del modelo relacional hace relativamente sencilla su
representación y gestión por medio de herramientas informáticas. No es casual,
pues, que haya sido elegido como referencia para la construcción de la gran
mayoría de los Sistemas de Gestión de Bases de Datos comerciales disponibles en
el mercado; ni tampoco que sea también habitualmente seleccionado como modelo
de referencia para la elaboración del esquema lógico de una base de datos, como
tercer paso de la habitual metodología de diseño de BDs (después del análisis de
requerimientos y la elaboración del esquema conceptual) (James, 2010).
En el modelo relacional se basa en el concepto matemático de relación. En este
modelo, la información se representa en forma de “tablas” o relaciones, donde cada
fila de la tabla se interpreta como una relación ordenada de valores (un conjunto de
valores relacionados entre sí). El siguiente ejemplo presenta una relación que
21
representa al conjunto de los departamentos de una determinada empresa, y que
recoge información sobre los mismos.
Num Nombre Localidad D-01 Ventas A Coruña D-02 I+D Ferrol
Definiciones
Formalmente, una relación se define como un conjunto de n-tuplas; donde una ntupla se define a su vez como un conjunto ordenado de valores atómicos (esto es,
no divisibles ni descomponibles en valores más “pequeños” (Moalla, 2011).
1.4.4 Multidimensional
La estructura multidimensional de bases de datos es una variación del modelo
relacional, que utiliza estructuras multidimensionales para organizar datos y
expresar las relaciones entre los datos. Se pueden visualizar las estructuras
multidimensionales como cubos de datos y cubos dentro de cubos de datos. Cada
cara del cubo se considera una dimensión de los datos (James, 2010).
Cada celda dentro de una estructura multidimensional contiene datos agregados
que se relacionan con los elementos a lo largo de cada una de sus dimensiones.
Por ejemplo una sola celda puede contener las ventas totales de un producto en
una región para un canal de ventas específico en un solo mes (González, 2010).
Uno de sus principales beneficios es que constituye una manera compacta y fácil
de comprender, para visualizar y manipular elementos de datos que tienen muchas
interrelaciones.
Por lo tanto estas se han convertido en la estructura de bases de datos más popular
para las bases de datos analíticas que respaldan aplicaciones del procesamiento
analítico en línea (OLAP) en el cual se esperan respuestas más rápidas a consultas
empresariales complejas.
Ya hace un tiempo las organizaciones han usado los datos desde sus sistemas
operacionales para atender sus necesidades de información. Algunas proporcionan
acceso directo a la información contenida dentro de las aplicaciones operacionales.
22
Otras, han extraído los datos desde sus bases de datos operacionales para
combinarlos de varias formas no estructuradas, en su intento por atender a los
usuarios en sus necesidades de información.
A través del tiempo estos métodos han mejorado y ahora las organizaciones
manejan unos datos sobre los cuales la mayoría de las veces se toman decisiones
importantes.
1.4.5 Orientada a objetos
Las Bases de datos orientados a objetos se propusieron con la idea de satisfacer
las necesidades de las aplicaciones más complejas. El enfoque orientado a objetos
ofrece la flexibilidad para cumplir con algunos de estos requerimientos sin estar
limitado por los tipos de datos y los lenguajes de consulta disponibles en los
sistemas de bases de datos tradicionales (González, 2010).
Como cualquier Bases de Datos programable, una Base de Datos Orientada a
Objetos (BDOO) proporciona un ambiente para el desarrollo de aplicaciones y un
depósito persistente listo para su explotación. Una BDOO almacena y manipula
información que puede ser digitalizada (presentada) como objetos, además
proporciona un acceso ágil y permite una gran capacidad de manipulación
(González, 2010).
(Aguilar, 2010) menciona que los principales conceptos que se utilizan en las Bases
de Datos Orientada a Objetos (BDOO) son las siguientes:
•
Identidad de objetos
•
Constructores de tipos
•
Encapsulamiento
•
Compatibilidad con los lenguajes de programación
•
Jerarquías de tipos y herencia
•
Manejo de objetos complejos
•
Polimorfismo y sobrecarga de operadores y
•
Creación de versiones.
23
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a
objetos, trata de almacenar en la base de datos los objetos completos (estado y
comportamiento).
Eréndira (2010) menciona que: Una base de datos orientada a objetos es una base
de datos que incorpora todos los conceptos importantes del paradigma de objetos:
Encapsulación - Propiedad que permite ocultar la información al resto de los objetos,
impidiendo así accesos incorrectos o conflictos.
Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro
de una jerarquía de clases.
Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a
distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones
sobre los datos como parte de la definición de la base de datos. Una operación
(llamada función) se especifica en dos partes. La interfaz (o signatura) de una
operación incluye el nombre de la operación y los tipos de datos de sus argumentos
(o parámetros). La implementación (o método) de la operación se especifica
separadamente y puede modificarse sin afectar la interfaz. Los programas de
aplicación de los usuarios pueden operar sobre los datos invocando a dichas
operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que
se han implementado. Esto podría denominarse independencia entre programas y
operaciones.
Estructura de una BD OO
El paradigma orientado a objetos se basa en el encapsulamiento de datos y del
código relacionado con cada objeto en una sola unidad. Conceptualmente, todas
las interacciones entre cada objeto y el resto del sistema se realizan mediante
mensajes. Por lo tanto, la interfaz entre cada objeto y el resto del sistema se define
mediante un conjunto de mensajes permitidos (Marqués, 2012).
(Marqués, 2012) En general, cada objeto está asociado con:
24
Un conjunto de variables que contiene los
datos
del
objeto; las variables
corresponden con los atributos del modelo E-R.
Un conjunto de mensajes a los que responde; cada mensaje puede o no tener
parámetros o tener uno o varios.
Un conjunto de métodos, cada uno de los cuales es el código que implementa un
mensaje; el método devuelve un valor como respuesta al mensaje.
Mensaje en entorno OO no implica uso de mensajes físicos en redes informáticas.
Por el contrario, hace referencia al intercambio de solicitudes entre los objetos,
independientemente de los detalles correctos de su implementación. Se utiliza a
veces la expresión invocar un método para detonar al hecho de enviar un mensaje
a un objeto y la ejecución del método correspondiente.
1.5 Funcionamiento del sistema OLAP
En el mundo de las soluciones para Business Intelligence, una de las herramientas
más utilizadas por las empresas son las aplicaciones OLAP, ya que las misma han
sido creadas en función a bases de datos multidimensionales, que permiten
procesar grandes volúmenes de información, en campos bien definidos, y con un
acceso inmediato a los datos para su consulta y posterior análisis.
Como se ha mencionado anteriormente, las herramientas OLAP proporcionan a las
compañías un sistema confiable para procesar datos que luego serán utilizados
para llevar a cabo análisis e informes que permitan mejorar las operaciones
productivas, tomar decisiones inteligentes y optimizar la competitividad en el
mercado.
Cubo OLAP una base de datos multidimensional
Para funcionar, las aplicaciones OLAP utilizan un tipo de base de datos que posee
la peculiaridad de ser multidimensional, denominada comúnmente Cubo OLAP
(Martínez, 2007).
25
Básicamente, el Cubo OLAP, que acuña su nombre por su característica
multidimensional, es una base de datos que posee diversas dimensiones,
ampliando las posibilidades que hasta el momento ofrecían las conocidas hojas de
cálculo (Martínez, 2007).
Hasta la llegada del término Cubo OLAP, que nació de la mano de Edgar F. Codd,
de la compañía EF Codd & Associates, sólo se utilizaban bases de datos
relacionales para el proceso de la información, con sistemas tales como el ROLAP
(Orol, 2007).
Gracias a la incorporación de las bases de datos de tipo multidimensional, y el
nacimiento del nuevo concepto Cubo OLAP, las herramientas de soluciones para
sistemas Business Intelligence han avanzado notablemente en cuanto a las
prestaciones que estas aplicaciones brindan a las empresas, donde la información
confiable, precisa y en el momento oportuno, son uno de los bienes más preciados.
Cabe destacar que los Cubos OLAP son vectores en los cuales se dispone la
información, y gracias a esta ordenada jerarquía es posible llevar a cabo un análisis
rápido de los datos (http://www...).
Mediante la incorporación de estos vectores o cubos, se han ampliado las
posibilidades de las bases de datos relacionales, permitiendo el procesamiento de
importantes volúmenes de información, que de lo contrario sería imposible realizar.
Cada una de las dimensiones que posee la base de datos incorpora un campo
determinado para un tipo de dato específico, que luego podrá ser comparado con la
información contenida en el resto de dimensiones, para hacer posible la evaluación
y posteriores informes de la información realmente relevante para una compañía.
Una base de datos multidimensional puede contener varios cubos o vectores que
extenderán las posibilidades del sistema OLAP con el cual se trabaja (http://www...).
Por ello, si bien en general los sistemas OLAP suelen estar compuestos por tres
dimensiones, lo cierto es que existe la posibilidad de que el sistema OLAP albergue
más de tres dimensiones mediante la utilización de estos Cubos OLAP.
26
A pesar de las grandes ventajas que presenta este tipo de base de datos
multidimensional que incluye Cubos OLAP, la cual permite obtener mayor rapidez
en las consultas y en el procesamiento de la información, lo cierto es que su gran
falla reside en la imposibilidad de realizar cambios en su estructura (Martínez, 2007).
Debido a su forma de funcionamiento y almacenamiento de la información, cuando
los usuarios requieren realizar modificaciones en la estructura de este tipo de base
de datos, deben rediseñar el Cubo OLAP, sin posibilidades de poder utilizar la
estructura en la que se trabajó hasta el momento (Martínez, 2007).
Para tener una idea más simple de la función de los Cubos OLAP dentro de una
base de datos multidimensional, cabe destacar que cada una de las dimensiones o
escalas del cubo corresponde básicamente a una jerarquía de datos.
Un ejemplo claro de ello podría ser el siguiente caso: dentro de una escala temporal
para incluir datos determinados a un periodo de tiempo, que llevara el nombre de
"Enero de 2009", seguramente incluirá un dimensión denominada "Primer Trimestre
de 2009", la cual además incluirá otra dimensión llamada "Año 2009" y así
sucesivamente, de acuerdo a las necesidades de cada empresa (http://www...).
Asimismo, también pueden utilizarse otras dimensiones del cubo para recabar
información referente a situaciones geográficas, clasificación de los productos por
categorías, gastos realizados por la empresa, y demás.
Esta confluencia de la información permite llevar a cabo un análisis completo de
diversas situaciones, para hallar las soluciones correctas a los problemas de los
negocios.
27
Capítulo II. Principios de computación en nube
2.1 Evolución de la computación en nube
La computación en nube es un modelo emergente, sin embargo no es un desarrollo
revolucionario, ha evolucionado durante varias décadas. Por lo anterior en
necesario conocer algunas etapas y antecedentes de lo que hoy en día llamamos
computación en nube. Son dos los aspectos que se deben abordar para comprender
a este modelo. El primero se refiere a la evolución de las tecnologías, esto es, los
avances tecnológicos en materia de dispositivos de acceso a internet y el segundo
a la evolución lógica de las tecnologías de la información, tomando como base a los
proveedores de servicios de internet. A continuación se detallan cada una de estas
evoluciones.
2.1.1 Con base en los modelos de tecnologías de la información
Las tecnologías de la información han avanzaron de manera vertiginosa en la
segunda mitad del siglo XXI. En la figura 2 se muestran algunos de los avances
más significativos, así como sus desarrolladores.
Figura 2 Los principales avances tecnológicos y sus desarrolladores (Elaboración propia)
29
En la década de 1980 se inició la tendencia hacia la computación en nube con
concepto de computación Grid. La virtualización es otro concepto surgido de la
computación Grid, y esto debido a que una de sus principales características era
funcionar como un servidor virtual (http://www...).
El concepto de virtualización en la década de 1990 fue ampliado más allá de los
servidores virtuales. También es en este periodo cuando aparece la primera
plataforma virtual que incluía recursos de red y almacenamiento, poco después
surgen las aplicaciones virtuales que no contaban con infraestructura subyacente
especifica (http://www...).
Cuando hablamos de computación en nube, sin duda es necesario tomar de
referencia tanto a los modelos cliente/servidor y peer-to-peer (computación
distribuida) como los antecedentes de la computación en nube.
2.1.2 Con base en la lógica de la informática
Mather, Kumaraswamy y Latif (2009) ponen de manifiesto que la computación en
nube es en sí una evolución lógica de la informática. Y para demostrarlo toman
como referencia a los proveedores de servicios de nube (Cloud Service Provider,
CSP por sus siglas en inglés) como por ejemplo: Amazon.com, Google.com Inc. e
IBM, quienes son extensiones de los proveedores de servicios de internet (Internet
Service Provider, ISP por sus siglas en inglés).
Los primeros ISP proporcionaron acceso a Internet para las organizaciones y los
individuos. Estos proveedores solo brindaban principios de conectividad para
pequeñas empresas y usuarios. A pesar de lo limitado de sus servicios, proliferaron
rápidamente y se fueron denominados ISP 1.0. Cuando internet pasó a ser
considerado como una mercancía, los ISP consolidados vieron la posibilidad de
ofrecer a sus consumidores un valor agregado al servicio de internet y éste consistió
en acceso al correo electrónico y servidores en sus instalaciones. Estos
proveedores de internet pasaron a ser ISP 2.0 (http://www...).
30
Tiempo después servicios especializados conocidos como instalaciones de
colocación dieron origen a ISP 3.0. Estas instalaciones fueron denominadas como
centros de datos, donde existía una enorme posibilidad de localizar servidores,
clientes, equipos de almacenamiento, así como, otros proveedores de red. Una
ventaja que ofrecía ISP 3.0 era el bajo costo y el bajo nivel de complejidad
(http://www...).
La evolución continúo hasta llegar a los ISP 4.0, caracterizados por ofrecer además
de infraestructura informática, el suministro de aplicaciones especializadas dando
con ello origen a los ASP (Aplication Service Provider, ASP por sus siglas en inglés).
Uno de los inconvenientes para las organizaciones que hacían uso de este tipo de
servicios, era que necesitaban una especie de servidor dedicado (http://www...).
Con la computación en nube de llega a ISP 5.0, y se define como SPI, donde se
proporciona software como servicio (SaaS), Plataforma como servicio (PaaS) e
Infraestructura como servicio (IaaS), con la ventaja de contar con una infraestructura
compartida. Cada uno de estos modelos de servicios requiere de un análisis, por lo
que en capítulos posteriores serán abordados ampliamente (http://www...).
En nuestros días, la computación en nube ha captado la atención de muchas
empresas y ello debido a la infinita gama de posibilidades de desarrollo que les
ofrece. Con este nuevo modelo de computación aparecieron organizaciones
interesadas en su promoción y entre los más importantes están:
 El Instituto Nacional de Estándares y Tecnología de los esfuerzos para
promover la Computación en Nube.
 La Asociación de Tecnologías de la Información de América.
Algunos ejemplos de ISP en México son: Telmex S. A. de C. V. que ofrece servicios
de banda ancha para el hogar e internet directo empresarial, Alestra S. A de C.V.
con sus servicios de internet de banda ancha e internet a través de línea telefónica,
Megacable S.A. de C. V. con sus servicios de Internet para el empresarial y para el
hogar. En la figura 2.1 se muestra la evolución de los proveedores de servicios de
internet.
31
Figura 2.1 Evolución de los proveedores de servicios de internet (Elaboración propia)
2.2 Definiendo la computación en nube
El término computación en nube es relativamente reciente, siendo en 2007 cuando
adquirió notoriedad como una forma describir la computación distribuida y sus
aplicaciones asociadas con base en internet. Esta es la forma en que Miller aborda
el paradigma de la computación en nube. (Miller, 2008)
La nube es la esencia de la definición de este modelo de computación, y podemos
decir que consiste en un conjunto de computadoras y servidores vinculados entre si
y accesibles a través de internet. Lo particular de esta nube es que en ella están
alojados nuestros archivos y aplicaciones. Otros autores como Boss, Malladi, Quan,
Legrendi y Hall definen a la nube como “un conjunto de recursos informáticos
virtualizados” (Boss, Malladi, Quan, Legrendi y Hall, 2007).
32
2.2.1 Atributos de la computación en nube
Mather et al. (2009) definen la computación en nube basándose en cinco atributos:
multiusuario, escalabilidad masiva, elasticidad, pagar solo cuando se usa y auto
aprovisionamiento.
Sin embargo también existen organizaciones como el NIST (National Institute of
Standards, NIST por sus siglas en inglés), manejan otros términos como son: la
interoperabilidad, la portabilidad, la integración y SLA (Service Level Agreement,
SLA por sus siglas en inglés). Aun siendo de diferentes autores, los atributos son
complementarios y por ello es necesario tomarlos en consideración y conocer su
definición.
Multiusuario.
Los modelos tradicionales (Grid, distribuida) hacían uso de instalaciones
informáticas dedicadas exclusivamente a un solo usuario o propietario. En la
computación en nube, los recursos a nivel de red, de hospedaje y aplicación, son
compartidos, es decir, varios usuarios pueden hacer uso de un mismo recurso a
nivel de red, de hospedaje y de aplicación (http://www...).
Escalabilidad masiva
La tendencia de las organizaciones es tener cada vez mayor cantidad de sistemas,
pero la computación en nube ofrece la posibilidad de escalar varias veces esas
cantidades, de igual forma pueden hacer esto con su ancho de banda y capacidad
de almacenamiento (http://www...).
Elasticidad
Una organización puede adaptar sus recursos informáticos según sus necesidades,
esto es, tener la capacidad de aumentarlos o disminuirlos cuando exista la
necesidad de hacerlo. También existe la posibilidad de liberar recursos para
diferentes usos cuando ya hayan dejado de ser útiles (http://www...).
Auto aprovisionamiento de los recursos
33
Los usuarios son libres de disponer de recursos, como podrían ser sistemas
adicionales (capacidad de almacenamiento, procesamiento, software) y recursos de
red. La demanda es una palabra clave en la computación en nube y ello debido a la
gran flexibilidad que existe en torno a la adquisición de los recursos en función de
las necesidades de una organización (http://www...).
Interoperabilidad
Se refiere a “la capacidad de comunicación entre los sistemas” (Amrhein et al. 2009
p. 7).
La información comunicada por un sistema sea entendida por el sistema receptor.
Este atributo es de suma importancia ya que al existir diversos proveedores, las
nubes deben de trabajar de manera conjunta, independientemente de las
diferencias de proveedor.
Portabilidad
Es “La capacidad para ejecutar los componentes o sistemas en un entorno que
difiera de aquel en el que fueron desarrollados. En el mundo de la computación en
nube, esto incluye el software y entornos de hardware (físicos y virtuales)” (Amrhein
et al. 2009, p. 8).
Integración
Es “el proceso de combinación de componentes o sistemas en un sistema general”
(Amrhein et al. 2009, p.8).
Las nubes, las aplicaciones y sus componentes de ninguna manera pueden estar
aislados, ya que su éxito depende de un determinado grado de integración, pero
esta situación se agrava cuando recordamos la multitenencia y algunos otros
factores que tienen que ver con regulaciones en materia de leyes.
Acuerdo de nivel de servicio.
De acuerdo con Amrhein et al. (2009) es el contrato entre un proveedor y un
consumidor que especifica los requisitos de los consumidores y el compromiso del
34
proveedor de los servicios. En un SLA se establecen aspectos como: El tiempo de
actividad, la privacidad, la seguridad y procedimientos de copias de seguridad.
Pago por lo usado
Los usuarios pagan en base a los recursos que realmente utilizan y además por el
tiempo que los requieran.
2.2.2 Tecnologías pertinentes de la computación en nube
La computación en nube más que una tecnología, es la combinación de varias
preexistentes (ver figura 2.2). Estas tecnologías no fueron creadas con un fin
común, maduraron a diferente ritmo y contexto. Pese a todo lo anterior se unieron
para formar un “ecosistema técnico” para la computación en nube. Los nuevos
avances en materia de procesadores, almacenamiento, conexión a internet de
banda ancha, tecnologías de virtualización, además de la reducción de costos en
servidores.
Figura 2.2 Las tecnologías en la computación en nube (Elaboración propia)
Dispositivos de Acceso a la nube
35
En los últimos años han aparecido una enorme cantidad de dispositivos capaces de
lograr el acceso a internet y con ello a la nube. Computadoras personales (de
escritorio y portátiles), ordenadores de red, dispositivos de telefonía móvil. Uno de
los casos más sonados es el crecimiento del iPhone, el nuevo Nexus one de Google
así como la proliferación de aplicaciones disponibles, lo que se traduce en una
mejora en lo referente a la disponibilidad de la nube. Un mayor acceso conlleva al
mayor uso y crecimiento de los servicios dentro de la nube. Un ejemplo que
demuestra este crecimiento es el acceso a Skype desde un iPhone, con lo que la
red está mucho más cerca de los usuarios. Otro ejemplo es Salesforce.com quien
ha introducido una aplicación con la cual los usuarios pueden acceder a
determinados servicios desde su iPhone. Para el caso del Nexus los usuarios tienen
la posibilidad de ver y editar documentos de office, conectarse de forma remota a
bases de datos de sus empresas o su computadora de escritorio, por mencionar
solo algunos ejemplos (http://www...).
Navegadores
Los navegadores actuales son mucho más sofisticados y ligeros (iCloud, skyFire
para dispositivos móviles), lo cual ayuda que sea más fácil cargarlos, y de esta
manera se logra una disminución en el tiempo de acceso a la información y
aplicaciones de una nube. Otro aspecto importante es que gran parte de la
población de nuestros días está familiarizada con los navegadores y ello debido a
que son intuitivos dejando de lado la necesidad de guías de usuario y conocimientos
avanzados de computación.
Conexiones de banda ancha
Si hablamos de Computación en nube, entonces necesitaremos hablar de
conexiones de banda ancha, debido a las ventajas que nos ofrece el contar con una
conexión veloz y confiable. La disponibilidad de la banda ancha se ha vuelto muy
buena sobre todo en áreas metropolitanas.
Centros de datos
36
La capacidad de computación es otro factor importante para ofrecer servicios de
nube de calidad y es ahí donde los grandes centros de datos entran en acción.
También existen las llamadas granjas de servidores que al igual que los centros de
datos abarcan múltiples lugares, estos dos pueden ser conectados mediante redes
de trabajo, proporcionándoles computación distribuida y la capacidad de prestación
de servicios.
Mather et al. (2009) manejan una serie de ejemplos que ilustran la flexibilidad y
escalabilidad del poder la computación en nube” Entre estos ejemplos encontramos
a Google, que ha unido una enorme cantidad de servidores de bajo costo para
proporcionar una gran flexibilidad y potencia. Otro ejemplo es Amazon Computo
elástico de nube o EC2 (Elastic computer cloud, EC2por sus siglas en inglés) que
ofrece la virtualización en un centro de datos para crear un gran número de
instancias virtuales de los servicios que se solicitan. Por su lado Salesforce.com
ofrece los SaaS a su gran base de consumidores mediante la formación de grupos
de clientes para permitirles una mayor escalabilidad y flexibilidad.
Dispositivos de almacenamiento
Una considerable disminución en los costos de almacenamiento y la flexibilidad con
la que puede ser desplegado, han modificado el panorama del almacenamiento.
El dispositivo fijo de almacenamiento de acceso directo o también conocido como
DASD (Direct Access Storage Device, DASD por sus siglas en inglés)
paulatinamente ha sido sustituido por las llamadas redes de área de
almacenamiento o SAN (Storage Área Network por sus siglas en inglés), que nos
permiten reducir los costos y al mismo tiempo nos ofrece mucha más flexibilidad en
el almacenamiento de la empresa. SAN software gestiona la integración de
dispositivos de almacenamiento y de forma independiente puede asignar espacio
dependiendo de la demanda a través de una serie de dispositivos (http://www...).
Las tecnologías de virtualización
El término virtualización “se refiere a la abstracción de recursos informáticos (CPU,
almacenamiento, red, memoria, pila de aplicaciones y base de datos) para las
37
aplicaciones y los usuarios finales que consumen los servicios” (Mather et al. 2009,
p. 13). La virtualización es una plataforma básica en el fomento de la computación
en nube, y está transformando el rostro de los modernos centros de datos.
Empresas como Sun Microsystems Inc. aseguran que la virtualización es piedra
angular en técnica de diseño para todas las arquitecturas nube. Las tecnologías de
las virtualización permiten un modelo de nube de negocios multiusuario,
proporcionando una nube escalable y de recursos compartido para todos los
usuarios. Otro aspecto es que ofrece a los usuarios de la plataforma una amplia
variedad de servicios. En el ámbito empresarial, la virtualización ofrece la
consolidación de los centros de datos y eficiencias en las mejoras operativas de las
organizaciones.
Algunos ejemplos de estas tecnologías son: VMwave (virtual machine, VM por sus
siglas en inglés) que es un sistema de virtualización mediante software. NAS
(Network Attached Storage, NAS por sus siglas en inglés) que dé puede definir
como un sistema de almacenamiento de disco que está conectado a otro servidor
mediante un redirector de red. Otros ejemplos son virtualización de bases de datos
y software de virtualización.
2.2.3 API
Mather et al. (2009) sostienen que una buena interfaz de programación de
aplicaciones es otro facilitador para el modelo de computación en nube. Una API
permite al usuario tener funciones de auto-aprovisionamiento y, control de la
programación de los servicios de la nube y sus recursos. El comportamiento de la
API depende del tipo de modelo de prestación servicios de nube, como por ejemplo:
una simple manipulación de URL (Universal Resource Locator, URL por sus siglas
en inglés), para SOA (Service Oriented Architecture por sus siglas en inglés), hasta
avanzadas como en el caso de los modelos de programación.
Actualmente cada proveedor de servicios de nube tiene su API única, lo que
representa un enorme problema para los usuarios, principalmente porque esto evita
38
hacer portables las aplicaciones de nube, esto es, una aplicación no podrá
interactuar con las que se ejecutan a través de otras nubes o en ocasiones incluso
con las de su propia nube privada. Una API es exclusiva de un servicio de nube, por
lo tanto, arquitectos, desarrolladores, personal del centro de datos deben
familiarizarse con las características específicas de la plataforma (http://www...).
Aunque hasta el momento no existe una norma estándar para API de nube, los
proveedores y las comunidades de usuarios realizan esfuerzos para lograr una
normalización. Una de estas comunidades es la llamada UCI (Universal Cloud
Interface, UCI por sus siglas en inglés) que canaliza sus reclamos hacia la creación
de una interfaz de nube abierta y normalizada para la unificación de las API de
diferentes nubes. Sin embargo a pesar de todos los reclamos no se tiene
conocimiento de avance en la resolución de esta problemática.
2.3 Modelos de prestación de servicios en la computación en nube
Cuando hablamos de computación en nube, nos referimos principalmente a los
servicios que mediante ese modelo de computación se brindan. El término usado
para describirlos se conoce por el acrónimo de SPI, mismo que proviene de los tres
principales servicios provistos a través de la nube: software como servicio (Software
as a Service SaaS), plataforma como servicio (Plataform as a Service PaaS) e
infraestructura como servicio (Infrastructure as a service IaaS) (http://www...).
La Figura 2.3 muestra los tres modelos de servicios generalmente aceptados que
provee una nube.
39
Figura 2.3 Servicios de computación en nube, ejemplos y sus desarrolladores. (Elaboración propia)
2.3.1 Software como modelo de servicio
Si recordamos el método tradicional de adquisición de software, en el cual el
consumidor tenía que cargar el software en su propio hardware, a cambio de un
importe de licencia (un gasto de capital, conocido como CAPEX). (Mather et al.
2009, p. 18) El cliente también tenía la posibilidad de contratar un servicio de
asesoría, mantenimiento, parches y/o actualizaciones. Todo lo anterior estaba
condicionado a aspectos relacionados con el sistema operativo y, condiciones de
los contratos y las licencias.
“En el modelo de SaaS, el cliente no compra el software, sino que lo alquila para su
uso mediante una suscripción o pago por modelo de uso (un gasto de operación,
conocida como OPEX)” (Mather et al. 2009, p. 18) En algunos casos, el servicio es
gratuito pero de uso limitado. Otro aspecto que vale la pena resaltar es que el
usuario no está limitado al uso del servicio mediante un hardware determinado, ya
que puede acceder desde cualquier equipo o dispositivo autorizado. Otros autores
como Chou (2008) afirman que el software como servicio es sin duda la siguiente
etapa evolutiva en la forma en que una empresa utiliza el software y paga por él.
Pueden existir casos en los que sea necesario realizar trabajos específicos de
preparación dentro de la empresa para lograr la integración de aplicaciones que no
forman parte de la plataforma SaaS, pero que en cierto modo son potencialmente
necesarias para que los servicios sean plenamente funcionales y puedan ser
utilizados.
40
2.3.1.1 Beneficios clave del modelo SaaS
De acuerdo con Mather et al. (2009) las ventajas del modelo SaaS son las
siguientes:
 SaaS permite a la organización contratar a un tercero (proveedor de servicios
o proveedor de software), los servicios y gestión de aplicaciones, logrando
así, reducir los costos de las licencias de software, servidores y otras
infraestructuras necesarias para su correcto funcionamiento. Al mismo
tiempo logra disminuir los costos del personal necesario para el alojamiento
de las aplicaciones.
 SaaS permite a los proveedores de software: controlar y limitar el uso,
impedir la copia y distribución, facilitar el control de todas las versiones que
se deriven de su software.
 Usando la Web como infraestructura, una aplicación de SaaS puede ser
utilizada por varios usuarios (de uno a muchos), esto es, el usuario final
puede acceder a sus aplicaciones a través del navegador de internet. Muchos
de los proveedores de SaaS proporcionan una interfaz estandarizada con el
fin de facilitar el manejo de sus aplicaciones.
 Una aplicación de SaaS no está vinculada a ningún tipo de hardware
especifico, por lo cual, puede ser ejecutada con la infraestructura de acceso
a internet existente. Cabe aclarar que la configuración de los cortafuegos
puede afectar el correcto funcionamiento de las aplicaciones.
 El proveedor de la aplicación de SaaS brinda apoyo en la gestión desde la
perspectiva de usuario final. Una aplicación de SaaS puede ser configurada
mediante una API, pero una aplicación SaaS no puede ser personalizada
totalmente.
Mather et al. (2009) afirman que la única diferencia de arquitectura entre el modelo
tradicional de software y el modelo de aplicación SaaS, es el número de inquilinos
que soporta. El modelo tradicional de software es sinónimo de un modelo de
41
arrendamiento, esto es, un cliente adquiere una aplicación y la instala en un
servidor. El servidor ejecuta una aplicación específica para un determinado grupo
de usuarios finales de un cliente. El modelo de aplicaciones SaaS es multiusuario,
lo que significa que una gran cantidad de diferentes clientes comparten
infraestructura física de hardware, pero es única para cada cliente. El diseño de la
arquitectura multiusuario de las aplicaciones SaaS maximiza la distribución de los
recursos a través de los arrendatarios, pero sigue siendo capaz de diferenciar de
forma segura los datos pertenecientes a cada inquilino. La figura 2.4 muestra las
ventajas del modelo de SaaS.
Figura 2.4 Ventajas del modelo SaaS. Elaboración propia, basado en (Tim Mather, 2009)
2.3.2 Plataforma como modelo de servicio
En una plataforma como modelo de servicio (PaaS), el vendedor ofrece un entorno
de desarrollo para quienes desarrollan aplicaciones y ofrecen servicios a través de
42
la plataforma del proveedor. El proveedor típico ofrece kits de herramientas y
estándares para el desarrollo, canales de distribución y de pago.
“PaaS es una variación de SaaS mediante la cual, el entorno de desarrollo se ofrece
como un servicio. Los desarrolladores pueden utilizar los bloques de construcción
del entorno de desarrollo del proveedor para crear sus propias aplicaciones” (Mather
et al. 2009, p. 19).
PaaS es una plataforma cuya principal característica es alojar en la nube las
herramientas de desarrollo y permitiendo así tener acceso a ellas a través de un
navegador de internet. El alojamiento en la nube permite a los desarrolladores crear
aplicaciones web sin necesidad de instalar herramientas en sus computadoras, y
posteriormente implementar dichas aplicaciones sin conocimientos especializados
de administración de sistemas.
La utilidad del modelo de PaaS radica en permitir a los desarrolladores, poner en
marcha aplicaciones basadas en web, pero sin los costos y la complejidad de la
compra de servidores y su configuración. Con las posibilidades que ofrece el modelo
PaaS, se incrementara significativamente el número de personas capaces de
desarrollar, mantener y desplegar aplicaciones web.
2.3.2.1 Elementos mínimos de una solución del modelo de plataforma como de
servicio
De acuerdo con Mather et al. (2009) el modelo de PaaS tiene que cubrir una
determinada cantidad de elementos mínimos (ver figura 2.5). Estos elementos son:
 Un estudio de PaaS para saber si el desarrollo de la solución debe de ser
basada en navegador.
 Una solución PaaS debe permitir la integración con servicios web externos y
bases de datos.
 Una solución PaaS debe proporcionar una vigilancia global de la aplicación
y la actividad del usuario, para ayudar a los desarrolladores a entender sus
aplicaciones y mejoras.
43
 Escalabilidad, fiabilidad y seguridad debe ser incorporado en una solución
sin necesidad de PaaS adicional para el desarrollo, configuración, u otros
costos.
 Una solución PaaS debe brindar apoyo formal y colaboración bajo demanda
en todo el ciclo de vida del software (desarrollo, pruebas, documentación y
las operaciones), mientras mantiene la seguridad del código fuente y la
propiedad intelectual de los asociados.
 Una solución PaaS debe apoyar la facturación de pagar por lo que se usa
mediante el uso de medidores.
Figura 2.5 Elementos mínimos de una solución PaaS. (Elaboración propia)
2.3.2.2 Diferencias funcionales entre el modelo PaaS y las plataformas
tradicionales de desarrollo
Herramientas de desarrollo Multiusuario
44
Las herramientas de desarrollo de las plataformas tradicionales están destinadas a
un solo usuario, pero en el caso del modelo PaaS dichas herramientas deben ser
compatibles con varios usuarios y cada uno de ellos con varios proyectos activos.
Implementación de arquitectura Multiusuario
Un error frecuente de la plataforma tradicional de desarrollo es no considerar la
escalabilidad dentro del desarrollo inicial, siendo hasta el momento de desplegar el
proyecto cuando los administradores del sistema deben lidiar con este problema.
En PaaS, la escalabilidad de la aplicación y niveles de datos deben ser
considerados (http://www...).
La gestión integrada
Las plataformas tradicionales de desarrollo, no se encuentran asociadas con el
seguimiento en tiempo de ejecución, pero en PaaS la capacidad de vigilancia debe
de ser incorporada en la plataforma de desarrollo.
Facturación integrada
Ofertas de PaaS requieren mecanismos para la facturación en función del uso que
son únicas en el mundo SaaS.
2.3.3 Infraestructura como modelo de servicio
El modelo de IaaS proporciona la infraestructura para ejecutar las aplicaciones, pero
el enfoque de la computación en nube hace posible ofrecer un pago por uso y
escalabilidad del servicio según la demanda. “Un proveedor de IaaS puede construir
una infraestructura que controla los picos y valles de las demandas de sus clientes,
así como, añadir nuevas capacidades según vaya en aumento la demanda global”
(Mather et al. 2009, p. 22). De igual manera el modelo de IaaS puede cubrir solo el
alojamiento de aplicaciones o puede ser extendido a otros servicios (soporte de
aplicaciones, desarrollo y mejoras).
El modelo IaaS es básicamente un servicio asociado con la computación en nube y
se refiere a servicios en línea que resumen al usuario los detalles de infraestructura,
45
incluidos los recursos de computación física, la ubicación, la partición de datos,
seguridad, respaldos, etc. El proveedor tiene el control total de la infraestructura.
(Bennett, Bhuller y Covington, 2009) mencionan algunos ejemplos de IaaS como los
ofertados por AWS (Amazon Web Service, AWS por sus siglas en inglés): EC2
(Elastic Compute Cloud, EC2 por sus siglas en inglés) y S3 (Secure Storage
Service, S3 por sus siglas en inglés).
2.3.3.1 Funciones disponibles para el modelo de Infraestructura como servicio
Este modelo típico de IaaS cuenta con varias funciones. Dichas funciones son:
escalabilidad, pago cuando se usa y la mejor variedad de tecnología y recursos
(http://www...).
Escalabilidad
La capacidad de escalar las necesidades de infraestructura, tales como los recursos
informáticos, la memoria y almacenamiento. Todo lo anterior basándose en los
requisitos de uso del cliente (http://www.).
Pago solo cuando lo usas
Es decir se tiene la capacidad de comprar la cantidad exacta de infraestructura
necesaria en un determinado momento.
La mejor variedad de tecnología y recursos.
Con el modelo de IaaS el usuario tiene acceso a la mejor gama de soluciones en lo
referente a tecnología, y todo con un costo relativamente menor a de los modelos
tradicionales de plataforma de desarrollo.
2.4 Modelos de implementación de nubes
“Cuando hablamos de nubes, recordemos que nos referimos a una metáfora de la
internet y ello debido a que nos muestra una representación simplificada de la
46
complejidad, los dispositivos interconectados y todas las conexiones que en internet
se forman” (Mather et al. 2009, p. 22).
La computación en nube está compuesta por una diversidad de servicios fiables, los
cuales son emitidos desde centros de datos y tienen como base de construcción,
las tecnologías de virtualización. En nuestros días se habla de necesidades
informáticas de los consumidores y es ahí donde la nube aparece como un punto
de acceso único para satisfacerlas. Otro aspecto relevante es el software fuente de
estándares abiertos que primordial para el crecimiento de la computación en nube.
Como lo menciona (Mather et al., 2009) Los conceptos de nube pública y privada
son importantes porque el apoyo de computación en nube permite el
aprovisionamiento dinámico, escalable y de recursos virtuales por un proveedor a
través de conexiones de internet con pago de una tarifa.
Sin duda una enorme ventaja de la computación en nube para los usuarios finales
es no tener la necesidad de conocimientos, experiencia, o de control de la
tecnología que los soporta los servicios.
El NIST define cuatro modelos de implementación de computación en nube, los
cuales se muestra en la figura 2.6
Figura 2.6 Modelos de implementación de nubes según el NIST (Elaboración propia)
47
2.4.1 Nube Pública
Una nube pública o también llamada externa, se caracteriza por tener las
aplicaciones y servicios web de un proveedor disponibles a los clientes a través de
internet. Este tipo de nube es alojada, operada y administrada por un proveedor
desde uno o más centros de datos (http://www...).
Cabe aclarar que el término público en este caso no significa libre, y es que su uso
puede ser gratuito o con un costo muy bajo. También es necesario señalar que los
datos del cliente no son visibles y esto debido principalmente a que el proveedor
proporciona sus clientes mecanismos para controlar el acceso, esto es, la seguridad
de los servicios de una nube publica son responsabilidad del proveedor.
2.4.2 Nube Privada
Una nube privada también es llamada Interna y ello se debe a que emula una nube
en una red privada. Sus características son la elasticidad y el servicio local
(http://www...).
Dichos servicios son manejados dentro de la organización sí que existan
restricciones de ancho de banda de red, riesgos de seguridad y los exigencias
legales podrían ser necesarios de llevar en el caso de las nubes públicas.
En lo referente a infraestructura, las nubes privadas ofrecen mayor control sobre
esta, además de presentar significativas mejoras de la seguridad y ello debido
principalmente a que el acceso a usuario es restringido.
La principal diferencia entre la nube privada y la pública, radica en que la primera
se dedica a una sola organización y no se comparte en ninguna forma con otras
organizaciones. De acuerdo con (Mather et al., 2009) han surgido una variedad de
patrones de nubes privadas, sin embargo las más representativas son:
48
Dedicada
Su característica principal es estar dirigida a los departamentos internos de
tecnologías de la información de las organizaciones. Este tipo de nube privada está
vinculada con el centro de datos de un cliente (http://www...).
Comunidad
Este tipo de nube privada por lo general se encuentra situada en los locales de un
tercero y es operada por un proveedor que esté vinculado por SLA personalizado y
su uso requiere de cláusulas que fijen aspectos relacionados con la seguridad y
cumplimiento (http://www...).
2.4.3 Nube Comunidad
Una nube se caracteriza por ser utilizada por un grupo de organizaciones con
intereses comunes. Algunos de esos intereses pueden ser requisitos de seguridad
específicos o el compartir una misión. Los miembros de la comunidad además de
encargase de el control de la nube, comparten el acceso a los datos y sus
aplicaciones (http://www...).
2.4.4 Nube Hibrida
Como su nombre lo dice es una combinación de dos tipos de nubes que interactúan,
en este caso son la pública y privada. Su principal característica es que la
información crítica de las organizaciones no se externaliza sin embargo existen
servicios que si es posible compartir (nube pública), y esto debido a que existe
beneficio mutuo entre varias organizaciones. Una de las principales limitaciones de
este modelo es lograr un nivel de confianza entre los usuarios de las diferentes
nubes (http://www...).
49
2.5 Clasificación de la computación en nube
En la computación en nube los consumidores utilizan los servicios prestados a
través de las nubes. Los proveedores de servicios gestionan la infraestructura de
nubes y los desarrolladores de servicios se encargan de la creación de los servicios
propios. Como lo mencionan (Amrhein et al., 2009) para que todos estos servicios
puedan interactuar es necesario un estándar entre proveedores.
Cada uno de estos elementos será abordado con el fin de comprender su
funcionamiento.
2.5.1 Consumidor de servicio
Cuando hablamos de “consumidor de servicio nos referimos al usuario final o la
empresa que hace uso del software, plataforma o infraestructura como un servicio”
(Amrhein et al. 2009, p. 9).
Las interfaces de usuario y de programación con las interactúa el consumidor están
determinadas por los tipos de servicio que usa y el rol que este desarrolla (ver figura
2.7).
Figura 2.7 Elementos del consumidor de servicios (Elaboración propia)
Una enorme ventaja para el usuario es poder interactuar con la nube por medio de
interfaces que tienen la apariencia de ser un tipo común de aplicación. También
50
existen interfaces de usuarios que proporcionan algunas funciones administrativas
como pueden ser las de iniciar y detener máquinas virtuales, o la gestión del
almacenamiento de la nube.
Los consumidores escriben código para sus aplicaciones mediante la utilización de
diferentes interfaces de programación dependiendo del tipo de aplicación que
desarrollan. Otro aspecto relevante es que los consumidores trabajan mediante SLA
y los contratos. Generalmente los SLA y los contratos son realizados en base a
negociaciones entre el consumidor y el proveedor. Existen factores claves en una
negociación, por un lado están las expectativas del consumidor o cliente y por el
otro la reputación del proveedor (http://www...).
2.5.2 Proveedor de servicio
De acuerdo con Amrhein et al. (2009) un proveedor es aquel que ofrece servicios al
cliente, y sus tareas dependen del servicio que brinda. La clasificación que realizan
de los proveedores y sus tareas es la siguiente.
Para proveedor de software como servicio.
Realiza la instalación, gestión y mantenimiento del software. Las instalaciones
físicas en las que se ejecuta la aplicación no son necesariamente propias del
proveedor. De igual forma se establece que el cliente en ningún momento tiene
acceso a la infraestructura, solo tiene la posibilidad de acceder a la aplicación.
Para proveedor de plataforma como servicio.
Gestiona la infraestructura de nube para la plataforma, generalmente la
infraestructura está diseñada para un tipo particular de aplicación. En este caso los
consumidores no tienen acceso a la infraestructura que está debajo de la
plataforma.
Para proveedor de infraestructura como servicio
Ofrece mantenimiento a la base de datos, cola de mensaje, o al entorno de
alojamiento de las máquinas virtuales. En términos sencillos se puede decir que el
51
usuario utiliza este servicio como si se tratara de una unidad del disco, base de
datos, cola de mensajes, o de una máquina virtual, sin embargo no tienen acceso a
la infraestructura que aloja todos los servicios.
Figura 2.8 Diagrama de capas del proveedor de servicio (Elaboración propia)
La figura 2.8 define cada una de las capas del proveedor de servicios. La capa
inferior de toda la pila es el firmware y hardware en los se basa todo lo demás.
El nivel superior esta encuentra el núcleo del software (sistema operativo o gestor
de la máquina virtual). En el siguiente nivel se encuentran los recursos virtuales e
imágenes que incluyen los servicios básicos de computación en nube, como la
potencia de procesamiento, de almacenamiento y middleware. Las imágenes
virtuales incluyen tanto las imágenes y los metadatos necesarios para ser
controladas por el gestor de la máquina virtual. La capa de gestión es primordial
para las operaciones del proveedor de servicios. En el nivel inferior de toda la capa,
la gestión requiere de tres aspectos fundamentales como son: la medición para
saber con precisión quien utiliza los servicios y en qué medida, el aprovisionamiento
para determinar cómo se asignan los recursos a los consumidores, y de supervisión
para dar seguimiento al estado del sistema y sus recursos. El nivel superior de esta
52
capa está relacionado con la gestión de la facturación para recuperar los costos, la
planificación de las capacidades para garantizar la satisfacción de las exigencias de
los consumidores, la gestión de SLA para garantizar que se respeten las
condiciones de servicio acordadas por el proveedor y consumidor, y por último la
presentación de informes a los administradores. La seguridad está presente en
todos los niveles y operaciones del proveedor de servicios. De igual forma los
estándares abiertos tienen aplicación a todas sus operaciones. La interoperabilidad
con otros proveedores de servicios se sustenta en un conjunto de normas
(http://www...).
2.5.3 Desarrollador de servicios
Un desarrollador de servicios es aquel que “crea, edita y supervisa el servicio de las
nubes” (Amrhein et al. 2009 p. 12). Generalmente son una línea de negocios de
aplicaciones que son entregados de forma directa a los usuarios finales a través del
modelo SaaS.
Existen variaciones en los entornos de desarrollo para la creación de servicios.
Cuando un desarrollador crea una aplicación SaaS, es muy probable que el código
en que se está escribiendo la aplicación, dependa del entorno en el que está alojado
el proveedor de nube.
Un aspecto importante en el desarrollo de una aplicación es la depuración remota,
ya que permite a los proveedores realizar pruebas, conjuntamente con los usuarios
finales, antes de publicar definitivamente el servicio en la nube.
Finalmente el servicio es publicado, las pruebas realizadas, ofrecen al proveedor,
los parámetros para supervisar el rendimiento del servicio y realizar los ajustes
según convengan. La participación indirecta de los usuarios finales permite obtener
mejores servicios en cuanto a calidad y funcionamiento.
53
2.6 Las ventajas y desventajas de la computación en nube
Sin duda los aspectos de la computación en nube abordados hasta ahora nos
ofrecen un panorama con un amplio cumulo de ventajas, sin embargo es un modelo
de computación emergente y por eso es conveniente realizar un análisis serio, y ello
implica mostrar las desventajas que presenta este paradigma de la computación de
alto rendimiento.
2.6.1 Ventajas de la computación en nube
Son varias las ventajas que ofrece la computación en nube. (Miller, 2008) identifica
las siguientes:
Menor costo informático para los usuarios
Cuando nos referimos a costos hablamos de una ventaja financiera cuantitativa,
esto es, para ejecutar las aplicaciones basadas en la computación en nube no se
necesitara de una gran potencia de cálculo y por consiguiente podrá prescindir de
equipo (hardware) altamente costoso. Las aplicaciones se ejecutaran en la nube, lo
que no condiciona al hardware a disponer de potencia de cálculo o de espacio en
disco duro. Un cliente de computación en nube, puede disponer de equipos con
discos duros relativamente pequeños, menos memoria, procesadores más
eficientes, prescindir de unidades de CD o DVD (no necesita instalaciones de
software), todo lo anterior reduce significativamente los costos de los equipos
informáticos. Autores como Bob Worrall (2009) afirman que con este modelo de
computación sólo se paga por lo que se utiliza, y las tarifas son generalmente
inferiores al costo de desarrollo y mantenimiento de un departamento interno de TI
de los servicios equivalentes.
Mejora del rendimiento
Tradicionalmente un equipo de escritorio necesita una gran capacidad de
almacenamiento y de ejecución de aplicaciones (software), con lo cual su
rendimiento tiende a ser deficiente. La computación en nube ejecuta las
aplicaciones dentro de sí, logrando con ello liberar al equipo de escritorio del uso de
54
memoria. En resumen, un equipo con menos programas y carga de procesos, logran
arrancar y correr a mayor velocidad las aplicaciones de la nube.
Reducción de costes de infraestructura
Uno de los inconvenientes de las grandes empresas son las enormes inversiones
que deben realizar en sus departamentos de tecnologías de la información (potentes
servidores e instalaciones especiales para estos). En ocasiones una empresa
puede presentar una necesidad temporal de recursos informáticos y ello le obliga a
realizar una inversión que en cierta forma será usada solo en esa emergencia, pero
cuyos costos serán de definitivos para la empresa. Situaciones como las
anteriormente citadas, serán fácilmente manejables con la computación en nube, y
ello debido principalmente a que las necesidades especiales serán atendidas por la
nube, y aunque en cierta forma requieran de una inversión, ésta será solo mientras
se presenta la necesidad de los recursos informáticos.
Disminución de problemas de mantenimiento
El mantenimiento del hardware y software dentro de las empresas suelen acarrearle
significativos costos que de alguna manera suelen mermar sus finanzas. Con la
computación en nube, las empresas requerirán de menor cantidad de hardware,
esto es, entre menor necesidad de mantenimiento se reducirán los costos de este
rubro. Por el lado del software recordemos que todas las aplicaciones se alojan en
la nube, lo que implica que no habrá necesidad de mantenimiento de software
dentro de la empresa.
Reducción de los costos de software
Tradicionalmente una empresa recurría a la compra de paquetes de software
independiente para cada una de sus computadoras. Con la computación en nube
es posible adquirir software solo para aquellos usuarios que realmente tengan la
necesidad de utilizarlo. Otra posibilidad puede ser adquirir un solo paquete para
determinada cantidad de usuarios y con un precio sustancialmente inferior al de los
paquetes de software tradicional. Actualmente existen empresas (como Google)
que ofrecen sus aplicaciones basadas en web de acceso gratuito para los
55
individuos, y para las organizaciones los costos son significativamente menores que
los cobrados por Microsoft y proveedores similares de software de escritorio.
Actualizaciones instantáneas de software
Cuando una aplicación está basada en web, las actualizaciones ocurren de manera
automática y estarán disponible siempre que el usuario se conecte a la nube. Cada
vez que un usuario utiliza una aplicación de la nube, no tendrá la necesidad de pagar
una actualización y además tendrá reservada una actualización sin la necesidad de
descargarla.
Aumento del poder de cómputo
Un usuario de la computación en nube, tiene a su disposición de todo el poder de
cómputo de la misma. Con los equipos tradicionales de escritorio, el usuario se veía
limitado a las capacidades de cómputo que este le ofrecía. Esto cambia
drásticamente con la computación en nube y es que ahora el usuario puede hacer
uso de un poder de cómputo ilimitado, debido principalmente a los miles de
computadoras y servidores que conforman la nube.
Capacidad de almacenamiento ilimitada
La capacidad de almacenamiento de una computadora de escritorio está limitada
por el disco duro. La nube ofrece una capacidad de almacenamiento prácticamente
ilimitada. Una nube puede presentar capacidades de cientos de petabytes (un millón
de gigabytes) y gran parte de ellos disponibles para un usuario.
Aumento de la seguridad de datos
Uno de los principales inconvenientes del almacenamiento tradicional son las
pérdidas ocasionadas por las fallas en los dispositivos de almacenamiento, por
ejemplo: cuando el disco duro de alguna computadora personal se desploma o sufre
alguna avería, gran parte de la información contenida en él se pierde.
Situaciones de este tipo no se presentan en una nube y eso debido a que los datos
se duplican automáticamente, por ello no se pierde nada.
56
En la computación en nube, el bloqueo de una computadora personal no limita a
ningún usuario pues todos los datos están alojados en la nube. Con la computación
en nube la seguridad de los datos aumenta considerablemente.
Mejora en la compatibilidad de sistemas operativos
Lograr comunicación entre dos equipos con un sistema operativo diferente
(Windows a Mac) o compartir datos entre dos computadoras Linux a Windows), sin
duda dos actividades muy frustrantes.
En la computación en nube, los sistemas operativos no importan, esto es, compartir
documentos entre dos equipos con diferente sistema operativo es posible. En la
computación en nube los datos son lo primordial, los sistemas operativos pasan a
segundo término o dejan de ser necesarios.
Mejora de la compatibilidad de formatos de documentos
En la computación en nube cualquier documento creado es compatible con las
aplicaciones de otros usuarios y esto se debe a que son creados basados en
internet. La incompatibilidad de formatos no existe en la nube, todos los usuarios
pueden compartir tanto documentos como aplicaciones.
Facilita la colaboración grupal
Compartir documentos, conlleva a la colaboración para realizar dichos documentos
y es ahí donde la computación en nube ofrece una de sus más importantes ventajas
para los usuarios, y esta consiste en tener la capacidad de que múltiples usuarios
colaboren en documentos o proyectos. Por poner un ejemplo: una empresa tiene a
dos de sus desarrolladores más calificados, situados en regiones geográficas
distantes y los necesita juntos para un proyecto importante. Tradicionalmente el
trabajo de hacía de forma secuencial mediante envíos de documentos de un
desarrollador a otro. Con la computación en nube esos mismos desarrolladores
tiene la posibilidad de acceder a los documentos del proyecto de forma simultánea
y además cada edición realizada por un desarrollador se ve reflejada
automáticamente en la pantalla del otro desarrollador.
57
Para lograr este tipo de colaboración en grupo solo necesitan una computadora con
conexión a internet.
La colaboración en grupo se traduce en la reducción de los tiempos y una rápida
finalización de los proyectos. La computación en nube se cataloga como una
tecnología capacitadora y esto debido a que permite que dos usuarios con
diferentes niveles de conocimientos tener la posibilidad de interactuar en tiempo
real, permitiéndoles desarrollar habilidades.
El acceso universal a documentos
El olvido de documentos en una computadora no existe en la computación en nube,
ya que, los documentos se guardan en ella, no en la computadora. Cuando un
usuario necesita hacer uso de algún documento, puede acceder a él de forma
instantánea y lo único que necesitan es la conexión a internet. Con la computación
en nube, los documentos irán a donde el usuario vaya.
Últimas versiones disponibles
La creación de un documento dentro de la nube utiliza la última versión de aplicación
disponible. Por ejemplo: usando la computación en nube, un documento creado en
el hogar puede ser editado en la oficina ya que ambas usan la versión más reciente
de la aplicación.
Elimina la dependencia de dispositivos específicos
Con la computación en nube se termina con la necesidad de los usuarios de estar
sujetos una sola computadora o red. Cuando un usuario cambia de computadoras,
sus aplicaciones y sus documentos lo siguen a través de la nube. La computación
en nube elimina la necesidad de comprar versiones especiales de aplicaciones para
un dispositivo en particular. Los documentos y aplicaciones de una nube son los
mismos sin importar la computadora que se esté utilizando. La figura 2.9 muestra
las ventajas del modelo de computación en nube.
58
Figura 2.9 Ventajas de la computación en nube (Elaboración propia)
2.6.2 Desventajas de la computación en nube
La computación en nube también presenta algunas desventajas que podrían de
alguna manera convertirse en factores decisivos para la no adopción este modelo
de computación. La Figura 2.10 muestra las desventajas del modelo de
computación en nube.
Figura 2.10 Desventajas de la computación en nube (Elaboración propia)
59
Requiere una conexión permanente a internet
La computación en nube es imposible si no cuenta con una conexión a internet, y
esto se debe a que utiliza el internet para conectarse a las aplicaciones y
documentos. La falta de internet se traduce la ausencia de trabajo y en el caso de
conexiones poco confiables las desconexiones podrían llegar a generar demasiadas
pérdidas de tiempo de trabajo. Cuando el usuario se desconecta de internet, la
computación en nube deja de funcionar. Para un usuario acostumbrado a una
conexión consiste podría no ser una desventaja poco significativa. Sin embargo para
aquellos usuarios que usan documentos y aplicaciones basadas en la nube, de
ninguna manera es lo mismo estar en una oficina, que en un lugar público o en su
automóvil, a menos que se tenga una conexión estable en todos esos lugares
(http://www...).
Funciona deficientemente en conexiones de baja velocidad
Una conexión a internet de baja velocidad, por ejemplo: la que se encuentra con
servicios de acceso telefónico, hacen muy lenta a la computación en nube en el
mejor de los casos y puede ser que en ocasiones sea imposible de llevarla a cabo.
Para poder ser descargados, las aplicaciones y documentos basados en internet
requieren primordialmente de una conexión de banda ancha. En pocas palabras la
computación no es para conexiones lentas o de banda ancha reducida.
Puede ser lenta
Una conexión de alta velocidad con el uso de aplicaciones basadas en web puede
volverse lenta en comparación con el acceso a una aplicación similar en una
computadora personal. Gran parte de la lentitud se debe que todo lo relacionado
con la aplicación, debe ser enviado de iba y vuelta a las computadoras de la nube.
En días con demasiada demanda en la nube, el acceso instantáneo sencillamente
no existe.
Aplicaciones con características limitadas
60
Las aplicaciones basadas en web tienen una desventaja particular y es contar con
menos características que una aplicación de una computadora personal. Un
ejemplo que nos permite comprender mejor esta desventaja es comparar dos
aplicaciones como son: las presentaciones de Google, con las de Microsoft
PowerPoint, mientras que la primera aplicación nos ofrece una base de
características similares a Microsoft PowerPoint, esta última cuenta con funciones
mucho más avanzadas. Para un usuario con conocimientos avanzados en alguna
tipo de aplicación tradicional no es recomendable el salto a la computación en nube.
Otro aspecto relevante es que están en constante mejora, prueba de ello son los
esfuerzos que realiza Google para mejora gradualmente las características de
algunas de sus aplicaciones, por ejemplo: Google Docs y Hojas de cálculo con las
cuales comenzó de forma lenta, pero con el tiempo fue agregando muchas
funciones. A pesar de esto las aplicaciones tradicionales, como son, Microsoft Word
y Excel siguen siendo las más usadas (http://www...).
La realización de un cambio del software tradicional a las aplicaciones basadas en
web, requieren de un profundo análisis de las todas las características que
presentan las aplicaciones de nube. Las aplicaciones deben de cubrir todas las
características requeridas por el usuario, pues de otra forma no se recomienda la
migración hacia este modelo de computación.
Los datos almacenados pueden ser no seguros
Con la computación en nube todos sus datos se almacenan en la nube. Esto implica
que si algún usuario no autorizado logra entrar a la nube podrá acceder a datos
confidenciales de los usuarios. La seguridad de una nube puede ser cuestionable
en cierta forma.
La pérdida de datos en una nube es definitiva
Una nube crea respaldos automáticos, sin embargo en la remota posibilidad de que
una nube extravié datos, las pérdidas son definitivas. Esto se agrava cuando
recordamos que el usuario no posee ninguna copia de seguridad en sus
instalaciones.
61
Una vez comprendidos los conceptos básicos sobre la computación en nube, tales
como su definición, sus atributos, sus modelos, su clasificación, así como sus
ventajas y desventajas, es conveniente continuar con el análisis de las empresas
desarrolladoras y los servicios que ofrecen.
62
Capítulo III. Implementaciones de la computación
en nube
3.1 Empresas desarrolladoras de nubes de servicios
Un estudio sobre la computación en nube de poco sirve si no se conocen cuáles
son las compañías dedicadas al desarrollo de nubes. El modelo de computación en
nube se encuentra aún en su etapa de desarrollo, esa la razón de que existan pocas
empresas apostando por este modelo de computación.
De acuerdo con (Miller, 2008) uno de los servicios más básicos de computación en
nube ofrecidos por las compañías es el hosting para aplicaciones desarrolladas
desde cero. El servicio más completo incluye herramientas de desarrollo y
aplicaciones pre-construidas que los desarrolladores pueden como bloques para
desarrollas su propia y única página web.
3.1.1 Amazon.com Inc.
Amazon.com Inc. es uno de los principales proveedores de servicios de desarrollo
de nubes. Esta corporación ha invertido mucho tiempo y dinero en la creación de
pequeños servidores al servicio de su página web, estos recursos de hardware
están siendo puestos a disposición de los desarrolladores.
Computación elástica en nube (EC2 acrónimo del Inglés Elastic Cloud Computing)
es un servicio web comercial para desarrolladores y compañías que les permite el
alquiler en una nube dentro de los servidores de Amazon. Una de sus características
principales de EC2 es el despliegue de aplicaciones escalables. Con esto permite a
sus clientes solicitar un número determinado de maquina virtuales, en las que puede
cargar cualquier aplicación que este desee.
64
Un cliente puede crear, iniciar y poner fin a las instancias de demanda del servidor,
logrando así una verdadera elasticidad. El servicio de Amazon, ofrece tres opciones
para elegir el tamaño de su servidor virtual.
Las opciones son:
Pequeño: Servidor ofrece el equivalente de un sistema con 1.7 GB de memoria,
160GB de almacenamiento y un procesador virtual con núcleo sencillo de 32 bits.
Grande: Servidor que ofrece el equivalente a un sistema con 7.5GB de memoria,
850GB de almacenamiento y dos procesadores virtuales con núcleo sencillo de 64
bits.
Extra Grande: Servidor que ofrece el equivalente a un sistema con 15GB de
memoria, 1.7 TB de almacenamiento virtual y cuatro procesadores virtuales de
doble núcleo de 64 bits.
EC2 es uno de los servicios más posicionados de AWS .Es un conjunto de ofertas
que ofrece a desarrolladores acceso directo a los programas y maquinas. En
cuestión de números, AWS es uno de los servicios de nube más populares
actualmente, ya que cuenta con alrededor de 330,000 clientes, entre lo que se
encuentran desarrolladores, pequeñas en desarrollo y empresas consolidadas.
3.1.2 Google Inc.
“Google es una empresa líder en aplicaciones basadas en internet, por lo que no es
de extrañar que la compañía también ofrezca el servicio de desarrollo de nubes”
(Miller, 2008, p. 43).
Los servicios se presentan en forma de App Engine que permite ejecutar
aplicaciones web en la infraestructura de Google. Las aplicaciones desarrolladas
con esta tecnología son fáciles de construir, de fácil mantenimiento, y con muy
buena escalabilidad cuando el tráfico y las necesidades de almacenamiento
aumentan.
65
Algunas de las ventajas que ofrece el uso del servicio de App Engine de Google
son: pagar por lo que se usa, no hay costos de establecimiento, los recursos
utilizados (ancho de banda y almacenamiento) se miden por gigabytes, los precios
son competitivos, además de permitir control del importe máximo de los recursos
que consume la aplicación. El servicio gratuito se limita a 500 MB de
almacenamiento, CPU y ancho de banda, suficientes para soportar 5 millones de
visitas al mes. El consumo por encima de estos límites requieren de facturación
(implican costos).
App Engine incluye algunas características como son:
 Web de servicios dinámicos
 Almacenamiento persistente con consultas, ordenación y transacciones.
 Escala automática y balance de carga
 Soporte para todas las tecnologías web comunes
 API para la autentificación de usuarios y envió de correo electrónico
utilizando cuentas Google.
Un usuario desarrolla la aplicación (mediante Google API y en cualquiera de los
dos lenguajes Java ó Python) y la sube a la nube de App Engine, una vez ahí, está
lista para ser utilizado por los usuarios.
3.1.3 IBM
IBM es una de las compañías más fuertes a nivel mundial en lo referente a hardware
de computación de nivel, lo cual le da la posibilidad de ofrecer soluciones de
cómputo en nube. Esta compañía centra sus esfuerzos en las pequeñas y medianas
empresas con una suite de servicios basados en nube en demanda a través Blue
Cloud. “Blue Cloud es una serie de ofertas de computación en nube que permite a
las empresas distribuir sus necesidades de computo a través de una red de recursos
accesible a nivel mundial”. (Miller, 2008, p. 44). Un ejemplo de oferta que ofrece
Blue Cloud es la serie denominada IBM Express Advantage que incluye datos de
66
copia de seguridad y recuperación, la continuidad de correo electrónico y archivos,
además de funcionalidades de seguridad.
IBM proporciona la carga de trabajo basado mayormente en código abierto. Incluye
también herramientas de virtualización lo que la posicionan como una de las
empresas más confiables para el modelo de IaaS.
3.1.4 Salesforce.com
Esta empresa ofrece un SaaS de gestión de ventas, pero también es un líder en el
desarrollo de la computación en nube. La arquitectura de computación en nube de
la compañía es conocida como Force.com. Entre las ventajas de esta plataforma
como servicio es ser totalmente a la carta contar con su propia API y un Kit de
herramientas para desarrolladores.
Salesforce.com cuenta con AppExchange un directorio de aplicaciones basadas en
web. Los desarrolladores pueden utilizar aplicaciones de AppExchange cargado por
los otros, permite compartir sus propias aplicaciones con el directorio o publicar
aplicaciones privadas que son accesibles únicamente a los usuarios previamente
autorizados.
3.2 Implementaciones de aplicaciones de computación en nube
existentes
Otro aspecto importante para comprender la computación en nube es el
conocimiento de los usos reales que puede se pueden hacer en la actualidad de los
servicios y aplicaciones existentes basados en este modelo de computación. En
este capítulo se abordaran las implementaciones de la computación en nube en
diferentes ámbitos como son: el familiar, la comunidad y el empresarial.
67
3.2.1 Aplicaciones de computación en nube para la familia
La computación en nube tiene un sin número de aplicaciones en nuestra actualidad.
Estas aplicaciones incluyen a los usuarios típicos de una familia promedio quienes
pueden usarlas con diversos fines como por ejemplo: comunicarse, colaborar en
actividades y poder estar más cerca del entorno familiar (ver figura 3.1).
Figura 3.1 Aplicaciones de computación en nube para la familia (Elaboración propia)
La centralización de comunicaciones de correo electrónico.
La computación en nube puede ayudar a las familias a mejorar sus habilidades de
comunicación. El correo electrónico antes de la computación en nube se limitaba al
acceso en un solo equipo mediante el uso de aplicaciones como Microsoft Outlook
u Outlook Express instalada en la PC del hogar. También existía la posibilidad de
utilizar el servicio de correo electrónico proporcionado por el ISP, aunque con la
desventaja de una posible desincronización de la página web con los mensajes la
PC del hogar.
Con la computación en nube apareció el servicio web de correo electrónico como
Gmail de Google (mail.google.com), Microsoft Windows Live Hotmail (mail.live.com)
o Yahoo! Mail (mail.yahoo.com). Estos tres servicios de permitían a los usuarios
acceder al correo electrónico desde cualquier PC conectada a internet. Con los
nuevos servicios de correo electrónico, los integrantes de una familia logran estar
en contacto.
Colaboración en listas de horarios
La sincronización de eventos de una familia es otro aspecto que favorece la
computación en nube mediante las listas de horarios. La solución tradicional podría
68
haber sido mantener un horario en papel, aunque su consulta en un lugar diferente
de casa fuera imposible.
La solución apareció con los calendarios basados en web, como Google Calendar
(calendar.google.com) o Yahoo! Calendar (calendar.yahoo.com). El acceso a estos
calendarios es posible desde cualquier lugar, en cualquier momento y por cualquier
persona, además de poder ser configurado de forma que toda la familia tuviera la
posibilidad de agregar sus propios eventos.
Colaboración en listas de compras
Una solución para coordinar las compras de una familia con múltiples horarios y
actividades, es utilizar un programa procesador de texto para gestionar las listas de
compras. Google Docs es un ejemplo de este tipo de programas, pues permite la
creación de un documento y después autorizar el acceso a varios miembros de la
familia. Su funcionamiento es simple, ya que cada integrante de la familia accesa a
la lista y agrega los productos que necesita, esta misma lista es consultada al
momento de realizar las compras y todo con una conexión a internet.
Colaboración en proyectos de centros escolares
Las aplicaciones basadas en web ofrecen la posibilidad de poder colaborar en
proyectos de los centros escolares. Cuando los niños en edad escolar tienen que
realizar proyectos escolares en grupo, existen problemas de coordinación. Por
ejemplo: supongamos que un proyecto grupal consiste en la realización de una
presentación de un personaje celebre, y la típica solución es que todos los
integrantes de ese grupo usen Microsoft PowerPoint y lleguen al acuerdo de
reunirse en un lugar a una hora determinada para poder reunirse.
Con las aplicaciones basadas en Web ahora los traslados de todos los integrantes
de ese grupo de trabajo al punto de reunión ya no serán necesarios y es que existen
aplicaciones basadas en Web para realizar presentaciones como es el caso de
Google Presentaciones. Ahora cada integrante desde su propio hogar puede
agregar sus diapositivas a la presentación y los demás integrantes que estén
conectados podrán ver las trasformaciones en la presentación en tiempo real.
69
Aplicaciones como esta también ofrecen la posibilidad de guardar los proyectos con
otro tipo de formato en caso de no contar con conexión a internet dentro del lugar
donde se expondrá la presentación elaborada y usar software tradicional como
Microsoft PowerPoint.
3.2.2 Aplicaciones de computación en nube para la comunidad
Otros sectores de la población que se podrían ver ampliamente beneficiados con la
computación nubes son los grupos de vecinos, los equipos deportivos, las
organizaciones escolares todos ellos integrantes de una comunidad determinada
(ver figura 3.2).
Figura 3.2 Aplicaciones de computación en nube para la comunidad (Elaboración propia)
Comunicación de toda la comunidad
Una organización tiene la imperante necesidad de estar comunicada sobre todo
porque existen intereses comunes. En una comunidad sus integrantes suelen usar
su tiempo libre para realizar actividades relacionadas con grupos sociales y es aquí
donde el uso de correo electrónico como Gmail (mail.google.com), Microsoft
Windows Live (mail.live.com) o Yahoo! Mail (mail.yahoo.com). Aplicaciones de
correo electrónico como las antes mencionadas le permiten a un integrante
mantenerse en contacto con los demás integrantes del grupo, ya que puede acceder
a sus mensajes desde cualquier lugar (trabajo, hogar) solo con una conexión a
internet.
Los horarios de equipos deportivos
70
Dentro de una comunidad las actividades deportivas suelen ser de las más
comunes. Sin importar la edad o el deporte, existen una infinidad de actividades
(prácticas, partidos, reuniones de equipo) que requieren de una programación. Una
forma de poder controlar toda la logística de un grupo deportivo puede ser mediante
el una aplicaciones basadas en web como el caso de un calendario, como Google
Calendar (calendar.google.com), Yahoo! Calendar (calendar.yahoo.com), o
CalendarHub (www.calendarhub.com). La solución consiste en crear un calendario
público y proporcionar la dirección a todos los miembros del equipo y posteriormente
agregar todas las actividades para que puedan ser consultadas.
“Otras buenas alternativas son los constructores de sitios web de equipos
deportivos” (Miller, 2008, p. 63) Existen sitios web que ofrecen herramientas
diseñadas específicamente para el control de las actividades de equipos deportivos.
Estos sitios nos permiten contar con una página de inicio, perfiles de jugadores, lista
de expertos, cuadro de resultados. En el diseño es posible usar tanto los colores,
como el logotipo del equipo.
3.2.3 Aplicaciones de computación en nube para las empresas
De acuerdo con (Miller, 2008), las empresas (grandes y pequeñas) han sido las
primeras en adoptar la computación en nube, debido principalmente a la
disminución de costos y el incremento de la productividad al utilizar herramientas
basadas en web, sobre todo en la gestión de proyectos, colaboración de
documentos y presentaciones, así como en la administración de contactos.
Son muchas las aplicaciones basadas en web existentes en la actualidad, mismas
que facilitan sus labores a los empleados de una empresa. Con la computación en
nube los trabajadores pueden eliminar la dependencia de sus equipos de escritorio.
En la Figura 3.3 se muestran algunos de los ejemplos de aplicaciones de
computación en nube para las empresas.
71
Figura 3.3 Aplicaciones de computación en nube para las empresas (Elaboración propia)
Administración de cronogramas
Cuando en una empresa se organizan eventos que requieren de la asistencia de
colaboradores geográficamente distantes del punto de reunión, las aplicaciones
como
Yahoo!
Calendar
(calendar.yahoo.com)
o
Google
Calendar
(google.calendar.com) pueden ser de gran utilidad. Dichas aplicaciones nos
permiten sincronizar horarios y poder realizar la programación de un evento, de tal
forma que sea posible contar la mayor cantidad de colaboradores.
Según Miller (2008) existen otras aplicaciones con funciones más avanzadas para
la administración de cronogramas. Una de estas es AppointmentQuest
(www.appointmentquest.com), pero su uso implica una cuota mensual que oscila
entre los US 20 y US 200 por concepto de suscripción. También existen otras
aplicaciones como son: Schedulebook (www.schedulebook.com) y hitAppoint
(www.hitappoint.com).
Gestión de listas de contactos
El manejo de los clientes de un vendedor de una gran empresa requiere un control
muy riguroso. Aplicaciones como Microsoft Outlook son de ayuda, sin embargo
actúa solo como un almacén de nombres e información de contactos, además de
ser de difícil acceso estando fuera de la oficina.
Miller (2008) plantea una solución y esta es, la gestión de contactos basada en web.
Las razones del citado autor para el uso de este tipo de aplicaciones son su
adaptabilidad a las necesidades de un vendedor ocupado, además de que le
72
proporcionan características como son: una programación de actividades,
recordatorios de citas y plantillas de correo electrónico.
Algunas aplicaciones web para la gestión de contactos son BigContacts
(www.bigcontacts.com),
Highrise
(www.highrisehq.com),
y
el
mercadeo
Salesforce.com. Estas aplicaciones incluyen funciones como la gestión de gastos
de cuenta, los informes de actividades de ventas, por citar las más importantes. La
implementación de la computación en nube ofrece posibilidades de acceso a la
información, no solo al vendedor, sino también al gerente desde cualquier lugar y a
cualquier hora, solo con una conexión a internet.
Gestión de proyectos
Las empresas en algún momento de su existencia llegan requerir de la puesta en
marcha de un gran proyecto. La complejidad de estos proyectos radica en que
involucran a empleados de diversos departamentos y lugares, además de contar
con infinidad de tareas. El seguimiento de estas tareas individuales puede llegar
requerir un esfuerzo mayor si se usan aplicaciones de escritorio.
Miller (2008) recomienda minimizar el esfuerzo mediante la utilización de una
aplicación web de gestión de proyectos. Cuando se utiliza una aplicación de este
tipo, cualquier miembro del proyecto sin importar su ubicación puede acceder al
archivo maestro para agregarle o eliminarle tareas según sea el caso. Una ventaja
de un proyecto alojado en la nube implica que cualquier cambio realizado en él,
inmediatamente es mostrado en tiempo real al resto de los colaboradores, ya sea
mediante diagramas o listas de tareas.
“El costo de las aplicaciones web para la gestión de proyectos suele ser elevado,
además de ser difíciles de aprender a utilizar” (Miller 2008, p. 74).
Algunos
ejemplos
de
(www.aceproject.com),
aplicaciones
Basecamp
web
de
este
tipo
son:
(www.basecamphq),
AceProject
onProject
(www.onproject.com), y el proyecto Insight (www.projectinsight.com).
73
Acceso a documentos desde la calle
Cuando se habla de aplicaciones basadas en web es necesario recordar que el
acceso a la misma debe de poder realizarse desde cualquier lugar. De igual forma
un documento alojado en la nube debe de ser accesible sin importar la ubicación
del usuario. (Miller, 2008) asegura que todo lo que se necesita es una computadora
con acceso a internet, entrar al sitio adecuado, ingresar los datos del usuario
(nombre y contraseña), y posteriormente abrir cualquier documento.
3.3 Casos de estudio de IaaS y SaaS de empresas desarrolladoras
multinacionales
Aun cuando existen empresas que marcan la pauta en lo referente al desarrollo de
la computación en nube como en los casos de Google Inc. ó Amazon.com Inc., esto
no significa que ofrezcan mejores servicios y como muestra de ello, mostrare dos
ejemplos en los cuales se realiza una comparación de servicios ofrecidos por las
citadas empresas.
3.3.1 Caso IaaS: Servidores de nube (Rackspace EE.UU., Inc.) y EC2
(Amazon.com Inc.)
Amazon.com. Inc., es una empresa líder en la prestación de IaaS, sin embargo
también existen empresas más pequeñas que ofrecen servicios similares y con
mejores condiciones de servicio. Una forma de comprobarlo es analizando el caso
de Posterous, un servicio de blogs popular que prefirió los servicios de Servidores
de nube Rackspace EE.UU., Inc., sobre los ofrecidos por EC2 de Amazon.com Inc.
Cabe mencionar que Amazon.com Inc., es uno de los mayores proveedores de IaaS
mientras que Rackspace EE.UU., Inc., es una empresa que ofrece solo algunos
servicios como son: Servidores de nube y Nubes de archivos. Posterous considera
EC2 de Amazon, pero eligió Rackspace en su lugar. Las razones de la elección son
las siguientes:
74
Persistencia
Servidores de nube (Rackspace EE.UU., Inc.) Una de las diferencias más
significativas entre los servidores y EC2 Cloud es la persistencia de cada servidor
virtual. Esto significa que el servidor tiene la protección inherente contra fallos de la
unidad y en caso de existir una falla el servidor de nube no se va. Por su parte EC2
(Amazon.com Inc.) aunque con casos transitorios o efímeros, si hay un fallo algunos
datos pueden perderse.
Tamaño de servidor
Servidores de nube (Rackspace EE.UU., Inc.) cuenta con servidores a partir de 256
MB y va hasta 16 GB. Estos servidores de nube puede cambiar el tamaño de escala
hacia arriba o hacia abajo sin ninguna reinstalación. En el caso de EC2
(Amazon.com Inc.) su servicio inicia con 1,7 GB por lo que si su carga de trabajo
requiere menos recursos, está estancado pagando mucho más de lo que usted
necesita.
Poder de CPU
Servidores de nube (Rackspace EE.UU., Inc.) han garantizado el mínimo de
potencia de CPU (en relación con el tamaño de la nube de servidor), con conexión
gratuita a usar cuando la capacidad adicional se encuentra disponible. Para el caso
de EC2 (Amazon.com Inc.) cuenta con máximo de la CPU. Si se requiere la
capacidad de la CPU adicional, es necesario poner en marcha otra instancia.
Poder de cómputo
Servidores de nube (Rackspace EE.UU., Inc.) Su poder es computo es dos veces
más potente que CE2 de acuerdo con un estudio de un tercero. EC2 (Amazon.com
Inc.) cuenta con precios que suelen ser menores, solo que si se necesita más del
doble del tiempo para completar una tarea, el precio total de esa tarea aumenta
proporcionalmente.
Soporte
75
Servidores de nube (Rackspace EE.UU., Inc.) cuenta con apoyo en foros y recursos
en línea totalmente gratuitos. EC2 (Amazon.com Inc.) también cuenta con soporte
7x24x365 sin embargo esto implica un costo de un 20% del total del servicio. Esto
significa que cuando se desea contar con el soporte, conforme se utilicen más
recursos, los costos se incrementaran, independientemente de si es requerido o no
el soporte.
Alojamiento Hibrido
Servidores de nube (Rackspace EE.UU., Inc.) ofrece la posibilidad de contar con
servidores de nube, así como servidores dedicados. EC2 (Amazon.com Inc.) solo
ofrece los servicios de nube.
Estándares abiertos
Servidores de nube (Rackspace EE.UU., Inc.) colabora para desarrollar y promover
estándares de interoperabilidad. De igual forma solicita comentarios y realiza
pruebas intensivas con sus socios y desarrolladores de la nube. EC2 (Amazon.com
Inc.) suele estar menos centrado en las normas y la apertura.
3.3.2 Caso SaaS: Google Docs (Google Inc.) y Zoho (ZOHO Corp. Inc.)
Una comparación entre dos de los competidores de las llamadas suites de oficina
en línea. Por un lado esta Google Inc. con su Google Docs que incluye algunas
aplicaciones aun en desarrollo. Por el otro esta ZOHO Corp. una empresa hindú con
una suite denominada Zoho, la cual cuenta aplicaciones similares a las de Google
Docs solo que con mayores funcionalidades.
Aplicaciones
En el caso de Google Docs (Google Inc.) aún limitadas y con muy lento desarrollo.
Sus aplicaciones son: presentaciones, editor de documentos, hojas de cálculo). Por
otro lado esta Zoho (ZOHO Corp.) con mayor cantidad de aplicaciones
(Procesamiento de textos, hojas de cálculo, presentaciones, cuadernos para los
wikis, bases de datos en línea, gestión de proyectos) y en constante mejora.
76
Procesador de textos
Google Docs (Google Inc.) cuenta solo con una página de inicio que enumera todos
los archivos. Permite visualizar cambios en tiempo real. En el caso de Zoho Writer
(ZOHO Corp.) tiene una interfaz con pestañas (no se requiere abandonar una
página), permite el guardar y compartir plantillas. Un inconveniente es la necesidad
de actualizar la página para poder visualizar los cambios realizados.
Hojas de cálculo
Google Spreadsheets (Google Inc.) la colaboración en línea es muy buena, logrando
mostrar cambios en tiempo real. Un ejemplo de ello es mostrar una celda activa a
otro usuario remoto. Zoho sheet (ZOHO Corp.) de fácil manejo aunque presenta un
problema en la colaboración en línea, ya que se necesita de una constante
actualización de la página.
Presentaciones
Google presentaciones (Google Inc.) es muy sencilla aunque permite la crear,
compartir y visualizar las presentaciones en línea y en tiempo real. Zoho Show
(ZOHO Corp.) permite crear aplicaciones con inserción de un texto, formas y
flechas. Un problema se presenta al importar algún otro tipo de presentación,
recomendándose usarlo solo como un visualizador.
Bases de datos
Hasta el momento Google Inc., no cuenta con una aplicación de este tipo. Zoho
Creator (ZOHO Corp.) permite crear y administrar aplicaciones de base de datos,
además de contar con una gran cantidad de plantillas y posibilitar la creación de
formularios.
77
3.4 Empresas mexicanas desarrolladoras de aplicaciones de
computación en nube
Los resultados de un estudio realizado por la compañía F5 networks muestran la
forma en que las grandes empresas están implementando la computación en nube.
De acuerdo con los resultados de dicho estudio, los servicios en red están ganando
protagonismos en las grandes compañías, con más un 80% de los encuestados en
fase de pruebas para despliegue de computación en nube tanto públicos como
privados. A pesar de que estudios como el realizado por F5 Networks, en México
son contados los casos de empresas de sector de las tecnologías de la información
que desarrollen aplicaciones de computación en nube y una de estas empresas es:
“S&C Constructores de Sistemas S.A. de C.V”, que ofrece un producto denominado:
“Fortimax Versión 4.0”
3.4.1 S&C Constructores de Sistemas S.A de C.V
S&C Constructores de Sistemas S. A de C. V. es una empresa altamente
especializada en diferentes disciplinas de la informática, las comunicaciones, la
administración, la consultoría y los servicios.
Historia
S&C Constructores de Sistemas S. A de C. V. inició operaciones en 1980 con el
ensamble de equipos de cómputo para el mercado mexicano. Pero fue hasta 2005
cuando las empresas del Grupo, aprovechando la experiencia adquirida durante
más de veinticinco años de trabajo, evolucionan y se consolidan en once unidades
de trabajo que unen su infraestructura de soporte, ingeniería y ventas para optimizar
los servicios de postventa al cliente de todos los productos soportados y propios, el
mantenimiento integral de infraestructura informática y servicios de outsourcing.
Hoy atiende de forma integral los más variados proyectos de modernización
operativa, de diseño, puesta en marcha y operación de grandes sistemas de
información y control en el país. Por su dimensión, su experiencia, los clientes que
78
atiende y los recursos con los que cuenta, es una de las principales organizaciones
en el mercado de la tecnología de la información en México.
Objetivo de la empresa
El objetivo de S&C Constructores de Sistemas S. A de C. V. es incrementar la
eficiencia de las organizaciones mediante la modernización de los procesos y la
sistematización de la información. Para lo cual aplican la tecnología en objetivos de
rentabilidad, control, competitividad y seguridad.
3.4.1.1 Aplicación de computación en nube (SaaS): Fortimax Versión 4.0
El 80% de la información de una empresa reside en la información no estructurada,
vital para las operaciones diarias de los departamentos más ricos de la empresa
(marketing, finanzas, recursos humanos), es lo que arroja como resultado un estudio
realizado en varios países por Oracle Ibérica en conjunto con IDG. Esta información
no estructurada comprende correo electrónico, facturas, formularios, hojas de
cálculo, imágenes, presentaciones, entre otros. Razones como estas dieron origen
a la creación de computación en nube en México: Fortimax 4.0 (ver figura 3.4).
Figura 3.4. Aplicación de computación en nube en México: Fortimax 4.0 (http://www...)
Los creadores de “Fortimax suele ser manejada al margen de las políticas y normas
corporativas de la seguridad, con deficientes o nulos procedimientos de resguardo.
También aseguran que en muchas ocasiones este tipo de información expuesta
riesgos de pérdida o uso indebido, no solo en los casos de robo ó extravió, si no en
situaciones como los cambios de personal o fallas en los equipos que almacenan
dicha información (ver figura 3.5).
79
Figura 3.5 Objetivos de Fortimax 4. (Elaboración propia)
3.4.1.2 Fortimax Versión 4.0 (SaaS): Manejo de contenido empresarial como
servicio
Existe la versión de Manejador de contenido empresarial como servicio y es
“Fortimax 4.0 SaaS”. Dicha aplicación es instalada y administrada en la
infraestructura tecnológica del cliente (ver figura 3.6).
Figura 3.6 Fortimax 4.0 de SaaS (http://www...)
Las características de “Fortimax 4.0 SaaS” son:
 Uso de la aplicación mediante un cargo mensual, acorde con el uso de los
usuarios
 Evita el pago de licencia inicial y renovaciones anuales posteriores
 Permite implantar políticas y sistemas de protección, consulta y
administración centralizada de la información.
Funcionalidad y prestaciones
Sincronizar archivos, carpetas y respaldos programados
80
La aplicación permite definir tareas programadas para que éstas se ejecuten en
cualquier horario, respetando la estructura jerárquica en el equipo por respaldar.
Este mecanismo de respaldos desatendidos garantiza: Al usuario, que la
información valiosa esté siempre resguardada y sea accesible en todo momento y
a las corporaciones, la rápida disposición de documentos importantes respaldados
en los equipos de sus empleados, permitiendo implantar un primer nivel de
resguardo de información corporativa dispersa en la organización.
Digitalización de documentos.
La aplicación soporta el estándar TWAIN para digitalizar documentos (por ejemplo,
facturas, escrituras, poderes, actas constitutivas, credenciales de elector, etc.),
originados en formato electrónico, así como crear y mantener colecciones de
imágenes mediante un dispositivo de captura
Recuperar carpetas y archivos
Las carpetas y archivos pueden recuperarse en la PC del usuario como archivo
comprimido. Una vez recuperado, el usuario lo puede modificar en su PC y luego
respaldarlo nuevamente en la aplicación sin necesidad de modificar el nombre.
Crear un disco virtual
Un usuario puede crear una unidad virtual en cualquier PC. Esta funcionalidad
permite que cualquier usuario tenga acceso a su trabajo día con día en donde quiera
que esté a documentos, archivos, programas, estadísticas, presentaciones, música
y video. La operación se limita a verlo como un disco virtual de la PC, con la
estructura definida por el usuario: la vista inmediata muestra la carpeta Gavetas
entre los archivos del área de trabajo Mis documentos con todas las aplicaciones a
las que el usuario tiene acceso con base a los privilegios que tenga asignados.
Personalización de imagen corporativa.
La aplicación permite integrar la imagen corporativa de la organización para que los
empleados se sientan identificados.
81
3.4.1.3 Fortimax Versión 4.0: Personal
Esta aplicación es la versión reducida de FORTIMAX 4.0 que permite a
profesionistas y pequeñas organizaciones contratar el servicio personal de
resguardo de información con un cargo mensual a su tarjeta de crédito.
FORTIMAX 4.0 PERSONAL resguarda de manera sencilla y segura, documentos
digitalizados con cualquier escáner TWAIN. Esta aplicación brinda servicios
similares a los de un disco virtual disponible inclusive de manera gratuita en internet.
Sin embargo esta versión personal de la aplicación incrementa la disponibilidad de
su información en un (99.99%) encontrándose en el centro de datos de Xertix. La
aplicación encripta la información, lo que incrementa de manera radical el nivel de
su seguridad. Existe una versión de gratuita con una duración de 2 meses de
almacenamiento (ver tablas 3.8, 3.9 y 3.10).
Figura 3.8 Página de inicio de Fortimax 4.0, (http://www...)
Figura 3.9 Datos de creación de cuenta gratuita (prueba de 2 meses) (http://www...)
82
Figura 3.10 Funcionalidades de Fortimax 4.0 (http://www...)
3.4.2 SaaS México (www.saasmexico.com)
CEIS Avance Centro de Excelencia en Ingeniería de Software es un modelo de
fábrica de software que proporciona servicios de maquila de software en las
diferentes tecnologías de la información y la asignación de recursos entrenados
según el perfil de deseado del cliente. CEIS Avance es la empresa que auspicia
SaaS México.
SaaS México surge de la necesidad de proporcionar a las empresas mexicanas,
sistemas confiables, robustos, seguros y flexibles sin la necesidad de invertir tiempo,
recursos humanos y económicos para el desarrollo y soporte de estos sistemas.
SaaS México ofrece la posibilidad a pequeños y medianos empresarios de tener
acceso a herramientas más eficaces para la administración de procesos como.
Gestión de las relaciones con los clientes (CRM), Planeación de recursos
empresariales (EPR), Project y Office manager. Y todo sin la necesidad de software
adicional a un navegador de internet.
SaaS México ofrece:
 SaaS ERP (Enterprise Resource Planning )
 SaaS CRM (Customer Relationship Management)
 SaaS OFICCE Tool
 SaaS PROJECT Tool
SaaS México ofrece las siguientes ventajas:
83
 Software mucho más económico que el tradicional ya que no requiere de
servidores, ni personal de asistencia.
 Acceso a un número ilimitado de usuarios pagando solo por su uso y no por
el número de licencias.
 Es una herramienta muy sencilla y fácil de usar, intuitiva y autoexplicativa, no
es necesario tener información personalizada ya que se tiene acceso a
documentación de ayuda además de videos explicativos.
 Es rápida e inmediata su implementación ya que en el momento en que el
cliente contrata este servicio accede a su login y password para poder
trabajar en ese mismo momento, sin necesidad de instalar nada.
 Existe una independencia del sistema operativo y hardware
 Permite movilidad ya que es posible realizar presentaciones a cualquier
interesado sin la necesidad de reuniones físicas.
 Se tiene
acceso a nuevas
aplicaciones
funcionales,
además
de
actualizaciones permanentes.
 Es soporte está garantizado ya que ofrece un máximo nivel de servicio y
soporte que en una implantación tradicional.
3.4.2.1 Aplicación de computación en nube: SaaS OFFICE Tool
SaaS OFFICE Tool se define como un sistema de administración de documentos
virtuales.
Funciones: SaaS OFICCE Tool es un repositorio único de todos los documentos de
una oficina o ciertos departamentos, búsquedas y manejo de versiones de
documentos e historial de documentos.
Necesidades
que
atiende:
Administrar
contenidos,
implementar
procesos
empresariales, y proveer acceso a información esencial para las metas y procesos
de la organización (ver figura 3.11).
84
Figura 3.11 Pantalla de inicio de SaaS OFFICE Tool (Elaboración propia)
Son diversas las empresas que brindan servicios de computación en nube en la
actualidad. Si bien es cierto que las grandes corporaciones cuentan con una gama
más amplia de servicios de nube, ello no implica que dichos servicios sean mejores
en comparación con los ofrecidos por empresas pequeñas como se vio en los casos
de la IaaS y SaaS.
En México las empresas que proporcionan servicios de computación en nube aún
son escasas y los servicios existentes tienen como finalidad el manejo de
información no estructurada.
85
Capítulo IV. Casos reales
4.1 Microsoft System Center
Los cubos de procesamiento analítico en línea (OLAP) son una función de
System Center 2012 – Service Manager que utiliza la infraestructura existente del
almacenamiento de datos para proporcionar al usuario final capacidades de
inteligencia empresarial con características de autoservicio.
Un cubo OLAP es una estructura de datos que supera las limitaciones de las bases
de datos relacionales y proporciona un análisis rápido de datos. Los cubos pueden
mostrar y sumar grandes cantidades de datos, a la vez que proporcionan a los
usuarios acceso mediante búsqueda a los puntos de datos. De este modo, los datos
se pueden resumir o reorganizar según sea necesario, para procesar la variedad
más amplia de preguntas pertinentes al área de interés de un usuario.
Los proveedores de software o los desarrolladores de tecnologías de la información
(TI) con conocimientos prácticos de los cubos OLAP pueden crear módulos de
administración para definir sus propios cubos OLAP extensibles y personalizables,
que se integran en la infraestructura del almacenamiento de datos proporcionada
en Service Manager 2010. Estos cubos se almacenan en SQL Server Analysis
Services (SSAS). Las herramientas de inteligencia empresarial con características
de autoservicio, como Excel y SQL Server Reporting Services (SSRS), pueden
acceder a estos cubos en SSAS y se pueden utilizar para analizar los datos desde
múltiples perspectivas.
Las bases de datos que una empresa utiliza para almacenar sus transacciones y
registros se denominan bases de datos de procesamiento de transacciones en línea
(OLTP). Normalmente, estas bases de datos tienen registros que se introducen uno
a uno y que contienen una gran cantidad de información, que los estrategas pueden
utilizar para tomar decisiones fundamentadas sobre sus negocios. Sin embargo, las
bases de datos que se utilizan para almacenar los datos no se diseñaron para el
análisis. Por lo tanto, obtener respuestas de estas bases de datos requiere tiempo
y esfuerzo. Las bases de datos OLAP son bases de datos especializadas,
87
diseñadas para ayudar a extraer esta información de inteligencia empresarial de los
datos.
En Service Manager 2010, el almacenamiento de datos proporcionaba bases de
datos OLAP que incluían datos en esquemas simplificados y optimizados para la
lectura, listos para el consumo. La topología del sistema se muestra en la siguiente
ilustración.
Sin embargo, un inconveniente de este sistema es que las bases de datos OLAP
contenían esencialmente el mismo tipo exacto de información que se encontraba en
las bases de datos OLTP. No había agregaciones precalculadas de datos para
responder a consultas cada vez más complejas y variadas.
Los cubos OLAP se pueden considerar como la última pieza del rompecabezas para
una solución de almacenamiento de datos. Un cubo OLAP, también conocido como
cubo multidimensional o hipercubo, es una estructura de datos en SQL Server
Analysis Services (SSAS) que se genera mediante bases de datos OLAP para
permitir el análisis casi instantáneo de datos. La topología de este sistema se
muestra en la siguiente ilustración.
La característica útil de un cubo OLAP es que los datos del cubo pueden estar
contenidos en un formulario agregado. Para el usuario, el cubo parece tener las
respuestas de antemano debido a la variedad de valores que ya están
precalculados. Sin tener que consultar la base de datos OLAP de origen, el cubo
puede devolver respuestas para una amplia gama de preguntas casi al instante.
El objetivo principal de los cubos OLAP de System Center 2012 – Service Manager
es ofrecer a los proveedores de software o a los desarrolladores de tecnologías de
la información (TI) la capacidad para realizar análisis de datos casi instantáneos
para
fines
de
análisis
de
históricos
y
tendencias.
System Center 2012 – Service Manager lo realiza de la siguiente forma:
•
Permite definir cubos OLAP en módulos de administración que se crearán
automáticamente en SSAS cuando se implemente el módulo de
administración.
88
•
Se ocupa automáticamente del mantenimiento del cubo, sin intervención del
usuario, y realiza tareas tales como el procesamiento, la creación de
particiones, las traducciones y la localización, así como los cambios del
esquema.
•
Permite a los usuarios utilizar herramientas de inteligencia empresarial con
características de autoservicio, tales como Excel, para analizar los datos
desde varias perspectivas.
•
Guarda informes generados de Excel para futuras referencias.
4.1.1 Acerca de la implementación de cubos
La implementación de cubos de procesamiento analítico en línea (OLAP) utiliza la
infraestructura de implementación de Service Manager para crear cubos OLAP en
la base de datos de SQL Server Analysis Services (SSAS).
En resumen, un elemento que se puede implementar devuelve un implementador
con una colección de recursos que se serializan y que se utilizan para crear el
cubo OLAP en la base de datos de SSAS. Para los cubos OLAP, el nombre del
objeto que se puede implementar es CubeDeployable, para el elemento
SystemCenterCube, y CubeExtensionDeployable, para el elemento
CubeExtension. El implementador de ambos elementos es CubeDeployer.
La tabla dbo.Selector, en la base de datos DWStagingAndConfig, contiene una
entrada para los elementos SystemCenterCube y CubeExtension del módulo de
administración. El motor de implementación utiliza este metadato si es necesario
realizar un procesamiento adicional para un elemento del módulo de
administración al importar dicho módulo al almacenamiento de datos mediante el
trabajo MPSync.
Las implementaciones utilizan la interfaz de programación de aplicaciones (API)
de Analysis Management Objects (AMO) para crear y modificar todos los
componentes del cubo en la base de datos de SSAS. En concreto, se utiliza AMO
en modo desconectado, ya que el elemento CubeDeployable no tiene una
89
conexión a la base de datos de SSAS. Trabajar con AMO en modo desconectado
posibilita la creación del árbol completo de objetos AMO sin establecer una
conexión con el servidor. Posteriormente, Service Manager serializa la jerarquía
de objetos como recursos de secuencia y los adjunta al objeto del implementador,
que se vuelve a pasar a la infraestructura de implementación. A continuación, el
objeto del implementador se deserializa, establece una conexión con la base de
datos de SSAD y crea los objetos mediante el envío de las solicitudes
correspondientes al servidor.
Sólo los objetos principales se pueden serializar. En AMO, los principales objetos
se consideran clases que representan un objeto completo como una entidad
completa y no como parte de otro objeto. Por ejemplo, entre los objetos principales
se incluyen Servidor, Cubo y Dimensión, que son entidades independientes. Sin
embargo, DimensionAttribute no es un objeto principal, porque sólo se puede crear
como parte de un objeto principal primario de Dimensión. Por lo tanto,
DimensionAttribute es un objeto secundario. El diseño del cubo OLAP se centra en
la creación de todos los objetos principales que son necesarios para los cubos,
junto con los objetos dependientes de menor importancia. Estos objetos
principales son los objetos que se van a serializar (y, finalmente, deserializar)
antes de crearlos en la base de datos de SSAS.
Los recursos que ajustan los objetos principales se deben crear en un orden
específico para que la implementación se realice correctamente y satisfaga los
requisitos de dependencia de los elementos del cubo OLAP. Las dos listas
siguientes ilustran la secuencia de implementación de los elementos
SystemCenterCube y CubeExtension, respectivamente:
1. Elementos DataSourceView
2. elementos de dimensión
3. elemento de dimensión de fecha
4. elemento de cubo
90
1. Elementos DataSourceView
2. elemento de cubo
4.2 Grupo Salinas
Creado por el empresario Ricardo B. Salinas, Grupo Salinas opera como un foro
para el desarrollo de habilidades empresariales y para la toma de decisiones que
enfrentan los altos ejecutivos que dirigen las empresas que lo conforman: Azteca,
Azteca America, Grupo Elektra, Banco Azteca, Afore Azteca, Seguros Azteca,
Grupo Iusacell, Azteca Internet e Italika. Grupo Salinas es un conjunto de empresas
dinámicas, de rápido crecimiento y a la vanguardia tecnológica, con enfoque en la
creación de valor y en el mejoramiento de la sociedad a través de un sólido
compromiso con la excelencia. Al llevar la tecnología a todos los niveles de la
sociedad, Grupo Salinas fomenta el desarrollo de los países en los que opera.
4.3 Gestiweb
Gestiweb es una empresa fundada en 2002, con vocación de integrar diferentes
tipos de soluciones informáticas (software libre) y orientado hacia el acceso
universal de la Red, esto es, necesidades empresariales en el área de Tecnologías
de la Información y Comunicación (TIC’s).
Gestiweb cuenta con un grupo de profesionales experimentados en investigación
y desarrollo de software aplicados a servicios de gestión empresarial, mediante
tecnologías de última generación. Dispone de una participación muy activa en el
desarrollo de soluciones sobre sistemas de software libre, destinado a la
optimización de los procesos de negocio y la mejora de resultados administrativos
y comerciales de las empresas.
91
Gestiweb es uno de los promotores y a la vez, lidera el desarrollo del ERP de
Software libre, denominado Eneboo. Actualmente, ya cuenta con un elevado
número de implantaciones con éxito en diferentes empresas y pertenecientes a
diferentes sectores. Desarrollamos aplicaciones informáticas utilizando las últimas
tecnologías de programación sobre ERP's y diseño de e-commerce y e-business,
siempre basándonos en software libre.
Ofrecemos el diseño de páginas web,
diseño intranets, páginas web de comercio electrónico y consultoría internet para
Estrategias en la Red. Desde el Diseño de Páginas Web estáticas (html y flash)
hasta el desarrollo de websites dinámicas con administración de bases de datos.
Gestiweb Integración de Soluciones Web, S.L. dispone de una participación muy
activa en el desarrollo de soluciones sobre sistemas de código abierto, destinado a
la optimización de los procesos de negocio y la mejora de resultados administrativos
y comerciales de las empresas.
Disponemos de una gran experiencia en el desarrollo de proyectos para la
promoción, gestión y comercio electrónico de diferentes tipos de productos y
sectores. gestiweb cuenta con un equipo de más de 10 personas entre Ingenieros,
Consultores, Programadores y Diseñadores especializados en las diferentes áreas
de trabajo de los diferentes proyectos.
4.3.1 Cubos OLAP para diferentes ERPs con Saiku
Los cubos OLAP son una importante herramienta de análisis en la empresa y forma
parte del Bussiness Intelligence (BI). Éstas permiten de forma interactiva analizar
datos contrastando periodos de tiempo, zonas geográficas, colores, medidas y
muchos otros aspectos y propiedades de las ventas, compras, stocks, etc.
92
Gestiweb implanta "Saiku", una herramienta de software libre que realiza justamente
esta función, sin necesidad de instalar PentaHo al completo. Podemos configurar
esta aplicación para que trabaje con múltiples bases de datos, tanto si son del ERP
Eneboo o de cualquier otro ERP, y al trabajar en Java puede conectarse a bases de
datos de prácticamente cualquier tipo (SQL Server, Oracle, PostgreSQL, MySQL,
entre muchas otras).
Saiku no incorpora base de datos propia, realiza las consultas en tiempo real y
cachea en memoria los resultados, consiguiendo fluidez en la navegación y los
datos actualizados de las últimas horas. Además está preparado para buscar y filtrar
datos en tablas de millones de registros.
4.4 Eneboo
Cubos OLAP con Eneboo ERP
Una solución que permite convertir los datos de su gestión administrativa en
información importante para la previsión, planificación y toma de decisiones
empresariales. Este tipo de sistemas permite a la dirección general, así como, a los
diferentes directivos de cada una de las áreas poder interpretar la información a
partir de relaciones y combinaciones de los datos, mediante tablas y gráficos muy
visuales y gracias a una serie de herramientas de filtrados y selección
extraordinariamente sencillas de utilizar por cualquier nivel de usuario informático.
Los cubos OLAP son una importante herramienta de análisis en la empresa y forma
parte del Bussiness Intelligence (BI). Éstas permiten de forma interactiva analizar
datos contrastando periodos de tiempo, zonas geográficas, colores, medidas y
muchos otros aspectos y propiedades de las ventas, compras, stocks, etc.
Eneboo ERP, a través de su Partner Gestiweb, ha configurado en Eneboo ERP una
herramienta de software libre que realiza justamente esta función, mediante el
93
sistema "Saiku" y sin necesidad de instalar PentaHo al completo. Podemos
configurar esta aplicación para que trabaje con múltiples bases de datos, tanto si
son del ERP Eneboo o de cualquier otro ERP, y al trabajar en Java puede
conectarse a bases de datos de prácticamente cualquier tipo (SQL Server, Oracle,
PostgreSQL, MySQL, entre muchas otras).
Saiku no incorpora base de datos propia, realiza las consultas en tiempo real y
cachea en memoria los resultados, consiguiendo fluidez en la navegación y los
datos actualizados de las últimas horas. Además está preparado buscar y filtrar
datos en tablas de millones de registros.
94
CONCLUSIONES
La computación en nube no es un una creación, si no, es el resultado de la
combinación de diversas tecnologías y la evolución de algunos otros modelos de
computación. Su definición es aún un tema de discusión, sin embargo en cualquiera
de ellas se encontraran elementos comunes como son el internet, la virtualización,
los servicios, el pago por lo que el usuario utiliza.
Los vertiginosos avances en las tecnologías de la información sobre todo en las
últimas décadas del siglo XXI, así como los cambios que ha sufrido la lógica de la
informática han sido fundamentales en la evolución este emergente modelo de
computación.
La computación en nube debe de cumplir con una serie de atributos mínimos, para
poder ser considerada como tal. Atributos tales como ser multiusuario, portable,
elástica, escalable, interoperable y medible, y son estos los que la diferencian de
los modelos tradicionales de computación.
Cuando se habla de computación en nube se habla de prestación de servicios.
Actualmente ya es posible hablar de una definición de cada uno de los modelos de
prestación de servicio ya sea como software (SaaS), plataforma (PaaS) ó
infraestructura (IaaS).
El modelo de SaaS es el que cuenta con mayor madurez, a diferencia del naciente
modelo de PaaS o el modelo IaaS que ha logrado cierto grado de evolución. El
modelo más implementado es el SaaS ya que en comparación con el modelo
tradicional de software presenta más ventajas que desventajas.
En el caso de los modelos de implementación de nubes, es importante reconocer
que al igual que los modelos de servicios, cuentan ya con conceptos y estructuras
definidas. Por ejemplo una empresa podría optar por una nube privada que integre
todos sus departamentos o también por una nube pero en la cual podrían estar
incluidas algunas otras organizaciones con intereses comunes. En el caso de la
96
población en general podría optar la nube pública ya que podría ofrecerle
aplicaciones similares a las que ofrece el modelo tradicional de adquisición de
software.
En la computación en nube existen consumidores, desarrolladores y proveedores
de los servicios, cada uno tiene roles perfectamente definidos. De igual forma
existen ventajas y desventajas para cada uno de ellos, situación que brinda la
posibilidad de valorar la implementación de este modelo de computación. Como es
de suponerse los consumidores siempre serán más que los desarrolladores o que
los proveedores.
Los sistemas OLAP son bases de datos orientadas al procesamiento analítico. Este
análisis suele implicar, generalmente, la lectura de grandes cantidades de datos
para llegar a extraer algún tipo de información útil: tendencias de ventas, patrones
de comportamiento de los consumidores, elaboración de informes complejos… etc.
Este sistema es típico de los datamarts.
El acceso a los datos suele ser de sólo lectura. La acción más común es la consulta,
con muy pocas inserciones, actualizaciones o eliminaciones.
Los datos se estructuran según las áreas de negocio, y los formatos de los datos
están integrados de manera uniforme en toda la organización.
El historial de datos es a largo plazo, normalmente de dos a cinco años.
Las bases de datos OLAP se suelen alimentar de información procedente de los
sistemas
operacionales
existentes,
mediante
un
proceso
de
extracción,
transformación y carga (ETL).
Un cubo OLAP es una estructura de datos que supera las limitaciones de las bases
de datos relacionales y proporciona un análisis rápido de datos. Los cubos pueden
mostrar y sumar grandes cantidades de datos, a la vez que proporcionan a los
usuarios acceso mediante búsqueda a los puntos de datos. De este modo, los datos
se pueden resumir o reorganizar según sea necesario, para procesar la variedad
más amplia de preguntas pertinentes al área de interés de un usuario.
97
Implementar un sistema de business intelligence significa encontrar el punto de
equilibrio entre dos extremos: implementación independiente de las unidades de la
organización y la arquitectura de almacenamiento de datos definida por los IT
departamentales. Por un lado los IT departamentales deben aceptar que el hecho
de que ellos no puedan suministrar las visiones del usuario final con la premura
requerida sin incorporar tecnología OLAP. Por otro lado los directivos deben
aprender a reconocer el valor de tener un ‘repositorio común’ del que leer todos los
indicadores y toda la terminología que cruza todos los datos de todos los
departamentos. Únicamente un DataWarehouse puede proveer esta consistencia.
La principal características de los sistemas OLAP es que son entornos
especialmente diseñados para la ejecución de análisis multidimensionales de los
datos corporativos, que soportan amigablemente los análisis de cualquier usuario
así como las posibilidades de navegación, seleccionando la información a obtener,
permitiendo el análisis de datos segmentados y que permiten ir reduciendo el
conjunto de datos reportados. Este tipo de selecciones se refleja en la visualización
de la estructura multidimensional, mediante unos campos de selección que nos
permitan elegir el nivel de agregación (jerarquía) de la dimensión, y/o la elección de
un dato en concreto, pudiendo con ello realizar, entre otras, las acciones de rotar,
bajar atributos, navegar, expandir o colapsar los datos mostrados.
La arquitectura de sistemas MOLAP se fundamenta, para proporcionar el análisis,
en bases de datos multidimensionales. Su principal premisa es que se trata del
entorno OLAP mejor implantado y adaptado para el almacenamiento y gestión de
datos multidimensionalmente. Por el contrario, la arquitectura y gestión de entornos
ROLAP presupone que las capacidades OLAP están perfectamente implantadas y
reflejadas sobre bases de datos relacionales.
La naturaleza competitiva y dinámica del entorno empresarial de hoy está
impulsando la demanda de sistemas de información por parte de gerentes y
analistas empresariales, que puedan proporcionar respuestas rápidas a consultas
empresariales complejas. La industria de respondió a estas demandas con
desarrollos como las bases de datos analíticas, las plazas de datos, las bodegas de
98
datos, las técnicas de explotación de datos, las estructuras de bases de datos
multidimensionales y con servidores especializados y productos de software que
respaldan el procesamiento analítico en línea (OLAP).
Se pueden considerar los sistemas OLAP como pertenecientes a los sistemas de
información para ejecutivos, son utilizados para proporcionar al nivel estratégico
información útil para la toma de decisiones.
Es un método para buscar en los datos de diferentes maneras. Con OLAP los datos
son clasificados en diferentes dimensiones las que pueden ser vistas unas con otras
en cualquier combinación para obtener diferentes análisis de los datos que
contienen.
En un modelo de datos OLAP, la información es vista como cubos, los cuales
consisten de categorías descriptivas (dimensiones) y valores cuantitativos
(medidas). El modelo de datos multidimensional simplifica a los usuarios formular
consultas complejas, arreglar datos en un reporte, cambiar de datos resumidos a
datos detallados y filtrar o rebanar los datos en subconjuntos significativos.
Si bien han sido las grandes corporaciones quienes han apostado por el desarrollo
del modelo, y además son estas mismas quienes ofrecen mayor cantidad de
servicios, ello no implica que sus servicios de computación en nube sean los
mejores. Dentro del modelo de IaaS se pudo comprobar que existen casos de
empresas pequeñas con servicios mucho mejores que los ofrecidos por las grandes
corporaciones. Por el lado de los servicios de SaaS sucede algo similar como se
demostró en el caso de las suites de aplicaciones de oficina de dos empresas
(Google Inc. y ZOHO Corp. Inc.).
En nuestro país la implementación de la computación es casi nula, hablando del
sector empresarial. Existen empresas desarrolladoras de SaaS, pero sus servicios
están dirigidos a sectores muy específicos. Las aplicaciones desarrolladas por
dichas empresas, se enfocan en el manejo de información no estructurada y ofrecen
productos para la administración de contenido empresarial. Tal situación demuestra
que tanto los proveedores como los consumidores reconocen que es posible migrar
99
determinadas áreas de una empresa, debido a que los peligros derivados de la
computación en nube si bien afectarían su funcionamiento, los daños no serían
totales, además los beneficios compensarían los perjuicios.
100
FUENTES DE INFORMACIÓN
Amaya, A., & González, A. (2010). CEIS Avance Centro de Excelencia en
Ingenieria de Software. Recuperado el 02 Junio de 2014, de
http://ceisavance.com/acerca.html
Amrhein, D. (2009). Cloud Computing Use Cases (Version 2.0) White Paper.
Recuperado el 10 Julio de 2014, de
http://opencloudmanifesto.org/Cloud_Computing_Use_Cases_Whitepaper- 2_0.pdf
Bennett, S., & Bhuller, M., & Covington, R. (2009). Architectural Strategies for
Cloud Computing Oracle White Paper. Recuperado el 25 de Julio de 2014, de:
http://www.oracle.com/technology/architect/entarch/pdf/
architectural_strategies_for_cloud_computing.pdf
Chou, T. (2008). ¿El software como servicio (SaaS) es para usted? Recuperado
el 05 de Julio de 2014, de
http://mx.sun.com/emrkt/innercircle/newsletter/1008/feature-bus.html
Foster, I., & Kesselman, K., & Tuecke, S. (2001). The Anatomy of the
Grid:Enabling Scalable Virtual Organizations. Recuperado el 10 de Julio de 2014,
de http://www.globus.org/alliance/publications/papers/anatomy.pdf
Fortimax Versión 4.0 Manejador Universal de contenido empresarial. Recuperado
el 8 de Enero de 2010 de http://www.fortimax.com/descripcion/descripcion.html.
Fortimax Versión 4.0 Personal. Recuperado el 9 de Julio de 2014 de
http://www.fortimax.com/personal.html
101
Mather, T., & Kumaraswamy, S., & Latif, S. (2009). Cloud Security and Privacy (1st
Ed.). United States of America: O’Reilly Media, Inc.
Miller, M. (2008). Cloud Computing: Web-Based Applications That Change the
Way You Work and Collaborate Online (1st Ed.). Indiana: Que Publishing
Moran, A., & Hegerman, H. (2009). F5 Study Shows Cloud Computing Gaining
Critical Mass Among Large Enterprises. Recuperado el 17 de Julio de 2014, de
http://www.f5.com/news-press-events/press/2009/20090824a.html
SaaS OFFICE Tool. Recuperado el 5 de Julio de 2014 de
http://www.saasmexico.com/oficce.html
Silva, V. (2005). Grid computing for developers (1st Ed.). Massachusetts: Charles
River Media, Inc.
Worrall, B. (2009). El modelo cloud: más allá de los rumores. Recuperado el 15 de
Julio del 2014, de http://mx.sun.com/emrkt/innercircle/newsletter/0109/
sponsor.html
Agarwal, S. (2010). Posterous considered Amazon's EC2, but chose Rackspace
instead. Here's why. Recuperado el 25 de Julio de 2014, de
http://www.rackspacecloud.com/cloud_hosting_products/servers/compare
102
Google Docs: Documentos online con colaboración en tiempo real. Recuperado el
29 de Julio de 2014, de http://www.google.com/apps/intl/esmx/business/docs.html
ZOHO Work.Online. Recuperado el 30 de Julio de 2014, de http://www.zoho.com/
Microsoft System Center http://technet.microsoft.com/es-es/library/hh916543.aspx
(Consultada el 03/08/14)
Gestiweb http://www.gestiweb.com/?q=content/cubos-olap-para-diferentes-erpscon-saiku (Consultada el 04/08/14)
Bumeran http://www.bumeran.com.mx/empleos/desarrollador-cubos-olap-gruposalinas-1000078739.html (Consultada el 04/08/14)
Eneboo http://www.eneboo.com/id-752-cubos-olap-con-eneboo-erp-.html
(Consultada el 20/08/14)
103
ÍNDICE DE FIGURAS
Figura 2 Los principales avances tecnológicos y sus desarrolladores……….
30
Figura 2.1 Evolución de los proveedores de servicios de internet……………
33
Figura 2.2 Las tecnologías en la computación en nube……………………….. 36
Figura 2.3 Servicios de computación en nube, ejemplos y sus
desarrolladores……………………………………………………………………... 41
Figura 2.4 Ventajas del modelo SaaS……………………………………………
43
Figura 2.5 Elementos mínimos de una solución PaaS…………………………
45
Figura 2.6 Modelos de implementación de nubes según el NIST…………….
48
Figura 2.7 Elementos del consumidor de servicios…………………………….. 51
Figura 2.8 Diagrama de capas del proveedor de servicio……………………..
53
Figura 2.9 Ventajas de la computación en nube………………………………..
60
Figura 2.10 Desventajas de la computación en nube………………………….. 60
Figura 3.1 Aplicaciones de computación en nube para la familia…………….. 69
Figura 3.2 Aplicaciones de computación en nube para la comunidad……….. 71
Figura 3.3 Aplicaciones de computación en nube para las empresas……….. 73
Figura 3.4. Aplicación de computación en nube en México: Fortimax 4.0…... 80
Figura 3.5 Objetivos de Fortimax 4……………………………………………….
81
Figura 3.6 Fortimax 4.0 de SaaS…………………………………………………
81
Figura 3.8 Página de inicio de Fortimax 4.0……………………………………..
83
Figura 3.9 Datos de creación de cuenta gratuita……………………………….. 83
Figura 3.10 Funcionalidades de Fortimax 4.0…………………………………... 84
Figura 3.11 Pantalla de inicio de SaaS OFFICE Tool………………………….
86
104
Descargar