""

Cómo cargar y leer Web Services Data Store en Data Integrator

En este artículo, le enseñaré en 12 pasos cómo cargar y leer la información recuperada por un servicio web basado en una aplicación Java como fuente de información. Esto tiene una característica muy importante si, por ejemplo, está creando aplicaciones Java Social Media que leen información de Internet o si ha creado una aplicación Java que recupera información en Json Structure XML. Le mostraré cómo Data Services realiza solicitudes e interpreta las respuestas de un origen de datos de servicio web.

Si necesitas información de fondo sobre los primeros pasos de mi proceso, he hecho un primer post sobre cómo usar Data Services SDK libraries para construir un AWTableMetadata En una aplicación Java, seguida de la publicación donde expliqué cómo acceder a una aplicación JAVA como fuente de información Utilizando el WebService DataStore en SAP Data Services.

Si ya lees mis blogs anteriores, vamos a saltar en cómo cargar y leer Web Services Data Store en Data Integrator.

Paso 1:

Abra el Diseñador de servicios de datos. Vaya a la perspectiva de Data Store y haga clic derecho con el ratón y seleccione New .

Foto 1
Foto 1

Paso 2:

Establecer el nombre del extractor y la URL donde se encuentra su servicio web WSDL ( ver mi blog anterior para referencia ) .

Picture2
Picture2

Paso 3:

Haga clic derecho en el botón "f (x)" Y seleccione Importar. Elija las funciones del servicio web que va a utilizar. En este ejemplo seleccionamos "getTableTweeetsEN" y "getTableTweeetsES".

Picture3
Picture3

Nota especial:

Para acceder a estas funciones dentro de una transformación tenemos que usar el esquema de llamada de función proporcionado por Data Services. En este caso, la función getTableTweets_EN recibe una entrada y devuelve una tabla (tabla AWTableMetadata). Este tipo de retorno viene en un formulario anidado de nuestro Servicio Web. Tendremos que resolver este esquema anidado haciendo un par de transformaciones a continuación.

Imagen4
Imagen4

Paso 4:

Seleccione el parámetro de entrada para las funciones; En este caso es un campo de una tabla llamada "WS_Parameter". Seleccionamos esa tabla como una tabla de origen y nuestro primer elemento en nuestro flujo de datos.

Picture5
Picture5

Paso 5:

Inserte una transformación en el flujo de datos como su segundo elemento. En esta primera consulta (Query1_EN). Creamos un SCHEMA llamado Schema 1, y asignamos el campo proveniente de la base de datos "Parameter" como un atributo de este Schema.

Picture6
Picture6

Paso 6:

Cree una segunda transformación (Query2_EN). Esta consulta se encargará de llamar al servicio web con el parámetro de entrada mediante el procedimiento de llamada de función. Haga clic con el botón derecho del ratón en la tabla de esquemas llamada Consulta2 y seleccione Nueva llamada de función.

Picture7
Picture7

Paso 7:

Seleccione el WS_ClaribaSMT dataSotre en el panel izquierdo, el panel derecho muestra las funciones que importamos al Data Store. Seleccionamos el primer getJsonTweet (para el idioma inglés) y clicamos en Siguiente.

Picture8
Picture8

Paso 8:

Tenemos que mapear la nueva función llamada Schema con el nuevo Schema1. Esta es la estructura utilizada para llamar a un Servicio Web en Servicios de Datos. En este caso estamos llamando a la función getJsonTweets_EN con un parámetro nombre. Estructura que coincide con nuestro SHEMA1. A continuación, haga clic en Finalizar .

Cuadro9
Cuadro9

El resultado final contendrá la llamada a la función. También puede agregar un atributo debajo de la llamada de función. En este caso agregamos "load_date" que contiene el sysdate que representa la fecha de los datos de carga.

Cuadro10
Cuadro10

Paso 9:

La tercera consulta se encargará del reconocimiento de los datos devueltos por el servicio Web. En este caso, el Esquema se encuentra en el panel izquierdo. Para capturar esto en el integrador de datos necesitamos desacoplar este esquema hasta llegar al "objeto de retorno" que contiene los datos.

Cuadro11
Cuadro11

Hacemos clic en el panel izquierdo encima de getJsonTweetResponse y lo arrastramos hacia el panel derecho. Luego hacemos clic derecho sobre el getJsonTweetResponse desde el panel derecho y seleccionamos la opción "Unnest". Esto causará la división entre los esquemas. Procedemos a capturarlo en la próxima consulta anidada.

Cuadro12
Cuadro12

Paso 10:

Hacemos el mismo procedimiento en la consulta 4, arrastramos el getJsonTweetResponse a la derecha y lo desentrañamos.

Cuadro13
Cuadro13

Paso 11:

Consulta 5 _EN contiene El resultado final que son dos variables que contiene el encabezado de la tabla más la fecha de carga.

Cuadro14
Cuadro14

Paso 12:

El último paso depende de la implementación y las reglas de negocio. La tabla devuelta tendrá este formato.

Columna 1

Valor 1

Columna 2

Valor 2

Columna N ...

Valor N ...

Conclusión

Este método se aplica especialmente si está utilizando esquema de llamada de función y una matriz como tipo de devolución para su servicio web. Si su fuente es otra cosa diferente a una aplicación, la resolución del servicio web puede variar. El método para asignar la tabla final depende de usted y de sus necesidades empresariales. Una solución fácil podría ser agregar un ID a cada fila.

Si desea tener más información, lea mis blogs anteriores o deje un comentario a continuación.

EspañolEnglish