Antes de comenzar
Esta serie de tutoriales relata la creación de un sistema de flujo de trabajo basado en servicios web en un pequeño diario ficticio, el Daily Moon. Es para desarrolladores que quieren conocer mejor los conceptos que subyacen en los servicios web, para que puedan crear sus aplicaciones de una manera más eficiente. Los usuarios no-técnicos también encontrarán cosas valiosas en estos tutoriales, puesto que explican los conceptos antes de entrar en la programación.
Usted tendrá que contar con conocimientos básicos de programación y, si desea seguir adelante con los ejemplos de programación, también algo de Java. Hablaremos sobre XML, por necesidad, pero no ahondaremos en el tema, y abarcaremos los conceptos que sean necesarios.
Esta serie de tutoriales enseña los conceptos básicos de los servicios web, aprovechando el pequeño diario ficticio Daily Moon, ya que el personal usa servicios web para crear un sistema de flujo de trabajo para incrementar la productividad en estos tiempos agitados.
Esta primera parte comienza de una forma sencilla, explica los conceptos básicos inherentes a los servicios web y muestra cómo usar SOAP, la especificación que subyace en casi todo lo que vendrá a continuación, conectando al departamento de Clasificados con el Content Management System (Sistema de gestión de contenidos).
Las entregas futuras de esta serie se basarán en los conceptos básicos:
- La parte dos va un paso más adelante, y explica cómo usar Web Services Description Language (lenguaje de descripción de servicios web, WSDL, por su sigla en inglés), para definir los mensajes creados, tal como se espera de los servicios web, lo que permitirá que el equipo cree servicios y clientes que se conectan con ellos, de una forma más sencilla.
- La parte tres encuentra al equipo con una cantidad de servicios instalados y el deseo de ubicarlos con facilidad. Como respuesta a ello, Universal Description, Discovery and Integration (Descripción, Descubrimiento e Integración Universal, UDDI), proporciona un registro de servicios disponibles, que permite realizar búsquedas como una forma de promocionar sus propios servicios a otros.
- Las partes cuatro y cinco, WS-Security (Seguridad-WS) y WS-Policy (Política-WS), relatan cómo proteger los servicios del diario y los cambios que deberán hacer los equipos para poder acceder a estos servicios recientemente protegidos.
- Interoperabilidad es la palabra clave de la parte seis, ya que hay varias implementaciones distintas a las que se debe acceder desde un único sistema. La parte seis abarca los requisitos y pruebas que implican la certificación WS-I.
- Para terminar, la parte siete muestra cómo usar el Business Process Execution Language (Lenguaje de ejecución de procesos de negocios para servicios web, WS-BPEL), para crear aplicaciones complejas a partir de servicios individuales.
Ahora veamos con un poco más de detalle lo que abarca este tutorial.
Este tutorial le presenta el concepto de servicios web, y el equipo de Clasificados de nuestro diario ficticio Daily Moon. Usted acompañará al equipo, a medida que se integra con un sistema de servicios web existente, y será testigo de la creación de un servicio. El foco estará puesto en el Service Object Access Protocol (Protocolo de acceso a objetos de servicios, SOAP).
Durante el curso de este tutorial, usted aprenderá lo siguiente:
- Los conceptos básicos de los servicios web
- Los fundamentos de XML
- La estructura y el propósito de un mensaje SOAP
- Cómo instalar un servidor de aplicaciones en el que pueda ejecutar sus aplicaciones de servicios web.
- Cómo instalar una implementación de servicios web en un servidor de aplicaciones
- Cómo crear un mensaje SOAP de manera programática.
- Cómo crear un cliente para un servicio web basado en SOAP mediante el uso de Java y Apache Axis2
- Cómo crear un servicio web Java y Apache Axis2 basado en SOAP
En este tutorial, el Departamento de Clasificados se integrará con el sistema de gestión de contenidos, y creará un cliente. También dará un vistazo al proceso de creación de uno de los servicios con el que interactúa el departamento. Los ejemplos de programación se muestran en Java con el uso del proyecto Apache Axis2, pero los conceptos valen virtualmente para cualquier otro lenguaje y entorno.
Para poder avanzar con el código de este tutorial, deberá disponer del siguiente software:
- Un servidor de aplicaciones Apache Geronimo u otro. Usted creará diversos servicios web a lo largo de este tutorial, y necesitará una aplicación a donde poder ejecutarlos. Como, por supuesto, los servicios web son interoperables, no tiene importancia cuál use. En este tutorial, demostraremos la instalación y el uso de Apache Geronimo, que es también la base de IBM® WebSphere® Community Edition. También puede usar otros servidores de aplicaciones, tales como WebSphere Application Server. Puede descargar Apache Geronimo del sitio Apache Geronimo Downloads.
- Apache Axis2 u otra implementación SOAP. Puede crear mensajes SOAP a mano, y los puede interpretar a mano, pero es mucho más sencillo tener una implementación al alcance de la mano. Usará Apache Axis2, que contiene implementaciones de diversas APIs relacionadas con SOAP, que le harán la vida mucho más sencilla. Puede descargar Apache Axis2 en: Apache.org. Este tutorial usa la versión 0.94, pero también debería funcionar con versiones más actuales.
- Java™ 2 Standard Edition versión 1.4 o superior. Ambas herramientas están basadas en Java, al igual que los servicios y clientes que creará en este tutorial. Puede descargar J2SE SDK desde aquí.
- También necesitará un navegador Web y un editor de texto, pero estoy seguro de que ya los tiene. Si lo desea, también puede usar un IDE, como Eclipse, pero como el foco está puesto en las tecnologías y no en las herramientas, simplemente usaré un editor de texto y la línea de comandos para editar archivos y compilarlos.