
Creación de los servicios web
Los Servicios Web
Un servicio web es una función de aplicación independiente, modular y autodescriptiva. Se basa en estándares XML para que estas funciones puedan ser localizadas, descritas e invocadas a través de protocolos de Internet estándar. Su objetivo es encapsular tareas específicas (como verificar crédito, convertir monedas o localizar datos) para que otras aplicaciones las utilicen.
El Paradigma de los Servicios Web
El proceso de creación y puesta en marcha se basa en una relación de tres pilares fundamentales:
-
Proveedor del Servicio (Provider): Es quien crea el servicio web y genera su descripción técnica en un documento WSDL (lenguaje basado en XML). Su función es publicar esta información en un registro para que otros la encuentren.
-
Directorio de Servicios / Registro (UDDI): Funciona como unas "páginas amarillas" tecnológicas. El proveedor publica el servicio aquí, y el cliente lo utiliza para buscar qué servicios están disponibles y cómo interactuar con ellos.
-
Cliente del Servicio (Requester): Es la aplicación que consume el servicio. Localiza el servicio en el registro UDDI, interpreta el WSDL para saber cómo llamarlo y finalmente ejecuta la invocación.
Estándares Clave para su Implementación
Para que un servicio web sea funcional y universal, se apoya en tres protocolos estándar:
-
WSDL (Web Service Description Language): Es el lenguaje basado en XML que describe qué hace el servicio, cuáles son sus puntos finales (endpoints) y qué parámetros necesita. Es la "guía de instrucciones" para el cliente.
-
UDDI (Universal Description, Discovery and Integration): Es el estándar para los registros de servicios. Permite a las empresas encontrar socios de negocio y servicios web específicos de forma dinámica.
-
SOAP (Simple Object Access Protocol): Es el protocolo de comunicación. Define cómo se estructura el mensaje (en un "sobre" de XML con cabecera y cuerpo) para que la información viaje de forma segura y entendible entre sistemas descentralizados a través de HTTP, SMTP o FTP.
Resumen del Flujo de Creación
El ciclo comienza con el proveedor implementando la lógica del servicio y describiéndola mediante WSDL. Luego, esta descripción se registra en un directorio UDDI. El cliente, al necesitar una función específica, busca en el UDDI, obtiene el WSDL y utiliza el protocolo SOAP para enviar y recibir los datos necesarios, permitiendo que aplicaciones distintas se comuniquen entre sí sin importar su lenguaje de programación.
Creación de un Servicio Web Utilizando el Enfoque Inside-Out y Comunicación Sincrónica
Enfoques de Desarrollo en SAP ABAP
Para desarrollar servicios web dentro de SAP, existen dos metodologías contrapuestas:
-
Enfoque Inside-Out (De adentro hacia afuera): Se toman módulos de función independientes que ya existen y están implementados en el sistema (habilitados para RFC, grupos de funciones o BAPIs) y se exponen hacia el exterior como un servicio web. Esto permite añadirlos fácilmente a cualquier entorno de desarrollo a través de Internet usando protocolos estándar.
-
Enfoque Outside-In (De afuera hacia adentro): El desarrollo de las interfaces de servicio comienza fuera del sistema de aplicación en un formato independiente de la plataforma (principalmente XML). Para esto, SAP ofrece el Enterprise Services Builder (dentro del Object Navigator, transacción SE80). Mediante tecnología de proxy ABAP, el desarrollador genera un objeto en SAP con sus respectivos métodos para leer dichas interfaces.
Pasos Principales para la Creación (Enfoque Inside-Out)
El proceso de transformar una función interna en un servicio web activo consta de tres pasos fundamentales:
Paso 1: Implementación ABAP
El punto de partida requiere un módulo de función existente en el sistema (por ejemplo, BAPI_FLIGHT_GETDETAIL). Esta función ya cuenta con sus propias interfaces de parámetros de importación (entrada) y exportación (salida), las cuales se aprovecharán para estructurar el intercambio de datos del servicio.
Paso 2: Crear Interfaz Web (Mapeo ABAP a XML)
Para que las interfaces de entrada y salida de SAP puedan utilizarse en entornos web, deben traducirse al formato XML. Este mapeo de estructuras de datos se realiza con un generador integrado invocable desde la transacción SE37 (ABAP Workbench). Como resultado, se obtiene la definición del servicio plasmada en un documento WSDL abstracto y una primera configuración técnica.
Paso 3: Configuración en la Transacción SOAMANAGER
En la etapa final se accede a la herramienta SOAMANAGER para realizar las configuraciones definitivas y el binding (enlace). Esto incluye la generación del WSDL concreto (bajo la definición estándar WSDL 1.1) y la creación automática del servicio en la transacción SICF, asignándole un punto de acceso real (Endpoint) para que pueda ser invocado de manera externa.
Herramientas Clave Utilizadas
-
ABAP Workbench: Necesario para el desarrollo y la implementación de las funciones del lado del proveedor, así como para la invocación del lado del consumidor.
-
SOAMANAGER: Transacción ejecutada en el sistema back-end (basado en el servidor de aplicación ABAP) que permite la configuración completa de los proxies del proveedor y del consumidor. Su pestaña Service Administration está destinada específicamente a los administradores de negocio para gestionar y dar soporte a los procesos de servicios web en el entorno de sistemas.
-
Web Service Navigator (WSNavigator): Cliente de servicios web implementado en Java que provee SAP para testear y comprobar el correcto funcionamiento de las interfaces creadas.