SlideShare una empresa de Scribd logo
1 de 30
Facultad de Ciencias Informáticas
Desarrollo de Aplicaciones Web
Unidad 2 Programación web en el
servidor
PhD(c). Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
luis.aguas@utm.edu.ec
Objetivos de Desarrollo Sostenible
Meta
4.7 De aquí a 2030, asegurar que todos los alumnos adquieran
los conocimientos teóricos y prácticos necesarios para promover
el desarrollo sostenible, entre otras cosas mediante la educación
para el desarrollo sostenible y los estilos de vida sostenibles, los
derechos humanos, la igualdad de género, la promoción de una
cultura de paz y no violencia, la ciudadanía mundial y la
valoración de la diversidad cultural y la contribución de la cultura
al desarrollo sostenible
El dinero no es la clave del éxito; la libertad para
poder crear lo es - Nelson Mandela
Resultado de Aprendizaje
• Diseñar un producto de
software en el que se
apliquen principios de
diseño, para que sea
robusto, fácil de mantener
y modificar
Contenido
• Unidad 2 Programación web en
el servidor
• 2.1.2 API REST
• 2.1.3 Patrón Modelo-Vista-
Controlador
¿Qué es REST?
• Origen: Fielding, Roy T. “Architectural Styles and the
Design of Network-based Software Architectures.” Tesis
Doctoral, Universidad de California, 2000.
• Describe un estilo de arquitectura que utilizar como
modelo en los servicios de computación Web.
• Estilo de arquitectura: Conjunto coordinado de
restricciones que controlan el funcionamiento y
características de los elementos de la arquitectura y
permite las relaciones de unos con otros.
• Describe cómo debería comportarse la Web
• NO es un estándar
¿Por qué ha triunfado la Web?
• Escalabilidad en interacciones entre componentes
• Generalidad en las interfaces
• Desarrollo independiente de componentes
• Existencia de componentes intermediarios (proxys)
Principios de REST
• El estado y la funcionalidad de las aplicaciones se divide en recursos
• REST es orientado a recursos y no a métodos
• No se accede directamente a los recursos, sino a representaciones de los mismos
Servicio
Acceso
CUENTA
BANCARIA
=123
USUARIO
Recurso
CUENTA
BANCARIA
=123
USUARIO
Sistema basado en REST
Sistema basado en SOAP
Principios de REST II
• Todo recurso es identificado de forma única global mediante
una sintaxis universal. Como en HTTP los recursos se
identifican mediante URIs (Uniform Resource Identifier).
• Conjunto potencialmente infinito de recursos.
• Todos los recursos comparten un interfaz uniforme formado
por:
• Conjunto de operaciones limitado para transferencia de
estado
• En HTTP GET, PUT, POST, DELETE
• Conjunto limitado de tipos de contenidos
• En HTTP se identifican mediante tipos MIME: XML , HTML...
Principios de REST III
• Un protocolo cliente/servidor, sin estado y basado en capas
• Cada mensaje contiene la información necesaria para comprender la petición (mensajes
autocontenidos, como HTTP)
RED
ESTADO A
ESTADO B
ESTADO C
ESTADO A
ESTADO B
ESTADO C
Principios de REST IV
• Uso de hipermedios, tanto para la información de la aplicación como
para las transiciones de estado de la aplicación.
• A través de sucesivas peticiones de recursos cambia el estado de la
aplicación.
Principios de REST V
• Promueve mecanismos caché y sistemas intermedios
Ventajas de REST
• Mejora el tiempo de respuesta gracias al mecanismo Caché y
los mensajes auto-descriptivos.
• Disminución de carga en servidor
• Mayor escalabilidad al no requerir mantenimiento de estado
en el servidor
• Facilita desarrollo de clientes (menor dependencia del
servidor).
• Mayor estabilidad frente a futuros cambios
• Permite evolución independiente de los tipos de documentos
al procesar éstos en el cliente.
Diferencias entre REST y SOAP
SOAP REST
Orientado a RPC Orientado a recursos
Servidor almacena parte del estado El estado se mantiene sólo en el
cliente, y no se permiten las
sesiones
Usa HTTP como túnel para el paso
de mensajes
Propone HTTP como nivel de
aplicación
Soap vs REST: Críticas
• SOAP no es transparente, apuesta por el
encapsulamiento
• SOAP no dispone de un sistema de
direccionamiento global
• SOAP puede derivar en agujeros de
seguridad
• SOAP no aprovecha muchas de las
ventajas de HTTP al usarlo solamente
como túnel
• SOAP no puede hacer uso de los
mecanismos Caché
• REST es poco flexible
• REST no está preparado para albergar
Servicios Web de gran complejidad como
las aplicaciones B2B
• REST tiene grandes problemas de
seguridad al no soportar el concepto de
sesión
Uso de REST
• Adecuado para grandes cantidades de información pública para
grupos desconocidos de usuarios
• No adecuado para sistemas complejos cerrados
Ejemplo de Implementaciones
• AMAZON
• Pionera en el uso de REST en 2002
• Base de datos con todos los productos que vende
• Los productos se acceden como recursos, no como métodos de búsqueda
• API disponible en associates.amazon.com
• Posible carencia, si realiza servicios más sofisticados puede que deba migrar a SOAP
• EBAY
• Desarrolló una API REST en 2004
• Consulta de productos a través del método GetSearchResults()
• OTROS: YOUTUBE, YAHOO, FLICKR, etc..
• En ocasiones siguen la arquitectura “sin querer”.
Visión general conceptual
Definición de servicio web RESTful
• Un servicio web RESTful es:
• Un conjunto de recursos web.
• Interrelacionadas.
• Centrado en datos, no centrado en la funcionalidad.
• Orientado a la máquina.
• Como las aplicaciones web, pero para máquinas.
• Como WS-*, pero con más recursos web.
WS-* representa una variedad de especificaciones relacionadas con los servicios web
basados en SOAP.
WS-
collection
service
collection
entry
entry
entry
listEntries()
addEntry()
getEntry()
deleteEntry()
updateEntry()
listEntries()
addEntry()
getEntry()
deleteEntry()
updateEntry()
RESTful
Futuro de REST
• SOAP mantiene el monopolio de los Servicios Web
• Carencia de documentación
• Escasas implementaciones y ejemplos prácticos para acercar REST
al programador común
• Única solución, crear organización o entidad que agrupe el disperso
y escaso trabajo que existe sobre REST
Conceptos de MVC
• Un patrón de diseño permiten solucionar problemas comunes que se
presentan al momento de crear aplicaciones, y en particular en
aplicaciones Web nos interesa separar la vista de los datos (modelo) y
unirlos por medio de un componente que hace la vez de controlador.
• Los Servlets están enfocados en controlar el flujo de la aplicación y en
este caso procesan las peticiones HTTP, así como utilizar los JavaBean
para almacenar información y finalmente redireccionar al JSP
respectivo.
Frameworks MVC
• Existe varios Frameworks que implementan ya este patrón, un patrón
de diseño es simplemente una guía, por lo tanto cada uno de estos
Frameworks tanto Struts, JavaServer Faces, Spring MVC, entre otros.
• Por ejemplo en el caso del Framework de Struts es un framework de
Apache, el cual utiliza JSPs como la Vista utilizando también a su vez
tags de Struts, posteriormente utiliza el concepto llamado ActionForm
que de alguna manera sustituye a los JavaBeans, siendo el modelo de
nuestra aplicación y finalmente tenemos el concepto de Action, el cual
cubre el rol del controlador. Estos son simplemente algunos
componentes de los que se manejan dentro del Frameworks de Struts.
Frameworks MVC
• JavaServer Faces es una tecnología definida por Sun Microsystems, en el cual
se utilizan conceptos como son los mismos JSPs pero utilizando tags de JSF.
• JavaBeans para manejar el concepto de modelo aunque también cabe
resaltar que los ManagedBean pueden jugar el rol tanto de controlador
como de modelo, entonces todo podría mezclarse en un solo bean y se
podría omitir el uso de los JavaBeans.
• Spring MVC, es una extensión de Spring, en el cual se utilizan JSPs como
parte la vista y se pueden utilizar los tags de Spring para robustecer estos
JSPs.
Arquitectura MVC con JSP y Servlets
• Una vez que el JSP genera el HTML utilizando la información de los
JavaBeans que el Servlets le proporcionó, lo que hace es regresar el
contenido al cliente y en este momento es cuando se genera el Render
de nuestra aplicación según el Content Type que hayamos utilizado. Por
ejemplo, puede ser una salida en HTML, PDF, Video, un archivo de Excel,
etc. según hemos visto anteriormente.
• El punto es que el JSP únicamente va a desplegar la información que
recibió del Servlet y enviará esta información al cliente. Con esto
termina el flujo y si el cliente necesitara de realizar una nueva petición el
proceso se repite nuevamente.
Servlet Controlador
• Según revisamos en la teoría de los Servlets, para procesar un parámetro
podemos utilizar la siguiente notación:
request.getParameter(“nombreParametro”);
• Podemos validar los parámetros para saber si la información que estamos
recibiendo es correcta.
• Una vez que ya hemos procesado los parámetros podemos realizar la
lógica de presentación respectiva o la lógica de negocio utilizando
JavaBeans
• Debemos de compartir el objeto que estamos creando en algún alcance
Servlet Controlador
• En este caso, por medio del método forward estamos
proporcionando y enviando toda la información necesaria al JSP
para que no tenga ningún problema y pueda acceder a la
información que hemos compartido previamente por medio del
Servlet.
Gracias
Somos UTM

