DESAPPWEBEX2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 400

DESARROLLO DE APLICACIONES WEB

UNIDAD 3
Desarrollo de aplicaciones con Framework

Castillo Heredia Luis Javier, Mgs


ÍNDICE

1. Unidad 3: Desarrollo de aplicaciones con Framework .................................3


Tema 1: Patrón de diseño MVC en Python con Django ................................................ 3
Objetivo: ........................................................................................................................ 3
Introducción: ................................................................................................................. 3

2. Información de los subtemas .............................................................................4


2.1 Subtema 1: Introducción a Django. ................................................................... 4
2.2 Subtema 2: Instalación y administración de Django ......................................... 6
2.3 Subtema 3: Personalización y registro de modelos ........................................... 9
2.4 Subtema 4: Capa de presentación template.................................................... 11
2.5 Subtema 5: Capa de negocio ........................................................................... 13
2.6 Subtema 6: Capa de datos ............................................................................... 14

3. Preguntas de Comprensión de la Unidad ..........................................................16

4. Información de los subtemas ...........................................................................17

5. Bibliografía ......................................................................................................18

2
Desarrollo de aplicaciones con Framework

1. Unidad 3: Desarrollo de
aplicaciones con Framework
Tema 1: Patrón de diseño MVC en Python con Django
Objetivo:

Desarrollar aplicaciones web, empleando las herramientas adecuadas a través del


lenguaje Python y la base de datos en PostgreSQL utilizando el IDE Django.

Introducción:
El desarrollo web constituye el acto de construir y mantener sitios web, los cuales
presentan una apariencia impecable a la vista del usuario final, así mismo se toma
cuestiones importantes como lo son un funcionamiento rápido del sitio como también
un buen desempeño todo esto se engloba en presentar una mejor experiencia de
usuario. (Mercedes, 2017)

Los desarrolladores web son los encargados de elaborar o crear los sitios web, para esto
emplean diversos lenguajes orientados para este fin, además pueden utilizar
herramientas o marcos de trabajo con los cuales se les facilita la creación de estos sitios
web al hacerlo en menor tiempo. (Mercedes, 2017)

En el presente documento vamos a revisar temas relacionados al desarrollo de


aplicaciones web utilizando una herramienta que vimos en la anterior unidad, el
framework Django de lenguaje Python, así mismo veremos un patrón de diseño para
elaborar un sitio web como lo es MVC (Modelo Vista Controlador) así como su
adaptación en Django denominado MVT (Modelo Vista Template).
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 3


Desarrollo de aplicaciones con Framework

2. Informacion de los subtemas


2.1 Subtema 1: Introducción a Django.
Django es un framework web el cual podremos utilizar para crear sitios web, utiliza el
lenguaje de programación Python. Es de código abierto y nos permite el desarrollo de
sitios web seguros y mantenibles. (MDN Web Docs, s.f).

Django brinda algunas ventajas:

Versatilidad

Con respecto a este tema (MDN Wbe Docs, sf) indica que “Django puede ser (y ha sido)
usado para construir casi cualquier tipo de sitio web - desde sistemas manejadores de
contenidos y wikis, hasta redes sociales y sitios de noticias. Puede funcionar con
cualquier framework en el lado del cliente”, indicando así lo versátil que puede ser este
framework. (MDN Web Docs, s.f).

Seguridad

Django ayuda a los programadores en el sentido de evitar errores comunes que existen
de seguridad, pues se encuentra diseñado para proteger automáticamente al sitio web
o proyecto que se desarrolle. Por mencionar algo Django proporciona una forma segura
de gestionar las cuentas de los usuarios y sus contraseñas, evitando los típicos errores
como ubicar la información de sesión en cookies donde puede ser vulnerable. (MDN
Web Docs, s.f).

De manera predeterminada Django permite proteger al sitio web desarrollado contra


algunas de las vulnerabilidades conocidas como es SQL injection, scripts entre sitios,
© Universidad Estatal de Milagro – UNEMI

falsificación de solicitudes entre sitios, entre otras. (MDN Web Docs, s.f).

Escalabilidad

Cada parte de la arquitectura que maneja Django será independiente de las demás,
permitiendo asi que sea reemplazado o cambiado si se da el caso de ser necesario.
Teniendo en cuenta esta independencia entre las partes esto significa que se puede
escalar para incrementar el trafico al agregar hardware en cualquier nivel (servidores de
caché, servidores de base de datos o servidores de aplicación), en la actualidad varios

FORMATO CONTROLADO: FR0018/ v3.0 4


Desarrollo de aplicaciones con Framework

sitios han escalado a Django para poder cumplir con las demandas de uso de clientes.
(MDN Web Docs, s.f).

Mantenibilidad

El código que se genera en Django se lo implemente con los principios y patrones de


diseños para fomentar el desarrollo de código reutilizable y mantenible,
específicamente utiliza el principio de No te repitas (DRY) con el objetivo de que no
existe una duplicación de código innecesaria para lograr así la reducción de la cantidad
de código generado. (MDN Web Docs, s.f).

Portabilidad

Django está escrito en Python un lenguaje de programación que se ejecuta en muchas


plataformas. Lo que indica que no está ligado o sujeto a una plataforma en específico de
manera que puede ejecutar sus aplicaciones en diversas distribuciones de Linux,
Windows y Mac OS. Por otro lado Django tiene el respaldo de muchos proveedores de
alojamiento web por lo que tiene un gran abanico de oportunidades para ser desplegado
en diversas plataformas, así también se da el caso de algunos proveedores de
alojamiento web creados específicamente para el alojamiento de sitios creados con
Django. (MDN Web Docs, s.f).
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 5


Desarrollo de aplicaciones con Framework

2.2 Subtema 2: Instalación y administración de Django


Para crear proyectos con Django primero debemos tener instalado en nuestro equipo
Python y también instalar Django a continuación vamos a instalar Django en nuestro
equipo.

Para instalar Django podemos consultar la documentación oficial de Django. En nuestro


caso vamos a realizar los siguientes pasos:

Figura 1: Instalación de Django

Abrimos la ventana de comandos del sistema para poder ingresar el comando


correspondiente a la instalación de Django en este caso ingresamos el comando
presentado en la siguiente imagen.

Figura 2: Proceso de instalación


© Universidad Estatal de Milagro – UNEMI

Una vez demos enter se empezará a descargar e instalar lo necesario para que Django
pueda funcionar en nuestro equipo. Mostrando al final un mensaje de que se ha
instalado satisfactoriamente como se puede ver en la siguiente imagen.

Con esto ya tenemos instalado Django en nuestro equipo.

FORMATO CONTROLADO: FR0018/ v3.0 6


Desarrollo de aplicaciones con Framework

UNA VISTA GENERAL DE CÓMO TRABAJA DJANGO

De manera general un sitio web tradicional basado en datos, lo que se haces es esperar
una petición HTTP desde el explorador de la parte cliente, una vez que se recibe esta
petición la aplicación elabora una respuesta para esta petición dependiendo lo que se
necesite si es leer o escribir información para después crear de manera dinámica una
página HTML de modo que al presentarlo en el explorador se inserte los datos
recuperados en marcadores de posición de una plantilla HTML. (MDN Web Docs, s.f)

En Django el proceso antes mencionado lo gestiona en archivos separados. De la


siguiente manera:

Figura 3: Gestión de Django

Nota. Adaptado de ¿Qué pinta tiene el código de Django?, por MDN Web Docs, s.f,
https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Introduction

PATRON MVC
© Universidad Estatal de Milagro – UNEMI

Es un patrón que sirve como guía o modelo de cómo debe estar organizado los
componentes de un sistema software, definir sus responsabilidades y las relaciones
existentes entre cada uno de estos componentes. (Aguilar, s.f)

Este patrón o también considerada arquitectura propone la separación de los elementos


de una aplicación en tres grupos o denominadas capas principales (modelo, vista y
controlador), esto es independiente de las tecnologías o los entornos en donde se
desarrolle la aplicación. (Aguilar, s.f)

Modelo: Esta capa hace referencia a la representación de los datos del dominio, es decir
aquellas entidades con las cuales podremos manipular la información del sistema, hacen

FORMATO CONTROLADO: FR0018/ v3.0 7


Desarrollo de aplicaciones con Framework

referencia a las entidades o tablas del lugar de almacenamiento (base de datos).


(Aguilar, s.f)

De igual manera encontraremos la lógica de negocio, en otras palabras son la


implementación de las reglas, acciones y restricciones para gestionar las entidades del
dominio, es responsable de la consistencia e integridad de la información que se maneje
en el sistema. (Aguilar, s.f)

Vista: Esta capa hace referencia a la generación de la interfaz de nuestra aplicación en


otras palabras es la responsable de componer las pantallas, páginas o cualquier tipo de
resultado grafico para presentarlo en la pantalla al usuario final. (Aguilar, s.f)

Controlador: En pocas palabras en esta capa se maneja la coordinación general del


sistema, la misión de esta capa es la de actuar como intermediario entre el usuario y el
sistema, se captura las acciones del usuario sobre la Vista como por ejemplo la pulsación
de un botón, de esta manera interpreta la acción y actúa según lo que se disponga por
ejemplo presentar una nueva interfaz al usuario. (Aguilar, s.f)

Así mismo el controlador puede tomar información procedente del Modelo y adaptar
esta información a las estructuras que la vista maneja para presentar esta información.
De manera que a grandes rasgos el controlador es quien regula la navegación y el flujo
de la información con el usuario. (Aguilar, s.f)

PATRON MTV

Una vez que se revisó el patrón MVC en Django se utiliza un patrón similar el
denominado MTV (Modelo Vista Template). Es una variación del MVC pero mantiene la
misma ideología la separación de la estructura de un sistema para su funcionamiento.

Vista (view): En Django una vista es una función que gestiona las solicitudes HTTP que
se vayan recibiendo y de igual manera devuelve respuestas HTTP. Las vistas accederán
a los datos que sean necesarios para cumplir con las solicitudes por medio de los
© Universidad Estatal de Milagro – UNEMI

modelos y por ultimo encargan a las plantillas la responsabilidad de formatear la


información de respuesta. (MDN Web Docs, s.f)

Modelo (model): Un modelo es un objeto de Python en los cuales se va a definir la


estructura de los datos de una aplicación, así también ofrecerán formas o mecanismos
para gestionar estos datos (añadir, eliminar, modificar) y también consultar información
(registros) de nuestra base de datos. (MDN Web Docs, s.f)

Plantillas (template): Es un fichero de texto en el cual se va a definir la estructura (como


una página HTML), con marcadores de posición los cuales se los va a utilizar para
presentar la información. (MDN Web Docs, s.f)

FORMATO CONTROLADO: FR0018/ v3.0 8


Desarrollo de aplicaciones con Framework

2.3 Subtema 3: Personalización y registro de modelos


Al momento de crear una aplicación en Django existe la opción de crear la aplicación de
administración de Django con la cual se podrá utilizar los modelos para construir de
manera automática un espacio en el cual se podrá crear, consultar, actualizar y borrar
los registros.

Con esto nos ahorramos bastante tiempo de desarrollo pues podemos probar los
modelos sin necesidad de tener creados los templates y las vistas, de esta manera
podemos testear si nuestros modelos tienen las definiciones correctas.

Se recomienda únicamente para usos internos del equipo de desarrollo como


administradores o personas internas de la organización como el testeo de las
funcionalidades de los modelos. (MDN Web Docs, s.f)

Registro de modelos

Para registrar los modelos de nuestra aplicación lo que debemos hacer es primero ir al
admin.py, en este archivo es donde registraremos los modelos con la sentencia que
maneja la siguiente estructura. (MDN Web Docs, s.f)

Figura 4: Estructura de Registro


© Universidad Estatal de Milagro – UNEMI

Gestión de Modelos

Una vez que has definido tus clases de modelos puedes usarlas para crear, actualizar o
borrar registros, y ejecutar consultas para obtener todos los registros o subconjuntos
particulares de registros. (MDN Web Docs, s.f)

A continuación, se presenta un ejemplo del registro de algunos modelos en el archivo


antes mencionado.

FORMATO CONTROLADO: FR0018/ v3.0 9


Desarrollo de aplicaciones con Framework

Figura 5: Ejemplo de Registro

Nota. Adaptado de Tutorial Django Parte 4: Sitio de Administración de Django, por


MDN Web Docs, s.f, https://developer.mozilla.org/es/docs/Learn/Server-
side/Django/Admin_site
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 10


Desarrollo de aplicaciones con Framework

2.4 Subtema 4: Capa de presentación template


En la capa de presentación se maneja los templates o plantillas, una plantilla en Django
es una cadena de texto cuyo objetivo es separar la presentación de un documento de
los datos que se van a presentar. Generalmente, las plantillas se las utiliza para generar
HTML pero en Django las plantillas son capaces de generar cualquier tipo de formato
basado en texto. (Uniwebsidad, s.f)

A continuación, en la figura 5, se presenta un ejemplo de una plantilla y se explicara


algunos elementos de la misma.

Figura 5: Ejemplo de Plantilla


© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Introducción al sistema de plantillas, por Uniwebsidad, s.f,


https://uniwebsidad.com/libros/django-1-0/capitulo-4/introduccion-al-sistema-de-
plantillas

La plantilla presentada en la imagen es un HTML de manera básica que presenta algunas


variables y etiquetas de plantillas agregadas.

Cualquier texto que se encuentre encerrado en un par de llaves como por ejemplo “{{
ítem }}” representa una variable, esto quiere decir que cuando se presente en el

FORMATO CONTROLADO: FR0018/ v3.0 11


Desarrollo de aplicaciones con Framework

navegador se insertara un valor en esa variable para mostrarlo al usuario. (Uniwebsidad,


s.f)

Por otro lado cualquier texto que se encuentre dentro de llaves y signos de porcentaje
es una etiqueta de plantilla, esto implica que esto le indica al sistema de plantilla que
debe hacer algo. Por ejemplo “{% if ordered_warranty %}” es una etiqueta que indica al
sistema que se tiene un condicional if conocido en programación. (Uniwebsidad, s.f)

Por ultimo también se tiene los conocidos filtros como por ejemplo“ {{
ship_date|date:”F j, Y”}}” lo que se está haciendo en este caso es pasar la variable
ship_date por el filtro date este filtro lo que hace es formatear fechas. Cabe recalcar que
los filtros se encadenan con el uso de un carácter (|). (Uniwebsidad, s.f)

Cada plantilla de Django que se construya puede contener varias etiquetas y filtros
incorporados, los cuales indicaremos al sistema que debe hacer o presentar en este
caso. Ampliar más este tema revisando la lista de etiquetas y filtros. (Uniwebsidad, s.f)
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 12


Desarrollo de aplicaciones con Framework

2.5 Subtema 5: Capa de negocio


La capa de negocio hace referencia a una función en Python que hace una solicitud Web
y no hace más que devolver una respuesta Web, este resultado o esta respuesta puede
ser el contenido de una página, un error 404 en el caso de no encontrar el contenido o
la página que se necesita, una imagen, un documento XML entre muchas otras
respuestas. (Infante, 2012)

Las vistas contienen toda la lógica necesaria para devolver las respuestas indicadas
según la petición, todas estas funciones y respuestas se encuentran en un único archivo,
este archivo es el views.py el cual se encuentra dentro de cada aplicación de Django.
(Infante, 2012)

Las vistas devuelven la respuesta y es en la plantilla donde se acomoda la información o


la respuesta enviada por la vista, de ahí la importancia de las plantillas y su conexión con
las vistas. (Infante, 2012)

A continuación, se puede evidenciar como se estructura una función de una vista.

Figura 6: Función de una vista

Nota. Adaptado de Curso Django: Las vistas, por Maestros del Web, s.f,
http://www.maestrosdelweb.com/curso-django-las-vistas/

En este caso se define una función para listar recetas se recibe una petición, para lo
cual la lógica de negocio realiza una consulta de todos los objetos de la base de datos
relacionado a la tabla receta, una vez que obtiene la información lo que hace es
© Universidad Estatal de Milagro – UNEMI

retornar esta información presentando el template recetas.html y en este envía la


información que se consultó, en este ejemplo la información se envía a la plantilla
almacenado en la variable datos. (Infante, 2012)

FORMATO CONTROLADO: FR0018/ v3.0 13


Desarrollo de aplicaciones con Framework

2.6 Subtema 6: Capa de datos


Los modelos se encuentran definidos generalmente en el archive models.py de la
aplicación, estos modelos son implementados como subclases y contienen lo que son
los campos, métodos y metadata, un ejemplo de estructura de un modelo se presenta
a continuación. (MDN Web Docs, s.f)

Figura 7: Ejemplo estructura de modelo


© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Tutorial Django Parte 3: Uso de modelos, por MDN Web Docs, s.f,
https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Models

FORMATO CONTROLADO: FR0018/ v3.0 14


Desarrollo de aplicaciones con Framework

Campos

En un modelo se puede definir varios campos de cualquier tipo, cada uno de estos
campos representan las columnas de los datos que deseamos guardar en nuestras tablas
de la base de datos. (MDN Web Docs, s.f)

El nombre del campo se lo usa para poder referirnos a él como en consultas y en


plantillas. Los campos también poseen argumentos con los cuales se determinan algunas
características de los mismos. (MDN Web Docs, s.f).

Algunos de los argumentos más comunes en los campos son los siguientes:

help_text: Brinda una etiqueta de texto que se presenta para formularios.

default: Es el valor por defecto para el campo.

null: Si el valor de este es True, Django guardara valores en blanco o vacíos como NULL
en la base de datos.

primary_key: Si el valor que se asigna es True, establece el campo como clave primaria
para el modelo. Si no se especifica ningún campo como clave primaria, Django define
automáticamente un campo para ese propósito.

Así mismo existen diferentes tipos de campos, algunos de ellos son:

CharField: Se lo utiliza para definir el campo como cadenas de longitud corta a media,
en este tipo de campo se debe especificar la max_length de la información que se
guarde.

TextField: Se lo utiliza para definir el campo como cadenas de longitud grande, se puede
especificar max_length para el campo, hay que tomar en cuenta que solo se lo usa
cuando el campo se muestra en formularios (no en la ocasión se base de datos).

Integer_Field: Se lo utiliza para almacenar en el campo valores de números enteros y


para validar los valores introducidos en el formulario como enteros.
© Universidad Estatal de Milagro – UNEMI

DataField y DateTimeField: Se usan este tipo de campos para guardar fechas e


información de fecha y hora respectivamente.

EmailField: Se los utiliza para validar direcciones de correo electrónico.

FileField e ImageField: Se utiliza este tipo de campos para subir ficheros e imágenes
respectivamente.

ForeignKey: Se usa este tipo de campo para definir una relación de uno a muchos con
otro modelo de la base de datos. El lado “uno” de la relación es el modelo que contiene
la clave.

FORMATO CONTROLADO: FR0018/ v3.0 15


Desarrollo de aplicaciones con Framework

3. Preguntas de Comprension de la
Unidad
1. ¿Un modelo hace referencia a?
o Datos (base de datos)
o HTML
o Bootstrap

2. ¿En un IntegerField se puede almacenar?


o Letras
o Numeros primos
o Numeros enteros

3. ¿En qué archivo se encuentra las funciones de las vistas?


o vistas.pt
o views.py
o views.pyt

4. ¿Cuál es ventaja del framework Django?


o Seguridad
o Diversión
o Productividad

5. ¿Con que lenguaje de programación se trabaja en Django?


o Python
o PHP
o JAVA
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 16


Desarrollo de aplicaciones con Framework

4. Informacion de los subtemas

Los siguientes recursos complementarios son sugerencias para que se pueda ampliar la
información sobre el tema trabajado, como parte de su proceso de aprendizaje
autónomo:

Videos de apoyo:
• https://www.youtube.com/watch?v=c2hvf3TfplM
• https://www.youtube.com/watch?v=XkibFDsh6sw

Links de apoyo:
• https://docs.djangoproject.com/en/4.0/
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 17


Desarrollo de aplicaciones con Framework

5. Bibliografía

» Mercedes. (2017). ¿Qué es el desarrollo web?. Recuperado de


https://blog.openclassrooms.com/es/2017/09/11/que-es-el-desarrollo-web/
» MDN Web Docs. (s.f). Introducción a Django. Recuperado de
https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Introduction
» Aguilar, J. (s.f). ¿Qué es el patrón MVC en programación y por qué es útil?.
Recuperado de https://www.campusmvp.es/recursos/post/que-es-el-patron-
mvc-en-programacion-y-por-que-es-util.aspx
» MDN Web Docs. (s.f). Tutorial Django Parte 4: Sitio de Administración de Django.
Recuperado de https://developer.mozilla.org/es/docs/Learn/Server-
side/Django/Admin_site
» MDN Web Docs. (s.f). Tutorial Django Parte 3: Uso de modelos. Recuperado de
https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Models
» MDN Web Docs. (s.f). Puesta en marcha de un entorno de desarrollo Django.
Recuperado de https://developer.mozilla.org/es/docs/Learn/Server-
side/Django/development_environment
» Uniwebsidad. (s.f). Introducción al sistema de plantillas. Recuperado de
https://uniwebsidad.com/libros/django-1-0/capitulo-4/introduccion-al-
sistema-de-plantillas
» Infante, S. (2012). Curso Django: Las vistas. Recuperado de
http://www.maestrosdelweb.com/curso-django-las-vistas/
» Bibeault, B., & Katz, Y., De Rosa, A., Jquery in Action. Simon and Schuster, 2015
» Chaffer, J., & Swedberg, K., Learning Jquery – Third Edition. Packt, 2011
» Chaffer, J., & Swedberg, K., Learning Jquery – Fourth Edition. Packt, 2013

» Gauchat, J., El gran libro de HTML5,CSS3 & Javascript. Marcombo, 2013


© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 18


DESARROLLO DE APLICACIONES WEB

UNIDAD 3
Desarrollo de aplicaciones con Framework

Castillo Heredia Luis Javier, Mgs


ÍNDICE

1. Unidad 3: Desarrollo de aplicaciones con Framework .................................3


Tema 2: Despliegue de la aplicación web ..................................................................... 3
Objetivo: ........................................................................................................................ 3
Introducción: ................................................................................................................. 3

2. Información de los subtemas .............................................................................4


2.1 Subtema 1: Instalación y Configuración del servidor web. ................................ 4
2.2 Subtema 2: Carga de la aplicación web en un servidor web. .......................... 15

3. Preguntas de Comprensión de la Unidad ..........................................................21

4. Información de los subtemas ...........................................................................22

5. Bibliografía ......................................................................................................23

2
Desarrollo de aplicaciones con Framework

1. Unidad 3: Desarrollo de
aplicaciones con Framework
Tema 2: Despliegue de la aplicación web
Objetivo:

Desarrollar aplicaciones web, empleando las herramientas adecuadas a través del


lenguaje Python y la base de datos en PostgreSQL utilizando el IDE Django.

Introducción:
El termino definido como servidor posee dos significados tomando en cuenta la rama de
la informática. El primero se refiere a un ordenador que ofrece recursos por medio de
una red. El segundo hace referencia al programa que se está ejecutando o funcionando
en dicho ordenador. (IONOS, 2020)

La colocación de los servicios a disposición a través de una red utiliza el denominado


modelo cliente-servidor, con este término se hace posible la distribución de las
diferentes tareas en los distintos ordenadores y así posibilitar su acceso a los usuarios
finales de una manera independiente. (IONOS, 2020)

Cada uno de los servicios que se encuentran disponibles en la red son ofrecidos por un
servidor (software) el cual estará esperando permanentemente alguna petición, con
esto se asegura clientes como un navegador web o un cliente de correo electrónico
tengan siempre la oportunidad de acceder al servidor y usar el servicio dependiendo de
sus necesidades. (IONOS, 2020)

En este documento hablaremos sobre los diferentes tipos de servidores y nos


enfocaremos en un tipo de servidor que va de la mano con nuestra asignatura, estamos
© Universidad Estatal de Milagro – UNEMI

hablando de un servidor web.

FORMATO CONTROLADO: FR0018/ v3.0 3


Desarrollo de aplicaciones con Framework

2. Informacion de los subtemas


2.1 Subtema 1: Instalación y Configuración del
servidor web.
El termino definido como servidor posee dos significados tomando en cuenta la rama de
la informática. El primero se refiere a un ordenador que ofrece recursos por medio de
una red. El segundo hace referencia al programa que se está ejecutando o funcionando
en dicho ordenador. (IONOS, 2020)

Según IONOS (2020) se define un servidor (hardware) como “un servidor basado en
hardware es una máquina física integrada en una red informática en la que, además del
sistema operativo, funcionan uno o varios servidores basados en software. Una
denominación alternativa para un servidor basado en hardware es "host" (término
inglés para "anfitrión"). En principio, todo ordenador puede usarse como "host" con el
correspondiente software para servidores”.

De igual manera existe otra definición de servidor (software) en este sentido IONOS
(2020) lo define como “un servidor basado en software es un programa que ofrece un
servicio especial que otros programas denominados clientes pueden usar a nivel local o
a través de una red. El tipo de servicio depende del tipo de software del servidor. La base
de la comunicación es el modelo cliente-servidor y, en lo que concierne al intercambio
de datos, entran en acción los protocolos de transmisión específicos del servicio”

Así mismo existen diferentes tipos de servidores los cuales están dedicados a ofrecer
servicios específicos, algunos de estos servidores pueden ser:

• Servidor web
• Servidor FTP (archivos)
• Servidor de correo electrónico
• Servidor de base de datos
© Universidad Estatal de Milagro – UNEMI

• Servidor de juegos
• Servidor proxy
• Servidor DNS

La colocación de los servicios a disposición a través de una red utiliza el denominado


modelo cliente-servidor, con este término se hace posible la distribución de las
diferentes tareas en los distintos ordenadores y así posibilitar su acceso a los usuarios
finales de una manera independiente. (IONOS, 2020)

FORMATO CONTROLADO: FR0018/ v3.0 4


Desarrollo de aplicaciones con Framework

Para tener la idea más clara de cómo es el modelo cliente-servidor se presenta a


continuación una imagen en la que se aprecia dicho modelo.

Imagen 1: Modelo Cliente-Servidor

Nota. Adaptado de Modelo cliente servidor, por Infranetworking, 2019,


https://blog.infranetworking.com/modelo-cliente-servidor/

Los servicios que brindan los servidores son solicitados continuamente y por ello la
mayoría de servidores jamás de apagan pues deben brindar sus servicios las 24 horas
del día. Si se diera el caso que un servidor dejara de funcionar, esto causaría demasiados
problemas a los clientes o usuarios pues no tendrían servicio, es por ello que los
servidores están configurados o programados para ser tolerantes a las fallas que se
puedan producir. (ticportal, 2019)
© Universidad Estatal de Milagro – UNEMI

TIPOS DE SERVIDORES

A continuación, y de una manera rápida vamos a revisar los diferentes tipos de


servidores que se tiene y cuáles son sus características principales.

FORMATO CONTROLADO: FR0018/ v3.0 5


Desarrollo de aplicaciones con Framework

Servidor FTP (archivos)

El servicio de FTP Borges (2019) lo define como “servicio utilizado para el envío y
obtención de archivos entre dos equipos remotos. Los casos más usuales son
transferencias entre el equipo local de un cliente y el servidor del proveedor, aunque
también se pueden establecer conexiones FTP entre dos servidores”.

Un servidor FTP es un software que se ejecuta en un servidor el cual va a estar conectado


a internet, de manera que los clientes puedan conectarse a este y de esta manera
ofrecer el servicio de transferencia de archivo puede ser subir o descargar los mismos.
(Borges, 2019)

Existen tres tipos de servidores FTP:

El primero es el FTP autenticado este se basa en una contraseña y usuario, de manera


que se pueda restringir el acceso a personas o usuarios sin privilegios. (Borges, 2019)

Por otro lado, existe el FTP anónimo o público, este servidor no requiere ni usuario ni
contraseña para acceder y manipular los archivos, aunque se puede indicar que si tiene
privilegios para ciertos usuarios para realizar ciertas acciones. (Borges, 2019)

Por último y el más inusual es el FTP embebido, no es el más común se trata de uno que
se encuentra incrustado en las páginas web de internet. (Borges, 2019)

En el mercado podemos encontrar varios servidores FTP pero los más populares son
Proftpd, Vsftpd, Pure-ftpd, FileZilla Server, CrushFTP, Cerberus FTP Server, FTP Serv-U,
Quick ‘n Easy FTP Server, QuickTFTP Desktop, PrivateFTP, Argosoft FTP Server, Golden
FTP Server Free. (Borges, 2019).

Servidor de correo electrónico

Un servidor de correo electrónico es una aplicación informática la cual nos va a brindar


la opción de gestionar correo electrónico mediante un ordenador o una computadora.
© Universidad Estatal de Milagro – UNEMI

(Lara, 2020)

Para conocer el funcionamiento del correo electrónico Lara (2020) especifica el proceso
como “El emisor del email utiliza un programa de correo electrónico para redactar el
mensaje y, al dar clic en “Enviar”, contacta con el servidor SMTP. Una vez que éste recibe
la orden de entregar un correo, consulta con el servidor DNS para conocer el nombre de
dominio (@ del receptor) del servidor donde tiene que entregarlo. Luego, el servidor
SMTP contactará al servidor del receptor, que utilizará los protocolos POP o IMAP para
entregar el correo y, finalmente, el receptor utiliza también un programa de correo
electrónico para acceder al email”.

FORMATO CONTROLADO: FR0018/ v3.0 6


Desarrollo de aplicaciones con Framework

A continuación, se muestra una imagen del funcionamiento explicado anteriormente.

Imagen 2: Funcionamiento del correo electrónico

Nota. Adaptado de Servidor de correo electrónico, ¿cómo funciona?, por GoDadddy,


2020, https://mx.godaddy.com/blog/servidor-de-correo-electronico-como-funciona/

Servidor de base de datos

Según Borges (2019) define a un servidor de base de datos como “es un tipo de software
de servidor que permiten la organización de la información mediante el uso de tablas,
índices y registros”.

Por otro lado, si tomamos en cuenta a nivel de hardware, un servidor de base de datos
© Universidad Estatal de Milagro – UNEMI

se refiere a un equipo informático especializado en atender consultas a clientes remotos


o que también pueden ser locales los mismo que solicitan información o realizan
modificaciones en los registros de las tablas que se encuentran existentes dentro de la
base de datos del sistema. (Borges, 2019)

Servidor DNS

Según Méndez (2019) define un servidor DNS como “DNS es el acrónimo de Domain
Name System o Sistema de Nombres de Dominio, que es el método utilizado por
Internet para traducir de forma fácil de recordar los nombres de dominio como

FORMATO CONTROLADO: FR0018/ v3.0 7


Desarrollo de aplicaciones con Framework

wpseguro.com en lugar de su IP 178.33.117.45 de manera que sean entendibles por las


personas y más fácil que si se trata de recordar secuencia numérica, como es el caso de
las IPs”.

Hay que tener en cuenta que todo dispositivo o equipo que se encuentre conectado a
internet va a necesitar de una dirección IP y esta dirección debe ser única de manera
que sea accesible desde cualquier punto de la red. (Méndez, 2019)

Por otro lado si tuviéramos que recordar número de IPs para poder ingresar o acceder
a sitios web sería una tarea compleja con lo que nos limitaría pues recordar todos esos
números sería complicado, es por ello que los DNS nos ayudan a traducir esas secuencias
numéricas en nombres que podamos entender y asociarlos. (Méndez, 2019)

Servidor web

Según De Souza (2019) define a un servidor web como “es un ordenador de gran
potencia que se encarga de “prestar el servicio” de transmitir la información pedida por
sus clientes”.

Por otro lado, los servidores web son un componente de los servidores que tienen como
función principal almacenar todos los archivos de una página web de modo que se pueda
transmitir a los diferentes usuarios que visiten los sitios web a través de navegadores
mediante el protocolo HTTP. (De Souza, 2019)

Características importantes de un servidor web.

CAPACIDAD DE ALMACENAMIENTO: Romero (2019) indica “El disco duro: la cantidad


de gigas que tienes disponibles para almacenar tu web, tu correo y todo lo que necesites.
Evalúa si tu web va a ser estática o dinámica, es decir, si va a crecer, por ejemplo, con
un blog, si vas a alojar una o múltiples cuentas de correo. Tienes que tener en cuenta
© Universidad Estatal de Milagro – UNEMI

que no es lo mismo si usas tu correo corporativo para enviar textos o si lo usas para que
te envíen tus proveedores, millones de pdfs enormes y catálogos de mucho peso.
También es importante decidir si eres de los que quieres dejar almacenado tus correos
de los últimos 25 años o si cada 2 o 3 años, te puedes permitir eliminar los más antiguos.
En definitiva, hay que estudiar tus necesidades de almacenamiento”, este es un aspecto
importante a tomar sobre el servidor web que usemos.

TRANSFERENCIA DE DATOS: Hace referencia al volumen o la cantidad de los datos que


