Académique Documents
Professionnel Documents
Culture Documents
• Https...
Otra razón es que, antes de que existiera SOAP, no había buenas interfaces para acceder
a las funcionalidades de otros ordenadores en red. Las que había eran ad hoc y poco
conocidas, tales como EDI (Electronic Data Interchange), RPC, u otras Application
Programming Interface APIs.
Una tercera razón por la que los servicios Web son muy prácticos es que pueden aportar
gran independencia entre la aplicación que usa el servicio Web y el propio servicio. De
esta forma, los cambios a lo largo del tiempo en uno no deben afectar al otro. Esta
flexibilidad será cada vez más importante, dado que la tendencia a construir grandes
aplicaciones a partir de componentes distribuidos más pequeños es cada día más
acusada.
Se espera que para los proximos años mejoren la calidad y cantidad de servicios
ofrecidos basados en los nuevos estandares.
Plataformas [editar]
Servidores de aplicaciones para servicios Web:
Microsoft .NET, o dot-Net, , es más que un producto, una nueva estrategia que va a
abarcar todos los productos de la Microsoft, desde Office hasta la consola XBox,
pasando por su servicio Microsoft network, MSN.
Lo que ocurre es que, como en tantos otros casos, .NET se encuentra dentro de un
entorno en el cual hay muchos más productos y aplicaciones. Y que, en este caso, a
diferencia de casi todos sus productos anteriores, Microsoft ha abierto hasta cierto punto
su entorno, de forma que todo el mundo pueda participar en él.
El entorno dentro del que se encuadra .Net es una internet que está cambiando de ser
centrada en las personas, y basada en los contenidos, a estar centrada en las
aplicaciones, y basada en los servicios. Estas aplicaciones y servicios forman parte de lo
que se llaman servicios web. Trataremos, para empezar, de estos.
2 Servicios Web
Los servicios web se dividen en servicios de transporte (los protocolos del nivel más
bajo, que codifican la información independientemente de su formato, y que pueden ser
comunes a otros servicios), de mensajería, de descripción y de descubrimiento. En la
parte más baja se encuentran los servicios de transporte, que establecen la conexión y el
puerto usado. Generalmente se usa HTTP, el mismo protocolo que la WWW, pero en se
puede usar también SMTP (el mismo protocolo que el correo electrónico), FTP (File
Transfer Protocol), o BEEP (blocks extensible exchange protocol), un protocolo
específico para servicios web, que, a diferencia de los anteriores, no es cliente-servidor,
sino "entre pares"; los dos ordenadores entre los que se establece la comunicación
actúan como clientes y servidores a la vez. Es además extensible, y está especificado en
XML; por eso se está haciendo mucho más popular para aplicaciones web. Un ejemplo
de uso de Beep sería el siguiente:
RPY 0 0 . 0 124
Content-Type: application/beep+xml
<greeting>
<profile uri="http://xml.resource.org/profiles/TLS" />
<profile uri="http://xml.resource.org/profiles/SEP" />
<profile uri="http://xml.resource.org/profiles/sasl/OTP" />
<profile uri="http://xml.resource.org/profiles/sasl/..." />
</greeting>
END
<start number="1">
<profile uri="..."> ... </profile>
<profile uri="..."> ... </profile>
</start>
De ahí hacia arriba, están los servicios de mensajería, que especifican cómo se tiene que
codificar el mensaje, que contiene los datos que se intercambian, entre el cliente y el
servidor. El protocolo más usado en esta capa es el SOAP. Este protocolo puede usar
cualquiera de los transportes anteriores, se pueden escribir clientes y servidores en
cualquier lenguaje, y usa XML como lenguaje para especificar los mensajes. XML-RPC
(Remote Procedure Call mediante XML), un método de llamada remota a
procedimientos usando XML, que usa como capa de transporte HTTP; a diferencia de
SOAP, que puede usar cualquiera. Es bastante popular entre la comunidad de bloggers,
por el API que proporciona. Hay otros métodos que se pueden usar, tales como ebXML,
que ni se ha acabado a tiempo ni ha alcanzado popularidad, y la forma más simple,
servir simplemente páginas XML sobre protocolo HTTP. Por ejemplo, una petición de
SOAP tendría la forma siguiente:
<?xml version="1.0"?>
<SOAP-ENV:Envelope
SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">
<SOAP-ENV:Body>
<m:getStateName xmlns:m="http://soapware.org/">
<param1 xsi:type="xsd:int">41</param1>