Desarrollo y servicios web

Documentos relacionados
Sesión 17. Servicios web RESTful

Desarrollo y servicios web

Portal Inteligente Medellín Documentación de la Arquitectura de Software

RESTful en Drupal 8. Creando Servicios Web desde el Core

Servicios Web. Desarrollo de Aplicaciones Empresariales

Tema 3.1: Introducción a Servicios Web

PROYECTOS DE WEBSERVICE PARA DESARROLLADORES. 12 Agosto 2016

Internet está evolucionando

Desarrollo y servicios web

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

Tema 1 HTTP y aplicaciones web

Desarrollo y servicios web

Tema 4: Tecnologías Web Java

Curso JAVA EE

Tema 4: Diseño e Implementación de la Capa Web

Aplicaciones web construidas a base de componentes:

Desarrollo y servicios web

Características generales de un servicio web

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010)

Arquitectura e Integración de Sistemas Software. Proyecto: Gestión de Almacenes de Libros

Sistemas de Información 12/13 Introducción

Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber

Desarrollo y servicios web

Manual de Importación/Exportación. Proyectos Mule

Programa de Actualización Profesional Curso: Java Avanzado JEE7 Programa del Curso

Se pueden observar varios tipos de contenedores de Servlets:

Aplicaciones Web. Introducción. David Cabrero Souto. Grupo MADS ( Universidade da Coruña

Developing ASP.NET MVC 4 Web Applications

Tutorial Servicios Web

Servicios web. Jorge Iván Meza Martínez

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Desarrollo y servicios web

Oracle 10g: Creación de Aplicaciones J2EE

Introducción a Web Services

Web Service: Consulta de Arribo de Ómnibus Manual de referencia

Estudiaremos desde los fundamentos hasta conceptos más avanzados de la tecnología JSF.

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO

APLICACIONES DE INTERNET: SOAP

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. aplicaciones web con

GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish)

Sistemas Distribuidos Servicios web. Rodrigo Santamaría

SAP FIORI Una evolución en la experiencia de usuarios

ANEXO A. FRAMEWORK SARA

República Argentina - Poder Ejecutivo Nacional Año de las Energías Renovables. Anexo

Aplicaciones Web. Aplicaciones Distribuidas

BANCO CENTRAL DE RESERVA DEL PERÚ

MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles

Generador de Informes HTML OdA-Clavy

BORRADOR - GUÍA TÉCNICA DE INTEROPERABILIDAD EN EL ESTADO DE CHILE

Servicios REST Bases de la tecnología con Spring MVC

Aplicaciones Web (Curso 2015/2016)

TFM Comunicación, Redes y Gestión de Contenidos

INFORMACIÓN SOBRE CURSOS BONIFICABLES

Oracle Fusion Middleware 11g: Creación de Aplicaciones con ADF I

IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

LABORATORIO 11. Arquitectura Lógica del Sistema de Información GUÍA DE LABORATORIO Nº 11 SISTEMA DE INFROMACIÓN. Estructura de contenidos.

RESTful 4 all. Diego Sapriza

Existen una serie de conceptos elementales, relacionados con Internet, que

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES

Sistemas Distribuidos Servicios web. Rodrigo Santamaría

Computación Web (Curso 2015/2016)

Desarrollo Software Gran Escala

Arquitectura de aplicaciones para Smart Devices

Introducción a WS-REST. Ing. Guillermo Roldós Agosto 2010

Router Teldat. Protocolo HTTP

BackflipSD Modelo de Diseño

Máster Universitario en Ingeniería Informá3ca. REST avanzado. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

Documentación Técnica Conector

Ejercicios. Invocación de Servicios Web SOAP

Javascript Desarrollador Front- End

Bloque3: Parte servidora (backend)

Descripción. Objetivos de Aprendizaje. Estructura y Contenidos

Arquitectura de Proyectos de IT. Integración. Ing. Gastón Coco Ing. Nicolás Passerini Ing. Juan Arias Ing. Gustavo A. Brey Ing.

Presentación del Curso Presencial. Programación Web con Java J2EE

Titulo. Documentoo. Tipo de. Informática. Un servidor web. música. reproductores de. Entre Server.

Aplicaciones Web con Servlets y JSP (I)

Web Services Tecnologías asociadas

Punto 2 Características del Servicio Web. Juan Luis Cano

La funcionalidad básica de un navegador web es permitir la visualización de documentos de texto, posiblemente con recursos multimedia incrustados.

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos

Especificación de Uso. Servicios Web Externos API Servicio Licencias Ed. Superior V-0.1

IFCD07 Desarrollo de Aplicaciones Web Java: Webservices con J2EE

Servicios Web. Andrés Pastorini. TRIA Tecnólogo Informático

Introducción a los servlets

