SAP Netweaver / ABAP                  Notas técnicas / Tips / Tutorials

Cómo crear un WebService en base a un JavaBean

Aprenda a generar un Web Service en SAP a partir de un JavaBean sencillo y siga y un ejemplo paso a paso

Como se ha visto en el tip “Como consumir un WebService desde una WebDynpro JAVA, se pudo comprobar la facilidad que brindaba este mecanismo para realizar una llamada a servicios remotos, disponibles a través de la red. De hecho, en el ejemplo práctico que se desarrolla en el tip mencionado se utiliza un WebService que se encuentra “deployado” en un servidor fuera de Argentina.

La disponibilidad del servicio depende exclusivamente del server sobre el cual éste corre. Por lo tanto,  puede suceder que no esté disponible el servicio en un momento determinado, o que eventualmente sea dado de baja por el proveedor. Para los casos reales éste no es generalmente el caso, sino que se tiene cierto control de la disponibilidad de los servicios.

Sucede que en determinadas ocasiones,  ya se cuenta con un servidor el cual publica servicios (Web Services) y se desea hacer uso de ellos mediante una WebDynpro, con lo cual nos encontramos en un escenario similar al del tipo de “Como consumir un WebService desde una WebDynpro JAVA”, sin que el servicio esté en un servidor a kilómetros de la aplicación cliente.

Un caso práctico

El caso práctico que desarrollaremos ejemplifica cómo se crea un WebService a partir de una clase de JAVA (JavaBean). Luego este WebService podrá ser consumido desde una WebDynpro, siguiendo los pasos mencionados en el tip de referencia Como consumir un WebService desde una WebDynpro JAVA (Importante: referirse a dicho tip antes de seguir los pasos que se detallan en el tip presente.)

Pasos para la creación de un proyecto JAVA

Seleccionar File → New → Project.

Aparece el asistente de New Project

En el panel izquierdo seleccionar Java y luego en el panel derecho Java Project y presionar Next.

Completar las opciones como sigue:

SAP-WS-JavaBean-1

Pasos para la creación de una clase JAVA

Seleccionar File → New→  Class

Completar el gestor de clases como sigue:

El código para la nueva clase se muestra a continuación:

package com.teknoda.conversor;


public class ConversorTemperatura

{

public double celsiusAFarenheit(double celsius)

{

return (celsius*(9.0f)/(5.0f)) +32 ;

}


public double farenheitACelsius(double faren)

{

return ((faren-32)*(5.0f)/(9.0f)) ;

}

}

Una vez creada la clase se debe proceder a generar un WebService a partir de dicha clase.

Pasos para la creación de un WebService a partir de un JavaBean

Posándose sobre el proyecto ConversionTemperatura, hacer click con el botón derecho y seleccionar New→ Other...

SAP-WS-JavaBean-2

En el Wizard desplegado seleccionar Web Services del panel izquierdo, y luego seleccionar Web Service (New VI and WSD) en el panel derecho. Luego presionar Next.

SAP-WS-JavaBean-3

Se desplegará entonces la configuración del WebService para ser completada. La asignación de los parámetros en esta configuración son de suma importancia, ya que aquí especificaremos la clase a partir de la cual se creará el WebService, la URL del servicio y la autenticación necesaria para utilizarlo. En este caso, evitaremos el uso de autenticación porque es un ejemplo con fines “didácticos” donde sólo se realiza una conversión de temperatura, pero en casos donde la seguridad sea relevante, debe tenerse en cuenta para no dar acceso al servicio de manera inapropiada.

La configuración debe quedar como se muestra a continuación:

SAP-WS-JavaBean-4

IMPORTANTE: En el último parámetro de la imagen anteior: Access URL se depliega el path relativo del servicio. Tener en cuenta, que luego, para poder utilizarlo, se deberá especificar la dirección absoluta (especificando host y puerto), como se muestra a continuación, en forma genérica:

http://<host>:<port>/<pathWS>

En un caso práctico, como ejemplo:

http://janett:50100/ConversionTemperaturaWS/ConfigConversorTemp

 

Presionar Finish.

Pasos para la creación de un EAR “deployable”

Abrir Window → Open Perspective → Other→ Web Services.

Luego seleccionar la solapa Java Explorer en el panel izquierdo.

