Web Services.

Slides:



Advertisements
Presentaciones similares
Web Services Definición. Ventajas que ofrece.
Advertisements

Desarrollo de aplicaciones en n- capas
JEE (EJB3) Configuración Ambiente de Desarrollo
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Programación Orientada a Objeto 1
Conexión a Bases de Datos
Java Web Services Developer Arquitectura
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
WSE 2.0 (.NET Web Services Enhancements)
Laboratorio 4-Arq. Basadas en componentes
Empaquetado de Entity Beans
Introducción a HIBERNATE
Programación Orientada a Objeto 1
ENTERPRISE SOA Arquitectura Avanzada – Universidad CAECE 2011
ADELA TORRES JONATHAN BEJARANO
J2EE – Java 2 Enterprise Edition
Aplicaciones J2EE.
Entorno de trabajo con apache ant
Alberto Pedroso García - Junio/2004 Victor Ricardo Díaz – Junio/2007 Web Services.
Lenguajes Servicios Web
Cátedra Pragma Orientación a Servicios Parte I 2 © PRAGMA S.A.
Servicios Web.
UD 4: “Instalación y administración de servicios Web” Características generales de un servidor Web. Jorge De Nova Segundo.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Tipos de Servicios Web.
Introducción a los servicios Web
Curso de Java y Aplicaciones Web
Curso de Java y Aplicaciones Web
IMPLEMENTACIÓN DE ARQUITECTURA EMPRESARIAL
Desarrollando y consumiendo Web Services con Visual FoxPro
Acceso a datos y paso de datos entre capas
Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización Entre plataformas Entre lenguajes.
Investigación Servidor de Aplicaciones WebSphere
Java 2 Platform Enterprise Edition
Introducción XML y WebServices.
Características generales de un servicio Web.
Programación Web Servicio Web XML.
Metodología Web Services adoptada en el Portal ScienTI para conectar servicios de consulta y de indicadores en los paises. Buenos Aires, Argentina 26 de.
WSDL & UDDI Taller de Sistemas de Información 1
Juan Andrada Romero Jose Domingo López López.  Introducción  Conceptos  Arquitectura JXTA  Protocolos  Demostración  Alternativas  Conclusiones.
Presentación Web Services Interoperability and SOAP Keith Ballinger Microsoft Corporation Alvaro Castromán Alfonso Odriozola.
Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Alberto Guirao Rico Jesús Barahona Esteve.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Sistemas Distribuidos basados en la web
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
ESB Víctor Cabrera Cañizares.
Introducción a los Servicios Web con Java M.C. Juan Carlos Olivares Rojas Julio 2011.
J2EE – Java 2 Enterprise Edition
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Sun Open Network Enviroment (Sun ONE) vs.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
1 Web Services. 2 Definición de XML Web Services Los servicios XML Web Services son los elementos fundamentales en la evolución hacia la computación distribuida.
Desarrollo de aplicaciones empresariales con Web Services
Contacta un Servlet o un JSP
Borland User Group - Guatemala Introducción a WebServices y ejemplos de interoperabilidad entre Win32,.Net y Java Axel Canteo – Banco de Comercio Juan.
Sun Microsystems. Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad. También podrían correr.
Introducción a los Webservices. Contenidos Definición Definición Protocolos que hacen posible la existencia de los Webservices Protocolos que hacen posible.
Características generales de un servicio Web.
TEMA: SERVICIOS WEB INTEGRANTES DEL EQUIPO: CELESTE ROMANO PEDRO VELAZQUEZ PEDRO MONTESINOS.
UD 4: “Instalación y administración de servicios Web”
XML y Servicios Web Ricardo Eito Brun Sevilla, de octubre 2002.
Programación Orientada a Objetos
Desarrollo de Web Service con Java
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Servicios Web-SOA Aula: Fomento 05/06/2006 a 08/05/2006.
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
Transcripción de la presentación:

Web Services

Objetivos Introducción a conceptos técnicos relacionados con web services. Presentación de un ejemplo sobre cómo publicar y consumir un web service.

Contenidos SOAP. WSDL. JAX-WS. Ejemplo.

SOAP

SOAP Simple Object Access Protocol Es una especificación, no un producto. Utiliza XML para describir un mensaje. Permite que esta descripción sea interpretada por distintas plataformas.

Mensajes SOAP

Estructura de un mensaje SOAP

Header Es opcional. Permite incluir información para el procesamiento del mensaje. Es un punto de extensibilidad del modelo. Los intermediarios pueden modificarlo.

Body Es una estructura XML arbitraria. Su semántica es relevante al emisor y al receptor del mensaje. Deben ponerse de acuerdo en dicha semántica. Los intermediarios no deben modificarlo.

Ejemplo de un mensaje SOAP <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.stock.org/stock"> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope>

WSDL

Web Services Description Language. WSDL Web Services Description Language. Es un lenguaje implementado con XML. Independiente de plataformas y lenguajes. Dos tipos de descripciones: Abstractas: tipos de datos, mensajes, operaciones. Concretas: bindings y servicios.

Estructura de un documento WSDL

types Definen tipos de datos utilizados en los mensajes. La definición es independiente de plataformas y lenguajes. Cada plataforma/lenguaje tiene formas de “mapear” estas definiciones en estructuras propias.

