sistema de administraciÓn de servidores de bases de...

141
1 SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE DATOS VIRTUALES EN LA NUBE CONTROLADOS MEDIANTE UN DISPOSITIVO MÓVIL SOL JULLIET LOZANO ARISTIZABAL UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD TECNOLOGICA INGENIERIA EN TELEMÁTICA BOGOTA D.C. 2015

Upload: others

Post on 24-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

1

SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE DATOS

VIRTUALES EN LA NUBE CONTROLADOS MEDIANTE UN DISPOSITIVO MÓVIL

SOL JULLIET LOZANO ARISTIZABAL

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

FACULTAD TECNOLOGICA

INGENIERIA EN TELEMÁTICA

BOGOTA D.C.

2015

Page 2: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

2

SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE DATOS

VIRTUALES EN LA NUBE CONTROLADOS MEDIANTE UN DISPOSITIVO MÓVIL

SOL JULLIET LOZANO ARISTIZABAL

CÓDIGO: 20121378013

TRABAJO DE GRADO PARA OPTAR AL TITULO DE

INGENIERA EN TELEMÁTICA

Tutor: JUAN CARLOS GUEVARA

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

FACULTAD TECNOLOGICA

INGENIERIA EN TELEMATICA

BOGOTA D.C.

2015

Page 3: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

3

Nota de Aceptación

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

_________________________

Firma del Tutor

_________________________

Firma del Jurado

_________________________

Firma del Jurado

Bogotá D.C. Noviembre de 2015

Page 4: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

4

TABLA DE CONTENIDO

INTRODUCCIÓN ............................................................................................................................... 12

1. FASE DE ORGANIZACIÓN, DEFINICIÓN Y ANÁLISIS ................................................... 15

1.1. TEMA ..................................................................................................................................... 15

1.2. TÍTULO .................................................................................................................................. 15

1.3. OBJETIVOS ............................................................................................................................. 15

1.3.1. General .............................................................................................................................. 15

1.3.2. Específicos ........................................................................................................................ 15

1.4. DESCRIPCIÓN DEL PROBLEMA ............................................................................................... 16

1.5. PREGUNTA DE INVESTIGACIÓN .............................................................................................. 20

1.6. JUSTIFICACIÓN ...................................................................................................................... 21

1.7. MARCO TEÓRICO ................................................................................................................... 24

1.7.1. Cloud Computing .............................................................................................................. 24

1.7.2. Escenarios ......................................................................................................................... 26

1.7.3. Tipos de infraestructuras en la nube ................................................................................. 29

1.7.4. Sistemas de comunicaciones móviles ............................................................................... 31

1.7.5. Grid Computing ................................................................................................................ 35

1.7.6. Seguridad .......................................................................................................................... 38

1.7.7. Virtualización .................................................................................................................... 40

1.7.8. Móviles ............................................................................................................................. 44

1.7.9. Servidor de Bases de datos ............................................................................................... 45

1.7.10. Internet .............................................................................................................................. 48

1.7.11. Bases de datos distribuidas ............................................................................................... 49

1.8. MARCO CONCEPTUAL ............................................................................................................ 51

1.8.1. Servidor ............................................................................................................................. 51

1.8.2. Servidor de base de datos .................................................................................................. 51

1.8.3. Computación en la nube ................................................................................................... 52

1.8.4. Máquina virtual ................................................................................................................. 52

1.8.5. Bases de datos ................................................................................................................... 53

1.8.6. Servicios............................................................................................................................ 53

1.8.7. SOAP (siglas de Simple Object Access Protocol) ............................................................ 53

1.8.8. Aplicación Móvil .............................................................................................................. 54

1.8.9. Android ............................................................................................................................. 54

Page 5: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

5

1.9. MARCO HISTÓRICO ................................................................................................................ 55

1.9.1. Virtualización .................................................................................................................... 55

1.9.3. Telefonía móvil ................................................................................................................. 58

1.10. MARCO LEGAL ....................................................................................................................... 59

1.11. METODOLOGÍA ...................................................................................................................... 60

1.12. DELIMITACIONES ................................................................................................................... 64

1.12.1. Delimitación geográfica .................................................................................................... 64

1.12.2. Delimitación temporal ...................................................................................................... 64

1.12.3. Delimitación temática ....................................................................................................... 64

1.12.4. Delimitación técnica ......................................................................................................... 66

1.13. ALCANCES ............................................................................................................................. 67

1.14. RECURSOS ............................................................................................................................. 68

1.14.1. Técnicos ............................................................................................................................ 68

1.14.2. Operativos ......................................................................................................................... 69

1.14.3. Económicos ....................................................................................................................... 69

1.15. CRONOGRAMA ....................................................................................................................... 71

2. CONFIGURACIÓN DE LA CLOUD ........................................................................................ 73

2.1. QUE ES CLOUD COMPUTING .................................................................................................. 73

2.2. INFRAESTRUCTURA DE LA CLOUD ......................................................................................... 73

2.3. AMAZON EC2 ........................................................................................................................ 74

3. DISEÑO DEL PROYECTO ....................................................................................................... 76

3.1. MODELAMIENTO DEL NEGOCIO ............................................................................................. 76

3.2. LISTA PRELIMINAR DE CASOS DE USO ................................................................................... 78

3.3. MODELO DEL DOMINIO ......................................................................................................... 79

3.4. MODELO DE CASOS DE USO ................................................................................................... 80

3.5. DOCUMENTACIÓN DE CASO DE USO ...................................................................................... 81

3.6. DIAGRAMAS DE SECUENCIA .................................................................................................. 89

3.7. DIAGRAMAS DE COMUNICACIÓN ........................................................................................... 93

3.8. DIAGRAMAS DE ACTIVIDAD .................................................................................................. 95

3.9. DIAGRAMAS DE ESTADO ....................................................................................................... 99

3.10. DIAGRAMA DE CLASES ........................................................................................................ 100

3.11. LISTA DE CLASES ................................................................................................................. 100

3.12. RESPONSABILIDADES DE LAS CLASES ................................................................................. 101

Page 6: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

6

3.13. DICCIONARIO DE DATOS ...................................................................................................... 106

3.14. MODELO LÓGICO ................................................................................................................. 108

3.14.1 Servidor Java ....................................................................................................................... 108

3.14.2. Cliente Android .................................................................................................................. 109

3.15. MODELO FÍSICO ................................................................................................................... 110

3.15.1. Servidor java ................................................................................................................... 110

4. IMPLEMENTACIÓN ............................................................................................................... 111

4.1. DIAGRAMA DE COMPONENTES ............................................................................................ 111

4.2. DIAGRAMA DE DESPLIEGUE................................................................................................. 111

4.3. DIAGRAMA DE PAQUETES .................................................................................................... 112

5. SISTEMA INTEGRADO .................................................................................................... 112

5.1 DEFINICIÓN ARQUITECTURA .......................................................................................................... 112

5.1.1. Elementos y principales componentes del sistema ............................................................... 112

5.1.2. Capas del sistema ................................................................................................................. 120

5.1.3. Mecanismos arquitecturales necesarios para el sistema ....................................................... 123

5.1.4. Tecnologías elegidas para cada una de las capas ................................................................. 124

5.1.5. Componentes comparados o de código abierto forma en que se tomó la decisión .............. 127

5.1.6. Descripción de los principales patrones de diseño ............................................................... 129

6. INSTALACIÓN APK ANDROID ............................................................................................. 131

7. PRUEBAS .............................................................................................................................. 131

7.1. ESCENARIOS DE PRUEBAS ................................................................................................... 134

8. CONCLUSIONES ..................................................................................................................... 135

9. RECOMENDACIONES............................................................................................................ 136

10. BIBLIOGRAFÍA ................................................................................................................... 137

11. INFOGRAFAFIA .................................................................................................................. 138

Page 7: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

7

LISTA DE TABLAS

Tabla 1. Metodología ............................................................................................................... 63

Tabla 2. .Software utilizado para el desarrollo ........................................................................ 66

Tabla 3. Recursos técnicos ....................................................................................................... 68

Tabla 4. Recursos operativos ................................................................................................... 69

Tabla 5. Recursos Económicos ................................................................................................ 70

Tabla 6. Recursos Técnicos ..................................................................................................... 70

Tabla 7. Documentación caso de uso iniciar sesión ................................................................ 81

Tabla 8. Documentación caso de uso prender servidor ........................................................... 81

Tabla 9. Documentación caso de uso Apagar servidor ............................................................ 82

Tabla 10. Documentación caso de uso Subir Servicio Base de datos ...................................... 83

Tabla 11. Documentación caso de uso Bajar Servicio de Base de Datos ................................ 84

Tabla 12. Documentación caso de uso Realizar Copias de Seguridad .................................... 85

Tabla 13. Documentación caso de Uso Agregar Máquina Virtual ......................................... 86

Tabla 14. Documentación caso de Uso Editar Máquina Virtual .............................................. 87

Tabla 15. Configurar Máquina Virtual ..................................................................................... 88

Tabla 16. Documentación caso de uso Consultar ayuda .......................................................... 88

Tabla 17. Responsabilidad Clase MainController ................................................................. 101

Tabla 18. Responsabilidad Clase Login ................................................................................ 101

Tabla 19. Responsabilidad Clase Lista .................................................................................. 102

Tabla 20. Responsabilidad Clase Agregar ............................................................................ 102

Tabla 21. Responsabilidad Clase PDF ................................................................................... 102

Page 8: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

8

Tabla 22. Responsabilidad de la Clase DatabaseManager ..................................................... 103

Tabla 23. Responsabilidad Clase VirtualMachineServices ................................................... 103

Tabla 24. Responsabilidad Clase RemoteControllerServices .............................................. 105

Tabla 25. Responsabilidad MailServices .............................................................................. 105

Tabla 26. Diccionario de Datos VirtualMachine ................................................................... 106

Tabla 27. Diccionario de Datos Tabla Usuario ..................................................................... 107

Tabla 28. Selección de tecnologías ........................................................................................ 129

Tabla 29. Diseño Casos de Prueba ......................................................................................... 134

Page 9: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

9

LISTA DE ILUSTRACIONES

Imagen 1. Arquitectura Cloud Computing ............................................................................... 25

Imagen 2. Arquitectura SOA .................................................................................................... 47

Imagen 3. Fases Metodología RUP (RationalUnificatedProcess) ........................................... 61

Imagen 4. Gestión de interoperabilidad ................................................................................... 76

Imagen 5. Gestión Administración servidor ............................................................................ 77

Imagen 6. Modelo del dominio ................................................................................................ 79

Imagen 7. Modelo de casos de uso ........................................................................................... 80

Imagen 8. Diagrama de secuencia Diagrama de secuencia Prender Servidor ......................... 89

Imagen 9. Diagrama de Secuencia Apagar servidor ................................................................ 90

Imagen 10. Diagrama de Secuencia subir Servicio de Base de Datos ..................................... 91

Imagen 11. Diagrama de Secuencia Realizar copias de seguridad .......................................... 92

Imagen 12. Diagrama de Comunicación Prender Servidor ..................................................... 93

Imagen 13. Diagrama de Comunicación Apagar Servidor ..................................................... 93

Imagen 14. Diagrama de Comunicación Subir Servicio Bases de Datos ................................ 94

Imagen 15. Diagrama de Comunicación Realizar copias seguridad ........................................ 94

Imagen 16. Diagrama de Actividad Prender Servidor ............................................................. 95

Imagen 17.Diagrama de Actividad Apagar Servidor ............................................................... 96

Imagen 18. Diagrama de Actividad Subir Servicio Base de Datos .......................................... 97

Imagen 19. Diagrama de Actividad Realizar copias de Seguridad .......................................... 98

Imagen 20. Diagrama de Estado Administración .................................................................... 99

Page 10: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

10

Imagen 21. Diagrama de Estado Configuración ...................................................................... 99

Imagen 22. Diagrama de Clases ............................................................................................. 100

Imagen 23. Modelo lógico servidor ....................................................................................... 108

Imagen 24. Modelo Lógico Cliente ....................................................................................... 109

Imagen 25. Modelo Físico Servidor ....................................................................................... 110

Imagen 26. Diagrama de Componentes ................................................................................. 111

Imagen 27.Diagrama de Despliegue ...................................................................................... 111

Imagen 28. Diagrama de Paquetes ......................................................................................... 112

Imagen 29.Arquitectura del sistema Integrado ...................................................................... 113

Imagen 30. Funcionamiento tecnología REST ...................................................................... 114

Imagen 31. Definición de funcionamiento arquitectura ......................................................... 118

Imagen 32. Capas del sistema ................................................................................................ 120

Page 11: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

11

ABSTRACT

In this research project different technology issues is also proposing a service implementation

which contribute to improving situations in which companies may have in their database services

to try to use improved techniques efficiency, flexibility and resource management, where the

economic factor, the emergence of new technologies have an important role in our society

presence generated the need to migrate data to the cloud with the ability to access from wherever

we are, the virtualization, cloud computing, mobile services are part of some issues which will be

addressed during the implementation of this project in order to provide services optimization

tool.

For the realization of the project is necessary to know some of the relevant factors for which

arises the need to investigate and publish this management system, one of these is the continued

advancement of mobile and computing technologies that force recently update the technical

services offered in business, as the need for the information available to date and always at

separate companies to manage and maintain a data center where large investments are needed to

operate to optimize their resources by using the benefits offered by the emergence of the new

information technologies for better utilization of services.

Page 12: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

12

INTRODUCCIÓN

En el presente proyecto de investigación se trata diferentes temas de tecnologías además de

proponer una implementación de servicio el cual contribuya con el mejoramiento de situaciones

en las cuales las empresas puedan tener en cuanto a sus servicios de bases de datos para intentar

utilizar técnicas de mejoramiento en eficiencia, flexibilidad y administración de recursos, en

donde el factor económico, el surgimiento de nuevas tecnologías tienen un papel importante de

presencia en nuestra sociedad generando la necesidad de migrar datos a la nube con la

posibilidad de acceder desde cualquier lugar donde nos encontremos, la virtualización , la

cloudcomputing, servicios móviles hacen parte de algunos temas los cuales se van a tratar

durante la realización de este proyecto con el fin de ofrecer una herramienta de optimización de

servicios.

Para la realización del proyecto es necesario conocer algunos de los factores relevantes por las

que nace la necesidad de investigar y proponer este sistema de administración, una de estas es el

avance continuo de las tecnologías móviles e informáticas que obligan actualizar recientemente

las técnicas de servicios ofrecidas en las empresas, como la necesidad de tener la información

siempre actualizada y disponible siempre por lo que las empresas aparte de administrar y

mantener un centro de datos donde se necesitan grandes inversiones para el funcionamiento

quieren optimizar sus recursos utilizando los beneficios ofrecidos por el surgimiento de las

nuevas tecnologías de información para un mejor aprovechamiento de servicios.

Page 13: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

13

La característica principal para la realización de esta investigación es la optimización y

benéficos ofrecidos por la virtualización y la cloudcomputing como herramientas para ofrecer

una solución móvil para controlar un servidor de servicio en la nube sin incurrir en costos

adicionales de mantenimiento para su funcionamiento tomando como base el uso del móvil como

instrumento para la comodidad en la información.

En la actualidad el uso de la cloudcomputing ha generado un nuevo enfoque de comercio

electrónico creando la necesidad de ofrecer a través de internet servicios como almacenamiento,

aplicaciones y muchos más servicios, por lo que queremos hacer una investigación e

implementación de un servicio en la nube con el fin de mejorar un servicio y demostrar la

eficiencia de las tecnologías utilizadas para su realización, contribuyendo a la flexibilidad de

brindar la información mitigando la perdida de datos y los costos de administración de servidores

como problemas generados por su mal funcionamiento de servidores locales alojados en un

centro de datos físico.

El funcionamiento de los servidores de acuerdo a su infraestructura y el modelo que se

analiza a profundidad nos da un enfoque más profundo acerca del funcionamiento de los

servicios con las aplicaciones en cuanto a los entornos virtuales y la complejidad dada en las

soluciones de escalabilidad y flexibilidad, que nos brinda este tipo de soluciones, además de

profundizar en las plataformas de servicios y las interacciones con las aplicaciones móviles,

permiten tener una visión más amplia de esta nueva forma de optimizar y tener facilidad a la

información desde cualquier parte en que nos encontremos, dejando claramente la forma en que

Page 14: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

14

se descentralizan los servicios para un mejor aprovechamiento y los beneficios que este nos

ofrece.

La incursión de nuevos dispositivos y la transformación del almacenamiento de la

información, los nuevos enfoques orientados a negocios y a servicios, el avance en las TIC, hace

necesario gestionar, administrar y tener disponibilidad de la información de una manera ágil,

sencilla y de fácil adaptación a las necesidades de las empresas para brindar un mejor servicio y

desempeñar su objeto de negocio de una forma más eficiente.

Page 15: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

15

1. FASE DE ORGANIZACIÓN, DEFINICIÓN Y ANÁLISIS

1.1.Tema

Para la elaboración del sistema de virtualización de servidores, controlados desde un

dispositivo móvil, se hace necesario el estudio de los siguientes temas: servidores virtuales,

servicios móviles como herramienta para la administración de servicios en la nube, Iaas, la

optimización, disponibilidad y eficiencia de recursos de bases de datos.

1.2.Título

Sistema de administración de servidores de bases de datos virtuales en la nube controlados

mediante un dispositivo móvil.

1.3.Objetivos

1.3.1. General

Desarrollar un sistema de administración de servidores de bases de datos virtuales en la nube

controlados mediante un dispositivo móvil, para apoyar el proceso de optimización de los

recursos de las empresas.

1.3.2. Específicos

Diseñar un modelo que permita el control de servidores de bases de datos virtuales en

la nube mediante un aplicativo móvil y utilizando alertas que informen al usuario los

cambios de estado en los servicios.

Page 16: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

16

Crear los módulos de inicio, detención de la máquina virtual, y de ayuda al usuario

que permita conocer el aplicativo de manera más completa.

Desarrollar el sistema que permita el control de copias de seguridad, usuarios y

contraseñas del servidor de bases de datos en la nube.

Implementar un servidor de base de datos virtualizado que permita el aprovechamiento

de almacenamiento que ofrece la nube.

Realizar Pruebas del sistema.

1.4.Descripción del problema

A medida que pasa el tiempo y con el avance continuo de las tecnologías, las exigencias de

los usuarios que se incrementan día a día se hacen más relevantes para los empresarios. Por tal

razón es cada vez más importante mantener a los clientes actualizados ofreciéndoles las mejores

condiciones, para aumentar y mejorar sus recursos y servicios.

Algunas de las características del avance tecnológico son la compartición de datos, la

movilidad y la necesidad permanente de estar conectado a la información. Dichos factores hacen

que cada vez más personas quieran tener flexibilidad en sus almacenamientos de información

para mejorar sus recursos. Por esta razón muchas empresas están optando por trasladar sus datos

a lugares donde puedan tener un mayor control, gestión en el flujo de su empresa y mejora en

cuanto al acceso de los datos, desde cualquier lugar que garantice la disponibilidad de la

información.

Page 17: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

17

Debido a que las empresas tienen diferentes necesidades ya sea por crecimiento, o por nuevas

tecnologías; se hace necesario brindar disponibilidad además de eficiencia y optimización en los

servicios, para lograr un mejor aprovechamiento en el trabajo realizado, de acuerdo con las

necesidades de invertir en la actualización de sus servidores, caso de la renovación y adquisición

de equipos de hardware, más específicamente de los servidores utilizados para el funcionamiento

óptimo del negocio con el fin de brindar un mejor servicio. La adquisición continúa de equipos

de hardware, al cual están obligadas las empresas, no solo que ha producido el crecimiento físico

de los servidores, sino que han causado un aumento en el número de personas dedicadas al

mantenimiento y administración de los servidores, el espacio físico del servidores, el consumo

eléctrico demandado por los servidores y por el sistema de refrigeración usado para mantener a

los servidores en óptimas condiciones. Esto en consecuencia lo único que logra es un incremento

en los costos a las empresas1.

Por otro lado, muchas de las organizaciones que cuentan con un centro de datos al límite de su

capacidad, buscan flexibilidad para desplegar más recursos de tecnologías de la información sin