pueden ser transferidos en un tiempo (un mes) desde el servidor hacia la internet. Esto

FORMATO CONTROLADO: FR0018/ v3.0 8


Desarrollo de aplicaciones con Framework

deberá ser tomado en cuenta desde el punto de cuando ocupe la web y si está bien
cacheada y sobre todo la cantidad de visitas que tendrá. (Romero, 2019)

SEGURIDAD: Según Romero (2019) comenta que “Servicios de cortafuego, protección


de directorios con contraseña, copias de seguridad, protección anti ataques DDos, y un
sin fin de servicios de seguridad que son más importantes de lo que la gente se cree.
Nosotros valoramos mucho la seguridad, puesto que vivimos tiempos en los que no
tienes que tener la web de IBM para sufrir ataques. Cualquier web sufre ataques a
diario”, la seguridad hoy en día es un aspecto fundamental en el mundo de las
tecnologías.

Servidor web NGINX

Según Kinsta (2021) define a NGINX como “es un servidor web de código abierto que,
desde su éxito inicial como servidor web, ahora también es usado como proxy inverso,
cache de HTTP, y balanceador de carga”.

Sobre sus orígenes Kinsta (2021) menciona que “Nginx creado originalmente por Igor
Sysoev, y tuvo su primer lanzamiento público en octubre de 2004. Igor concibió
inicialmente el software como una respuesta al problema C10K, que se refiere al
problema de rendimiento de manejar 10,000 conexiones concurrentes”.

Su filosofía se basa en el rendimiento es por ello que Kinsta (2021) indica que “debido a
que sus raíces yacen en la optimización del rendimiento bajo escala, Nginx a menudo
supera a otros populares servidores web en pruebas de rendimiento (Benchmarks),
especialmente en situaciones con contenido estático y/o un elevado número de
solicitudes concurrentes”.

Funcionamiento de NGINX
© Universidad Estatal de Milagro – UNEMI

Nginx se encuentra diseñado de manera que ofrezca bajo uso de memoria con alta
concurrencia, de manera que en lugar de crear un nuevo proceso para cada solicitud
que recibe de la web lo que hace Nginx es usar un enfoque asíncrono que se basa en
eventos en donde las solicitudes que vayan recibiendo se manejan en un único hilo.
(Kinsta, 2021)

Sobre como controla los procesos de trabajo Kinsta (2021) menciona que “Con Nginx,
un proceso maestro puede controlar múltiples procesos de trabajo. El proceso maestro
mantiene los procesos de trabajo, y son estos lo que hacen el procesamiento real”.

FORMATO CONTROLADO: FR0018/ v3.0 9


Desarrollo de aplicaciones con Framework

Sobre el uso o la popularidad de Nginx se muestra la siguiente imagen donde se lo


compara con diferentes servidores web y su utilización en el mercado, si se puede
observar Nginx está subiendo su popularidad con el transcurso del tiempo.

Imagen 3: Popularidad de Nginx

Nota. Adaptado de ¿Qué Es Nginx y Cómo Funciona?, por Kinsta, 2021,


https://kinsta.com/es/base-de-conocimiento/que-es-nginx/

Cómo saber si un sitio web usa Nginx o Apache como servidor web.

Esto es sencillo para saber que servidor web está utilizando se revisa el encabezado
HTTP del servidor y en ese momento se podrá observar si dice Nginx o Apache. Se puede
ver los encabezados HTTP al dirigirnos a la pestaña de red en Chrome Devtools en la cual
se podrá visualizar. (Kinsta, 2021)
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 10


Desarrollo de aplicaciones con Framework

Imagen 4: Encabezado HTTP

Nota. Adaptado de ¿Qué Es Nginx y Cómo Funciona?, por Kinsta, 2021,


https://kinsta.com/es/base-de-conocimiento/que-es-nginx/

Instalación del servidor web NGINX.

A continuación, vamos a presentar algunos pasos para instalar el servidor web Nginx en
un sistema operativo Centos 8 que se encuentra en una máquina virtual.

Primeramente, deberemos conectarnos al servidor Centos 8 para poder instalar en ese


lugar nuestro servidor web, para ellos se puede conectar a Centos por medio de ssh.

Una vez que estamos conectados vamos a ingresar los siguientes comandos para
instalar y dejar configurado de manera básica nuestro servidor web.

El primer comando que vamos a ingresar es para instalar el servidor Nginx, como se ve
en la imagen, dnf es el gestor de paquetes de Centos.

Imagen 5: Comando para instalar Nginx


© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8

FORMATO CONTROLADO: FR0018/ v3.0 11


Desarrollo de aplicaciones con Framework

Después se presentará un mensaje como se ve en imagen y empezará la descarga de los


paquetes necesarios.

Imagen 6: Descarga de paquetes necesarios para instalación de Nginx

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8

Por ultimo luego de descargar y de instalar los paquetes se presentará el mensaje de


que fue instalado Nginx.

Imagen 7: Instalación de Nginx

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8
© Universidad Estatal de Milagro – UNEMI

Luego de esto hacemos un conjunto de pasos como se ve en la imagen siguiente primero


habilitamos el servicio de Nginx (subrayado rojo), después iniciamos el servicio de Nginx
(subrayado amarillo), por último observamos el estado del servicio (subrayado naranja)
para posteriormente revisar si está activado y corriendo el servicio antes mencionado
(remarcado verde.)

FORMATO CONTROLADO: FR0018/ v3.0 12


Desarrollo de aplicaciones con Framework

Imagen 8: Habilitación de servicio de Nginx

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8

Luego de esto lo que hacemos es habilitar los puertos 80 y 443 para permitir acceder a
este servidor por medio de un navegador para ello primero habilitamos el puerto 80
(subrayado naranja), para después habilitar el puerto 443 (subrayado rojo) y por ultimo
realizamos un refresco del servidor (subrayado amarillo).

Imagen 9: Habilitación de puertos para la web

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
© Universidad Estatal de Milagro – UNEMI

https://www.youtube.com/watch?v=gD3-jdUaZs8

Con esto abrimos el navegador e ingresamos al servidor mediante su dirección IP (la


dirección ip depende de qué dirección tenga el servidor Centos, es la que se haya
asignado al momento de instalar el sistema operativo Centos), como se ve en la imagen
ya nos muestra el sitio por defecto del servidor web Nginx.

FORMATO CONTROLADO: FR0018/ v3.0 13


Desarrollo de aplicaciones con Framework

Imagen 10: Servidor web Nginx accedido desde un navegador web

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8

Con esto ya tenemos instalado un servidor web para poder subir las aplicaciones que
desarrollemos.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 14


Desarrollo de aplicaciones con Framework

2.2 Subtema 2: Carga de la aplicación web en un


servidor web.
Las aplicaciones web que se van desarrollando lógicamente deben ser cargadas, subidas
o desplegadas en un servidor web para que puedan ser utilizadas desde cualquier lugar
de internet.

Es por ello que en este apartado vamos a realizar el proceso de despliegue de una
aplicación web en un servidor apache, en el anterior tema vimos como instalar un
servidor Nginx ahora vamos a ver un servidor apache y el despliegue de la aplicación en
el mismo.

El ejemplo que vamos a presentar a continuación cabe mencionar que el sistema


operativo en el que se va a desplegar es en un sistema operativo Ubuntu.

Primero deberemos instalar Python en el servidor en el que vayamos a desplegar


nuestro proyecto, para instalar Python lo hacemos con el comando que se ve en la
imagen (subrayado con amarillo).

Imagen 11: Instalación de Python

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

Después de esto instalamos el gestor de paquetes de Python como es pip, con el


siguiente comando (subrayado con amarillo).
© Universidad Estatal de Milagro – UNEMI

Imagen 12: Instalación de pip

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

FORMATO CONTROLADO: FR0018/ v3.0 15


Desarrollo de aplicaciones con Framework

Ahora procedemos a instalar Django en el servidor. Lo hacemos con el siguiente


comando (subrayado con amarillo).

Imagen 13: Instalación de Django

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

Después de esto creamos un proyecto en nuestro servidor, se lo hace con el siguiente


comando (subrayado de amarillo) seguido del nombre del proyecto que vamos a crear.

Imagen 14: Creación del proyecto

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU
© Universidad Estatal de Milagro – UNEMI

Por otro lado, luego de crear el proyecto vamos a revisar si se creó (comando subrayado
de amarillo), después ingresamos al proyecto (subrayado rojo) y después vamos
modificar el archivo settings.py (subrayado verde).

FORMATO CONTROLADO: FR0018/ v3.0 16


Desarrollo de aplicaciones con Framework

Imagen 15: Pasos luego de crear el proyecto

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

Dentro del archivo settings.oy vamos a agregar el nombre de dominio de nuestro sitio
en la parte de ALLOWE_HOSTS (subrayado en verde).

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU
© Universidad Estatal de Milagro – UNEMI

Después procedemos a instalar el servidor web apache con el siguiente comando


(subrayado verde).

FORMATO CONTROLADO: FR0018/ v3.0 17


Desarrollo de aplicaciones con Framework

Imagen 16: Instalación de Apache

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

Después activamos lo que es el proxy del servidor para peticiones con el siguiente
comando (subrayado en verde) y después reiniciamos el servidor.

Imagen 17: Activación del proxy

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

Despues vamos a realizar una configuracion en un archivo donde se encuentra los


proyectos (subrayado verde), para despues modificar el archivo 000-default.conf en el
cual se boorara lo que esta marcado con el recuadro rojo y se colocara toda la
© Universidad Estatal de Milagro – UNEMI

configuracion nueva (recuadro verde).

Imagen 18. Configuraciones adicionales

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

FORMATO CONTROLADO: FR0018/ v3.0 18


Desarrollo de aplicaciones con Framework

Imagen 19: Configuración antigua

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

Imagen 20: Configuración nueva

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

Por ultimo tenemos que poner en marcha el proyecto de python con el comando
© Universidad Estatal de Milagro – UNEMI

presentado (subrayado verde)

Imagen 21: Correr el proyecto

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU

FORMATO CONTROLADO: FR0018/ v3.0 19


Desarrollo de aplicaciones con Framework

Para lo cual al momento de acceder desde un navegador a nuestro nombre de dominio


se presentará nuestro proyecto, en nuestro caso se presenta la pantalla por defecto de
nuestro proyecto creado.

Imagen 22: Proyecto desplegado

Nota. Adaptado de Despliegue de proyecto Django en Servidor Ubuntu/Debian, por


N1G1 CHANNEL, 2021, https://www.youtube.com/watch?v=W530YJd3dUU
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 20


Desarrollo de aplicaciones con Framework

3. Preguntas de Comprension de la
Unidad
1. ¿Cuál es un tipo de servidor?
o Apache
o Web
o Nginx

2. ¿Cuál es el servidor para manejo de archivos?


o DNS
o FTP
o Base de datos

3. ¿El acrónimo DNS hace referencia a?


o Sistema de Nombres de Dominio
o Sistema de Nombres de Datos
o Sistema de Nombres de Fechas

4. ¿Cuál es un servidor web?


o Youtube
o Apache
o SQL

5. ¿Qué es NGINX?
o RED SOCIAL
o SERVIDOR WEB
o PLATAFORMA MOVIL
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 21


Desarrollo de aplicaciones con Framework

4. Informacion de los subtemas

Los siguientes recursos complementarios son sugerencias para que se pueda ampliar la
información sobre el tema trabajado, como parte de su proceso de aprendizaje
autónomo:

Videos de apoyo:
• https://www.youtube.com/watch?v=gD3-jdUaZs8
• https://www.youtube.com/watch?v=HaJ5LK-3tyM

Links de apoyo:
• https://docs.djangoproject.com/en/4.0/
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 22


Desarrollo de aplicaciones con Framework

5. Bibliografía

» Borja, R. [Rodolfo Borja]. (2020, Abril 20). Cómo instalar Nginx en CentOS 8
[Video]. Recuperado de https://www.youtube.com/watch?v=gD3-jdUaZs8
» Borja, R. [Rodolfo Borja]. (2020, mayo 2). Cómo publicar una aplicación web con
Django, Nginx, PostgreSQL y Gunicorn en Centos 8 [Video]. Recuperado de
https://www.youtube.com/watch?v=HaJ5LK-3tyM
» N1G1 CHANNEL. [N1G1 CHANNEL]. (2021, Enero 23). Despliegue de proyecto
Django en Servidor Ubuntu/Debian - La forma más fácil [Video]. Recuperado de
https://www.youtube.com/watch?v=W530YJd3dUU
» IONOS. (2020). Qué es un servidor?. Recuperado de
https://www.ionos.es/digitalguide/servidores/know-how/que-es-un-servidor-
un-concepto-dos-definiciones/
» Ticportal. (2019). Qué es un servidor y para qué sirve?. Recuperado de
https://www.ticportal.es/glosario-tic/servidores
» Schiaffarino, A. (2019). Modelo cliente servidor. Recuperado de
https://blog.infranetworking.com/modelo-cliente-servidor/
» Borges, E. (2019). Servidor FTP. Recuperado de
https://blog.infranetworking.com/servidor-ftp/#Que_significa_FTP
» Lara, F. (2020). Servidor de correo electrónico, ¿cómo funciona?. Recuperado de
https://mx.godaddy.com/blog/servidor-de-correo-electronico-como-funciona/
» Borges. (2019). Servidor Base de Datos. Recuperado de
https://blog.infranetworking.com/servidor-base-de-datos/
» Mendez, L. (2019). Qué es un servidor DNS y cómo solucionar problemas
habituales. Recuperado de https://www.webempresa.com/blog/servidor-dns-
como-solucionar-problemas-habituales.html
» De Souza, I. (2019). ¿Qué es un servidor web y para qué sirve en Internet?.
Recuperado de https://rockcontent.com/es/blog/que-es-un-servidor/
© Universidad Estatal de Milagro – UNEMI

» Romero, C. (2019). CARACTERÍSTICAS MÁS IMPORTANTES DE UN SERVIDOR


WEB. Recuperado de https://alsurestudio.es/caracteristicas-mas-importantes-
de-un-servidor-web/
» De León, A. (2019). Servidor de Correo: ¿Qué es? ¿Para qué sirve?. Recuperado
de https://blog.infranetworking.com/servidor-de-
correo/#:~:text=rededor%20del%20mundo.-
,%C2%BFQu%C3%A9%20es%20un%20servidor%20de%20correo%3F,recepci%C
3%B3n%20y%20reenv%C3%ADo%20de%20correos
» Kinsta. (2021). ¿Qué Es Nginx y Cómo Funciona?. Recuperado de
https://kinsta.com/es/base-de-conocimiento/que-es-nginx/

FORMATO CONTROLADO: FR0018/ v3.0 23


Desarrollo de aplicaciones con Framework

» Borges. (2018). Tipos de Servidores Web. Recuperado de


https://blog.infranetworking.com/tipos-de-servidores-web/
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 24


Desarrollo de Aplicaciones Web

Unidad 3
Desarrollo de aplicaciones con Framework

TEMA 1:
Patrón de diseño MVC en Python con Django

Ing. Ronald Henry Díaz A. Msc


Utilizar auriculares con micrófono.

Utilizar una conexión de internet por cable.

Elegir un lugar tranquilo y sin ruidos.

Ingresar algunos minutos antes de iniciar la videoconferencia.

Silenciar su micrófono.

Levantar la mano para pedir la palabra.


ACTIVIDAD INICIAL

Retroalimentación
de la semana de
exámenes
SUBTEMAS
➢ Subtema 1: Introducción a Django.

➢ Subtema 2: Instalación y administración de Django.

➢ Subtema 3: Personalización y registro de modelos.

➢ Subtema 4: Capa de presentación template.

➢ Subtema 5: Capa de negocio.

➢ Subtema 6: Capa de datos.


Objetivo

Desarrollar aplicaciones web,


empleando las herramientas adecuadas
a través del lenguaje Python y la base
de datos en PostgreSQL utilizando el
framework Django.
Subtema 1: Introducción a Django.

Django es un framework web el cual


podremos utilizar para crear sitios web,
utiliza el lenguaje de programación
Python.

Es de código abierto y nos permite el


desarrollo de sitios web seguros y
mantenibles.
Subtema 1: Introducción a Django.

Versatilidad.

Seguridad.
Ventajas

Escalabilidad.

Mantenibilidad.

Portabilidad.
Subtema 1: Introducción a Django.

Versatilidad

Django puede ser (y ha sido) usado para


construir casi cualquier tipo de sitio web
desde sistemas manejadores de
contenidos y wikis, hasta redes sociales y
sitios de noticias.

Puede funcionar con cualquier


framework en el lado del cliente
Subtema 1: Introducción a Django.

Seguridad

Django proporciona una forma segura de


gestionar las cuentas de los usuarios y sus
contraseñas.

Evitando los típicos errores como ubicar la


información de sesión en cookies donde
puede ser vulnerable.
Subtema 1: Introducción a Django.

Seguridad

De manera predeterminada Django


permite proteger al sitio web desarrollado
contra algunas de las vulnerabilidades
conocidas como es SQL injection, scripts
entre sitios, falsificación de solicitudes
entre sitios, entre otras
Subtema 1: Introducción a Django.

Escalabilidad
Cada parte de la arquitectura que maneja
Django será independiente de las demás,
permitiendo asi que sea reemplazado o
cambiado si se da el caso de ser necesario.

Puede escalar para incrementar el trafico al


agregar hardware en cualquier nivel
(servidores de caché, servidores de base de
datos o servidores de aplicación).
Subtema 1: Introducción a Django.

Mantenibilidad

El código que se genera en Django se lo


implemente con los principios y patrones de
diseños para fomentar el desarrollo de
código reutilizable y mantenible.

Utiliza el principio de No te repitas (DRY) con


el objetivo de que no existe una duplicación
de código innecesaria.
Subtema 1: Introducción a Django.

Portabilidad

Django está escrito en Python un lenguaje


de programación que se ejecuta en muchas
plataformas.

No está ligado o sujeto a una plataforma en


específico de manera que puede ejecutar
sus aplicaciones en diversas distribuciones
de Linux, Windows y Mac OS.
Subtema 2: Instalación y administración de Django.

Para crear proyectos con Django primero


debemos tener instalado en nuestro equipo
Python, a continuación se puede instalar
Django en nuestro equipo.

Para instalar Django podemos consultar la


documentación oficial de Django. En nuestro
caso vamos a realizar los siguientes pasos:
Subtema 2: Instalación y administración de Django.

Abrimos la ventana de comandos del


sistema para poder ingresar el comando
correspondiente a la instalación de Django
en este caso ingresamos el comando
presentado en la siguiente imagen.
Subtema 2: Instalación y administración de Django.

Una vez demos enter se empezara a


descargar e instalar lo necesario para que
Django pueda funcionar en nuestro equipo.
Mostrando al final un mensaje de que se ha
instalado satisfactoriamente como se puede
ver en la siguiente imagen.
Bibliografía
➢ Mercedes. (2017). ¿Qué es el desarrollo web?. Recuperado de https://blog.openclassrooms.com/es/2017/09/11/que-es-el-
desarrollo-web/
➢ MDN Web Docs. (s.f). Introducción a Django. Recuperado de https://developer.mozilla.org/es/docs/Learn/Server-
side/Django/Introduction
➢ Aguilar, J. (s.f). ¿Qué es el patrón MVC en programación y por qué es útil?. Recuperado de
https://www.campusmvp.es/recursos/post/que-es-el-patronmvc-en-programacion-y-por-que-es-util.aspx
➢ MDN Web Docs. (s.f). Tutorial Django Parte 4: Sitio de Administración de Django.Recuperado de
https://developer.mozilla.org/es/docs/Learn/Serverside/Django/Admin_site
➢ MDN Web Docs. (s.f). Tutorial Django Parte 3: Uso de modelos. Recuperado de
https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Models
➢ MDN Web Docs. (s.f). Puesta en marcha de un entorno de desarrollo Django. Recuperado de
https://developer.mozilla.org/es/docs/Learn/Serverside/Django/development_environment
➢ Uniwebsidad. (s.f). Introducción al sistema de plantillas. Recuperado de https://uniwebsidad.com/libros/django-1-
0/capitulo-4/introduccion-alsistema-de-plantillas
➢ Infante, S. (2012). Curso Django: Las vistas. Recuperado de http://www.maestrosdelweb.com/curso-django-las-vistas/
➢ Bibeault, B., & Katz, Y., De Rosa, A., Jquery in Action. Simon and Schuster, 2015
➢ Chaffer, J., & Swedberg, K., Learning Jquery – Third Edition. Packt, 2011
➢ Chaffer, J., & Swedberg, K., Learning Jquery – Fourth Edition. Packt, 2013
➢ Gauchat, J., El gran libro de HTML5,CSS3 & Javascript. Marcombo, 2013
Revisión de Contenidos Disponibles

• Aula virtual
• Guía del estudiante
• Compendio
• Video Magistral
• Material Complementario
Actividades Prácticas Para Segundo Parcial

SEMANA ACTIVIDAD

Instalación y Creación de un proyecto en Django


9
Preparación del proyecto Django (Creación de aplicaciones)
VIDEO
Instalación de PostgreSQL
10 MATERIAL
Creación de modelos y migraciones COMPLEMENTARIO
Vistas: ListView y templateView
11
Vistas: CreateView
Vistas: UpdateView
12
Vistas: DeleteView

13 Administrador de Django
14 Subir App a una plataforma PaaS
Actividad de cierre
Desarrollo de Aplicaciones Web

Unidad 3
Desarrollo de aplicaciones con Framework

TEMA 1:
Patrón de diseño MVC en Python con Django

Ing. Ronald Henry Díaz A. Msc


Utilizar auriculares con micrófono.

Utilizar una conexión de internet por cable.

Elegir un lugar tranquilo y sin ruidos.

Ingresar algunos minutos antes de iniciar la videoconferencia.

Silenciar su micrófono.

Levantar la mano para pedir la palabra.


ACTIVIDAD INICIAL ¿Qué es una base de datos?
SUBTEMAS
➢ Subtema 1: Introducción a Django.

➢ Subtema 2: Instalación y administración de Django.

➢ Subtema 3: Personalización y registro de modelos.

➢ Subtema 4: Capa de presentación template.

➢ Subtema 5: Capa de negocio.

➢ Subtema 6: Capa de datos.


Objetivo

Desarrollar aplicaciones web,


empleando las herramientas adecuadas
a través del lenguaje Python y la base
de datos en PostgreSQL utilizando el
framework Django.
Subtema 3: Personalización y registro de modelos.

Al momento de crear una aplicación en


Django existe la opción de crear la
aplicación de administración de Django
con la cual se podrá utilizar los modelos
para construir de manera automática un
espacio en el cual se podrá crear,
consultar, actualizar y borrar los
registros.
Subtema 3: Personalización y registro de modelos.

Registro de modelos

Para registrar los modelos de nuestra


aplicación lo que debemos hacer es primero
ir al admin.py, en este archivo es donde
registraremos los modelos con la sentencia
que maneja la siguiente estructura.
Subtema 4: Capa de presentación template

En la capa de presentación se maneja los


templates o plantillas, una plantilla en
Django es una cadena de texto cuyo objetivo
es separar la presentación de un documento
de los datos que se van a presentar.

Generalmente, las plantillas se las utiliza


para generar HTML pero en Django las
plantillas son capaces de generar cualquier
tipo de formato basado en texto.
Subtema 4: Capa de presentación template
Ejemplo

Cualquier texto que se encuentre encerrado


en un par de llaves como por ejemplo “{{
ítem }}” representa una variable.

Esto quiere decir que cuando se presente en


el navegador se insertara un valor en esa
variable para mostrarlo al usuario.
Subtema 4: Capa de presentación template
Ejemplo

Por otro lado cualquier texto que se


encuentre dentro de llaves y signos de
porcentaje es una etiqueta de plantilla, esto
implica que esto le indica al sistema de
plantilla que debe hacer algo.

Por ejemplo “{% if ordered_warranty %}” es


una etiqueta que indica al sistema que se
tiene un condicional if conocido en
programación.
Subtema 4: Capa de presentación template

Ejemplo
También se tiene los conocidos filtros como
por ejemplo “ {{ ship_date|date:”F j, Y”}}” lo
que se está haciendo en este caso es pasar la
variable ship_date por el filtro date este
filtro lo que hace es formatear fechas.

Cabe recalcar que los filtros se encadenan


con el uso de un carácter (|).
Bibliografía
➢ Mercedes. (2017). ¿Qué es el desarrollo web?. Recuperado de https://blog.openclassrooms.com/es/2017/09/11/que-es-el-
desarrollo-web/
➢ MDN Web Docs. (s.f). Introducción a Django. Recuperado de https://developer.mozilla.org/es/docs/Learn/Server-
side/Django/Introduction
➢ Aguilar, J. (s.f). ¿Qué es el patrón MVC en programación y por qué es útil?. Recuperado de
https://www.campusmvp.es/recursos/post/que-es-el-patronmvc-en-programacion-y-por-que-es-util.aspx
➢ MDN Web Docs. (s.f). Tutorial Django Parte 4: Sitio de Administración de Django.Recuperado de
https://developer.mozilla.org/es/docs/Learn/Serverside/Django/Admin_site
➢ MDN Web Docs. (s.f). Tutorial Django Parte 3: Uso de modelos. Recuperado de
https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Models
➢ MDN Web Docs. (s.f). Puesta en marcha de un entorno de desarrollo Django. Recuperado de
https://developer.mozilla.org/es/docs/Learn/Serverside/Django/development_environment
➢ Uniwebsidad. (s.f). Introducción al sistema de plantillas. Recuperado de https://uniwebsidad.com/libros/django-1-
0/capitulo-4/introduccion-alsistema-de-plantillas
➢ Infante, S. (2012). Curso Django: Las vistas. Recuperado de http://www.maestrosdelweb.com/curso-django-las-vistas/
➢ Bibeault, B., & Katz, Y., De Rosa, A., Jquery in Action. Simon and Schuster, 2015
➢ Chaffer, J., & Swedberg, K., Learning Jquery – Third Edition. Packt, 2011
➢ Chaffer, J., & Swedberg, K., Learning Jquery – Fourth Edition. Packt, 2013
➢ Gauchat, J., El gran libro de HTML5,CSS3 & Javascript. Marcombo, 2013
Revisión de Contenidos Disponibles

• Aula virtual
• Guía del estudiante
• Compendio
• Video Magistral
• Material Complementario
Actividades Prácticas Para Segundo Parcial

SEMANA ACTIVIDAD

Instalación y Creación de un proyecto en Django


9
Preparación del proyecto Django (Creación de aplicaciones)
VIDEO
Instalación de PostgreSQL
10 MATERIAL
Creación de modelos y migraciones COMPLEMENTARIO
Vistas: ListView y templateView
11
Vistas: CreateView
Vistas: UpdateView
12
Vistas: DeleteView

13 Administrador de Django
14 Subir App a una plataforma PaaS
Actividad de cierre
Desarrollo de Aplicaciones Web

Unidad 3
Desarrollo de aplicaciones con Framework

TEMA 2:
Despliegue de la aplicación web

Ing. Ronald Henry Díaz A. Msc


Utilizar auriculares con micrófono.

Utilizar una conexión de internet por cable.

Elegir un lugar tranquilo y sin ruidos.

Ingresar algunos minutos antes de iniciar la videoconferencia.

Silenciar su micrófono.

Levantar la mano para pedir la palabra.


ACTIVIDAD INICIAL ¿Qué es un servidor?

WEB PROXY
SUBTEMAS

➢ Subtema 1: Instalación y Configuración del servidor


web.

➢ Subtema 2: Carga de la aplicación web en un


servidor web.
Objetivo

Desarrollar aplicaciones web,


empleando las herramientas adecuadas
a través del lenguaje Python y la base
de datos en PostgreSQL utilizando el
framework Django.
Introducción.

El termino definido como servidor posee


dos significados tomando en cuenta la
rama de la informática.

El primero se refiere a un ordenador que


ofrece recursos por medio de una red. El
segundo hace referencia al programa
que se está ejecutando o funcionando en
dicho ordenador.
Subtema 1: Instalación y Configuración del servidor
web.

Servidor basado en hardware

Es una máquina física integrada en una


red informática en la que, además del
sistema operativo, funcionan uno o
varios servidores basados en software.
Subtema 1: Instalación y Configuración del servidor
web.
Servidor basado en hardware

Una denominación alternativa para un


servidor basado en hardware es "host"
(término inglés para "anfitrión").

En principio, todo ordenador puede


usarse como "host" con el
correspondiente software para
servidores.
Subtema 1: Instalación y Configuración del servidor
web.
Servidor basado en software

Es un programa que ofrece un servicio


especial que otros programas
denominados clientes pueden usar a
nivel local o a través de una red.

El tipo de servicio depende del tipo de


software del servidor.
Subtema 1: Instalación y Configuración del servidor
web.
Servidor basado en software

La base de la comunicación es el modelo


cliente-servidor y, en lo que concierne al
intercambio de datos, entran en acción
los protocolos de transmisión específicos
del servicio
Subtema 1: Instalación y Configuración del servidor
web.
Los servicios que brindan los servidores
son solicitados continuamente y por ello la
mayoría de servidores jamás de apagan
pues deben brindar sus servicios las 24
horas del día.

Si se diera el caso que un servidor dejara


de funcionar, esto causaría demasiados
problemas a los usuarios, es por ello que
los servidores están configurados para ser
tolerantes a las fallas que se puedan
producir
Subtema 1: Instalación y Configuración del servidor
web.
Servidor web.
Servidor FTP (archivos)
Servidores
Servidor de correo electrónico.
Tipos de

Servidor de base de datos.

Servidor de juegos
Servidor proxy
Servidor DNS.
Subtema 1: Instalación y Configuración del servidor
web.
Servidor FTP (archivos)

Servicio utilizado para el envío y


obtención de archivos entre dos equipos
remotos.

Los casos más usuales son transferencias


entre el equipo local de un cliente y el
servidor del proveedor, aunque también
se pueden establecer conexiones FTP
entre dos servidores
Subtema 1: Instalación y Configuración del servidor
web.
Servidor FTP (archivos)
Existen tres tipos de servidores FTP:

1. Es el FTP autenticado este se basa en


una contraseña y usuario, de manera
que se pueda restringir el acceso a
personas o usuarios sin privilegios.

2. el FTP anónimo o público, este servidor


no requiere ni usuario ni contraseña
para acceder y manipular los archivos.
Subtema 1: Instalación y Configuración del servidor
web.
Servidor FTP (archivos)

Existen tres tipos de servidores FTP:

3. Por último y el más inusual es el FTP


embebido, no es el más común se trata
de uno que se encuentra incrustado en
las páginas web de internet.
Subtema 1: Instalación y Configuración del servidor
web.
Servidor de correo electrónico

Un servidor de correo electrónico es una


aplicación informática la cual nos va a
brindar la opción de gestionar correo
electrónico mediante un ordenador o
una computadora.
Subtema 1: Instalación y Configuración del servidor
web.
Servidor web NGINX

Es un servidor web de código abierto


que, desde su éxito inicial como servidor
web, ahora también es usado como
proxy inverso, cache de HTTP, y
balanceador de carga.
Subtema 1: Instalación y Configuración del servidor
web.
Servidor web NGINX

Con Nginx, un proceso maestro puede


controlar múltiples procesos de trabajo.
El proceso maestro mantiene los
procesos de trabajo, y son estos lo que
hacen el procesamiento real
Subtema 1: Instalación y Configuración del servidor
web.
Cómo saber si un sitio web usa Nginx
o Apache como servidor web.
Para saber que servidor web está
utilizando se revisa el encabezado HTTP
del servidor y en ese momento se podrá
observar si dice Nginx o Apache.

Se puede ver los encabezados HTTP al


dirigirnos a la pestaña de red en Chrome
Devtools en la cual se podrá visualizar.
Subtema 1: Instalación y Configuración del servidor
web.
Instalación del servidor web NGINX.

En primer lugar, deberemos conectarnos


al servidor Centos para poder instalar en
ese lugar nuestro servidor web.

El primer comando que vamos a ingresar


es para instalar el servidor Nginx, como
se ve en la imagen, dnf es el gestor de
paquetes de Centos.
Subtema 1: Instalación y Configuración del servidor
web.

Instalación del servidor web NGINX.

Después se presentará un mensaje como


se ve en imagen y empezará la descarga
de los paquetes necesarios.
Subtema 1: Instalación y Configuración del servidor
web.

Instalación del servidor web NGINX.

Por ultimo luego de descargar y de


instalar los paquetes se presentará el
mensaje de que fue instalado Nginx.
Subtema 1: Instalación y Configuración del servidor
web.
Instalación del servidor web NGINX.

Luego de esto lo que hacemos es


habilitar los puertos 80 y 443 para
permitir acceder a este servidor por
medio de un navegador.

Primero habilitamos el puerto 80


(subrayado naranja), para después
habilitar el puerto 443 (subrayado rojo) y
por ultimo realizamos un refresco del
servidor (subrayado amarillo).
Subtema 1: Instalación y Configuración del servidor
web.
Instalación del servidor web NGINX.

