Web Services - JAVA

12
Web Services Un servicio web (en inglés, Web Service o Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

description

servicio web (Web Service o Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones.

Transcript of Web Services - JAVA

Page 1: Web Services - JAVA

Web Services

Un servicio web (en inglés, Web Service o Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones.

Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet.

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 2: Web Services - JAVA

JDOM

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web.

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 3: Web Services - JAVA

Estándares empleados

Web Services Protocol Stack: Así se le denomina al conjunto de servicios y protocolos de los servicios Web.

XML (Extensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar.

SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call): Protocolos sobre los que se establece el intercambio.

WSDL (Web Services Description Language): Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios Web.

UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la información de los servicios Web. Permite comprobar qué servicios web están disponibles.

WS-Security (Web Service Security): Protocolo de seguridad aceptado como estándar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados.

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 4: Web Services - JAVA

Ventajas Aportan interoperabilidad entre aplicaciones de

software independientemente de sus propiedades o de las plataformas sobre las que se instalen.

Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento.

Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados.

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 5: Web Services - JAVA

Razones para crear servicios Web

La principal razón para usar servicios Web es que se pueden utilizar con HTTP sobre TCP (Transmission Control Protocol) en el puerto 80. Dado que las organizaciones protegen sus redes mediante firewalls -que filtran y bloquean gran parte del tráfico de Internet-, cierran casi todos los puertos TCP salvo el 80 que es, precisamente, el que usan los navegadores.

Otra razón es que, antes de que existiera SOAP, no había buenas interfaces para acceder a las funcionalidades de otros ordenadores en red.

Una tercera razón por la que los servicios Web son muy prácticos es que pueden aportar gran independencia entre la aplicación que usa el servicio Web y el propio servicio.

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 6: Web Services - JAVA

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 7: Web Services - JAVA

JAX-WS

• Java API for XML Web Services (JAX-WS) es una API de Java para la creación de servicios web. Es parte de la plataforma Java EE de Sun Microsystems. Al igual que las otras APIs de Java EE, JAX-WS utiliza anotaciones, introducidas en Java SE 5, para simplificar el desarrollo y despliegue de los clientes y puntos finales de servicios web. Es parte del Java Web Services Development Pack.

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 8: Web Services - JAVA

JAX-WS

La implementación de referencia de JAX-WS se desarrolla como un proyecto de código abierto y forma parte del proyecto GlassFish, un servidor de aplicaciones Java EE de código abierto. Se llama JAX-WS RI (por Reference Implementation) y se dice que es la implementación de calidad de producción (contrariamente a la implementación de referencia antigua que era una prueba de concepto). Esta implementación de referencia es ahora parte de la distribución Metro.Nota: JAX-WS 2.0 reemplazó a la API JAX-RPC en Java EE 5. El cambio de nombre refleja el alejamiento del estilo RPC hacia servicios web de estilo de documento.Metro es una pila de servicios web open source que es parte del proyecto GlassFish (pez de cristal),.

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 9: Web Services - JAVA

WSDL WSDL son las siglas de Web Services Description

Language, un formato XML que se utiliza para describir servicios Web .

WSDL describe la interfaz pública a los servicios Web. Está basado en XML y describe la forma de comunicación.

Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje.

WSDL se usa a menudo en combinación con SOAP y XML Schema. Un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar qué funciones están disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL.

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 10: Web Services - JAVA

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 11: Web Services - JAVA

XML Schema

Es un lenguaje de esquema utilizado para describir la estructura y las restricciones de los contenidos de los documentos XML de una forma muy precisa, más allá de las normas sintácticas impuestas por el propio lenguaje XML.

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya

Page 12: Web Services - JAVA

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema version="1.0" targetNamespace="http://pihue.orlando.ws/" xmlns:tns="http://pihue.orlando.ws/" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="findByName" type="tns:findByName"/> <xs:element name="findByNameResponse" type="tns:findByNameResponse"/> <xs:complexType name="findByName"> <xs:sequence> <xs:element name="name" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType>

<xs:complexType name="findByNameResponse"> <xs:sequence> <xs:element name="return" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema>

SEMANA 5: Web Services - Ing. Orlando Pihue Montoya