Anlisis Componentes
Plataforma WEB
Propietarios: Grupo SI
Autor Anlisis: Sergio Diaz
Anlisis Plataforma web Grupo SI
1 Introduccin
El presente documento tiene como objetivo presentar el anlisis de la estructura general la
cual pretende mostrar la funcin de la aplicacin web de Grupo SI, para el anlisis del sistema
que se presentara a continuacin se realizaron las siguientes tareas.
1.2 Alcance
En el alcance del proyecto se tuvo como objetivo poder comprender el comportamiento de la
aplicacin web.
Duplicar el sitio web y poner a correr simultneamente la aplicacin web para poder
brindarle el producto a diferentes usuarios en la cual se realiz una prueba para que
cada usuario tenga su propia plataforma web.
Ingresar a la base de datos donde se almacena la informacin del sistema y poder
modificar su informacin desde la base de datos que corre en el sistema.
Configuracin de la integracin continua entre Jenkins y los contenedores de datos
(dockers) ya que esta parte es muy importante para entender su operacin. Ya que es
capaz de habilitar o inhabilitar la plataforma web entre sus caractersticas ms
importantes es enlazar el contenedor donde corre la base de datos.
WEB
Jenkins Ruby on
Rails
BD
3 Base de Datos
La aplicacin web tiene conexin hacia una base de datos relacionada a la aplicacin la cual
realiza una conexin hacia POSTGRESSQL donde el usuario puede consultar o guardar datos.
La base de datos corre en un contenedor con el nombre Postgres. En el contenedor corre la
base de datos GIS_PRODUCTION, la cual contiene una coleccin de tablas donde se
resguardan los datos de la aplicacin, la base de datos tiene un total de 25 tablas.
En el contenedor de la base de datos estn corriendo 3 bases de datos cuya base principal es la
que conecta la aplicacin web es a la base de datos de gis_production. Las otras dos tablas son
por default que las incluye el motor de PostgresSql.
En la siguiente imagen se podr observar la entidad relacin de las tablas las cuales se alojan
en la base de datos gis_production las cuales hacen uso la aplicacin que corre bajo Rails.
4. bitbucket
Grupo Si cuenta con un repositorio de datos en bitbucket en la cual hace uso para tener
alojado el repositorio de datos (Cdigo fuente) de la aplicacin Web,
La cuenta de bitbucket tiene una conexin hacia el servidor donde corre el container donde se
ejecuta Rails, los pasos que se siguen en la conexin y la rplica del repositorio donde se
ejecuta el container con la app desarrollada en Ruby on Rails es la siguiente:
Los pasos mencionados anteriormente son los que se ejecutan cada vez que se necesita
realizar un cambio en la lgica de la app.
Todo cambio que se desea realizar el cdigo fuente tiene que estar en el repositorio de datos
bitbucker.
5. Jenkins
La aplicacin Web est conectada con la tecnologa Jenkins (Software de mejora continua) la
cual tiene el control en el servidor de pausar o levantar los servicios que corren en el servidor,
Jenkins puede hacer uso de la base de datos gis_production la cual se menciona en el
apartado 3 del documento.
Cada vez que se pausa, levanta el servicio o se construye una nueva App en el servidor por
medio de Jenkins se realiza los siguientes pasos. Tomando en cuenta que utiliza las siguientes
herramientas y tecnologas DOCKER, COMPOSE, POSTGRESSQL.
6. Todos los pasos anteriores fueron satisfactorios el sitio puede ser accedido
desde internet, y si fueran insatisfactorios Jenkins dar un aviso en cul de los
pasos fallo y no se podr acceder va internet.
A continuacin se mostrar los script con los cuales se ejecuta los pasos anteriormente
mencionados.
5.1 Script el cual ejecuta cada vez que se crea una nueva app
6. Conclusiones
Por otro punto es posible de agregar y crear diferentes sitios web basados en el sitio de
http://demo.gsieco.com mantener en lnea o botar las plataformas, limpiar las bases de datos.
6.1 Sugerencias
En el anlisis que se realiz a la aplicacin web, se logr observar que es necesario crear un
container, en el cual correr una app la cual permite visualizar y tener un mejor control sobre
Docker esta aplicacin convierte docker en interfaz grfica (GUI), la funcionalidad que nos
brinda son. Nos permite ver los contenedores que corren en el servidor los puertos con los
cuales escuchan, nos permite eliminar y crear imgenes todo lo mencionado se puede realizar
por medio desde una aplicacin web y cualquier usuario podr controlar docker sin
conocimientos de Linux y sin conocimientos especficos de docker tambin nos mostrara
grficos de uso del server.
Esto servira para mantener un mejor control sobre el servidor ya que en este momento para
controlar docker hay que ingresar al server por medio de consola y utilizando SSH de Linux.
https://www.docker.com/products/docker-kitematic
https://github.com/kevana/ui-for-docker
7. Partes interesadas
Nombre Rol
Christian