Más contenido relacionado

Similar a S7-DAW-2022S1.pptx

Modulo1-Presentaciones-parte01.1.ppt
Modulo1-Presentaciones-parte01.1.pptModulo1-Presentaciones-parte01.1.ppt
Modulo1-Presentaciones-parte01.1.pptssuser73f459
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptxmedina2966
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosAdrian Alonso Vega
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservicesJuan Cortes
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservicesmahumadas
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura RestIsrael Rey
 
Curso Fundeweb2 para java desde cero a experto.ppt
Curso Fundeweb2 para java desde cero a experto.pptCurso Fundeweb2 para java desde cero a experto.ppt
Curso Fundeweb2 para java desde cero a experto.pptRolitoChc1
 
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootSOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootDomingo Suarez Torres
 
LenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxLenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxcarrilloja98
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRobert Caraguay
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptxSibilinoAndante
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.JosdeJessQuintanaDaz
 
Rest clase 4 - curso front-end 2014 - open webinars
Rest   clase 4 - curso front-end 2014 - open webinarsRest   clase 4 - curso front-end 2014 - open webinars
Rest clase 4 - curso front-end 2014 - open webinarsOpenWebinars.net
 
Introducción a la programación en internet
Introducción a la programación en internetIntroducción a la programación en internet
Introducción a la programación en internetcristinaig123
 