Con esto abrimos el navegador e


ingresamos al servidor mediante su
dirección IP (la dirección ip depende de
qué dirección tenga el servidor Centos,
es la que se haya asignado al momento
de instalar el sistema operativo Centos).
Subtema 2: Carga de la aplicación web en un servidor
web.

Las aplicaciones web que se van


desarrollando deben ser cargadas, subidas
o desplegadas en un servidor web para que
puedan ser utilizadas desde cualquier lugar
de internet
Subtema 2: Carga de la aplicación web en un servidor
web.

Primero deberemos instalar Python en el


servidor en el que vayamos a desplegar
nuestro proyecto, para instalar Python lo
hacemos con el comando que se ve en la
imagen (subrayado con amarillo).
Subtema 2: Carga de la aplicación web en un servidor
web.

Después de esto instalamos el gestor de paquetes de Python como


es pip, con el siguiente comando (subrayado con amarillo).
Subtema 2: Carga de la aplicación web en un servidor
web.

Ahora procedemos a instalar Django en el


servidor. Lo hacemos con el siguiente
comando (subrayado con amarillo).
Subtema 2: Carga de la aplicación web en un servidor
web.

Después de esto creamos un proyecto en nuestro servidor, se lo hace con el


siguiente comando (subrayado de amarillo) seguido del nombre del proyecto
que vamos a crear.
Subtema 2: Carga de la aplicación web en un servidor
web.
Por otro lado, luego de crear el proyecto vamos a revisar si se creó
(comando subrayado de amarillo), después ingresamos al proyecto
(subrayado rojo) y después vamos modificar el archivo settings.py
(subrayado verde).
Subtema 2: Carga de la aplicación web en un servidor
web.

Dentro del archivo settings.py vamos a


agregar el nombre de dominio de nuestro
sitio en la parte de ALLOWED_HOSTS
(subrayado en verde).
Subtema 2: Carga de la aplicación web en un servidor
web.

Después procedemos a instalar el servidor web apache con el siguiente


comando (subrayado verde).
Subtema 2: Carga de la aplicación web en un servidor
web.

Después activamos lo que es el proxy del


servidor para peticiones con el siguiente
comando (subrayado en verde) y después
reiniciamos el servidor.
Subtema 2: Carga de la aplicación web en un servidor
web.

Ahora vamos a realizar una configuracion


en un archivo donde se encuentra los
proyectos (subrayado verde), para despues
modificar el archivo 000-default.conf en el
cual se borrara lo que esta marcado con el
recuadro rojo y se colocara toda la
configuracion nueva (recuadro verde).
Subtema 2: Carga de la aplicación web en un servidor
web.

Por ultimo tenemos que poner en marcha el proyecto de python


con el comando presentado (subrayado verde)
Subtema 2: Carga de la aplicación web en un servidor
web.

Para lo cual al momento de acceder desde


un navegador a nuestro nombre de
dominio se presentará nuestro proyecto,
en nuestro caso se presenta la pantalla por
defecto de nuestro proyecto creado.
Bibliografía
➢ Borja, R. [Rodolfo Borja]. (2020, Abril 20). Cómo instalar Nginx en CentOS 8 [Video]. Recuperado de
https://www.youtube.com/watch?v=gD3-jdUaZs8
➢ Borja, R. [Rodolfo Borja]. (2020, mayo 2). Cómo publicar una aplicación web con Django, Nginx, PostgreSQL y Gunicorn en
Centos 8 [Video]. Recuperado de https://www.youtube.com/watch?v=HaJ5LK-3tyM
➢ N1G1 CHANNEL. [N1G1 CHANNEL]. (2021, Enero 23). Despliegue de proyecto Django en Servidor Ubuntu/Debian - La forma
más fácil [Video]. Recuperado de https://www.youtube.com/watch?v=W530YJd3dUU
➢ IONOS. (2020). Qué es un servidor?. Recuperado de https://www.ionos.es/digitalguide/servidores/know-how/que-es-un-
servidorun-concepto-dos-definiciones/
➢ Ticportal. (2019). Qué es un servidor y para qué sirve?. Recuperado de https://www.ticportal.es/glosario-tic/servidores
➢ Schiaffarino, A. (2019). Modelo cliente servidor. Recuperado de https://blog.infranetworking.com/modelo-cliente-servidor/
➢ Borges, E. (2019). Servidor FTP. Recuperado de https://blog.infranetworking.com/servidor-ftp/#Que_significa_FTP
➢ Lara, F. (2020). Servidor de correo electrónico, ¿cómo funciona?. Recuperado de https://mx.godaddy.com/blog/servidor-de-
correo-electronico-como-funciona/
➢ Borges. (2019). Servidor Base de Datos. Recuperado de https://blog.infranetworking.com/servidor-base-de-datos/
➢ Mendez, L. (2019). Qué es un servidor DNS y cómo solucionar problemas habituales. Recuperado de
https://www.webempresa.com/blog/servidor-dnscomo-solucionar-problemas-habituales.html
Revisión de Contenidos Disponibles

• Aula virtual
• Guía del estudiante
• Compendio
• Video Magistral
• Material Complementario
Actividades Prácticas Para Segundo Parcial

SEMANA ACTIVIDAD

Instalación y Creación de un proyecto en Django


9
Preparación del proyecto Django (Creación de aplicaciones)
VIDEO
Instalación de PostgreSQL
10 MATERIAL
Creación de modelos y migraciones COMPLEMENTARIO
Vistas: ListView y templateView
11
Vistas: CreateView
Vistas: UpdateView
12
Vistas: DeleteView

13 Administrador de Django
14 Subir App a una plataforma PaaS
Actividad de cierre
Desarrollo de Aplicaciones Web

Unidad 3
Desarrollo de aplicaciones con Framework

TEMA 1:
Patrón de diseño MVC en Python con Django

Ing. Ronald Henry Díaz A. Msc


Utilizar auriculares con micrófono.

Utilizar una conexión de internet por cable.

Elegir un lugar tranquilo y sin ruidos.

Ingresar algunos minutos antes de iniciar la videoconferencia.

Silenciar su micrófono.

Levantar la mano para pedir la palabra.


SUBTEMAS
➢ Subtema 1: Introducción a Django.

➢ Subtema 2: Instalación y administración de Django.

➢ Subtema 3: Personalización y registro de modelos.

➢ Subtema 4: Capa de presentación template.

➢ Subtema 5: Capa de negocio.

➢ Subtema 6: Capa de datos.


ACTIVIDAD INICIAL
INTRODUCCION
INTRODUCCION
VISTA CONTROLADOR MODELO
TEMPLATE VISTA MODELO
Objetivo

Desarrollar aplicaciones web,


empleando las herramientas adecuadas
a través del lenguaje Python y la base
de datos en PostgreSQL utilizando el
framework Django.
Subtema 5: Capa de negocio.

La capa de negocio hace referencia a una


función en Python que hace una solicitud
Web y no hace más que devolver una
respuesta Web.

Esta respuesta puede ser el contenido de


una página, un error 404 en el caso de no
encontrar el contenido o la página que se
necesita.
Subtema 5: Capa de negocio.

Las vistas contienen toda la lógica necesaria


para devolver las respuestas indicadas según
la petición, todas estas funciones y
respuestas se encuentran en un único
archivo.

Este archivo es el views.py el cual se


encuentra dentro de cada aplicación de
Django.
Subtema 5: Capa de negocio.

Las vistas devuelven la respuesta y es en la


plantilla donde se acomoda la información o
la respuesta enviada por la vista, de ahí la
importancia de las plantillas y su conexión
con las vistas.
Subtema 5: Capa de negocio.

Las vistas devuelven la respuesta y es en la


plantilla donde se acomoda la información o
la respuesta enviada por la vista, de ahí la
importancia de las plantillas y su conexión
con las vistas.
Subtema 5: Capa de negocio.

En este caso se define una función para listar


recetas se recibe una petición, para lo cual la
lógica de negocio realiza una consulta de
todos los objetos de la base de datos
relacionado a la tabla receta.

Una vez que obtiene la información lo que


hace es retornar esta información
presentando el template recetas.html. En
este envía la información que se consultó
Subtema 5: Capa de negocio.

En este ejemplo la información se envía a la plantilla almacenado


en la variable recetas
Subtema 6: Capa de datos.

Los modelos se encuentran definidos


generalmente en el archive models.py de la
aplicación.

Estos modelos son implementados como


subclases y contienen lo que son los campos,
métodos y metadata, un ejemplo de
estructura de un modelo se presenta a
continuación.
Subtema 6: Capa de datos.

Campos
En un modelo se puede definir varios
campos de cualquier tipo, cada uno de estos
campos representan las columnas de los
datos que deseamos guardar en nuestras
tablas de la base de datos.
Bibliografía
➢ Mercedes. (2017). ¿Qué es el desarrollo web?. Recuperado de https://blog.openclassrooms.com/es/2017/09/11/que-es-el-
desarrollo-web/
➢ MDN Web Docs. (s.f). Introducción a Django. Recuperado de https://developer.mozilla.org/es/docs/Learn/Server-
side/Django/Introduction
➢ Aguilar, J. (s.f). ¿Qué es el patrón MVC en programación y por qué es útil?. Recuperado de
https://www.campusmvp.es/recursos/post/que-es-el-patronmvc-en-programacion-y-por-que-es-util.aspx
➢ MDN Web Docs. (s.f). Tutorial Django Parte 4: Sitio de Administración de Django.Recuperado de
https://developer.mozilla.org/es/docs/Learn/Serverside/Django/Admin_site
➢ MDN Web Docs. (s.f). Tutorial Django Parte 3: Uso de modelos. Recuperado de
https://developer.mozilla.org/es/docs/Learn/Server-side/Django/Models
➢ MDN Web Docs. (s.f). Puesta en marcha de un entorno de desarrollo Django. Recuperado de
https://developer.mozilla.org/es/docs/Learn/Serverside/Django/development_environment
➢ Uniwebsidad. (s.f). Introducción al sistema de plantillas. Recuperado de https://uniwebsidad.com/libros/django-1-
0/capitulo-4/introduccion-alsistema-de-plantillas
➢ Infante, S. (2012). Curso Django: Las vistas. Recuperado de http://www.maestrosdelweb.com/curso-django-las-vistas/
➢ Bibeault, B., & Katz, Y., De Rosa, A., Jquery in Action. Simon and Schuster, 2015
➢ Chaffer, J., & Swedberg, K., Learning Jquery – Third Edition. Packt, 2011
➢ Chaffer, J., & Swedberg, K., Learning Jquery – Fourth Edition. Packt, 2013
➢ Gauchat, J., El gran libro de HTML5,CSS3 & Javascript. Marcombo, 2013
Revisión de Contenidos Disponibles

• Aula virtual
• Guía del estudiante
• Compendio
• Video Magistral
• Material Complementario
Actividades Prácticas Para Segundo Parcial

SEMANA ACTIVIDAD

Instalación y Creación de un proyecto en Django


9
Preparación del proyecto Django (Creación de aplicaciones)
VIDEO
Instalación de PostgreSQL
10 MATERIAL
Creación de modelos y migraciones COMPLEMENTARIO
Vistas: ListView y templateView
11
Vistas: CreateView
Vistas: UpdateView
12
Vistas: DeleteView

13 Administrador de Django
14 Subir App a una plataforma PaaS
Actividad de cierre
DESARROLLO DE APLICACIONES WEB

UNIDAD 4
TÓPICOS WEB AVANZADOS

Castillo Heredia Luis Javier, Mgs


ÍNDICE

1. Unidad 4: TÓPICOS WEB AVANZADOS...............................................................3


Tema 1: Administración de servidores web .................................................................. 3
Objetivo: ........................................................................................................................ 3
Introducción: ................................................................................................................. 3

2. Información de los subtemas .............................................................................4


2.1 Subtema 1: Planificación de Servidores. ............................................................ 4
2.2 Subtema 2: Directorios y Host virtuales ............................................................. 7
2.3 Subtema 3: Instalación de servidores web en Windows y/o Linux .................. 11
2.4 Subtema 4: Configuración y Tuning de servidores web ................................... 21

3. Preguntas de Comprensión de la Unidad ..........................................................22

4. Información de los subtemas ...........................................................................23

5. Bibliografía ......................................................................................................24

2
Tópicos webs avanzados

1. Unidad 4: TÓPICÓS WEB


AVANZADÓS
Tema 1: Administración de servidores web
Objetivo:

Aplicar los conceptos técnicos para una adecuada administración de servidores web,
como también para la aplicación de la arquitectura de Microservicios.

Introducción:
Un servidor web es un dispositivo físico de grandes capacidades, el cual tiene como
misión permitir el web hosting, en otras palabras, la posibilidad de ofrecer un espacio
en un servidor para poder almacenar los archivos con los cuales trabajará nuestro sitio
desarrollado. (upanama, sf)

Un servidor web posee o está destinado a desempeñar un rol fundamental el cual es


almacenar los archivos que se generen del desarrollo de un sitio y emitirlos por Internet
de modo que pueda ser visitado por usuarios. Un servidor a grandes rasgos es una gran
computadora que transmite y de igual manera guarda datos por medio del sistema de
redes llamado Internet. (upanama, sf)

Cuando un usuario de internet entra en una página el navegador se comunica con el


servidor de modo que recibe y envía datos lo que define que se presenta en la pantalla
del usuario, es por ello que un servidor web se lo utiliza para almacenar y transferir datos
de un sitio a otro según lo solicite el navegador del usuario final. (upanama, sf)

Los servidores son tan necesarios en la actualidad, de modo que sin los servidores web
la internet como tal no sería como la conocemos, pues los servidores son el lugar en
© Universidad Estatal de Milagro – UNEMI

donde se deposita todo el contenido que existe en internet. (upanama, sf)

En este documento hablaremos sobre los servidores web y revisaremos algunos


aspectos importantes de los mismos.

FORMATO CONTROLADO: FR0018/ v3.0 3


Tópicos webs avanzados

2. Informacion de los subtemas


2.1 Subtema 1: Planificación de Servidores.
La planificación de servidores hace referencia a determinar las características con las
que va a contar el servidor que queremos implantar o instalar, además de definir el
cometido o la función que va a cumplir nuestro servidor. Recordemos que en la unidad
3 revisamos diferentes tipos de servidores y cuáles son sus características principales.

A continuación, vamos a revisar algunas características que se deben tomar en cuenta


al momento de instalar un servidor web.

Como menciona (IONOS, 2019) sobre un servidor web “lo primero que necesitarás es un
host con suficiente espacio web. Una de las opciones más populares es alquilar los
recursos del servidor en algún proveedor. Especialmente aquellos usuarios con pocos o
ningún conocimiento en gestión de servidores pueden decantarse por opciones como el
alojamiento compartido o el managed cloud hosting y configurar así su propio servidor
web”.

Como vemos lo primero es determinar nuestro grado de experiencia con servidores y la


administración de los mismos, en el caso que no tengamos un grado avanzado en
manejo de servidores podemos optar por la opción antes mencionada.

Caso contrario como menciona (IONOS, 2019) lo siguiente sobre servidores con acceso
root “los servidores con acceso root, en los que el usuario no solo tiene todos los
derechos de acceso, sino también la responsabilidad completa de la seguridad del
servidor, con un alojamiento gestionado el host se encarga de gran parte de la
administración básica”.

Ahora si estamos hablando de la parte económica es otro aspecto importante al


momento de decidirse por un servidor web en este sentido existen algunas variables a
© Universidad Estatal de Milagro – UNEMI

tomar en cuenta para elegir un servidor web especifico, sobre esto (IONOS, 2019)
menciona “los servidores web se alquilan por una cuota mensual. Los costes dependen
del rendimiento y del tamaño de componentes individuales como, por ejemplo, la
capacidad y el rendimiento del ordenador (CPU y RAM), el espacio web y el tipo de
almacenamiento en el disco duro (SSD o HHD)”.

Por otro lado, si se desea que el servidor web brinde flexibilidad al momento de utilizarlo
por ciertos usuarios (IONOS, 2019) aporta lo siguiente “Quien quiera flexibilidad para la
capacidad de su servidor web debería decantarse por el alojamiento en la nube. Con
este, el rendimiento de los componentes puede ser modificado para adaptarse a las
necesidades actuales del proyecto online en cualquier momento”.

FORMATO CONTROLADO: FR0018/ v3.0 4


Tópicos webs avanzados

Un aspecto importante sobre la selección del servidor web es determinar qué tipo de
sitios web o paginas son las que vamos a correr en estos servidores, sobre este tema
(IONOS, 2019) indica lo siguiente “El rendimiento por parte de los diferentes
componentes del host depende de las necesidades de la página web. Un pack de
alojamiento económico y con menor rendimiento resulta perfecto para proyectos como
un pequeño blog o una web que sirva como tarjeta de visita en Internet”.

Como nos hemos dado cuenta el tipo de sitios web que vamos a alojar en el servidor
web es una de los aspectos más importantes al momento de elegir el servidor web que
vamos utilizar, (IONOS, 2019) menciona además “grandes portales online o páginas web
con muchos contenidos demandan muchos más componentes. También hay que
considerar que ciertas aplicaciones web requieren un volumen de transferencia de datos
mayor que otras: para que la transferencia de archivos no sea más lenta de lo normal,
aquellas plataformas que ponen a disposición la descarga de contenidos necesitan una
mayor velocidad en términos de tráfico de datos”, sobre lo anterior mencionado
observamos que otro punto importante a tomar en cuenta es el tráfico de datos que va
a necesitar nuestro sitio web.

Es muy importante tener el conocimiento total de qué tipo de archivos va a manejar


nuestro sitio web si son archivos de texto plano o a su vez son archivos multimedia sobre
esto una recomendación de (IONOS, 2019) es “si una web implementa muchos archivos
multimedia como vídeos o música, el volumen de tráfico debe ser apropiado, de lo
contrario se sobrecarga al servidor. Es por esto que, para prevenir estos escenarios, es
necesario elegir una tarifa de tráfico ilimitado con el proveedor escogido. Así, estarás
garantizando que el tráfico de datos de tu web siempre goce de la capacidad que
necesita”.

Ahora que vimos aspectos para seleccionar el servidor, debemos tomar en cuenta que
existen cuestiones adicionales por configurar en el servidor como por ejemplo el
software HTTP, además de los puertos por los cuales se va a realizar la comunicación de
tu servidor, esto es habilitar los necesarios y deshabilitar todos los innecesarios. (IONOS,
2019)
© Universidad Estatal de Milagro – UNEMI

Un aspecto muy importante que se debe tomar en cuenta en todo lo que se refiere a
tecnologías de la información y no solo en servidores y aplicaciones web es la seguridad,
es algo que no puede pasar por alto un aspecto de seguridad a tomar en cuenta en
nuestro servidor será tener actualizado las versiones del sistema con respecto a esto
(IONOS, 2019) menciona lo siguiente “las versiones desactualizadas representan una
oportunidad de ataque para cibercriminales y piratas informáticos que, en el peor de los
casos, podrían tomar el control sobre tu servidor web. En el hosting compartido y
gestionado, los proveedores suelen encargarse de la mayoría de medidas de seguridad,
de otro modo, esta tarea está completamente en tus manos”

FORMATO CONTROLADO: FR0018/ v3.0 5


Tópicos webs avanzados

Por otro lado, en aspectos de seguridad existen opciones físicas además de las
intangibles por software sobre esto una opción que manifiesta (IONOS, 2019) es “la
implementación de un cortafuegos por hardware resulta de gran ayuda a la hora de
proteger tu sistema de intrusiones. Establecer una zona desmilitarizada (DMZ) es
también muy útil”.

Una recomendación importante y útil es habilitar únicamente lo necesario y brindar


funciones estrictamente necesarias a usuarios, sobre este tema (IONOS, 2019)
menciona que “Otro de los principios de la seguridad de un servidor web es asignar a su
administrador únicamente aquellas funciones que sean absolutamente necesarias o
bien cerrar todos los puertos y cancelar los servicios innecesarios. Adicionalmente, crear
y usar contraseñas seguras es una de las medidas básicas de seguridad para el cuidado
de un servidor”.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 6


Tópicos webs avanzados

2.2 Subtema 2: Directorios y Host virtuales


Hablaremos primero sobre directorios virtuales (plesk, sf) los define como “Un directorio
virtual es un enlace a un directorio físico existente en el disco duro del servidor. Los
directorios virtuales pueden disponer de múltiples opciones específicas, como por
ejemplo configuración personalizada de ASP.NET, permisos de acceso y protección
mediante contraseña”.

Por otro lado una definición de directorio virtual por parte de (desarrolloweb, 2002) es
el siguiente “un directorio virtual es un directorio del servidor que no está dentro del
directorio de publicación habitual, es decir, un directorio que no depende de
C:\Inetpub\wwwroot pero que sí que se puede acceder a través del servidor web como
si estuviera dentro de dicho directorio”.

Creación de directorios virtuales

A continuación vamos a presentar una forma en cómo se crea directorios virtuales en el


servidor IIS de Windows.

Lo primero que vamos hacer es abrir el administrador de IIS.

Imagen 1: Administración de IIS


© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Crear y configurar directorios virtuales en IIS 7.0, por Zapata, A.
2010,
http://fjxxoperatingsystemxx.weebly.com/uploads/2/8/0/3/28032141/crear_y_config
urar_directorios_virtuales_en_iis_7.0.pdf

FORMATO CONTROLADO: FR0018/ v3.0 7


Tópicos webs avanzados

Una vez nos encontremos en la parte de administración de IIS lo que vamos a hacer es
ubicarnos en Sitios para después ubicar el proyecto para el que vamos a crear el
directorio, una vez ubicado damos clic derecho y seleccionamos la opción Agregar
directorio virtual.

Imagen 2: Crear Directorio Virtual

Nota. Adaptado de Crear y configurar directorios virtuales en IIS 7.0, por Zapata, A.
2010,
http://fjxxoperatingsystemxx.weebly.com/uploads/2/8/0/3/28032141/crear_y_config
urar_directorios_virtuales_en_iis_7.0.pdf
© Universidad Estatal de Milagro – UNEMI

A continuación, se desplegará un recuadro en el cual se colocará la información


pertinente sobre nuestro directorio virtual que estamos creando. Cuestiones como el
Alias y la Ruta del directorio físico que contendrá al directorio virtual se deberán ingresar
en este recuadro mencionado.

FORMATO CONTROLADO: FR0018/ v3.0 8


Tópicos webs avanzados

Imagen 3: Datos del directorio virtual

Nota. Adaptado de Crear y configurar directorios virtuales en IIS 7.0, por Zapata, A.
2010,
http://fjxxoperatingsystemxx.weebly.com/uploads/2/8/0/3/28032141/crear_y_config
urar_directorios_virtuales_en_iis_7.0.pdf

Con respecto a la Ruta de acceso física se debe seleccionar la carpeta o crear una carpeta
nueva para que en la misma se incluya el contenido del directorio virtual que estamos
creando.

Imagen 4: Selección de la dirección física donde se almacenara la información del


directorio virtual
© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Crear y configurar directorios virtuales en IIS 7.0, por Zapata, A.
2010,
http://fjxxoperatingsystemxx.weebly.com/uploads/2/8/0/3/28032141/crear_y_config
urar_directorios_virtuales_en_iis_7.0.pdf

FORMATO CONTROLADO: FR0018/ v3.0 9


Tópicos webs avanzados

HOST VIRTUALES.

Sobre un host virtual (IBM, 2021) lo define como “Un host virtual es una entidad de
configuración que permite que una sola máquina host se parezca a varias máquinas
host. Mantiene una lista de tipos MIME (Multipurpose Internet Mail Extensions) que
procesa. Puede asociar un host virtual a uno o más módulos web, pero puede asociar
cada módulo web con un solo host virtual. Los recursos asociados con un host virtual no
pueden compartir datos con recursos asociados con otro host virtual, incluso si los hosts
virtuales comparten la misma máquina física”.

Otra definición de host virtual la brinda (Linube, sf) como “El virtualhost, o servidor
virtual, es una forma de alojamiento web que permite que varias páginas web puedan
funcionar en una misma máquina. Hay dos tipos de virtualhost, los que se basan en
direcciones IP, donde cada página web tendrá una IP diferente y los que se basan en
nombres de dominio, donde una sola dirección IP funcionan varias páginas web. Aunque
el navegador tendrá que diferenciar el tipo de virtualhost a la hora de gestionar la
petición, la elección de una u otra no tiene ningún efecto para el usuario”

Imagen 5: Ejemplo de host virtual que abarca diversos alias con sus diferentes
puertos

Nota. Adaptado de Hosts virtuales, por IBM, 2021,


© Universidad Estatal de Milagro – UNEMI

https://www.ibm.com/docs/es/was/9.0.5?topic=hosts-virtual

FORMATO CONTROLADO: FR0018/ v3.0 10


Tópicos webs avanzados

2.3 Subtema 3: Instalación de servidores web en


Windows y/o Linux
En este apartado vamos a revisar 3 servidores web y su instalación, estos servidores son
Nginx, IIS y Apache. Dos de ellos vamos a presentar su instalación en Linux mientras que
el sobrante se lo instalara en Windows.

Servidor web NGINX

Según Kinsta (2021) define a NGINX como “es un servidor web de código abierto que,
desde su éxito inicial como servidor web, ahora también es usado como proxy inverso,
cache de HTTP, y balanceador de carga”.

Sobre sus orígenes Kinsta (2021) menciona que “Nginx creado originalmente por Igor
Sysoev, y tuvo su primer lanzamiento público en octubre de 2004. Igor concibió
inicialmente el software como una respuesta al problema C10K, que se refiere al
problema de rendimiento de manejar 10,000 conexiones concurrentes”.

Su filosofía se basa en el rendimiento es por ello que Kinsta (2021) indica que “debido a
que sus raíces yacen en la optimización del rendimiento bajo escala, Nginx a menudo
supera a otros populares servidores web en pruebas de rendimiento (Benchmarks),
especialmente en situaciones con contenido estático y/o un elevado número de
solicitudes concurrentes”.

Instalación del servidor web NGINX.

A continuación vamos a presentar algunos pasos para instalar el servidor web Nginx en
un sistema operativo Centos 8 que se encuentra en una máquina virtual.

Primeramente, deberemos conectarnos al servidor Centos 8 para poder instalar en ese


© Universidad Estatal de Milagro – UNEMI

lugar nuestro servidor web, para ellos se puede conectar a Centos por medio de ssh.

Una vez que estamos conectados vamos a ingresar los siguientes comandos para instalar
y dejar configurado de manera básica nuestro servidor web.

El primer comando que vamos a ingresar es para instalar el servidor Nginx, como se ve
en la imagen, dnf es el gestor de paquetes de Centos.

FORMATO CONTROLADO: FR0018/ v3.0 11


Tópicos webs avanzados

Imagen 6: Comando para instalar Nginx

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8

Después se presentará un mensaje como se ve en imagen y empezará la descarga de los


paquetes necesarios.

Imagen 7: Descarga de paquetes necesarios para instalación de Nginx

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8
© Universidad Estatal de Milagro – UNEMI

Por ultimo luego de descargar y de instalar los paquetes se presentara el mensaje de


que fue instalado Nginx.

FORMATO CONTROLADO: FR0018/ v3.0 12


Tópicos webs avanzados

Imagen 8: Instalación de Nginx

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8

Luego de esto hacemos un conjunto de pasos como se ve en la imagen siguiente primero


habilitamos el servicio de Nginx (subrayado rojo), después iniciamos el servicio de Nginx
(subrayado amarillo), por último, observamos el estado del servicio (subrayado naranja)
para posteriormente revisar si está activado y corriendo el servicio antes mencionado
(remarcado verde.)

Imagen 9: Habilitación de servicio de Nginx


© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8

Luego de esto lo que hacemos es habilitar los puertos 80 y 443 para permitir acceder a
este servidor por medio de un navegador para ello primero habilitamos el puerto 80
(subrayado naranja), para después habilitar el puerto 443 (subrayado rojo) y por ultimo
realizamos un refresco del servidor (subrayado amarillo).

FORMATO CONTROLADO: FR0018/ v3.0 13


Tópicos webs avanzados

Imagen 10: Habilitación de puertos para la web

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8

Con esto abrimos el navegador e ingresamos al servidor mediante su dirección IP (la


dirección ip depende de qué dirección tenga el servidor Centos, es la que se haya
asignado al momento de instalar el sistema operativo Centos), como se ve en la imagen
ya nos muestra el sitio por defecto del servidor web Nginx.

Imagen 11: Servidor web Nginx accedido desde un navegador web

Nota. Adaptado de Cómo instalar Nginx en CentOS 8, por Rodolfo Borja, 2020,
https://www.youtube.com/watch?v=gD3-jdUaZs8
© Universidad Estatal de Milagro – UNEMI

Con esto ya tenemos instalado un servidor web en un sistema operativo Linux, como es
Centos 8.

Servidor Web Apache

Otro servidor web muy popular en el mundo es Apache del cual (Hostinger, 2022) nos
brinda la siguiente definición “Apache HTTP Server es un software de servidor web
gratuito y de código abierto para plataformas Unix con el cual se ejecutan el 46% de los

FORMATO CONTROLADO: FR0018/ v3.0 14


Tópicos webs avanzados

sitios web de todo el mundo. Es mantenido y desarrollado por la Apache Software


Foundation”.

Un servidor web brinda la posibilidad de ofrecer contenido en la web como nos explica
(Hostinger, 2022) sobre este tema “Les permite a los propietarios de sitios web servir
contenido en la web, de ahí el nombre de «servidor web». Es uno de los servidores web
más antiguos y confiables, con la primera versión lanzada hace más de 20 años, en
1995”.

Una característica de Apache es su estructura basada en módulos como lo indica


(dinahosting, sf) “Apache tiene una estructura basada en módulos, que permite activar
y desactivar funcionalidades adicionales, por ejemplo, módulos de seguridad como
mod_security, módulos de caché como Varnish, o de personalización de cabeceras como
mod_headers. También permite ajustar los parámetros de PHP de tu hosting de forma
personalizada mediante el fichero .htaccess”.

Instalación de Apache

Para la instalación de Apache vamos a mostrar los pasos para realizarlo en el sistema
operativo Ubuntu de Linux.

Primero debemos tener siempre actualizado nuestro sistema, lo hacemos con el


siguiente comando.

Nota. Adaptado de Instalar Apache en Ubuntu 20.04, por HostingLabs, s.f,


https://clientes.hostinglabs.net/knowledgebase/2099/Instalar-Apache-en-Ubuntu-
20.04.html
© Universidad Estatal de Milagro – UNEMI

Luego de tener actualizado nuestro sistema, vamos a instalar nuestro servidor web
Apache con el siguiente comando.

FORMATO CONTROLADO: FR0018/ v3.0 15


Tópicos webs avanzados

Nota. Adaptado de Instalar Apache en Ubuntu 20.04, por HostingLabs, s.f,


https://clientes.hostinglabs.net/knowledgebase/2099/Instalar-Apache-en-Ubuntu-
20.04.html

Una vez hecho esto podemos verificar el estatus de nuestro servidor que acabamos de
instalar con el siguiente comando.

Nota. Adaptado de Instalar Apache en Ubuntu 20.04, por HostingLabs, s.f,


https://clientes.hostinglabs.net/knowledgebase/2099/Instalar-Apache-en-Ubuntu-
20.04.html

A lo cual nos dará el siguiente resultado.

Nota. Adaptado de Instalar Apache en Ubuntu 20.04, por HostingLabs, s.f,


© Universidad Estatal de Milagro – UNEMI

https://clientes.hostinglabs.net/knowledgebase/2099/Instalar-Apache-en-Ubuntu-
20.04.html

Una vez hecho esto podemos comprobar por el navegador que ese encuentre
funcionando nuestro servidor web Apache, ingresamos la dirección pública del servidor
y se presentara algo parecido a lo que se ve en la imagen.

FORMATO CONTROLADO: FR0018/ v3.0 16


Tópicos webs avanzados

Nota. Adaptado de Instalar Apache en Ubuntu 20.04, por HostingLabs, s.f,


https://clientes.hostinglabs.net/knowledgebase/2099/Instalar-Apache-en-Ubuntu-
20.04.html

IIS (Internet Information Service)

Este es otro servidor web como lo menciona (De León, 2019) indica que “son las iniciales
de Internet Information Services y si bien es más conocido como servidor web en
realidad son un conjuntos de servicios que transforman un sistema Microsoft Windows
en un servidor capaz de ofrecer servicios Web, FTP y SMTP entre otros”.

Es un servidor que lo podemos utilizar tanto para la Internet como la Intranet así lo
menciona (De Leon, 2019) “es apto tanto como servidor web en Internet y en Intranet,
siendo en Intranet o en servidores privados donde tiene mayor cuota debido al mercado
empresarial que lo utilizan para aplicaciones internas en empresas de mediana y gran
© Universidad Estatal de Milagro – UNEMI

