Servicios web con SOAP y Eclipse



Documentos relacionados
CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa

Desarrollo de Servicios Web con JBuilder

1. Visión general de RMI

DESARROLLO WEB EN ENTORNO SERVIDOR

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA

Universidad ORT - Arquitectura de Software. Requisitos

Descarga, instalación y uso de herramientas:

en otra máquina exactamente de la misma manera que si se encontrará en la misma máquina

Java RMI. Sistemas Distribuidos Rodrigo Santamaría

Ingeniería del Software Arquitectura Física en 3 niveles

Práctica 5: Callbacks RMI.

Para poder instalar el producto, tendremos que obtener el instalador apropiado para nuestro entorno hardware y software.

Modelo de Objetos Distribuidos

Carrera: Analista de Sistemas. Asignatura: Resolución de Problemas y Algoritmos

Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación

INSTALACIÓN DE LICENCIAS EN RED. Descripción del Procedimiento

Java RMI Remote Method Invocation. Invocación Remota de Métodos en Java

Práctica 2: Java Remote Method Invocation (RMI)

WEB SERVICES CON AXIS

Operación de Microsoft Excel

Tutorial básico del entorno de desarrollo Eclipse.

Java, JavaME y el entorno Eclipse - Ejercicios

Plataforma de expediente

Guía Rápida de Inicio

RMI [Remote Method Invocation]

Java Developer Kit (JDK) 6.0 JBoss Application Server 5.1. OpenSAML Tabla 1 Requerimientos de Software

RUEDA TORRES DULCE CAROLINA 3CM2 JAX-WS WEB SERVICES WEB APPLICATION DEVELOPMENT

E-Government con Web Services

CAPÍTULO 3 Servidor de Modelo de Usuario

Interacción entre Aplicaciones: objetos distribuidos e invocación remota

Práctica sobre compartición de instancias remotas.

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

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Taller Práctico Creación de un LO IMS/SCORM

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

1. Posicionarse en la vista Services y seleccionar el ítem Servers. En el menú contextual del Mouse seleccionar la opción Add Server

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Introducción a JAX-WS Web Services

PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI

Programación en Java. Programación en OO

WINDOWS : TERMINAL SERVER

Crear una Activity en Android. Paso por paso

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Recuperador datos externos

Capacitación Rational Funcional Tester

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat

Introducción a Java LSUB. 15 de enero de 2015 GSYC

WbS Web Services. Roberto Gómez Cárdenas Web Services

Uso de excepciones en Java

Cuando hacemos uso de los grupos, se tendrán los permisos asignados al grupo, en todas las carpetas y documentos del sitio.

Llamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2

JAVA - Serializacíon / RMI. (C) Philippe Roose , 2005

Desarrollo y servicios web

Configuración servidor Tomcat

CORBA desde Java. Diego Sevilla Ruiz Sistemas Distribuidos. 1. Introducción

ANEXO III. Creación de plantillas e imagenes en CloudStack y subida de ficheros vhd e iso.

CONTENIDO. Serialización. Carga dinamica de stubs RMI AVANZADO. Callbacks. Carga dinámica de Stubs

Sistemas Distribuidos (IS18) Ciclo Guía para generar BPEL y CASA

Notas técnicas Tips de SAP Netweaver ABAP - JAVA Tip en detalle Nro. 27. (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado)

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

UNIVERSIDAD DE SALAMANCA

MANUAL COPIAS DE SEGURIDAD

Ejercicios - Persistencia en Android: ficheros y SQLite

MANUAL DEL INSTALADOR

Manual de JSP con Eclipse y ApacheTomcat o JBoss


JAVA RMI (REMOTE METHOD INVOCATION)

Artículos técnicos Grupo Danysoft: Soporte de Servidores de Aplicaciones con JBuilder

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

UNIT4 CRM. Información de usuario. Release notes. v a v UNIT Ref. acv9010u.docx

Visión General GXflow. Última actualización: 2009

Planificación en Team Foundation Server 2010

LiLa Portal Guía para profesores

RESOLUCIÓN DE INCIDENCIAS PROCURADORES

PROGRAMACIÓN EN JAVA

5.1 Introducción a Servicios Web

DFirma PDA Aplicación de firma electrónica en dispositivos móviles. Manual de Usuario

Desarrollo de Sistemas Software Basados en Servicios y Componentes

Guía de Apoyo Project Professional

REQUERIMIENTOS NO FUNCIONALES

Documentación Técnica Conector