Sobre el proyecto ConversionTemperatura, hacer click derecho y presionar “Build EAR”.

SAP-WS-JavaBean-5

Pasos para el deployment de un WebService.

Sobre el archivo ConversionTemperatura.ear, hacer click derecho y presionar “Deploy”.

SAP-WS-JavaBean-6

Ingresar la contraseña del SDM y presionar “OK”.

SAP-WS-JavaBean-7

Una vez “deployado” el WebService, se puede proceder a probar el mismo.

Pasos para el testeo del WebService.

Abrir un browser e ingresar la URL del WebService en la barra de direcciones, genéricamente sería:

http://<host>:<port>/<pathWS>

Un ejemplo de especificación del path completo, sería:

http://janett:50100/ConversionTemperaturaWS/ConfigConversorTemp

Se desplegará en pantalla el WebService Navigator y tendremos la opción de realizar un testeo del servicio. Hacer click en “Test”.

SAP-WS-JavaBean-8


Luego, debe seleccionarse alguno de los servicios que provee el WebService. Por ejemplo, hacer click sobre celsiusAFarenheit.

SAP-WS-JavaBean-9

Se debe ingresar ahora un valor para el parámetro de entrada. Ingresar, entonces, una temperatura en grados celsius que desee convertir a farenheit. Luego presione “Send”.

SAP-WS-JavaBean-10

Se le mostrará entonces el resultado de la llamada al servicio. Como se ve en el parámetro de Response se obtiene la temperatura en Farenheit como se esperaba.

SAP-WS-JavaBean-11

Finalmente, con el WebService creado, ya se está en condiciones de utilizarlo desde una WebDynpro siguiendo los pasos detallados en el tip de referencia “Cómo consumir un Web Service desde una WebDynpro JAVA “, haciendo referencia al mismo a través de la url obtenida y pudiendo de esa manera utilizar sus servicios.


Copyright Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


 

 

SAPScript: Análisis de las alternativas para encarar modificaciones y agregados en formularios

  1. Overview del procedimiento de impresión de formularios

SAPScript es el mecanismo previsto originalmente por SAP para generar formularios impresos, y, a pesar de la aparición de Smartforms para mejorar esta funcionalidad (ver apartado final), sigue siendo la herramienta más utilizada.

Cuando se va a imprimir cualquier documento, SAP ejecuta el programa de impresión (“print program”) previsto a tal fin, que inicializa el proceso, recolecta y ordena los datos del formulario, e interactúa con SAPScript para derivarle la tarea de “formateo”. Todos los documentos generados por SAP, facturas, cheques, recibos, etc. toman su aspecto y estructura desde las definiciones contenidas en los llamados “layout sets”, o coloquialmente “formularios SAPScript”. SAP provee la herramienta para crear y modificar “layout sets” llamada SAPScript Editor.

Los programas de impresión son complejos programas ABAP. Los “layout set”, en cambio, son en sí mismos archivos de texto, que contienen definiciones de ventanas, módulos de texto predefinidos, espacio reservado para datos variables, y elementos de formato (boxes, shading). El programa y el layout set interactúan a través de una componente de SAPScript llamada composer que combina los datos fijos con los variables y libera el documento al spool una vez completado.

Seguir leyendo este artículo >>

Acceso a una Web Dynpro JAVA desde dispositivos móviles

En los últimos años, los dispositivos móviles se están convirtiendo de manera estratégica en  un punto de interacción importante para acceder a las aplicaciones de negocio, tanto si el usuario es supervisor en una fábrica, vendedor, gerente de área o pertenece al servicio técnico de una compañia.

Los beneficios de la tecnología móvil son obvios e innumerables: las compañías ven la posibilidad de obtener ventaja competitiva al “movilizar” los procesos comerciales en las aplicaciones SAP existentes y en nuevas aplicaciones móviles. Además, se pueden lograr mejoras importantes en la productividad al “acercar el negocio” al lugar donde los usuarios estén con sus notebooks o con sus smart phones, independientemente de cuál sea la compañía proveedora de estos dispositivos.

La implementación de las soluciones móviles en SAP se desarrolla en dos niveles distintos:

Por un lado SAP ofrece un conjunto de aplicaciones  móviles “prepackaged” (predeterminadas) (SAP Solutions for Mobile Applications) que pueden ayudar a los usuarios a “movilizar” sus escenarios de negocio ya existentes.

Por otro lado esas aplicaciones “prepackaged” (y también las desarrolladas por los usuarios), necesitan utilizar distintas tecnologías móviles que sirven como el ambiente de runtime para las aplicaciones mencionadas anteriormente, y además sirven como ambiente de desarrollo para las aplicaciones nuevas a desarrollar por los clientes.


Seguir leyendo este artículo >>

 

Entendiendo el SAP Web Application Server desde el punto de vista del programador

El objetivo de la serie de tips que comenzamos a publicar ahora y por los próximos meses es recorrer y ejemplificar el nuevo escenario de desarrollo que SAP ofrece a partir de Netweaver. 

 

SAP Netweaver NO es un producto. Netweaver puede considerarse más bien una PLATAFORMA de diseño, construcción, ejecución, integración y mantenimiento de aplicaciones, que sirve de sustento a todas las soluciones SAP existentes y futuras. En cierta forma, Netweaver representa la VISION que SAP tiene de cómo deberían ser las aplicaciones de cara a la próxima década, y los recursos tecnológicos para lograrlo. SAP construyó su primer ERP (R/2) alrededor de la visión de mainframes que predominaba entonces en las corporaciones. Luego se anticipó y materializó el R/3 alrededor del paradigma de Cliente-Servidor en la década del 90. Hoy la visión es Netweaver.

Seguir leyendo este artículo >>

 

Definición e impresión de códigos de barra desde SAPScript Parte I: Opción nativa

La implementación de un código de barras es siempre muy dependiente de las características del entorno de trabajo, dado que requiere de la participación de componentes de hardware, del software de base y del aplicación

 

Puede entenderse la impresión del código de barras como si se tratara de un tipo de fuente (“font”) especial, es decir, una forma muy particular de representar letras o números. El “dibujo” producido debe responder a alguna convención de codificación pre-establecida y conocida para los dispositivos lectores de código de barras.

 

La conformación de un código de barras involucra complejos cálculos gráficos para lograr generar “píxeles” a partir de letras y números. Este trabajo puede resolverse en el hardware de la impresora (como si  fueran FONTS embebidos) cuando la impresora posee esta capacidad. También es posible componer códigos de barra por software, (como por ejemplo, los “TrueType” fonts de Windows),  si  se cuenta con el programa necesario.

Seguir leyendo este artículo >>

El modelo BSP: Cómo construir las primeras BSP

El objetivo de la serie de tips que comenzamos a publicar ahora y por los próximos meses es recorrer y ejemplificar el nuevo escenario de desarrollo que SAP ofrece a partir de Netweaver.

Netweaver no es el nombre de un producto. SAP Netweaver es la definición de un “framework”, un marco o infraestructura tecnológica a la que conforman todas las soluciones SAP existentes y futuras. El componente basal  de la infraestructura SAP Netweaver es el SAP Web Application Server (SAP Web AS)

A partir de la versión 6.1, SAP desplaza el SAP BASIS System y lo reemplaza con el SAP Web Application Server. Concebido para actuar en un mundo dominado por las aplicaciones “Web enabled”, el SAP Web AS es la respuesta de SAP para las demandas de escenarios e-business. Basado en el mismo modelo de tres capas (three-tier) del conocido SAP Application Server, el SAP Web AS trae la funcionalidad Web completamente embebida, tanto desde el punto de vista de los protocolos de comunicaciones como del servicio de aplicaciones. El SAP Web AS incluye soporte NATIVO para los protocolos de Internet, eliminando la necesidad de un Internet Gateway separado. Cubre la función de cualquier Web Server en el sentido de que es capaz de entender HTML, XML, WML y SMTP nativamente. Como Web Application Server, es capaz de entender ABAP, y también JAVA.

Seguir leyendo este artículo >>

Uso del “Logging” de aplicaciones en actualizaciones a la base de Datos, hechas con CALL TRANSACTION

Cuando se realizan actualizaciones a la base de datos, el sistema registra internamente información sobre el  resultado de cada grabación (si fue exitosa o no), estadísticas (cantidad de registros ingresados o actualizados, cantidad de registros erróneos, etc), además de datos específicos de la aplicación (código de material ingresado o actualizado, por ejemplo).