escala ya que va de la mano de Visual Studio .NET muy arraigado en el sector privado
empresarial”.

Instalación de Internet Information Service

Para instalar este servidor primero debemos abrir la administración del servidor y
seleccionamos la opción de agregar roles y características.

FORMATO CONTROLADO: FR0018/ v3.0 17


Tópicos webs avanzados

Imagen 12: Selección de opción Agregar roles y características

Nota. Adaptado de Servidor IIS, por De Leon, A. 2019,


https://blog.infranetworking.com/servidor-iis/

Una vez que se abre el recuadro de instalación seleccionamos la opción de Instalación


basada en características o en roles.

Imagen 13: Opción Instalación basada en características y roles


© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Servidor IIS, por De León, A. 2019,


https://blog.infranetworking.com/servidor-iis/

FORMATO CONTROLADO: FR0018/ v3.0 18


Tópicos webs avanzados

En el siguiente recuadro que se presenta selecciona la opción Servidor Web (IIS).

Imagen 14: Selección de IIS

Nota. Adaptado de Servidor IIS, por De León, A. 2019,


https://blog.infranetworking.com/servidor-iis/

Después procedemos a seleccionar los diferentes módulos requeridos para el uso de


IIS.

Imagen 15: Selección de módulos para el IIS


© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Servidor IIS, por De León, A. 2019,


https://blog.infranetworking.com/servidor-iis/

FORMATO CONTROLADO: FR0018/ v3.0 19


Tópicos webs avanzados

Por ultimo seleccionamos la opción de instalar para poder contar con este servidor y su
utilización.

Imagen 16: Instalación de IIS

Nota. Adaptado de Servidor IIS, por De León, A. 2019,


https://blog.infranetworking.com/servidor-iis/
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 20


Tópicos webs avanzados

2.4 Subtema 4: Configuración y Tuning de servidores


web
El tuning de servidores web no es más que el afinamiento de un servidor web, es decir
configurar ciertos aspectos en nuestro servidor para que ofrezca un óptimo servicio del
sitio web a los clientes.

Sobre este tema (LinuxParty, 2011) menciona que “asegúrese de que el valor de
MaxClients un valor apropiado para su sistema. Esto variará en función de muchos
factores”, esto hace referencia a la cantidad de clientes esperada para uso del servidor
(sitios web).

Otro aspecto que se debe tomar en cuenta es el uso de memoria del servidor, sobre este
tema (LinuxParty, 2011) indica lo siguiente “para un rendimiento óptimo, querrá ajustar
MaxClients configuración de Apache de tal manera que pueda consumir no más del 70%
de la memoria física disponible. Más alto corre el riesgo de que empiecen a emerger
problemas, en gran medida por usar el espacio de intercambio, y esto puede hacer caer
su servidor”.

En el caso que se evidencia un uso excesivo de la memoria (LinuxParty, 2011)


recomienda lo siguiente “si usted está viendo una utilización de la memoria muy alta
por proceso, es posible que pudiera deberse a una pérdida de memoria. La mejor
solución sería la de examinar el código de la aplicación para localizar y resolver la pérdida
de memoria, pero a menudo esto no es una opción para los administradores de
sistemas. Puede mitigar el daño mal codificado puede tener aplicaciones en el servidor
mediante el ajuste de la directiva MaxRequestsPerChild. Cuanto mayor sea este valor,
las solicitudes de más de un proceso hijo se encargará antes de que el proceso padre lo
mate y genere una nueva. La reducción de este valor hará que Apache recicle sus
procesos child con mayor frecuencia, liberando la memoria, que de otra manera lo
celebrará. Tendrá que trabajar para encontrar un equilibrio aquí como cada vez que
Apache recicla un proceso hijo que debe utilizar tiempo de la CPU, por lo que establecer
© Universidad Estatal de Milagro – UNEMI

un valor demasiado alto puede causar problemas de utilización de la CPU”.

Por último, una buena recomendación es utilizar en el caso de Apache solo los modulos
que sean necesarios para el correcto funcionamiento del servidor sobre este tema
(LinuxParty, 2011) recomienda que “también es una buena idea utilizar sólo los módulos
de Apache que son realmente necesarios. Dependiendo de su origen de la instalación,
es probable que se estén ejecutando varios y ha permitido algunos que no son
necesarios y pueden, de hecho, abrir algunos agujeros de seguridad”.

Lo revisado anteriormente hace referencia a las configuraciones a tomar en cuenta para


contar con un correcto funcionamiento de los servidores que utilicemos a futuro.

FORMATO CONTROLADO: FR0018/ v3.0 21


Tópicos webs avanzados

3. Preguntas de Comprension de la
Unidad
1. ¿Cuál es un servidor web?
o Apache
o MYSQL
o SQLite

2. ¿Qué significa IIS?


o Internet Indications Software
o Internet Information Service
o Intranet Information Server

3. ¿Un aspecto importante de un servidor web es?


o El color del case
o El tamaño del case
o Seguridad en el servidor

4. ¿Cuál es un servidor web?


o Linux
o Nginx
o SQL

5. ¿Qué es NGINX?
o RED SOCIAL
o SERVIDOR WEB
o PLATAFORMA MOVIL
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 22


Tópicos webs avanzados

4. Informacion de los subtemas

Los siguientes recursos complementarios son sugerencias para que se pueda ampliar la
información sobre el tema trabajado, como parte de su proceso de aprendizaje
autónomo:

Videos de apoyo:
• https://www.youtube.com/watch?v=Zrybo9Pt7ys
• https://www.youtube.com/watch?v=7XAmoTJWg4k

Links de apoyo:
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 23


Tópicos webs avanzados

5. Bibliografía

» Kinsta. (2021). ¿Qué Es Nginx y Cómo Funciona?. Recuperado de


https://kinsta.com/es/base-de-conocimiento/que-es-nginx/
» Upanama. (s.f). Servidor Web. Recuperado de https://upanama.e-
ducativa.com/archivos/repositorio/6000/6126/html/59_servi.htm
» IONOS. (2019). ¿Qué es un servidor web y qué soluciones de software existen?.
Recuperado de https://www.ionos.es/digitalguide/servidores/know-
how/servidor-web-definicion-historia-y-programas/
» Plesk. (s.f). Uso de directorios virtuales (Windows). Recuperado de
https://docs.plesk.com/es-ES/12.5/customer-guide/sitios-web-y-
dominios/avanzado-administraci%C3%B3n-ampliada-de-sitios-web/uso-de-
directorios-virtuales-
windows.65213/#:~:text=Un%20directorio%20virtual%20es%20un,acceso%20y
%20protecci%C3%B3n%20mediante%20contrase%C3%B1a.
» Desarrolloweb. (2002). Directorios virtuales en IIS. Recuperado de
https://desarrolloweb.com/articulos/1021.php
» Zapata, F. (2010). Trabajando con Windows Server 2008. Recuperado de
http://fjxxoperatingsystemxx.weebly.com/uploads/2/8/0/3/28032141/crear_y
_configurar_directorios_virtuales_en_iis_7.0.pdf
» IBM. (2021). Hosts virtuales. Recuperado de
https://www.ibm.com/docs/es/was/9.0.5?topic=hosts-virtual
» Linube. (s.f). ¿Qué es un virtualhost?. Recuperado de
https://linube.com/ayuda/articulo/267/que-es-un-virtualhost
» Hostinger. (2022). ¿Qué es Apache? Descripción completa del servidor web
Apache. Recuperado de https://www.hostinger.es/tutoriales/que-es-apache/
» Dinahosting. (s.f). ¿Qué es Apache y para qué sirve?. Recuperado de
https://dinahosting.com/ayuda/que-es-apache-y-para-que-sirve/
© Universidad Estatal de Milagro – UNEMI

» LinuxParty. (2011). Básica Performance Tuning de Apache y MySQL. Recuperado


de https://www.linuxparty.es/4-apache/7513-basica-performance-tuning-de-
apache-y-mysql
» De león, A. (2019). Servidor IIS. Recuperado de
https://blog.infranetworking.com/servidor-iis/
» Ramón, A. (2012). Configuración y tuning de servidores de producción.
Recuperado de https://www.adictosaltrabajo.com/2012/06/27/tuning/
» PcSoft. (2021). Configuración básica del servidor web. Recuperado de
https://help.windev.com/es-
ES/?3539038&name=configuracion_basica_del_servidor_web

FORMATO CONTROLADO: FR0018/ v3.0 24


Tópicos webs avanzados

» IBM. (2021). Configuración de un servidor web y un perfil personalizado en la


misma máquina. Recuperado de
https://www.ibm.com/docs/es/was/9.0.5?topic=ins-configuring-web-server-
custom-profile-same-machine
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 25


Desarrollo de Aplicaciones Web

Unidad 4
Tópicos Web Avanzados

TEMA 1:
Administración de servidores web

Ing. Ronald Henry Díaz A. Msc


Utilizar auriculares con micrófono.

Utilizar una conexión de internet por cable.

Elegir un lugar tranquilo y sin ruidos.

Ingresar algunos minutos antes de iniciar la videoconferencia.

Silenciar su micrófono.

Levantar la mano para pedir la palabra.


SUBTEMAS
➢ Subtema 1: Planificación de Servidores.

➢ Subtema 2: Directorios y Host virtuales.

➢ Subtema 3: Instalación de servidores web en


Windows y/o Linux.

➢ Subtema 4: Configuración y Tuning de servidores


web.
ACTIVIDAD INICIAL ¿Qué es un HOST?

HOSTING
DOMINIO
TECNOLOGIA DE DESARROLLO

respuesta
Objetivo

Aplicar los conceptos técnicos para una


adecuada administración de servidores
web, como también para la aplicación
de la arquitectura de Microservicios.
Introducción.

Un servidor web está destinado a


almacenar los archivos que se generen
del desarrollo de un sitio y emitirlos por
Internet de modo que pueda ser visitado
por usuarios.

Un servidor a grandes rasgos es una gran


computadora que transmite y de igual
manera guarda datos por medio del
sistema de redes llamado Internet.
Subtema 1: Planificación de Servidores.

La planificación de servidores hace


referencia a determinar las
características con las que va a contar el
servidor que queremos implantar o
instalar, además de definir el cometido o
la función que va a cumplir nuestro
servidor.
Subtema 1: Planificación de Servidores.

En primer lugar necesitaremos un host


con suficiente espacio web. Una de las
opciones más populares es alquilar los
recursos del servidor en algún proveedor.

Las opciones que tenemos es: el


alojamiento compartido o el managed
cloud hosting y configurar así su propio
servidor web.
Subtema 1: Planificación de Servidores.

El administrador del Servidor es el que


posee el acceso root, en el que no solo
tiene todos los derechos de acceso, sino
también la responsabilidad completa de
la seguridad del servidor.

Con un alojamiento gestionado el host se


encarga de gran parte de la
administración básica.
Subtema 1: Planificación de Servidores.

Aspecto Económico

Hablando de la parte económica, otro


aspecto importante al momento de
decidirse por un servidor web, en este
sentido existen algunas variables a tomar
en cuenta para elegir un servidor web
especifico.
Subtema 1: Planificación de Servidores.
Aspecto Económico

Los servidores web se alquilan por una


cuota mensual. Los costes dependen del
rendimiento y del tamaño de
componentes individuales como, por
ejemplo:

La capacidad y el rendimiento del


ordenador (CPU y RAM), el espacio web
y el tipo de almacenamiento en el disco
duro (SSD o HHD)”.
Subtema 1: Planificación de Servidores.
Selección del Servidor

Un aspecto importante sobre la selección


del servidor web es determinar qué tipo
de sitios web o paginas son las que
vamos a correr en estos servidores.

El rendimiento por parte de los


diferentes componentes del host
depende de las necesidades de la página
web.
Subtema 1: Planificación de Servidores.

Selección del Servidor

Un pack de alojamiento económico y con


menor rendimiento resulta perfecto para
proyectos como un pequeño blog o una
web que sirva como tarjeta de visita en
Internet.
Subtema 1: Planificación de Servidores.
Selección del Servidor

Grandes portales online o páginas web


con muchos contenidos demandan
muchos más componentes.

También hay que considerar que ciertas


aplicaciones web requieren un volumen
de transferencia de datos mayor que
otras.
Subtema 1: Planificación de Servidores.

Selección del Servidor

Para que la transferencia de archivos no


sea más lenta de lo normal, aquellas
plataformas que ponen a disposición la
descarga de contenidos necesitan una
mayor velocidad en términos de tráfico
de datos.
Subtema 1: Planificación de Servidores.
Selección del Servidor

Si una web implementa muchos archivos


multimedia como vídeos o música, el
volumen de tráfico debe ser apropiado,
de lo contrario se sobrecarga al servidor.

Es por esto que, para prevenir estos


escenarios, es necesario elegir una tarifa
de tráfico ilimitado con el proveedor
escogido.
Subtema 1: Planificación de Servidores.

Asignación de Puertos.

Además de los puertos por los cuales se


va a realizar la comunicación de tu
servidor, esto es habilitar los necesarios y
deshabilitar todos los innecesarios.
Subtema 1: Planificación de Servidores.
Seguridad

Las versiones desactualizadas


representan una oportunidad de ataque
para cibercriminales que en el peor de
los casos, podrían tomar el control sobre
tu servidor web.

En el hosting compartido y gestionado,


los proveedores suelen encargarse de la
mayoría de medidas de seguridad, de
otro modo, esta tarea es del
administrador del servidor
Subtema 1: Planificación de Servidores.
Seguridad

Asignar a su administrador únicamente


aquellas funciones que sean
absolutamente necesarias o bien cerrar
todos los puertos y cancelar los servicios
innecesarios.

Adicionalmente, crear y usar contraseñas


seguras es una de las medidas básicas de
seguridad para el cuidado de un servidor.
Subtema 2: Directorios y Host virtuales.
Directorios virtuales

Un directorio virtual es un enlace a un


directorio físico existente en el disco
duro del servidor.

Los directorios virtuales pueden disponer


de múltiples opciones específicas, como
por ejemplo configuración personalizada
de ASP.NET, permisos de acceso y
protección mediante contraseña
Subtema 2: Directorios y Host virtuales.

Creación de directorios virtuales

A continuación vamos a presentar una


forma en cómo se crea directorios
virtuales en el servidor IIS de Windows.

Lo primero que vamos hacer es abrir el


administrador de IIS.
Subtema 2: Directorios y Host virtuales.
Creación de directorios virtuales
Una vez nos encontremos en la parte de
administración de IIS, lo que vamos a
hacer es ubicarnos en Sitios para
después ubicar el proyecto para el que
vamos a crear el directorio.

Una vez ubicado damos clic derecho y


seleccionamos la opción Agregar
directorio virtual.
Subtema 2: Directorios y Host virtuales.
Creación de directorios virtuales

A continuación, se desplegará un
recuadro en el cual se colocará la
información pertinente sobre nuestro
directorio virtual que estamos creando.

Cuestiones como el Alias y la Ruta del


directorio físico que contendrá al
directorio virtual se deberán ingresar en
este recuadro mencionado.
Subtema 2: Directorios y Host virtuales.

Creación de directorios virtuales

Con respecto a la Ruta de acceso física se


debe seleccionar la carpeta o crear una
carpeta nueva para que en la misma se
incluya el contenido del directorio virtual
que estamos creando.
Subtema 2: Directorios y Host virtuales.
Host virtuales

El virtualhost, o servidor virtual, es una


forma de alojamiento web que permite
que varias páginas web puedan
funcionar en una misma máquina.

Hay dos tipos de virtualhost, los que se


basan en direcciones IP, donde cada
página web tendrá una IP diferente y los
que se basan en nombres de dominio,
donde una sola dirección IP funcionan
varias páginas web.
Bibliografía
➢ Kinsta. (2021). ¿Qué Es Nginx y Cómo Funciona?. Recuperado de https://kinsta.com/es/base-de-conocimiento/que-es-nginx/
➢ Upanama. (s.f). Servidor Web. Recuperado de
https://upanama.educativa.com/archivos/repositorio/6000/6126/html/59_servi.htm
➢ IONOS. (2019). ¿Qué es un servidor web y qué soluciones de software existen?. Recuperado de
https://www.ionos.es/digitalguide/servidores/knowhow/servidor-web-definicion-historia-y-programas/
➢ Plesk. (s.f). Uso de directorios virtuales (Windows). Recuperado de https://docs.plesk.com/es-ES/12.5/customer-guide/sitios-
web-ydominios/avanzado-administraci%C3%B3n-ampliada-de-sitios-web/uso-dedirectorios-
virtualeswindows.65213/#:~:text=Un%20directorio%20virtual%20es%20un,acceso%20y%20protecci%C3%B3n%20mediante%2
0contrase%C3%B1a.
➢ Desarrolloweb. (2002). Directorios virtuales en IIS. Recuperado de https://desarrolloweb.com/articulos/1021.php
➢ Zapata, F. (2010). Trabajando con Windows Server 2008. Recuperado de
http://fjxxoperatingsystemxx.weebly.com/uploads/2/8/0/3/28032141/crear_y_configurar_directorios_virtuales_en_iis_7.0.pdf
➢ IBM. (2021). Hosts virtuales. Recuperado de https://www.ibm.com/docs/es/was/9.0.5?topic=hosts-virtual
➢ Linube. (s.f). ¿Qué es un virtualhost?. Recuperado de https://linube.com/ayuda/articulo/267/que-es-un-virtualhost
➢ Hostinger. (2022). ¿Qué es Apache? Descripción completa del servidor web Apache. Recuperado de
https://www.hostinger.es/tutoriales/que-es-apache/
➢ Dinahosting. (s.f). ¿Qué es Apache y para qué sirve?. Recuperado de https://dinahosting.com/ayuda/que-es-apache-y-para-que-
sirve/
Revisión de Contenidos Disponibles

• Aula virtual
• Guía del estudiante
• Compendio
• Video Magistral
• Material Complementario
Actividades Prácticas Para Segundo Parcial

SEMANA ACTIVIDAD

Instalación y Creación de un proyecto en Django


9
Preparación del proyecto Django (Creación de aplicaciones)
VIDEO
Instalación de PostgreSQL
10 MATERIAL
Creación de modelos y migraciones COMPLEMENTARIO
Vistas: ListView y templateView
11
Vistas: CreateView
Vistas: UpdateView
12
Vistas: DeleteView

13 Administrador de Django
14 Subir App a una plataforma PaaS
Actividad de cierre
DESARROLLO DE APLICACIONES WEB

UNIDAD 4
TÓPICOS WEB AVANZADOS

Castillo Heredia Luis Javier, Mgs


ÍNDICE

1. Unidad 4: TÓPICOS WEB AVANZADOS...............................................................3


Tema 2: Desarrollo de Microservicios con Python ........................................................ 3
Objetivo: ........................................................................................................................ 3
Introducción: ................................................................................................................. 3

2. Información de los subtemas .............................................................................4


2.1 Subtema 1: Api RESTFul. .................................................................................... 4
2.2 Subtema 2: Implementación de Microservicios ............................................... 18

3. Preguntas de Comprensión de la Unidad ..........................................................23

4. Información de los subtemas ...........................................................................24

5. Bibliografía ......................................................................................................25

2
Tópicos webs avanzados

1. Unidad 4: TÓPICÓS WEB


AVANZADÓS
Tema 2: Desarrollo de Microservicios con Python
Objetivo:

Aplicar los conceptos técnicos para una adecuada administración de servidores web,
como también para la aplicación de la arquitectura de Microservicios.

Introducción:
Los servicios web representan un entorno de distribución de comunicación sobre este
caso (Ceupe, s.f) afirma que “se trata de un entorno estandarizado para distribuir la
comunicación entre aplicaciones cliente y servidor en la World Wide Web. Puede
editarse y cuenta con paquetes de mejora”.

También toparemos el tema de API Las cuales en general permiten la comunicación que
nuestros productos y servicios (tecnológicamente hablando) se comuniquen con otros
sin la necesidad de saber cómo fueron implementados como lo afirma (Red Hat, 2017)
expresa lo siguiente “Las API permiten que sus productos y servicios se comuniquen con
otros, sin necesidad de saber cómo están implementados. Esto simplifica el desarrollo
de las aplicaciones y permite ahorrar tiempo y dinero. Las API le otorgan flexibilidad;
simplifican el diseño, la administración y el uso de las aplicaciones; y ofrecen
oportunidades de innovación, lo cual es ideal al momento de diseñar herramientas y
productos nuevos (o de gestionar los actuales)”.

Por último, los microservicios son servicios independientes como lo menciona (AWS, s.f)
“Los microservicios son un enfoque arquitectónico y organizativo para el desarrollo de
software donde el software está compuesto por pequeños servicios independientes que
© Universidad Estatal de Milagro – UNEMI

se comunican a través de API bien definidas. Los propietarios de estos servicios son
equipos pequeños independientes. Las arquitecturas de microservicios hacen que las
aplicaciones sean más fáciles de escalar y más rápidas de desarrollar. Esto permite la
innovación y acelera el tiempo de comercialización de las nuevas características”.

En este documento hablaremos sobre los servicios web, API, microservicios y


revisaremos algunos aspectos importantes de los mismos.

FORMATO CONTROLADO: FR0018/ v3.0 3


Tópicos webs avanzados

2. Informacion de los subtemas


2.1 Subtema 1: Api RESTFul.
SERVICIOS WEB

Los servicios web representan un entorno de distribución de comunicación sobre este


caso (Ceupe, s.f) afirma que “se trata de un entorno estandarizado para distribuir la
comunicación entre aplicaciones cliente y servidor en la World Wide Web. Puede
editarse y cuenta con paquetes de mejora”.

Por otro lado, los servicios web también pueden ser considerados módulos que realizan
una tarea específica, sobre lo mencionado anteriormente (Ceupe, s.f) expresa lo
siguiente “un servicio web puede definirse como un módulo de software diseñado para
realizar un conjunto específico de tareas. Los pilares de las aplicaciones se pueden
encontrar en la web y también se pueden denominar en consecuencia. Al ser llamado,
el servicio web será capaz de proporcionar funcionalidad al cliente que solicita este
portal. Todo ello ocurre en un par de segundos”.

Una definición adicional sobre servicios web es la que nos brinda (Carranza, 2021) indica
lo siguiente “un web service o servicio web es un software con un formato basado en
texto que funciona con Internet. Este sistema se encarga de permitir la transmisión de
solicitudes y respuestas entre diferentes servidores o aplicaciones, sin importar las
diferencias que existan entre los lenguajes de programación en el que fueron
desarrolladas o la plataforma en la que se ejecutan. En otras palabras, un web service
es, como su nombre lo indica, un servicio que hace posible la comunicación de máquina
a máquina y el intercambio de datos entre aplicaciones a través de una red de Internet.”

Debemos tener en cuenta que para invocar o utilizar un servicio web esto es
completamente independiente de la plataforma que estemos utilizando como lo afirma
(Universidad de alicante, 2014) indica lo siguiente “un Servicio Web es un componente
© Universidad Estatal de Milagro – UNEMI

al que podemos acceder mediante protocolos Web estándar, utilizando XML para el
intercambio de información. Normalmente nos referimos con Servicio Web a una
colección de procedimientos (métodos) a los que podemos llamar desde cualquier lugar
de Internet o de nuestra intranet, siendo este mecanismo de invocación totalmente
independiente de la plataforma que utilicemos y del lenguaje de programación en el que
se haya implementado internamente el servicio”.

Es así cuando usamos nuestro navegador y podemos ver la información que se presenta
y la interpretamos, sobre esto (Universidad de alicante, 2014) menciona que “Cuando
conectamos con un servidor web desde nuestro navegador, el servidor nos devuelve la
página web solicitada, que es un documento que se mostrará en el navegador para que

FORMATO CONTROLADO: FR0018/ v3.0 4


Tópicos webs avanzados

lo visualice el usuario, pero es difícilmente entendible por una máquina. Podemos ver
esto como web para humanos. En contraposición, los Servicios Web ofrecen información
con un formato estándar que puede ser entendido fácilmente por una aplicación. En
este caso estaríamos ante una web para máquinas”.

Los servicios web también pueden ser utilizados para integrar aplicaciones que se
escribieron en diferentes lenguajes como (Universidad de alicante, 2014) expresa lo
siguiente “Los servicios Web son componentes de aplicaciones distribuidas que están
disponibles de forma externa. Se pueden utilizar para integrar aplicaciones escritas en
diferentes lenguajes y que se ejecutan en plataformas diferentes. Los servicios Web son
independientes de lenguaje y de la plataforma gracias a que los vendedores han
admitido estándares comunes de Servicios Web”.

CARACTERISTICAS DE UN SERVICIO WEB

• Es importante saber que para usar un servicio web existen protocolos para su
uso como lo indica (Universidad de alicante, 2014) “Un servicio debe poder ser
accesible a través de la Web. Para ello debe utilizar protocolos de transporte
estándares como HTTP, y codificar los mensajes en un lenguaje estándar que
pueda conocer cualquier cliente que quiera utilizar el servicio”.
• Por otro lado, un servicio web debe contener una descripción de sí mismo,
respecto a esto (Universidad de alicante, 2014) menciona que “un servicio debe
contener una descripción de sí mismo. De esta forma, una aplicación podrá saber
cuál es la función de un determinado Servicio Web, y cuál es su interfaz, de
manera que pueda ser utilizado de forma automática por cualquier aplicación,
sin la intervención del usuario”.
• Por último, un servicio web debe ser localizado con cierta facilidad, con respecto
a esto (Universidad de alicante, 2014) indica que “debe poder ser localizado.
Deberemos tener algún mecanismo que nos permita encontrar un Servicio Web
que realice una determinada función. De esta forma tendremos la posibilidad de
que una aplicación localice el servicio que necesite de forma automática, sin
tener que conocerlo previamente el usuario”.
© Universidad Estatal de Milagro – UNEMI

TIPOS DE SERVICIOS WEB

SOAP

Sobre los servicios web SOAP (Universidad de alicante, 2014) menciona los
siguiente “Los servicios Web SOAP, o servicios Web "big", utilizan mensajes XML
para intercomunicarse que siguen el estándar SOAP (Simple Object Access
Protocol), un lenguaje XML que define la arquitectura y formato de los mensajes.
Dichos sistemas normalmente contienen una descripción legible por la máquina
de la descripción de las operaciones ofrecidas por el servicio, escrita en WSDL

FORMATO CONTROLADO: FR0018/ v3.0 5


Tópicos webs avanzados

(Web Services Description Language), que es un lenguaje basado en XML para


definir las interfaces sintácticamente”.

RESTFul

En cuanto se refiere a RestFul (Universidad de alicante, 2014) indica que “Los


servicios Web RESTful (Representational State Transfer Web Services) son
adecuados para escenarios de integración básicos ad-hoc. Dichos servicios Web
se suelen integrar mejor con HTTP que los servicios basados en SOAP, ya que no
requieren mensajes XML o definciones del servicio en forma de fichero WSDL.
Los servicios Web REST utilizan estándares muy conocidos como HTTP, SML, URI,
MIME, y tienen una infraestructura "ligera" que permite que los servicios se
construyan utilizando herramientas de forma mínima. Gracias a ello, el
desarrollo de servicios RESTful es barato y tiene muy pocas "barreras" para su
adopción”.

ARQUITECTURA DE LOS SERVICIOS WEB

Todos los servicios web se orientan a una arquitectura para su funcionamiento sobre
esto (Universidad de alicante, 2014) menciona la siguiente “los servicios Web presentan
una arquitectura orientada a servicios que permite crear una definición abstracta de un
servicio, proporcionar una implementación concreta de dicho servicio, publicar y
localizar un servicio, seleccionar una instancia de un servicio, y utilizar dicho servicio con
una elevada interoperabilidad. Es posible desacoplar la implementación del servicio
Web y su uso por parte de un cliente. También es posible desacoplar la implementación
del servicio y de cliente. Las implementaciones concretas del servicio pueden
desacoplarse a nivel de lógica y transporte. La siguiente figura muestra el diagrama de
una arquitectura orientada a servicios”.
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 6


Tópicos webs avanzados

Imagen 1: Arquitectura de los servicios web

Nota. Adaptado de Introducción a los Servicios Web. Invocación de servicios web


SOAP, por Universidad de alicante. 2014, http://www.jtech.ua.es/j2ee/publico/servc-
web-2012-13/sesion01-apuntes.html

Sobre la imagen presentada sobre la arquitectura de un servicio web (Universidad de


alicante, 2014) menciona lo siguiente “El proveedor del servicio define la descripción
abstracta de dicho servicio utilizando un lenguaje de descripción de Servicios Web
(WSDL: Web Services Description Language:). A continuación, se crea un Servicio
concreto a partir de la descripción abstracta del servicio, produciendo así una
descripción concreta del servicio en WSDL. Dicha descripción concreta puede entonces
publicarse en un servicio de registro como por ejemplo UDDI (Universal Description,
Descovery and Integration). Un cliente de un servicio puede utilizar un servicio de
registro para localizar una descripción de un servicio, a partir de la cual podrá seleccionar
y utilizar una implementación concreta de dicho servicio”.
© Universidad Estatal de Milagro – UNEMI

Por ultimo (Universidad de alicante, 2014) indica sobre esta arquitectura que “La
descripción abstracta se define en un documento WSDL como un PortType. Una
instancia concreta de un Servicio se define mediante un elemento port de un WSDL
(consistente a su vez en una combinación de un PortType, un binding de codificación y
transporte, más una dirección). Un conjunto de ports definen un elemento service de
un WSDL”.

FORMATO CONTROLADO: FR0018/ v3.0 7


Tópicos webs avanzados

PRINCIPIOS DE FUNCIONAMIENTO DE UN SERVICIO WEB

Para el funcionamiento de un servicio web es importante tener en cuenta lo que


menciona (Ceupe, s.f) “es necesario tener presentes sus condiciones de funcionamiento.
Lo que permitirá comprender el funcionamiento del sistema. El cliente realizará una
serie de llamadas a un servicio web haciendo peticiones al servidor que alojará el
servicio web real. Estas solicitudes se ejecutan a través de las llamadas a procedimientos
remotos. Estas llamadas a procedimientos remotos (RPC) son aquellas que se hacen en
la solicitud correspondiente”.

VENTAJAS Y DESVENTAJAS DE LOS SERVICIOS WEB

El uso de los servicios web brinda algunas ventajas como los menciona (IONOS, 2020)
“la ventaja principal de los servicios web es que la comunicación no depende de una
plataforma determinada, por lo que el cliente y el servidor apenas han de presentar
rasgos en común para poder comunicarse. Para ello, la tecnología web service recurre a
formatos estandarizados que interpretan todos los sistemas”.

Por otro lado, no todo puede ser bueno, es así que también presenta desventajas como
lo indica (IONOS, 2020) “pero en estos formatos es donde encontramos una de las
desventajas. Precisamente, XML es un formato más bien voluminoso que genera
grandes paquetes de datos, lo que puede crear problemas en las conexiones de red
lentas. Otra posibilidad que permite conectar a dos sistemas a través de Internet son las
API web. Aunque, por lo general, son más rápidas, someten a cliente y servidor a
especificaciones más concretas, con lo que la interoperabilidad se ve limitada”.

API

Ahora tocaremos el termino API que es una forma en cómo se pueden comunicar varias
aplicaciones, una definición de este término nos lo brinda (Fernández, 2019) que nos
© Universidad Estatal de Milagro – UNEMI

indica “el término API es una abreviatura de Application Programming Interfaces, que
en español significa interfaz de programación de aplicaciones. Se trata de un conjunto
de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las
aplicaciones, permitiendo la comunicación entre dos aplicaciones de software a través
de un conjunto de reglas”.

Debemos tener claro que para utilizar las API para nuestro desarrollo primero debemos
tener los permisos asignados por el creador de la API o dueño de la misma como
menciona (Fernandez, 2019) a continuación “podemos hablar de una API como una
especificación formal que establece cómo un módulo de un software se comunica o
interactúa con otro para cumplir una o muchas funciones. Todo dependiendo de las

FORMATO CONTROLADO: FR0018/ v3.0 8


Tópicos webs avanzados

aplicaciones que las vayan a utilizar, y de los permisos que les dé el propietario de la API
a los desarrolladores de terceros”.

Una de las principales funciones de un API es ayudarnos hacer más fácil nuestro trabajo
en el sentido que no deberemos implementar procesos que ya se han creado antes
como nos explica (Fernández, 2019) indica lo siguiente “una de las principales funciones
de las API es poder facilitarles el trabajo a los desarrolladores y ahorrarles tiempo y
dinero. Por ejemplo, si estás creando una aplicación que es una tienda online, no
necesitarás crear desde cero un sistema de pagos u otro para verificar si hay stock
disponible de un producto. Podrás utilizar la API de un servicio de pago ya existente, por
ejemplo: PayPal, y pedirle a tu distribuidor una API que te permita saber el stock que
ellos tienen”.

Si lo pensamos es más fácil utilizar procesos ya elaborados, testeados y que además la