Manual de NetBeans y XAMPP

Visual Studio Team System 2010

Plantillas Office. Manual de usuario Versión 1.1

CAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET

Proxy.Net/J2EE. Interoperabilidad de los servicios telemáticos de la Administración Pública de la CAC. Página 1 de 17. Rev.

Creación y administración de grupos locales

Administración de sistemas UNIX/Linux Práctica Colección de scripts para la configuración de una infraestructura de máquinas UNIX

Transcripción:

PRÁCTICA 8 Servicios web con SOAP y Eclipse E l objetivo de esta práctica es invocar e implementar servicios web en Java desde el entorno Eclipse. La práctica está estructurada en tres partes según se esquematiza en la figura 1 (pág. 92): 1. Invocación de un servicio web disponible en Internet. 2. Realización de un nuevo servicio web. 3. Invocación de un servicio web desde otro servicio web. La primera parte consiste en descubrir la interfaz e invocar un servicio web ya existente en Internet (al que nos referiremos como servicio currency, de una manera genérica) que proporciona el coeficiente de cambio entre cualesquiera dos monedas. La segunda parte consiste en realizar un nuevo servicio web, denominado eurocalculadora, que calcula el cambio de una cantidad de dinero entre el euro y cualquier otra moneda. En una primera versión se aplicará un coeficiente de cambio fijo e igual a 1. Esto proporcionará resultados incorrectos, pero permitirá realizar el desarrollo completo de un servicio y comprobar su funcionamiento. La tercera parte de la práctica consiste en modificar el servicio web desarrollado en la segunda parte para que obtenga el coeficiente de cambio de servicio web descubierto en la primera parte de la práctica. Se trata de convertir un servicio en un cliente de otro servicio. DYA 91

Invocación de un servicio web disponible en Internet FIGURA 1. Estructura del servicio web eurocal 8.1.- Invocación de un servicio web disponible en Internet Se comenzará por crear un proyecto prj-soap que abarcará las tres partes de la práctica. Este proyecto debe ser de tipo Web -> Dynamic Web project. Se creará también un paquete eurocal, donde se ubicará todo el código que desarrolle. Para descubrir un servicio web de cambio de moneda debe seguir los pasos que a continuación se indican: 1. Importar el servicio: Import -> Web Services -> Web Service. Deberá especificar que debe lanzarse el Web Services Explorer que deberá examinar el registro UDDI de XMethods Registry. 2. Seleccionar el servicio denominado Currency Convertor. 3. Importar el fichero WSDL al workbench del proyecto prj-soap con el nombre CurrencyConvertor.wsdl, seleccionando la opción que se indica en la figura 2 (pág. 93). 4. Visualizar el fichero CurrencyConvertor.wsdl y observar la interfaz de este proyecto. La visualización gráfica de esta interfaz se muestra en la figura 3 (pág. 93) y puede observarse que dispone de interfaz HTTP e interfaz SOAP. 5. Probar la interfaz SOAP de este servicio utilizando el Web Services Explorer. Para ello deberá seleccionar en el menú contextual de este fichero Web Services -> Test with Web Services Explorer. Una vez seleccionada la interfaz SOAP aparecerá un formulario como el de la figura 4 (pág. 94). 92 Servicios web con SOAP y Eclipse

Invocación de un servicio web disponible en Internet FIGURA 2. El servicio Currency Convertor del registro de Xmethods. FIGURA 3. Interfaz del servicio Currency Convertor. En la tercera parte de la práctica necesitará invocar este servicio desde un programa Java. Para ello, necesitará crear unos stubs a partir del fichero WSDL que permitan realizar la invocación remota utilizando el protocolo SOAP. Para la creación de estos stubs se requiere: DYA 93

Creación de un Servicio web FIGURA 4. Prueba del servicio Currency Convertor con el Web Services Explorer 1. Seleccionar el fichero CurrencyConvertor.wsdl y en el menú contextual utilizar la opción Web Services -> Generate Client. Al final del proceso debe aparecer en el proyecto un paquete NET.webserviceX.www que debe contener los stubs generados. 8.2.- Creación de un Servicio web La creación de un servicio web en Eclipse puede realizarse siguiendo dos metodologías: Bottom up: partiendo de un objeto Java (Java bean) Top down: partiendo de una especificación en WSDL. En esta práctica se utilizara el desarrollo top down en el que se partirá del fichero de especificación del servicio en WSDL. Consta de los siguientes pasos: 1. Añadir al paquete eurocal un fichero WSDL denominado eurocal.wsdl: New-> Other -> Web Services -> WSDL. 2. Utilizar la interfaz gráfica de este fichero para especificar una interfaz del servicio como la de la figura 5 (pág. 95). 3. Generar los bindings o vínculos del servicio con las url donde se presta el servicio: Generate Binding Context. 4. Generar el servicio web. Para ello se debe seleccionar el fichero con la interfaz WSDL (eurocal.wsdl) y en el menú contextual utilizar la opción Web Services -> Generate java bean skeleton. Al final del proceso debe aparecer en el proyecto un paquete org.example.www.eurocal 94 Servicios web con SOAP y Eclipse

