You are on page 1of 29

WEBSERVICES

El Objetivo
Lo que hay que entender Internet hasta ahora ha sido un modelo de manejo de procesos e informacin centralizado, donde al encender el browser, acceder a un site o completar un formulario de compras on-line, uno slo presiona un botn y los procesos corren en un servidor remoto para entregar la informacin en tu PC. La visin proveer a los usuarios, acceso a su informacin, archivos y programas en todo momento, en cualquier lugar y en todo dispositivo Estos usuarios, no necesitan saber donde esta esa informacin, archivos o programas; Ni siquiera saber como llega a ellos, solo deben pedirla y recibirla sin problemas ni retrasos.

SOAP
SOAP (Simple Object Access Protocol ) Protocolo elaborado para facilitar la llamada remota de funciones a travs de Internet, permitiendo que dos programas se comuniquen de una manera muy similar tcnicamente a la invocacin de pginas Web

SOAP
SOAP tiene diversas ventajas sobre otras maneras . de llamar funciones de manera remota como DCOM, CORBA o directamente en TCP/IP: Es sencillo de implementar, probar y usar. Es un estndar de la industria, creado por
W3C (http://www.w3.org/TR/SOAP/) y por varias otras empresas.

Utiliza los mismos estndares de la Web para casi todo: la comunicacin se hace mediante HTTP con paquetes virtualmente idnticos

SOAP
Las solicitudes SOAP se pueden hacer en tres estndares:

Atraviesa "firewalls" y routers, que "piensan" que es una comunicacin HTTP. Tanto los datos como las funciones se describen en XML, Es independiente del sistema operativo y procesador.
Se puede utilizar tanto de forma annima como con autenticacin (nombre/clave).

SOAP
GET, POST y SOAP. (1) SOAP es un estndar similar a POST
Las solicitudes se hacen en XML y permiten recursos ms sofisticados, como pasar estructuras y arreglos ("arrays").

Independientemente de cmo se haga la solicitud, las respuestas siempre son en XML. (2) SOAP define un estndar llamado WSDL, que describe perfectamente los objetos y mtodos disponibles a travs de pginas XML accesibles por la Web. (3)

SOAP
SOAP se puede implementar fcilmente en casi cualquier ambiente de programacin. Actualmente, existen diversos paquetes de desarrollo SOAP para diversos sistemas operativos y lenguajes de alto nivel.

SOAP y WebServices
WebService
Es un conjunto de mtodos WebMethods asociados lgicamente y llamados a travs de SOAP.

WebMethods
Son funciones llamadas en forma remota a travs de SOAP.

Desde el punto de vista del programador, WebService es una pgina "glorificada", que mapea los datos solicitados por la Web automticamente a mtodos de un lenguaje de alto nivel.

WSDL
Web Services Description Language http://www.w3.org/TR/wsdl12/

Funcionamiento WS
WSDL describe los Web services Inicia con un Mensaje que es intercambiado entre el proveedor del servicio y quien lo solicita.(1) Un Mensaje consiste de una coleccion de tipos de datos. El intercambio de mensajes entre el proveedor y el solicitante se describe como una OPERACION Una coleccion de operaciones es llamada una Interface Un binding, y una Interface se accesan via uno o mas endpoint, cada endpoint tiene su propio URI. Un servicio es una coleccion de endpoints unidos a la misma Interface. WSDL considera que una interface representa un recurso en la World-Wide-Web.

Funcionamiento WS

Entidades de un WS
El Web Service
Una aplicacion identificada por un URI [IETF RFC 2396], La interface y las uniones son descritas y descubiertas por interaccion directa de XML y mensajes basados en XML via protocolos de internet

El Client
Es el software que hace uso de un Web Service, Actua como usuario o consumidor.

Entidades de un WS
El Mensaje
Es la unidad basica de comunicacion entre un Web Service y un Cliente

La Operacion
Una secuencia de Mensajes relacionados a un solo Web Service, las acciones son llamadas una Operacion

La Interface (AKA Port Type)


Un grupo logico de operaciones. Representa un tipo abstracto del Web Service , independiente del protocolo de transmision y el formato de los datos.

Componentes de un WS

Entidades de un Web Service


La InterfaceBinding
Es una asociacion entre una Interface, un protocolo concreto y un formato de datos Especifica el protocolo y el formato de los datos que se van a usar en la tranmission del Mensaje definida en la interface asociada

EndPoint (AKA Port)


Asociacion entre una especificacion completa de la InterfaceBinding y una direccion de red especificada por un URI [IETF RFC 2396], Se usa para comunicarse con una instancia de un Web Service.

Service
Una coleccion def EndPoints se denomina un servicio

http://www.w3.org/TR/ws-desc-reqs/

Pasos Para Instalacion y Ejecucion de un Web Service


En .NET
Instale el IIS de Windows XP o 2000 o 2003, quien ser el servidor de peticiones (endpoint) Instale el FrameWork que le permitir la compilacin de los servicios. http://yupana.autonoma.edu.co/ftp/Windows/Lenguajes/MS.NET

En Java
Instale el servidor apache con tomcat quien ser el servidor de peticiones (endpoint) http://yupana.autonoma.edu.co/dpr/downloads/ Instale el JDK de java que le permitira la compilacin de los servicios Instale el axis, que es el proveedor de SOAP http://yupana.autonoma.edu.co/dpr/distri/ayudas/3/

Instalacin del FrameWork

I Accept

lauch

Instalacin del FrameWork

Microsoft .NET Framework SDK

Install .NET Framework SDK

Instalacin del FrameWork


Descargue el archivo setup.exe Luego instale

Next

I accept the agreement

Instalacin del FrameWork

Next

Next

Creacion de un Web Service


JAVA, .NET

Web Service con C# Servicio


<%@ WebService Language="C#" Class="MathService" %> using System; using System.Web.Services; [WebService(Namespace="http://localhost/webservice/")] public class MathService : WebService { [WebMethod] public float Add(float a, float b) { return a + b; } }

Compilacion
Generacion de la interface y el proceso sustituto
wsdl.exe /l:CS /n:MathService /out:MathService.cs http://host/dir/MathService.asmx?wsdl

Cliente
using MathService; class Cliente { public static void Main() { MathService.MathService service = new MathService.MathService(); System.Console.WriteLine(service.Add(1,2)); } }

Java y Soap
public class Calculadora { public int suma(int x, int y) { return x + y; } public int resta(int x, int y) { return x - y; } public int multiplica(int x, int y) { return x * y; } public int divide(int x, int y) { return x / y; } }

Web Service con Java Servicio jws


public class HolaMundo { public String obtMensaje() { return "Hola desde un WebService"; } }

Compilacion
java -cp . org.apache.axis.wsdl.WSDL2Java -v -p cliente http://localhost:8080/axis/HolaMundo.jws? wsdl

Cliente java
package cliente;

import javax.xml.rpc.*; import javax.xml.namespace.*;

class Cliente { public static void main(String[] args) { try { HolaMundoServiceLocator sl = new HolaMundoServiceLocator(); HolaMundo hm = sl.getHolaMundo(); System.out.println(hm.obtMensaje()); } catch(Exception e) { System.out.println("Error : " + e.getMessage()); e.printStackTrace(); } } }

Interaccion
Desarrollar Clientes en C# para el Servicio en java Desarrollar Clientes en Java para el Servicio en C#

You might also like