SlideShare una empresa de Scribd logo
Desarrollo de
Software 2
Tema: 4 Web Services
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Deséalo, espéralo, suéñalo, pero por todos los medios…
¡Hazlo!
Objetivo
1. Adquirir los conceptos
básicos relacionados con la
programación web
2. Reconocer las
características de la
programación web
● 4.2 Servicios Web RestFul
Contenido
Objetivos de Desarrollo Sostenible
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
4.2. Servicios Web RestFul
Jakarta EE (Java EE) on PaaS
1. Google Engine
2. AWS Elastic BeanStalk
3. OpenShift
4. Cloud Fundry
5. Heroku
6. Oracle Cloud
7. Microsoft Azure
Nuevo Proyecto
Paso 1 crear nuevo proyecto
Paso 2 Maven & web Application
Nombre proyecto y servidor
Paso 3: Nombre del proyecto
Paso 4: Selección del servidor
Agregar nueva clase Java al Proyecto
Nueva Clase de configuración
Crear un clase java la cual contendrá la configuracón. Esta clase será el punto
de entrada al servicio.
Clase creada
Clase de configuración
Crear un clase java la cual contendrá la configuracón. Esta clase será el punto de
entrada al servicio.
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/api")
public class AppConfig extends Application {
}
Ejemplo path acceso:
http://myservidor.cl/miproyecto/api/sumarecurso
Código clase de Configuración:
Crear nueva clase java
Clase de Recurso
import javax.ws.rs.Path;
@Path("/")
public class SumaRecurso {
// Metodos para responder las solicitudes
}
Crear un clase Java:
Código clase de Configuración:
Suma: QueryParam
Creación de los recursos que estarán disponibles mediante los verbos
http.
Crear un servicio REST
Resultado esperado:
git y el administrador de código Bitbucket
Crear cuenta en : https://bitbucket.org/
git y el administrador de código Bitbucket
Crear cuenta en : https://bitbucket.org/
Inicio Rapido Git
Repositorio Local a Remoto
Paso 1: Moverse al directorio del repositorio local
cd /ruta/del/repositorio/local
Paso 2: Conectar el repositorio local existente a Bitbucket (repositorio remoto)
git remote add origin https://mi-user-git@bitbuckut.org:usuario-remoto/repositorio-remoto.git
git push origin master
git config --global user.mail mimail@ejemplo.com
git config –- global. user.name MiNombre
Como supuesto se descargó e instaló git: https://git-scm.com/
Comandos git:
Inicio Rápido git
Inicializa el repositorio git init .
Seguimiento de los ficheros serán parte del commit git git add .
Confirma los cambios realizados git commit –m “detalle del commit”
Cambiar de rama git checkout nombre_rama
Bajar cambios al local git pull nombre_rama
Subir los cambios al repositorio remoto git push origin nombre_rama
Eliminar una referencia remota git remote rm origin
Configuración del proyecto para
el deploy de la API en el Cloud
Configuración del POM con el Plugin Payara-mircro-maven
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-micro-maven-plugin</artifactId>
<version>1.0.1</version>
</plugin>
Paso 1: Buscar el Plugin en Maven:
https://mvnrepository.com/artifact/fish.payara.maven.plugins/payara-micro-maven-plugin/1.0.1
Paso 2: Agregar Pluging al POM del proyecto
Nota: Para Ejecutar el proyecto con el Pluging con Maven:
mvn install payara-micro:bundle
Crear fichero Procfile
Es el encargado de indicarle a Heroku como ejecutar la App
desplegada.
Crear fichero Procfile
Crear fichero Procfile
Contenido Procfile: web: java –jar target/*.jar –-port $PORT
Creación y despliegue la App en Heroku desde la terminal
Dando formato del proyecto antes del despliegue en heroku,
para ello se usa GIT.
Paso 1: Se inicializa el repositorio local.
git init .
git add .
git commit –m “primer commit”
Creación y despliegue la App en Heroku desde la terminal
Paso 2: Se crea la App en Heroku.
heroku create nombre_mi_app_en_heroku
Desde la terminal CLI:
heroku config:set MAVEN_CUSTOM_GOALS=“install payara-
micro:bundle”
o Datos de la variable
Nombre variable: MAVEN_CUSTOM_GOALS
Valor variable : install payara-micro:bundle
 Para desplegar en Heroku con Payara Micro usando el Pluging de Maven se debe crear una variable
de entorno (MAVEN_CUSTOM_GOALS).
 Grafica desde la web de Heroku.
 Terminal usando el CLI.
Creación y despliegue la App en Heroku desde la terminal
Paso 3: Se realiza el deploy (despliegue) a heroku.
git push heroku master
Nota:
para abrir la App desplegada en Heroku desde la terminal: heroku open
Nuevas Funcionalidades
del API
Suma: JSON
Suma: consulta resvicio con Postman
Recurso con restricción
Mediante el uso de expresiones regulares es posible restringir el acceso a un recurso.
Resultado esperado
Gracias
Responsabilidad con pensamiento positivo

Más contenido relacionado

La actualidad más candente (20)

PDF
Curso de Struts 2: Unidad Didáctica 01 El Entorno de Desarrollo
PDF
Semana 1 Patrones de Diseño
PPTX
Definición y función de lenguaje java script
PDF
Conexion mysql con java usando netbeans
PPTX
Herramientas Digitales
PPTX
PDF
2.1. arena-y-binding
PDF
PPTX
PDF
Semana 2 Generación del proyecto usando Spring
PPTX
Desarrollo de Aplicaciones Web 2.0 con GWT
PDF
Desarrollo de aplicaciones web con Google Web Toolkit
PDF
Análisis del Whitepaper DB4O
PDF
Comenzando con GWT
PPT
BlueJ
 
PDF
Herramientas para Desarrolladores Web
PDF
Semana 1 Microservicios
PPTX
Dreamweaver
PDF
Vue.js: El framework javascript para muggles
Curso de Struts 2: Unidad Didáctica 01 El Entorno de Desarrollo
Semana 1 Patrones de Diseño
Definición y función de lenguaje java script
Conexion mysql con java usando netbeans
Herramientas Digitales
2.1. arena-y-binding
Semana 2 Generación del proyecto usando Spring
Desarrollo de Aplicaciones Web 2.0 con GWT
Desarrollo de aplicaciones web con Google Web Toolkit
Análisis del Whitepaper DB4O
Comenzando con GWT
BlueJ
 
Herramientas para Desarrolladores Web
Semana 1 Microservicios
Dreamweaver
Vue.js: El framework javascript para muggles
Publicidad

Similar a S8 ds2 (20)

PDF
PDF
Tutorial CodeIgniter + Netbeans 7
PPTX
Framework
PDF
Firefox OS App Days USACH 2014
PDF
Zeety open project manual de instalación
PDF
Fundamentos de python con orientación a objetos y basado en problemas con bas...
PDF
Atix24
PDF
PDF
Scraping the web with python
DOCX
Tarea 6 de ruth
PDF
Proyecto final tic 2015
DOCX
PDF
Apps Days Firefox OS
PDF
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
PPTX
ODP
Android Pres3
PPT
Proyecto GuadalGeek del Centro Guadalinfo de Sierra de Yeguas
PPT
Recursos para un Centro TIC
Tutorial CodeIgniter + Netbeans 7
Framework
Firefox OS App Days USACH 2014
Zeety open project manual de instalación
Fundamentos de python con orientación a objetos y basado en problemas con bas...
Atix24
Scraping the web with python
Tarea 6 de ruth
Proyecto final tic 2015
Apps Days Firefox OS
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Android Pres3
Proyecto GuadalGeek del Centro Guadalinfo de Sierra de Yeguas
Recursos para un Centro TIC
Publicidad

Más de Luis Fernando Aguas Bucheli (20)

PPTX
EFC-ISW-Luis Fernando Aguas.pptx
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX

Último (20)

PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PDF
Oficio SEC 293416 Comision Investigadora
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
PDF
S15 Protección de redes electricas 2025-1_removed.pdf
PDF
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PPT
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PDF
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
PPTX
Gestion de seguridad y salud ocupacional.pptx
PDF
Informe Estudio Final Apagon del 25 de febrero
PDF
Primera formulación de cargos de la SEC en contra del CEN
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PPTX
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PDF
Durabilidad del concreto en zonas costeras
PPTX
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
Oficio SEC 293416 Comision Investigadora
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
S15 Protección de redes electricas 2025-1_removed.pdf
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
Módulo-de Alcance-proyectos - Definición.pdf
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
Gestion de seguridad y salud ocupacional.pptx
Informe Estudio Final Apagon del 25 de febrero
Primera formulación de cargos de la SEC en contra del CEN
NILS actividad 4 PRESENTACION.pptx pppppp
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
clase MICROCONTROLADORES ago-dic 2019.pptx
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
Durabilidad del concreto en zonas costeras
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx

S8 ds2

  • 1. Desarrollo de Software 2 Tema: 4 Web Services Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec
  • 2. Deséalo, espéralo, suéñalo, pero por todos los medios… ¡Hazlo!
  • 3. Objetivo 1. Adquirir los conceptos básicos relacionados con la programación web 2. Reconocer las características de la programación web ● 4.2 Servicios Web RestFul Contenido
  • 4. Objetivos de Desarrollo Sostenible 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
  • 6. Jakarta EE (Java EE) on PaaS 1. Google Engine 2. AWS Elastic BeanStalk 3. OpenShift 4. Cloud Fundry 5. Heroku 6. Oracle Cloud 7. Microsoft Azure
  • 7. Nuevo Proyecto Paso 1 crear nuevo proyecto Paso 2 Maven & web Application
  • 8. Nombre proyecto y servidor Paso 3: Nombre del proyecto Paso 4: Selección del servidor
  • 9. Agregar nueva clase Java al Proyecto
  • 10. Nueva Clase de configuración Crear un clase java la cual contendrá la configuracón. Esta clase será el punto de entrada al servicio.
  • 12. Clase de configuración Crear un clase java la cual contendrá la configuracón. Esta clase será el punto de entrada al servicio. import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @ApplicationPath("/api") public class AppConfig extends Application { } Ejemplo path acceso: http://myservidor.cl/miproyecto/api/sumarecurso Código clase de Configuración:
  • 14. Clase de Recurso import javax.ws.rs.Path; @Path("/") public class SumaRecurso { // Metodos para responder las solicitudes } Crear un clase Java: Código clase de Configuración:
  • 15. Suma: QueryParam Creación de los recursos que estarán disponibles mediante los verbos http.
  • 16. Crear un servicio REST Resultado esperado:
  • 17. git y el administrador de código Bitbucket Crear cuenta en : https://bitbucket.org/
  • 18. git y el administrador de código Bitbucket Crear cuenta en : https://bitbucket.org/
  • 19. Inicio Rapido Git Repositorio Local a Remoto Paso 1: Moverse al directorio del repositorio local cd /ruta/del/repositorio/local Paso 2: Conectar el repositorio local existente a Bitbucket (repositorio remoto) git remote add origin https://mi-user-git@bitbuckut.org:usuario-remoto/repositorio-remoto.git git push origin master git config --global user.mail mimail@ejemplo.com git config –- global. user.name MiNombre Como supuesto se descargó e instaló git: https://git-scm.com/
  • 20. Comandos git: Inicio Rápido git Inicializa el repositorio git init . Seguimiento de los ficheros serán parte del commit git git add . Confirma los cambios realizados git commit –m “detalle del commit” Cambiar de rama git checkout nombre_rama Bajar cambios al local git pull nombre_rama Subir los cambios al repositorio remoto git push origin nombre_rama Eliminar una referencia remota git remote rm origin
  • 21. Configuración del proyecto para el deploy de la API en el Cloud
  • 22. Configuración del POM con el Plugin Payara-mircro-maven <plugin> <groupId>fish.payara.maven.plugins</groupId> <artifactId>payara-micro-maven-plugin</artifactId> <version>1.0.1</version> </plugin> Paso 1: Buscar el Plugin en Maven: https://mvnrepository.com/artifact/fish.payara.maven.plugins/payara-micro-maven-plugin/1.0.1 Paso 2: Agregar Pluging al POM del proyecto Nota: Para Ejecutar el proyecto con el Pluging con Maven: mvn install payara-micro:bundle
  • 23. Crear fichero Procfile Es el encargado de indicarle a Heroku como ejecutar la App desplegada.
  • 25. Crear fichero Procfile Contenido Procfile: web: java –jar target/*.jar –-port $PORT
  • 26. Creación y despliegue la App en Heroku desde la terminal Dando formato del proyecto antes del despliegue en heroku, para ello se usa GIT. Paso 1: Se inicializa el repositorio local. git init . git add . git commit –m “primer commit”
  • 27. Creación y despliegue la App en Heroku desde la terminal Paso 2: Se crea la App en Heroku. heroku create nombre_mi_app_en_heroku Desde la terminal CLI: heroku config:set MAVEN_CUSTOM_GOALS=“install payara- micro:bundle” o Datos de la variable Nombre variable: MAVEN_CUSTOM_GOALS Valor variable : install payara-micro:bundle  Para desplegar en Heroku con Payara Micro usando el Pluging de Maven se debe crear una variable de entorno (MAVEN_CUSTOM_GOALS).  Grafica desde la web de Heroku.  Terminal usando el CLI.
  • 28. Creación y despliegue la App en Heroku desde la terminal Paso 3: Se realiza el deploy (despliegue) a heroku. git push heroku master Nota: para abrir la App desplegada en Heroku desde la terminal: heroku open
  • 31. Suma: consulta resvicio con Postman
  • 32. Recurso con restricción Mediante el uso de expresiones regulares es posible restringir el acceso a un recurso.