comprometerse en inversiones a largo plazo y aportar a la reducción de problemas como picos

de trabajo, o disponibilidad temporal de recursos económicos2; brindando adicionalmente

mejoras tecnológicas a su empresa. Actualmente la virtualización de servidores es un

componente fundamental para consolidar un modelo de recursos optimizados y orientados a los

servicios.

1Tomado biblioteca PUCE- SI

http://dspace.pucesi.edu.ec/handle/11010/177 2Tomado del Blog ERP Software Blog

September 29, 2011 by ERP Software Blog Editors:http://www.erpsoftwareblog.com/2011/09/la-diferencia-entre-virtualizacion-y- computacion-en-la-nube/

Page 18: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

18

Las empresas están ejecutando todo tipo de aplicaciones en la Nube, como la gestión de las

relaciones con los clientes, recursos humanos, contabilidad, etc. Algunas de las empresas más

importantes del mundo han pasado sus aplicaciones a la Nube después de comprobar

rigurosamente la seguridad y la fiabilidad. En la actualidad las personas han trasformado sus

servicios a la nube para convertirse en empresas transcendentales de negocios, por un nuevo

modelo de mercado electrónico además de las movilidad para acceder a estas en cualquier lugar

por lo que la información siempre debe estar disponible y en cualquier momento3.

Teniendo en cuenta que la virtualización es una de las bases de cloud Computing, y puede

ofrecer distintos servicios de computación a través de internet, puede brindar mejores recursos

que permiten a su vez optimizar los servicios, sin preocupación de espacios y factores

económicos, la implementación de esta tecnología permite el aprovechamiento al máximo de los

recursos de hardware y software en las empresas ha sido un tema popularizado en los últimos

años como lo indica en su artículo la computación en la nube un nuevo paradigma tecnológico

para las empresas y organizaciones donde se expone el impacto en la economía y en los negocios

que ha tenido la computación en la nube en los nuevos modelos tecnológicos de la web4, y

donde se expone la importancia, las ventajas y riesgo que esto puede tener en el desarrollo de las

empresas .

Actualmente las áreas de IT tienen diversos problemas en cuanto servidores para alojar

aplicaciones dentro de una empresa y la constante presión para optimizar y reducir gastos en

3Tomado de la revista Bolivianas revistas electrónica en línea

http://www.revistasbolivianas.org.bo/scielo.php?pid=S1997-40442012000200028&script=sci_abstract

4Tomado revista ICADE

https://revistas.upcomillas.es/index.php/revistaicade/article/view/289/223

Page 19: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

19

cuanto a servicios de infraestructura, mantenimiento y personal especializado que se encargue

de la gestión de los servidores además de los inconvenientes con el lugar y la disponibilidad que

se debe prestar para este tipo de servicios, debido al crecimiento que ha tenido en los últimos

años el procesamiento de la información se ha incrementado la utilización de herramientas para

la administración y gestión en los servidores y servicios por medio de la nube por su facilidad de

acceso los beneficios en cuanto a reducción de gastos y tiempo.

En este contexto podemos analizar el uso de las tecnologías para la implementación de

herramientas que optimicen los recursos en las medianas y grandes empresas, donde se evidencia

la falta de disponibilidad de los datos, almacenamiento, capacidad de procesamiento,

flexibilidad, comodidad en cuanto espacios físicos para realizar la administración de servicios

sobre servidores.

Por otro lado y con la disponibilidad de dispositivos móviles y la creciente capacidad técnica

que ofrecen, un mayor número de compañías están en la búsqueda de integrar este tipo de

aparatos en sus procesos diarios de negocio, Tras el avance tecnológico de los dispositivos y una

mayor eficiencia en las comunicaciones por medios como voz, correo o texto, permiten una

mayor información accesible para los usuarios, lo cual aporta beneficios de conectividad y

comunicación, según la conferencia dictada en XVI Congreso Argentino de Ciencias de la

Computación, la cloudcomputing es vista por algunos autores como la Cuarta Generación de

aplicaciones y se espera que sea la forma en que en estos próximos años se consumirá los

recursos informáticos, por lo que es un componente para lograr mejorar la comunicación,

movilidad en la administración de los servicios que soporte la diversidad de equipos y que

Page 20: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

20

funciones adecuadamente, además también se debe tener en cuenta que los dispositivos son

distintos y las plataformas deben ser accedidas desde cualquier lugar y debe comportarse de

acuerdo que nos brinde la información necesaria para administrar los servicios5.

Finalmente se puede decir que la pérdida de información en las empresas de acuerdo a los

servidores de bases de datos locales, es uno de los factores importantes para el desarrollo de su

objeto, lo cual ocasiona muchos inconvenientes a nivel interno, y por lo que es necesario brindar

una disponibilidad de información de forma oportuna; en lugar de comprar varios servidores

dedicados con funciones específicas y con requerimientos hardware especiales que generan

costos adicionales a las empresas, por lo que se puede hacer uso de los avances tecnológicos

con el fin de proporcionar soluciones que se adapten a las necesidades de gestión y servicios sin

generar costos en recursos administrativos y técnicos para el desempeño de los servicios

asociados a los servidores, en cuanto al tiempo de respuesta ofrecido por los administradores,

movilidad donde el tiempo que se tiene para dar respuesta a ciertos requerimientos y la

disponibilidad de información debe ser a tiempo, por lo cual es necesario implementar una

herramienta practica que sea portable para el usuario.

1.5.Pregunta de investigación

¿Es posible gestionar y controlar los servidores virtuales de bases de datos utilizando los

servicios en la nube mediante una aplicación móvil, para apoyar el proceso de optimización de

los recursos de las empresas?

5 Tomado repositorio Institucional de la UNLP SEDICI

http://sedici.unlp.edu.ar/handle/10915/19374

Page 21: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

21

1.6.Justificación

La virtualización es una tecnología computacional que permite a un usuario acceder a

múltiples dispositivos físicos. Otra forma de verlo es que una sola computadora controle

múltiples máquinas, o un sistema operativo utilizando múltiples computadores para analizar una

base de datos. Esto a su vez reduce el número de servidores que las compañías necesitan adquirir

y administrar. Le permite consolidar sus servidores y hacer más con menos hardware. También

le permite soportar más usuarios por cada unidad de hardware, entregar más aplicaciones y

correr aplicaciones más rápidamente.

De la misma forma, la nube se presenta como una oportunidad para todas aquellas empresas

que tradicionalmente se han dedicado a las tecnologías de la información y que ven en la

generalización del uso de los servicios de Cloud una vía de desarrollo para incrementar su

volumen de ventas mediante la prestación de servicios en la nube, logrando resultados que se

quieren alcanzar sin que tengan que asumir costes y riesgos específicos, haciendo aquello a lo

que siempre se han dedicado.

La nueva era de la nube ha marcado el modo en el que se trabaja en un computador, pues hoy

en día ya no es necesario que tengamos instalado todo en nuestra máquina para poder acceder a

los datos desde cualquier lugar, además de la facilidad y movilidad que nos brinda el celular para

controlar ciertas actividades de nuestro trabajo haciendo uso de las tecnologías para aprovechar

los recursos. Hemos evidenciado la problemática de las bases de datos y la disponibilidad de la

Page 22: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

22

información acerca de la administración de los servidores y poder controlar los problemas

presentados de una forma eficiente y rápida.

La práctica de la computación en la nube es algo relativamente conocido por consumidores en

casi todo el mundo, un ejemplo es el uso de correo electrónico a través de proveedores como

gmail, yahoo o Hotmail, la cual accede mediante internet al almacenamiento de dicha

información en la nube obteniendo datos que no se encuentran en su propio equipo. Esto

representa un cambio en la forma de infraestructura de las tecnologías de la información y el

software.

Una de las características que posee el Cloud Computing es la relación coste-eficiencia la cual

mejoraría la agilidad y flexibilidad en sus procesos de almacenamiento lo que es un punto más

atractivo para los empresarios que evalúan todas las posibilidades que esta puede brindar.

En cuanto a los elementos móviles, son cada vez más utilizados en nuestra sociedad. Los

Smartphone llamados también teléfonos inteligentes, ofrecen día a día aplicaciones novedosas lo

cual hacen más atractivos sus productos y servicios. Por ello la implementación de herramientas

con el uso de dichos dispositivos es de gran importancia para el manejo personalizado de la

información y la flexibilidad que brindan estos dispositivos, como la accesibilidad desde

cualquier lugar, la respuesta que estos tiene de una manera rápida y eficiente por lo que se

considera un factor importante para brindar soluciones de alta nivel de servicio y comodidad.

Page 23: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

23

Por otro lado, una de las preocupaciones más comunes que se presentan en los

almacenamientos de servidores virtuales es la seguridad, esto se debe a que en ocasiones las

personas suelen interpretar, como inseguro al almacenamiento en la red, ya que si se observa

desde el punto de vista de acceso, la internet es un lugar donde puede ingresar cualquier persona

y tomar lo que se quiera; pero en realidad la seguridad en la nube es completamente fiable, lo

que brindaría al usuario mayor confiabilidad en el almacenamiento de su información.

Esta aplicación se realiza con el fin de mejorar los recursos y servicios de las empresas, con

tecnologías que brindan grandes beneficios y flexibilidades de información; utilizando

herramientas que proporcionan ventajas de movilidad, almacenamiento y aplicación en los

diferentes ámbitos empresariales.

De acuerdo con el escrito realizado por Luis Joyanes Aguilar nos muestra los diferentes

beneficios que trae la computación en la nube (cloudcomputing) y donde se refiere a las

diferentes proveedores de servicios en la nube, como ha evolucionado ofreciendo sus servicios

de una manera más eficiente a los usuarios de empresas, y como utilizan sus centros de datos

distribuidos en diferentes partes del mundo para entregar espacio de almacenamiento web

accesible y económico y que garantiza mayor cobertura, eficiencia en los servicios de

almacenamiento y aprovechamiento de recursos.6

La administración de servicios de bases de datos desde las maquinan virtuales aportan grandes

utilidades y soluciones por medio de los nuevos avances que nos han ofrecido en los últimos

años la tecnología, y que reduce los gastos de administración, energéticos, almacenamientos de

6 Tomado de articuloRevista ICADE. https://revistas.upcomillas.es/index.php/revistaicade/article/view/289/223

Page 24: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

24

las empresas que buscan expandir y ampliar su mercado además de brindar accesibilidad de una

manera sencilla y práctica.

Este proyecto contiene el uso de envió de correos que alerten los cambios realizados al

servidor en la nube, para dar a conocer los estados de detención del servicio de base de datos

que se pueden presentar, hacia el dispositivo móvil que es controlado por la persona encargada,

además de apagar y prender la máquina virtual desde el aplicativo móvil para demostrar acciones

de administración en cuanto al servidor y el control del servicio descripto.

1.7.Marco teórico

1.7.1. Cloud Computing

El concepto de Cloud Computing tiene la capacidad de brindar el acceso a aplicaciones como

un servicio. Ya no es necesario desembolsar grandes capitales para el desarrollo de hardware

para desplegar un servicio o el costo humano para que este funcione. La virtud de Cloud

Computing viene dada en la flexibilidad que esta provee.

Page 25: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

25

Imagen 1. Arquitectura Cloud Computing

Fuente: https://es.wikipedia.org/wiki/Computaci%C3%B3n_en_la_nube

Según la IEEE ComputerSociety, computación en la nube es un paradigma en el que la

información se almacena de manera permanente en servidores en Internet y se envía a memorias

temporales del cliente, lo que incluye computadores portátiles, equipos de escritorio, centros de

ocio, teléfonos celulares, etc. Este modelo permite al usuario acceder a un catá- logo de servicios

estandarizados y responder a las necesidades de su negocio. El usuario, a cambio, paga

únicamente por el consumo efectuado.

a) Beneficios

Reducción del costo total de propiedad; obviamente esta ventaja está más que comprobada y

ampliamente promocionada por proveedores de servicio Cloud.

Page 26: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

26

Mayor escalabilidad y fiabilidad: naturalmente al obtener el soporte de un proveedor de nube,

los principales beneficios que se obtiene son la tolerancia a fallos, reducción de latencia,

copias de seguridad.

Aumento de agilidad de desarrollo de aplicaciones; al desarrollar una aplicación se puede

usar Cloud Computing para simular miles de usuarios y de esta forma comprobar su

desempeño rápida y eficaz.

b) Riesgos

Acuerdo a nivel de servicio; es decir el miedo de las empresas a poner su información fuera

de su alcance.

Seguridad de la aplicaciones; las aplicaciones necesitan un ambiente que se les de seguridad

para desarrollarse correctamente.

1.7.2. Escenarios

a) Nube Privada

Una cloud privada es una modalidad particular de plataforma cloud constituida por un entorno

cloud diferenciado y seguro que sólo el cliente especificado puede utilizar. Al igual que en otras

modalidades de cloud, las clouds privadas proporcionan capacidad de procesamiento como un

servicio, que se ejecuta dentro de un entorno virtualizado cuyos recursos proceden de un

repertorio subyacente de dispositivos informáticos físicos. Sin embargo, en el modelo de

cloudprivada, la plataforma cloud (el repertorio de recursos) sólo está accesible para una

organización concreta, lo cual le proporciona un mayor grado de control y privacidad.

Page 27: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

27

Los mecanismos técnicos que se utilizan para proporcionar los diferentes servicios que

pueden clasificarse dentro de la categoría de servicios cloud privados pueden variar

considerablemente, por lo que no resulta fácil definir qué es lo que constituye una cloud privada

desde el punto de vista técnico. En lugar de plantearlo de esta manera, este tipo de servicios

suelen categorizarse por las funcionalidades que ofrecen a sus clientes. Rasgos característicos de

las clouds privadas son, por ejemplo, el aislamiento de los recursos cloud para su uso exclusivo

por parte de una única organización concreta, y el mayor nivel de seguridad, en contraposición a

las clouds públicas, en las cuales hay muchos clientes accediendo a servicios virtualizados que

toman sus recursos del mismo banco de servidores y acceden a ellos a través de redes públicas.

Los servicios de cloud privada toman sus recursos de un repertorio diferenciado de ordenadores

físicos, aunque éstos pueden estar alojados tanto dentro como fuera de las instalaciones de la

empresa, y el acceso a ellos puede realizarse a través de líneas punto a punto privadas o de

conexiones cifradas seguras que discurran por redes públicas.

El grado adicional de seguridad que proporciona el modelo cloud con aislamiento lógico entre

clientes resulta ideal para cualquier organización, por ejemplo una gran empresa, que necesite

almacenar y procesar datos privados o realizar tareas delicadas. Por ejemplo, una entidad

financiera podría estar interesada en utilizar un servicio decloud privada para almacenar

internamente los datos más confidenciales, como exige la legislación, sin dejar de disfrutar

dentro de su infraestructura de negocio de algunas de las ventajas que ofrece el modelo cloud,

como la asignación de recursos a demanda.

Page 28: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

28

c) Nube pública

Una nube pública es un conjunto de ordenadores y redes informáticas de recursos basados en

el estándar de computación en nube de modelo, en el que un proveedor de servicios hace que los

recursos, tales como las aplicaciones y almacenamiento, disponibles al público en general sobre

el Internet. Servicios en la nube pública pueden ser gratuitos o se ofrecen en un modelo de pago

por uso.

Aplicaciones, almacenamiento y otros recursos se ponen a disposición del público en general

por un proveedor de servicios. Hay proveedores de servicios como Amazon , Microsoft o Google

que son dueños de toda la infraestructura de su centro de datos , así como corredores de la nube

que agregada infraestructura de múltiples proveedores.

d) Nube híbrida

Una nube híbrida es un servicio en la nube integrada utilizando nubes privadas y públicas para

realizar funciones distintas dentro de una misma organización. Todos los servicios de

cloudcomputing deben ofrecer ciertas eficiencias en diferentes grados, pero los servicios de nube

pública es probable que sean más rentables y escalables que las nubes privadas. Por lo tanto, una

organización puede maximizar su eficiencia mediante el empleo de los servicios de nube pública

para todas las operaciones no sensibles, que confía solamente en una nube privada, donde lo

requieren y garantizar que todas sus plataformas se integran a la perfección.

Los modelos híbridos de nube pueden ser implementados en un número de maneras:

✓ Separada equipo proveedores de nube para proporcionar tanto los servicios públicos y

privados como un servicio integrado

Page 29: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

29

✓ Individuales proveedores de nube ofrecen un paquete híbrido completa.

Las organizaciones que gestionan sus nubes privadas mismos se inscriban a un servicio de

nube pública que luego se integran en su infraestructura.

En la práctica, una empresa puede implementar de nube híbrida de hosting para alojar su sitio

web de comercio electrónico dentro de una nube privada, donde es seguro y escalable, pero su

sitio folleto en una nube pública, donde es más rentable (y la seguridad es menos de una

preocupación). Alternativamente, una infraestructura como servicio (IaaS) ofreciendo, por

ejemplo, podría seguir el modelo de nube híbrida y proporcionar un negocio financiero con el

almacenamiento de datos de los clientes dentro de una nube privada, pero luego permitir la

colaboración en los documentos de planificación de proyectos en la nube pública - donde que se

puede acceder por varios usuarios desde cualquier lugar conveniente.

1.7.3. Tipos de infraestructuras en la nube

a) Infraestructura como Servicio (IaaS)

Con el redescubrimiento de la virtualización en el datacenter para la arquitectura x86 se

consiguió desacoplar las cargas de trabajo del hardware físico y su consolidación sobre

servidores cada vez con mayor capacidad. Este ha sido el paso que ha permitido empezar a

considerar los recursos físicos de datacenter como grupos independientes de computación, red y

almacenamiento. IaaS consiste en construir una solución que comprenda los “Fabrics” (tejidos,

estructuras) de red y almacenamiento y el conjunto de elementos de cómputo incluidos en los

servidores, con su capa de virtualización por encima, y ofrecerla a clientes internos y/o externos.

Page 30: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

30

Las capas superiores corren de manera independiente a cómo estén organizados y gestionados

estos recursos.

b) Plataforma como Servicio (PaaS)

Engloba, además de los recursos de infraestructura, a los sistemas operativos, middleware y

runtimes. Todo este conjunto será ofrecido a clientes internos y/o para que por encima se

ejecuten y se almacenen aplicaciones y datos propios. La manera más sencilla y clásica de

entenderlo es asociar el Middleware y Runtime a servidores Web, Bases de Datos y Frameworks

de desarrollo de aplicaciones, que se usarán para hospedar las aplicaciones de los clientes. PaaS

también se beneficia de las ventajas de la virtualización, pero es conveniente recordar que este

modelo lleva mucho tiempo entre nosotros, por poner un ejemplo desde casi los principios de

Internet con los clásicos servicios de alojamiento Web.

c) Software como Servicio (SaaS)

Consiste en ofrecer una solución completa basada en Software, de forma que el cliente puede

consumir diferente tipo de aplicaciones sin tenerse que preocupar de absolutamente nada de lo

que hay por debajo para sustentarla. Al igual que en el caso anterior existen numerosísimos

ejemplos de Software como Servicio en Internet desde, orientados tanto a usuario final del

mercado de consumo como a usuarios empresariales. Correo, almacenamiento, juegos,

aplicaciones ofimáticas y de colaboración, CRMs, redes sociales y un largo etcétera conforman

este tipo de servicios.

Page 31: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

31

1.7.4. Sistemas de comunicaciones móviles

Las comunicaciones móviles se dan cuando tanto el emisor como el receptor están, o pueden

estar, en movimiento. La movilidad de estos dos elementos que se encuentran en los extremos de

la comunicación hace que no sea factible la utilización de hilos (cables) para realizar la

comunicación en dichos extremos. Por lo tanto utilizan básicamente la comunicación vía radio.

Las comunicaciones móviles son actualmente el área de crecimiento más rápido dentro del

sector de las telecomunicaciones, especialmente la telefonía móvil celular. En todo el mundo, a

principios de 1999 existen cerca de 200 millones de usuarios móviles de telefonía celular y es

evidente que el número de usuarios continuará creciendo en los próximos años, alcanzando una

cifra superior a los 100 millones en el año 2000 sólo en la Unión Europea. La explicación a este