mayoría de los usuarios ya saben utilizarlo como bien menciona (Fernández, 2019)
expresa lo siguiente “con ello, no será necesario tener que reinventar la rueda con cada
servicio que se crea, ya que podrás utilizar piezas o funciones que otros ya han creado.
Imagínate que cada tienda online tuviera que tener su propio sistema de pago, para los
usuarios normales es mucho más cómodo poder hacerlo con los principales servicios
que casi todos utilizan”.

FUNCIONAMIENTO DE LAS API

Las API en general permiten la comunicación que nuestros productos y servicios


(tecnológicamente hablando) se comuniquen con otros sin la necesidad de saber cómo
fueron implementados como lo afirma (Red Hat, 2017) expresa lo siguiente “Las API
permiten que sus productos y servicios se comuniquen con otros, sin necesidad de saber
cómo están implementados. Esto simplifica el desarrollo de las aplicaciones y permite
ahorrar tiempo y dinero. Las API le otorgan flexibilidad; simplifican el diseño, la
administración y el uso de las aplicaciones; y ofrecen oportunidades de innovación, lo
© Universidad Estatal de Milagro – UNEMI

cual es ideal al momento de diseñar herramientas y productos nuevos (o de gestionar


los actuales)”.

Las API brindan la posibilidad de tener un medio simplificado para conectar la


infraestructura de una empresa incluso con el desarrollo de aplicaciones nativas en la
nube es así como (Red Hat, 2017) lo menciona “las API son un medio simplificado para
conectar su propia infraestructura a través del desarrollo de aplicaciones nativas de la
nube, pero también le permiten compartir sus datos con clientes y otros usuarios
externos. Las API públicas aportan un valor comercial único porque simplifican y amplían
sus conexiones con los partners y, además, pueden rentabilizar sus datos (un ejemplo
conocido es la API de Google Maps)”.

FORMATO CONTROLADO: FR0018/ v3.0 9


Tópicos webs avanzados

Imagen 2: Funcionamiento de una API

Nota. Adaptado ¿Qué es una API?, por Red Hat. 2017,


https://www.redhat.com/es/topics/api/what-are-application-programming-interfaces

POLITICAS DE LANZAMIENTO DE LAS API

Para el lanzamiento o publicación de una API se debe tomar en cuenta quien va a poder
utilizarla o si es de uso exclusivo de nuestra empresa es por ello que existen tres políticas
de lanzamiento de una API, las mismas se explican brevemente a continuación:

PRIVADO

Según (Red Hat, 2017) indica que “las API solo se pueden usar internamente, así
que las empresas tienen un mayor control sobre ellas. Esto les da a las empresas
un mayor control sobre sus API”.

DE PARTNERS
© Universidad Estatal de Milagro – UNEMI

Sobre este tipo de política (Red Hat, 2017) menciona que “las API se comparten
con partners empresariales específicos, lo cual puede ofrecer flujos de ingresos
adicionales, sin comprometer la calidad. Esto puede proporcionar flujos de
ingreso adicionales, sin comprometer la calidad.”

PÚBLICO

En el caso de la política pública (Red Hat, 2017) indica que “Todos tienen acceso
a las API, así que otras empresas pueden desarrollar API que interactúen con las
de usted y así convertirse en una fuente de innovaciones. Esto permite que
terceros desarrollen aplicaciones que interactúan con su API, y puede ser un
recurso para innovar.”

FORMATO CONTROLADO: FR0018/ v3.0 10


Tópicos webs avanzados

API REMOTA

Las API remotas se diseñaron con el objetivo de interactuar con la información que no
se encuentra en el computador que envía la solicitud como bien menciona (Red Hat,
2017) expresa que “Las API remotas están diseñadas para interactuar en una red de
comunicaciones. La palabra remota indica que los recursos que administra la API se
encuentran fuera de la computadora que envía la solicitud. Dado que la red de
comunicaciones más usada es Internet, la mayoría de las API están diseñadas de acuerdo
con los estándares web. No todas las API remotas son API web, pero se puede suponer
que las API web son remotas”.

Una API generalmente devuelve una respuesta en dos formatos que son los más
utilizados como son JSON y XML es asi como lo indica (Red Hat, 2017) de la siguiente
manera “por lo general, las API web usan HTTP para los mensajes de solicitud y
proporcionan una definición de la estructura de los mensajes de respuesta. Estos
mensajes de respuesta suelen ser archivos XML o JSON, que son los formatos preferidos,
porque presentan los datos de manera tal que otras aplicaciones puedan manipularlos
fácilmente”.

REST

Rest es una interfaz con la cual se puede conectar varios sistemas que se encuentren
basados en el protocolo HTTP es así como lo menciona (Rosa, 2018) lo expresa así “REST
es una interfaz para conectar varios sistemas basados en el protocolo HTTP (uno de los
protocolos más antiguos) y nos sirve para obtener y generar datos y operaciones,
devolviendo esos datos en formatos muy específicos, como XML y JSON”.

Rest por su parte hace uso de los verbos HTTP, esto lo indica (Rosa, 2018) sobre los
verbos HTTP de las siguientes maneras “REST se apoya en HTTP, los verbos que utiliza
son exactamente los mismos, con ellos se puede hacer GET, POST, PUT y DELETE. De
aquí surge una alternativa a SOAP”.
© Universidad Estatal de Milagro – UNEMI

Si hablamos de SOAP que es otra manera de implementar un servicio web esta es más
compleja de implementar como afirma (Rosa, 2018) de la siguiente manera “Cuando
hablamos de SOAP hablamos de una arquitectura divididas por niveles que se utilizaba
para hacer un servicio, es más complejo de montar como de gestionar y solo trabajaba
con XML. Ahora bien, REST llega a solucionar esa complejidad que añadía SOAP,
haciendo mucho más fácil el desarrollo de una API REST, en este caso de un servicio en
el cual nosotros vamos a almacenar nuestra lógica de negocio y vamos servir los datos
con una serie de recursos URL y una serie de datos que nosotros los limitaremos, es
decir, será nuestro BACKEND nuestra lógica pura de negocios que nosotros vamos a
utilizar”.

FORMATO CONTROLADO: FR0018/ v3.0 11


Tópicos webs avanzados

Una diferencia muy definida entre los servicios web clásicos como SOAP y un servicio
REST es la orientación de cada uno, es así como lo menciona (desarrolloweb, 2021) “una
diferencia fundamental entre un servicio web clásico (SOAP) y un servicio REST es que
el primero está orientado a RPC, es decir, a invocar métodos sobre un servicio remoto,
mientras que el segundo está orientado a recursos. Es decir, operamos sobre recursos,
no sobre servicios. En una API REST la idea de “servicio” como tal desaparece. Lo que
tenemos son recursos, accesibles por identificadores (URIs). Sobre esos recursos
podemos realizar acciones, generalmente diferenciadas a través de verbos HTTP
distintos”.

METODOS HTTP EN REST

En Rest utilizamos lo denominados métodos HTTP los cuales han existido desde siempre
con este protocolo, pero que hasta la aparición de Rest muy poco se los utilizaba, los
utilizaremos para expresar o comunicar que tipo de operación es la que se va a realizar
sobre los recursos que van a ser ofrecidos por los servicios web. (desarrolloweb, 2021)

Estos métodos son:

• GET. Que se lo va utilizar para las operaciones de consulta de datos, por ejemplo,
un listado de personas con sus datos principales o a su vez consultar los datos de
una persona determinada, en ambas ocasiones el método utilizado será el GET.
(desarrolloweb, 2021)
• POST. Se lo va utilizar para las operaciones de inserción de datos. (desarrolloweb,
2021)
• PUT. Se lo utilizara para realizar las operaciones de modificación. (desarrolloweb,
2021)
• PATCH. Es parecido al PUT, pero con este se realiza operaciones parciales en la
modificación de un recurso. (desarrolloweb, 2021)
• DELETE. Con este se enfocará a la operación relacionada a la eliminación de un
© Universidad Estatal de Milagro – UNEMI

recurso dado. (desarrolloweb, 2021)

VENTAJAS DE REST

SEPARACIÓN ENTRE EL CLIENTE Y EL SERVIDOR

Según (Patiño, 2016) lo expresa de la siguiente forma “Nuestros proyectos se


vuelven autónomos, por lo tanto, no interesa si dicha tecnología es compatible
con la otra ya que usaremos como un medio de comunicación JSON”.

FORMATO CONTROLADO: FR0018/ v3.0 12


Tópicos webs avanzados

NO IMPORTA LA TECNOLOGÍA

Sobre esta ventaja (Patiño, 2016) indica lo siguiente “Si eres PHP, .NET, Java,
Ruby, etc da igual, al final solo necesitas saber cómo consumir/responder al
servicio”.

ESCALABILIDAD, FLEXIBILIDAD

Relacionado a estos dos términos (Patiño, 2016) expresa lo siguiente “Realiza los
cambios que quieras dentro de tu Api, lo que interesa es que se respete el mismo
mensaje o respuesta que le brindas al cliente para mantener la misma lógica”.

MEJORA DE RECURSOS CONSUMIDOS POR EL SERVIDOR

Sobre esta afirmación (Patiño, 2016) indica lo siguiente “REST no debe usar
sesiones, por lo tanto, disponemos de más memoria RAM. Lo correcto es trabajar
con formatos estandarizados como JSON no haremos uso de HTML para
responder al cliente. En este caso ganamos velocidad”.

INDEPENDIENTE DE PLATAFORMA

Sobre este enunciado (Rosa, 2018) indica que “es totalmente independiente de
la plataforma, así que podemos hacer uso de REST tanto en Windows, Linux, Mac
o el sistema operativo que nosotros queramos”.

ARQUITECTURA DE REST

Respecto a la arquitectura que utiliza Rest es claramente la arquitectura cliente –


servidor, es así como (Nota Tecnológica, s.f) explica la arquitectura cliente servidor de la
siguiente manera “Cuando se habla de esta arquitectura, se hace referencia
básicamente a un determinado cliente que ejecuta diversas peticiones a otro programa,
el cual se considera como el servidor que será el encargado de proporcionar una
respuesta. Como podemos observar, la arquitectura cliente servidor cuenta con dos
© Universidad Estatal de Milagro – UNEMI

distintas partes que se diferencian entre sí, por un lado, tenemos al cliente y por el otro
lado tenemos al servidor, el cual es bastante habitual que sea una determinada máquina
con gran potencia y que, además, cuente con un hardware y un software específico. Los
cuales deben funcionar como un depósito de diversos datos específicos, e incluso,
funcionar como un respectivo sistema gestor de base de datos o de aplicaciones. En esta
determinada arquitectura, el cliente tiendes a ser diversas estaciones de trabajo, las
cuales solicitan varios servicios al servidor”.

FORMATO CONTROLADO: FR0018/ v3.0 13


Tópicos webs avanzados

Imagen 3: Arquitectura Cliente Servidor

Nota. Adaptado ARQUITECTURA CLIENTE-SERVIDOR: ¿DE QUÉ TRATA?, por Nota


Tecnológica. s.f, https://notatecnologica.com/programas/arquitectura-cliente-
servidor/

API REST

Una API Rest en pocas palabras es una API que tiene la opción de acoplarse a la
arquitectura de Rest como (IBM, 2021) menciona “Una API REST es una API que se ajusta
a los principios de diseño de REST, un estilo de arquitectura también denominado
transferencia de estado representacional. Por este motivo, las API REST son a veces
denominadas API RESTful. REST, definido por primera vez en el año 2000 por el científico
de la computación Dr. Roy Fielding en su tesis doctoral, proporciona un nivel
relativamente alto de flexibilidad y libertad para los desarrolladores. Dicha flexibilidad
es solo una razón por la que las API REST han surgido como un método común para
© Universidad Estatal de Milagro – UNEMI

conectar componentes y aplicaciones en una arquitectura de microservicios”.

CARACTERISTICAS

Protocolo cliente/servidor sin estado

En las peticiones HTTP se guarda toda la información de la misma, es por ello que
ni el cliente ni servidor necesitan almacenar información del estado que
manejaban como lo afirma (BBVA, 2016) “cada petición HTTP contiene toda la
información necesaria para ejecutarla, lo que permite que ni cliente ni servidor
necesiten recordar ningún estado previo para satisfacerla. Aunque esto es así,

FORMATO CONTROLADO: FR0018/ v3.0 14


Tópicos webs avanzados

algunas aplicaciones HTTP incorporan memoria caché. Se configura lo que se


conoce como protocolo cliente-caché-servidor sin estado: existe la posibilidad de
definir algunas respuestas a peticiones HTTP concretas como cacheables, con el
objetivo de que el cliente pueda ejecutar en un futuro la misma respuesta para
peticiones idénticas”.

Los objetos en REST siempre se manipulan a partir de la URI

Sobre la URI en Rest (BBVA, 2016) indica que “Es la URI y ningún otro elemento
el identificador único de cada recurso de ese sistema REST. La URI nos facilita
acceder a la información para su modificación o borrado, o, por ejemplo, para
compartir su ubicación exacta con terceros”.

Interfaz uniforme

Sobre este tema (BBVA, 2016) hace referencia que “para la transferencia de
datos en un sistema REST, este aplica acciones concretas (POST, GET, PUT y
DELETE) sobre los recursos, siempre y cuando estén identificados con una URI.
Esto facilita la existencia de una interfaz uniforme que sistematiza el proceso con
la información”.

Uso de hipermedios

Con respecto a hipermedia (BBVA, 2016) indica que “en el caso de una API REST,
el concepto de hipermedia explica la capacidad de una interfaz de desarrollo de
aplicaciones de proporcionar al cliente y al usuario los enlaces adecuados para
ejecutar acciones concretas sobre los datos. Para cualquier API REST es
obligatorio disponer del principio HATEOAS (Hypermedia As The Engine Of
Application State – Hipermedia Como Motor del Estado de la Aplicación) para ser
una verdadera API REST. Este principio es el que define que cada vez que se hace
una petición al servidor y éste devuelve una respuesta, parte de la información
© Universidad Estatal de Milagro – UNEMI

que contendrá serán los hipervínculos de navegación asociada a otros recursos


del cliente”.

EJEMPLO DE API REST

A continuación, se presentará un pequeño ejemplo a una API generada con python y el


paquete de FastAPI con la cual podemos crear rápidamente API con python.

Primero deberemos instalar los paquetes de FastAPI y de Uvicorn como se muestra en


la imagen, estos paquetes los usaremos en la creación de la API y su posterior prueba.

FORMATO CONTROLADO: FR0018/ v3.0 15


Tópicos webs avanzados

Imagen 4: Comandos para instalar fastapi y uvicorn

Nota. Adaptado de Cómo crear una API en Python, por Fernández, A. s.f,
https://anderfernandez.com/blog/como-crear-api-en-python/

En un fichero de nuestra app vamos a crear el código de la API recordemos que debemos
utilizar los verbos HTTP (get, put, post, patch y delete) en este caso vamos a utilizar el
verbo Get como se ve en la imagen. En la imagen se muestra un ejemplo de un hola
mundo. (Fernández, s.f)

Imagen 5: Estructura de un método de una API con el verbo GET

Nota. Adaptado de Cómo crear una API en Python, por Fernández, A. s.f,
https://anderfernandez.com/blog/como-crear-api-en-python/
© Universidad Estatal de Milagro – UNEMI

Como mencionamos al inicio debemos crear el código en un fichero de python como por
ejemplo en main.py para probar como funciona nuestra API utilizamos el siguiente
comando presentado en la imagen. (Fernández, s.f)

Imagen 6: Código para probar la API con uvicorn

FORMATO CONTROLADO: FR0018/ v3.0 16


Tópicos webs avanzados

Nota. Adaptado de Cómo crear una API en Python, por Fernández, A. s.f,
https://anderfernandez.com/blog/como-crear-api-en-python/

Paso seguido a esto ya podemos probar si funciona nuestra API ingresando en nuestro
navegador e ingresamos al localhost del navegador, lo que si debemos verificar es el
puerto en el que trabaja uvicorn en este caso es el 8000 como se aprecia en la imagen
se muestra el método que creamos y podemos utilizarlo. (Fernández, s.f)

Imagen 7: Prueba de la API en navegador

Nota. Adaptado de Cómo crear una API en Python, por Fernández, A. s.f,
https://anderfernandez.com/blog/como-crear-api-en-python/
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 17


Tópicos webs avanzados

2.2 Subtema 2: Implementación de Microservicios


MICROSERVICIOS

Los microservicios son servicios independientes como lo menciona (AWS, s.f) “Los
microservicios son un enfoque arquitectónico y organizativo para el desarrollo de
software donde el software está compuesto por pequeños servicios independientes que
se comunican a través de API bien definidas. Los propietarios de estos servicios son
equipos pequeños independientes. Las arquitecturas de microservicios hacen que las
aplicaciones sean más fáciles de escalar y más rápidas de desarrollar. Esto permite la
innovación y acelera el tiempo de comercialización de las nuevas características”.

La arquitectura de microservicios tiene un enfoque distinto a la arquitectura monolítica


es así como (AWS, s.f) lo expresa “Con una arquitectura de microservicios, una aplicación
se crea con componentes independientes que ejecutan cada proceso de la aplicación
como un servicio. Estos servicios se comunican a través de una interfaz bien definida
mediante API ligeras. Los servicios se crean para las capacidades empresariales y cada
servicio desempeña una sola función. Debido a que se ejecutan de forma independiente,
cada servicio se puede actualizar, implementar y escalar para satisfacer la demanda de
funciones específicas de una aplicación”.

Imagen 8: Arquitectura monolítica y de microservicios


© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Microservicios, por AWS. s.f,


https://aws.amazon.com/es/microservices/

FORMATO CONTROLADO: FR0018/ v3.0 18


Tópicos webs avanzados

CARACTERISTICAS DE LOS MICROSERVICIOS

Agilidad

Sobre esta característica (AWS, s.f) “los microservicios fomentan una organización de
equipos pequeños e independientes que se apropian de los servicios. Los equipos actúan
en un contexto pequeño y bien comprendido, y están facultados para trabajar de forma
más independiente y más rápida. Esto acorta los tiempos del ciclo de desarrollo. Usted
se beneficia significativamente del aumento de rendimiento de la organización”.

Escalado flexible

Referente a este tema (AWS, s.f) menciona que “los microservicios permiten que cada
servicio se escale de forma independiente para satisfacer la demanda de la característica
de la aplicación que respalda. Esto permite a los equipos adecuarse a las necesidades de
la infraestructura, medir con precisión el costo de una característica y mantener la
disponibilidad si un servicio experimenta un aumento en la demanda”.

Implementación sencilla

Este tipo se servicios manejan una implementación sencilla como menciona (AWS, s.f)
“los microservicios permiten la integración y la entrega continuas, lo que facilita probar
nuevas ideas y revertirlas si algo no funciona. El bajo costo de los errores permite
experimentar, facilita la actualización del código y acelera el tiempo de comercialización
de las nuevas características”.

Libertad tecnológica

Sobre este tema (AWS, s.f) expresa “las arquitecturas de microservicios no siguen un
enfoque de "diseño único". Los equipos tienen la libertad de elegir la mejor herramienta
para resolver sus problemas específicos. Como consecuencia, los equipos que crean
microservicios pueden elegir la mejor herramienta para cada trabajo”.

Código reutilizable
© Universidad Estatal de Milagro – UNEMI

Es importante mencionar esta característica pues como indica (AWS, s.f) lo siguiente “la
división del software en módulos pequeños y bien definidos les permite a los equipos
usar funciones para diferentes propósitos. Un servicio escrito para una determinada
función se puede usar como un componente básico para otra característica. Esto
permite que una aplicación arranque por sí sola, ya que los desarrolladores pueden crear
nuevas capacidades sin tener que escribir código desde cero”.

Resistencia

Sobre esta característica (AWS, s.f) expresa lo siguiente “La independencia del servicio
aumenta la resistencia de una aplicación a los errores. En una arquitectura monolítica,

FORMATO CONTROLADO: FR0018/ v3.0 19


Tópicos webs avanzados

un error en un solo componente, puede provocar un error en toda la aplicación. Con los
microservicios, si hay un error en todo el servicio, las aplicaciones lo manejan
degradando la funcionalidad sin bloquear toda la aplicación”.

EJEMPLO DE IMPLEMENTACION DE MICROSERVICIOS

Vamos a presentar un pequeño ejemplo sobre microservicios con Django, para ello
vamos a crear los elementos necesarios que se maneja en el modelo MVT de Django.

Primero vamos a crear el modelo con los datos que se va a manejar, cabe recalcar que
estos datos definidos en el modelo se van a crear en una tabla de la base de datos.
(Zaforas, 2017)

Imagen 9: Modelo

Nota. Adaptado de Cómo implementar microservicios conPython en minutos. Por


Zaforas. 2017, https://www.paradigmadigital.com/dev/implementar-microservicios-
python-minutos/

En la vista vamos a implementar la funcionalidad que vamos a ofrecer la cual va a estar


asociada en el presente microservicio a los recursos expuestos en el modelo. (Zaforas,
2017)
© Universidad Estatal de Milagro – UNEMI

Como menciona (Zaforas, 2017) debemos tener en cuenta lo siguiente “En la vista le
indicamos a Django que queremos basarnos en el modelo “Customer”, que hemos
definido para construir un API asociada a este modelo. Al heredar de “ModelViewSet”
el API que expondremos será CRUD y ofrecerá los siguientes métodos:

POST /api/customers/

GET /api/customers/

PUT /api/customers/{pk}/

DELETE /api/customers/{pk}/

FORMATO CONTROLADO: FR0018/ v3.0 20


Tópicos webs avanzados

GET /api/customers/{pk}/

PATCH /api/customers/{pk}/ “.

Imagen 10: Vista

Nota. Adaptado de Cómo implementar microservicios conPython en minutos. Por


Zaforas. 2017, https://www.paradigmadigital.com/dev/implementar-microservicios-
python-minutos/

Por ultimo debemos crear un archivo definido como test.py en el cual se va a preparar
un grupo de datos de prueba para verificar el funcionamiento de los microservicios
que se crearon. (Zaforas, 2017)

Imagen 11. Test.py


© Universidad Estatal de Milagro – UNEMI

Nota. Adaptado de Cómo implementar microservicios conPython en minutos. Por


Zaforas. 2017, https://www.paradigmadigital.com/dev/implementar-microservicios-
python-minutos/

Para probar el funcionamiento del API con los microservicios, podemos utilizar
diferentes herramientas como por ejemplo Swagger que sirve para probar la
documentación de los microservicios, o en su defecto usar la herramienta incluida con
el framework de Django. (Zaforas, 2017)

FORMATO CONTROLADO: FR0018/ v3.0 21


Tópicos webs avanzados

Imagen 12: Test de los microservicios

Nota. Adaptado de Cómo implementar microservicios conPython en minutos. Por


Zaforas. 2017, https://www.paradigmadigital.com/dev/implementar-microservicios-
python-minutos/
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 22


Tópicos webs avanzados

3. Preguntas de Comprension de la
Unidad
1. ¿Cuál es un tipo se servicio web?
o SOAP
o IIS
o SAOP

2. ¿Qué significa REST?


o Representation Status Travel
o Representational State Transfer
o Representacion Social Tuning

3. ¿Cuál es una de las formas en cómo puede lanzarse un API?


o Social
o Pública
o Secreta

4. ¿Cuál es un verbo HTTP?


o COUNT
o GET
o FOUND

5. ¿Cuál es el verbo HTTP con el que se puede indicar que se va a eliminar un recurso?
o PUT
o POST
o DELETE
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 23


Tópicos webs avanzados

4. Informacion de los subtemas

Los siguientes recursos complementarios son sugerencias para que se pueda ampliar la
información sobre el tema trabajado, como parte de su proceso de aprendizaje
autónomo:

Videos de apoyo:
• https://www.youtube.com/watch?v=XqRBb_4CLS4
• https://www.youtube.com/watch?v=bKbPTu4w_8k
• https://www.youtube.com/watch?v=zV6W9GrWLPg

Links de apoyo:
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 24


Tópicos webs avanzados

5. Bibliografía

» Ceupe. (s.f). ¿Qué son los servicios web?. Recuperado de


https://www.ceupe.com/blog/que-son-los-servicios-web.html
» Carranza, A. (2021). ¿Qué es un web service? ¡Intercambia datos de un sistema
a otro en segundos!. Recuperado de
https://www.crehana.com/ec/blog/desarrollo-web/que-es-web-service/
» Universidad de alicante. (2014). Introducción a los Servicios Web. Invocación de
servicios web SOAP. Recuperado de http://www.jtech.ua.es/j2ee/publico/servc-
web-2012-13/sesion01-apuntes.html
» IONOS. (2020). Web services: servicios de máquina a máquina. Recuperado de
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/web-services/
» Fernández, Y. (2019). API: qué es y para qué sirve. Recuperado de
https://www.xataka.com/basics/api-que-sirve
» Red Hat. (2017). ¿Qué es una API?. Recuperado de
https://www.redhat.com/es/topics/api/what-are-application-programming-
interfaces
» Rosa, J. (2018). ¿Qué es REST? Conoce su potencia. Recuperado de
https://openwebinars.net/blog/que-es-rest-conoce-su-potencia/
» Desarrolloweb. (2021). Qué es REST. Recuperado de
https://desarrolloweb.com/articulos/que-es-rest-caracteristicas-sistemas.html
» Patiño, R. (2016). ¿QUÉ ES REST?. Recuperado de https://anexsoft.com/que-es-
rest
» Nota tecnológica. (s.f). ARQUITECTURA CLIENTE-SERVIDOR: ¿DE QUÉ TRATA?.
Recuperado de https://notatecnologica.com/programas/arquitectura-cliente-
servidor/
» BBVA. (2016). API REST: qué es y cuáles son sus ventajas en el desarrollo de
proyectos. Recuperado de https://www.bbvaapimarket.com/es/mundo-api/api-
© Universidad Estatal de Milagro – UNEMI

rest-que-es-y-cuales-son-sus-ventajas-en-el-desarrollo-de-proyectos/
» IBM. (2021). API REST. Recuperado de https://www.ibm.com/pe-
es/cloud/learn/rest-apis
» Fernandez, A. (s.f). Cómo crear una API en Python. Recuperado de
https://anderfernandez.com/blog/como-crear-api-en-python/
» AWS. (s.f). Microservicios. Recuperado de
https://aws.amazon.com/es/microservices/
» Zaforas, M. (2017). Cómo implementar microservicios conPython en minutos.
Recuperado de https://www.paradigmadigital.com/dev/implementar-
microservicios-python-minutos/

FORMATO CONTROLADO: FR0018/ v3.0 25


Tópicos webs avanzados
© Universidad Estatal de Milagro – UNEMI

FORMATO CONTROLADO: FR0018/ v3.0 26


Desarrollo de Aplicaciones Web

Unidad 4
Tópicos Web Avanzados

TEMA 2:
Desarrollo de Microservicios con Python

Ing. Ronald Henry Díaz A. Msc


Utilizar auriculares con micrófono.

Utilizar una conexión de internet por cable.

Elegir un lugar tranquilo y sin ruidos.

Ingresar algunos minutos antes de iniciar la videoconferencia.

Silenciar su micrófono.

Levantar la mano para pedir la palabra.


SUBTEMAS

➢ Subtema 1: Api RESTFul.

➢ Subtema 2: Implementación de Microservicios.


Objetivo

Aplicar los conceptos técnicos para una


adecuada administración de servidores
web, como también para la aplicación
de la arquitectura de Microservicios.
ACTIVIDAD INICIAL
Aplicación Aplicación
monolítica basada en
microservicios
Introducción.

Las API permiten que sus productos y servicios


se comuniquen con otros, sin necesidad de
saber cómo están implementados.

Esto simplifica el desarrollo de las aplicaciones


y permite ahorrar tiempo y dinero. Las API le
otorgan flexibilidad; simplifican el diseño, la
administración y el uso de las aplicaciones.
Subtema 1: Api RESTFul
Servicios Web

Un servicio web es un software con un


formato basado en texto que funciona
con Internet.

Se encarga de permitir la transmisión de


solicitudes y respuestas entre diferentes
servidores o aplicaciones, sin importar
las diferencias que existan entre los
lenguajes de programación o la
plataforma en la que se ejecutan.
Subtema 1: Api RESTFul
Servicios Web

Un web service es como su nombre lo


indica, un servicio que hace posible la
comunicación de máquina a máquina y
el intercambio de datos entre
aplicaciones a través de una red de
Internet.
Subtema 1: Api RESTFul

CARACTERISTICAS DE UN SERVICIO WEB

Utilizar protocolos de transporte


estándares como HTTP, y codifica los
mensajes en un lenguaje estándar que
pueda conocer cualquier cliente que
quiera utilizar el servicio.
Subtema 1: Api RESTFul

CARACTERISTICAS DE UN SERVICIO WEB

Un servicio debe contener una


descripción de sí mismo. De esta forma,
una aplicación podrá saber cuál es la
función de un determinado Servicio
Web, y cuál es su interfaz.
Subtema 1: Api RESTFul
CARACTERISTICAS DE UN SERVICIO WEB

Debe tener la facultad de ser localizado.


Tener algún mecanismo que nos permita
encontrar un Servicio Web que realice una
determinada función.

De esta forma tendremos la posibilidad de


que una aplicación localice el servicio que
necesite de forma automática, sin tener
que conocerlo previamente el usuario
Subtema 1: Api RESTFul
TIPOS DE SERVICIOS WEB

SOAP

Los servicios Web SOAP, o servicios Web


"big", utilizan mensajes XML para
intercomunicarse que siguen el estándar
SOAP (Simple Object Access Protocol), un
lenguaje XML que define la arquitectura y
formato de los mensajes.
Subtema 1: Api RESTFul
TIPOS DE SERVICIOS WEB

RESTFul

Los servicios Web RESTful se suelen


integrar mejor con HTTP que los servicios
basado en SOAP, ya que no requieren
mensajes XML o definciones del servicio
en forma de fichero WSDL.
Subtema 1: Api RESTFul
API
El término API es una abreviatura de
Application Programming Interfaces, que en
español significa interfaz de programación
de aplicaciones.

Se trata de un conjunto de definiciones y


protocolos que se utiliza para desarrollar e
integrar el software de las aplicaciones,
permitiendo la comunicación entre dos
aplicaciones de software a través de un
conjunto de reglas.
Subtema 1: Api RESTFul

FUNCIONAMIENTO DE LAS API

Las API permiten que sus productos y


servicios se comuniquen con otros, sin
necesidad de saber cómo están
implementados.

Esto simplifica el desarrollo de las


aplicaciones y permite ahorrar tiempo y
dinero.
Subtema 1: Api RESTFul
FUNCIONAMIENTO DE LAS API

Las API le otorgan flexibilidad; simplifican


el diseño, la administración y el uso de
las aplicaciones.

Ofrecen oportunidades de innovación, lo


cual es ideal al momento de diseñar
herramientas y productos nuevos (o de
gestionar los actuales)”.
Subtema 1: Api RESTFul
POLITICAS DE LANZAMIENTO

PRIVADO
DE LAS API

DE PARTNERS

PÚBLICO
Subtema 1: Api RESTFul
API REMOTA

Las API remotas están diseñadas para


interactuar en una red de
comunicaciones.

La palabra remota indica que los


recursos que administra la API se
encuentran fuera de la computadora que
envía la solicitud.
Subtema 1: Api RESTFul
API REMOTA

Dado que la red de comunicaciones más


usada es Internet, la mayoría de las API
están diseñadas de acuerdo con los
estándares web.

No todas las API remotas son API web,


pero se puede suponer que las API web
son remotas
Subtema 1: Api RESTFul
API REMOTA

Por lo general, las API web usan HTTP


para los mensajes de solicitud y
proporcionan una definición de la
estructura de los mensajes de respuesta.

Estos mensajes de respuesta suelen ser


archivos XML o JSON, que son los
formatos preferidos, porque presentan
los datos de manera tal que otras
aplicaciones puedan manipularlos
fácilmente.
Subtema 1: Api RESTFul
REST

REST es una interfaz para conectar varios


sistemas basados en el protocolo HTTP
(uno de los protocolos más antiguos) y
nos sirve para obtener y generar datos y
operaciones, devolviendo esos datos en
formatos muy específicos, como XML y
JSON
Subtema 1: Api RESTFul

METODOS HTTP EN REST

En Rest utilizamos lo denominados


métodos HTTP los cuales han existido
desde siempre con este protocolo, pero
que hasta la aparición de Rest muy poco
se los utilizaba.
Subtema 1: Api RESTFul

GET

Se utiliza para las operaciones de


consulta de datos, por ejemplo, un
listado de personas con sus datos
principales o a su vez consultar los datos
de una persona determinada, en ambas
ocasiones el método utilizado será el
GET.
Subtema 1: Api RESTFul
POST

Se utiliza para las operaciones de


inserción de datos.

PUT
Se utiliza para realizar las operaciones de
modificación.

DELETE

Con este se enfocará a la operación


relacionada a la eliminación de un
recurso dado.
Subtema 1: Api RESTFul