message Define un mensaje de entrada o salida involucrado en una operación. Utiliza tipos estándar o definidos con type. Puede ser utilizado en más de una operación.

portType Define una agrupación de operaciones. El equivalente en Java sería una interfaz. Son utilizados para después definir servicios.

operation Describe una operación determinada. Indica los mensajes de entrada y/o salida que la componen. Se agrupan en tipos de puertos. El equivalente en Java sería un método de una interfaz.

binding Especifica una implementación de una operación. Indica el estilo (document/rpc) de una operación y el transporte (HTTP/SMTP) utilizado.

Define un servicio a través de: service Define un servicio a través de: Indicar qué operaciones soporta, relacionándolo con un portType. Especificar cómo está implementado, relacionándolo con un binding. Indicar dónde está publicado, relacionándolo con una URL.

JAX-WS

JAX-WS Java API for XML Web Services Especificación de JEE 5 Ofrece anotaciones y herramientas para generar Web Services a partir de clases Java Soporte para client side y server side

Ventajas Implementado dentro de la especificación y el servidor de aplicaciones Abstrae la complejidad del manejo de XML mediante anotaciones en código Java Asegura la interoperabilidad entre clientes y servicios implementados en otras tecnologías

Desventajas Se puede perder control de la infraestructura generada para implementar el servicio: Documentos WSDL Bindings Mapeos XML

Cómo usarlo Top-Down Desarrollar el contrato primero (WSDL) y partir de éste la implementación Mayor control del mensaje de intercambio y de la implementación generada Permite asegurar una correcta interoperabilidad con otras implementaciones Se recomienda para proyectos grandes y con mucha interoperabilidad

Cómo usarlo Bottom-Up Desarrollar el contrato (WSDL) a partir de la implementación Menor control del mensaje de intercambio y del contrato generado La interoperabilidad sólo se asegura con implementaciones similares Se recomienda para proyectos departamentales

Cómo funciona Web Service Endpoint Clase o interface anotada con @WebService Declara los métodos que un cliente puede invocar en el servicio mediante llamadas SOAP Los métodos publicados del servicio deben estar anotados con @WebMethod (no todos los métodos necesitan ser publicados)‏

Cómo funciona Deployment El deployment es como cualquier clase o componente JEE: El contenedor procesa las anotaciones y genera los artefactos necesarios Se pueden revisar los Web Services publicados en el contenedor: http://localhost:8080/jbossws/services Y acceder a cada WSDL en particular

Arquitectura

wsconsume <WSDL URL> Herramientas wsconsume <WSDL URL> Genera clases de cliente para invocar un servicio a partir de un documento WSDL Este código se puede ejecutar desde clases de integración entre componentes

Pasos para la creación de Web Services con JAX-WS y JBoss

Ejemplo construcción WS Ejemplo a desarrollar: una guía telefónica con los siguientes servicios: getNombreGuia(Integer telefono); setDatos(Integer telefono, Persona persona); cambiarTelefono(Integer telefono, Integer nuevoTelefono);

Ejemplo construcción WS Configurar el Jboss (Instalación JAX- WS) Copiar jars de carpeta endorsed a JBOSS_HOME/lib/endorsed Copiar carpeta http-invoker.sar a JBOSS_HOME/server/default/deploy Copiar carpeta jboss-bean.deployer a JBOSS_HOME/server/default/deploy

Crear un proyecto EjemploWS- Servidor Pasos construcción WS Crear un proyecto EjemploWS- Servidor Construir una interface Java con los servicios a proveer Interface GuiaTelefonica.java Class Persona.java Construir la implementación En el ejemplo es un Stateless Session Bean

Anotar la implementación para que publique un Web Service Endpoint Pasos construcción WS Anotar la implementación para que publique un Web Service Endpoint Clase con @WebService Representa el servicio a publicar Métodos con @WebMethod Representa el/los métodos a proveer Desplegar el componente El contenedor genera todos los artefactos: http://127.0.0.1:8080/GuiaTelefonica/GuiaTelefonic aServer?wsdl

Generar clases cliente con wsconsume Pasos construcción WS Generar clases cliente con wsconsume En el directorio donde se encuentra el codigo cliente %jboss%/bin/wsconsume -k http://127.0.0.1:8080/GuiaTelefonica/GuiaTel efonicaServer?wsdl Genera varios archivos que se pueden utilizar para hacer una llamada al servicio desde Java

Pasos construcción WS Llamar al servicio Utilizando las clases proxy generadas: GuiaTelefonicaServerService GuiaTelefonicaServer

Bibliografía SOAP: WSDL: JAX-WS: JBoss Web Services: http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnsoap/html/understandsoap.asp http://www.w3schools.com/soap/default.asp WSDL: http://www.w3schools.com/wsdl/default.asp http://msdn.microsoft.com/archive/default.asp?url=/archive/en- us/dnarxml/html/wsdlexplained.asp JAX-WS: http://java.sun.com/javaee/5/docs/tutorial/doc/bnayl.html JBoss Web Services: http://www.redhat.com/docs/en- US/JBoss_Enterprise_Application_Platform/4.3.0.cp06/html/Server_ Configuration_Guide/Server_Configuration_Guide-Web_Services- Web_Service_Endpoints_.html