Web Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’sWeb Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’sPablo Pellegrinet
 

Similar a S7-DAW-2022S1.pptx (20)

S4-PD2-REST-REST FULL
S4-PD2-REST-REST FULLS4-PD2-REST-REST FULL
S4-PD2-REST-REST FULL
 
Modulo1-Presentaciones-parte01.1.ppt
Modulo1-Presentaciones-parte01.1.pptModulo1-Presentaciones-parte01.1.ppt
Modulo1-Presentaciones-parte01.1.ppt
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
S1-DS2.pptx
S1-DS2.pptxS1-DS2.pptx
S1-DS2.pptx
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos Deportivos
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
 
Curso Fundeweb2 para java desde cero a experto.ppt
Curso Fundeweb2 para java desde cero a experto.pptCurso Fundeweb2 para java desde cero a experto.ppt
Curso Fundeweb2 para java desde cero a experto.ppt
 
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootSOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
 
LenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxLenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptx
 
S6-DAW-2022S1.pptx
S6-DAW-2022S1.pptxS6-DAW-2022S1.pptx
S6-DAW-2022S1.pptx
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.
 
Rest clase 4 - curso front-end 2014 - open webinars
Rest   clase 4 - curso front-end 2014 - open webinarsRest   clase 4 - curso front-end 2014 - open webinars
Rest clase 4 - curso front-end 2014 - open webinars
 
Introducción a la programación en internet
Introducción a la programación en internetIntroducción a la programación en internet
Introducción a la programación en internet
 
Web Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’sWeb Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’s
 
Semana 7 Servicios Web REST con MongoDB final
Semana 7   Servicios Web REST con MongoDB finalSemana 7   Servicios Web REST con MongoDB final
Semana 7 Servicios Web REST con MongoDB final
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 

Último (20)

TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 