Empleo Digital_. CURSO FORMATIVO Desarrollo de portales WEB en Liferay. Coordinador Académico Antonio José Martín Sierra EDUCACIÓN DIGITAL

Conceptos de Orquestador O2 EMPRESAS TUXPAN

Primeros pasos con la imagen de Firewall pfsense

UD 4: Instalación y administración de servicios Web SRI

Empleo. CURSO FORMATIVO Desarrollo de portales WEB en Liferay. Coordinador Académico Antonio José Martín Sierra

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

CAPÍTULO 7. El motivo de la realización del tutorial métricas de software fue para

URL. Después de los dos puntos: se interpreta según el método de acceso. Suele contener direcciones y puntos de acceso en una máquina. Esquema URL.

QeQ Web Service RESTful XML Manual de Consumo V2.6

Acceso a Servicios Web en Android Servicios Web REST (C# / VS2015) V1.0

Service Oriented Architecture

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.

PROYECTO DE INMERSION EN SAP FIORI. Jhon Jairo Teran Consultor ABAP/Fiori/SAPUI5 Harinera del Valle

Manual de Usuario. HISMINSA Sistema de Gestión Asistencial (Versión Offline para XP) Ministerio de Salud del Perú Todos los Derechos Reservados

Definición de Catálogo. Teoría CSW (Catalogue Service Web) Servicios OGC para una IDE con SL. Metadatos: Hidrografía. Alejandra Sánchez Maganto IGN

Transcripción:

Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2016-1

Qué haremos hoy? 1. Qué son los servicios RESTful? 2. Cuál es la diferencia entre un servicio RESTful y un servicio SOAP? 3. Cómo exponer un servicio RESTful en Java?

Qué es REST? Principios arquitectónicos que resumen cómo los recursos son definidos y tomados para sistemas hipermedias distribuidos tales como HTTP El término fue introducido en la tesis doctoral de Roy Fielding en 2000, quien es uno de los principales autores de la especificación de HTTP. Opera sobre recursos Todos lo servicios REST comparten una forma de invocación y métodos uniforme utilizando los métodos de HTTP GET,POST,PUT,DELETE. No requieren ninguna capa adicional

Qué es REST hoy? La palabra REST se usa en un sentido más amplio para describir cualquier interfaz web simple que utiliza XML/JSON y HTTP sin las abstracciones adicionales de otros protocolos como SOAP Hoy se usa comunmente para crear APIs para abplicaciones basadas en la WEB. Los servicios web basados en la arquitectura REST se llaman servicios RESTful

Cuáles son sus principios básicos? Todo es un recurso Cada recurso tiene un identificador único Usa los métodos estándares del protocolo http Un recurso puede tener múltiples representaciones: ejm XML, JSON Las comunicaciones son stateless por lo que no hay persistencia en las transacciones Separa la representación del recurso del recurso mismo Es escalable pues no es necesario preocuparse por el estado.

Cómo se ve una petición a un servicio REST? http://www.adwe.es/general/colaboraciones/servicios-web-restful-con-http-parte-iintroduccion-y-bases-teoricas

Cuál es la diferencia entre SOAP y REST?

Cuál es la diferencia entre SOAP y REST? En arquitecturas REST, los servicios no publican un conjunto arbitrario de métodos u operaciones. Por ejemplo, en REST no se publicará una interfaz con métodos addempleado, removeempleado Rest accede a la representación de recursos. Por ejemplo un recurso puede ser representado en html, json, xml, etc. Todos lo recursos comparten las mismas operaciones. Actualmente estas operaciones se apoyan en el protocolo http ( put, get, post,delete)

Cómo se ven las operaciones un servicio SOAP y en un servicio RESTful?

Probar servicio web Rest http://resttesttest.com/

Algunos servicios REST para probar http://api.bogotacomovamos.org/datasets

Reglas para exponer APIs REST

Nivel 1: Uso correcto de URIs

Para qué sirve una URi? El recurso es la información a la que queremos acceder o que queremos modificar o borrar, independientemente de su formato. Las URL, son un tipo de URI, Uniform Resource Identifier, que además de permitir identificar de forma única el recurso, nos permite localizarlo para poder acceder a él o compartir su ubicación. {protocolo}://{dominio o hostname}[:puerto (opcional)]/{ruta del recurso}?{consulta de filtrado}

Cómo se estructura una URL? http://localhost:8080/ serviciosweb/main.html Protocolo host: puerto (Defecto puerto 80) Path y nombre del archivo Otras URL de ejemplo ftp://www.ftp.org/docs/test.txt mailto:user@test101.com Objetivo: asignar una dirección única a cada uno de los recursos disponibles en Internet, como por ejemplo textos, imágenes, vídeos, etc. 15

16 Parámetros de las url http://www.ejemplo.com/foo?p=1&q =neat Cuáles son los parámetros de estas URLs?

Codificación URL Se codifican siguiendo el RFC 1738:... Only alphanumeric [0-9a-zA-Z], the special characters $-_.+!*'() and reserved characters used for their reserved purposes may be used unencoded within an URL. Los demás caracteres se codifican de acuerdo a: %[reemplazar un caracter por su código ASCII en formato hexadecimal - El espacio se codifica con el número 32, que en hexadecimal es 20, entonces la URL del espacio es %20 El espacio puede también ser codificado como + 17

Ejemplos de URL INVÁLIDA Debería ser:?q=c%23+.net+4.0 http://www.google.bg/search?&q=c#.net 4.0

Cuáles son las reglás básicas para ponerle un nombre a la URI? Los nombres de URI no deben implicar una acción, por lo tanto debe evitarse usar verbos en ellos. Deben ser únicas, no debemos tener más de una URI para identificar un mismo recurso. Deben ser independiente de formato. Deben mantener una jerarquía lógica. Los filtrados de información de un recurso no se hacen en la URI.

/facturas/234/editar /facturas/234 /facturas/234.pdf /facturas/234 Malo, tiene una acción Bueno, es la misma url sin importar la acción Malo, asociado al formato Bueno, es la misma url sin importar el formato /facturas/234/cliente/007 /clientes/007/facturas/234 Malo, no sigue estructura lógica Bueno, jerarquía lógica

Nivel 2: Entendimiento de HTTP

Entender los métodos de HTTP Operación GET: POST DELETE PUT PATCH Descripción operación Obtiene un valor. Puede ser un listado de representaciones de recursos Guarda una nueva representación de un recurso instanciada por una identidad Elimina un recurso que cumple con una identidad Actualiza un recurso que cumple con una identidad Edita partes concretas de un recurso

Usar correctamente los códigos de estado Código 200 Código 400 Código 404 Código 501 Etc Usar el código de errores que viene predefinido en html http://www.restapitutorial.com/httpstatuscodes.html

Detalle de los códigos HTTP Tomado de: http://www.restapitutorial.com/httpstatuscodes.html

Nivel 3: Entender la arquitectura para exponer la API

Arquitectura APIs REST Manejo de Recursos y de datos NO se preocupa por HTML o JS Peticiones y respuestas JSON-XML JSON-XML Cliente UI Sólo sabe leer y pintar datos en pantalla NO sabe acceder a BD Cliente WEB App Móvil API REST JSON-XML Otra API REST

Qué se requiere desde el servidor para exponer las APIs REST desde el servidor? Ruteador para general las URL de los recursos Gestión de peticiónes y respuestas Manejo de código de errores Renderizado de respuestas con JSON -XML

Ejemplos

Qué se requiere desde el servidor para consumir las APIs REST desde el cliente? Ejemplos Consumo vía Ajax

Qué ventajas tiene? Independencia de cómo desarrollar el sistema en cuanto a las tecnologías Se debe desarrollar sólo un backend que se consume con vía http Se puede hacer despliegue distribuido

Exponer servicio web REST en java

Java Edición Empresarial JEE

JAVA

Qué es un servidor de aplicaciones?

Qué servidores de aplicaciones existen?

Apache Tomcat El servidor Tomcat ha sido desarrollado por "Apache Software Foundation" http://apache.org/. Descargar el zip de este sitio http://tomcat.apache.org/ Descomprimir carpeta en el disco C

Cambiar el puerto del tomcat En config/servlet.xml cambiar el port en esta parte por 8090 Subir el servidor. En la carpeta donde este bin/startup.bat

Si el servidor esta arriba debe aparecer

Qué errores se pueden presentar?

Cómo se configura el server en un IDE?

Cómo se configura el server en un IDE?

El despliegue de las aplicaciones JAR Java Archive Archivo que permite ejecutar aplicacion es escritas en el lenguaje Java. Uso: Librerías, utilidades WAR Web Archive Comprime la aplicación web para que sea desplegad a en un contenedo r de servlets EAR Entreprise Archive Comprime la aplicación web para que sea desplegad a en un contenedo r de servlets

Qué otros errores pueden pasar?

Tutorial de referencia http://crunchify.com/how-to-buildrestful-service-with-java-using-jax-rs-andjersey/

Cómo se ve el consumo del servicio JSON?

Cómo se ve el consumo del servicio XML?

Referencias Exponer servicio web RestFul. Java http://crunchify.com/how-to-build-restfulservice-with-java-using-jax-rs-and-jersey/ Servicios REST -.net http://www.asp.net/web-api/overview/gettingstarted-with-aspnet-web-api/tutorial-your-firstweb-api Video de explicación sobre API rest https://www.youtube.com/watch?v=g8_vvbx6 eqa