Los Web Services describen una forma estandarizada de integrar aplicaciones web por medio de protocolos predefinidos.
El SAP Web Application Server es tb una plataforma de desarrollo para WS.
Un WS es un servicio el cual es accesible via protocolos de Internet y como regla puede ser operado mediante un navegador de internet.
En el SAP Web Application Server los sgtes estándares para WS están implementados:
- XML
- SOAP (Simple Object Access Protocol). SOAP describe un protocolo el cual puede usarse para llamar WS en un landscape de sistemas distribuidos. SOAP usa HTTP como protocolo de transporte. Un mensaje SOAP tiene una cabecera con información adicional y un cuerpo (body) con el msje real o sea los datos de aplicación.
- WSDL (Web Service Description Language). Es un meta lenguaje, que se utiliza para describir la función de un WS. Las funciones, parámetros y códigos de retorno en particular son descriptos en una forma legible para la máquina.
- UDDI (Universal Description, Discovery and Integration: es un directorio de servicios para Web Server dinámicos.
Un directorio de WS es provisto vía una interface SOAP. UDDI son como las páginas amarillas de una guía telefónica pero para los WS.
SAP tiene su propio UDDI en donde los WS pueden ser registrados y buscados.
SAP version 6.20 del Web Application Server y superior pueden ser desarrollados WS, pero desde la version 6.40 las herramientas de desarrollo han sido mejoradas.
Un modulo de funcion habilitada para acceso remoto (remote-enabled) puede ser transformado desde el Function Builder (SE37) en un WS.
El creador publica el servicio en un directorio UDDI.
El consumidor de la función, que puede ser una aplicación que necesite utilziar ese WS, puede buscar directamente este WS en el directorio UDDI.
Un WS puede ser llamado mediante:
- un programa ABAP
- BSP (Business Server Page)
Recuérdese que SAP ABAP es un lenguaje de programacion de propiedad de SAP, que se utiliza para programar la mayoría de los productos SAP.
Advanced Business Application Programming
A partir de un módulo de función habilitado para acceso remoto (RFC-enabled) , se crea un WS para lo cual:
1.- El proveedor del servicio, genera el WS desde un módulo de función. Aquí se crea una URL y el archivo WSDL
2.- El solicitante del serviio crea un objeto proxy, el cual hace referencia a la URL del WS. Luego una clase ABAP es generada, la cual coincide con el objeto proxy y un puerto lógico es asignado.
3.- El objeto proxy se escribe y es integrado en un programa ejecutable, por ejemplo en ABAP, y es llamado desde ahí.
Tomar en cuenta que SAP utilizada para la generación de WS el estándar SOAP, y SOAP es un protocolo para el intercambio de msjes sobre redes , y usa generalmente para la comunicación HTTP y está basado en XML
Los msjes SOAP es independiente del SO lo cual significa que puede transportarse en varios protocolos de internet, ejemplo smtp, etc.
Los WS están basados en SOAP.
Podemos crear nuestros propias funciones en codigo ABAP y luego ser transformadas a través de un wizard en un WS.