Download Servicios Web

Document related concepts
no text concepts found
Transcript
Servicios Web
Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la
Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo
de ofrecer unos servicios.
Los proveedores ofrecen sus servicios como procedimientos remotos y los
usuarios solicitan un servicio llamando a estos procedimientos a través de la
Web.
Para qué sirven?
Estos servicios proporcionan mecanismos de comunicación estándares entre
diferentes aplicaciones, que interactúan entre sí para presentar información
dinámica al usuario.
Para proporcionar interoperabilidad y extensibilidad entre estas aplicaciones, y
que al mismo tiempo sea posible su combinación para realizar operaciones
complejas, es necesaria una arquitectura de referencia estándar.
Algunas Definiciones
Un servicio
Es un procedimiento, un método o un objeto con una interfaz estable y
pública que puede ser invocado por un cliente
Los Servicios Web amplían esa idea para permitir que esa invocación se realice
a través de internet empleando protocolos Web estándar ya existentes
Arquitectura Orientada a Servicios (SOA)
Aproximación al diseño de aplicaciones complejas basada en:
1. la identificación de los servicios que ofrecerá
2. La definición de esos servicios
3. La organización de las interacciones entre esos servicios
Definiciones
El término Web Services describe una forma estandarizada de integrar
aplicaciones WEB mediante el uso de XML, SOAP, WSDL y UDDI sobre los
protocolos de la Internet.
1.
2.
3.
4.
XML es usado para describir los datos,
SOAP se ocupa para la transferencia de los datos,
WSDL se emplea para describir los servicios disponibles y
UDDI se ocupa para conocer cuales son los servicios disponibles.
Uno de los usos principales es permitir la comunicación entre las empresas
y entre las empresas y sus clientes. Los Web Services permiten a las
organizaciones intercambiar datos sin necesidad de conocer los detalles de
sus respectivos Sistemas de Información.
A diferencia de los modelos Cliente/Servidor, tales como
un servidor de paginas Web, los Web Services:
1. No proveen al usuario una interfaz gráfica (GUI).
2. Los Web Services comparten la lógica del negocio, los
datos y los procesos, por medio de una interfaz de
programas a través de la red.
3. Es decir conectan programas, por tanto son programas
que no interactúan directamente con los usuarios. Los
desarrolladores pueden por consiguiente agregar a los
Web Services la interfaz para usuarios, por ejemplo
mediante una pagina Web o un programa ejecutable,
tal de entregarle a los usuarios un funcionalidad
específica que provee un determinado Web Service.
Los Web Services permiten a distintas aplicaciones, de
diferentes orígenes, comunicarse entre ellos sin necesidad de
escribir programas costosos, esto porque la comunicación se
hace con XML.
Los Web Services no están ligados a ningún Sistema Operativo
o Lenguaje de Programación.
Por ejemplo, un programa escrito en Java puede conversar
con otro escrito en Pearl; Aplicaciones Windows puede
conversar con aplicaciones Unix.
Por otra parte los Web Services no necesitan usar browsers
(Explorer) ni el lenguaje de especificación HTML.
XML
Extensible Markup Language: es una especificación desarrollada por W3C.
Permite a los desarrolladores crear sus propios tags, que les permiten
habilitar definiciones, transmisiones, validaciones, e interpretación de los
datos entre aplicaciones y entre organizaciones.
SOAP
Simple Object Access Protocol :protocolo de mensajería construido en XML
que se usa para codificar información de los requerimientos de los Web
Services y para responder los mensajes “antes de enviarlos por la red”. Los
mensajes SOAP son independientes de los sistemas operativos y pueden
ser transportados por los protocolos que funcionan en la Internet, como
ser: SMTP, MIME y HTTP.
WSDL
Web Services Description Language: lenguaje especificado en XML
que se ocupa para definir los Web Service como colecciones de punto
de comunicación capaces de intercambiar mensajes. El WSDL es
parte integral de UDDI y parte del registro global de XML, en otras
palabras es un estándar de uso público (no se requiere pagar
licencias para usarlo).
UDDI
Universal Description, Discovery and Integration: directorio
distribuido que opera en la Web que permite a las empresas publicar
sus Web Services, para que otras empresas conozcan y utilicen los
Web Services que publican, opera de manera análoga a las páginas
amarillas.
Como Crear un ServLet Básico
1. Crear un proyecto nuevo: java Web y dentro de él clic en aplicación web
2. Nombre al proyecto, y los demás valores se dejan por defecto
3. Escoger el servidor, por ejemplo: GlassFish Server 3 y la versión de java EE la dejamos como JAVA EE 6 Web
4. La ventana a continuación no se selecciona ningún elemento
5. Terminada la configuración, se visualiza código HTML, que muestra la pagina de inicio ( “Hello World!“)
6. Clic en ejecutar, para levantar los servicios, al arrancar se vera un explorador con el mensaje “Hello World!
Si tiene instalado por ejemplo ORACLE
Este puede estar bloqueando el puerto 8080, por lo que GlassFish producirá un
error y no cargará
Para ello:
Edite el archivo  domain.xml
Que se encuentra en el directorio de configuración
C:\Archivos de programa\glassfish-3.1.2.2\glassfish\domains\domain1\config
\domain.xml
En la index.jsp modifique el código que se encuentre entre las etiquetas HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mi Primer JSP</title>
</head>
<body bgcolor="red" text="yellow">
<h1>Esta es mi Pagina</h1>
<p>Esta es una prueba de mi primera pagina en html, que es ejecutada por un Web Services</p>
<br><br><br>
<marquee bgcolor="black" scrolldelay="100" scrollamount="5" direction="left" loop="infinite">Escriba aca su
nombre</marquee>
</body>
</html>
Ejecute nuevamente el JSP
Ejemplo del Uso de Web Services: http://www.southwest.com/
Fuentes:
Web Services Architecture: http://www.w3.org/TR/ws-arch/
Web Services Tutorial: http://www.w3schools.com/webservices/default.asp
Servicios web del API de Google Maps
https://developers.google.com/maps/documentation/webservices/?hl=es
http://www.gxtechnical.com/gxdlsp/pub/genexus/internet/technicalpapers/web_services.htm