crecimiento del mercado se encuentra en el rápido avance de la tecnología, las oportunidades

comerciales que se asocian con la movilidad personal y la bajada de precios en los equipos y de

las propias tarifas de conexión y por tráfico.

Los sistemas de comunicaciones personales (PCS) comprenden un amplio rango de servicios

que, más allá de la simple movilidad, permiten al usuario disponer de conexión telefónica con

independencia de su localización física, el terminal empleado y el medio de transmisión. Para

ello, emplean tanto las tecnologías móviles como las funciones de red inteligente de la red fija,

todas ellas tienden a integrarse en la llamada UMTS (Universal Mobile

TelecommunicationsSystem).

Page 32: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

32

Puesto que el espectro de radio es un recurso limitado compartido por todos los usuarios, se

debe idear un método para dividir el ancho de banda entre tantos usuarios como sea posible.

La utilización de las ondas radioeléctricas se reveló desde hace tiempo como el único medio

eficaz de establecer comunicaciones con puntos móviles, y lo seguirá siendo durante mucho

tiempo, ya que las ondas de radio gozan de la propiedad de salvar obstáculos, y el resto de las

interacciones conocidas por la física actual no puede propagarse a grandes distancias.

Desgraciadamente el espectro radioeléctrico es un recurso limitado cuya utilización racional

sólo ha sido posible mediante una reglamentación muy estricta que permite la optimización de la

asignación de frecuencias.

Tal despilfarro de recursos fue posible porque la única ocupación del espectro, en aquellos

tiempos, era la que hacían las emisoras de radiodifusión. En los años 60, con la proliferación de

las cadenas de radio y televisión, el uso cada vez más frecuente de los radio enlaces de

microondas, los enlaces de satélite, etc., la ocupación del espectro preocupaba ya de tal manera,

que la telefonía móvil se vio obligada a evolucionar hacia sistemas basados fundamentalmente

en un aprovechamiento mejor del espectro disponible.

a) Modo simplex: a una frecuencia

La transmisión y la recepción se efectúan en forma secuencial, en un sentido cada vez. Para

habar, se debe "solicitar permiso", lo que se hace pulsando el botón del terminal denominado

Page 33: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

33

PTT, "Push To Talk" o "Pulsar Para Hablar". Dentro de los sistemas simplex se encuentran los

que funcionan a una o a dos frecuencias. Los primeros son aquellos que utilizan la misma

frecuencia para transmisión y recepción. Presentan como principal inconveniente la alta

probabilidad de captura de una comunicación por otra, debido a una alta interferencia co-canal;

sin embargo, permiten la comunicación entre móviles, sin pasar por la base. Este tipo de

sistemas se utiliza para soportar las comunicaciones de seguridad en los servicios móviles

marítimo y aeronáutico. Los sistemas a dos frecuencias separan la transmisión de la recepción.

Ofrecen mayor protección a la interferencia co-canal pero obligan a que todas las

comunicaciones pasen necesariamente por la estación base, al no poder los móviles hablar entre

sí.

Ventaja: sencillez, además un móvil cuyo retroalcance no le permita llegar a la EB puede

hacerlo a través de otro móvil.

Inconveniente: captura de una comunicación por otra; captura por parte de una estación base

de la comunicación de un móvil con otra estación base para solucionar lo último se acude a

separación en frecuencia (4-5 MHz). Cuando hay varios equipos no hay reducción en el

espectro utilizado.

b) Modo semidúplexA dos frecuencias: soluciona el anterior problema al precio de que los

móviles no pueden hablar entre sí.

Supera el problema de los símplex a dos frecuencias comunicándose los móviles (son

símplex) entre sí a través de la estación base (dúplex).

Page 34: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

34

Este sistema utiliza frecuencias diferentes de transmisión y de recepción. Es una mejora del

sistema simplex a dos frecuencias, donde se incorpora un duplexor a la estación de base. En este

caso, la estación base funciona en dúplex y los terminales móviles lo hacen en simplex. La

estación base se limita a retransmitir las comunicaciones que recibe, a lo que se denomina

"TalkThrough" (TT). Para identificar una solicitud de comunicación frente a posibles

interferencias, se manejan tonos de control a frecuencias "sub-audio" (< 300 Hz) que acompañan

a la comunicación. Así, sólo se activará la estación base cuando reciba una señal, en la

frecuencia de recepción adecuada, acompañada del todo "subaudio".

c) Modo dúplex: Se requiere un radiocanal diferente para enlazar cada móvil con la base.

En estos sistemas la estación base transmite en una frecuencia f1 y recibe en una frecuencia

f2 mientras que el móvil transmite en una frecuencia f2 y recibe en f1. Tanto estación base como

móvil disponen de duplexor que permite la transmisión y recepción simultáneas. En este sistema

no es posible tampoco la comunicación directa móvil -móvil, sin pasar por la estación base. La

implementación de estos sistemas es más cara y compleja que la de los anteriores.

Si bien esta clasificación es útil a la hora de comprender las particularidades de cada sistema

de comunicaciones móviles, para el desarrollo de esta asignatura se cree más conveniente

considerar la clasificación de sistemas según un conjunto de características que les confieren

cierta operatividad. Además de las particularidades de la comunicación - simplex, semi-dúplex o

dúplex - dentro de este conjunto de características se consideran otras como el tipo de gestión de

la comunicación y la canalización, en definida, se trata de agrupar los sistemas en relación con

las facilidades de comunicación que permiten.

Page 35: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

35

La telecomunicación sin hilos está diseñada para usuarios cuyos movimientos están

delimitados a un área bien definida. El usuario de la telecomunicación sin hilos hace llamadas

desde un terminal portátil que se comunica por señales de radio a una estación de base fija. La

estación de base está conectada directa o indirectamente a la red telefónica conmutada (RTC). El

área restringida cubierta por un sistema de telecomunicación sin hilos puede ser desde una casa o

apartamento privados hasta un distrito urbano o un bloque de oficinas. Cada aplicación tiene sus

necesidades específicas.

1.7.5. Grid Computing

La computación grid es una tecnología innovadora que permite utilizar de forma coordinada

todo tipo de recursos (entre ellos cómputo, almacenamiento y aplicaciones específicas) que no

están sujetos a un control centralizado. En este sentido es una nueva forma de computación

distribuida, en la cual los recursos pueden ser heterogéneos (diferentes arquitecturas,

supercomputadores, clusters...) y se encuentran conectados mediante redes de área extensa (por

ejemplo Internet). Desarrollado en ámbitos científicos a principios de los años 1990, su entrada

al mercado comercial siguiendo la idea de la llamada Utilitycomputing supone una importante

revolución.

El término grid se refiere a una infraestructura que permite la integración y el uso colectivo de

ordenadores de alto rendimiento, redes y bases de datos que son propiedad y están administrados

por diferentes instituciones. Puesto que la colaboración entre instituciones envuelve un

Page 36: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

36

intercambio de datos, o de tiempo de computación, el propósito del grid es facilitar la integración

de recursos computacionales. Universidades, laboratorios de investigación o empresas se asocian

para formar grid para lo cual utilizan algún tipo de software que implemente este concepto.

Se llama grid al sistema de computación distribuido que permite compartir recursos no

centrados geográficamente para resolver problemas de gran escala. Los recursos compartidos

pueden ser ordenadores (PC, estaciones de trabajo, supercomputadoras, PDA, portátiles, móviles,

etc), software, datos e información, instrumentos especiales (radio, telescopios, etc.) o

personas/colaboradores.

La computación grid ofrece muchas ventajas frente a otras tecnologías alternativas. La

potencia que ofrece multitud de computadores conectados en red usando grid es prácticamente

ilimitada, además de que ofrece una perfecta integración de sistemas y dispositivos heterogéneos,

por lo que las conexiones entre diferentes máquinas no generarán ningún problema. Se trata de

una solución altamente escalable, potente y flexible, ya que evitarán problemas de falta de

recursos (cuellos de botella) y nunca queda obsoleta, debido a la posibilidad de modificar el

número y características de sus componentes.

Estos recursos se distribuyen en la red de forma transparente pero guardando unas pautas de

seguridad y políticas de gestión de carácter tanto técnico como económico. Así pues, su objetivo

será el de compartir una serie de recursos en la red de manera uniforme, segura, transparente,

eficiente y fiable, ofreciendo un único punto de acceso a un conjunto de recursos distribuidos

geográficamente en diferentes dominios de administración. Esto nos puede llevar a pensar que la

Page 37: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

37

computación Grid permite la creación de empresas virtuales. Es importante saber que una grid es

un conjunto de máquinas distribuidas que ayudan a mejorar el trabajo sobre software pesado.

No se puede dejar de mencionar las características como son:

Capacidad de balanceo de sistemas: no habría necesidad de calcular la capacidad de los

sistemas en función de los picos de trabajo, ya que la capacidad se puede reasignar desde la

granja de recursos a donde se necesite.

Alta disponibilidad. con la nueva funcionalidad, si un servidor falla, se reasignan los

servicios en los servidores restantes;

Reducción de costes: con esta arquitectura los servicios son gestionados por "granjas de

recursos". Ya no es necesario disponer de "grandes servidores" y podremos hacer uso de

componentes de bajo coste. Cada sistema puede ser configurado siguiendo el mismo patrón.

Se relaciona el concepto de grid con la nueva generación del protocolo IP. El nuevo protocolo

de Internet IPv6 permitirá trabajar con una Internet más rápida y accesible. Una de las ideas

clave en la superación de las limitaciones actuales de Internet IPv4 es la aparición de nuevos

niveles de servicio que harán uso de la nueva capacidad de la red para intercomunicar los

ordenadores.

Este avance en la comunicación permitirá el avance de las ideas de gridcomputing al utilizar

como soporte la altísima conectividad de Internet. Es por ello que uno de los campos de mayor

innovación en el uso del gridcomputing, fuera de los conceptos de supercomputación, es el

desarrollo de un estándar para definir los GridServices frente a los actuales Web Services.

Page 38: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

38

1.7.6. Seguridad

El cambio en la forma de hacer los negocios ha sido tan profundo que es muy diferente del de

hace una década tan solo: Los negocios hoy ya no son locales,es más, ni siquiera regionales,

deben ser mundiales, es decir capaces de interactuar a escala global. Empresas con sucursales en

los diferentes continentes, empresas pequeñas y medianas trabajando para otras empresas o

asociadas entre sí, ejecutivos y personal de la empresa viajando constantemente, tienen un

mismo problema: la comunicación, es más la interacción con recursos o información que está

centralizada en la sede central o en otras sucursales. Así, la seguridad en Internet cobra cada vez

mayor importancia, ya que no sólo se deben proteger los servidores de la empresa con Firewalls,

sino también la comunicación que se realizan a través de Internet, que es una red pública

susceptible de ser interceptada por millones de usuarios. Una respuesta al problema de seguridad

de la información, fue la creación de la criptografía, técnica de codificación que hace que lo

transmitido por Internet sólo pueda ser decodificado por quienes se desea; lo cual facilito la

posibilidad de crear redes privadas virtuales (VPN) institucionales sobre Internet. (de negocios,

educativas, militares, etc.) Este tipo de redes facilita la conexión de sitios remotos como las

sucursales de las empresas que estarán interconectadas entre sí.

Hay que tener en cuenta que en la seguridad se debe tener en cuenta los protocolos para que

haya confiabilidad entre estos están:

Page 39: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

39

Rest es un "protocolo que define las operaciones en recursos y en formatos de datos". Como

el protocolo REST es una familia de arquitecturas está basado en "principios o reglas de

arquitectura de red", los estados y la funcionalidad de la aplicación de REST se representan

mediante recursos, los recursos son los elementos de información, para manipular dichos

recursos, los componentes de la red (clientes y servidores) se comunican a través de una

interfaz estándar (HTTP) e intercambian representaciones de estos recursos (los ficheros que

se descargan y se envían).

Simple object Access protocol (soap) SOAP es un protocolo "basado en XML para

aplicaciones que envían o reciben mensajes en internet". SOAP es un protocolo estándar que

deriva de XML-RPC.

Soap fue diseñado para ser simple con tres características principales: "la Extensibilidad, la

Neutralidad y la Independencia de cualquier plataforma o modelo de programación". SOAP

consiste en tres partes que son: un sobre (envelope), el cual define el contenido del mensaje

así también como procesarlo, también tiene un conjunto de reglas de codificación para

expresar instancias de tipos de datos; y por ultimo consta de una conversión para representar

llamadas a procedimientos y respuestas, es decir se puede realizar las peticiones mediante

HTTP a un servidor web tanto como cliente o como servidor. SOAP utiliza HTTP como

protocolo de transferencia, aunque puede ser utilizado también en RPC. Ver la estructura del

protocolo SOAP.

Page 40: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

40

Universal description, discovery, and integration (Uddi) es una "especificación de registro de

negocio que forma una fundación técnica para el soporte de la descripción y descubrimiento

de servicios web que otros proveedores brindan". Dichos registros de UDDI en el catálogo se

hace en XML, es una iniciativa industrial abierta en los servicios Web. El registro de un

negocio en UDDI tiene tres partes: Páginas blancas (dirección, contacto y otros

identificadores conocidos), Páginas amarillas (categorización industrial basada en

taxonomías), y Páginas verdes (información técnica sobre los servicios que aportan las

propias empresas).

Simple networkmanagementprotocol (snmp) el protocolo SNMP es un "protocolo importante

para monitorear el sistema. Varios sistemas pueden acoplarse con un monitor para obtener

información y dar soporte al sistema". El Protocolo Simple de Administración de Red "es un

protocolo de la capa de aplicación que facilita el intercambio de información de

administración entre dispositivos de red" Este protocolo hace que los administradores puedan

supervisar el funcionamiento de la red, además de buscar sus problemas, también resolverlas

y planear el crecimiento de dichos funcionamientos.

1.7.7. Virtualización

Virtualización es la técnica empleada sobre las características físicas de algunos recursos

computacionales, para ocultarlas de otros sistemas, aplicaciones o usuarios que interactúen con

ellos. Esto implica hacer que un recurso físico, como un servidor, un sistema operativo o un

dispositivo de almacenamiento, aparezca como si fuera varios recursos lógicos a la vez, o que

Page 41: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

41

varios recursos físicos, como servidores o dispositivos de almacenamiento, aparezcan como un

único recurso lógico.

Por ejemplo, la virtualización de un sistema operativo es el uso de una aplicación de software

para permitir que un mismo sistema operativo maneje varias imágenes de los sistemas operativos

a la misma vez.

Esta tecnología permite la separación del hardware y el software, lo cual posibilita a su vez

que múltiples sistemas operativos, aplicaciones o plataformas de cómputo se ejecuten

simultáneamente en un solo servidor o PC según sea el caso de aplicación.

Hay varias formas de ver o catalogar la virtualización, pero en general se trata de uno de estos

dos casos: virtualización de plataforma o virtualización de recursos.

Virtualización de plataforma

Se trata de simular una máquina real (servidor o PC) con todos sus componentes (los cuales

no necesariamente son todos los de la máquina física) y prestarle todos los recursos necesarios

para su funcionamiento. En general, hay un software anfitrión que es el que controla que las

diferentes máquinas virtuales sean atendidas correctamente y que está ubicado entre el hardware

y las máquinas virtuales. Dentro de este esquema caben la mayoría de las formas de

virtualización más conocidas, incluidas la virtualización de sistemas operativos, la virtualización

de aplicaciones y la emulación de sistemas operativos.

Page 42: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

42

Virtualización de recursos

Esta permite agrupar varios dispositivos para que sean vistos como uno solo, o al revés,

dividir un recurso en múltiples recursos independientes. Generalmente se aplica a medios de

almacenamiento. También existe una forma de virtualización de recursos muy popular que no es

sino las redes privadas virtuales o VPN, abstracción que permite a un PC conectarse a una red

corporativa a través de la Internet como si estuviera en la misma sede física de la compañía.

Virtualización de redes

La virtualización de redes es la reproducción completa de una red física en software. Las

redes virtuales ofrecen las mismas funciones y garantías que una red física; no obstante,

proporcionan las ventajas operacionales y la independencia del hardware propias de la

virtualización, lo que incluye aprovisionamiento rápido, implementación no disruptiva, y

mantenimiento y soporte automatizados para aplicaciones heredadas y nuevas.

La virtualización de redes ofrece dispositivos y servicios de red lógicos, tales como puertos

lógicos, switches, enrutadores, firewalls, equilibradores de carga, redes privadas virtuales (VPN,

Virtual Private Network), etc., para las cargas de trabajo conectadas. Las aplicaciones se ejecutan

en la red virtual exactamente del mismo modo en que lo hacen en una red física.

Puede crear una estructura de conexión de red altamente escalable que proporcione niveles

más altos de eficiencia operacional y agilidad, aprovisionamiento más rápido, resolución de

problemas y clonación, junto con el monitoreo, la calidad de servicio (QoS, Quality-of-Service)

y la seguridad; todo esto con el respaldo del software de virtualización de red de VMware.

Page 43: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

43

VMware NSX será la plataforma de virtualización de red y seguridad líder en el mundo, que

proporcionará una red virtual móvil, programática y con servicio completo para máquinas

virtuales, y que podrá implementarse en cualquier hardware de red de protocolo de Internet (IP,

Internet Protocol) de uso general.

La plataforma VMware NSX combina lo mejor de Nicira NVP y VMwarevCloud Network

and Security (vCNS) en una sola plataforma unificada. VMware NSX cuenta con una serie

completa de elementos y servicios de red lógicos y simplificados que incluyen switches lógicos,

enrutadores, firewalls, equilibradores de carga, VPN, QoS, monitoreo y seguridad.

El producto final de la virtualización de redes es la red virtual. Las redes virtuales se

clasifican en dos clases principales: externas e internas. Las redes virtuales externas constan de

varias redes locales que el software administra como una única entidad. Las partes que

componen las redes virtuales externas clásicas son el hardware de conmutación y la tecnología

de software VLAN. Entre los ejemplos de redes virtuales externas, se incluyen las grandes redes

corporativas y los centros de datos.

Virtualización de servidores

Permite consolidar servidores e instalarlos dentro de un solo servidor, con el fin de ahorrar

espacio de almacenamiento, costos de hardware, electricidad y soporte. Esto también facilita el

manejo y aumenta la utilización de los recursos de hardware.

Page 44: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

44

Las empresas pueden aumentar el aprovechamiento del servidor y del almacenamiento,

reduciendo los costos de equipamiento, energía, refrigeración y espacio. Al combinar servidores

y almacenamiento en conjuntos de recursos que se pueden distribuir a las aplicaciones que la

empresa necesite más, las operaciones de informática se pueden alinear a la cambiante demanda

y a las prioridades de la empresa.

Pensar en la virtualización de servidores es preparar una plataforma de virtualización que

facilita la creación de arquitecturas de computación en nube. Nuestras soluciones ayudan a que el

departamento de TI cumpla con los acuerdos de nivel de servicio de las aplicaciones

fundamentales más exigentes, con el menor costo total de propiedad (TCO, total cost of

ownership) posible.

1.7.8. Móviles

Las aplicaciones también llamadas apps están presentes en los teléfonos desde hace tiempo;

de hecho, ya estaban incluidos en los sistemas operativos de Nokia o Blackberry años atrás. Los

móviles de esa época, contaban con pantallas reducidas y muchas veces no táctiles, y son los que

ahora llamamos featurephones, en contraposición a los smartphones, más actuales.

En esencia, una aplicación no deja de ser un software. Para entender un poco mejor el

concepto, podemos decir que las aplicaciones son para los móviles lo que los programas son para

los ordenadores de escritorio.

Page 45: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

45

Las comunicaciones móviles se dan cuando tanto el emisor como el receptor están, o pueden

estar, en movimiento. La movilidad de estos dos elementos que se encuentran en los extremos de

la comunicación hace que no sea factible la utilización de hilos (cables) para realizar la

comunicación en dichos extremos. Por lo tanto utilizan básicamente la comunicación vía radio.

Las comunicaciones móviles no aparecieron de forma comercial hasta finales del siglo XX.

Los países nórdicos fueron los pioneros en disponer de sistemas de telefonía móvil,