Cuando las actualizaciones se llevan a cabo a través del CALL TRANSACTION, esta información NO se hace disponible al usuario en forma automática, sino que, requiere de sentencias adicionales para que quede almacenada en una tabla interna de mensajes. Luego, debe analizarse y procesarse también desde la programación, para decodificar el formato de la tabla interna en información entendible para el usuario. Para lograr este objetivo, existen las funciones de “application logging” (registro de mensajes). Desde ya, el “Logging” de aplicaciones como concepto, puede implementarse también en otro tipo de programas.

Seguir leyendo este artículo >>

El modelo BSP (II): Un caso práctico con JavaScript

Cómo viéramos en detalle en tips anteriores, a partir de la versión 6.1, SAP sustituye el SAP BASIS System por el SAP Web Application Server.

El SAP WAS, al igual que el BASIS que lo precede, provee el cimiento tecnológico sobre el cual se apoya el R/3 Enterprise, el sucesor de R/3, y la mayoría de los componentes de mySAP.com. En este rol, el SAP WAS funciona como el nuevo R/3 Kernel, implementando toda la arquitectura de conectividad, seguridad, acceso a bases de datos, y también la interfaz de programación.

Concebido para actuar en un mundo dominado por las aplicaciones “Web enabled”, la principal innovación del SAP WAS es que trae la funcionalidad Web completamente embebida, tanto desde el punto de vista de los protocolos de comunicaciones como del servicio de aplicaciones. En su personalidad “Nativa”, es decir, como kernel del R/3,  el SAP WAS continúa soportando el universo ABAP de versiones anteriores, pero introduce nuevas herramientas para desarrollo de aplicaciones Web fuertemente integradas a R/3. Desde la primera versión del Web AS, (6.1) aparece el modelo de Business Server Pages  (BSP’s ) como una potente opción para construir aplicaciones Web que accedan dinámicamente a los datos de SAP.

Seguir leyendo este artículo >>

Uso de Iconos de estado (“Status Icons”) en programas de diálogo

Iconos en SAP R/3

Como cualquier entorno de programación gráfica, ABAP soporta la utilización de íconos y símbolos en distintos contextos y con distintos propósitos. Los íconos son pequeños “bitmaps” coloreados que conforman la representación pictórica de un objeto o una función, utilizados en lugar de texto, o acompañando texto.

 

Los íconos aparecen en menúes, botones, y ventanas para reforzar la síntesis gráfica y la funcionalidad de cualquier pantalla. Si están bien diseñados y elegidos de acuerdo con alguna especificación normalizadora, son determinantes para lograr ergonomía en la aplicación.

 

SAP ofrece una biblioteca muy completa de íconos, (R/3 Icon Library), y ofrece también los recursos de programación ABAP para utilizar estos íconos en distintos ámbitos de R/3.

Entendiendo las Web Dynpro: un caso práctico paso a paso

  1. Introducción:  Web Dynpro dentro del universo Netweaver

Como tratáramos en artículos anteriores, SAP Web Application Server 6.40 (WAS) es la componente fundamental de la arquitectura SAP Netweaver, sobre la que se apoyan y corren todo el resto de las componentes.  (Ver tip anterior “Entendiendo el SAP Web Application Server desde el punto de vista del programador” ). Concebido para funcionar en un entorno Web desde su génesis, y dotado de una “doble personalidad” SAP nativa y JAVA, permite el desarrollo y la operación de aplicaciones ABAP, J2EE, así como Web Services.

 

La tecnología “Web Dynpro” es el recurso que ofrece SAP Web Application Server para manejar la capa de presentación de las aplicaciones, es decir, la interfaz de usuario de las aplicaciones Web. Totalmente integrado al WAS Web Dynpro provee un conjunto de herramientas para modelar y diseñar las interfaces de usuario basándose en el paradigma MVC (Model View Controler). Las herramientas de diseño de Web Dynpros son independientes del entorno de ejecución, lo que permite unificar el desarrollo de interfaces para los distintos estándares soportados por el WAS, ABAP, J2EE y .NET.

Seguir leyendo este artículo >>

Copyright © 2021 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.