8.capítulo 8 - ejemplos de escenarios en sap pi. diseño y configuración
Post on 06-Jul-2018
341 Views
Preview:
TRANSCRIPT
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
1/40
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
2/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno2
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
3/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno3
8.1. ESCENARIO 1. SAP PI leerá un fichero de un directorio lo procesará yrealizará una llamada RFC a un sistema SAP R3 pasándole como parámetroslos valores extraídos del fichero. SAP PI deberá pasar el fichero procesadocorrectamente a un directorio de backup eliminándolo del directorio origen.Gráficamente:
Figura 8.1. Ejemplo gráfico del escenario 1.
Comenzamos con el diseño de los objetos necesarios en el IntegrationRepository. El primer elemento básico a definir es el data type; en nuestro caso
solo deberemos definir el tipo de datos para la lectura del fichero ya que laestructura de datos del lado de SAP está marcada en la RFC que deberemosimportar a SAP PI. Así pues definimos el Data Type para el fichero:
Figura 8.2. Data Type de lectura del fichero.
Como se puede ver la estructura del data type que usaremos para leer elfichero tiene un nivel RECORD (ocurrencia 1) que será el nombre del recordsetutilizado para el content conversion en la configuración del adaptador tipofichero (en el caso de que tengamos conversión del contenido; en este ejemplono usaremos conversión); este nivel debe existir siempre. De él cuelgan lasPOSICIONES (ocurrencia 1…unbounded) que contendrán cada una de laslíneas del fichero. Por debajo tendremos cada uno de los campos quecontendrán la información de cada línea del fichero.
FTP RFCSAPFILE PI
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
4/40
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
5/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno5
la RFC, mandante, usuario y password. Así tendremos en el repositorionuestra interfaz RFC.
Figura 8.5. RFC importada de un sistema SAP.
Con todas las interfaces diseñadas procedemos a definir el mapeo decampos de la estructura fuente (message interface de fichero) a la estructura
destino (RFC), realizando las conversiones que nos exigan.
Figura 8.6. Mapeo de la estructura fichero a la RFC.
Como último objeto a definir en el Repositorio está el Interface Mappingdonde como se sabe indicamos las interfaces fuente y destino y el programa demapeo que acabamos de crear.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
6/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno6
Figura 8.7. Interface Mapping de fichero a RFC.
Con todos los objetos diseñados realizaremos la configuración delescenario en el Integration Directory. Para empezar asignaremos al escenario
que creemos los sistemas o servicios correspondientes, en nuestro ejemplodeberemos tener por un lado el habilitador del fichero con nombreSERVICIO_PFC (Business System) y por otro el sistema SAP en el que seejecuta la RFC con nombre ECDCLNT600 (Business System). En cada uno deellos se creará un canal de comunicaciones.
En el lado el fichero crearemos un canal de comunicaciones Sender tipofichero (File) en el que no usaremos conversión del contenido de los ficherosleídos (con máscara tdpur*.*) y en el que se ejecutará un script de comandosantes del procesado del mensaje.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
7/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno7
Figura 8.8. Canal de comunicaciones fichero sender. Pestaña ‘Source’.
Figura 8.9. Canal de comunicaciones fichero sender. Pestaña ‘Processing ’.
Figura 8.10. Canal de comunicaciones fichero sender. Pestaña ‘ Advanced ’.
En el otro servicio crearemos un canal de comunicaciones Receiver detipo RFC en el que básicamente se especificará el tipo de servidor RFC(normalmente sistema SAP), los datos de la máquina y parámetros de logon.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
8/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno8
Figura 8.11. Canal de comunicaciones RFC receiver. Pestaña ‘Target ’.
Figura 8.12. Canal de comunicaciones RFC receiver. Pestaña ‘ Advanced ’.
El siguiente paso sería la definición de los acuerdos de colaboración o
interlocución. Por un lado crearemos el Sender Agreement dondeespecificamos el servicio sender SERVICIO_PFC y la interfaz sender fichero,asignándole el canal de comunicaciones sender de tipo fichero que hemosdefinido a tal efecto.
Figura 8.13. Sender Agreement con el servidor del fichero.
En cuanto al Receiver Agreement habrá que especificar el sistemasender SERVICIO_PFC y el servicio receiver ECDCLNT100 así como lainterfaz receiver RFC, asignándole su canal de comunicaciones.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
9/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno9
Figura 8.14. Receiver Agreement con el sistema SAP destino.
Por último solo nos quedaría definir los objetos de routing lógicos,determinación de interfaz y de receptor. Comenzamos con el InterfaceDetermination, donde especificamos el servicio e interfaz sender, el servicioreceiver, y en la lista inferior las interfaces receiver cada una con su InterfaceMapping (mapeo) diseñado en el repositorio; en nuestro caso solo tendremosnuestra interfaz receiver RFC.
Figura 8.15. Interface Determination.
Para acabar con el montaje creamos el Receiver Determination dondepara el servicio e interfaz sender SERVICIO_PFC le asignamos el sistemareceptor de una lista, en nuestro caso ECDCLNT100. Si todo está bienmontado, en el recuadro inferior debe aparecer el servicio asignadoECDCLNT100 del que colgarán la interfaz RFC receiver, el interface mapping yel canal de comunicaciones del receiver agreement. Si alguno no aparece o elrecuadro está en rojo es que debe haber ocurrido algún error en la definicióndel objeto: el receiver determination no consigue establecer la lógica del flujode comunicación del escenario.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
10/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno10
Figura 8.16. Receiver Determination.
Si todo está correcto se activarán los canales y se podrá lanzar lainterfase dejando algún fichero en el directorio origen.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
11/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno11
8.2. ESCENARIO 2. Un sistema SAP R3 realizará una llamada RFC síncrona aSAP PI pasándole ciertos parámetros con los que éste deberá llamar a unmétodo de un web service, el cual devuelve cierta información que tendrá queser remitida a SAP R3 en la vuelta de la llamada RFC síncrona. Gráficamente.
Figura 8.17. Ejemplo gráfico del escenario 2.
Como ya sabemos lo primero a diseñar son los tipos de datosempleados en nuestro escenario. Por el lado del sistema SAP la estructura dedatos está marcada por la RFC diseñada en SAP con lo cual solo tendremosque importárnosla en SAP PI como hemos visto anteriormente y queutilizaremos para crear el resto de objetos.
Figura 8.18. Estructura de la RFC síncrona.
En el otro lado la estructura de datos a emplear estará definida por lapropia estructura del servicio web con el que queremos integrarnos. En estecaso solicitaremos al proveedor del servicio web el fichero .wsdl con laestructura completa del servicio, el cual deberemos importarnos en SAP PI
como un External Definition. Cuando lo tengamos podremos ver todos losmétodos de los que se compone el servicio web, entre ellos el método objetode nuestra integración (en el presente ejemplo será el método deCompruebaProveedor).
sRFC SOAP
Web
ServiceSAP PI
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
12/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno12
Figura 8.19. External Definition con los métodos del servicio web.
El Message Interface del lado SAP es la propia RFC pero en el lado delweb service deberemos crearlo. Esta interfaz de mensaje será de tipo inboundya que es una interfaz de entrada en el servicio web y síncrono ya queesperamos la vuelta en la llamada. Debido al sincronismo deberemos indicarun tipo de mensaje de entrada (método del external definition llamante,compruebaProveedorRequest en este ejemplo) y un tipo de mensaje de salida(método del external definition respuesta, compruebaProveedorResponse).
Figura 8.20. Message Interface para la llamada al servicio web.
Una vez definidas las interfases de mensaje presentes en el escenarioprocedemos a la definición de los mapeos. Hay que tener en cuenta que elescenario de integración presentado es síncrono con dos sentidos de lacomunicación, llamada del sistema SAP R3 al web service y vuelta del web
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
13/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno13
service a SAP R3. Esto significa que tendremos dos mapeos distintos: elprimero mapeará los campos de la llamada de la RFC en los parámetros delmétodo request del web service y el segundo que mapeará la respuesta delweb service a los campos de vuelta de la RFC.
Figura 8.21. Mapeo de la RFC al web service.
Figura 8.22. Mapeo del web service a la RFC.
Veamos a continuación cómo indicar ambos mapeos en la definición delInterface Mapping. Al crearlo se indicará las interfaces fuente (la propia RFC) y
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
14/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno14
destino (el message interface antes creado) y pulsaremos el botón . Automáticamente se reconocerán las interfaces como síncronas y aparecerándos pestañas ‘Request ’ y ‘Response’ en la parte inferior donde indicar losprogramas de mapeo. Seleccionamos la pestaña ‘Request ’ e indicamos elmapeo de RFC a Web Service y en la pestaña ‘Response’ indicamos el mapeoWeb Service a RFC.
Figura 8.23. Inteface Mapping. Pestaña ‘Request ’.
Figura 8.24. Inteface Mapping. Pestaña ‘Response’.
Pasamos a la fase de configuración. Primero de todo asignaremos losservicios o parties al escenario, en nuestro caso serán el sistema
ECDCLNT100 (Business System) para el lado SAP y el servicioWebServiceClient (Business Service) para el lado del Web Service, ycrearemos para cada uno de ellos el canal de comunicaciones asociado. Elservicio WebServiceClient estará presente en cualquier SAP PI y no seránecesario declararlo.
Para el lado SAP definiremos un canal sender de tipo RFC, donde seespecificarán los parámetros de conexión con el servidor de la RFC y los
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
15/40
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
16/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno16
A continuación los acuerdos de interlocución, sender agreementindicando servicio, interfaz y canal sender básicamente.
Figura 8.27. Sender Agreement con sistema SAP.
Y receiver agreement, indicando servicio sender y servicio, interfaz ycanal receiver.
Figura 8.28. Receiver Agreeement con Web Service.
En cuanto a los objetos de routing definimos el Interface Determination,donde asignamos al servicio ECDCLNT100 e interfaz RFC sender cuyo serviciodestino es WebServiceClient la interfaz síncrona definida con su InterfaceMapping.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
17/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno17
Figura 8.29. Interface Determination.
Por último creamos el Receiver Determination donde asignamos elservicio destino WebServiceClient al servicio sender ECDCLNT100. Si todoestá bien definido en el recuadro inferior aparecerá un resumen con interfaz,mapeo y canal de comunicaciones receptores asignados.
Figura 8.30. Receiver Determination.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
18/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno18
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
19/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno19
8.3. ESCENARIO 3. Desde un Web Service (un portal) se llamará a SAP PIque desencadenará todo el proceso. Primero de todo PI actualizará una basede datos indicando en una tabla de control un valor para un campo status(indicando ‘en proceso’). Acto seguido se llamará a un sistema SAP R3 dondese invocará a una RFC síncrona con los datos pasados en el servicio web. Lainformación que devuelva la RFC será trasladada a la base de datos donde se
actualizarán dos tablas (realizando un borrado del registro y un inserción delnuevo registro), a la vez que se actualiza la tabla de control con otro valor parael campo status (indicando ‘realizado’). Gráficamente:
Figura 8.31. Ejemplo gráfico del escenario 3.
Vemos en este ejemplo una mayor complejidad; tenemos tres sistemas oservicios involucrados, Web Service, base de datos Oracle y sistema SAP. Además en uno de ellos (base de datos) se realizan dos llamadas diferentes.Cualquiera de estas dos particularidades del escenario conduce a la necesariadefinición de un Integration Process o BPM. Tengamos en cuenta que elnúmero de objetos a diseñar aquí es mucho mayor ya que ahora ademásentran en juego las interfaces abstractas para el BPM. Vayamos paso a paso.
Comenzamos con la definición de los tipos de datos. Crearemos elelemento de datos del web service; este caso es inverso al escenario anterior.Nosotros definiremos la llamada (tipo de mensaje) que deberá realizar el webservice y posteriormente generaremos el fichero .wsdl que enviaremos alproveedor para que implemente la llamada desde el web service (portal) a SAPPI. La llamada deberá tener los siguientes campos:
Figura 8.32. Data Type SOAP para el servicio web.
JDBC 1º sRFCSAP
BBDD
PI
WebService
Web
JDBC 2º
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
20/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno20
El siguiente tipo de datos será el necesario para realizar la primerallamada a la base de datos. Como vimos en secciones anteriores, cuandotengamos que manejar bases de datos el tipo de datos del mensaje deberátener la siguiente estructura necesariamente, con los niveles TABLENAME, ACTION, TABLE, ACCESS, KEY (opcional, solo para modificaciones) tal cualestán en la siguiente pantalla.
Figura 8.33. Data Type JDBC para la base de datos (1ª acción).
A continuación tendríamos la llamada a la RFC cuya estructura seimportará del sistema SAP en el que se encuentre, como ya hemos visto enescenarios anteriores. El último elemento de datos sería aquél que realice lasegunda actualización a la base de datos, borrando e insertando los registrosen dos tablas diferentes y finalmente modificando el estatus de la tabla de
control. Dicho tipo de datos debería tener una estructura como la siguiente (nose ha desplegado el nivel de ACCESS para visualizar el tipo de datos alcompleto; este nivel contiene toda la estructura de la tabla de la base de datosa actualizar).
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
21/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno21
Figura 8.34. Data Type JDBC para la base de datos (2ª acción).
De manera automática definimos todos los messages types basados enestos tipos de datos.
Figura 8.35. Message Type tipo SOAP para el servicio web.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
22/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno22
Figura 8.36. Message Type JDBC para la base de datos (1ª acción).
Figura 8.37. Message Type JDBC para la base de datos (2ª acción).
Para cada tipo de mensaje definiremos los Message Interfaces,asignándoles el sentido de la interfaz y su categoría de sincronismo. En primerlugar tendremos la interfaz de mensaje de la llamada SOAP del web service;ésta es una interfaz outbound del servicio web y asíncrona. La primeraactualización a la base de datos es una interfaz inbound y asíncrona. Después
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
23/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno23
tendrías la propia RFC que es síncrona por definición y por último la segundaactualización a base de datos, inbound y asíncrona.
Figura 8.38. Message Inteface SOAP para el servicio web.
Figura 8.39. Message Interface JDBC para la base de datos (1ª acción).
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
24/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno24
.Figura 8.40. RFC síncrona.
Figura 8.41. Message Inteface JDBC para la base de datos (2ª acción).
En este punto vamos a definir los Messages Interface abstractos, quecomo se saben son las que utilizaremos dentro del BPM. Para saber quéinterfaces debemos crear imaginemos que el BPM es una caja negra en la queentran y sales interfaces (éstas serán las interfaces reales, en este ejemploserán la llamada del web service, la RFC y las llamadas a la base de datos).Todos los pasos que se desarrollen dentro del BPM tendrán que ir apoyadas eninterfaces abstractas. Analicemos el flujo: primero es necesario definir unainterfaz abstracta para recibir el mensaje SOAP asíncrono en el BPM, por tantoserá una interfaz abstracta asíncrona y con tipo de mensaje el SOAP de la
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
25/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno25
figura 8.35 (en el nombre que le asignamos es habitual poner la terminación“_AI” para reconocerla como Abstract Interface).
Figura 8.42. Interfaz abstracta tipo SOAP.
Segundo, esta interfaz dentro del BPM dará paso a la interfaz de
actualización del estatus en la base de datos. Por tanto nueva interfazabstracta y asíncrona y de tipo de mensaje JDBC:
Figura 8.43. Interfaz abstracta tipo JDBC para la base de datos.
A continuación tenemos la llamada RFC, con lo cual debemos crear unainterfaz abstracta y síncrona. El tipo de mensaje que llama a esta interfaz es elpropio web service y la respuesta va al tipo de mensaje que actualiza la basede datos.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
26/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno26
Figura 8.44. Interfaz abstracta RFC síncrona.
Y finalmente la última llamada a base de datos que será asíncrona y detipo de mensaje JDBC.
Figura 8.45. Interfaz abstracta tipo JDBC para la base de datos.
Posteriormente en la definición del Integration Process se verá en quelugar y cómo se utilizarán estas interfases abstractas. Continuamos con el flujonormal del diseño y ahora sería el turno de los mapeos y que en este escenariotienen lugar dentro del BPM.
El primer mapeo que nos encontramos sería unir los parámetros del webservice a los campos de la estructura de actualización del estatus en la base dedatos. Seleccionamos ambos tipos de mensajes y mapeamos.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
27/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno27
Figura 8.46. Mapeo del web service a la base de datos (1ª acción).
El siguiente mapeo consiste en el paso de los parámetros del webservice a la llamada RFC request. La respuesta de la RFC (es síncrona) exigeotro mapeo para pasar esa información de respuesta al tipo de mensaje que
actualizará la base de datos.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
28/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno28
Figura 8.47. Mapeo del web service a la llamada RFC.
Figura 8.48. Mapeo de la respuesta RFC a la base de datos (2ª acción).
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
29/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno29
Ahora creamos los Interfaces Mapping que igualmente estarán dentrodel BPM (con lo cual aparecerán interfaces abstractas). Uno definirá la interfazfuente SOAP abstracta del web service con la interfaz destino JDBC deactualización del estatus con el mapeo que acabamos de definir. El segundo yúltimo define la interfaz abstracta síncrona (con el tipo de datos SOAP para lallamada y JDBC de actualizacion a base de datos en la respuesta) con la RFC
al sistema SAP. En este interface mapping estamos jugando con interfacessíncronas con lo cual debemos especificar los dos mapeos existentes uno paracada sentido, Request y Response.
Figura 8.49. Interface Mapping del web service a base de datos (1ª acción).
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
30/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno30
Figura 8.50. Interface Mapping de web service a RFC. Pestaña ‘Request ’.
Figura 8.51. Interface Mapping de web service a RFC. Pestaña ‘Response’.
Una vez declarados todos los objetos necesarios procedemos al montaje
o diseño de nuestro BPM o Integration Process. En el editor gráfico iremosañadiendo los elementos necesarios para completar el flujo de mensajes segúnnuestro escenario. En primer lugar nos vamos a encontrar con un elemento ostep (paso) ‘Receiver’ (recepción del web service en el BPM); lo seleccionamosde la lista de la izquierda del editor gráfico y arrastramos al dibujo. Acontinuación debemos completar su cuadro de propiedades o atributos. Esteelemento receiver tiene el contenedor de mensaje tipo SOAP, asíncrono ymarcado el flag de “Start Process” (comenzar proceso). El segundo elementoes un ‘Sender’ asíncrono (envío de actualización estatus a base de datos);
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
31/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno31
igualmente seleccionamos y arrastramos tras el ‘Receiver’ anterior. En sucuadro de propiedades tendremos modo asíncrono, mensaje contenedor tipoJDBC Status y marcado el flag de “Create New Transaction” (este flag semarca para que el BPM continue la ejecución sin esperar que termine laacción). Siguiente elemento del BPM es un ‘Sender’ síncrono (llamada RFC)con propiedades de modo síncrono obviamente, mensaje contenedor de la
llamada tipo SOAP (llama el web service) y mensaje contenedor de larespuesta tipo JDBC (de actualización de las tablas de la base de datos). Porúltimo otro elemento ‘Sender’ asíncrono con mensaje contenedor tipo JDBCpara la carga de los datos. Veamos todo gráficamente.
Figura 8.52. Integration Process.
Figura 8.53. Cuadro de atributos de los elementos senders del BPM.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
32/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno32
Con la creación del Integration Process finaliza la fase de diseño deobjetos en el Integration Repository. A continuación procedemos a su montajeen la etapa de configuración. Como novedad en esta fase destacar que elIntegration Process o BPM va a ser visto en el Integration Directory como unservicio más, el cual deberemos importar del repositorio. Veamos.
Para empezar asignamos al escenario los sistemas o serviciospresentes y que nos traeremos del SLD. Serán los siguientes:WebServiceClient, como su propio nombre indica para el servicio web,SERVICIO_PFC será la base de datos externa y ECDCLNT100 será el sistemaSAP R3. Éstos van a ser los sistemas o servicios físicos presentes en nuestroescenario. Sin embargo, como acabamos de comentar el BPM es visto en lafase de configuración como un servicio en sí mismo y que importaremos delRepositorio asignándole el nombre de IP_TesoreriaSAP_ID, y que usaremospara la definición del resto de objetos de esta fase de configuración.
Para cada uno de los sistemas externos se definen los canales decomunicaciones involucrados; en principio habrá tres, uno tipo SOAP, un JDBC
(dos llamadas) y otro RFC. Sin embargo a la hora de detectar errores en losmensajes o fallos en los canales es recomendable definir dos canales JDBC,uno para cada llamada. Así pues, el SOAP será Sender y se especificará nivelde seguridad HTTP (normal) indicando la interfaz del mensaje como sigue:
Figura 8.54. Canal de comunicaciones SOAP sender.
En cuanto a los dos JDBC, se especificará el driver para base de datosOracle instalado y los parámetros de conexión con la base de datos incluyendousuario y password. En la pestaña ‘ Advanced ’ se indicará otra serie deparámetros (recomendables).
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
33/40
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
34/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno34
Por último tedremos el RFC Receiver donde se indicarán los parámetrosde conexión del sistema SAP con el que nos queremos conectar.
Figura 8.58. Canal de comunicaciones RFC receiver.
Una vez creados los canales procedemos a definir los Collaboration Agreement. Para los sistemas sender solo existe uno, el del web service con sucanal de comunicaciones tipo SOAP.
Figura 8.59. Sender Agreement con el servicio web.
Para los sistemas o servicios receptores tendremos tres: dos Receiver Agreement con la base de datos (servicio receptor SERVICIO_PFC) y uno conel sistema SAP R3 (servicio receptor ECDCLNT100), en los que hay queindicar sus respectivos canales e interfaces receptoras. Al crear los acuerdostambién hay que especificar el servicio sender para cada uno de ellos, que seráel BPM o Integration Process importado.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
35/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno35
Figura 8.60. Receiver Agreement con base de datos (1ª acción).
Figura 8.61. Receiver Agreement con sistema SAP.
Figura 8.62. Receiver Agreement con base de datos (2ª acción).
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
36/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Proyecto fin de carrera Alberto Naranjo Moruno36
A continuación definimos los acuerdos de routing lógicos que podríanresultar algo más complejos de entender, aunque si tenemos siempre en menteel esquema global del escenario nos facilitará la comprensión.
Partimos de nuestra interfaz del web service que “entra” en el BPM; portanto nuestro primer Interface Determination va de la interfaz del web service a
la misma interfaz pero abstracta del BPM sin mapeo ninguno (es el mismo tipode mensaje con lo que la asignación es directa).
Figura 8.63. Interface Determination del web service a BPM.
Seguidamente esta interfaz abstracta tipo SOAP pasa a la interfaz deactualización del estatus de la base de datos con su correspondiente mapeo(Interface Mapping).
Figura 8.64. Interface Determination del BPM a base de datos (1ª acción).
Después la interfaz abstracta síncrona del BPM llamará a la RFC,indicando igualmente su interface mapping, que si recordamos involucra dosmapeos ya que estamos ante interfaces síncronas.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
37/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno37
Figura 8.65. Interface Determination del BPM a la RFC.
Por último la interfaz abstracta JDBC que actualiza las tablas de la basede datos de dentro del BPM se asignará directamente a la interfaz del mismotipo pero real, sin necesidad de mapeos.
Figura 8.66. Interface Determination del BPM a base de datos (2ª acción).
Para terminar nos queda determinar los receptores, ReceiverDetermination. Primero, al servicio WebServiceClient e interfaz tipo SOAP leasignamos el servicio receptor BPM. Automáticamente aparece en el recuadroinferior la determinación de interfaz, donde no incluye ni mapeo ni canal.
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
38/40
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
39/40
Cap.8. Ejemplos de escenarios en SAP PI. Diseño y configuración
Proyecto fin de carrera Alberto Naranjo Moruno39
Figura 8.69. Receiver Determination para el BPM: sistema SAP.
Y finalmente al servicio BPM e interfaz abstracta tipo JDBC con laactualización a las tablas de la base de datos le asignamos de nuevo elreceptor de base de datos, donde la asignación de interfaces es directa sinmapeos.
Figura 8.70. Receiver Determination para el BPM: base de datos (2ª acción).
-
8/17/2019 8.Capítulo 8 - Ejemplos de Escenarios en SAP PI. Diseño y Configuración
40/40
Introducción a la plataforma SAP NetWeaver. Estudio de SAP Process Integration
Con todo queda montado todo nuestro escenario que iremos ejecutandoy chequeando hasta comprobar el correcto funcionamiento del mismo.
En la siguiente sección realizaremos una pequeña introducción al áreade monitorización del SAP PI conocido como Runtime Workbench o área detrabajo en tiempo de ejecución. Allí podremos comprobar el estado de losmensajes, de los canales, e incluso configurar alertas, encaminado al correctofuncionamiento de nuestros escenarios.
top related