Radiobúsquedas (GPS), redes móviles privadas o Trunking. Los sistemas de telefonía móvil

avanzados fueron el siguiente paso. Después llegó la telefonía móvil digital y con la rápida

adopción mundial de las agendas personales, laptops (computadores portátiles), netbooks

(miniordenadores) y un sin fin de dispositivos las comunicaciones móviles se usaron cada vez

más para conectarse vía radio con otros dispositivos o redes. Finalmente cabe destacar la fusión

entre comunicaciones móviles e Internet, lo que fue el verdadero punto de inflexión positivo para

estos dos elementos.

1.7.9. Servidor de Bases de datos

Para bases de datos con múltiples usuarios sirve un servidor de base de datos. Las bases de

datos están situadas en un servidor y se puede acceder a ellas desde terminales o equipos con un

programa -llamado cliente- que permita el acceso a la base o bases de datos. Los gestores de base

de datos de este tipo permiten que varios usuarios hagan operaciones sobre ella al mismo tiempo:

un puede hacer una consulta al mismo tiempo que otro, situado en un lugar diferente.

Page 46: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

46

Los servidores de bases de datos surgen con motivo de la necesidad de las empresas de

manejar grandes y complejos volúmenes de datos, al tiempo que requieren compartir la

información con un conjunto de clientes de una manera segura. Ante este enfoque, un sistema

gestor de bases de datos SGBD deberá ofrecer soluciones de forma fiable, rentable y de alto

rendimiento. A estas tres características, le debemos añadir una más: debe proporcionar servicios

de forma global y, en la medida de lo posible, independientemente de la plataforma. Internet se

ha convertido en nuestros días en la mayor plataforma de comunicaciones jamás vista. Esto hace

que las empresas tiendan a presentar su información a través de la Web en forma de contenidos,

que después los clientes consultarán para establecer relaciones con dichas empresas.

Arquitectura SOA

La Arquitectura Orientada a Servicios (SOA en inglés), es un concepto de arquitectura de

software que define la utilización de servicios para dar soporte a ciertos requisitos del negocio.

Esta arquitectura permite crear sistemas altamente escalables, que pueden ayudar a las

organizaciones a impulsar el rendimiento y, al mismo tiempo, reducir costos de TI y mejorar la

flexibilidad en los procesos del negocio.

SOA proporciona una metodología y un marco de trabajo para documentar las capacidades de

negocio y da soporte a las actividades de integración y consolidación de los datos de cualquier

organización.

Page 47: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

47

Imagen 2. Arquitectura SOA

Fuente: Blog Emerging Technologies https://emergingtechuva.wordpress.com/2013/11/25/arquitectura-orientada-a-

servicios-soa/

a) Características

Servicios de datos escalables y flexibles.

Servicios de infraestructura para la autentificación, el control de acceso y el registro.

Servicios CRUD para crear, leer y actualizar datos de todas las formas de sistemas back-end,

incluidos datos estructurados, no estructurados, semi-estructurados, de mainframe y en la

nube.

Servicios de integración para ofrecer todas las funciones de integración de datos, como el

acceso, el perfilado, la transformación, la calidad y la entrega de datos, así como la

federación

Servicios de metadatos para gestionar y utilizar metadatos técnicos y de negocio para la

detección, la auditoría, el linaje y el análisis de impacto.

Page 48: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

48

1.7.10. Internet

Internet es un conjunto de redes interconectadas a nivel mundial. Puede definirse como una

red mundial de redes de ordenadores. No es por tanto una red de ordenadores en el sentido usual,

sino una red de redes que tiene la particularidad de que cada una de las redes es independiente y

autónoma.

Las redes que forman parte de Internet son de muy diversa índole, propósito y tamaño. Hay

redes públicas y privadas; locales, regionales e internacionales; institucionales, educativas,

universitarias, dedicadas a la investigación, al entretenimiento, etc.

Permite, como todas las redes, compartir recursos. Es decir: mediante el ordenador, establecer

una comunicación inmediata con cualquier parte del mundo para obtener información sobre un

tema que nos interesa, ver los fondos de la Biblioteca del Congreso de los Estados Unidos, o

conseguir un programa o un juego determinado para nuestro ordenador. En definitiva: establecer

vínculos comunicativos con millones de personas de todo el mundo, bien sea para fines

académicos o de investigación, o personales.

Los ordenadores integrados en las redes que forman la red Internet son capaces de

comunicarse entre sí porque todos ellos utilizan el mismo idioma: los protocolos de

comunicación TCP/IP.

Un protocolo de comunicación es un conjunto de convenciones que determinan cómo se

realiza el intercambio de datos entre dos ordenadores o programas. Como decíamos, el protocolo

Page 49: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

49

utilizado por todas las redes que forman parte de Internet es el denominado TCP/IP, siglas que en

realidad corresponden a dos protocolos distintos: TCP (Transmission Control Protocol), el

protocolo de control de transmisión, e IP (Internet Protocol), el protocolo Internet.

1.7.11. Bases de datos distribuidas

Por estos días las son más las personas que quieren compartir información a través de la red

desde diferentes lugares del mundo, y empresas que deben garantizar el compartimiento de los

archivos de los usuarios, así optan por dividir esta base de datos en unas más pequeñas

denominados fragmentos, los cuales se pueden colocar en distintas ubicaciones.

Entonces se llama base de datos distribuidas a los fragmentos que se encuentran almacenados

en lugares distintos. Estos sitios constan con una computadora y una DBMS (Sistema de gestión

de base de datos), para administrar la base local situada conectándose entre sí aquellos

fragmentos de una base distribuida por medio de una red de comunicación.

Al momento de surgir una petición de consulta de cualquier sitio, el administrador general de

la base de datos, analiza esta petición y determina qué tipo de base de datos distribuidos

(fragmentos) se puede necesitar. Las bases de datos locales pueden conectarse físicamente de

diversas formas:

Red totalmente conectada

Red prácticamente conectada

Page 50: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

50

Red con estructura de árbol

Red de estrella

Red de anillo

Una de las mejoras realizadas como consecuencia de la integración con la Red Global, es la

de la posibilidad de permitir la compartición y distribución de la información a lo largo de los

servidores situados en cualquier parte del mundo. Esto permitirá a las empresas disponer de su

información sea cuál sea el lugar del mundo en el que se encuentre el departamento que la

procesa. E, incluso, permitirá a las empresas poder integrar sus bases de datos con sus

proveedores o clientes, de manera que podrán colaborar a nivel de servicios y recursos de

información, ganando en rapidez y fiabilidad. Para ello, los servidores de datos deberán

proporcionar los servicios de intercambio de información, reglas de sincronización.

Es una colección de datos que pertenecen lógicamente a un sólo sistema, pero se encuentra

físicamente esparcido en varios sitios de la red.

Un sistema distribuido de bases de datos se almacena en varias computadoras. Los principales

factores que distinguen un SBDD de un sistema centralizado son los siguientes:

Hay múltiples computadores, llamados sitios o nodos.

Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones

para transmitir datos y órdenes entre los sitios.

Page 51: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

51

1.8.Marco conceptual

1.8.1. Servidor

En Internet, un servidor es un ordenador remoto que provee los datos solicitados por parte de

los navegadores de otras computadoras. Los Servidores almacenan información en forma de

páginas web y a través del protocolo HTTP lo entregan a petición de los clientes (navegadores

web) en formato HTML.

Adicionalmente un servidor es un tipo de software que realiza ciertas tareas en nombre de los

usuarios. El término servidor ahora también se utiliza para referirse al ordenador físico en el cual

funciona ese software, una máquina cuyo propósito es proveer datos de modo que otras

máquinas puedan utilizar esos datos.

1.8.2. Servidor de base de datos

Los servidores de bases de datos surgen con motivo de la necesidad de las empresas de

manejar grandes y complejos volúmenes de datos, al tiempo que requieren compartir la

información con un conjunto de clientes (que pueden ser tanto aplicaciones como usuarios) de

una manera segura. Ante este enfoque, un sistema gestor de bases de datos (SGBD) deberá

ofrecer soluciones de forma fiable, rentable y de alto rendimiento. A estas tres características, le

debemos añadir una más: debe proporcionar servicios de forma global y, en la medida de lo

posible, independientemente de la plataforma. Internet se ha convertido en nuestros días en la

Page 52: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

52

mayor plataforma de comunicaciones jamás vista. Esto hace que las empresas tiendan a presentar

su información a través de la Web en forma de contenidos, que después los clientes consultarán

para establecer relaciones con dichas empresas.

1.8.3. Computación en la nube

La computación en nube 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.

Mediante este servicio la plataforma no se encuentra en un solo servidor sino en varios

servidores conectados entre sí (nube). Esta tecnología permite la creación de Centros de Datos

Virtuales que incrementan el desempeño, estabilidad y disminuyen notoriamente los gastos de

infraestructura.

1.8.4. Máquina virtual

Una máquina virtual es un software que permita simular un ordenador dentro del propio

ordenador donde dicho software es instalado. El ordenador simulado puede ejecutar aplicaciones

como si se tratase de un ordenador real. Este tipo de aplicaciones tiene diferentes usos aunque el

Page 53: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

53

más extendido de ellos en los usuarios domésticos es la "prueba" de sistemas operativos, sin

tener que cambiar el que utilizan habitualmente.

1.8.5. Bases de 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.

1.8.6. Servicios

Una función sin estado, auto-contenida, que acepta una(s) llamada(s) y devuelve una(s)

respuesta(s) mediante una interfaz bien definida. Los servicios pueden también ejecutar unidades

discretas de trabajo como serían editar y procesar una transacción. Los servicios no dependen del

estado de otras funciones o procesos. La tecnología concreta utilizada para prestar el servicio no

es parte de esta definición. Existen servicios asíncronos en los que una solicitud a un servicio

crea, por ejemplo, un archivo, y en una segunda solicitud se obtiene ese archivo.

1.8.7. SOAP (siglas de Simple Object Access Protocol)

Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden

comunicarse por medio de intercambio de datos XML. Este protocolo deriva de un protocolo

Page 54: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

54

creado por DaveWiner en 1998, llamado XML-RPC. SOAP fue creado por Microsoft, IBM y

otros. Está actualmente bajo el auspicio de la W3C. Es uno de los protocolos utilizados en los

servicios Web.

1.8.8. Aplicación Móvil

En esencia, una aplicación no deja de ser un software. Para entender un poco mejor el

concepto, podemos decir que las aplicaciones son para los móviles lo que los programas son para

los ordenadores de escritorio.

1.8.9. Android

Es un sistema operativo basado en el núcleo Linux. Fue diseñado principalmente para

dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tablets; y también para

relojes inteligentes, televisoresy automóviles. Inicialmente fue desarrollado por Android Inc.,

empresa que Google respaldó económicamente y más tarde, en 2005, compró.9 Android fue

presentado en 2007 junto la fundación del Open HandsetAlliance(un consorcio de compañías de

hardware, software y telecomunicaciones) para avanzar en los estándares abiertos de los

dispositivos móviles. El primer móvil con el sistema operativo Android fue el HTC Dream y se

vendió en octubre de 2008. Los dispositivos de Android venden más que las ventas combinadas

deWindowsPhone e IOS.

Page 55: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

55

1.9.Marco histórico

1.9.1. Virtualización

La virtualización empezó a desarrollarse en la década de 1960 para particionar los mainframes

de gran tamaño a fin de mejorar su utilización.

Luego de unos años en los 80´s y 90´s este particionamiento de la capacidad de computo

prácticamente desaparece debido a la adopción de la arquitectura Cliente / Servidor donde parte

de las cargas de trabajo se trasladaban a las computadores de los usuarios.

Fue IBM quien empezó a implementar la virtualización hace más de 30 años como una

manera lógica de particionar ordenadores mainframe en máquinas virtuales independientes. Estas

particiones permitían a los mainframes realizar múltiples tareas: ejecutar varias aplicaciones y

procesos al mismo tiempo. Dado que en aquella época los mainframes eran recursos caros, se

diseñaron para particionar como un método de aprovechar al máximo la inversión.

La virtualización se abandonó de hecho en las décadas de 1980 y 1990, cuando las

aplicaciones cliente-servidor y los servidores x86 y escritorios económicos establecieron el

modelo de informática distribuida.

Page 56: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

56

En 1999, VMware introdujo la virtualización en los sistemas x86 como un medio para

solucionar muchos problemas tales como incremento en la utilización de recursos, amenazas de

ataque de seguridad, mantenimiento de equipos de coste elevado entre otros y transformar los

sistemas x86 en infraestructuras de hardware compartido de uso general que ofrecen un

aislamiento completo, movilidad y opciones de elección del sistema operativo en los entornos de

aplicaciones.

1.9.2. Nube

La historia inicial de la computación en nube nos lleva a finales del siglo veinte, cuando la

prestación de servicios de computación comenzó. Sin embargo el concepto se remonta a J.C.R.

Licklider y John McCarthy.

En 1961, se sugiere públicamente que la tecnología de tiempo compartido (Time-Sharing) de

las computadoras podría conducir a un futuro donde el poder del cómputo e incluso aplicaciones

específicas podría venderse como un servicio (tal como el agua o la electricidad). Esta idea de

una computadora o utilidad de la información era muy popular en la década de 1960, incluso

algunas empresas comenzaron a proporcionar recurso compartidos como oficina de servicios -

donde se alquilaba tiempo y servicio de computo.

En 1996, Douglas Parkhill con su libro llamado "El desafío de la utilidad de la computadora"

exploró a fondo muchas de las características actuales de la computación en nube

Page 57: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

57

(aprovisionamiento elástico a través de un servicio de utilidad), así como la comparación de la

industria eléctrica y el uso de las formas públicas, privadas, comunitarias y gubernamentales.

Las empresas de telecomunicaciones hasta la década de los 90s eran quienes ofrecían redes

privadas virtuales (VPN) con una calidad de servicio semejante, pero a un costo mucho menor.

Luego vino Eucalyptus en 2008, como la primera plataforma de código abierto compatible

con el API-AWS para el despliegue de clouds privados, seguido por OpenNebula, el primer

software de código abierto para la implementación de nubes privadas e híbridas. Microsoft

entraría hasta el 2009 con el lanzamiento de Windows Azure. Luego en 2010 proliferaron

servicios en distintas capas de servicio: Cliente, Aplicación, Plataforma, Infraestructura y

Servidor. En 2011, Apple lanzó su servicio iCloud, un sistema de almacenamiento en la nube -

para documentos, música, videos, fotografías, aplicaciones y calendarios - que prometía cambiar

la forma en que usamos la computadora.

Desde hace varios años, cuando una persona ha representado en forma gráfica el Internet, lo

ha hecho dibujando una nube. Y desde hace varios años el término “computación en la nube” o

“cloudcomputing” se escribe para referirse a Internet. El término y la figura de nube, representan

muy acertadamente la manera en que se trabaja en estos días: un computador personal que puede

ser muy básico, conectado a la nube (Internet), en la que se encuentra toda su “inteligencia”. Este

computador no necesita ser muy sofisticado; por ejemplo no necesita tener disco duro, ya que en

algún lugar del planeta se encuentra almacenada su información, a la que puede accesar a través

de Internet (nube).

Page 58: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

58

1.9.3. Telefonía móvil

La telefonía celular es un sistema de comunicación telefónica totalmente inalámbrica, en este

caso los sonidos se convierten en señales electromagnéticas, que viajan a través del aire, siendo

recibidas y transformadas nuevamente en mensaje a través de antenas repetidoras o vía satélite.

El área que cubre una antena es una célula. Los encargados de diseñar el prototipo final de la

telefonía móvil, fueron los científicos del laboratorio Bell, quienes después de muchos intentos

inspirados en los radioteléfonos, dieron inicio a la telefonía celular en 1983, extendiéndose a

nivel mundial.

La historia de la telefonía celular se remonta a los años 40s, cuando motivada por la segunda

guerra mundial, la empresa Motorola desarrollo un teléfono móvil llamado HandieTalkie H12-

16, este aparato usaba ondas de radio que para ese momento no superaban los 60 MHz.

El primer teléfono móvil fue el NMT 450 (Nordic Mobile Telephony 450 MHz), desarrollado

por Ericsson, este aparato, todavía usaba las señales de radio con modulación de frecuencia.

Para esta época los teléfonos todavía eran aparatos grandes y pesados, pero constituían un

gran avance en términos de comunicación móvil. Posteriormente se avanzó a frecuencias de

radio (900 MHz) superiores a las ya conocidas.

Page 59: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

59

La segunda generación nace a principios de los años 90s, utiliza sistemas GSM, IS-136, iDEN

e IS-95 con frecuencias de 900 y 1800 MHz. En esta generación se abandona el uso de ondas de

radio y se da paso a la era digital de las comunicaciones. Esto ofrece grandes ventajas como la

calidad de voz, mejora en la seguridad y bajos costos de operación.

La tercera generación se caracteriza por ampliar características como ancho de banda y

manejo de datos y ofrecer nuevos servicios como la teleconferencia, televisión, acceso pleno a

internet y descarga de archivos.

La generación 4, o 4G será la evolución tecnológica que ofrecerá al usuario de telefonía móvil

un mayor ancho de banda que permitirá, entre muchas otras cosas, la recepción de televisión en

Alta Definición.

1.10. Marco legal

Teniendo el en cuenta el artículo 71 de la constitución política de Colombia y refiriéndose al

conocimiento se deduce que La búsqueda del conocimiento y la expresión artística son libres.

Los planes de desarrollo económico y social incluirán el fomento a las ciencias y en general, a la

cultura. Por tal razón es importante reconocer que los proyectos tecnológicos cuentan con el

respaldo necesario para llevar a cabo dichas propuestas.

Page 60: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

60

El software que se utiliza para la implementación del proyecto corresponde a herramientas

libres, y los equipos para el desarrollo del proyecto son recursos personales y recursos del grupo

de investigación METIS de la Universidad Distrital.

1.11. Metodología

RUP (Rationalunificatedprocess)

La configuración del Sistema de administración de servidores de bases de datos virtuales en la

nube controlados mediante un dispositivo móvil, se realiza utilizando la Metodología de

Desarrollo de Software RUP (Rationalunifiedprocess).

El Proceso Unificado se repite a lo largo de una serie de ciclos que constituyen la vida de un

sistema. Cada ciclo constituye una versión del sistema.

Fases: Cada ciclo constas de cuatro fases: inicio, elaboración, construcción, y transición. Cada

fase se subdivide en iteraciones. En cada iteración se desarrolla en secuencia un conjunto de

disciplinas o flujos de trabajos.

Disciplinas: Cada disciplina es un conjunto de actividades relacionadas (flujos de trabajo)

vinculadas a un área específica dentro del proyecto total. Las más importantes son:

Requerimientos, Análisis, Diseño, Codificación, y Prueba.

Page 61: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

61

Cada disciplina está asociada con un conjunto de modelos que se desarrollan. Estos modelos

están compuestos por artefactos. Los artefactos más importantes son los modelos que cada

disciplina realiza: modelo de casos de uso, modelo de diseño, modelo de implementación, y

modelo de prueba.

Imagen 3. Fases Metodología RUP (RationalUnificatedProcess)

Fuente: http://ttps-ruby.github.io/capacitacion-ruby-ttps/#30

Arquitectura orientada a servicios (SOA)

Es un paradigma de arquitectura para diseñar y desarrollar sistemas distribuidos. Las

soluciones SOA han sido creadas para satisfacer los objetivos de negocio las cuales incluyen

facilidad y flexibilidad de integración con sistemas legados, alineación directa a los procesos de

negocio reduciendo costos de implementación, innovación de servicios a clientes y una

adaptación ágil ante cambios incluyendo reacción temprana ante la competitividad.

Permite la creación de sistemas de información altamente escalables que reflejan el negocio

de la organización, a su vez brinda una forma bien definida de exposición e invocación de

Page 62: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

62

servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción

entre diferentes sistemas propios o de terceros.

SOA define las siguientes capas de software:

Aplicaciones básicas - Sistemas desarrollados bajo cualquier arquitectura o tecnología,

geográficamente dispersos y bajo cualquier figura de propiedad;

De exposición de funcionalidades - Donde las funcionalidades de la capa aplicativa son

expuestas en forma de servicios (generalmente como servicios web);

