2. Un servicio web es usado para intercambiar datos entre distintas aplicaciones. El punto fuerte de los servicios web
es que los datos que se solicitan al servicio se pueden usar con cualquier lenguaje de programación y sobre cualquier
plataforma, con lo cual nos ofrecen una gran libertad.
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.
Java
"Un servicio web (en inglés, web servicie) es un conjunto de protocolos y estándares que sirven para intercambiar
datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes,
y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de
ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las
organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web.
Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo
WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares."
3. Al estar basado en la interoperabilidad el desarrollo de Servicios Web puede realizarse en diferentes entornos de
desarrollo como Java o .NET.
Si nos centramos en el mundo Java, para el desarrollo de un servicio web se pueden emplear diferentes
frameworks, por ejemplo, Apache Axis, Apache Axis2, Apache CFX o GlassFish Metro. Estas implementaciones
están basadas en alguna de las versiones del modelo de programación estandarizado dentro de la Comunidad Java.
La evolución de JAX-RPC en vez de ser JAX-RPC 2.0 pasó a denominarse JAX-WS 2.0 y se incluyó en Java EE 5
conviviendo con la versión JAX-RPC 1.1. En el post "JAX-RPC 2.0 renamed to JAX-WS 2.0" de Doug Kohlert se
comentan las principales razones que motivaron el cambio de nombre en la especificación.
De las principales diferencias de la evolución de JAX-RPC 1.1 a JAX-WS 2.0 se pueden destacar:
Se basa en Java 5 y utiliza muchas de sus nuevas características como las anotaciones.
Usa la especificación JAXB para el mapeo de los mensajes a estructuras Java lo que permite mejor soporte de
XML Schema, así como mejorar el rendimiento. Más detalle en este artículo.
Soporte para SOAP 1.2, aunque se mantiene el soporte para SOAP 1.1, HTTP 1.1 y WSDL 1.1 por lo que está
asegurada la interoperabilidad con JAX-RPC.
Soporte de WS-I's Basic Profile 1.1. JAX-RPC soporta la versión 1.0 de las especificaciones de
interoperabilidad.
Permite desarrollar clientes dinámicos con un modelo de programación orientada a mensajes y también
permite interacciones asíncronas.
Soporte para MTOM, para optimizar el intercambio de datos adjuntos en los mensajes. Para una
introducción sobre esta tecnología ver este artículo.
Permite usar XML/HTML como alternativa a SOAP para desarrollo de servicios RESTful.
Java Web Services Development Pack el paquete de desarrollo de servicios web de java (JWSDP) es un kit libre de
desarrollo de software (SDK) para desarrollar servicios web, aplicaciones web y aplicaciones Java con las nuevas
tecnologías de Java.
JWSDP ha sido sustituido por GlassFish. Todos los componentes de JWSDP forman parte de Glassfish y WSIT,
varios están en Java SE 6 ("Mustang"). El código fuente está disponible bajo la licencia CDDL, la cual está aprobada
por la Open Source Initiative.
4. Perl
El lenguaje Perl cuenta principalmente con dos módulos que pueden ser usados para crear servicios web de
manera fácil y rápida, desde cero o reutilizando aplicaciones de Perl ya existentes. Éstos módulos son SOAP: Lite y
WSDL: Generator
SOAP: Lite
SOAP: Lite es un conjunto de módulos de Perl que proveen una interfaz simple y liviana para el protocolo SOAP,
tanto en el lado cliente como en el del servidor. SOAP: Lite es actualmente el kit de desarrollo de web services para
Perl más difundido y utilizado. Su página en SourceForge ha registrado más de 10,700 descargas en casi 2 años.
SOAP: Lite provee clases para implementar funcionalidades de un cliente SOAP, varios servidores, soporte a datos
y muchas otras tareas. La siguiente es una lista resumida de sus características:
Soporte de Protocolos
Soporta las especificaciones SOAP 1.1 y SOAP 1.2.
Incluye XMLRPC: Lite, una implementación del protocolo XML-RPC en el lado del cliente y del servidor.
Entre los protocolos de trasporte disponibles, están HTTP, SMTP, POP3 y TCP.
Soporta publicación y peticiones UDDI del lado del cliente, a través de un API.
Interoperabilidad
Se han realizado pruebas de interoperabilidad con diferentes implementaciones: Apache SOAP, Frontier,
Microsoft SOAP, Microsoft .NET, DevelopMentor, XMethods, 4s4c, Phalanx, Kafka, SQLData, Lucin (en
Java, Perl, C++, Python, VB, COM, XSLT).
Protocolos de Transporte
Provee implementaciones de servidores TCP con multiservidor “no-bloqueante”
Soporta transporte sobre Jabber, MQSeries y SMTP.
Provee compresión transparente para HTTP.
Soporta el protocolo HTTPS.
Provee soporte para proxy.
Provee implementaciones de servidor POP3.
Soporta M-POST y redirección HTTP.
Soporte para WSDL
5. Soporta el esquema WSDL con “stub” y acceso en tiempo de ejecución. Soporta descripciones de servicio
por directivas y cortas (tModel).
WSDL: Generator
WSDL: Generator es un módulo de Perl para crear archivos de descripción de servicios (WSDL) automáticamente
a partir de módulos de perl expuestos como servicios web. Éste módulo, desarrollado por Pierre Denis
<pdenis@fotango.com>, es tal vez el único que se ha creado hasta ahora con ésta funcionalidad en el mundo de
Perl. SOAP: Lite y WSDL:Generator en la Práctica
Php
Para lograr la implementación de servicios web en PHP se usó las tecnologías XML-RPC y SOAPsobre las cuales se
implementaron servidores y clientes consumidores de servicios web.
Servicios Web
Los servicios Web han venido a revolucionar el mundo de la programación, nos ofrecen unainfinidaddeventajasy
nosayudanamejorarlaformadeprocesarinformación.Pero,¿quéesun servicio Web?, pues bien, es computación
distribuida utilizando estándares abiertos comoXML y HTTP para llamar o invocar funciones de otras aplicaciones
independientes sea cual sea el sistema operativo o plataforma en que se ejecutan.
6. Servicios Web de Google
Buscador de Google
Es el primer producto de la empresa y producto estrella de esta. En él se pueden realizar búsquedas de webs por la
World Wide Web a base de un algoritmo exclusivo.
Google Imágenes
Se trata de una especialización del buscador principal para imágenes. A partir de 2005 se pueden filtrar según su
tamaño en pequeñas, medianas, grandes y extra grandes. Además es posible buscar por formatos (JPG, GIF y PNG)
y por coloración (blanco y negro, escala de grises y a color).
Google Grupos
Google Grupos es una interfaz web al veterano sistema de foros clasificados jerárquicamente llamado Use net.
También es un archivo de todos los envíos realizados a esta red, sobre el que se pueden hacer búsquedas usando el
motor de Google.
Google Noticias
Google Noticias es un servicio automatizado de recopilación de noticias. El sitio de web de Google News fue
introducido en su versión beta en abril del 2002. Existen diferentes versiones del sitio en más de 20 idiomas, junto
con obtener las noticias de 700 fuentes gratuitas y no gratuitas.
Gmail
El 31 de marzo de 2004 Google lanza su servicio (en fase beta) Gmail que se destacó entre los servicios de correo
más populares del momento por proporcionar 1 gigabyte de capacidad (cifra que aumenta constantemente a
razón aproximada de 36 bytes por segundo hasta llegar a los 10 GB12
actuales). Durante bastante tiempo, para
poder acceder a una cuenta Gmail era necesario recibir una invitación de otro usuario de Gmail. A principios de
febrero de 2007,13
los registros en Gmail fueron completamente liberados, y en la actualidad es posible registrarse
sin invitaciones.
7. Google Video
Buscador de vídeos, con visor en Adobe Flash. En fase beta. El usuario puede subir sus propios vídeos. También
almacena vídeos cargados por Google desde distintas fuentes en el dominio público o con permiso especial. Desde
que Google compró YouTube, en octubre de 2006, se puede acceder a los vídeos almacenados en Google Video
desde YouTube y viceversa.
Google Maps
Google Maps es el servicio, vía web, que nos permite visualizar el mundo a través de imágenes vía satélite,
imágenes de mapas o combinar estas dos. Gracias al buscador, podemos buscar lugares de todo el mundo y poder
visualizarlo de forma efectiva. En los lugares en donde estén disponibles las dos características.
AdSense
Servicio para administradores de páginas web y empresas de publicidad vía Internet.
Este servicio se caracteriza por ser un marco HTML en el que se muestra texto con el aspecto de una búsqueda de
Google, en el aparecen los enlaces de los anunciantes, y los webmasters reciben un pago por cada clic que se haga
en los enlaces de AdSense de su web. Actualmente hay que llevar cuidado con el formato elegido y la disposición
de los anuncios en su web, ya que si se usan formatos grandes, con muchos anuncios, se corre el riesgo de ser
cancelada la cuenta de AdSense, de manera unilateral de acuerdo al contrato suscrito en el momento del registro,
si algún usuario hiciera un clic en cada anuncio de la página en la que se muestran de manera reiterada.
Adwords
AdWords de Google es una herramienta rápida y fácil de utilizar que permite adquirir anuncios de coste por clic
(CPC) o coste por impresión (CPM) correctamente orientados, independientemente de cuál sea su presupuesto. Los
anuncios de AdWords se publican junto con los resultados de las búsquedas realizadas en Google, así como en los
sitios de búsqueda y de contenido de la creciente red de Google.
8. Google Calendar
Google Calendar es una agenda que permite tener diferentes calendarios diferenciados por colores. Permite
compartir los calendarios privados con otros usuarios pudiendo darles diferentes niveles de permisos. Dispone de
la posibilidad de incorporar calendarios públicos realizados por otros usuarios, tales como guía de programación
de televisión, agenda de tu club favorito de fútbol, santoral, etc. El calendario se puede configurar para que envíe
un recordatorio antes que pase un evento a la cuenta de correo electrónico del usuario con un archivo para
importar la tarea a la agenda de Microsoft Outlook, incluso puede enviar un aviso SMS si se vive en una zona
habilitada para ello. Hasta la fecha, está en versión beta pero es funcional.
YouTube
YouTube es propiedad de Google, desde su compra en 14 de octubre de 200615
por 1.650 millones de dólares. En
este sitio web, los usuarios pueden subir y ver vídeos.
Google Latitude
En febrero de 2009 se lanza el servicio Google Latitude, una característica que permite a los propietarios de
teléfonos inteligentes, ya sean usuarios de Chrome, o usuarios que ejecutan un gadget de iGoogle identificar sus
ubicaciones actuales para sus amigos o para realizar un seguimiento de éstos, tanto para la coordinación de
encuentros o para seguirlos durante un viaje. Los usuarios pueden enviar correos electrónicos, Google Talk, SMS y
mensajes de actualización de estado a los demás directamente desde Latitud, y también es posible realizar
llamadas a teléfonos