S7-DAW-2022S1.pptx

  • 1. Facultad de Ciencias Informáticas Desarrollo de Aplicaciones Web Unidad 2 Programación web en el servidor PhD(c). Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft luis.aguas@utm.edu.ec
  • 2. Objetivos de Desarrollo Sostenible Meta 4.7 De aquí a 2030, asegurar que todos los alumnos adquieran los conocimientos teóricos y prácticos necesarios para promover el desarrollo sostenible, entre otras cosas mediante la educación para el desarrollo sostenible y los estilos de vida sostenibles, los derechos humanos, la igualdad de género, la promoción de una cultura de paz y no violencia, la ciudadanía mundial y la valoración de la diversidad cultural y la contribución de la cultura al desarrollo sostenible
  • 3. El dinero no es la clave del éxito; la libertad para poder crear lo es - Nelson Mandela
  • 4. Resultado de Aprendizaje • Diseñar un producto de software en el que se apliquen principios de diseño, para que sea robusto, fácil de mantener y modificar Contenido • Unidad 2 Programación web en el servidor • 2.1.2 API REST • 2.1.3 Patrón Modelo-Vista- Controlador
  • 5. ¿Qué es REST? • Origen: Fielding, Roy T. “Architectural Styles and the Design of Network-based Software Architectures.” Tesis Doctoral, Universidad de California, 2000. • Describe un estilo de arquitectura que utilizar como modelo en los servicios de computación Web. • Estilo de arquitectura: Conjunto coordinado de restricciones que controlan el funcionamiento y características de los elementos de la arquitectura y permite las relaciones de unos con otros. • Describe cómo debería comportarse la Web • NO es un estándar
  • 6. ¿Por qué ha triunfado la Web? • Escalabilidad en interacciones entre componentes • Generalidad en las interfaces • Desarrollo independiente de componentes • Existencia de componentes intermediarios (proxys)
  • 7. Principios de REST • El estado y la funcionalidad de las aplicaciones se divide en recursos • REST es orientado a recursos y no a métodos • No se accede directamente a los recursos, sino a representaciones de los mismos Servicio Acceso CUENTA BANCARIA =123 USUARIO Recurso CUENTA BANCARIA =123 USUARIO Sistema basado en REST Sistema basado en SOAP
  • 8. Principios de REST II • Todo recurso es identificado de forma única global mediante una sintaxis universal. Como en HTTP los recursos se identifican mediante URIs (Uniform Resource Identifier). • Conjunto potencialmente infinito de recursos. • Todos los recursos comparten un interfaz uniforme formado por: • Conjunto de operaciones limitado para transferencia de estado • En HTTP GET, PUT, POST, DELETE • Conjunto limitado de tipos de contenidos • En HTTP se identifican mediante tipos MIME: XML , HTML...
  • 9. Principios de REST III • Un protocolo cliente/servidor, sin estado y basado en capas • Cada mensaje contiene la información necesaria para comprender la petición (mensajes autocontenidos, como HTTP) RED ESTADO A ESTADO B ESTADO C ESTADO A ESTADO B ESTADO C
  • 10. Principios de REST IV • Uso de hipermedios, tanto para la información de la aplicación como para las transiciones de estado de la aplicación. • A través de sucesivas peticiones de recursos cambia el estado de la aplicación.
  • 11. Principios de REST V • Promueve mecanismos caché y sistemas intermedios
  • 12. Ventajas de REST • Mejora el tiempo de respuesta gracias al mecanismo Caché y los mensajes auto-descriptivos. • Disminución de carga en servidor • Mayor escalabilidad al no requerir mantenimiento de estado en el servidor • Facilita desarrollo de clientes (menor dependencia del servidor). • Mayor estabilidad frente a futuros cambios • Permite evolución independiente de los tipos de documentos al procesar éstos en el cliente.
  • 13. Diferencias entre REST y SOAP SOAP REST Orientado a RPC Orientado a recursos Servidor almacena parte del estado El estado se mantiene sólo en el cliente, y no se permiten las sesiones Usa HTTP como túnel para el paso de mensajes Propone HTTP como nivel de aplicación
  • 14. Soap vs REST: Críticas • SOAP no es transparente, apuesta por el encapsulamiento • SOAP no dispone de un sistema de direccionamiento global • SOAP puede derivar en agujeros de seguridad • SOAP no aprovecha muchas de las ventajas de HTTP al usarlo solamente como túnel • SOAP no puede hacer uso de los mecanismos Caché • REST es poco flexible • REST no está preparado para albergar Servicios Web de gran complejidad como las aplicaciones B2B • REST tiene grandes problemas de seguridad al no soportar el concepto de sesión
  • 15. Uso de REST • Adecuado para grandes cantidades de información pública para grupos desconocidos de usuarios • No adecuado para sistemas complejos cerrados
  • 16. Ejemplo de Implementaciones • AMAZON • Pionera en el uso de REST en 2002 • Base de datos con todos los productos que vende • Los productos se acceden como recursos, no como métodos de búsqueda • API disponible en associates.amazon.com • Posible carencia, si realiza servicios más sofisticados puede que deba migrar a SOAP • EBAY • Desarrolló una API REST en 2004 • Consulta de productos a través del método GetSearchResults() • OTROS: YOUTUBE, YAHOO, FLICKR, etc.. • En ocasiones siguen la arquitectura “sin querer”.
  • 17. Visión general conceptual Definición de servicio web RESTful • Un servicio web RESTful es: • Un conjunto de recursos web. • Interrelacionadas. • Centrado en datos, no centrado en la funcionalidad. • Orientado a la máquina. • Como las aplicaciones web, pero para máquinas. • Como WS-*, pero con más recursos web. WS-* representa una variedad de especificaciones relacionadas con los servicios web basados en SOAP.
  • 19. Futuro de REST • SOAP mantiene el monopolio de los Servicios Web • Carencia de documentación • Escasas implementaciones y ejemplos prácticos para acercar REST al programador común • Única solución, crear organización o entidad que agrupe el disperso y escaso trabajo que existe sobre REST
  • 20.
  • 21. Conceptos de MVC • Un patrón de diseño permiten solucionar problemas comunes que se presentan al momento de crear aplicaciones, y en particular en aplicaciones Web nos interesa separar la vista de los datos (modelo) y unirlos por medio de un componente que hace la vez de controlador. • Los Servlets están enfocados en controlar el flujo de la aplicación y en este caso procesan las peticiones HTTP, así como utilizar los JavaBean para almacenar información y finalmente redireccionar al JSP respectivo.
  • 22.
  • 23. Frameworks MVC • Existe varios Frameworks que implementan ya este patrón, un patrón de diseño es simplemente una guía, por lo tanto cada uno de estos Frameworks tanto Struts, JavaServer Faces, Spring MVC, entre otros. • Por ejemplo en el caso del Framework de Struts es un framework de Apache, el cual utiliza JSPs como la Vista utilizando también a su vez tags de Struts, posteriormente utiliza el concepto llamado ActionForm que de alguna manera sustituye a los JavaBeans, siendo el modelo de nuestra aplicación y finalmente tenemos el concepto de Action, el cual cubre el rol del controlador. Estos son simplemente algunos componentes de los que se manejan dentro del Frameworks de Struts.
  • 24. Frameworks MVC • JavaServer Faces es una tecnología definida por Sun Microsystems, en el cual se utilizan conceptos como son los mismos JSPs pero utilizando tags de JSF. • JavaBeans para manejar el concepto de modelo aunque también cabe resaltar que los ManagedBean pueden jugar el rol tanto de controlador como de modelo, entonces todo podría mezclarse en un solo bean y se podría omitir el uso de los JavaBeans. • Spring MVC, es una extensión de Spring, en el cual se utilizan JSPs como parte la vista y se pueden utilizar los tags de Spring para robustecer estos JSPs.
  • 25.
  • 26. Arquitectura MVC con JSP y Servlets • Una vez que el JSP genera el HTML utilizando la información de los JavaBeans que el Servlets le proporcionó, lo que hace es regresar el contenido al cliente y en este momento es cuando se genera el Render de nuestra aplicación según el Content Type que hayamos utilizado. Por ejemplo, puede ser una salida en HTML, PDF, Video, un archivo de Excel, etc. según hemos visto anteriormente. • El punto es que el JSP únicamente va a desplegar la información que recibió del Servlet y enviará esta información al cliente. Con esto termina el flujo y si el cliente necesitara de realizar una nueva petición el proceso se repite nuevamente.
  • 27.
  • 28. Servlet Controlador • Según revisamos en la teoría de los Servlets, para procesar un parámetro podemos utilizar la siguiente notación: request.getParameter(“nombreParametro”); • Podemos validar los parámetros para saber si la información que estamos recibiendo es correcta. • Una vez que ya hemos procesado los parámetros podemos realizar la lógica de presentación respectiva o la lógica de negocio utilizando JavaBeans • Debemos de compartir el objeto que estamos creando en algún alcance
  • 29. Servlet Controlador • En este caso, por medio del método forward estamos proporcionando y enviando toda la información necesaria al JSP para que no tenga ningún problema y pueda acceder a la información que hemos compartido previamente por medio del Servlet.