De integración de servicios - Facilitan el intercambio de datos entre elementos de la capa

aplicativa orientada a procesos empresariales internos o en colaboración;

De composición de procesos - Que define el proceso en términos del negocio y sus

necesidades, y que varía en función del negocio;

De entrega - donde los servicios son desplegados a los usuarios finales.

SOA proporciona una metodología y un marco de trabajo para documentar las capacidades de

negocio y puede dar soporte a las actividades de integración y consolidación.

A continuación se especifica y se integran las metodologías utilizadas con sus actividades

propias para el desarrollo de este proyecto.

Page 63: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

63

Etapas del

Proyecto Modulo Metodología Actividades

Req

uer

imie

nto

s Administración

Ayuda

RUP

Identificación de actores

Lista preliminar de casos de uso

Depuración de casos de uso

Documentación de Casos de uso

Servicios Web SOA Identificación servicio Web

An

áli

sis

Administración

Ayuda

RUP

Lista de casos de uso

Depuración de casos de uso

Documentación de casos de uso

Diagrama de Secuencia

Diagrama de Actividad

Diagrama de Estado

Diagrama de Clase

Servicio Web SOA

Diagrama de Secuencia

Diagrama de Actividad

Diagrama de Estado

Diagrama de Clase

Dis

eño

Administración

Ayuda

RUP

Listado Inicial de Clases

Responsabilidades de las clases

Modelo de Interfaz

Servicio Web SOA

Lista Inicial de Clases

Responsabilidades de las Clases

Definir la organización del Código

Imp

lem

enta

ción

Administración

Ayuda

RUP

Documentación de Código Fuente

Implementar Clases

Definir la Organización del Código

Servicios Web SOA

Implementar Clases

Documentación de Código Fuente

Pru

ebas

Administración

RUP

Prueba de Sistemas

Ayuda Prueba de Integración

Servicio Web SOA Pruebas Servicio Web

Pruebas de Integración

Tabla 1. Metodología

Page 64: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

64

1.12. Delimitaciones

1.12.1. Delimitación geográfica

El desarrollo de este proyecto se llevará a cabo en el Grupo de Investigación METIS de la

Universidad Distrital Francisco José de Caldas (Facultad Tecnológica).

1.12.2. Delimitación temporal

Para el completo diseño e implementación del presente proyecto se ha estimado un tiempo de

doce (15) meses, a partir de la institucionalización del anteproyecto.

1.12.3. Delimitación temática

El desarrollo del Sistema de Administración de servidores de Bases de Datos virtuales en la

nube controlados mediante un dispositivo móvil, está compuesto principalmente por dos partes:

el desarrollo de la aplicación móvil y la implementación del servidor de bases de datos en la

nube.

El Sistema de administración de servidores virtuales en la nube, contempla para su desarrollo

e implementación las herramientas de software libre que se encuentran relacionadas a

continuación:

Page 65: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

65

SOFTWARE UTILIZADO PARA EL DESARROLLO

Java – Android

developertools

El SDK de Android proporciona las bibliotecas API y las herramientas

de desarrollo necesarias para crear, probar y depurar aplicaciones para

Android. Incluye los componentes del SDK de Android esenciales y una

versión del IDE de Eclipse con una función de ADT (Android Developer

Tools) para agilizar el desarrollo de aplicación Android.

Eclipse Eclipse es una plataforma de desarrollo open source basada en Java. Es

un desarrollo de IBM cuyo código fuente fue puesto a disposición de los

usuarios. En sí mismo Eclipse es un marco y un conjunto de servicios para

construir un entorno de desarrollo a partir de componentes conectados

(plug-in).

MySQL MySQL es el servidor de bases de datos relacionales más popular,

desarrollado y proporcionado por MySQL AB. MySQL AB es una

empresa cuyo negocio consiste en proporcionar servicios en torno al

servidor de bases de datos MySQL.

Apache El servidor HTTP Apache es un servidor web HTTP de código abierto,

para plataformas Unix (BSD, GNU/Linux, etc.),Microsoft

Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1

Amazon web

services

Amazon Web Services es una colección de servicios de computación en

la nube que en conjunto forman una plataforma de computación en la nube,

ofrecidas a través de Internet por Amazon.com.

Page 66: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

66

Angular

framework

javascript

Es un impresionante framework javascript opensource desarrollado

por Google. Un framework para crear Webapps en lenguaje cliente con

Javascript ejecutándose con el conocido single-page

applications (aplicación de una sola página) que extiende el tradicional

HTML con etiquetas propias (directivas) como pueden ser ng-app, ng-

controller, ng-model, ng-view.

Cordova plugin Un plugin de Cordova/Phonegap sirve como unión entre el WebView que

muestra la aplicación híbrida y la plataforma nativa sobre la cual corre.

Estos plugins se componen de un interfaz JavaScript

Tabla 2. .Software utilizado para el desarrollo

1.12.4. Delimitación técnica

La plataforma inicial que va soportar el desarrollo del sistema de administración de servidores

está conformada por los siguientes componentes:

Sistema operativo Windows

Proveedor de servicios en la nube Amazon Web services

Manejador de base de datos MySQL

Servidor Web, de aplicaciones y de servicios Apache.

Lenguaje de programación Java especificación JEE

Ambiente de desarrollo Eclipse

Angular Framework javascript

Apache Ant

Page 67: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

67

Cordovaplugin

Android studio.

1.13. Alcances

El proyecto consiste en el diseño y desarrollo del sistema de administración de servidores de

bases de datos virtuales en la nube controlados mediante un dispositivo móvil. Contempla el

desarrollo de los siguientes componentes:

● Mensajes de Correo: implementa el modelo de información a través de mensajes de

correo, cuando se presenten cambios de estado en los servicios del servidor virtual en la nube,

que permita al usuario mantenerse informado.

● Módulo de administración: Permite al usuario iniciar y detener las máquinas virtuales,

subir, bajar y hacer copias de seguridad del servicio de bases de datos a través del dispositivo

móvil.

● Módulo de ayuda, describe el funcionamiento de las diferentes opciones del sistema para

diferentes usuarios que lo utilizan, facilitando la comprensión de las diferentes facilidades que

ofrece.

● El sistema diseñado no controlara completamente las maquinas virtualizadas por lo que

solo se implementara las funciones básicas de prender y apagar la máquina y tres funciones

específicas para administrar el servicio de bases de datos implementado.

Page 68: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

68

1.14. Recursos

1.14.1. Técnicos

Llevar a cabo la implementación del Sistema de administración de servidores de bases de

datos virtuales en la nube controlados mediante un dispositivo móvil, demanda el uso de

software de desarrollo el cual cuenta con un licenciamiento gratuito, por lo tanto, la estimación

de costos para la puesta en marcha no será afectada por el software utilizado. Los recursos

técnicos necesarios para la puesta en marcha del Sistema administración de servidores, se

relacionan a continuación:

Recurso Nombre

Sistema operativo Windows

Manejador de base de datos Mysql

Servidor de aplicaciones Apache

Lenguaje de programación Java/Android developertools

Ambiente de desarrollo Eclipse

Proveedor de Servicios en la nube Amazon web service

Servidor Web Jboss Tabla 3. Recursos técnicos

Además de los recursos técnicos otro aspecto importante, es la localización de los recursos

necesarios para el desarrollo e implementación del proyecto. Para lo cual se hace uso de los

equipos de cómputo disponibles en el Grupo de Investigación METIS, ubicado en la

Universidad Distrital Francisco José de Caldas, Facultad Tecnológica.

El proyecto es factible técnicamente porque gracias a la condición de licenciamiento libre que

tiene el software según la tabla anterior y la disposición del hardware por parte del grupo de

investigación METIS, se cuenta con los recursos necesarios para el desarrollo del proyecto.

Page 69: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

69

1.14.2. Operativos

Llevar a cabo este proyecto demanda un equipo de trabajo humano que cumpla y realice

diferentes actividades, Para ello se cuenta con un grupo de personas cuyos nombres y funciones

se relacionan en la siguiente tabla:

Integrante del equipo Función

Sol Julliet Lozano Investigación y desarrollo para la realización del

proyecto.

Juan Carlos Guevara Bolaños Director del grupo de investigación METIS y tutor del

proyecto.

Tabla 4. Recursos operativos

1.14.3. Económicos

A continuación se relacionan los recursos necesarios para la realización de este proyecto de

investigación, identificando los costos de, el software, hardware, papelería y recursos humanos,

que se describen en las siguientes tablas.

Tipo Función Valor/Hora Cantidad Total

Tutor 1

Asesorías del tutor para la

realización del proyecto, respecto

a la metodología a seguir y las

herramientas tecnológicas con las

que se trabajara para llevar a cabo

el proyecto.

$ 60000

2

$120000

Diseñador El diseñador será la persona que

oriente en la interfaz de la

aplicación móvil y ayuda para el

usuario.

$ 30000 4 horas

semanales $120000

Desarrollador Se necesitara 1 programador que

realice la implementación de la

$ 45000 15 horas

semanales $ 675000

Page 70: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

70

solución que se propone.

Total $1830000

Tabla 5. Recursos Económicos

Recursos técnicos se describen a continuación:

Tipo Descripción Valor

Unitario Cantidad Total

Servidores Los servidores se utilizaran para

las pruebas del proyecto serán los

servidores de Amazon donde se

utiliza la versión gratuita de 730

horas mensuales.

$0 3 $ 0

Computador Computador portátil para el

desarrollo y las pruebas del

sistema.

$ 1.200.000 1 $ 1200.000

Celular

Dispositivo móvil para las

pruebas de administración

Motorola Moto G 3ra generación.

$700000 1 $700.000

Total Recursos Técnicos $ 1900.000

Tabla 6. Recursos Técnicos

Page 71: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

71

1.15. Cronograma

Page 72: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

72

Page 73: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

73

2. CONFIGURACIÓN DE LA CLOUD

Para la realización del servidor en la nube fue necesario investigar que es la cloud computing

y que tipo de cloud es necesaria, además de cada uno de los proveedores servicios en la nube

para poder seleccionar uno que nos brinde un buen servicio a bajo costo, el proveedor de

servicios en la nube con el que se realiza este proyecto es Amazon web Services por la gran

variedad de servicios ofrecidos.

2.1.Que es cloud computing

El término cloud computing hace referencia a una concepción tecnológica y a un modelo de

negocio que reúne ideas tan diversas como el almacenamiento de información, las

comunicaciones entre ordenadores, la provisión de servicios o las metodologías de desarrollo de

aplicaciones, todo ello bajo el mismo concepto todo ocurre en la nube.

2.2.Infraestructura de la cloud

La clase de cloud que fue seleccionada para la configuración y realización de este proyecto

es una IAAS Infraestructura como Servicio, modelo de distribución de infraestructura de

computación como un servicio, normalmente mediante una plataforma de virtualización. En vez

de adquirir servidores, espacio en un centro de datos o equipamiento de redes, los clientes

compran todos estos recursos a un proveedor de servicios externo. Una diferencia fundamental

Page 74: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

74

con el hosting virtual es que el aprovisionamiento de estos servicios se hace de manera integral a

través de la web7.

De acuerdo a la clase de cloud seleccionada de acuerdo a las necesidades existentes se da una

definición del servicio que ofrece Amazon para la realización del montaje de los servidores

virtualizados en la nube.

2.3.Amazon EC2

Amazon EC2 es la la cual se utiliza para realizar el montaje de los servidores virtualizados,

Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que proporciona capacidad

informática con tamaño modificable en la nube. Está diseñado para facilitar a los desarrolladores

la informática en la nube escalable basada en web8.

La sencilla interfaz de servicios web de Amazon EC2 permite obtener y configurar su

capacidad con una fricción mínima. Proporciona un control completo sobre sus recursos

informáticos y permite ejecutarse en el entorno informático acreditado de Amazon. Amazon EC2

reduce el tiempo necesario para obtener y arrancar nuevas instancias de servidor en minutos, lo

que permite escalar rápidamente la capacidad, ya sea aumentándola o reduciéndola, según

cambien sus necesidades. Amazon EC2 cambia el modelo económico de la informática, al

permitir pagar solo por la capacidad que utiliza realmente. Amazon EC2 proporciona a los

desarrolladores las herramientas necesarias para crear aplicaciones resistentes a errores y para

aislarse de los casos de error más comunes.

7Tomado del Blog nubeblog. http://nubeblog.com/2008/10/15/saas-iaas-y-paas-las-tres-clases-de-cloud-computing/

8Tomado de la página principal de Amazon AWS. https://aws.amazon.com/es/ec2/

Page 75: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

75

Para l configuración d elas maquinas virtuales en la nube es necesario tener una cuenta creada

en Amazon y realizar todo el proceso de creación d elas maquinas virtuales, ademaas de

configurar cada uno d elos usuarios que van acceder a realizar los cambios al servidor.

Para una mejor explicación referirse al manual tecnico que se encuentran en el anexo D

manual tecnico de este proyecto.

Ademas de realizar la configuración d elas maquinas virtuales hay que instalar y configurar el

servicio de bases de datos en cada una de las maquinas virtuales creadas linux y windows por lo

que es necesario dirigirse al manual tecnico del anexo D para revisar la configuración e

instalación del mismo.

Page 76: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

76

3. Diseño del Proyecto

3.1.Modelamiento del negocio

Imagen 4. Gestión de interoperabilidad

Page 77: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

77

Imagen 5. Gestión Administración servidor

Page 78: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

78

3.2.Lista preliminar de casos de uso

Iniciar sesión

Prender servidor

Apagar Servidor

Subir servicio de Bases de datos

Bajar servicio de bases de datos

Realizar copias de seguridad de Bases de datos

Agregar máquina virtual

Editar máquina virtual

Configurar máquina virtual

Consultar ayuda

Cargar ayuda

Cerrar sesión

Page 79: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

79

3.3.Modelo del Dominio

Imagen 6. Modelo del dominio

cd

Login

Lista

MainController

«interface»

Encender servicio de servidor«interface»

Get Lista Servidores «interface»

Get Servicios de Servidor

«interface»

Realizar Backup

«interface»

Apagar servicio de Servidor

serv er RequestController

Virtual Machine Serv icesVirtualMachineManagerServ ices

Virtual Machine

DataBaseManager

MailServ ices

RemoteServ ices

Agregar

PDF

UsuarioServ ices

Page 80: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

80

3.4.Modelo de casos de Uso

Imagen 7. Modelo de casos de uso

ud Diagrama de casos de Uso

Usuario Administrador

Iniciar sesión

Prender serv idor

Apagar serv idor

Bajar serv ico de

bases de Datos

Realizar copias de

seguridad

Subir serv icio de

Base de datos

Agregar Maquina

Virtual

Editar maquina

v irtual

Configurar Maquina

v irtual

Consultar ayuda

Cerrar sesion

Page 81: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

81

3.5.Documentación de caso de uso

Nombre Iniciar sesión

Actores Usuario administrador

Descripción El usuario debe ingresar los datos de ingreso al sistema.

Precondiciones Se debe tener instalada la aplicación en el celular para

acceder y utilizar la funcionalidad.

Postcondiciones Ingresar al menú de selección.

Flujo normal de eventos 1. Ingresar a la aplicación móvil.

2. ingresar datos de usuario y contraseña.

Manejo de situaciones

excepcionales

Si el usuario no se encuentra registrado se mostrara un

mensaje de datos incorrectos debe registrarse para

ingresar a la aplicación.

Tabla 7. Documentación caso de uso iniciar sesión

Nombre Prender servidor

Actores Usuario administrador

Descripción Se debe poder prender la máquina virtual desde la

aplicación móvil sin realizar ninguna otra opción para

ejecutar la acción.

Precondiciones Ingresar a la aplicación y tener asociado un token e

ingresar a la opción para dar la orden.

Postcondiciones Ejecución de la opción y visualizar mensaje de

confirmación de la opción ejecutada.

Flujo normal de eventos 1. seleccionar opción a ejecutar.

2. Enviar acción.

3. Ejecutar actividad.

Manejo de situaciones

Excepcionales

Si el usuario no selecciona la acción a ejecutar no se

aplicara ninguna acción sobre el servidor.

Tabla 8. Documentación caso de uso prender servidor

Page 82: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

82

Nombre Apagar servidor

Actores Usuario administrador

Descripción Se debe poder apagar la máquina virtual desde la aplicación

móvil sin realizar ninguna otra acción solo seleccionando la

opción.

Precondiciones Ingresar a la aplicación tener asociado un token y seleccionar

la acción a realizar.

Postcondiciones Ejecutar la acción en el servidor seleccionado y visualizar

mensaje de confirmación.

Flujo normal de eventos 1. Seleccionar la opción.

2. Enviar acción

3. Ejecutar acción.

4. Enviar resultado.

Manejo de situaciones

excepcionales

Si no se selecciona la opción a ejecutar no se realiza ninguna

acción, o si esta es seleccionada y ocurre un error de

comunicación este mostrara un mensaje informando sobre el

problema ocurrido.

Tabla 9. Documentación caso de uso Apagar servidor

Page 83: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

83

Nombre Subir servicio de Bases de datos

Actores Usuario administrador

Descripción A través del aplicativo se debe poder subir el servicio de bases

de datos que se encuentra alojado en las maquinas

virtualizados en el servidor en la nube.

Precondiciones Se debe ingresar a la aplicación tener asociado un tokeny

seleccionar la acción a realizar sobre el servidor.

Postcondiciones Ejecución de la acción seleccionada y visualizar mensaje de

confirmación de la acción realizad sobre el servidor.

Flujo normal de eventos 1. seleccionar acción.

2. Enviar acción a realizar sobre el servicio en el servidor.

3. Ejecutar la acción.

4. Enviar mensaje de confirmación.

Manejo de situaciones

excepcionales

Si no se selecciona la opción a realizar no se ejecuta ninguna

acción sobre el servicio y si este no se ejecuta se debe

informar el problema ocurrido en la comunicación.

Tabla 10. Documentación caso de uso Subir Servicio Base de datos

Page 84: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

84

Nombre Bajar servicio de base de datos

Actores Usuario Administrador

Descripción Se debe por medio del aplicativo poder bajar el servicio de

bases de datos instalado en una de las máquinas virtuales.

Precondiciones Se debe ingresar al aplicativo tener asociado un token y

seleccionar la acción a realizar.

Postcondiciones Ejecución realizada y visualización de mensaje de

confirmación de la acción.

Flujo normal de eventos 1. seleccionar la acción a realizar.

2. Enviar datos de ejecución.

3. Se ejecuta la acción dentro del servidor virtualizado.

4. Visualizar mensaje de confirmación.

Manejo de situaciones

excepcionales

Si no se selecciona opción no se ejecuta acción sobre el

servidor y si este llega fallar debe mostrar mensaje de

error informado el inconveniente.

Tabla 11. Documentación caso de uso Bajar Servicio de Base de Datos

Page 85: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

85

Nombre Realizar copias de seguridad base de datos

Actores Usuario Administrador

Descripción Se debe poder realizar copias de seguridad de la base de

datos instalada en los servidores virtualizados.

Precondiciones Se debe estar logueado en el sistema tener asociado un

token y seleccionar la opción de copias de seguridad.

Postcondiciones Ejecución de la acción dentro de la base de datos, ver

mensaje de confirmación de acción.

Flujo normal de eventos 1. seleccionar acción a realizar.

2 enviar datos de acción.

3. Ejecutar acción.

4. Mensaje de confirmación.

Manejo de situaciones

excepcionales

Si no se selecciona la acción no se realiza acción y si esta

acción no se ejecuta debe mostrar mensaje de información

de error.

Tabla 12. Documentación caso de uso Realizar Copias de Seguridad

Page 86: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

86

Nombre Agregar máquina virtual

Actores Usuario Administrador

Descripción Se debe poder configurar nuevas máquinas virtuales en el

servidor de la nube.

Precondiciones Se debe estar logueado tener asociado un token e iniciar

actividad en la aplicación.

Postcondiciones Crear una nueva máquina virtual en el servidor AWS.

Flujo normal de eventos 1. registrar los datos del usuario.

2. Iniciar actividad en la aplicación.

3. Dar clic en el botón agregar.

4. Ingresar datos máquina virtual.

