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