2. Definición
Servicios Web
Es un sistema software diseñado para
soportar la interoperabilidad
máquina - máquina a través de una red.
Los Servicios Web suelen ser APIs Web que pueden ser accedidas
dentro de una red (principalmente Internet) y son ejecutados en el
sistema que los aloja.
3. REST
(Representational State Transfer)
REST (Representational State Transfer) es un estilo de arquitectura de software para
sistemas hipermedias distribuidos tales como la Web. El término fue introducido en la tesis
doctoral de Roy Fielding en 2000, quien es uno de los principales autores de la
especificación de HTTP.
Cabe destacar que REST no es un estándar, ya que es tan solo un estilo de arquitectura.
Aunque REST no es un estándar, está basado en estándares:
• HTTP
• URL
• Representación de los recursos: XML/HTML/GIF/JPEG/…
• Tipos MIME: text/xml, text/html, …
4. RESTful
Los métodos HTTP más importantes
son PUT, GET, POST y DELETE.
Ellos suelen ser comparados con las
operaciones asociadas a la
tecnología de base de datos,
operaciones CRUD: CREATE,
READ, UPDATE, DELETE. Otras
analogías pueden también ser
hechas como con el concepto de
copiar-y-pegar (Copy&Paste). Todas
las analogías se representan en la
siguiente tabla:
6. SOA - Service Oriented Architecture
SOAP - Simple Object Access Protocol
• Es un protocolo de comunicación, el cual permite la comunicación
entre aplicaciones a través de mensajes por medio de Internet.
• Es independiente de la plataforma y del lenguaje.
• Esta basado en XML y es la base principal de los Web Services.
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
Soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
La Arquitectura Orientada a Servicios, es un concepto de arquitectura de software que define la
utilización de servicios para dar soporte a los requisitos del negocio. Estándares relacionados a los
servicios Web: XML, HTTP, SOAP, WSDL, UDDI
7. WSDL - Web Services Description Language
Es un protocolo basado en XML que describe los
accesos al servicio Web.
Podríamos decir que es el manual de operación del
servicio Web, porque nos indica cuales son las
interfaces que provee el Servicio Web y los tipos de
datos necesarios para la utilización del mismo.
WSDL - Web Services Description Language
<?xml version="1.0">
<definitions>
<types>
...
</types>
<message>
...
</message>
<portType>
...
</portType>
<binding>
...
</binding>
</definitions>
8. ¿Que es NuSOAP?
NuSOAP es un kit de herramientas (ToolKit) para desarrollar
Web Services bajo el lenguaje PHP.
Esta compuesto por una serie de clases que nos harán mucho
más fácil el desarrollo de Web Services.
Provee soporte para el desarrollo de clientes
(aquellos que consumen los Web Services) y de servidores (aquellos que los proveen).
NuSOAP esta basado en SOAP 1.1, WSDL 1.1 y HTTP 1.0/1.1
No, no es el único, existen otros, pero es uno de los que están en una fase de desarrollo mucho
más avanzada. Sin ir más lejos, PHP a partir de su versión 5 comienza a dar soporte para SOAP,
pero aun esta en fase experimental.
¿NuSOAP es el único soporte para
Web Services en PHP?
9. ¿Por qué NuSOAP y no otro?
• Esta en una fase madura de desarrollo.
• No necesita módulos adicionales.
• Es muy fácil su instalación y uso.
¿Cómo instalo NuSOAP?
• La instalación es bastante sencilla, solo basta ir a la pagina en sourceforge de NuSOAP
http://sourceforge.net/projects/nusoap/ y bajar el archivo comprimido (es un .zip).
• Lo descomprimimos en un directorio de nuestro servidor Web.
NuSOAP