POST

Se utiliza para las operaciones de


inserción de datos.

PUT
Se utiliza para realizar las operaciones de
modificación.
Subtema 1: Api RESTFul
API REST

Una API REST es una API que se ajusta a los


principios de diseño de REST, un estilo de
arquitectura también denominado
transferencia de estado representacional.

Por este motivo, las API REST son a veces


denominadas API RESTful.
Subtema 1: Api RESTFul
API REST
REST, definido por primera vez en el año
2000 por el científico de la computación Dr.
Roy Fielding en su tesis doctoral,
proporciona un nivel relativamente alto de
flexibilidad y libertad para los
desarrolladores.

Dicha flexibilidad es solo una razón por la


que las API REST han surgido como un
método común para conectar
componentes y aplicaciones en una
arquitectura de microservicios.
Subtema 1: Api RESTFul
EJEMPLO DE API REST

A continuación, se presentará un pequeño


ejemplo a una API generada con python y el
paquete de FastAPI con la cual podemos
crear rápidamente API con python.

Primero deberemos instalar los paquetes de


FastAPI y de Uvicorn como se muestra en la
imagen, estos paquetes los usaremos en la
creación de la API y su posterior prueba.
Subtema 1: Api RESTFul

EJEMPLO DE API REST

En un fichero de nuestra app vamos a crear


el código de la API recordemos que
debemos utilizar los verbos HTTP (get, put,
post, patch y delete) en este caso vamos a
utilizar el verbo Get.

En la imagen se muestra un ejemplo de un


hola mundo
Subtema 1: Api RESTFul

EJEMPLO DE API REST

Ahora debemos crear el código en un


fichero de python como por ejemplo en
main.py para probar como funciona
nuestra API utilizamos el siguiente
comando presentado en la imagen
Subtema 1: Api RESTFul
EJEMPLO DE API REST

Finalmente ya podemos probar si funciona


nuestra API ingresando en nuestro
navegador e ingresamos al localhost del
navegador, lo que si debemos verificar es
el puerto en el que trabaja uvicorn.

Como se aprecia en la imagen se muestra


el método que creamos y podemos
utilizarlo
Subtema 2: Implementación de Microservicios

MICROSERVICIOS

Los microservicios son un enfoque


arquitectónico y organizativo para el
desarrollo de software donde el software
está compuesto por pequeños servicios
independientes que se comunican a través
de API bien definidas.

Los propietarios de estos servicios son


equipos pequeños independientes.
Subtema 2: Implementación de Microservicios
MICROSERVICIOS

Las arquitecturas de microservicios hacen


que las aplicaciones sean más fáciles de
escalar y más rápidas de desarrollar.

Esto permite la innovación y acelera el


tiempo de comercialización de las nuevas
características).
Subtema 2: Implementación de Microservicios

Agilidad
CARACTERISTICAS DE LOS
MICROSERVICIOS

Escalado flexible

Implementación sencilla

Libertad tecnológica

Código reutilizable
Subtema 2: Implementación de Microservicios

Ejemplo de implementación de microservicios

Primero vamos a crear el modelo con los


datos que se va a manejar, cabe recalcar que
estos datos definidos en el modelo se van a
crear en una tabla de la base de datos.
Subtema 2: Implementación de Microservicios
Ejemplo de implementación de microservicios

En la vista vamos a implementar la


funcionalidad que vamos a ofrecer la cual va
a estar asociada en el presente microservicio
a los recursos expuestos en el modelo.

En la vista le indicamos a Django que


queremos basarnos en el modelo
“Customer”, que hemos definido para
construir un API asociada a este modelo.
Subtema 2: Implementación de Microservicios
Ejemplo de implementación de microservicios

Por ultimo debemos crear un archivo


definido como test.py en el cual se va a
preparar un grupo de datos de prueba para
verificar el funcionamiento de los
microservicios que se crearon.
Subtema 2: Implementación de Microservicios

Ejemplo de implementación de microservicios

Para probar el funcionamiento del API con


los microservicios, podemos utilizar
diferentes herramientas como por ejemplo
Swagger que sirve para probar la
documentación de los microservicios, o en
su defecto usar la herramienta incluida con
el framework de Django.
Subtema 2: Implementación de Microservicios

VIDEO API REST DJANGO

https://www.youtube.com/watch?v=XqRBb_
4CLS4
Bibliografía
➢ Ceupe. (s.f). ¿Qué son los servicios web?. Recuperado de https://www.ceupe.com/blog/que-son-los-servicios-web.html
➢ Carranza, A. (2021). ¿Qué es un web service? ¡Intercambia datos de un sistema a otro en segundos!. Recuperado de
https://www.crehana.com/ec/blog/desarrollo-web/que-es-web-service/
➢ Universidad de alicante. (2014). Introducción a los Servicios Web. Invocación de servicios web SOAP. Recuperado de
http://www.jtech.ua.es/j2ee/publico/servcweb-2012-13/sesion01-apuntes.html
➢ IONOS. (2020). Web services: servicios de máquina a máquina. Recuperado de https://www.ionos.es/digitalguide/paginas-
web/desarrollo-web/web-services/
➢ Fernández, Y. (2019). API: qué es y para qué sirve. Recuperado de https://www.xataka.com/basics/api-que-sirve
➢ Red Hat. (2017). ¿Qué es una API?. Recuperado de https://www.redhat.com/es/topics/api/what-are-application-
programminginterfaces
➢ Rosa, J. (2018). ¿Qué es REST? Conoce su potencia. Recuperado de https://openwebinars.net/blog/que-es-rest-conoce-su-
potencia/
➢ Desarrolloweb. (2021). Qué es REST. Recuperado de https://desarrolloweb.com/articulos/que-es-rest-caracteristicas-
sistemas.html
➢ Patiño, R. (2016). ¿QUÉ ES REST?. Recuperado de https://anexsoft.com/que-esrest
➢ Nota tecnológica. (s.f). ARQUITECTURA CLIENTE-SERVIDOR: ¿DE QUÉ TRATA?. Recuperado de
https://notatecnologica.com/programas/arquitectura-clienteservidor/
Revisión de Contenidos Disponibles

• Aula virtual
• Guía del estudiante
• Compendio
• Video Magistral
• Material Complementario
Actividades Prácticas Para Segundo Parcial

VIDEO
MATERIAL
COMPLEMENTARIO
Actividad de cierre
Actividad de cierre
15/8/23, 20:32 TEST_3: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_3

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1735883&cmid=327002 1/3
15/8/23, 20:32 TEST_3: Revisión del intento

Comenzado el Saturday, 15 de July de 2023, 11:05


 Pregrado

Estado Finalizado

Finalizado en Saturday, 15 de July de 2023, 11:09

Tiempo
3 minutos 48 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

¿Cuál es ventaja del framework Django?

a. Seguridad 

b. Productividades

c. Lindos colores

d. Diversión

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

¿En Django la ventaja de Escalabilidad hace referencia a?

a. Cada parte de la arquitectura que maneja Django será independiente de las demás, permitiendo asi que sea imposible reemplazarlo o
cambiarlo si se da el caso de ser necesario.

b. Ninguna de las anteriores

c. Cada parte de la arquitectura que maneja Django será dependiente de las demás, permitiendo asi que sea reemplazado o cambiado si se
da el caso de ser necesario

d. Cada parte de la arquitectura que maneja Django será independiente de las demás, permitiendo asi que sea reemplazado o cambiado

si se da el caso de ser necesario

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

¿En MTV una vista es?

a. Un procedimiento que gestiona las solicitudes HTT que se vayan recibiendo y de igual manera devuelve respuestas HTT

b. Una función que gestiona los errores HTTP que se vayan produciendo y de igual manera devuelve respuestas HTTP

c. Una función que elimina las solicitudes HTTP que se vayan recibiendo y de igual manera devuelve respuestas HTTP

d. Una función que gestiona las solicitudes HTTP que se vayan recibiendo y de igual manera devuelve respuestas HTTP 

Respuesta correcta

Pregunta 4
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1735883&cmid=327002 2/3
15/8/23, 20:32 TEST_3: Revisión del intento
g

 Correcta Se puntúa 3,00 sobre 3,00 Pregrado

¿Qué es DJANGO?

a. Clase

b. Marcador

c. Objeto

d. Framework 

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

¿Con que lenguaje de programación se trabaja en Django?

a. RUBY

b. Python 

c. PHP

d. JAVA

Respuesta correcta

Finalizar revisión

 S13-TAREA_2 Ir a... TEST_4 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1735883&cmid=327002 3/3
Pregrado

Question 1

Correct Mark 3.00 out of 3.00

En el siguiente ejemplo identifique cual es el protocolo

a. www.gcfaprendelibre.org

b. imágenes/logo.png

c. Todas las otras opciones son correctas

d. http 

Respuesta correcta

Question 2

Correct Mark 3.00 out of 3.00

El atributo POST se encarga de :

a. Recuperar datos.

b. Solicitar datos.

c. Enviar datos. 

d. Realizar seguimiento.

Respuesta correcta

Question 3

Correct Mark 3.00 out of 3.00

Las APIs Privadas tienen la característica:

a. Todas las opciones son correctas

b. Se puede implementar fácilmente

c. El tiempo de desarrollo es más corto 

d. Cualquier persona tiene acceso

Respuesta correcta

Question 4

Correct Mark 3.00 out of 3.00

JavaScrip necesita:
a. Mediana cantidad de código para manipular DOM Pregrado

b. Gran cantidad de código para manipular DOM 

c. Ninguna respuesta es correcta

d. Poca cantidad de código para manipular DOM

Respuesta correcta

Question 5

Correct Mark 3.00 out of 3.00

En el siguiente ejemplo identifique cual es el nombre de la ruta

a. www.gcfaprendelibre.org

b. Todas las otras opciones son correctas

c. http

d. imágenes/logo.png 

Respuesta correcta
16/6/23, 13:32 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 23:19


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 23:29

Tiempo
9 minutos 59 segundos
empleado

