29.12.06

Nociones básicas sobre Servicios Web

Web Services, como indica su propio nombre, son servicios ofertados vía Web. Representan la solución con más futuro para la integración de aplicaciones en Internet y una buena y fácil alternativa para integrar aplicaciones sencillas (ej: intercambio de información) en una intranet.


Una gran baza a favor de los servicios web es que cuentan con el apoyo de todos los fabricantes, incluyendo a Microsoft.

Cómo funcionan
En un escenario típico de Web Services, una aplicación de negocio envía una petición vía HTTP a un servicio situado en una URL. El servicio recibe la petición, la procesa y devuelve una respuesta también sobre HTTP.


La idea es sencilla pero requiere:
Un protocolo de intercambio de mensajes petición/respuesta sobre HTTP.Una forma de que clientes y proveedores puedan interactuar a través de los mensajes, es decir, un lenguaje de especificación de interfaces.


Se ha optado por utilizar SOAP (Simple Objet Access Protocol) como protocolo de intercambio de mensajes. Es un protocolo sencillo basado en XML y estandarizado por el W3C.


El lenguaje de especificación de interfaces utilizado en servicios web es WSDL (Web Services Description Language). WSDL permite especificar en XML las operaciones y tipos de datos de un servicio web. Así, aunque el cliente y el servidor estén escritos en lenguajes distintos (por tanto, con sintaxis y tipos de datos diferentes) pueden interactuar al utilizar un lenguaje neutral para comunicarse.


Una petición de un servicio web constaría de los siguientes pasos:
En el cliente se elabora una petición de una operación con unos parámetrosLa petición se transforma a formato XML utilizando WSDLLa petición transformada se envía vía HTTP utilizando SOAPEl servidor de servicios web recibe la peticiónEl servidor determina que operación debe realizarse y transforma los parámetros de formato XML a su representación correspondiente en el lenguaje utilizado para implementar el servidorEl servidor invoca la operación con los parámetros enviados, elabora una respuesta y se la envía al cliente de la misma forma que se ha explicado.


También disponemos de una especie de listín telefónico en el que se publicitan los servicios web. El UDDI (Universal, Description, Discovery and Integration) es una iniciativa de varias empresas (IBM, Microsoft, ...) que ofrece un servicio gratuito para registrar y buscar servicios web. Cada servicio web se registra dando, entre otras cosas, su nombre, su punto de acceso y una descripción del servicio.



Cómo se implementan
Para implementar servicios web existen varias APIs (comerciales y gratuitas) para los lenguajes más usuales. Las APIs no son estándares pero esto no afecta a la interoperabilidad ya que la interoperabilidad es posible porque los protocoles (SOAP, WSDL, UDDI) están estandarizados.


Podemos distinguir dos tipos de APIs:
APIs de programación basadas en mensajes: tanto el receptor como el emisor disponen de un proveedor de mensajería. Permiten mensajes síncronos y asíncronos, enviar a más de un receptor y calidad de servicio. Son APIs muy potentes pero complejas.


APIs de programación basadas en RPCs: en el caso de un lenguaje orientado a objetos, este tipo de APIs permiten definir interfaces (en WSDL) cuyos métodos se pueden invocar remotamente (similar a CORBA). No es tan potente como las APIs basadas en mensajes pero es mucho más sencilla de usar.El ejemplo de petición de un servicio mostrado anteriormente utilizaba un API de programación basada en RPCs. Si utilizásemos un API del otro tipo variaría la secuencia de pasos (el cliente enviaría un mensaje SOAP con la petición a un proveedor de mensajería, el cual establecería una conexión con el proveedor de mensajería del servidor para realizar el envio de dicho mensaje).


Dónde encontrar APIs
Dentro de la tecnología Microsoft, los servicios web forman parte de .NET y en cuanto a Java, existen muchas APIs de distintos fabricantes (Iona, Inprise, Oracle, IBM, Sun,...) y también gratuitas (Apache).

Sun está estandarizando el API Java para servicios web. Consta de varias APIs que forman parte de J2EE:
JAXM: Java API for XML Messaging
JAX-RPC: Java API for XML-based RPC
JAXR: Java API for XML RegistriesMás información en
Información sobre Servicios Web: http://www.webservices.org
Servicio gratuito para registrar y buscar servicios web: http://www.uddi.org
Documentación sobre el API Java estándar de Servicios Web e implementación de referencia de Sun: http://java.sun.com/j2ee/webservices/index.html
Documentación y software para distintos lenguajes: http://www.ibm.com/developerworks/webservices
W3C: http://www.w3.org

27.12.06

Guía del funcionamiento para CS2007 starter site. Podeis descargar una copia desde aquí

26.12.06

Saludos

Tantas comidas no me han permitido saludaros antes, pero mejor tarde que nunca... Os deseo una Feliz Navidad y un prospero Año Nuevo a todos!!!


Posted by Picasa

20.12.06

España - Argentina en "la nueva condomina 2"


Ganar no ganamos, pero donde vamos la liamos :P si es que...
Posted by Picasa

España - Argentina en "La nueva condomina"

Bueno... no gano Argentina pero nos lo pasamos genial ;)!!! aqui estamos con Manolete "el del bombo" toda una eminencia el tio :P
Posted by Picasa