Desarrollo e implementacion de un WebService.pdf

92
Web Services Clase 3

Transcript of Desarrollo e implementacion de un WebService.pdf

  • Web ServicesClase 3

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 2

    Agenda Introduccin

    o Definicin, historia y motivacin Web Services

    o Caractersticaso Tecnologas

    Bsicas Avanzados

    RESTo Caractersticaso Tecnologas

    Conclusiones

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 3

    Definicin A Web service is a software system designed to

    support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAPmessages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.

    o World Wide Web Consortium (W3C), 2006

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 4

    Evolucin Middleware

    Semantic Management of Middleware. Ramesh Jain. Amit Sheth. Springer 2006.

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 5

    Web Services

    El trmino Web Service nace aproximadamente en el ao 2000 por iniciativa de MS e IBM

    Surgen como una necesidad de la industria en las reas:o Enterprise Application Integration (EAI)o Business to Business (B2B)

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 6

    Motivacin (1)

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 7

    Motivacin (1) Inters de atravesar los firewalls

    Middlewares existentes no provean tales caractersticas

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 8

    Motivacin (2) Confianza entre empresas

    o es baja y a veces, inexistente.

    Autonomao Las empresas desean ser

    lo ms autnomas posibles unas de otras

    Confidencialidado Las empresas no quieren

    guardar sus datos y transacciones en middleware de terceros

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 9

    Sin embargo

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 10

    Problema No es escalable

    Suposicin falsao Una plataforma de integracin basada en middleware puede ser

    centralizada, en donde todos los componentes (de diferentes empresas) que integra confan en ella.

    El surgimiento de las tecnologas Web y de protocolos de comunicacin (HTTP) y formatos (primero HTML y luego XML) estndares, posibilitaron la creacin de un middleware convencional denominado Web Services, que posibilita la integracin de aplicaciones en escenarios B2B

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 11

    B2B integration via WS

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 12

    WS & EAI

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 13

    WS & EAI El objetivo principal de los Web Services es proveer

    una forma sencilla de exponer los sistemas de informacin de la empresa de una forma controlada y estndar

    De alcanzar este objetivo, los Web Services pueden ser utilizados para posibilitar EAI entre empresas sin la necesidad del uso de adaptadores especficos.

    De esta forma, los Web Services permiten a los clientes acceder a los sistemas de informacin internos de la empresa de una forma estndar

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 14

    WS & EAI dentro de la compaa

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 15

    WS & EAI dentro de la compaa

    Dentro de una empresa, los Web Services permiten una integracin EAI sin la necesidad de costosos adaptadoreso Los Web Services toman el lugar de los

    adaptadoreso Ejemplo

    Conectar aplicaciones .NET con JEE Conectar aplicaciones .NET con Cobol

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 16

    Tipos de Web Services

    Simples o de informacino Operaciones de corta duracino Patrn de comunicacin Request/Response

    Pedido-Espera-Respuesta

    Complejos o de procesos de negocioso Operaciones de larga duracino Coordinacin de operaciones I/O

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 17

    Simples o de Informacin

    Exponen las funcionalidades de negocios de una aplicacin de forma estndaro Back End escritos en Java/EJB, VB, C#, C++,

    Mecanismos de comunicacin sincrnicos Operaciones atmicas

    o Una nica operacin por requesto No son transaccionales

    Por ms que su backend si lo sea Son stateless

    o No mantienen estado entre pedidos

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 18

    Complejos o procesos de negocios Composicin de servicios simples para la

    implementacin de procesos de negocioso P. ej: Procesos de compra

    Coordinacin de operaciones Transacciones de larga duracin Mecanismos de comunicacin asincrnicos Servicios de alta granularidad Stateful

    o Mantienen el estado entre pedidos

  • Tecnologas para el desarrollo de

    Web ServicesSOAP, WSDL, UDDI

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 20

    Web Services Iniciativa de Microsoft e IBM en el ao 2000

    para resolver necesidades de las reas EAI y B2B

    Resultado:o Primera generacin de Web Serviceso Un conjunto de estndares de comunicacin

    basado en XML y tecnologas Web (http, tcp, smtp, etc)o WSDL, SOAP, UDDI

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 21

    Requerimientos bsicos para llevar a cabo una comunicacin

    Sintaxis

    Formato

    Transporte

    Interfaceso Definicin de operaciones y parametros I/O

    Descubirimiento/Bsqueda

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 22

    Requerimientos bsicos para llevar a cabo una comunicacin

    Sintaxiso XML

    Formatoo SOAP

    Transporteo Tecnologas Web (http, smtp, etc)

    Interfaceso WSDL

    Descubirimiento/Bsquedao UDDI

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 23

    Cmo funciona?

  • Simple Object Access Protocol (SOAP)

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 25

    SOAP

    Estndar de la W3C que describe un formato de mensaje (basado en XML) y mecanismos para intercambiar informacin entre aplicaciones, en un ambiente distribuido y descentralizado.

    Actualmente, se encuentra en la versin 1.2.

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 26

    SOAP Provee una forma estndar de estructurar mensajes

    utilizando XML

    Define mecanismos para utilizar distintos protocolos de transporte para el envo de mensajes

    Especifica un modelo de procesamiento que indica cmo se deben procesar los mensajes

    Una forma de adjuntar datos no-XML a los mensajes.

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 27

    Mensaje SOAP

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 28

    Un ejemplo

    32004-02-25T01:00:00-03:00true

    Widgets 100 20.5

    Envelope

    Body

    Header

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 29

    Mensaje SOAP La estructura bsica de un mensaje SOAP consiste

    de un elemento Envelope el cual contieneo un elemento opcional Headero un elemento requerido Body

    que puede incluir un elemento Fault

    El Envelope es el elemento raz de todo mensaje SOAP e identifica un documento XML como un mensaje SOAP

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 30

    Mensaje SOAP Header El Header, de estar presente, debe ser el primer

    elemento del Envelope

    Provee un mecanismo de extensin que permite incluir informacin extra en mensajes SOAP (seguridad, transacciones, etc)

    Puede contener varios header blocks que son una forma de agrupar lgicamente la informacin

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 31

    Mensaje SOAP Header ... ... ...

    12345

    john1234

    ... ... ...

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 32

    Mensaje SOAP Body Contiene la informacin a ser intercambiada

    entre el cliente y servicio

    En el Body tpicamente se especifica:o una solicitud para efectuar cierta operacino la respuesta a cierta solicitud que puede ser:

    un resultado o un error (fault)

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 33

    Mensaje SOAP Body

    red

    rojo

    resultado

    solicitud

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 34

    Mensaje SOAP Fault El elemento Fault indica la ocurrencia de un

    error en el procesamiento del mensajeo Comprensin del mensaje

    Error de sintaxiso Infraestructura

    Error de red: HTTP 500 Internal Server Erroro Negocio

    No existe la cuenta con nmero X

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 35

    Mensaje SOAP Fault Tiene 5 sub-elementos:

    o Codeo Reasono Detailo Node (opcional)o Role (opcional)

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 36

    Ejemplo

    env:Sender

    m:InvalidPurchaseOrder

    Specified product did not exist

    El producto solicitado no existe

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 37

    Procesamiento de Mensajes En el modelo SOAP pueden existir varios nodos

    intermediarios que procesan los mensajes

    Usos comunes: auditora, compresin, seguridad, etc.

    http://www14.informatik.tu-muenchen.de/konferenzen/Jass05/courses/6/Papers/10.pdf

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 38

    Procesamiento de Mensajes Los header blocks pueden incluir informacin que

    especifique para qu rol est destinado el bloque (atributo role)

    SOAP define tres posibles valores para dicho atributo: none, ultimateReceiver y next

    SOAP no incluye un mecanismo para especificar la ruta que debe seguir un mensaje SOAP hasta llegar al WS destino

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 39

    Transporte de Mensajes SOAP no impone el uso de un determinado

    protocolo para el intercambio de mensajes

    A travs del concepto de binding SOAP permite especificar:o cmo los mensajes SOAP se encapsulan en un

    protocolo de transporteo cmo los mensajes SOAP deben ser tratados con

    las primitivas del protocolo

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 40

    SOAP Bindings En el estndar SOAP se incluye la especificacin de

    un bindings para los protocolos http y smtp

    Se dan un conjunto de reglas para definir nuevos bindings

    o Binding JMS (estndar) http://www.w3.org/TR/soapjms/

    o Binding TCP (propietario) http://blogs.sun.com/oleksiys/entry/soap_tcp_makes_web

    _services

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 41

    SOAP Bindings

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 42

    Implementacin simple sobre http

  • Web Service Description Language

    (WSDL)

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 44

    WSDL

    Estndar de la W3C que define un lenguaje basado en XML que permite describir la interfaz, formas de acceso y ubicacin de un Web Service

    Actualmente, en versin 2.0

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 45

    Para qu sirve? Dnde est ubicado el servicio? Qu operaciones tiene? Qu mensajes de entrada/salida recibe/responde? Cul es la estructura de los mensajes? Qu protocolos de transporte hay que usar

    (bindings)?

    Un documento WSDL se divide en dos partes:o descripcin abstractao descripcin concreta

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 46

    WSDL Descripcin Abstracta La descripcin abstracta describe de forma

    general la estructura de la interfaz del Web Service, que incluye operaciones, parmetros y tipos de datos abstractos

    Los cuatro elementos XML que componen la descripcin abstracta son:o o o

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 47

    WSDL types

    El elemento types encapsula todas las definiciones abstractas de tipos de datos

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 48

    WSDL messages El elemento messages representa de forma

    abstracta los parmetros de entrada y salida para una operacin

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 49

    WSDL portType

    El elemento portType es el contenedor de todas las operaciones abstractas y describe una interfaz especfica del servicio

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 50

    WSDL Descripcin Concreta La descripcin concreta asocia a una

    descripcin abstracta una direccin de red concreta, un protocolo de comunicacin y estructuras de datos concretas

    Los tres elementos XML que componen la descripcin concreta son:o o

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 51

    WSDL binding Este elemento asocia un portType, y sus

    mensajes y operaciones, a un protocolo de transporte y un formato de mensaje

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 52

    WSDL service y port

    El elemento port especifica la direccin de red para un determinado binding

    El elemento service es un contenedor de elementos port

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 53

    Cmo lo uso?

    Proporcionado por plataformas de desarrollo

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 54

    Jugar con WS Seekda

    o http://webservices.seekda.com/providers/webservicex.com/GlobalWeather

    .NETo Getting Started Tutorialo http://msdn.microsoft.com/en-

    us/library/ms734712.aspx JBoss

    o http://community.jboss.org/wiki/JBossWS-UserGuide

  • Universal Description, Discovery and

    Integration (UDDI)

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 56

    UDDI Estndar de la OASIS que provee una forma

    estndar de publicar, categorizar y buscar Web Services

    UDDI defineo Un directorio y un modelo de datos para almacenar

    informacin de servicios y negocioso tres interfaces para utilizar el registro UDDI

    Inquiry (Bsqueda de servicios) Publish (Publicacin de servicios) Subscribe (Notificacin de cambios)

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 57

    Registro UDDI El registro de un negocio en UDDI tiene tres

    partes:o Pginas blancas - direccin, contacto y otros

    identificadores conocidos.o Pginas amarillas - categorizacin industrial

    basada en taxonomas.o Pginas verdes - informacin tcnica sobre los

    servicios que aportan las propias empresas.

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 58

    Registro UDDI El esquema original de classificacin de

    UDDI estaba basado en una taxonoma de negocios del gobierno de US

    Las versiones recientes de UDDI tienen soporte para la definicin de taxonomas personalizadas

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 59

    Modelo de Datos UDDI

    Developing Java Web Services. Ramesh Nagappan, Robert Skoczylas, Rima Patel Sriganesh. Wiley Publishing. 2003.

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 60

    Interfaces UDDI

    El estndar UDDI define interfaces que pueden ser utilizadas, por proveedores y consumidores de Web Services

    Dichas interfaces estn descriptas utilizando WSDL y pueden ser accedidas a travs de mensajes SOAP sobre HTTP

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 61

    Interfaces UDDI Interfaz de Publicacin (publish)

    o Un proveedor de Web Services utiliza esta interfaz para publicar, actualizar o eliminar informacin en el registro UDDI

    o Dos tipos de operaciones: save y delete

    Interfaz de Bsqueda (inquiry)o Un consumidor de Web Services utiliza esta interfaz para

    buscar Web Services, proveedores de Web Services e informacin de los mismos

    o Dos tipos de operaciones: find y get

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 62

    Interfaces UDDI: Subscripcin Objetivo: proveer un mecanismo a los clientes, para

    recibir informacin concerniente a los cambios que se realizan en el registro UDDI

    Dos mecanismos de comunicacino Sincrnico

    Operacin getSubscriptionResultso Asincrnico

    Va mail o Web Services SOAP Clientes pueden implementar la operacin

    notify_subscriptionListener

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 63

    Resumen

    SOAPo Define el formato y transporte de los mensajes

    WSDLo Describe las interfaces de los servicioso Describe operaciones, mensajes, estructuras de datos,

    protocolos de transporte, etc UDDI

    o Permite el desarrollo de directorios de Web Serviceso Clasificacin de servicios por parte de proveedoreso Bsqueda de servicios por clientes/consumidores

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 64

    Limitaciones

    Serializacin a SOAP

    Descripcin de caractersticas no funcionales en un WSDL

    Seguridad? Transacciones? Mensajera?o Los Web Services bsicos no proveen soluciones

    a este tipo de requerimientos empresariales

  • Tecnologas avanzadas para el desarrollo de Web Services

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 66

    Estndares Avanzados de WS Los estndares bsicos no abordan problemticas

    comunes en contextos empresarialeso Confiabilidad, seguridad, transacciones, etc.

    Surgen entonces un conjunto de nuevas especificaciones (conocidas como WS-* o segunda generacin de estndares )

    Cada una aborda una problemtica especfica y estn orientadas a bloques y a su composicin

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 67

    Estndares Avanzados de WS

    http://www.innoq.com/soa/ws-standards/poster/

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 68

    Segunda Generacin de Estndares para WS

  • Conceptos bsicosen Seguridad

    Confidencialidad, integridad, autenticacin y no repudio

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 70

    Introduccin Algunos requerimientos empresariales

    en seguridado Confidencialidad de la informacino Integridad de la informacino Autenticacin de usuarioso No repudio

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 71

    Confidencialidad

    Cifrado simtrico

    Cifrado asimtrico

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 72

    Cifrado simtrico Es la forma tradicional de la criptografa

    o Su origen conocido se remonta al menos a la poca de los romanos

    Los algoritmos simtricos utilizan la misma clave para encriptar y desencriptar la informacino Dk(Ek(x)) = x

    A la clave se le denomina clave secreta, Llave secreta, secreto compartido (Secret-Key o shared key en ingls)

    Requieren una comunicacin previa de la clave entre las entidades participantes de forma segura (secreta)

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 73

    Ejemplo: Cifrado Csar Data de la poca de Julio Csar (siglo I A. C.) Es un tipo de cifrado por sustitucin en el que una

    letra en el texto original es reemplazada por otra letra que se encuentra un nmero fijo de posiciones ms adelante en el alfabeto.

    Ejemplo:Texto original: WIKIPEDIA, LA ENCICLOPEDIA LIBRETexto codificado: CPVKJG, QG KSIIQUVKJG QHXK

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 74

    Cifrado asimtrico Los mtodos asimtricos, conocidos como de clave

    pblica, se basan en encontrar un criptosistema donde se tienen dos claves distintas para encriptar y desencriptar, y es computacionalmente imposible obtener la clave de descifrado (dk) a partir de la clave de cifrado(ek) (o viceversa)

    De esa forma, una de las claves puede ser hecha pblica

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 75

    Cifrado asimtrico

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 76

    Firma digital Las firmas digitales

    permiten al receptor de la informacin verificaro La autenticidad del

    origen de la informacin o Que la informacin est

    intacta

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 77

    Firma digital En muchos sistemas prcticos, se utiliza

    criptografa asimtricao Si encriptamos mensaje con la clave privada,

    alcanza con verificar que es desencriptado correctamente con la clave pblica

    Los algoritmos asimtricos son lentoso Se encripta un hash del mensaje con la clave

    privada

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 78

    No repudio

    Servicio de seguridad que previene que un emisor niegue haber remitido un mensaje (cuando realmente lo ha emitido) y que un receptor niegue su recepcin (cuando realmente lo ha recibido).

    En el primer caso el no repudio se denomina en origen y en el segundo en destino.

    [Ribagorda:1997]

  • Seguridad en WS

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 80

    Introduccin Dos alternativas para proveer seguridad

    entre Web Services:o Seguridad en Capa de Transporte (SSL/TLS)

    Seguridad provista por el canal de comunicacino Seguridad a nivel de Mensaje SOAP

    Seguridad incluida en el propio mensaje

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 81

    Seguridad en Capa de Transporte (SSL/TLS) Opcin estndar Garantiza la autenticacin de usuarios, as

    como la integridad y confidencialidad de la informacin.

    Permite establecimiento de sesiones seguras Transparente a las aplicaciones Soportado por varios proveedores Tecnologa conocida y madura

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 82

    Seguridad en Capa de Transporte (SSL/TLS)

    SSL & TLS Essentials: Securing the Web. Stephen A. Thomas. John Wiley & Sons. 2000.

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 83

    Sin embargo

    HTTP

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 84

    Sin embargo Cifrado y firmado de mensajes punto a punto

    o Intermediarios pueden dejar huecos de seguridad

    Autenticacin de usuarios punto a puntoo Autenticacin del usuarios trabajosa si hay

    intermediarios Cifrado de todo el mensaje Dependiente del protocolo de transporte

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 85

    Seguridad a nivel de mensaje Toda la informacin de seguridad es

    encapsulada en el propio mensaje

    Estndares que dan soporte a este mecanismo:o WS-Securityo WS-SecureConversationo WS-Trust

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 86

    WS-Security

    Seguridad a nivel de mensaje, no transporte Garantiza la confidencialidad e integridad de

    los mensajes SOAP Brinda mecanismos para adjuntar tokens de

    seguridad a los mensajes SOAPo Usuario/Password, certificados X.509, etco Permite la autenticacin de usuarios!

    Es un estndar

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 87

    Escenario: Deposito en cuenta bancaria

    Mensajes SOAP encriptados y firmados va certificados X.509 Servicio y cliente autenticados

    va certificados X.509

    Certificado del servicio

    Certificado del cliente

    123459

    100.000

    pesos-uy

    09-03-2009

    A23B45C56

    09-03-2009

    Security Token

    Firma

    Cifrado

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 88

    WS+SSL vs WS-SecurityCaractersticas WS+SSL WS-Security

    Estndar S S

    Seguridad A nivel de transporte A nivel de applicacin

    Confidencialidad Todo el mensaje. Todo o partes del mensajeAutenticacin de clientes

    X.509 Usuario/Passwd, X.509, Kerberos, SAML.

    Protocolo Potencialmente varios. HTTP el ms popular.

    Potencialmente varios. HTTP el ms popular.

    Algoritmos de cifrado

    Simtricos Simtricos y asimtricosEn gral, asimtrico

    Sesiones seguras S No, pero WS-SecureConversation

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 89

    Costos: Performance

    http://www.ibm.com/developerworks/java/library/j-jws6/index.html

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 90

    Sin embargo Small responses

  • INCO - Facultad de Ingeniera Montevideo, Uruguay 91

    Large responses

    http://www.ibm.com/developerworks/java/library/j-jws14/index.html

  • Fin