"Un servicio Web XML es una entidad programable que proporciona un
elemento de funcionalidad determinado, como lógica de aplicación, al que se
puede tener acceso desde diversos sistemas potencialmente distintos mediante
estándares de Internet muy extendidos, como XML y HTTP."
"Un servicio Web XML puede ser utilizado
internamente por una aplicación o bien ser expuesto de forma externa en
Internet por varias aplicaciones. Dado que a través de una interfaz estándar es
posible el acceso a un servicio Web XML, éste permite el funcionamiento de una
serie de sistemas heterogéneos como un conjunto integrado."
Modelos de desarrollo
El hecho de poder comunicar componentes de software
entre sí tiene una enorme importancia. Hasta no hace tantos años era muy típico
hacer aplicaciones de una sola pieza, "monolíticas":
Aplicación "monolítica" aunque distribuida
Estos programas podían acceder a un sistema gestor
de datos a través de la red, pero toda la lógica del flujo de datos, la
seguridad y las interacciones con las personas se encontraban en el ordenador
del usuario en forma de un gran ejecutable
Una metodología de desarrollo mucho mejor aunque
más laboriosa a la hora de programar es el modelo Cliente-Servidor en
tres capas:
Aplicación Cliente Servidor en tres capas
En este modelo toda la lógica de los datos, su validación, los permisos,
etc., residen en un servidor intermedio y son utilizados por todos los clientes
a través de una red. En este caso en el ordenador del usuario lo único que hay
es una capa de presentación que se ocupa básicamente de recoger y recibir
datos, es decir, actúa de intermediario entre el usuario y las reglas de
negocio residentes en la capa intermedia.
La arquitectura de desarrollo en n-capas (n-tier que
dicen los anglosajones) lleva el concepto cliente-servidor un paso hacia
adelante, dividiendo la capa intermedia en muchas otras capas especializadas
cada una de las cuales puede residir en un servidor diferente:
Arquitectura de desarrollo basada en componentes
En este modelo existe una gran variedad de componentes especializados en
tareas específicas como la validación de datos, la autenticación y seguridad o
el acceso a datos. Dichos componentes deben trabajar unos con otros como piezas
de un mecanismo, gestionando la información que circula entre el usuario y el
servidor de datos.
La belleza de este modelo radica en que cada uno de
ellos (o cada grupo de ellos) puede residir en un servidor diferente, siendo
transparente su ubicación para los clientes que los utilizan.
El concepto de Arquitectura Orientada a
Servicios o SOA se basa en el uso de este tipo de
componentes que suplen las necesidades de una o varias aplicaciones, son
independientes entre sí y trabajan independientemente del sistema operativo o
la plataforma.
Comunicación entre componentes
Servicios y protocolos específicos orientados a la interacción
distribuida de componentes:
• DCOM (Distributed
Common Object Model), la propuesta de Microsoft, ligada a sus sistemas
Windows. Se trata de algo más que un protocolo de invocación remota de
procedimientos (RPC) ya que su última encarnación, COM+, incluye servicios
avanzados para balanceado de carga, gestión de transacciones o llamadas
asíncronas. Los parámetros son transmitidos a través de la red mediante un
formato binario propio llamado NDR (Network Data Representation).
• RMI (Remote
Method Invocation), es la metodología de llamada remota a procedimientos de
Java. No se centra en la definición de interfaces para compatibilidad binaria
de componentes, ni en otros conceptos avanzados, y se basa en la existencia de
un cliente y un servidor que actúan de intermediarios entre los componentes que
se quieren comunicar. Es una tecnología bastante simple que es fácil de
utilizar para aplicaciones básicas.
• CORBA (Common
Object Request Broker Architecture). Se trata de una serie de convenciones que
describen cómo deben comunicarse los distintos componentes, cómo deben
transferir los datos de las llamadas y sus resultados o cómo se describen las
interfaces de programación de los componentes para que los demás sepan cómo
utilizarlos. Fue desarrollado por el OMG (Object Management Group) en la
segunda mitad de la década de los '90 y es el modelo que más éxito ha tenido en
el mundo UNIX. Su método de empaquetado y transmisión de datos a través de la
red se llama CDR (Common Data representation).
SOAP
Gracias a los Servicios Web se derriban las
antiguas divisiones resultantes de los modelos de componentes descritos, y la
integración de las aplicaciones, la ubicuidad de sus componentes y su
reutilización a través de la red se convierten en una realidad.
La tecnología que está detrás de todo ello se llama SOAP (Simple
Object Access Protocol) describe un concepto tecnológico basado en
la sencillez y la flexibilidad que hace uso de tecnologías
y estándares comunes para conseguir las promesas de la ubicuidad de los
servicios, la transparencia de los datos y la independencia de la plataforma
que según hemos visto, se hacen necesarios en las aplicaciones actuales.
EJEMPLO CREACION DE UN SERVICIO WEB
DESCARGAR EJEMPLO:WEBSERVICE