5. Visualización de máquina virtual creada.

Manejo de situaciones

excepcionales

Si la información ingresada no es correcta no crea

máquina virtual y muestra mensaje de error.

Tabla 13. Documentación caso de Uso Agregar Máquina Virtual

Page 87: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

87

Nombre Editar Máquina virtual

Actores Usuario Administrador

Descripción Se debe poder configurar y actualizar la máquina virtual

si se cambia de equipo en algún momento.

Precondiciones Se debe haber iniciado actividad en la aplicación tener

asociado un token e ingresar al menú.

Postcondiciones Poder modificar la máquina virtual y sus datos de

configuración

Flujo normal de eventos 1. registrar los datos del usuario.

2. inicio de actividad.

3. Dar clic en editar.

4. Ingresar datos de máquina virtual.

Manejo de situaciones

excepcionales

Si el usuario no ha iniciado actividad y los datos

ingresados son erróneos aparece mensaje de error

indicando que los datos no corresponden.

Tabla 14. Documentación caso de Uso Editar Máquina Virtual

Page 88: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

88

Nombre Configurar Máquina virtual

Actores Usuario Administrador

Descripción Permitir que el usuario pueda configurar el móvil al cual

se va a conectar con el servidor.

Precondiciones Se debe haber iniciado actividad en el aplicativo tener

asociado un tokeny seleccionar la opción.

Postcondiciones Se configura con la información del móvil con el que se

utiliza para la administración.

Flujo normal de eventos 1. ingresar a la aplicación.

2. Seleccionar la opción.

3. Ingresar datos de configuración.

Manejo de situaciones

excepcionales

Si los datos ingresados no son correctos no podrá realizar

la conexión con el servidor.

Tabla 15. Configurar Máquina Virtual

Nombre Consultar ayuda

Actores Usuario Administrador

Descripción Permitir que el usuario pueda consultar ayuda acerca de

las opciones de administración que se presentan.

Precondiciones Se debe estar en el aplicativo y en el módulo de

administración.

Postcondiciones Se debe poder ver la opción de consultar ayuda y las

opciones las cuales se puede consultar.

Flujo normal de eventos 1. ingresar ala aplicación.

2. Seleccionar el tema a consultar.

3. Visualizar los temas seleccionados.

Manejo de situaciones

excepcionales

Si el usuario no se encuentra registrado no puede

visualizar la opción de ayuda.

Tabla 16. Documentación caso de uso Consultar ayuda

Page 89: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

89

3.6.Diagramas de secuencia

Prender Servidor

Imagen 8. Diagrama de secuencia Diagrama de secuencia Prender Servidor

sd Prender Serv idor

Usuario Administrador Lista RequestController

UsuarioServices VirtualMachineManagerServices

Lista Maquinas Virtuales

Seleccionar Maquina virtual

Seleccionar Encender Maquina Virtual

Enviar peticion encender servidor

Validar token

Token correcto

Hipervisor Enciende Maquina Virtual

Envia estado del servidor

Retorna Mensaje

Envia mensaje

Muestra Mensaje al usuario

Page 90: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

90

Apagar servidor

Imagen 9. Diagrama de Secuencia Apagar servidor

sd Apagar Serv idor

Usuario Administrador Lista RequestController

UsuarioServices VirtualMachineManagerServices

Lista Maquinas Virtuales

Seleccionar maquina Virtual

Seleccionar Apagar maquina Virtual

Enviar petición Apagar Servidor

Validar token

Token Correcto

Hipervisor Apaga Maquina virtual

Envia estado al servidor

Retorna mensaje

Envia mensaje

Muestra mensaje al usuario

Page 91: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

91

Subir servicio de BD

Imagen 10. Diagrama de Secuencia subir Servicio de Base de Datos

sd Subir_serv icio_BD

Usuario Administrador Login RequestController

UsuarioServices DatabaseManager RemoteControllerServices

MailServices

Lista Maquinas Virtuales

Seleccionar Maquina Virtual

Seleccionar Subir Servicio base de datos

Enviar petición Subir servicio de BD

Validar Token

Token correcto

Subir servicio de Base de datos

Ejecuta acción sobre base de datos

Envia correo al usuario con el estado del servicio

Retorna estado del servicio

Retorna datos del estado del servicio

Retorna mensaje

Retorna estado del servicio BD

Muestra mensaje

Page 92: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

92

Realizar copias de seguridad

Imagen 11. Diagrama de Secuencia Realizar copias de seguridad

Los diagramas correspondientes a los demás caos de uso se encuentran en los anexos A, B, C.

sd Realizar copias de seguridad

Usuario Administrador Login RequestController

UsuarioServices DatabaseManager RemoteControllerServices

Listar Maquinas virtuales

Seleccionar maquina Virtual

Seleccionar Crear Backup BD

Enviar petición realizar ccopias BD

Validar token

Token correcto

Realizar backup

Ejecutar acción crear Backup

Retorna mensaje

Retorna mensaje

Retorna mensaje

Retona mensaje

muestra mensaje al usuario

Page 93: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

93

3.7.Diagramas de comunicación

Prender servidor

Imagen 12. Diagrama de Comunicación Prender Servidor

Apagar servidor

Imagen 13. Diagrama de Comunicación Apagar Servidor

sd Prender serv idor

Usuario Administrador

Lista

REquestController

Usuario services

VirtualMachineManagerServices

1: Listar Maquinas Virtuales

1.1: Seleccionar Maquina Virtual

1.2: Seleccionar Encender Maquina Virtual

1.3: Enviar petición al seridor

1.4: Validar token

1.5: Token correcto

1.6: Hipervisor Enciende Maquina virtual

1.7: Envia estado al servidor

1.8: Retorna mensaje

1.9: Envia mensaje1.10: Muestra mensaje al usuario

sd Apagar_serv idor

Usuario Administrador

Lista

REquestController

Usuario services

VirtualMachineManagerServices

1: Listar Maquinas virtuales

1.1: Seleccionar maquina virtual

1.2: Seleccionar apagar Maquina virtual

1.3: Enviar petición al servidor

1.4: Validar token

1.5: Token correcto

1.6: Hipervisor apagar Maquina virtual

1.7: Enviar estado al servidor

1.8: Retorna mensaje

1.9: Envia mensaje

1.10: Muestra mensaje al usuario

Page 94: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

94

Subir servicio de Base de Datos

Imagen 14. Diagrama de Comunicación Subir Servicio Bases de Datos

Realizar copias seguridad

Imagen 15. Diagrama de Comunicación Realizar copias seguridad

sd subir_serv icio_BD

UsuarioAdministradorRemoteControllerServices

UsuarioServices

MailServices

Lista

RequestController

DatabaseManager

1: Listar Maquinas virtuales

1.1: Seleccionar maquina virtual

1.2: Seleccionar subir servicio de BD1.3: Enviar petición Subir servicio BD

1.4: Validar token

1.5: Token correcto

1.6: Subir servicio de bases de datos

1.7: Ejecuta acción sobre el servidor

1.8: Envia correo al usuario con el estado del servicio

1.9: Retorna estado del servicio

1.10: Retorna mensaje

1.11: Retorna estado del servicio

1.12: Retorna mensaje

1.13: Muestra mensaje

sd Realizar_backup

UsuarioAdministrador

RemoteControllerServices

UsuarioServicesLista

RequestController

DatabaseManager

1: Listar maquinas virtuales

1.11: Seleccionar Maquina virtual

1.1: Seleccionar Realizar backup

1.2: Enviar petición al servidor

1.3: Verificar token

1.4: Token correcto

1.5: Realizar backup

1.6: Ejecutar acción Realizar backup sobre la Base de datos

1.7: Retorna el estado del servicio

1.8: Retorna mensaje

1.9: Retorna estado del servicio

1.12: Muestra mensaje

1.10: Retorna mensaje

Page 95: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

95

3.8.Diagramas de Actividad

Prender servidor

Imagen 16. Diagrama de Actividad Prender Servidor

ad Prender_serv idor

UsuarioServ icesVirtualMachineManagerserv ices

RequestControllerLista

Inicio

Listar Activ idades

Env iar datos al serv idor v alidar token

Env iar tokenEstablecer conexión

hipev isor prende

serv idor

Realizar acción

Serv idor Prendido Servidor prendidoRetorna mensajeMuestra mensaje

Seleccionar Encender

maquina v irtual

Token correcto?

Datos incorrectosNo puede realizar la

acción[si]

[no]

Page 96: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

96

Apagar servidor

Imagen 17.Diagrama de Actividad Apagar Servidor

ad Apagar_serv idor

UsuarioServ ices VirtualMachineManagerserv icesRequestControllerLista

Inicio

Listar Activ idades

Env iar datos al serv idor v alidar token

Env iar tokenEstablecer conexión

hipev isor apaga

serv idorApagar serv idor

Env ia estado

apagado

Servidor

apagadoRetorna mensaje

Muestra mensaje

Seleccionar apagar

maquina v irtual

Token correcto?

Datos incorrectosNo puede realizar la

acción[si]

[no]

Page 97: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

97

Subir servicio BD

Imagen 18. Diagrama de Actividad Subir Servicio Base de Datos

ad Subir_serv icio_BD

RemoteContollerServ icesMailServ ices

UsuarioServ ices VirtualMachineServ icesUsuariosServ icesLista

Inicio

Listar opciones

Cargar ayuda v alidar token

Env iar tokenEstablecer conexión

Env ia mensaje

Enviar datos

Maquina

virtualActualiza lista de

maquinas v irtuales

Actualiza datos maquina

v irtualesMuestra lista con la

nuev a maquina v irtual

Seleccionar crear backup

Realizar backup

No existe conexión

Token correcto?

Token inv alido

Realizar ación backup

base de datos

Env iar correo estado

del serv icio

[No]

[Si]

Page 98: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

98

Realizar copias de seguridad

Imagen 19. Diagrama de Actividad Realizar copias de Seguridad

ad copias_seguridad_BD

RemoteContollerServ icesUsuarioServ ices VirtualMachineServ icesUsuariosServ icesLista

Inicio

Listar opciones

Cargar ayuda v alidar token

Env iar tokenEstablecer conexión

Env ia mensaje

Enviar datos

Maquina

virtual

Actualiza lista de

maquinas v irtuales

Actualiza datos maquina

v irtuales

Muestra lista con la

nuev a maquina v irtual

Seleccionar crear backup

Realizar backup

No existe conexión

Token correcto?

Token inv alido

Realizar ación backup

base de datos

[No]

[Si]

Page 99: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

99

3.9.Diagramas de Estado

Administración

Imagen 20. Diagrama de Estado Administración

Configuración

Imagen 21. Diagrama de Estado Configuración

sm Diagarama_estados

Activ idad iniciada

Serv idor Prendido

Serv idor apagado

Serv icio Corriendo

Serv icio Abajo

Copia realizada

sm Estado_configuración

Usuario logueado

Maquin Virtual adicionada

Maquina v irtual actulizada

Maquina CConfigurada

Activ idad Iniciada

Ayuda consultada

Page 100: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

100

3.10. Diagrama de clases

Imagen 22. Diagrama de Clases

3.11. Lista de clases

MainController

Login

Lista

Agregar

PDF

cd Diagrama_clases

Login

Lista

MainController

serv er RequestController

Virtual Machine Serv ices

VirtualMachineManagerServ ices

Virtual Machine

DataBaseManager

MailServ ices

RemoteServ ices

Agregar

PDF

UsuarioServ ices

Page 101: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

101

RequestController

UsuarioServices

VirtualMachineServices

VirtualMachineManagerServices

DatabaseManager

MailServices

RemoteControllerServices

3.12. Responsabilidades de las clases

Clase MainController

Descripción Clase encargada de verificar si hay una conexión activa

si existe un token asociado.

Método Responsabilidad

GetMaquina ( ) Guarda los datos localmente.

Tabla 17. Responsabilidad Clase MainController

Clase Login

Descripción Clase encargada de gestionar el ingreso del usuario ala

aplicación.

Método Responsabilidad

Ingresar ( ) Realiza el logueo del usuario y guarda el token localmente.

Tabla 18. Responsabilidad Clase Login

Page 102: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

102

Clase Lista

Descripción Clase encargada de cargar la lista de las máquinas virtuales

y las opciones de administración.

Método Responsabilidad

EncenderMaquina ( ) Este método se encarga de enviar la acción de encender la

máquina virtual.

ApagarBD ( ) Envía la acción de bajar el servicio de BD al servidor.

BackupBD ( ) Se encarga de enviar la acción al servidor de realizar las

copias de la base de datos.

GuardarEdición ( ) Envía la petición al servidor y actualiza la lista de máquinas.

RedConfig ( ) Redirecciona a la vista de configuración.

RedPDF ( ) Redirige a la vista inicial.

RedSalir ( ) Desloguea al usuario y redirecciona a la vista.

Tabla 19. Responsabilidad Clase Lista

Clase Agregar

Descripción Esta clase realiza la adición de nueva máquinas virtuales.

Método Responsabilidad

NuevaMaquina ( ) Envía la petición al servidor de adicionar una nueva

máquina y actualiza la vista en la lista.

Tabla 20. Responsabilidad Clase Agregar

Clase PDF

Descripción Se encarga de mostrar la ayuda si el usuario lo solicita.

Método Responsabilidad

NuevaMaquina ( ) Se encarga de cargar la ayuda para la explicación del

funcionamiento de la aplicación.

Tabla 21. Responsabilidad Clase PDF

Page 103: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

103

Clase DatabaseManager

Descripción Se encarga de realizar las consultas y la administración en la

base de datos.

Método Responsabilidad

DatabaseManager ( ) Se encarga de realizar él envió de datos para validación

´para realizar la conexión.

CreateBackupDatabase ( ) Esta se encarga de tomar los datos enviados y realizar la

acción de copias de seguridad.

CreateDatabase ( ) Este método crea las bases de datos de acuerdo a la

información suministrada.

Tabla 22. Responsabilidad de la Clase DatabaseManager

Clase VirtualMachineServices

Descripción Se encarga de realizar las modificaciones o inserciones

de nuevas máquinas virtuales.

Método Responsabilidad

VirtualMachineServices ( ) Este método contiene los datos del servidor virtual.

Insert( ) Realiza la inserción y crea una nueva máquina virtual de

acuerdo a los datos que el usuario ingrese.

FindAll ( ) Este es el encargado de buscar las máquinas virtuales

existentes.

FindByInstanced ( ) Encargado de realizar la búsqueda de una instancia de

bases de datos dentro de un servidor.

Update ( ) Este método es el encargado de actualizar, los datos de

las máquinas virtuales que el usuario seleccione.

Tabla 23. Responsabilidad Clase VirtualMachineServices

Page 104: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

104

Clase RequestController

Descripción Clase encargada de administrar y procesar las solicitudes que realiza

el cliente tener publicados los servicios que van hacer consumidos

respeto a la petición.

Método Responsabilidad

Requestcontroller( ) Prepara la clase para recibir las peticiones a los servicios.

Test( )

validateLogin( ) Se encarga de en enviar los datos a la clase para establecer la

conexión del usuario.

Logout( ) Mensaje de error.

FindByintanceId ( ) Se encarga de recibir, los datos para buscar la instancia del servidor

seleccionado.

CreateVirtualMachine ( ) Realiza la gestión de los datos para realizar la creación de otra

máquina virtual.

Update VirtualMahine ( ) Recibe, los datos actualizar de la máquina virtual seleccionada.

FindAllVirtualMachine ( ) Buscar máquina virtual seleccionada.

StartVirtualMachine ( ) Recibe la acción de prender la máquina virtual.

StopVirtualMachine( )

Se encarga de direccionar la clase que debe ejecutar la acción de

apagar la máquina.

BackupDatabase( )

Se encarga de hacer toda la gestión para realizar las copias de base

de datos.

StopServiceDatabase( )

Se encarga de realizar la gestión para bajar el servicio de bases de

datos.

StartServiceDatabase ( ) Realiza la gestión para realizar el inicio del servicio.

Tabla 23. Responsabilidad Clase RequestController

Page 105: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

105

Clase RemoteControllerServices

Descripción Esta clase se encarga de bajar y subir el servicio de base de

datos en el servidor virtual alojado en la nube.

Método Responsabilidad

RemoteControllerServices ( ) Este es el constructor para que la acción sea realizada en la

máquina virtual.

ExecuteRemoteComand ( ) Método encargado de enviar métodos remotos al servicio de

BD que se encuentran en la máquina virtual.

Tabla 24. Responsabilidad Clase RemoteControllerServices

Clase MailServices

Descripción Esta clase se encarga de enviar los correos informando al

usuario el estado de los servicios dentro de las máquinas

virtuales.

Método Responsabilidad

MailServices ( ) Este es el método constructor creado para que funcione

los demás métodos.

Init ( ) Estos son métodos privados que inician el envío.

SendEmail ( ) Método encargado de convertir el mensaje a html y

además enviar el correo Las cuentas de envío de correo

deben permitir el login desde cualquier dispositivo

LoadProperties ( ) Carga las propiedades para enviar correo.

Tabla 25. Responsabilidad MailServices

Page 106: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

106

3.13. Diccionario de datos

Atributo Tipo

Llave

Primaria

Llave

foránea

Null Notnull

Id Int X X

Name Varchar X

intanceId Varchar X

statusCheck varchar X

publicDnsName varchar

Tipo varchar

correos varchar

Estado varchar

secretAccessKey varchar X

accessKeyId varchar X

Tabla 26. Diccionario de Datos VirtualMachine

Atributo Tipo

Llave

Primaria

Llave

foránea

Null Notnull

Id Int X X

Nombre Varchar X

Usuario Varchar X

Page 107: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

107

Contraseña varchar X

Token varchar

Estado varchar X

Tabla 27. Diccionario de Datos Tabla Usuario

Page 108: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

108

3.14. Modelo lógico

3.14.1 Servidor Java

Imagen 23. Modelo lógico servidor

cd Diagrama Logico

«JavaClass»

ConexionBD

- passwordDB: String

- serialVersionUD: long

- Servidor: String

- urlConexion: String

- usuarioDB: String

+ ConexionBD() : void

+ getConexion(String) : Conecction

+ getConexion() : Connection

«JavaClass»

UsuarioServ ices

+ changeToken(long, String) : void

+ findByLogin(String, String) : IUsuario

+ findByLogin(char, String) : Usuario

+ findToken(String) : Usuario

- generateToken() : void

+ UsuarioServices() : void

«JavaClass»

CorreoServ ices

- logger: Logger

+ correoServices() : void

+ findAll() : List<Correo>

«JavaInterface»

IUsuario

+ changeToken(long, String) : void

+ findByLogin(String, String) : IUsuario

+ findToken(String) : IUsuario

«JavaInterface»

ICorreo

+ findAll() : List<Correo>

«JavaClass»

MailServ ices

- Correo: Correo

- correo: List<Correo>

- Logger: Logger

+ fi l lCorreos() : void

+ init() : void

+ loadProperties() : Properties

+ MailServices() : void

+ SendEmail(String, String, String) : void

«JavaInterface»

IVirtualMachineManager

+ startVirtualMachine(String) : VirtualMachine

+ stopVirtualMachine(String) : VirtualMachine

«JavaInterface»

IVirtualMachine

+ findAll() : List Virtual Machine[]

+ findByIntanceld(String) : VirtualMachine

+ insert(String, String, String, String, String, String) : VirtualMachine

+ update(VirtualMachine) : VirtualMachine

«JavaClass»

RequestController

- Logger: Logger

- Usuario: Usuario

+ backupDatabase(String, String) : VirtualMachine

+ createVirtualMachine(String, String, String, String, String, String, String) : VirtualMachine

+ findAllVirtualMachine(String) : VirtualMachine[]

+ findByIntanceld(String, String) : VirtualMachine

+ logout(long) : Usuario

+ RequestController() : void

+ sendEmail(String, String, String) : void

+ startServiceDataBase(String, String) : VirtualMachine

+ startVirtualMachine(String, String) : VirtualMachine[]

+ stopServiceDatabase(String, String) : VirtualMachine

+ stopVirtualMachine(String, String) : VirtualMachine[]

+ test() : String

+ updateVirtualMachine(String, String, String, String, String, String, long, String, String) : VirtualMachine