Invocación de servicios web desde programas en Java Generate Binding Context FIGURA 5. Interfaz WSDl del servicio eurocal que debe contener las plantillas del servicio y el esqueleto para su ejecución como servidor remoto con el protocolo SOAP. Al final de la generación del servicio se requerirá arrancar el servidor Jakarta Tomcat para ejecutar el servicio. Si se decide no arrancarlo en este momento, también puede ejecutarse un servicio web sobre este servidor utilizando la opción Run as -> Run on server. Aparece una ventana en la parte inferior del IDE denominada Server en la que se indica los servicios que está ejecutando el servidor. Se puede seleccionar alguno de estos servicios y borrarlo. La implementación del servicio se realiza en el fichero EurocalSOAPImpl.java del paquete org.example.www.eurocal. Cada vez que se realiza una modificación en este fichero y se salva, se regenera el servicio web y se rearranca el servidor Jakarta Tomcat para actualizar dicho servicio. Esta fase de la práctica terminará con la prueba de dicho servicio. Ello requiere: 5. Seleccionar en el menú contextual del fichero Web_Content/wsdl/eurocalSOAP.wsdl la opción Web Services -> Test with Web Services Explorer. 8.3.- Invocación de servicios web desde programas en Java En esta parte de la practica se indica como el servicio web eurocal puede invocar el servicio web currency (actualmente se utiliza Currency Convertor) para obtener el coeficiente de cambio entre el euro y cualquier otra moneda. La técnica es semejante a los demás mecanismos de invocación remota vistos con anterioridad (Java-RMI y CORBA): a partir del fichero de especificación del servicio en WSDL se generan los stubs necesarios par canalizar la invocación remota sobre el protocolo SOAP. DYA 95

Ficheros de apoyo Este paso ya se realizó en la primera parte de esta práctica (seleccionar el fichero CurrencyConvertor.wsdl y en el menú contextual utilizar la opción Web Services -> Generate Client). El resultado es un paquete NET.webserviceX.www con los stubs generados. Los ficheros mas significativos son: CurrencyConvertorSoap.java: es el stub de la clase correspondiente al servicio. Currency.java: es una clase que enumera las diferentes monedas. CurrencyConvertorLocator.java: clase que sirve para obtener ubicar y obtener una referencia al stub del servicio. Solo resta realizar la invocación remota desde el servicio eurocal. Para ello debe modificar el fichero EurocalSOAPImpl.java del paquete org.example.www.eurocal tal como se indica a continuación. 8.4.- Ficheros de apoyo 8.4.1.- Fichero de implementación del servicio SOAP en Java Fichero EurocalSOAPImpl.java package org.example.www.eurocal; import javax.xml.rpc.serviceexception; import NET.webserviceX.www.Currency; import NET.webserviceX.www.CurrencyConvertorLocator; import NET.webserviceX.www.CurrencyConvertorSoap; public class EurocalSOAPImpl implements org.example.www.eurocal.eurocal_porttype{ CurrencyConvertorLocator service; CurrencyConvertorSoap stub; public EurocalSOAPImpl() { service = new CurrencyConvertorLocator(); try { stub = service.getcurrencyconvertorsoap(); catch (ServiceException e) { e.printstacktrace(); 96 Servicios web con SOAP y Eclipse

Ficheros de apoyo public double convertiraeuros(java.lang.string codi, double moneda) throws java.rmi.remoteexception { double rate = stub.conversionrate(currency.fromstring(codi), Currency.EUR); return (moneda*rate); public double convertireuros(java.lang.string codi, double euros) throws java.rmi.remoteexception { double rate = stub.conversionrate(currency.eur, Currency.fromString(codi)); return (euros*rate); DYA 97

Ficheros de apoyo 98 Servicios web con SOAP y Eclipse