Calificación 12,00 de 15,00 (80%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

Https es un protocolo

a. Ninguna porque tiene seguridad propia

b. Puede ser sin ssl o con ssl

c. Con ssl 

d. Sin ssl

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Django se puede ejecutar en

a. Windows

b. Todas las opciones son correctos 

c. Mac

d. Linux

Respuesta correcta

Pregunta 3

Incorrecta Se puntúa 0,00 sobre 3,00

Las APIs Públicas tienen la característica:

a. Que se puede implementar fácilmente

b. Todas las opciones son correctas 

c. Solo puede acceder las personas que están vinculadas directamente

d. Reduce el tiempo de desarrollo

Respuesta incorrecta.

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1385957&cmid=326963 2/3
16/6/23, 13:32 TEST_2: Revisión del intento

 Pregunta 4 Pregrado

Correcta Se puntúa 3,00 sobre 3,00

Boostrap es un framework de desarrollo:

a. Back end

b. Intermedio

c. Ninguna respuesta es correcta

d. Front end 

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

JavaScrip necesita:

a. Poca cantidad de código para manipular DOM

b. Gran cantidad de código para manipular DOM 

c. Mediana cantidad de código para manipular DOM

d. Ninguna respuesta es correcta

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1385957&cmid=326963 3/3
16/6/23, 13:38 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 23:18


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 23:31

Tiempo
12 minutos 59 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ PALABRA RESERVADA SE UTILIZA PARA LLAMAR UN MODULO EN OTRO MODULO?

a. EXPORT

b. USE AS

c. FROM

d. IMPORT 

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿EN MATERIA DE MICROSERVICIOS UN MODELO SE REFIERE A?

a. SOLO SE CREA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES, PERO NO SUS MÉTODOS.

b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN.

c. SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS. 

d. LA VISTA ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR MODELOS.

b. MANEJO DE SOLICITUDES POR CONTROLADORES.

c. MANEJO DE SOLICITUDES POR VISTAS. 

d. MANEJO DE SOLICITUDES POR TEMPLATES

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1123543&cmid=326969 2/5
16/6/23, 13:38 TEST_1: Revisión del intento

Respuesta correcta
 Pregrado

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

EN UN PAQUETE SIEMPRE DEBE EXISTIR UN ARCHIVO QUE SE ENCARGARA DE LA IMPORTACION DE LOS MODULOS,
¿CUÁL ES EL NOMBRE DE ESTE ARCHIVO?

a. __init__.pay

b. __init__.py 

c. __init__.phy

d. __ini__.py

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

“APLICACIÓN QUE PERMITE CONECTAR SISTEMAS PARA QUE INTERACTÚEN ENTRE SÍ”, A QUE CORRESPONDE LA
DEFINICION PRESENTADA.

a. API 

b. ARQUITECTURA

c. APP WEB

d. APIEST

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

EL SIGUIENTE ENUNCIADO A QUE TERMINO CORRESPONDE “SU ESTRUCTURA ES COMPACTA Y TIENE UNA GRAN
RAPIDEZ AL REALIZAR LOS PROCESOS YA QUE SU DISEÑO ARQUITECTÓNICO PERMITE PROCESAR VARIOS SERVICIOS A
LA VEZ YA QUE TIENE VARIOS MÓDULOS QUE AYUDAN A SUS PROCESAMIENTOS”

a. ARQUITECTURA MVC

b. ARQUITECTURA MICROSERVICIOS 

c. ARQUITECTURA MVT

d. ARQUITECTURA EN CASCADA

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1123543&cmid=326969 3/5
16/6/23, 13:38 TEST_1: Revisión del intento


¿POR QUIEN FUE CREADO PYTHON? Pregrado

a. GALLOW REUS

b. TORVAL LINUSS

c. ELMER VON RUSSON

d. GUIDO VAN ROSSUM 

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ SIGNIFICA URL?

a. UNIFORM RESOURCE LOCATORS 

b. UNIFORMES REST LOCATORS

c. UNIFORMS RESOURCE LOGS

d. UNIFORM RESOURCING LOCATING

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

¿EN UN PROYECTO PYTHON EN QUE ARCHIVO SE ENCUENTRAN LAS VISTAS?

a. viewws.py

b. views.py 

c. vists.py

d. view.py

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

ES UNA CARACTERISTICA DE PYTHON

a. NO EXISTE UN ESTILO DEFINIDO DE ESTRUCTURACION. ESTO AYUDA A QUE EL DISEÑADOR NO DEBA REGIRSE ÚNICAMENTE A UN SOLO
MODO.
b. EXISTE UN ESTILO DEFINIDO DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA REGIRSE ÚNICAMENTE A UN SOLO
MODO.
c. EXISTE VARIOS ESTILOS INDEFINIDOS DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA REGIRSE ÚNICAMENTE A UN
SOLO MODO.

d. NO EXISTE UN ESTILO DEFINIDO DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA REGIRSE ÚNICAMENTE A UN

SOLO MODO.
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1123543&cmid=326969 4/5
21/5/23, 12:55 TEST_1: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_1

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121547&cmid=327000 1/5
21/5/23, 12:55 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 22:12


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 22:24

Tiempo
11 minutos 48 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿QUE UTILIZA EL LENGUAJE PYTHON?

a. EJECUCION COMPILADA Y NO INTERPRETADA

b. COMPILACION INTERPRETADA Y NO COMPILADA 

c.
EJECUCION COMPILADA

d. COMPILACION MODERADA Y EJECUTADA

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

“APLICACIÓN QUE PERMITE CONECTAR SISTEMAS PARA QUE INTERACTÚEN ENTRE SÍ”, A QUE CORRESPONDE LA
DEFINICION PRESENTADA.

a. API 

b. APP WEB

c. APIEST

d. ARQUITECTURA

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

ES UNA CARACTERISTICA DE PYTHON

a. ES UN SOFTWARE DE CÓDIGO MAESTRO ESCLAVO. TIENE UNA LICENCIA PL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

b. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA GPL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE

PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
c. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA LPG ES DECIR NO SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
d. ES UN SOFTWARE DE CÓDIGO MEDIO LIBRE. TIENE UNA LICENCIA PLG ES DECIR SE PUEDE DESCARGAR CON DIFICULTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

Respuesta correcta

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121547&cmid=327000 2/5
21/5/23, 12:55 TEST_1: Revisión del intento

 Pregrado

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

“CUADRO DONDE SE COLOCA TEXTO PARA MARCAR SECCIONES DE CÓDIGO”, ¿A QUE TERMINO HACE
REFERENCIA EL ENUNCIADO PRESENTADO?

a. MODELO

b. MODULOS

c. FRAMEWORK

d. ETIQUETA 

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿QUE SON LOS MODULOS?

a. ARCHIVOS QUE ELIMINAN DECLARACIONES PARA UTILIZAR EN JAVA, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

b. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA INUTILIZAR EL LENGUAJE PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

c. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA UTILIZAR EN PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ. 

d. COMPONENTES QUE GENERAN DECLARACIONES PARA UTILIZAR EN PYTHON Y SQL, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

HABLANDO DE MICROSERVICIOS A QUE CORRESPONDE LA SIGUIENTE DEFINICION “TAMBIÉN LLAMADAS URLS, SE


ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.”

a. VISTA

b. MODELO

c. ROUTER 

d. CONTROLADOR

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

“USAN OBJETOS PROPIOS DE PYTHON PARA IMPLEMENTAR VISTAS”, ¿A QUE TERMINO HACE REFERENCIA EL
ENUNCIADO PRESENTADO?
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121547&cmid=327000 3/5
21/5/23, 12:55 TEST_1: Revisión del intento
U C O S O?
 Pregrado

a. VISTAS BASADAS EN TEMPLATES

b. VISTAS BASADAS EN MODELOS

c. VISTAS BASADAS EN PYTHON

d. VISTAS BASADAS EN CLASES 

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

“FRAGMENTOS DE TEXTOS QUE SE ENCUENTRAN EN UN PROGRAMA, ESTOS FRAGMENTOS SE EJECUTAN COMO


UNO SOLO”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. MODULOS

b. BLOQUES 

c. PAQUETES

d. LIBRERÍAS

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ PALABRA RESERVADA SE UTILIZA PARA LLAMAR UN MODULO EN OTRO MODULO?

a. USE AS

b. IMPORT 

c. EXPORT

d. FROM

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

b. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS

c. BASADAS EN CLASE Y BASADAS EN FUNCIONES 

d. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121547&cmid=327000 4/5
21/5/23, 12:55 TEST_1: Revisión del intento

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... S1-Compendio Tema 1 Unidad… 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121547&cmid=327000 5/5
15/6/23, 21:59 TEST_2: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_2

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1384573&cmid=327001 1/3
15/6/23, 21:59 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 22:50


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 22:57

Tiempo
6 minutos 38 segundos
empleado

Calificación 12,00 de 15,00 (80%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la carpeta

a. imagenes 

b. www.gcfaprendelibre.org

c. imágenes/logo.png

d. Logo.png

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Django se puede ejecutar en

a. Linux

b. Windows

c. Mac

d. Todas las opciones son correctos 

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

El atributo GET se encarga de :

a. Recuperar datos. 

b. Enviar datos.

c. Realizar seguimiento.

d. Solicitar encabezado de datos.

Respuesta correcta

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1384573&cmid=327001 2/3
15/6/23, 21:59 TEST_2: Revisión del intento

 Pregunta 4 Pregrado

Incorrecta Se puntúa 0,00 sobre 3,00

Https es un protocolo

a. Puede ser sin ssl o con ssl 

b. Ninguna porque tiene seguridad propia

c. Sin ssl

d. Con ssl

Respuesta incorrecta.

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la ruta

a. www.gcfaprendelibre.org

b. http

c. imágenes/logo.png 

d. Todas las otras opciones son correctas

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1384573&cmid=327001 3/3
15/6/23, 21:56 TEST_2: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_2

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1381150&cmid=327001 1/3
15/6/23, 21:56 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 22:06


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 22:13

Tiempo
6 minutos 54 segundos
empleado

Calificación 9,00 de 15,00 (60%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

El atributo POST se encarga de :

a. Solicitar datos.

b. Recuperar datos.

c. Enviar datos. 

d. Realizar seguimiento.

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Que atributo se utiliza para realizar un troubleshooting en el protocolo http

a.
Head

b. Trace 

c. Help

d.
Options

Respuesta correcta

Pregunta 3

Incorrecta Se puntúa 0,00 sobre 3,00

Https es un protocolo

a. Puede ser sin ssl o con ssl 

b. Ninguna porque tiene seguridad propia

c. Sin ssl

d. Con ssl

Respuesta incorrecta.

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1381150&cmid=327001 2/3
15/6/23, 21:56 TEST_2: Revisión del intento

 Pregrado

Pregunta 4

Incorrecta Se puntúa 0,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre del archivo

a. www.gcfaprendelibre.org

b. Logo.png

c. imágenes/logo.png 

d. imagenes

Respuesta incorrecta.

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Boostrap es un framework de desarrollo:

a. Intermedio

b. Ninguna respuesta es correcta

c. Front end 

d. Back end

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1381150&cmid=327001 3/3
15/6/23, 21:57 TEST_1: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_1

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120813&cmid=327000 1/5
15/6/23, 21:57 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 21:59


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 22:11

Tiempo
12 minutos 19 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

“SON UN CONJUNTO DE PAQUETES QUE SE DISTRIBUYEN CON EL LENGUAJE PYTHON, SON IMPRESCINDIBLES PARA
USAR MÚLTIPLES HERRAMIENTAS”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. BLOQUES

b. PAQUETES

c. MODULOS

d. LIBRERÍAS 

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR VISTAS. 

b. MANEJO DE SOLICITUDES POR TEMPLATES

c. MANEJO DE SOLICITUDES POR MODELOS.

d. MANEJO DE SOLICITUDES POR CONTROLADORES.

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿EN MATERIA DE MICROSERVICIOS UN MODELO SE REFIERE A?

a. LA VISTA ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN.

SE MAPEA LA BASE DE DATOS TAMBIÉN SUS PROPIEDADES Y MÉTODOS 


https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120813&cmid=327000 2/5
15/6/23, 21:57 TEST_1: Revisión del intento
c. SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS. 

 Pregrado
d. SOLO SE CREA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES, PERO NO SUS MÉTODOS.

Respuesta correcta

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UNA VENTAJA DE UTILIZAR LOS PAQUETES EN PYTHON?

a. PUEDE IMPORTAR FUNCIONES ESPECÍFICAS O TODO EL CONTENIDO DEL FRAMEWORK.

b. NO SE DEFINEN O DECLARAN LOS NOMBRES IMPORTADOS DESDE OTRO MÓDULO.

c. PERMITE UNIFICAR DISTINTOS MÓDULOS BAJO UN MISMO NOMBRE DE PAQUETE, PUDIENDO CREAR JERARQUÍAS DE MÓDULOS Y

SUBMÓDULOS, O TAMBIÉN SUBPAQUETES.

d. ESTÁ COMPUESTO DE CLASES, FUNCIONES Y VARIABLES

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC

b. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

c. BASADAS EN CLASE Y BASADAS EN FUNCIONES 

d. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <ul>

a. PILAS

b. TABLAS

c. COLAS

d. LISTAS 

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1 50 sobre 1 50


https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120813&cmid=327000 3/5
15/6/23, 21:57 TEST_1: Revisión del intento
Correcta Se puntúa 1,50 sobre 1,50

 Pregrado

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

b. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA APLICACIÓN.

c. ALTAMENTE INESCALABLES

d. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

EL SIGUIENTE ENUNCIADO A QUE TERMINO CORRESPONDE “SU ESTRUCTURA ES COMPACTA Y TIENE UNA GRAN
RAPIDEZ AL REALIZAR LOS PROCESOS YA QUE SU DISEÑO ARQUITECTÓNICO PERMITE PROCESAR VARIOS SERVICIOS A
LA VEZ YA QUE TIENE VARIOS MÓDULOS QUE AYUDAN A SUS PROCESAMIENTOS”

a. ARQUITECTURA MVT

b. ARQUITECTURA EN CASCADA

c. ARQUITECTURA MVC

d. ARQUITECTURA MICROSERVICIOS 

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

¿EN UN PROYECTO PYTHON EN QUE ARCHIVO SE ENCUENTRAN LAS VISTAS?

a. vists.py

b. views.py 

c. viewws.py

d. view.py

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

b. ES EL DISEÑO DE UN PROYECTO. 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120813&cmid=327000 4/5
15/6/23, 21:57 TEST_1: Revisión del intento

c. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.


 Pregrado
d. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

Respuesta correcta

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120813&cmid=327000 5/5
11/6/23, 20:45 TEST_1: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_1

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122484&cmid=326969 1/5
11/6/23, 20:45 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 22:34


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 22:38

Tiempo
4 minutos 3 segundos
empleado

Calificación 13,50 de 15,00 (90%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

“APLICACIÓN QUE PERMITE CONECTAR SISTEMAS PARA QUE INTERACTÚEN ENTRE SÍ”, A QUE CORRESPONDE LA
DEFINICION PRESENTADA.

a. ARQUITECTURA

b. APIEST

c. APP WEB

d. API 

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

“CUADRO DONDE SE COLOCA TEXTO PARA MARCAR SECCIONES DE CÓDIGO”, ¿A QUE TERMINO HACE
REFERENCIA EL ENUNCIADO PRESENTADO?

a. MODULOS

b. FRAMEWORK

c. MODELO

d. ETIQUETA 

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN CLASE Y BASADAS EN FUNCIONES 

b. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS

c. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

d. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC

Respuesta correcta
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122484&cmid=326969 2/5
11/6/23, 20:45 TEST_1: Revisión del intento

 Pregrado

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UNA VENTAJA DE UTILIZAR LOS PAQUETES EN PYTHON?

a. PERMITE UNIFICAR DISTINTOS MÓDULOS BAJO UN MISMO NOMBRE DE PAQUETE, PUDIENDO CREAR JERARQUÍAS DE MÓDULOS Y

SUBMÓDULOS, O TAMBIÉN SUBPAQUETES.

b. NO SE DEFINEN O DECLARAN LOS NOMBRES IMPORTADOS DESDE OTRO MÓDULO.

c. ESTÁ COMPUESTO DE CLASES, FUNCIONES Y VARIABLES

d. PUEDE IMPORTAR FUNCIONES ESPECÍFICAS O TODO EL CONTENIDO DEL FRAMEWORK.

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES EL SERIALIZADOR?

a. ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

b. TAMBIÉN LLAMADAS URLS, SE ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.

c. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN. 

d. EN EL SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS.

Respuesta correcta

Pregunta 6

Incorrecta Se puntúa 0,00 sobre 1,50

ES UNA CARACTERISTICA DE PYTHON

a. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA GPL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
b. ES UN SOFTWARE DE CÓDIGO MEDIO LIBRE. TIENE UNA LICENCIA PLG ES DECIR SE PUEDE DESCARGAR CON DIFICULTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
c. ES UN SOFTWARE DE CÓDIGO MAESTRO ESCLAVO. TIENE UNA LICENCIA PL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

d. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA LPG ES DECIR NO SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE

PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

Respuesta incorrecta.

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122484&cmid=326969 3/5
11/6/23, 20:45 TEST_1: Revisión del intento

¿EN UN PROYECTO PYTHON EN QUE ARCHIVO SE ENCUENTRAN LAS VISTAS?


 Pregrado

a. vists.py

b. views.py 

c. view.py

d. viewws.py

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿POR QUIEN FUE CREADO PYTHON?

a. TORVAL LINUSS

b. GALLOW REUS

c. GUIDO VAN ROSSUM 

d. ELMER VON RUSSON

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

b. ES EL DISEÑO DE UN PROYECTO. 

c. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

d. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR CONTROLADORES.

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122484&cmid=326969 4/5
11/6/23, 20:45 TEST_1: Revisión del intento
b. MANEJO DE SOLICITUDES POR TEMPLATES
 Pregrado
c. MANEJO DE SOLICITUDES POR VISTAS. 

d. MANEJO DE SOLICITUDES POR MODELOS.

Respuesta correcta

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122484&cmid=326969 5/5
Comenzado el Saturday, 10 de June de 2023, 21:03
 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 21:09

Tiempo
5 minutos 33 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Públicas tienen la característica:

a. Que se puede implementar fácilmente 

b. Solo puede acceder las personas que están vinculadas directamente

c. Reduce el tiempo de desarrollo

d. Todas las opciones son correctas

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Las APIS están en la capacidad de tener:

a. Uno o más Funciones 

b. No trabaja con Funciones

c.
Unicamente varias Funciones

d.
Solo una Función

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Angular JS es

a. Lenguaje de Programación

b. Un framework 

c. Una libreria

d. Una herramienta

Respuesta correcta
 Pregrado

Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la carpeta

a. Logo.png

b. imágenes/logo.png

c. imagenes 

d. www.gcfaprendelibre.org

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Boostrap es un framework de desarrollo:

a. Front end 

b. Back end

c. Ninguna respuesta es correcta

d. Intermedio

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 


Pregrado

Question 1

Correct Mark 1.50 out of 1.50

¿POR QUIEN FUE CREADO PYTHON?

a. GALLOW REUS

b. TORVAL LINUSS

c. ELMER VON RUSSON

d. GUIDO VAN ROSSUM 

Respuesta correcta

Question 2

Correct Mark 1.50 out of 1.50

“CUADRO DONDE SE COLOCA TEXTO PARA MARCAR SECCIONES DE CÓDIGO”, ¿A QUE TERMINO HACE REFERENCIA
EL ENUNCIADO PRESENTADO?

a. ETIQUETA 

b. FRAMEWORK

c. MODELO

d. MODULOS

Respuesta correcta

Question 3

Correct Mark 1.50 out of 1.50

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA APLICACIÓN.

b. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

c. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS

d. ALTAMENTE INESCALABLES

Respuesta correcta

Question 4

Correct Mark 1.50 out of 1.50

“REFIERE A UNA ESPECIALIDAD PARA EL DESARROLLO WEB EN LA CUAL LA PARTE QUE SE TRABAJA ES LA INTERFAZ
WEB CON LA CUAL EL USUARIO PUEDA INTERACTUAR.” ¿A QUE TERMINO HACE REFERENCIA EL ENCUNCIADO
PRESENTADO?
Pregrado

a. FRONT END 

b. BACK END

c. UX

d. UI

Respuesta correcta

Question 5

Correct Mark 1.50 out of 1.50

¿EN UN PROYECTO PYTHON EN QUE ARCHIVO SE ENCUENTRAN LAS VISTAS?

a. views.py 

b. vists.py

c. viewws.py

d. view.py

Respuesta correcta

Question 6

Correct Mark 1.50 out of 1.50

“SON UN CONJUNTO DE PAQUETES QUE SE DISTRIBUYEN CON EL LENGUAJE PYTHON, SON IMPRESCINDIBLES PARA
USAR MÚLTIPLES HERRAMIENTAS”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. PAQUETES

b. LIBRERÍAS 

c. MODULOS

d. BLOQUES

Respuesta correcta

Question 7

Incorrect Mark 0.00 out of 1.50

¿CUÁL ES UNA VENTAJA DE UTILIZAR LOS PAQUETES EN PYTHON?

a. NO SE DEFINEN O DECLARAN LOS NOMBRES IMPORTADOS DESDE OTRO MÓDULO.

b. PERMITE UNIFICAR DISTINTOS MÓDULOS BAJO UN MISMO NOMBRE DE PAQUETE, PUDIENDO CREAR JERARQUÍAS DE MÓDULOS Y
SUBMÓDULOS, O TAMBIÉN SUBPAQUETES.

c. PUEDE IMPORTAR FUNCIONES ESPECÍFICAS O TODO EL CONTENIDO DEL FRAMEWORK.

d. ESTÁ COMPUESTO DE CLASES, FUNCIONES Y VARIABLES 


ESTÁ COMPUESTO DE CLASES, FUNCIONES Y VARIABLES

Pregrado
Respuesta incorrecta.

Question 8

Correct Mark 1.50 out of 1.50

¿QUÉ ES EL SERIALIZADOR?

a. TAMBIÉN LLAMADAS URLS, SE ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.

b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN. 

c. EN EL SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS.

d. ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

Respuesta correcta

Question 9

Correct Mark 1.50 out of 1.50

“APLICACIÓN QUE PERMITE CONECTAR SISTEMAS PARA QUE INTERACTÚEN ENTRE SÍ”, A QUE CORRESPONDE LA
DEFINICION PRESENTADA.

a. API 

b. ARQUITECTURA

c. APIEST

d. APP WEB

Respuesta correcta

Question 10

Correct Mark 1.50 out of 1.50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR TEMPLATES

b. MANEJO DE SOLICITUDES POR MODELOS.

c. MANEJO DE SOLICITUDES POR VISTAS. 

d. MANEJO DE SOLICITUDES POR CONTROLADORES.

Respuesta correcta
Pregrado
 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_2
Comenzado el Saturday, 10 de June de 2023, 21:31
 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 21:33

Tiempo
1 minutos 26 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la carpeta

a. www.gcfaprendelibre.org

b. imagenes 

c. Logo.png

d. imágenes/logo.png

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre del archivo

a. Logo.png 

b. imagenes

c. imágenes/logo.png

d. www.gcfaprendelibre.org

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

El atributo POST se encarga de :

a. Recuperar datos.

b. Enviar datos. 

c. Realizar seguimiento.

d. Solicitar datos.

Respuesta correcta
p

 Pregrado

Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Privadas tienen la característica:

a. Se puede implementar fácilmente

b. Cualquier persona tiene acceso

c. El tiempo de desarrollo es más corto 

d. Todas las opciones son correctas

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Angular JS es

a. Un framework 

b. Lenguaje de Programación

c. Una libreria

d. Una herramienta

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 


   Español - Internacional (es)  

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_1

DESARROLLO DE APLICACIONES WEB - [TI06-04]


- C2 - TICS-ENLINEA

Comenzado el Saturday, 20 de May de 2023, 21:41 Navegación por el


cuestionario
Estado Finalizado
1 2 3 4 5
Finalizado en Saturday, 20 de May de 2023, 21:56
6 7 8 9 10
Tiempo
15 minutos 1 segundos
empleado
Mostrar una página cada vez

Calificación 10,50 de 15,00 (70%)


Finalizar revisión

Pregunta 1 

Correcta Se puntúa 1,50 sobre 1,50 Marcar pregunta

EL SIGUIENTE ENUNCIADO A QUE TERMINO CORRESPONDE “SU ESTRUCTURA ES


COMPACTA Y TIENE UNA GRAN RAPIDEZ AL REALIZAR LOS PROCESOS YA QUE SU DISEÑO
ARQUITECTÓNICO PERMITE PROCESAR VARIOS SERVICIOS A LA VEZ YA QUE TIENE
VARIOS MÓDULOS QUE AYUDAN A SUS PROCESAMIENTOS”

a. ARQUITECTURA EN CASCADA

b. ARQUITECTURA MVT

c. ARQUITECTURA MICROSERVICIOS 

d. ARQUITECTURA MVC

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50 Marcar pregunta

¿QUÉ ES EL SERIALIZADOR?

a. EN EL SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS.

b. TAMBIÉN LLAMADAS URLS, SE ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.

c. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN. 

d. ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50 Marcar pregunta

“CUADRO DONDE SE COLOCA TEXTO PARA MARCAR SECCIONES DE CÓDIGO”, ¿A


QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. ETIQUETA 

b. FRAMEWORK

c. MODULOS

d. MODELO

Respuesta correcta

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50 Marcar pregunta

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <li>

a. ELEMENTOS DENTRO DE UNA TABLA

b. ELEMENTOS DENTRO DE LA LISTA 

c. PÁRRAFOS

d. IMÁGENES

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50 Marcar pregunta

¿EN MATERIA DE MICROSERVICIOS UN MODELO SE REFIERE A?

a. LA VISTA ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN.

c. SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS. 

d. SOLO SE CREA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES, PERO NO SUS MÉTODOS.

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50 Marcar pregunta

ES UNA CARACTERISTICA DE PYTHON

a. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA GPL ES DECIR SE PUEDE DESCARGAR
CON LIBERTAD EL LENGUAJE DE PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, 
MODIFICARLO, ETC.

b. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA LPG ES DECIR NO SE PUEDE DESCARGAR
CON LIBERTAD EL LENGUAJE DE PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO,
MODIFICARLO, ETC.
c. ES UN SOFTWARE DE CÓDIGO MAESTRO ESCLAVO. TIENE UNA LICENCIA PL ES DECIR SE PUEDE
DESCARGAR CON LIBERTAD EL LENGUAJE DE PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE
DISTRIBUIRLO, MODIFICARLO, ETC.
d. ES UN SOFTWARE DE CÓDIGO MEDIO LIBRE. TIENE UNA LICENCIA PLG ES DECIR SE PUEDE DESCARGAR
CON DIFICULTAD EL LENGUAJE DE PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO,
MODIFICARLO, ETC.

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50 Marcar pregunta

“APLICACIÓN QUE PERMITE CONECTAR SISTEMAS PARA QUE INTERACTÚEN ENTRE SÍ”, A
QUE CORRESPONDE LA DEFINICION PRESENTADA.

a. API 

b. APP WEB

c. ARQUITECTURA

d. APIEST

Respuesta correcta

Pregunta 8

Incorrecta Se puntúa 0,00 sobre 1,50 Marcar pregunta

ES UNA CARACTERISTICA DE PYTHON

a. EXISTE UN ESTILO DEFINIDO DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA



REGIRSE ÚNICAMENTE A UN SOLO MODO.

b. NO EXISTE UN ESTILO DEFINIDO DE ESTRUCTURACION. ESTO AYUDA A QUE EL DISEÑADOR NO DEBA


REGIRSE ÚNICAMENTE A UN SOLO MODO.
c. EXISTE VARIOS ESTILOS INDEFINIDOS DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO
DEBA REGIRSE ÚNICAMENTE A UN SOLO MODO.
d. NO EXISTE UN ESTILO DEFINIDO DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO
DEBA REGIRSE ÚNICAMENTE A UN SOLO MODO.

Respuesta incorrecta.

Pregunta 9

Incorrecta Se puntúa 0,00 sobre 1,50 Marcar pregunta

¿QUE UTILIZA EL LENGUAJE PYTHON?

a. EJECUCION COMPILADA

b. EJECUCION COMPILADA Y NO INTERPRETADA

c. COMPILACION INTERPRETADA Y NO COMPILADA

d. COMPILACION MODERADA Y EJECUTADA 

Respuesta incorrecta.

Pregunta 10

Incorrecta Se puntúa 0,00 sobre 1,50 Marcar pregunta

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC 

b. BASADAS EN CLASE Y BASADAS EN FUNCIONES

c. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS

d. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

Respuesta incorrecta.

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad … 

Pregrado Universidad Estatal de Milagro


   Español - Internacional (es)  

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_2

DESARROLLO DE APLICACIONES WEB - [TI06-04]


- C2 - TICS-ENLINEA

Comenzado el Saturday, 10 de June de 2023, 21:33 Navegación por el


cuestionario
Estado Finalizado
1 2 3 4 5
Finalizado en Saturday, 10 de June de 2023, 21:37

Mostrar una página cada vez


Tiempo
4 minutos 21 segundos
empleado
Finalizar revisión

Calificación 6,00 de 15,00 (40%)

Pregunta 1 

Incorrecta Se puntúa 0,00 sobre 3,00 Marcar pregunta

Http es un protocolo

a. Ninguna porque tiene seguridad propia

b. Puede ser sin ssl o con ssl 

c. Con ssl

d. Sin ssl

Respuesta incorrecta.

Pregunta 2

Incorrecta Se puntúa 0,00 sobre 3,00 Marcar pregunta

Boostrap es un framework de desarrollo:

a. Intermedio 

b. Ninguna respuesta es correcta

c. Front end

d. Back end

Respuesta incorrecta.

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00 Marcar pregunta

El atributo GET se encarga de :

a. Solicitar encabezado de datos.

b. Realizar seguimiento.

c. Enviar datos.

d. Recuperar datos. 

Respuesta correcta

Pregunta 4

Incorrecta Se puntúa 0,00 sobre 3,00 Marcar pregunta

Https es un protocolo

a. Puede ser sin ssl o con ssl 

b. Sin ssl

c. Ninguna porque tiene seguridad propia

d. Con ssl

Respuesta incorrecta.

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00 Marcar pregunta

En el siguiente ejemplo identifique cual es el nombre de la carpeta

a. Logo.png

b. www.gcfaprendelibre.org

c. imágenes/logo.png

d. imagenes 

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

Pregrado Universidad Estatal de Milagro


16/6/23, 11:20 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 21:19


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 21:30

Tiempo
10 minutos 46 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿POR QUIEN FUE CREADO PYTHON?

a. GUIDO VAN ROSSUM 

b. TORVAL LINUSS

c. GALLOW REUS

d. ELMER VON RUSSON

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿EN MATERIA DE MICROSERVICIOS UN MODELO SE REFIERE A?

a. SOLO SE CREA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES, PERO NO SUS MÉTODOS.

b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN.

c. LA VISTA ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

d. SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS. 

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. ES EL DISEÑO DE UN PROYECTO. 

b. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

c. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

d. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

Respuesta correcta

Pregunta 4
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1118360&cmid=327000 2/5
16/6/23, 11:20 TEST_1: Revisión del intento

 Correcta Se puntúa 1,50 sobre 1,50 Pregrado

“REFIERE A UNA ESPECIALIDAD PARA EL DESARROLLO WEB EN LA CUAL LA PARTE QUE SE TRABAJA ES LA INTERFAZ
WEB CON LA CUAL EL USUARIO PUEDA INTERACTUAR.” ¿A QUE TERMINO HACE REFERENCIA EL ENCUNCIADO
PRESENTADO?

a. BACK END

b. UI

c. UX

d. FRONT END 

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

EL SIGUIENTE ENUNCIADO A QUE TERMINO CORRESPONDE “SU ESTRUCTURA ES COMPACTA Y TIENE UNA GRAN
RAPIDEZ AL REALIZAR LOS PROCESOS YA QUE SU DISEÑO ARQUITECTÓNICO PERMITE PROCESAR VARIOS SERVICIOS A
LA VEZ YA QUE TIENE VARIOS MÓDULOS QUE AYUDAN A SUS PROCESAMIENTOS”

a. ARQUITECTURA EN CASCADA

b. ARQUITECTURA MVC

c. ARQUITECTURA MICROSERVICIOS 

d. ARQUITECTURA MVT

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <ul>

a. TABLAS

b. PILAS

c. COLAS

d. LISTAS 

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

¿EN UN PROYECTO PYTHON EN QUE ARCHIVO SE ENCUENTRAN LAS VISTAS?


https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1118360&cmid=327000 3/5
16/6/23, 11:20 TEST_1: Revisión del intento

 Pregrado

a. viewws.py

b. view.py

c. views.py 

d. vists.py

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿QUE UTILIZA EL LENGUAJE PYTHON?

a. EJECUCION COMPILADA

b. EJECUCION COMPILADA Y NO INTERPRETADA

c. COMPILACION INTERPRETADA Y NO COMPILADA 

d. COMPILACION MODERADA Y EJECUTADA

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

“CUADRO DONDE SE COLOCA TEXTO PARA MARCAR SECCIONES DE CÓDIGO”, ¿A QUE TERMINO HACE
REFERENCIA EL ENUNCIADO PRESENTADO?

a. FRAMEWORK

b. ETIQUETA 

c. MODULOS

d. MODELO

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ SIGNIFICA URL?

a. UNIFORM RESOURCING LOCATING

b. UNIFORMES REST LOCATORS

c. UNIFORMS RESOURCE LOGS

d. UNIFORM RESOURCE LOCATORS 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1118360&cmid=327000 4/5
16/6/23, 11:21 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 21:14


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 21:21

Tiempo
7 minutos 42 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

El atributo POST se encarga de :

a. Solicitar datos.

b. Realizar seguimiento.

c. Enviar datos. 

d. Recuperar datos.

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Las APIS están en la capacidad de tener:

a.
Unicamente varias Funciones

b. Uno o más Funciones 

c.
Solo una Función

d. No trabaja con Funciones

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Que atributo se utiliza para realizar un troubleshooting en el protocolo http

a.
Options

b. Help

c. Head

d. Trace 

Respuesta correcta
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1375972&cmid=327001 2/3
16/6/23, 11:21 TEST_2: Revisión del intento

 Pregrado

Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre del archivo

a. www.gcfaprendelibre.org

b. imagenes

c. imágenes/logo.png

d. Logo.png 

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

JavaScrip necesita:

a. Ninguna respuesta es correcta

b. Mediana cantidad de código para manipular DOM

c. Gran cantidad de código para manipular DOM 

d. Poca cantidad de código para manipular DOM

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1375972&cmid=327001 3/3
 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_1
Comenzado el Saturday, 20 de May de 2023, 23:37
 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 23:51

Tiempo
14 minutos 35 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

“APLICACIÓN QUE PERMITE CONECTAR SISTEMAS PARA QUE INTERACTÚEN ENTRE SÍ”, A QUE CORRESPONDE LA
DEFINICION PRESENTADA.

a. APP WEB

b. APIEST

c. API 

d. ARQUITECTURA

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

b. ES EL DISEÑO DE UN PROYECTO. 

c. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

d. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿QUE TIPO DE LENGUAJE ES PYTHON?

a. NINGUN NIVEL

b. ALTO NIVEL 

c. BAJO NIVEL

d. MODERADO NIVEL

Respuesta correcta
 Pregrado

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

¿POR QUIEN FUE CREADO PYTHON?

a. TORVAL LINUSS

b. GALLOW REUS

c. ELMER VON RUSSON

d. GUIDO VAN ROSSUM 

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. ALTAMENTE INESCALABLES

b. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA APLICACIÓN.

c. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

d. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

“CUADRO DONDE SE COLOCA TEXTO PARA MARCAR SECCIONES DE CÓDIGO”, ¿A QUE TERMINO HACE
REFERENCIA EL ENUNCIADO PRESENTADO?

a. MODELO

b. MODULOS

c. ETIQUETA 

d. FRAMEWORK

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

EL SIGUIENTE ENUNCIADO A QUE TERMINO CORRESPONDE “SU ESTRUCTURA ES COMPACTA Y TIENE UNA GRAN
RAPIDEZ AL REALIZAR LOS PROCESOS YA QUE SU DISEÑO ARQUITECTÓNICO PERMITE PROCESAR VARIOS SERVICIOS A
 LA VEZ YA QUE TIENE VARIOS MÓDULOS QUE AYUDAN A SUS PROCESAMIENTOS”
Pregrado

a. ARQUITECTURA MVT

b. ARQUITECTURA MICROSERVICIOS 

c. ARQUITECTURA EN CASCADA

d. ARQUITECTURA MVC

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

“SON UN CONJUNTO DE PAQUETES QUE SE DISTRIBUYEN CON EL LENGUAJE PYTHON, SON IMPRESCINDIBLES PARA
USAR MÚLTIPLES HERRAMIENTAS”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. BLOQUES

b. LIBRERÍAS 

c. PAQUETES

d. MODULOS

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES EL SERIALIZADOR?

a. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN. 

b. EN EL SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS.

c. TAMBIÉN LLAMADAS URLS, SE ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.

d. ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <ul>

a. COLAS

b. LISTAS 
c. TABLAS
 Pregrado
d. PILAS

Respuesta correcta

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 


 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_2
Comenzado el Saturday, 10 de June de 2023, 23:26
 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 23:35

Tiempo
9 minutos 30 segundos
empleado

Calificación 12,00 de 15,00 (80%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la ruta

a. http

b. imágenes/logo.png 

c. Todas las otras opciones son correctas

d. www.gcfaprendelibre.org

Respuesta correcta

Pregunta 2

Incorrecta Se puntúa 0,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre del archivo

a. Logo.png

b. imágenes/logo.png

c. imagenes 

d. www.gcfaprendelibre.org

Respuesta incorrecta.

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Https es un protocolo

a. Ninguna porque tiene seguridad propia

b. Puede ser sin ssl o con ssl

c. Con ssl 
d. Sin ssl
 Pregrado

Respuesta correcta

Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Públicas tienen la característica:

a. Que se puede implementar fácilmente 

b. Todas las opciones son correctas

c. Reduce el tiempo de desarrollo

d.
Solo puede acceder las personas que están vinculadas directamente

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Django es óptimo contra ataques

a. SQL injection 

b. Phishing

c. Ingeniería Social

d. Hombre en el Medio

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 


Comenzado el Saturday, 20 de May de 2023, 22:22

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 22:36

Tiempo
14 minutos 20 segundos
empleado

Calificación 13,50 de 15,00 (90%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿QUE UTILIZA EL LENGUAJE PYTHON?

a. EJECUCION COMPILADA

b. EJECUCION COMPILADA Y NO INTERPRETADA

c. COMPILACION MODERADA Y EJECUTADA

d. COMPILACION INTERPRETADA Y NO COMPILADA 

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR TEMPLATES

b. MANEJO DE SOLICITUDES POR VISTAS. 

c. MANEJO DE SOLICITUDES POR CONTROLADORES.

d. MANEJO DE SOLICITUDES POR MODELOS.

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

“SON UN CONJUNTO DE PAQUETES QUE SE DISTRIBUYEN CON EL LENGUAJE PYTHON, SON IMPRESCINDIBLES
PARA USAR MÚLTIPLES HERRAMIENTAS”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. MODULOS
b. BLOQUES

c. LIBRERÍAS 

d. PAQUETES

Respuesta correcta

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

EN UN PAQUETE SIEMPRE DEBE EXISTIR UN ARCHIVO QUE SE ENCARGARA DE LA IMPORTACION DE LOS MODULOS,
¿CUÁL ES EL NOMBRE DE ESTE ARCHIVO?

a. __init__.py 

b. __init__.phy

c. __init__.pay

d. __ini__.py

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <ul>

a. COLAS

b. LISTAS 

c. TABLAS

d. PILAS

Respuesta correcta

Pregunta 6

Incorrecta Se puntúa 0,00 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

b. ES EL DISEÑO DE UN PROYECTO.

c. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

d. ES UN ARCHIVO HTML CON CÓDIGO PYTHON 

Respuesta incorrecta.
Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

¿QUE SON LOS MODULOS?

a. COMPONENTES QUE GENERAN DECLARACIONES PARA UTILIZAR EN PYTHON Y SQL, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

b. ARCHIVOS QUE ELIMINAN DECLARACIONES PARA UTILIZAR EN JAVA, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

c. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA UTILIZAR EN PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ. 

d. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA INUTILIZAR EL LENGUAJE PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS

b. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA
APLICACIÓN.

c. ALTAMENTE INESCALABLES

d. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

HABLANDO DE MICROSERVICIOS A QUE CORRESPONDE LA SIGUIENTE DEFINICION “TAMBIÉN LLAMADAS URLS, SE


ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.”

a. CONTROLADOR

b. VISTA

c. MODELO

d. ROUTER 

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿EN MATERIA DE MICROSERVICIOS UN MODELO SE REFIERE A?

a. SOLO SE CREA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES, PERO NO SUS MÉTODOS.
b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN.

c. SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS. 

d. LA VISTA ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

Respuesta correcta

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 


Comenzado el Saturday, 10 de June de 2023, 23:03

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 23:13

Tiempo
10 minutos 1 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

Https es un protocolo

a. Ninguna porque tiene seguridad propia

b. Con ssl 

c. Puede ser sin ssl o con ssl

d. Sin ssl

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Angular JS es

a. Una libreria

b. Una herramienta

c. Lenguaje de Programación

d. Un framework 

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

El atributo GET se encarga de :

a. Recuperar datos. 

b. Realizar seguimiento.

c. Enviar datos.

d. Solicitar encabezado de datos.

Respuesta correcta
Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

Django se puede ejecutar en

a. Windows

b. Mac

c. Linux

d. Todas las opciones son correctos 

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Públicas tienen la característica:

a. Que se puede implementar fácilmente 

b. Reduce el tiempo de desarrollo

c.
Solo puede acceder las personas que están vinculadas directamente

d. Todas las opciones son correctas

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 


 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_1
Comenzado el Tuesday, 23 de May de 2023, 07:01
 Pregrado

Estado Finalizado

Finalizado en Tuesday, 23 de May de 2023, 07:16

Tiempo
15 minutos
empleado

Calificación 9,00 de 15,00 (60%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR CONTROLADORES.

b. MANEJO DE SOLICITUDES POR MODELOS.

c. MANEJO DE SOLICITUDES POR TEMPLATES

d. MANEJO DE SOLICITUDES POR VISTAS. 

Respuesta correcta

Pregunta 2

Incorrecta Se puntúa 0,00 sobre 1,50

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

b. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC

c. BASADAS EN CLASE Y BASADAS EN FUNCIONES

d. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS 

Respuesta incorrecta.

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <ul>

a. COLAS

b. LISTAS 

c. TABLAS Pregrado

d. PILAS

Respuesta correcta

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES EL SERIALIZADOR?

a. TAMBIÉN LLAMADAS URLS, SE ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.

b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN. 

c. EN EL SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS.

d. ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

Respuesta correcta

Pregunta 5

Incorrecta Se puntúa 0,00 sobre 1,50

¿QUE UTILIZA EL LENGUAJE PYTHON?

a. EJECUCION COMPILADA Y NO INTERPRETADA

b. COMPILACION INTERPRETADA Y NO COMPILADA

c. EJECUCION COMPILADA

d. COMPILACION MODERADA Y EJECUTADA

Respuesta incorrecta.

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UNA VENTAJA DE UTILIZAR LOS PAQUETES EN PYTHON?

a. NO SE DEFINEN O DECLARAN LOS NOMBRES IMPORTADOS DESDE OTRO MÓDULO.

b. ESTÁ COMPUESTO DE CLASES, FUNCIONES Y VARIABLES

c. PERMITE UNIFICAR DISTINTOS MÓDULOS BAJO UN MISMO NOMBRE DE PAQUETE, PUDIENDO CREAR JERARQUÍAS DE MÓDULOS Y

SUBMÓDULOS, O TAMBIÉN SUBPAQUETES.

d. PUEDE IMPORTAR FUNCIONES ESPECÍFICAS O TODO EL CONTENIDO DEL FRAMEWORK.

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1 50 sobre 1 50


Correcta Se puntúa 1,50 sobre 1,50

 Pregrado

¿EN UN PROYECTO PYTHON EN QUE ARCHIVO SE ENCUENTRAN LAS VISTAS?

a. viewws.py

b. views.py 

c. vists.py

d. view.py

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS

b. ALTAMENTE INESCALABLES

c. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA APLICACIÓN.

d. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

Respuesta correcta

Pregunta 9

Incorrecta Se puntúa 0,00 sobre 1,50

HABLANDO DE MICROSERVICIOS A QUE CORRESPONDE LA SIGUIENTE DEFINICION “TAMBIÉN LLAMADAS URLS, SE


ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.”

a. ROUTER

b. MODELO

c. VISTA 

d. CONTROLADOR

Respuesta incorrecta.

Pregunta 10

Incorrecta Se puntúa 0,00 sobre 1,50

“SON UN CONJUNTO DE PAQUETES QUE SE DISTRIBUYEN CON EL LENGUAJE PYTHON, SON IMPRESCINDIBLES PARA
USAR MÚLTIPLES HERRAMIENTAS”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. LIBRERÍAS

b. PAQUETES 
c. BLOQUES
 Pregrado
d. MODULOS

Respuesta incorrecta.

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 


 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_2
Comenzado el Saturday, 10 de June de 2023, 23:31
 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 23:36

Tiempo
5 minutos 21 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la ruta

a. Todas las otras opciones son correctas

b. www.gcfaprendelibre.org

c. imágenes/logo.png 

d. http

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Django esta escrito en el lenguaje de programación

a. SQL Worbench

b. Phyton 

c. Postgre SQL

d. My SQL

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Boostrap es un framework de desarrollo:

a. Front end 

b. Back end

c. Intermedio

d. Ninguna respuesta es correcta

Respuesta correcta
 Pregunta 4 Pregrado

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre del archivo

a. imagenes

b. imágenes/logo.png

c. Logo.png 

d. www.gcfaprendelibre.org

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Django es

a. Una libreria

b. Lenguaje de Programación

c. Una herramienta

d. Un framework 

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 


 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_1
Comenzado el Saturday, 20 de May de 2023, 21:07
 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 21:10

Tiempo
3 minutos 33 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

“APLICACIÓN QUE PERMITE CONECTAR SISTEMAS PARA QUE INTERACTÚEN ENTRE SÍ”, A QUE CORRESPONDE LA
DEFINICION PRESENTADA.

a. ARQUITECTURA

b. API 

c. APIEST

d. APP WEB

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

“SON UN CONJUNTO DE PAQUETES QUE SE DISTRIBUYEN CON EL LENGUAJE PYTHON, SON IMPRESCINDIBLES PARA
USAR MÚLTIPLES HERRAMIENTAS”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. PAQUETES

b. BLOQUES

c. LIBRERÍAS 

d. MODULOS

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

ES UNA CARACTERISTICA DE PYTHON

a. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA LPG ES DECIR NO SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
b. ES UN SOFTWARE DE CÓDIGO MAESTRO ESCLAVO. TIENE UNA LICENCIA PL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

c. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA GPL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE

PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

d. ES UN SOFTWARE DE CÓDIGO MEDIO LIBRE. TIENE UNA LICENCIA PLG ES DECIR SE PUEDE DESCARGAR CON DIFICULTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
Respuesta correcta
 Pregrado

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

EN UN PAQUETE SIEMPRE DEBE EXISTIR UN ARCHIVO QUE SE ENCARGARA DE LA IMPORTACION DE LOS MODULOS,
¿CUÁL ES EL NOMBRE DE ESTE ARCHIVO?

a. __init__.pay

b. __init__.py 

c. __init__.phy

d. __ini__.py

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

HABLANDO DE MICROSERVICIOS A QUE CORRESPONDE LA SIGUIENTE DEFINICION “TAMBIÉN LLAMADAS URLS, SE


ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.”

a. ROUTER 

b. VISTA

c. CONTROLADOR

d. MODELO

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

¿POR QUIEN FUE CREADO PYTHON?

a. GALLOW REUS

b. GUIDO VAN ROSSUM 

c. ELMER VON RUSSON

d. TORVAL LINUSS

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <ul>
 Pregrado
a. LISTAS 

b. COLAS

c. TABLAS

d. PILAS

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR VISTAS. 

b. MANEJO DE SOLICITUDES POR TEMPLATES

c. MANEJO DE SOLICITUDES POR MODELOS.

d. MANEJO DE SOLICITUDES POR CONTROLADORES.

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

“USAN OBJETOS PROPIOS DE PYTHON PARA IMPLEMENTAR VISTAS”, ¿A QUE TERMINO HACE REFERENCIA EL
ENUNCIADO PRESENTADO?

a. VISTAS BASADAS EN PYTHON

b. VISTAS BASADAS EN MODELOS

c. VISTAS BASADAS EN TEMPLATES

d. VISTAS BASADAS EN CLASES 

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a ES EL DISEÑO DE UN PROYECTO 
a. ES EL DISEÑO DE UN PROYECTO. 

 Pregrado
b. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

c. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

d. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

Respuesta correcta

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 


 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_2
Comenzado el Saturday, 10 de June de 2023, 21:36
 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 21:36

Tiempo
52 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre del host

a. imágenes/logo.png

b. Todas las otras opciones son correctas

c. www.gcfaprendelibre.org 

d. http

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Que atributo se utiliza para realizar un troubleshooting en el protocolo http

a. Help

b. Trace 

c.
Options

d.
Head

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Django esta escrito en el lenguaje de programación

a. Phyton 

b. Postgre SQL

c. SQL Worbench

d. My SQL

Respuesta correcta
 Pregrado

Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre del archivo

a. www.gcfaprendelibre.org

b. imagenes

c. Logo.png 

d. imágenes/logo.png

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Públicas tienen la característica:

a. Que se puede implementar fácilmente 

b.
Solo puede acceder las personas que están vinculadas directamente

c. Reduce el tiempo de desarrollo

d. Todas las opciones son correctas

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 


 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_1
Comenzado el Saturday, 20 de May de 2023, 21:01
 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 21:06

Tiempo
5 minutos 37 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <ul>

a. LISTAS 

b. PILAS

c. TABLAS

d. COLAS

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

ES UNA CARACTERISTICA DE PYTHON

a. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA GPL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE

PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

b. ES UN SOFTWARE DE CÓDIGO MEDIO LIBRE. TIENE UNA LICENCIA PLG ES DECIR SE PUEDE DESCARGAR CON DIFICULTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
c. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA LPG ES DECIR NO SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
d. ES UN SOFTWARE DE CÓDIGO MAESTRO ESCLAVO. TIENE UNA LICENCIA PL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿POR QUIEN FUE CREADO PYTHON?

a. TORVAL LINUSS

b. ELMER VON RUSSON

c. GUIDO VAN ROSSUM 

d. GALLOW REUS

Respuesta correcta
 Pregrado

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <li>

a. PÁRRAFOS

b. ELEMENTOS DENTRO DE LA LISTA 

c. ELEMENTOS DENTRO DE UNA TABLA

d. IMÁGENES

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿QUE SON LOS MODULOS?

a. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA UTILIZAR EN PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ. 

b. COMPONENTES QUE GENERAN DECLARACIONES PARA UTILIZAR EN PYTHON Y SQL, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

c. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA INUTILIZAR EL LENGUAJE PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

d. ARCHIVOS QUE ELIMINAN DECLARACIONES PARA UTILIZAR EN JAVA, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

EN UN PAQUETE SIEMPRE DEBE EXISTIR UN ARCHIVO QUE SE ENCARGARA DE LA IMPORTACION DE LOS MODULOS,
¿CUÁL ES EL NOMBRE DE ESTE ARCHIVO?

a. __init__.py 

b. __ini__.py

c. __init__.pay

d. __init__.phy

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

b. ALTAMENTE INESCALABLES
 c. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS Pregrado

d. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA APLICACIÓN.

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR TEMPLATES

b. MANEJO DE SOLICITUDES POR CONTROLADORES.

c. MANEJO DE SOLICITUDES POR VISTAS. 

d. MANEJO DE SOLICITUDES POR MODELOS.

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ PALABRA RESERVADA SE UTILIZA PARA LLAMAR UN MODULO EN OTRO MODULO?

a. USE AS

b. EXPORT

c. FROM

d. IMPORT 

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ SIGNIFICA URL?

a. UNIFORMS RESOURCE LOGS

b. UNIFORM RESOURCING LOCATING

c. UNIFORM RESOURCE LOCATORS 

d. UNIFORMES REST LOCATORS

Respuesta correcta
p

 Pregrado

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 


 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_2
Comenzado el Saturday, 10 de June de 2023, 21:34
 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 21:35

Tiempo
1 minutos 22 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la ruta

a. Todas las otras opciones son correctas

b. http

c. imágenes/logo.png 

d. www.gcfaprendelibre.org

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

El atributo GET se encarga de :

a. Recuperar datos. 

b. Solicitar encabezado de datos.

c. Realizar seguimiento.

d. Enviar datos.

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Django es

a. Una herramienta

b. Una libreria

c. Un framework 

d. Lenguaje de Programación

Respuesta correcta
 Pregunta 4 Pregrado

Correcta Se puntúa 3,00 sobre 3,00

El atributo POST se encarga de :

a. Solicitar datos.

b. Realizar seguimiento.

c. Enviar datos. 

d. Recuperar datos.

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el protocolo

a. http 

b. Todas las otras opciones son correctas

c. www.gcfaprendelibre.org

d. imágenes/logo.png

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 


 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_1
Comenzado el Saturday, 20 de May de 2023, 21:11
 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 21:15

Tiempo
3 minutos 29 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ PALABRA RESERVADA SE UTILIZA PARA LLAMAR UN MODULO EN OTRO MODULO?

a. EXPORT

b. IMPORT 

c. FROM

d. USE AS

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿EN UN PROYECTO PYTHON EN QUE ARCHIVO SE ENCUENTRAN LAS VISTAS?

a. vists.py

b. views.py 

c. view.py

d. viewws.py

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <ul>

a. TABLAS

b. COLAS

c. LISTAS 

d. PILAS

Respuesta correcta
 Pregunta 4 Pregrado

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <li>

a. ELEMENTOS DENTRO DE LA LISTA 

b. ELEMENTOS DENTRO DE UNA TABLA

c. PÁRRAFOS

d. IMÁGENES

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

b. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

c. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

d. ES EL DISEÑO DE UN PROYECTO. 

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES EL SERIALIZADOR?

a. ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN. 

c. TAMBIÉN LLAMADAS URLS, SE ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.

d. EN EL SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS.

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

“FRAGMENTOS DE TEXTOS QUE SE ENCUENTRAN EN UN PROGRAMA, ESTOS FRAGMENTOS SE EJECUTAN COMO


UNO SOLO”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?
 Pregrado

a. BLOQUES 

b. LIBRERÍAS

c. PAQUETES

d. MODULOS

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

EL SIGUIENTE ENUNCIADO A QUE TERMINO CORRESPONDE “SU ESTRUCTURA ES COMPACTA Y TIENE UNA GRAN
RAPIDEZ AL REALIZAR LOS PROCESOS YA QUE SU DISEÑO ARQUITECTÓNICO PERMITE PROCESAR VARIOS SERVICIOS A
LA VEZ YA QUE TIENE VARIOS MÓDULOS QUE AYUDAN A SUS PROCESAMIENTOS”

a. ARQUITECTURA MICROSERVICIOS 

b. ARQUITECTURA EN CASCADA

c. ARQUITECTURA MVC

d. ARQUITECTURA MVT

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

“REFIERE A UNA ESPECIALIDAD PARA EL DESARROLLO WEB EN LA CUAL LA PARTE QUE SE TRABAJA ES LA INTERFAZ
WEB CON LA CUAL EL USUARIO PUEDA INTERACTUAR.” ¿A QUE TERMINO HACE REFERENCIA EL ENCUNCIADO
PRESENTADO?

a. UI

b. BACK END

c. FRONT END 

d. UX

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

b. ALTAMENTE INESCALABLES

c. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA APLICACIÓN.

d PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS


d. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS

 Pregrado
Respuesta correcta

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 


16/6/23, 16:49 TEST_1: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_1

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1117908&cmid=327000 1/5
16/6/23, 16:49 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 21:12


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 21:23

Tiempo
10 minutos 58 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ SIGNIFICA URL?

a. UNIFORM RESOURCE LOCATORS 

b. UNIFORM RESOURCING LOCATING

c. UNIFORMES REST LOCATORS

d. UNIFORMS RESOURCE LOGS

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

“SON UN CONJUNTO DE PAQUETES QUE SE DISTRIBUYEN CON EL LENGUAJE PYTHON, SON IMPRESCINDIBLES PARA
USAR MÚLTIPLES HERRAMIENTAS”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. PAQUETES

b. LIBRERÍAS 

c. MODULOS

d. BLOQUES

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿QUE SON LOS MODULOS?

a. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA UTILIZAR EN PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ. 

b. COMPONENTES QUE GENERAN DECLARACIONES PARA UTILIZAR EN PYTHON Y SQL, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

c. ARCHIVOS QUE ELIMINAN DECLARACIONES PARA UTILIZAR EN JAVA, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

d. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA INUTILIZAR EL LENGUAJE PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

Respuesta correcta

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1117908&cmid=327000 2/5
16/6/23, 16:49 TEST_1: Revisión del intento

 Pregrado

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS

b. BASADAS EN CLASE Y BASADAS EN FUNCIONES 

c. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC

d. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <li>

a. ELEMENTOS DENTRO DE UNA TABLA

b. ELEMENTOS DENTRO DE LA LISTA 

c. PÁRRAFOS

d. IMÁGENES

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

HABLANDO DE MICROSERVICIOS A QUE CORRESPONDE LA SIGUIENTE DEFINICION “TAMBIÉN LLAMADAS URLS, SE


ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.”

a. ROUTER 

b. CONTROLADOR

c. VISTA

d. MODELO

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ PALABRA RESERVADA SE UTILIZA PARA LLAMAR UN MODULO EN OTRO MODULO?

EXPORT
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1117908&cmid=327000 3/5
16/6/23, 16:49 TEST_1: Revisión del intento
a. EXPORT
 Pregrado
b. IMPORT 

c. FROM

d. USE AS

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

ES UNA CARACTERISTICA DE PYTHON

a. NO EXISTE UN ESTILO DEFINIDO DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA REGIRSE ÚNICAMENTE A UN

SOLO MODO.

b. NO EXISTE UN ESTILO DEFINIDO DE ESTRUCTURACION. ESTO AYUDA A QUE EL DISEÑADOR NO DEBA REGIRSE ÚNICAMENTE A UN SOLO
MODO.
c. EXISTE UN ESTILO DEFINIDO DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA REGIRSE ÚNICAMENTE A UN SOLO
MODO.
d. EXISTE VARIOS ESTILOS INDEFINIDOS DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA REGIRSE ÚNICAMENTE A UN
SOLO MODO.

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES EL SERIALIZADOR?

a. TAMBIÉN LLAMADAS URLS, SE ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.

b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN. 

c. EN EL SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS.

d. ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UNA VENTAJA DE UTILIZAR LOS PAQUETES EN PYTHON?

a. ESTÁ COMPUESTO DE CLASES, FUNCIONES Y VARIABLES

b. PUEDE IMPORTAR FUNCIONES ESPECÍFICAS O TODO EL CONTENIDO DEL FRAMEWORK.

c. NO SE DEFINEN O DECLARAN LOS NOMBRES IMPORTADOS DESDE OTRO MÓDULO.

d. PERMITE UNIFICAR DISTINTOS MÓDULOS BAJO UN MISMO NOMBRE DE PAQUETE, PUDIENDO CREAR JERARQUÍAS DE MÓDULOS Y

SUBMÓDULOS, O TAMBIÉN SUBPAQUETES.

Respuesta correcta

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1117908&cmid=327000 4/5
16/6/23, 16:49 TEST_1: Revisión del intento

 Pregrado

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1117908&cmid=327000 5/5
16/6/23, 16:49 TEST_2: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_2

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1384595&cmid=327001 1/3
16/6/23, 16:49 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 22:51


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 23:00

Tiempo
8 minutos 50 segundos
empleado

Calificación 12,00 de 15,00 (80%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la ruta

a. imágenes/logo.png 

b. http

c. www.gcfaprendelibre.org

d. Todas las otras opciones son correctas

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Públicas tienen la característica:

a. Todas las opciones son correctas

b. Que se puede implementar fácilmente 

c. Reduce el tiempo de desarrollo

d.
Solo puede acceder las personas que están vinculadas directamente

Respuesta correcta

Pregunta 3

Incorrecta Se puntúa 0,00 sobre 3,00

Http es un protocolo

a. Puede ser sin ssl o con ssl

b. Sin ssl

c. Ninguna porque tiene seguridad propia

d. Con ssl 

Respuesta incorrecta.

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1384595&cmid=327001 2/3
16/6/23, 16:49 TEST_2: Revisión del intento

 Pregrado

Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Privadas tienen la característica:

a. El tiempo de desarrollo es más corto 

b. Todas las opciones son correctas

c. Cualquier persona tiene acceso

d. Se puede implementar fácilmente

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Django es

a. Una libreria

b. Un framework 

c. Lenguaje de Programación

d. Una herramienta

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1384595&cmid=327001 3/3
16/6/23, 16:51 TEST_1: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_1

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122440&cmid=327000 1/5
16/6/23, 16:51 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 22:33


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 22:43

Tiempo
10 minutos 47 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS

b. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC

c. BASADAS EN CLASE Y BASADAS EN FUNCIONES 

d. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR CONTROLADORES.

b. MANEJO DE SOLICITUDES POR TEMPLATES

c. MANEJO DE SOLICITUDES POR MODELOS.

d. MANEJO DE SOLICITUDES POR VISTAS. 

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UNA VENTAJA DE UTILIZAR LOS PAQUETES EN PYTHON?

a. ESTÁ COMPUESTO DE CLASES, FUNCIONES Y VARIABLES

b. NO SE DEFINEN O DECLARAN LOS NOMBRES IMPORTADOS DESDE OTRO MÓDULO.

c. PUEDE IMPORTAR FUNCIONES ESPECÍFICAS O TODO EL CONTENIDO DEL FRAMEWORK.

d PERMITE UNIFICAR DISTINTOS MÓDULOS BAJO UN MISMO NOMBRE DE PAQUETE PUDIENDO CREAR JERARQUÍAS DE MÓDULOS Y
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122440&cmid=327000 2/5
16/6/23, 16:51 TEST_1: Revisión del intento
d. PERMITE UNIFICAR DISTINTOS MÓDULOS BAJO UN MISMO NOMBRE DE PAQUETE, PUDIENDO CREAR JERARQUÍAS DE MÓDULOS Y

 SUBMÓDULOS, O TAMBIÉN SUBPAQUETES. Pregrado

Respuesta correcta

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

¿QUE UTILIZA EL LENGUAJE PYTHON?

a. COMPILACION MODERADA Y EJECUTADA

b. COMPILACION INTERPRETADA Y NO COMPILADA 

c. EJECUCION COMPILADA Y NO INTERPRETADA

d.
EJECUCION COMPILADA

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

“APLICACIÓN QUE PERMITE CONECTAR SISTEMAS PARA QUE INTERACTÚEN ENTRE SÍ”, A QUE CORRESPONDE LA
DEFINICION PRESENTADA.

a. APIEST

b. API 

c. APP WEB

d. ARQUITECTURA

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

¿QUE TIPO DE LENGUAJE ES PYTHON?

a. ALTO NIVEL 

b.
BAJO NIVEL

c. NINGUN NIVEL

d. MODERADO NIVEL

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122440&cmid=327000 3/5
16/6/23, 16:51 TEST_1: Revisión del intento

 Pregrado

EL SIGUIENTE ENUNCIADO A QUE TERMINO CORRESPONDE “SU ESTRUCTURA ES COMPACTA Y TIENE UNA GRAN
RAPIDEZ AL REALIZAR LOS PROCESOS YA QUE SU DISEÑO ARQUITECTÓNICO PERMITE PROCESAR VARIOS SERVICIOS A
LA VEZ YA QUE TIENE VARIOS MÓDULOS QUE AYUDAN A SUS PROCESAMIENTOS”

a. ARQUITECTURA MVC

b. ARQUITECTURA MICROSERVICIOS 

c. ARQUITECTURA EN CASCADA

d. ARQUITECTURA MVT

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES EL SERIALIZADOR?

a. TAMBIÉN LLAMADAS URLS, SE ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.

b. EN EL SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS.

c. ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

d. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN. 

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

¿QUE SON LOS MODULOS?

a. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA INUTILIZAR EL LENGUAJE PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

b. ARCHIVOS QUE ELIMINAN DECLARACIONES PARA UTILIZAR EN JAVA, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

c. COMPONENTES QUE GENERAN DECLARACIONES PARA UTILIZAR EN PYTHON Y SQL, TODO EL CÓDIGO SE ENCUENTRA AQUÍ.

d. ARCHIVOS QUE CONTIENEN DECLARACIONES PARA UTILIZAR EN PYTHON, TODO EL CÓDIGO SE ENCUENTRA AQUÍ. 

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

ES UNA CARACTERISTICA DE PYTHON

a. EXISTE UN ESTILO DEFINIDO DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA REGIRSE ÚNICAMENTE A UN SOLO
MODO.

b. NO EXISTE UN ESTILO DEFINIDO DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA REGIRSE ÚNICAMENTE A UN

SOLO MODO.

c. NO EXISTE UN ESTILO DEFINIDO DE ESTRUCTURACION. ESTO AYUDA A QUE EL DISEÑADOR NO DEBA REGIRSE ÚNICAMENTE A UN SOLO
MODO.
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122440&cmid=327000 4/5
16/6/23, 16:51 TEST_1: Revisión del intento

d. EXISTE VARIOS ESTILOS INDEFINIDOS DE PROGRAMACIÓN. ESTO AYUDA A QUE EL PROGRAMADOR NO DEBA REGIRSE ÚNICAMENTE A UN
Pregrado

SOLO MODO.

Respuesta correcta

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1122440&cmid=327000 5/5
16/6/23, 16:51 TEST_2: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_2

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1385962&cmid=327001 1/3
16/6/23, 16:51 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 23:19


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 23:26

Tiempo
6 minutos 48 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la ruta

a. imágenes/logo.png 

b. Todas las otras opciones son correctas

c. http

d. www.gcfaprendelibre.org

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Privadas tienen la característica:

a. Todas las opciones son correctas

b. Se puede implementar fácilmente

c. Cualquier persona tiene acceso

d. El tiempo de desarrollo es más corto 

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

El atributo GET se encarga de :

a. Enviar datos.

b. Solicitar encabezado de datos.

c. Recuperar datos. 

d. Realizar seguimiento.

Respuesta correcta

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1385962&cmid=327001 2/3
16/6/23, 16:51 TEST_2: Revisión del intento

 Pregunta 4 Pregrado

Correcta Se puntúa 3,00 sobre 3,00

JavaScrip necesita:

a. Mediana cantidad de código para manipular DOM

b. Poca cantidad de código para manipular DOM

c. Gran cantidad de código para manipular DOM 

d. Ninguna respuesta es correcta

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Django esta escrito en el lenguaje de programación

a. My SQL

b. Postgre SQL

c. Phyton 

d. SQL Worbench

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1385962&cmid=327001 3/3
16/6/23, 16:41 TEST_2: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_2

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1381188&cmid=327001 1/3
16/6/23, 16:41 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 22:07


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 22:15

Tiempo
8 minutos 56 segundos
empleado

Calificación 6,00 de 15,00 (40%)

Pregunta 1

Incorrecta Se puntúa 0,00 sobre 3,00

En el siguiente ejemplo identifique cual es el protocolo

a. Todas las otras opciones son correctas 

b. http

c. imágenes/logo.png

d. www.gcfaprendelibre.org

Respuesta incorrecta.

Pregunta 2

Incorrecta Se puntúa 0,00 sobre 3,00

Que atributo se utiliza para realizar un troubleshooting en el protocolo http

a.
Options

b. Help 

c. Head

d. Trace

Respuesta incorrecta.

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Django es óptimo contra ataques

a. Hombre en el Medio

b. SQL injection 

c. Ingeniería Social

d. Phishing

Respuesta correcta
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1381188&cmid=327001 2/3
16/6/23, 16:41 TEST_2: Revisión del intento

 Pregrado

Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Privadas tienen la característica:

a. Cualquier persona tiene acceso

b. El tiempo de desarrollo es más corto 

c. Se puede implementar fácilmente

d. Todas las opciones son correctas

Respuesta correcta

Pregunta 5

Incorrecta Se puntúa 0,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la ruta

a. http

b. www.gcfaprendelibre.org 

c. imágenes/logo.png

d. Todas las otras opciones son correctas

Respuesta incorrecta.

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1381188&cmid=327001 3/3
16/6/23, 16:42 TEST_1: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C2[65870] - P - Actividades contacto con el docente - TEST_1

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120257&cmid=327000 1/5
16/6/23, 16:42 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 21:49


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 21:57

Tiempo
8 minutos 47 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

b. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

c. ES EL DISEÑO DE UN PROYECTO. 

d. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ SIGNIFICA URL?

a. UNIFORM RESOURCING LOCATING

b. UNIFORMES REST LOCATORS

c. UNIFORMS RESOURCE LOGS

d. UNIFORM RESOURCE LOCATORS 

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

“APLICACIÓN QUE PERMITE CONECTAR SISTEMAS PARA QUE INTERACTÚEN ENTRE SÍ”, A QUE CORRESPONDE LA
DEFINICION PRESENTADA.

a. APP WEB

b. APIEST

c. API 

d. ARQUITECTURA

Respuesta correcta

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120257&cmid=327000 2/5
16/6/23, 16:42 TEST_1: Revisión del intento

 Pregrado

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

¿EN UN PROYECTO PYTHON EN QUE ARCHIVO SE ENCUENTRAN LAS VISTAS?

a. view.py

b. viewws.py

c. views.py 

d. vists.py

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS

b. ALTAMENTE INESCALABLES

c. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

d. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA APLICACIÓN.

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ PALABRA RESERVADA SE UTILIZA PARA LLAMAR UN MODULO EN OTRO MODULO?

a. EXPORT

b. FROM

c. IMPORT 

d. USE AS

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

¿QUE UTILIZA EL LENGUAJE PYTHON?

a. EJECUCION COMPILADA

b COMPILACION INTERPRETADA Y NO COMPILADA 


https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120257&cmid=327000 3/5
16/6/23, 16:42 TEST_1: Revisión del intento
b. COMPILACION INTERPRETADA Y NO COMPILADA 

 Pregrado
c. EJECUCION COMPILADA Y NO INTERPRETADA

d. COMPILACION MODERADA Y EJECUTADA

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <li>

a. PÁRRAFOS

b. ELEMENTOS DENTRO DE LA LISTA 

c. ELEMENTOS DENTRO DE UNA TABLA

d. IMÁGENES

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

HABLANDO DE MICROSERVICIOS A QUE CORRESPONDE LA SIGUIENTE DEFINICION “TAMBIÉN LLAMADAS URLS, SE


ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.”

a. ROUTER 

b. MODELO

c. CONTROLADOR

d. VISTA

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS

b. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

c. BASADAS EN CLASE Y BASADAS EN FUNCIONES 

d. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC

Respuesta correcta

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120257&cmid=327000 4/5
16/6/23, 16:42 TEST_1: Revisión del intento

 Pregrado Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120257&cmid=327000 5/5
16/6/23, 16:43 TEST_1: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_1

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120838&cmid=326969 1/5
16/6/23, 16:43 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 21:59


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 22:09

Tiempo
9 minutos 50 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿QUE TIPO DE LENGUAJE ES PYTHON?

a. MODERADO NIVEL

b.
BAJO NIVEL

c. NINGUN NIVEL

d. ALTO NIVEL 

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS

b. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

c. ALTAMENTE INESCALABLES

d. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA APLICACIÓN.

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. ES EL DISEÑO DE UN PROYECTO. 

b. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

c. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

d. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

Respuesta correcta

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120838&cmid=326969 2/5
16/6/23, 16:43 TEST_1: Revisión del intento

Pregunta 4
 Pregrado

Correcta Se puntúa 1,50 sobre 1,50

“SON UN CONJUNTO DE PAQUETES QUE SE DISTRIBUYEN CON EL LENGUAJE PYTHON, SON IMPRESCINDIBLES PARA
USAR MÚLTIPLES HERRAMIENTAS”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. MODULOS

b. LIBRERÍAS 

c. PAQUETES

d. BLOQUES

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <ul>

a. COLAS

b. TABLAS

c. PILAS

d. LISTAS 

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

ES UNA CARACTERISTICA DE PYTHON

a. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA GPL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE

PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

b. ES UN SOFTWARE DE CÓDIGO MAESTRO ESCLAVO. TIENE UNA LICENCIA PL ES DECIR SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
c. ES UN SOFTWARE DE CÓDIGO MEDIO LIBRE. TIENE UNA LICENCIA PLG ES DECIR SE PUEDE DESCARGAR CON DIFICULTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.
d. ES UN SOFTWARE DE CÓDIGO LIBRE. TIENE UNA LICENCIA LPG ES DECIR NO SE PUEDE DESCARGAR CON LIBERTAD EL LENGUAJE DE
PROGRAMACIÓN, ADEMÁS DE TENER LA LIBERTAD DE DISTRIBUIRLO, MODIFICARLO, ETC.

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

EN UN PAQUETE SIEMPRE DEBE EXISTIR UN ARCHIVO QUE SE ENCARGARA DE LA IMPORTACION DE LOS MODULOS,
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120838&cmid=326969 3/5
16/6/23, 16:43 TEST_1: Revisión del intento

¿CUÁL ES EL NOMBRE DE ESTE ARCHIVO?


 Pregrado

a. __ini__.py

b. __init__.pay

c. __init__.phy

d. __init__.py 

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

a. MANEJO DE SOLICITUDES POR MODELOS.

b. MANEJO DE SOLICITUDES POR TEMPLATES

c. MANEJO DE SOLICITUDES POR CONTROLADORES.

d. MANEJO DE SOLICITUDES POR VISTAS. 

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

“CUADRO DONDE SE COLOCA TEXTO PARA MARCAR SECCIONES DE CÓDIGO”, ¿A QUE TERMINO HACE
REFERENCIA EL ENUNCIADO PRESENTADO?

a. ETIQUETA 

b. FRAMEWORK

c. MODELO

d. MODULOS

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿QUE UTILIZA EL LENGUAJE PYTHON?

a. EJECUCION COMPILADA Y NO INTERPRETADA

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120838&cmid=326969 4/5
16/6/23, 16:43 TEST_1: Revisión del intento

b. COMPILACION INTERPRETADA Y NO COMPILADA 


 Pregrado
c. COMPILACION MODERADA Y EJECUTADA

d. EJECUCION COMPILADA

Respuesta correcta

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1120838&cmid=326969 5/5
16/6/23, 16:43 TEST_2: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_2

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1383922&cmid=326963 1/3
16/6/23, 16:43 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 22:40


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 22:48

Tiempo
8 minutos 8 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre del archivo

a. www.gcfaprendelibre.org

b. imagenes

c. imágenes/logo.png

d. Logo.png 

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre de la carpeta

a. imagenes 

b. Logo.png

c. imágenes/logo.png

d. www.gcfaprendelibre.org

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Angular JS es

a. Lenguaje de Programación

b. Una libreria

c. Una herramienta

d. Un framework 

Respuesta correcta
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1383922&cmid=326963 2/3
16/6/23, 16:43 TEST_2: Revisión del intento
p

 Pregrado

Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

Https es un protocolo

a. Ninguna porque tiene seguridad propia

b. Puede ser sin ssl o con ssl

c. Con ssl 

d. Sin ssl

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el protocolo

a. http 

b. Todas las otras opciones son correctas

c. www.gcfaprendelibre.org

d. imágenes/logo.png

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1383922&cmid=326963 3/3
16/6/23, 16:46 TEST_1: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_1

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1119589&cmid=326969 1/5
16/6/23, 16:46 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 21:38


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 21:46

Tiempo
8 minutos 17 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES EL SERIALIZADOR?

a. TAMBIÉN LLAMADAS URLS, SE ENCARGA DE DIRECCIONAR LAS VISTAS Y MÉTODOS.

b. EN EL SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS.

c. ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

d. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN. 

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. ES EL DISEÑO DE UN PROYECTO. 

b. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

c. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

d. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

“CUADRO DONDE SE COLOCA TEXTO PARA MARCAR SECCIONES DE CÓDIGO”, ¿A QUE TERMINO HACE
REFERENCIA EL ENUNCIADO PRESENTADO?

a. FRAMEWORK

b. MODELO

c. ETIQUETA 

d. MODULOS

Respuesta correcta
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1119589&cmid=326969 2/5
16/6/23, 16:46 TEST_1: Revisión del intento
Respuesta correcta

 Pregrado

Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

¿POR QUIEN FUE CREADO PYTHON?

a. GUIDO VAN ROSSUM 

b. TORVAL LINUSS

c. ELMER VON RUSSON

d. GALLOW REUS

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN CLASE Y BASADAS EN FUNCIONES 

b. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC

c. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

d. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

“SON UN CONJUNTO DE PAQUETES QUE SE DISTRIBUYEN CON EL LENGUAJE PYTHON, SON IMPRESCINDIBLES PARA
USAR MÚLTIPLES HERRAMIENTAS”, ¿A QUE TERMINO HACE REFERENCIA EL ENUNCIADO PRESENTADO?

a. LIBRERÍAS 

b. BLOQUES

c. MODULOS

d. PAQUETES

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1119589&cmid=326969 3/5
16/6/23, 16:46 TEST_1: Revisión del intento

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <li>
 Pregrado

a. IMÁGENES

b. ELEMENTOS DENTRO DE LA LISTA 

c. ELEMENTOS DENTRO DE UNA TABLA

d. PÁRRAFOS

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ SIGNIFICA URL?

a. UNIFORM RESOURCE LOCATORS 

b. UNIFORMS RESOURCE LOGS

c. UNIFORMES REST LOCATORS

d. UNIFORM RESOURCING LOCATING

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

¿QUE TIPO DE LENGUAJE ES PYTHON?

a. NINGUN NIVEL

b. MODERADO NIVEL

c. ALTO NIVEL 

d.
BAJO NIVEL

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UN BENEFICIO DE USAR MICROSERVICIOS?

a. AL SER INDEPENDIENTES, NO SE PUEDE MODIFICAR E INCLUSO ELIMINAR, SIN QUE ESTO AFECTE AL FUNCIONAMIENTO DE OTRA APLICACIÓN.

b. ALTAMENTE INESCALABLES

c. PUEDEN SER GESTIONADOS POR EQUIPOS MEDIANOS

d. PUEDEN SER GESTIONADOS POR EQUIPOS PEQUEÑOS 

Respuesta correcta
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1119589&cmid=326969 4/5
16/6/23, 16:46 TEST_1: Revisión del intento

 Pregrado

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1119589&cmid=326969 5/5
16/6/23, 16:46 TEST_2: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_2

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1381755&cmid=326963 1/3
16/6/23, 16:46 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 22:13


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 22:23

Tiempo
9 minutos 59 segundos
empleado

Calificación 12,00 de 15,00 (80%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el protocolo

a. www.gcfaprendelibre.org

b. http 

c. imágenes/logo.png

d. Todas las otras opciones son correctas

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

En el siguiente ejemplo identifique cual es el nombre del archivo

a. www.gcfaprendelibre.org

b. Logo.png 

c. imagenes

d. imágenes/logo.png

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Django es óptimo contra ataques

a. Ingeniería Social

b. Hombre en el Medio

c. SQL injection 

d. Phishing

Respuesta correcta
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1381755&cmid=326963 2/3
16/6/23, 16:46 TEST_2: Revisión del intento
p

 Pregrado

Pregunta 4

Correcta Se puntúa 3,00 sobre 3,00

Django esta escrito en el lenguaje de programación

a. Postgre SQL

b. My SQL

c. Phyton 

d. SQL Worbench

Respuesta correcta

Pregunta 5

Incorrecta Se puntúa 0,00 sobre 3,00

Las APIs Públicas tienen la característica:

a. Solo puede acceder las personas que están vinculadas directamente


b. Que se puede implementar fácilmente

c. Todas las opciones son correctas

d. Reduce el tiempo de desarrollo

Respuesta incorrecta.

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1381755&cmid=326963 3/3
16/6/23, 16:47 TEST_1: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_1

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121451&cmid=326969 1/5
16/6/23, 16:47 TEST_1: Revisión del intento

Comenzado el Saturday, 20 de May de 2023, 22:10


 Pregrado

Estado Finalizado

Finalizado en Saturday, 20 de May de 2023, 22:21

Tiempo
10 minutos 49 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA O PARA QUE SE USA LA SIGUIENTE ETIQUETA HTML? <li>

a. ELEMENTOS DENTRO DE LA LISTA 

b. PÁRRAFOS

c. IMÁGENES

d. ELEMENTOS DENTRO DE UNA TABLA

Respuesta correcta

Pregunta 2

Correcta Se puntúa 1,50 sobre 1,50

¿CUÁL ES UNA VENTAJA DE UTILIZAR LOS PAQUETES EN PYTHON?

a. NO SE DEFINEN O DECLARAN LOS NOMBRES IMPORTADOS DESDE OTRO MÓDULO.

b. ESTÁ COMPUESTO DE CLASES, FUNCIONES Y VARIABLES

c. PUEDE IMPORTAR FUNCIONES ESPECÍFICAS O TODO EL CONTENIDO DEL FRAMEWORK.

d. PERMITE UNIFICAR DISTINTOS MÓDULOS BAJO UN MISMO NOMBRE DE PAQUETE, PUDIENDO CREAR JERARQUÍAS DE MÓDULOS Y

SUBMÓDULOS, O TAMBIÉN SUBPAQUETES.

Respuesta correcta

Pregunta 3

Correcta Se puntúa 1,50 sobre 1,50

¿QUE TIPO DE LENGUAJE ES PYTHON?

a.
BAJO NIVEL

b. NINGUN NIVEL

c. MODERADO NIVEL

d. ALTO NIVEL 

Respuesta correcta

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121451&cmid=326969 2/5
16/6/23, 16:47 TEST_1: Revisión del intento

 Pregrado
Pregunta 4

Correcta Se puntúa 1,50 sobre 1,50

“USAN OBJETOS PROPIOS DE PYTHON PARA IMPLEMENTAR VISTAS”, ¿A QUE TERMINO HACE REFERENCIA EL
ENUNCIADO PRESENTADO?

a. VISTAS BASADAS EN MODELOS

b. VISTAS BASADAS EN PYTHON

c. VISTAS BASADAS EN TEMPLATES

d. VISTAS BASADAS EN CLASES 

Respuesta correcta

Pregunta 5

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ TIPOS DE VISTAS VIMOS EN CLASE?

a. BASADAS EN MÓDULOS Y BASADAS EN PAQUETES

b. BASADAS EN MICROSERVICIOS Y BASADAS EN MVC

c. BASADAS EN CLASE Y BASADAS EN FUNCIONES 

d. BASADAS EN MODELOS Y BASADAS EN ARQUITECTURAS

Respuesta correcta

Pregunta 6

Correcta Se puntúa 1,50 sobre 1,50

¿QUÉ ES UNA PLANTILLA O TEMPLATE?

a. ES UN ARCHIVO HTML CON CÓDIGO PYTHON

b. CUALQUIER TIPO DE ARCHIVO QUE SE ENCUENTRE EN LA CARPETA TEMPLATES.

c. ES UN ARCHIVO CSS CON CÓDIGO PYTHON

d. ES EL DISEÑO DE UN PROYECTO. 

Respuesta correcta

Pregunta 7

Correcta Se puntúa 1,50 sobre 1,50

“REFIERE A UNA ESPECIALIDAD PARA EL DESARROLLO WEB EN LA CUAL LA PARTE QUE SE TRABAJA ES LA INTERFAZ
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121451&cmid=326969 3/5
16/6/23, 16:47 TEST_1: Revisión del intento

WEB CON LA CUAL EL USUARIO PUEDA INTERACTUAR.”Pregrado


¿A QUE TERMINO HACE REFERENCIA EL ENCUNCIADO

PRESENTADO?

a. UX

b. UI

c. FRONT END 

d. BACK END

Respuesta correcta

Pregunta 8

Correcta Se puntúa 1,50 sobre 1,50

¿EN MATERIA DE MICROSERVICIOS UN MODELO SE REFIERE A?

a. SOLO SE CREA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES, PERO NO SUS MÉTODOS.

b. ES LA ESTRUCTURA QUE NECESITAMOS PARA ENVIAR Y RECIBIR LOS DATOS A LA APLICACIÓN.

c. SE MAPEA LA BASE DE DATOS, TAMBIÉN SUS PROPIEDADES Y MÉTODOS. 

d. LA VISTA ES EL RESPONSABLE DE LA FUNCIONALIDAD, ES DECIR DE GESTIONAR LOS DATOS.

Respuesta correcta

Pregunta 9

Correcta Se puntúa 1,50 sobre 1,50

EL SIGUIENTE ENUNCIADO A QUE TERMINO CORRESPONDE “SU ESTRUCTURA ES COMPACTA Y TIENE UNA GRAN
RAPIDEZ AL REALIZAR LOS PROCESOS YA QUE SU DISEÑO ARQUITECTÓNICO PERMITE PROCESAR VARIOS SERVICIOS A
LA VEZ YA QUE TIENE VARIOS MÓDULOS QUE AYUDAN A SUS PROCESAMIENTOS”

a. ARQUITECTURA MICROSERVICIOS 

b. ARQUITECTURA MVC

c. ARQUITECTURA MVT

d. ARQUITECTURA EN CASCADA

Respuesta correcta

Pregunta 10

Correcta Se puntúa 1,50 sobre 1,50

¿A QUE HACE REFERENCIA LA SIGUIENTE IMAGEN?

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121451&cmid=326969 4/5
16/6/23, 16:47 TEST_1: Revisión del intento

 a. MANEJO DE SOLICITUDES POR MODELOS. Pregrado

b. MANEJO DE SOLICITUDES POR VISTAS. 

c. MANEJO DE SOLICITUDES POR TEMPLATES

d. MANEJO DE SOLICITUDES POR CONTROLADORES.

Respuesta correcta

Finalizar revisión

 TEST_2 Ir a... S1-Compendio Tema 1 Unidad… 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1121451&cmid=326969 5/5
16/6/23, 16:47 TEST_2: Revisión del intento

 Pregrado 

Área personal - Mis cursos - DESARROLLO DE APLICACIONES WEB,[TI06-04] - C1[65833] - P - Actividades contacto con el docente - TEST_2

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1385120&cmid=326963 1/3
16/6/23, 16:47 TEST_2: Revisión del intento

Comenzado el Saturday, 10 de June de 2023, 23:01


 Pregrado

Estado Finalizado

Finalizado en Saturday, 10 de June de 2023, 23:10

Tiempo
9 minutos 55 segundos
empleado

Calificación 15,00 de 15,00 (100%)

Pregunta 1

Correcta Se puntúa 3,00 sobre 3,00

Django es

a. Una libreria

b. Un framework 

c. Lenguaje de Programación

d. Una herramienta

Respuesta correcta

Pregunta 2

Correcta Se puntúa 3,00 sobre 3,00

Django esta escrito en el lenguaje de programación

a. Phyton 

b. My SQL

c. Postgre SQL

d. SQL Worbench

Respuesta correcta

Pregunta 3

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Privadas tienen la característica:

a. Se puede implementar fácilmente

b. Todas las opciones son correctas

c. Cualquier persona tiene acceso

d. El tiempo de desarrollo es más corto 

Respuesta correcta

Pregunta 4

ú
https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1385120&cmid=326963 2/3
16/6/23, 16:47 TEST_2: Revisión del intento
Correcta Se puntúa 3,00 sobre 3,00

 Pregrado

Django es óptimo contra ataques

a. SQL injection 

b. Hombre en el Medio

c. Ingeniería Social

d. Phishing

Respuesta correcta

Pregunta 5

Correcta Se puntúa 3,00 sobre 3,00

Las APIs Públicas tienen la característica:

a. Todas las opciones son correctas

b. Que se puede implementar fácilmente 

c. Reduce el tiempo de desarrollo

d. Solo puede acceder las personas que están vinculadas directamente

Respuesta correcta

Finalizar revisión

 S5-TAREA_1 Ir a... TEST_1 

https://pregradovirtual.unemi.edu.ec/mod/quiz/review.php?attempt=1385120&cmid=326963 3/3

También podría gustarte