+ validateLogin(String, String) : Usuario

+ validateToken(String) : void

«JavaClasss»

VirtualMachineManagerServ ices

- Logger: Logger

+ getPublicDnsNameVirtualMachine(amazonEC2, String) : String

+ getStatusCheckVirtualMachine(amazon, String) : State VirtualMachine

+ startVirtualMachine(RequestController) : VirtualMachine

+ stopVirtualMachine(String) : VirtualMachine

+ virtualMachineManagerServices() : void

«JavaClass»

VirtualMachineServ ices

+ findAll() : VirtualMachine[]

+ findByInstance(String) : VirtualMachine

+ insert(String, String, String, String, String, String) : VirtualMachine

+ update(VirtualMachine) : VirtualMachine

+ virtualMachineServices() : void

«JavaClass»

TokenGenerator

- Especiales: String

- Mayusculas: String

- Minusculas: String

- Numeros: String

+ getPinNumber() : String

+ getToken() : String

+ getToken(int) : String

+ getToken(String) : String

+ TokenGenerator() : void

0..1 {ordered}

0..1 {ordered}0..1 {ordered}

0..1 {ordered}

0..1 {ordered}

Page 109: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

109

3.14.2. Cliente Android

Imagen 24. Modelo Lógico Cliente

cd diagrama_logico

MainController

+ GetItem() : void

+ GetMaquina() : void

+ InputServer() : void

+ SetItem() : void

Login

+ GetItem() : void

+ Ingresar() : void

+ Response() : void

Lista

+ BackupBD() : void

+ EncenderMaquina() : void

+ EncendrBD() : void

+ GuaradarEdicion() : void

+ GuardarEdición() : void

+ pagarBD() : void

+ RedConfig() : void

+ RedPDF() : void

+ RedSalir() : void

Agregar

+ NuevaMaquina() : void

+ Response() : void

PDF

+ PDF() : void

Page 110: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

110

3.15. Modelo físico

3.15.1. Servidor java

Imagen 25. Modelo Físico Servidor

cd Modelo_Fisisco

Usuario

- Contraseña: string

- Estado: String

- Id: long

- Mensaje: String

- Nombre: string

- Token: String

- Usuario: string

+ GetContraseña() : void

+ GetEstado() : void

+ GetId() : void

+ GetMensaje() : void

+ GetNombre() : void

+ GetToken() : void

+ GetUsuario() : void

+ SetContraseña() : void

+ SetEstado() : void

+ SetId() : void

+ SetMensaje() : void

+ SetNombre() : void

+ SetToken() : void

+ SetUsuario() : void

+ ToString() : void

+ Usuario() : void

VirtualMachine

- AccessKeyId: String

- Correo: String

- Estado: String

- EstadoDatabase: String

- instanced: String

- Long: int

- Mensaje: String

- name: String

- PublicDNSname: String

- SecretAceesKey: String

- Tipo: String

+ GetAccessKeyId() : void

+ GetCorreo() : void

+ GetEstado() : void

+ GetEstadoDatabase() : void

+ GetId() : void

+ getInstanceId() : void

+ GetMensaje() : void

+ GetName() : void

+ GetPublicDNSName() : void

+ GetSecretAccessKey() : void

+ GetStatusCheck() : void

+ GetTipo() : void

+ ToString() : void

+ VirtualMachine() : void

Correo

- Correo: String

- Id: long

- Password: String

+ Correo() : void

+ GetCorreo() : void

+ GetId() : void

+ GetPassword() : void

+ SetCorreo() : void

+ SetId() : void

+ SetPassword() : void

+ ToString() : void

DatabaseManager

+ CreataeDatabase() : void

+ CreateBackupDatabase() : void

+ DatabaseManager() : void

Page 111: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

111

4. Implementación

4.1.Diagrama de componentes

Imagen 26. Diagrama de Componentes

4.2.Diagrama de despliegue

Imagen 27.Diagrama de Despliegue

id Diagarama_Componentes

Administarción Maquinas

v irtuales

Ayuda

Configuración Serv idor

v irtualRequestController.jav a

Configuración

VirtualMachine

Usuarios

Correo

Administración Bases de

datos

dd Diagarama_despliegue

«interface»

Cliente

APK Android

«server page»

Apache Tomcat

Jav a Aplication

Database interface

«artifact»

Database server

MySQL database

Usuario

Amazon AWS

Maquinas

v irtuales Base de datos

TCP/IP

«trace»

Ingreso datos

«trace»

TCP/IP

«trace»

HTTP/ connecction

«send»

Page 112: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

112

4.3.Diagrama de paquetes

Imagen 28. Diagrama de Paquetes

5. SISTEMA INTEGRADO

5.1 Definición Arquitectura

5.1.1. Elementos y principales componentes del sistema

id Diagrama de paquetes

JS

APK

VirtualMachineManagerConnection

VirtualMachineManagerController

VirtualMachineManagerEntities

VirtualMachineManagerModelImpl

VirtualMachineManagerUtil

ConexiónBD DatabaseManager

RequestController

usuario

VirtualMachine

UsuarioServ ices VirtualMachineManagerServ ices

VirtualMachineServ ices

StateVirtualMachine

TokenGenerator

VirtualMachineManagerModel

IUsuario

IVirtualMachineManager

VirtualMachine

Page 113: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

113

Los principales componentes que hacen parte del desarrollo de este sistema se describen a

continuación para una mejor explicación y comprensión de los mismos se definen en la siguiente

imagen.

Cliente Android

Rest Service Aplication Server

Servidor JAVA

HTTP

BD

Amazon Web Services

Servicio BD

Servicio BD

Servidores Virtuales

TCP/IP

WEB APIJSON

Request

Imagen 29.Arquitectura del sistema Integrado

fuente: Autoría propia

Page 114: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

114

La comunicación entre los componentes de este sistema se realiza de la siguiente forma por

medio de la tecnología REST la cual se acopla de una manera más fácil a los servicios que se

quieren implementar en este proyecto.

La tecnología rest funciona a través del protocolo HTTP es el medio de comunicación y por

dónde se accede a los datos.

Imagen 30. Funcionamiento tecnología REST

Fuente: http://academiaandroid.com/video-tutoriales/

Descripción de recursos

Para la implementación de esta forma de arquitectura en este proyecto se realiza a

continuación una descripción detallada de cada uno de los servicios implementado y como se

realiza la comunicación entre el cliente y el servidor.

Page 115: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

115

Recursos (servicios expuestos)

FindDatabasesByIntanceID: encuentra las bases de datos alojadas en una máquina virtual

ValidateLogin: Realiza la validación del usuario con el cual se loguea.

Logout: realiza la acción de desloguea el usuario cerrar la sesión.

FindByIntanceId: Encuentra la instancia de la máquina virtual.

CreateVirtualMachine: almacena las máquinas virtuales.

UpdateVirtualMachine: Actualiza las máquinas virtuales.

FindAllVirtualMachine: busca todas las máquinas virtuales.

StartVirtualMachine: Enciende una maquina virtual.

StopVirtualMachine: Apaga la máquina virtual.

BackupDatabase: genera un backup de la base de datos que se envié.

StopServiceDatabase: Detiene el servicio de bases de datos de una maquina virtual.

StartServiceDatabase: Enciende el servicio de bases de datos.

Métodos utilizados

El método utilizado para la implementación es el método method= RequestMethod.GET por el

cual se realiza el llamado y la forma en que toma los datos desde del cliente, y para solicitar

consumir los servicios al servidor se utiliza el método http.get, para responder las peticiones del

cliente se utiliza ResponseBody o RequestParam el cual indica el tipo de dato que va a

responder al cliente android.

Page 116: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

116

Formato de comunicación

Para devolver los datos es necesario utilizar un formato de intercambio de datos el cual se utilizó

JSON de esta manera se puede leer y acceder a la información fácilmente desde el servidor

como se visualiza en el siguiente ejemplo utilizado para definir el logueo del usuario donde se

realiza la solicitud desde el cliente y este le responde el siguiente mensaje:

"id":1,"nombre":"Usuario De

Pruebas","usuario":"test","contraseña":"test","token":"8orZjV8oVBJ","estado":"activo","mens

aje": null}

De esta forma el cliente toma los datos enviados desde el servidor y lo muestra al usuario en la

aplicación en este caso le deja abrir una sesión y le muestra las opciones a las que el usuario

puede navegar dentro de ella.

A continuación se muestra como se realiza el flujo de datos y de funcionamiento para el caso de

uso de encender máquina virtual de acuerdo a la tecnología de arquitectura utilizada.

Llamado desde el cliente:

$http.get("http://" + server + ":" + port + "/" + path + "/startVirtualMachine?intanceId=" +

instancia + "&token=" + token)

Aquí se realiza la petición al servidor por medio del método get y el llamado al servicio

startVirtualMachine el cual está expuesto en el servidor de la siguiente manera:

@RequestMapping(value ="/startVirtualMachine", method = RequestMethod.GET)

Page 117: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

117

Este a su vez hace un mapeo de los datos que necesita para poder enviar a un método que se

implementa dentro de la clase VirtualMachineManagerServices donde se envía la acción por

medio de objetos a la máquina virtual de Amazon este método recibe el parámetro de la máquina

para realizar la acción de esta forma:

List<String> instanceIds = new LinkedList<String>();

instanceIds.add(instaceId);

StartInstancesRequest startIR = new StartInstancesRequest(instanceIds);

ec2.startInstances(startIR);

virtualMachine.setStatusCheck(StateVirtualMachine.valueOf(validarEstadoMaquinaVirt

ual(ec2, instaceId)));

DescribeInstancesRequest request = new DescribeInstancesRequest();

request.setInstanceIds(instanceIds);

DescribeInstancesResult result = ec2.describeInstances(request);

List<Reservation> list = result.getReservations();

El cual retorna un objeto de tipo virtualMachine el cual obtiene los estados de la máquina virtual

y actualiza la lista que se muestra al cliente en Android donde se recibe la respuesta de la

siguiente forma.

$scope.respuesta = response;

if (response.mensaje != ""){

alert("Se ha presentado un error");

}else{

alert("Accion de Encendido Satisfactoria");

}

});

Page 118: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

118

En la siguiente imagen se da una explicación de la trasferencia de información que se acopla a

las tecnologías utilizadas en la implementación de los servicios para la definición del sistema.

Cliente (Java script Android)

Database Manager

RquestMapping Value URI method =

RequestMethod.GET

Servidor APACHE

Métodos JavaAPI REST

Usuario

Servidores Amazon

HTTP

HTTP

GET

Response

Servidores de bases de datos

Base de datos

Base de datos

stopping, stopped,

starting, running

Genera el evento al servidor

sendEmail: enviar correo

con estado de servidor

Realiza las acciones por medio de mensajes JSON

Llamado: http.get URI

Respuesta: scope.respuesta =

response

Imagen 31. Definición de funcionamiento arquitectura

Fuente: Autoría propia

Page 119: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

119

Cliente Android: esta es una aplicación la cual se encarga de recibir los datos e interactuar

directamente con el usuario permitiendo el ingreso y posteriormente realizar las acciones sobre el

servidor, esta se realiza para que funcione con el sistema operativo Android la cual contiene las

siguientes dependencias Angular Framework Javascript, Apachet Ant, Cordova plugin,

Phonegap framework y Android studio. Es encargada de realizar peticiones al servidor el cual

tiene unos servicios expuestos para ser consumidos por el cliente y así proporcionar la

información necesaria al usuario de una manera más fácil, clara y rápida.

Servidor Java: esta es la aplicación encargada de codificador en java y exponer unos

servicios que van hacer consultados y expuestos al cliente, se realiza toda la conexión entre el

cliente Android y el servidor mediante una arquitectura llamada Rest la cual consiste en el

desarrollo web apoyándose en el estándar HTTP para una mejor comunicación entre diferentes

servicios aplicaciones además de ser una arquitectura estandar para crear APIs para servicios

orientados a internet creando una interface de comunicación donde las responsabilidades sea

completamente diferente entre ambas partes.

Servidores virtuales en la nube: servicio alojado en la nube en donde un proveedor de

servicios nos brinda máquinas virtuales como servidores para realizar las configuraciones de

servicios de bases de datos, esta maneja una arquitectura IAAS infraestructura como servicio

donde ofrecen almacenamiento y capacidades de computo como servicios estandarizados.

Amazon web services es el proveedor utilizado para realizar la configuración de los servicios

y servidores virtualizados donde se crean dos máquinas virtuales una con sistema operativo

Page 120: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

120

Windows y la otra con sistema operativo Linux están contienen un servicio de bases de datos

para ser administrados desde el celular del usuario.

Funcionamiento

5.1.2. Capas del sistema

La arquitectura del sistema implementada está basada en REST, al ser un paradigma para el

diseño de soluciones orientadas al desarrollo web además de brindar flexibilidad y facilidad de

integración con diferentes metodologías y estar ligada, brindando ventajas de costos e

innovación al cliente, con alto grado de escalabilidad en la figura se muestra las capas

implementadas.

Aplicación Android

Capa de aplicación

Capa de Negocio

Componente de gestión java

Capa de servicios

Rest

Rest

Imagen 32. Capas del sistema

Fuente: autoría propia

El sistema se compone de tres partes diferenciales que son:

Page 121: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

121

Capa de aplicación

Capa de servicios

Capa de datos

Capa de aplicación: esta capa encargada de la interface con el usuario, donde captura la

información digitada en el componente APK de Android, se define una serie de interfaces

grafica para que el usuario ingrese los datos necesarios para la administración de la aplicación

está definida en el cliente el cual consume unos servicios expuestos en la capa de servicios.

Esta capa está diseñada por algunas herramientas como angular framework javascript que

permiten diseñar interfaces de visualización con el usuario de una forma amigable e intuitiva

para el usuario, esta capa compuesta de una serie de empaquetamientos con las paginas

diseñadas en CSS y en javasscript imágenes para realizar el renderizado de los componentes de

la vista desplegada en el dispositivo Android.

Capa de servicios: Esta capa es donde se encuentran alojados y expuestos los servicios los

cuales pueden ser consumidos por el cliente, estos servicios son consumidos por medio de una

URI desde el cliente y reciben todas las peticiones realizadas al servidor , los servicios diseñados

para esta capa son los siguientes:

Get lista servidores: Este servicio se encargara de retornar una lista con todos los servidores

administrados por la aplicación.

Get Servicios de servidor: Encargado de retorna la lista de servicios administrables de un

servicio particular.

Page 122: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

122

Realizar backup:dado un servidor, realiza el backup de la base de datos contenida en él.

Apagar servicio de servidor: Este tiene la función de dado un servicio y un servidor. Lo

apaga.

Encender servicio de servidor:dado un servicio y un servidor. Enciende dicho servicio.

Cada servicio recibe un argumento para la identificación del servicio o el servidor hacer

administrado (id servicio, id de servidor) esta identifica cada uno de la información la cual va

hacer accedida por medio de una URI que contiene un recurso por medio de un identificador y

tener acceso a su ubicación y ser ejecutada la acción seleccionada por el usuario la estructura

enviada siempre incluye el protocolo de comunicación el host al cual va hacer accedido, puertos

de comunicación además de la ruta donde se encuentra publicado el servicio hacer consultado,

para la publicación de los servicios se utilizó Apache server como servidor de aplicaciones.

Capa de Datos: En esta capa contiene un hibrido con negocio y gestores de bases de datos

aquí reside lógica del negocio gestores de bases de datos donde se realiza todo el

almacenamiento de datos en el servidor java hay una implementación de clases las cuales se

comunican con la capa de aplicación para la realización de gestión en ingreso de datos de

almacenamiento de la base de datos, se encuentra alojado en el mismo equipo donde se encuentra

el servidor y se encarga de realizar las búsquedas en las bases de datos, los servicios en la nube

proporcionan un estabilidad en la información la cual puede ser accedida través de internet, para

realizar la comunicación con el servidor virtual alojado en la nube se realiza por medio de un

API el cual realiza el paso de mensajes con un formato llamado JSON para permitir la

comunicación con Amazon web services.

Page 123: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

123

5.1.3. Mecanismos arquitecturales necesarios para el sistema

Para el funcionamiento de la arquitectura planteada en este documento es necesario conocer

cada uno de los mecanismos aquí definidos, donde el conjunto de estos forman el

funcionamiento correcto de la comunicación e interacción entre cada uno de los componentes,

cada una de las capas tiene una función dentro del sistema para permitir una mejor comunicación

dentro de los componentes donde la capa de aplicación permitirá hacer todos los llamados a la

capa de servicios, que es donde se alojaran los servicios definidos para la comunicación por

medio del patrón RESTque permitirá la comunicación por medio del protocolo HTTP para

ejecutar las acciones en los servidores virtualizados.

La arquitectura REST definida para la implementación de los servicios nos brinda una

independencia entre las responsabilidades entre las interfaces de comunicación, permitiendo así

que las peticiones sean completamente independientes.

Cada vez se necesita usar servicios web REST ya que definen un cliente y un servidor

realizando peticiones independientes por medio de los métodos GET,POST, PUT,DELETE y

permitiendo así brindar mayor escalabilidad y describir cualquier interfaz permitiendo que se

ejecute directamente el HTTP para las peticiones.

Este es el principal mecanismo para permitir la comunicación entre cada uno de los

componentes además del medio que en este caso es internet través de sus protocolos que

permiten interconexión y el trasporte de datos para la administración de los servidores.

Page 124: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

124

5.1.4. Tecnologías elegidas para cada una de las capas

Las tecnologías utilizadas se encuentran las siguientes:

Capa de aplicación

PhonegaGap: es un framework para el desarrollo de aplicaciones móviles producido por

Nitobi, y comprado posteriormente por Adobe Systems. Principalmente, PhoneGap permite a los

programadores desarrollar aplicaciones para dispositivos móviles utilizando herramientas

genéricas tales como JavaScript, HTML5 yCSS3.

Cordova pluging: Un plugin de Cordova/Phonegap sirve como unión entre el WebView que

muestra la aplicación híbrida y la plataforma nativa sobre la cual corre. Estos plugins se

componen de un interfaz JavaScript común que se usa en todas las plataformas, y de

implementaciones nativas que siguen unos interfaces específicos para cada plataforma a los que

la parte JavaScript hará referencia.

Bootstrap framework: construir un sistema completo a partir de sus componentes base, o bien,

de previas versiones pre compiladas de esos componentes.

HTTP: Protocolo de transferencia de hipertexto es el método más común de intercambio de

información en la worldwide web, el método mediante el cual se transfieren las páginas web a un

ordenador.

Android: Android es un sistema operativo orientado a dispositivos móviles, basado en una

versión modificada del núcleo Linux. Inicialmente fue desarrollado por Android Inc., una

Page 125: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

125

pequeña empresa, que posteriormente fue comprada por Google; en la actualidad lo desarrollan

los miembros de la Open Handset Alliance (liderada por Google).

Intel xdk: es una herramienta para desarrollar apps cross-plataform utilizando HTML5.

Con XDK, los desarrolladores pueden programar usando tecnologías estándar como HTML5 y

desde una misma base de código generar apps para distintas plataformas.

Tecnologías capa de servicios

Rest: La Transferencia de Estado Representacional (RepresentationalState Transfer)

o REST es un estilo de arquitectura software para sistemas hipermedia distribuidos como

la World Wide Web. El término se originó en el año 2000, en una tesis doctoral sobre la web

escrita por Roy Fielding, uno de los principales autores de la especificación del

protocolo HTTP y ha pasado a ser ampliamente utilizado por la comunidad de desarrollo.

JSON: (JavaScript ObjectNotation - Notación de Objetos de JavaScript) es un formato ligero

de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las

máquinas es simple interpretarlo y generarlo.

URI: Un identificador de recursos uniforme o URI del inglés Uniform Resource Identifieres

una cadena de caracteres que identifica los recursos de una red de forma unívoca.

Page 126: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

126

Java:es un tipo de lenguaje de programación de propósito general, concurrente, orientado a

objetos que fue diseñado específicamente para tener tan pocas dependencias de implementación

como fuera posible.

Tecnologías de la capa de datos

Amazon Web Services:Amazon Web Services es una colección de servicios de computación

en la nube que en conjunto forman una plataforma de computación en la nube, ofrecidas a través

de Internet por Amazon.com.

HTML: TML es un lenguaje de programación que se utiliza para el desarrollo de páginas

de Internet. Se trata de la sigla que corresponde a HyperText Markup Language, es

decir, Lenguaje de Marcas de Hipertexto, que podría ser traducido como Lenguaje de Formato de

documentos para hipertextos.

TCP/IP: son las siglas de Protocolo de Control de Transmisión/Protocolo de Internet (en

inglés Transmission Control Protocol/Internet Protocol), un sistema de protocolos que hacen

posibles servicios Telnet, FTP, E-mail, y otros entre ordenadores que no pertenecen a la misma

red.

MYSQL: Lenguaje de Consulta Estructurado permitiera generar múltiples y extendidas bases

de datos para empresas y organizaciones de diferente tipo.

Page 127: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

127

5.1.5. Componentes comparados o de código abierto forma en que se tomó la decisión

Para decidir que componentes eran los adecuados se realiza un estudio con las diferentes

tecnologías de comunicación entre la arquitectura a utilizar:

Page 128: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

128

Tecnología Rendimiento Facilidad Diseño SI NO

Sockets Los sokets tienen un

rendimiento mucho

mejor entre meno

sobrecarga haya.

Hay bastante documentación y no es

difícil su diseño porque se encuentra en

muchas plataformas.

X

RPC Es muy fácil de utilizar

pero son de mejor

rendimiento los RPC.

Abstrae la comunicación a nivel de

invocación estos se utilizan para

programación estructurada en donde se

utilizan librerías, este método consiste

en llamar procedimientos localizados

en otras máquinas.

X

RMI Tienen un mejor

rendimiento que los

servicios web SOAP y

que los socket.

Java RMI es basado en java invoca un

método en forma remota proporciona

mecanismos simple de comunicación.

X

XML-RPC Tiene el mismo

funcionamiento que

RPC.

La facilidad de esta teoría hace que los

mensajes sean trasmitidos por medio

del protocolo HTTP utiliza comandos

útiles y descripción completa de corta

extensión.

X

Servicios web

(SOAP)

Está diseñado para

soportar una

interacción

interoperable maquina

a máquina sobre una

red.

Estos servicios son APIS que pueden

ser accedidos dentro de una red y son

ejecutados dentro del sistema de donde

están creados.

X

Servicios Web

Rest

Ha pasado a ser

ampliamente utilizado

por la comunidad de

desarrollo por ser

utilizado por la

En esta arquitectura se ponen los

recursos con los nombres que se le

asigna a cada uno y cada uno tendrá su

identificador para sr accedido a través

de unos métodos.

X

Page 129: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

129

existencia de recursos

que pueden ser

accedidos utilizando

un identificador global.

Tabla 28. Selección de tecnologías

5.1.6. Descripción de los principales patrones de diseño

Para el desarrollo de este proyecto se utilizó encapsulamiento el cual consiste de la siguiente

manera, existe un programa diversos atributos y métodos que servirán para el funcionamiento de

este, para la interacción del usuario con el objeto necesario que se apliquen o se encuentren

disponibles solo aquellos métodos que le servirán al usuario para utilizar ese objeto manteniendo

oculto aquellos que servirán para el funcionamiento interno.

El encapsulamiento consiste en permitir la visibilidad de atributos y métodos en una clase

determinada teniendo tres niveles de la siguiente manera privados (private) que se utilizaran solo

en esa clase, protegidos (protected) que se utilizaran por todas métodos, clases y atributos

mientras se encuentre en el mismo package y los públicos (public) que pueden ser usados por

cualquier clase o método.

Identificación de protocolos

Para el desarrollo de los servicios y la comunicación definida dentro de estos es necesaria la

identificación de los protocolos utilizados para el trasporte de mensajes lo cual se utilizaron

servicios web por la capacidad funcionar con distintas interfaces de una manera más sencilla para

conectar las interfaces de comunicación.

Page 130: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

130

Se define que la arquitectura a utilizar es REST por ser más sencilla de diseñar además de no

necesitar demasiado ancho de banda, describe cualquier interfaz entre sistemas que utilicen el

protocolo HTTP para obtener los datos y ejecutar operaciones sobre los datos.

REST es un estilo de arquitectura software para sistemas hipermediadistribuidos como

la World Wide Web. Este es altamente escalable y tiene una serie de diseños fundamentalmente

clave como son:

Un protocolo cliente/servidor sin estado: cada mensaje HTTP contiene toda la información

necesaria para comprender la petición. Como resultado, ni el cliente ni el servidor necesitan

recordar ningún estado de las comunicaciones entre mensajes. Sin embargo, en la práctica,

muchas aplicaciones basadas en HTTP utilizan cookies y otros mecanismos para mantener el

estado de la sesión (algunas de estas prácticas, como la reescritura de URLs, no son

permitidas por REST)

Un conjunto de operaciones bien definidas que se aplican a todos los recursos de

información: HTTP en sí define un conjunto pequeño de operaciones, las más importantes

son POST, GET, PUT y DELETE. Con frecuencia estas operaciones se equiparan a las

operaciones CRUD en bases de datos (ABMC en castellano: crear,leer,actualizar,borrar) que

se requieren para la persistencia de datos, aunque POST no encaja exactamente en este

esquema.

Una sintaxis universal para identificar los recursos. En un sistema REST, cada recurso es

direccionable únicamente a través de su URI.

El uso de hipermedios, tanto para la información de la aplicación como para las transiciones

de estado de la aplicación: la representación de este estado en un sistema REST

Page 131: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

131

son típicamente HTML o XML. Como resultado de esto, es posible navegar de un recurso

REST a muchos otros, simplemente siguiendo enlaces sin requerir el uso de registros u otra

infraestructura adicional.

Adicional a la arquitectura a utilizar el formato para las operaciones realizadas serán por

medio de JSON que es un formato ligero para el intercambio de datos, un subconjunto de la

notación literal de objetos de JavaScript y no requiere el uso de XML este formato brinda

grandes ventajas por ser más sencillo y analizador sintáctico de Jsonesto es debido a que es

mucho más sencillo “parsear” los datos JSON a la estructura que se quiere almacenar.

6. Instalación APK Android

El apk que contiene la aplicación móvil es un tipo de archivo que esta empaquetada usando

algunas tecnologías traducidas al lenguaje de Android. Para la instalación y configuración de esta

se debe realizar la configuración del celular en la sesión de seguridad para habilitar la

instalación de aplicaciones desconocidas esto se puede apreciar en el manual de instalación que

se encuentra en el anexo H de este proyecto.

7. Pruebas

Para la realización de la verificación del sistema y su funcionamiento se realizó la ejecución

de los siguientes casos de prueba en donde se involucran diferentes escenarios con el fin de

realizar una mejor suspensión de la calidad de la aplicación y así mitigar posibles errores al

usuario, por ser una aplicación que realiza un a función de alto grado de seguridad en los datos

que se manejan y se administran.

Durante la ejecución de las pruebas a la aplicación final se encontraron diferentes errores en

cuanto a conexión a visualización y funcionalidad lo cual fue corregido correctamente y realizo

el respectivo retest para verificar que los errores hayan sido corregidos y que esta corrección no

Page 132: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

132

genere nuevos errores que puedan afectar la correcta funcionalidad de la aplicación y la finalidad

de satisfacer las necesidades de los usuarios.

Caso de

prueba

nume

ro

Descripción pasos Resultado

esperado

Resultado

obtenido

Estado

Ingresar

aplicativo

CP01 Ingresar al

aplicativo con los

datos de usuario y

contraseña.

1. se debe estar

registrado en el

sistema.

2. Ingresar usuario y

contraseña.

3. dar clic ingresar.

4. Visualizar menú de

navegación.

Ingresar a la

aplicación de

forma correcta

visualizando las

opciones de

navegación.

Se visualiza

las máquinas

virtuales creadas y

las opciones para

administración y

configuración.

Exitoso

Crear

máquina

virtual

CP02 Crear una

máquina virtual desde

el aplicativo móvil.

1. se debe ingresar a

la aplicación.

2. dar clic sobre la

opción crear máquina

virtual.

3. diligenciar los

datos del formulario.

4. dar clic en guardar.

Se muestra en

el listado la

máquina virtual

creada.

Se visualiza

una lista con el

nombre y el

estado de la

máquina virtual.

Exitoso

Configurar

conexión

CP03 Realizar la

configuración

desplegando los

formularios de datos.

1. ingresar al

aplicativo.

2. ingresar datos de

configuración.

3. dar clic en guardar.

Poder

configurar un

nuevo dispositivo

de forma correcta.

Permite

configurar el

dispositivo para

conectarse al

servidor

exitoso

Adicionar

máquina

virtual

CP04

Ingresar los datos

de conexión a una

máquina virtual

creada en Amazon

web services.

1. ingresar los datos

dentro del formulario.

2. dar clic en guardar.

Visualizarlas

maquina virtuales

creadas en

Amazon web

servicies en el

aplicativo móvil.

Se visualiza

un listado con el

nombre de la

maquina la

instancia y el

color indicando el

estado de la

máquina.

fallido

Ver

maquinar

CP05 Ingresa a la

opción ver máquinas

1. ingresar a la

aplicación.

Se visualiza

las máquinas

Visualización

de máquinas en la

exitoso

Page 133: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

133

virtuales virtuales visualiza el

listado de máquinas

virtuales.

2. dar clic en el botón

ver máquinas

virtuales.

virtuales creadas. lista.

Ver ayuda CP06 Visualizar la

ayuda donde está la

explicación del

manejo de la

aplicación.

1. ingresar al

aplicativo.

2. dar clic en el botón

ayuda.

3. descarga PDF.

Visualizar la

explicación de las

diferentes

opciones dentro

de la herramienta.

Visualización

de PDF con

explicación de

cada uno de las

opciones.

Exitoso

Salir de la

aplicación

CP07 Poder desloguear

y cerrar la sesión

iniciada por el

usuario.

1. ingresar al

aplicativo.

2. dar clic en salir.

Cerrar la

sesión iniciada.

Se desloguea

de la aplicación

además de cerrar

la sesión iniciada

Exitoso.

Encender

Máquina

virtual

CP08 Encender la

máquina virtual

seleccionada desde la

aplicación.

1. ingresar a la

aplicación.

2. seleccionar la

máquina virtual.

3. dar clic en el botón

encender máquina

virtual.

Máquina

virtual encendida

visualización de

mensaje.

Se visualiza

un mensaje de

confirmación de

la máquina virtual

encendida.

fallido

Apagar

máquina

virtual

CP09 Apagar la

máquina virtual

seleccionada desde la

aplicación.

1. ingresar a la

aplicación.

2. seleccionar

máquina virtual.

3. dar clic en el botón

apagar máquina

virtual.

Máquina

virtual apagada,

visualización de

mensaje.

Se visualiza

mensaje

confirmando que

la máquina virtual

fue apagada.

exitoso

Encender

servicio de

base de datos

CP10 Encender servicio

de bases de datos de

la máquina virtual

seleccionada.

1. ingresar a la

aplicación.

2. seleccionar

máquina virtual.

3. dar clic en el botón

encender servicio de

base de datos.

Base de datos

arriba,

visualización de

mensaje.

Muestra

mensaje de

verificación.

exitoso

Apagar

servicio de

bases de datos

CP11 Apagar servicio

de base de datos.

1. ingresar a la

aplicación.

2. seleccionar

máquina virtual.

3. dar clic en el botón

apagar servicio de

Base de datos

abajo,

visualización de

mensaje.

Muestra

mensaje de

verificación.

exitoso

Page 134: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

134

base de datos.

Realizar

copias de

seguridad

CP12 Realizar copias de

seguridad de bases de

datos.

1. ingresar a la

aplicación.

2. seleccionar

máquina virtual.

3. dar clic en el botón

realizar backup.

Copia

realizada,

visualización de

mensaje.

Muestra

mensaje de

verificación.

exitoso

Tabla 29. Diseño Casos de Prueba

7.1.Escenarios de pruebas

Los escenarios de prueba se realizan de acuerdo a la planeación de cada uno de los casos de

uso descriptos en este proyecto haciendo parte de las pruebas realizadas a la aplicación para

verificar su correcto funcionamiento, en donde se evidencia errores y sus respectivas

correcciones, y donde se garantiza que la aplicación realiza cada una de las acciones descriptas

en este proyecto, estos escenarios de prueba se encuentran en el anexo E Pruebas del sistema

adjuntos en este proyecto.

Por favor dirigirse al anexo E.

Page 135: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

135

8. CONCLUSIONES

El desarrollo de la aplicación móvil para la administración de servidores virtuales es

una buena forma de tener una herramienta de optimización de servicios de tal forma

que permita un control más eficiente y comodidad para los usuarios.

Para la administración de los servidores virtuales fue necesario escoger una

arquitectura que permita la comunicación de una forma escalable y fácil de

comunicación entre distintos sistemas.

El proyecto permitió el estudio y comprensión de diferentes tecnologías como

Phonegab, Html5, Android, para el desarrollo del aplicativo móvil evidenciando, las

ventajas que estas tienen al implementarlas en cuanto a los aspectos de innovación de

nuevas alternativas de comunicación e interfaces amigables para el usuario.

La utilización de servicios en la nube es una buena técnica para brindar disponibilidad

en cualquier momento y desde cualquier lugar donde físicamente las personas se

encuentren además de los beneficios en cuanto ahorro de actualizaciones y

mantenimientos de servidores.

Con la realización del proyecto se evidencia que las aplicaciones móviles son el auge

actualmente y que estas son de gran ayuda para las necesidades de los usuarios

Page 136: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

136

9. RECOMENDACIONES

Este proyecto es apropiado para la administración de varias opciones de los servidores en una

empresa para su mayor utilidad sería bueno ampliar su funcionalidad para poder ejercer control

en todas las aplicaciones que se puedan instalar en las máquinas virtuales y así optimizar mejor

los recursos ofrecidos de una manera más completa, además de mejorar los módulos de

administración de la aplicación Android para un mejor aprovechamiento en cuanto a movilidad

y gestión de los mismos.

Page 137: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

137

10. BIBLIOGRAFÍA

1. ESPINOSA, Mejía, Mauricio; Álvarez, Pedro. El ciclo de vida de un servicio Web

compuesto: virtudes y carencias de las soluciones actuales. Departamento de Informática e

Ingeniería de Sistemas, Universidad de Zaragoza María de Luna, 50018 Zaragoza, España 23 de

marzo de 2012.

2. BUENO, Eduardo. Catedrático de Economía de la Empresa y Presidente de Euroforum

Escorial, “La Gestión del Conocimiento: Nuevos Perfiles Profesionales”. 24 de junio de 1999.

3. JOYANES, Aguilar, Luis; Estrategias de Cloud Computing en las empresas. Alfaomega

México 2012.

4. LUJAN, Castillo, Jose; Aprenda desde cero a crear aplicaciones, Alfaomega México de

2015.

Page 138: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

138

11. INFOGRAFAFIA

[1]. Tomado de la página principal de Android.

http://developer.android.com/sdk/index.html?hl=sk

[2]. Trabajo de grado de fin de carrera.

http://upcommons.upc.edu/pfc/bitstream/2099.1/14907/1/memoria.pdf

[3]. Memoria de proyecto

http://openaccess.uoc.edu/webapps/o2/bitstream/10609/14737/8/fmagazTFC0612memoria.pdf

[4]. Tomado de video Youtube. https://www.youtube.com/watch?v=gc0R59W-

ezo&feature=youtu.be

[5]. Tomado de la página de Microsoft información Microsoft AZURE.

http://azure.microsoft.com/en-us/documentation/articles/partner-xamarin-mobile-services-android-

get-started/?fb=es-es

[6]. Tomado del Blogger información sobre informática en la nube. http://indira-

informatica.blogspot.com/2007/09/qu-es-mysql.html

[7]. Tomado de presentación management Solutions making thingshappen.

http://www.managementsolutions.com/PDF/ESP/La-nube.pdf

[8]. Revista de opinión boletic.

http://www.astic.es/sites/default/files/articulosboletic/opinion_3_11.pdf

[9]. Trabajo de final de carrera desarrollo de una plataforma de virtualización.

http://www.scribd.com/doc/72351530/VIRTUALIZACION-DE-BASE-DE-DATOS

[10]. Tomado de Memoria de trabajo de grado desarrollo de una aplicación web para la

gestión de entornos virtuales. http://eprints.ucm.es/13083/1/Memoria_SI_Final.pdf

[11]. Tomado de trabajo de fin de carrera Dispositivos de bajo rendimiento sobre servidores de

aplicación de nube privada. http://upcommons.upc.edu/pfc/bitstream/2099.1/14907/1/memoria.pdf

[12]. Artículo sobre cloud. http://www.interoute.es/cloud-article/what-private-cloud

[13]. Tomado revistas tecnológicas.

http://www.revistasbolivianas.org.bo/scielo.php?pid=S199740442012000200037&script=sci_arttex

t

Page 139: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

139

[14]. http://www.revistasbolivianas.org.bo/scielo.php?script=sci_arttext&pid=S1997-

40442012000200022&lng=es&nrm=iso&tlng=es

[15]. Tomado artículo de revista Universidad cooperativa de Colombia.

http://revistas.ucc.edu.co/index.php/me/article/view/167

[16]. Tomado de artículo Universidad Politécnica de Catalunya Barcelona tech.

http://upcommons.upc.edu/handle/2099.1/14907

[17]. Tomado Tesis de fin de carrera Implementación de un controlador de virtual box para

openNebula. http://eprints.ucm.es/13081/1/MEMORIA.pdf

[18]. Tomado de trabajo final mobile Cloud computing y su relación con aplicaciones móviles

y aplicaciones sensibles al contexto.

http://sedici.unlp.edu.ar/bitstream/handle/10915/21856/Documento_completo.pdf?sequence=3

[19]. ARIENZA, Jorge L. Sistemas operativos móviles.

http://jlarienza.blogspot.com/2006/10/sistemas-operativos-moviles.html

[20]. Tomado de tesis de maestría en informática.

https://www.colibri.udelar.edu.uy/bitstream/123456789/2979/1/tesis-delgado.pdf

[21]. Tomado de artículo del portal web de la universidad de granada.

http://ofiweb.ugr.es/pages/prtweb/webservices/

[22]. Tomado de revista ICADE universidad pontificia comillas de Madrid.

https://revistas.upcomillas.es/index.php/revistaicade/article/view/289/223

[23]. Tomado del repositorio de la universidad abierta de cataluya.

http://openaccess.uoc.edu/webapps/o2/bitstream/10609/22781/6/rcarrillocrTFC0613memoria.pdf.

[24]. Tomado de Memoria de Universidad de Vigo: metodologías para el desarrollo de

servicios en la web. http://www.albertolsa.com/wp-content/uploads/2009/07/mdsw-revision-de-los-

servicios-web-soap_rest-alberto-los-santos.pdf (consulta el día 18/10/2015 )

[25]. Tomado de Universidad Complutense de Madrid.

http://eprints.ucm.es/13083/1/Memoria_SI_Final.pdf

[26]. Tomado de artículos sobre cloud interoute. http://www.interoute.es/cloud-article/what-

private-cloud.

Page 140: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

140

[27]. ARIENZA, Jorge L. Sistemas operativos móviles.

http://jlarienza.blogspot.com/2006/10/sistemas-operativos-moviles.html

[28]. Tomado artículo computación en la nube el nuevo paradigma tecnológico para empresas

organizaciones en la sociedad del conocimiento.

https://revistas.upcomillas.es/index.php/revistaicade/article/view/289/223

[29]. http://openaccess.uoc.edu/webapps/o2/bitstream/10609/22781/6/rcarrillocrTFC0613mem

oria.pdf

[30]. http://es.slideshare.net/IsraelRey/arquitectura-rest

[31]. Tomado de repositorio institucional de la UNLP.

http://sedici.unlp.edu.ar/handle/10915/19374

Page 141: SISTEMA DE ADMINISTRACIÓN DE SERVIDORES DE BASES DE …repository.udistrital.edu.co/bitstream/11349/3223/... · Para la elaboración del sistema de virtualización de servidores,

141

ANEXOS