jueves, 21 de mayo de 2009

Tipos de Adaptadores

En el siguiente artículo se enumera y describe brevemente los diferentes tipos de comunicacion que podriamos usar con PI. El objetivo de esto es dar a conocer cuales son los adaptadores que se pueden utilizar. En otros artículos podrémos ver, con casos simples, el uso de estos adaptadores en los canales de comunicación.

File/FTP: El adaptador de tipo File/FTP nos va a permitir intercambiar información con el Integration Server utilizando archivos de texto o un servidor FTP. El contenido del archivo puede ser enviado, inalterado, al Integration Server. Si la data contiene valores separados por coma (CVS), entonces primero puede ser convertido a un formato XML simple. Este XML puede entonces ser enviado al Integration Server.En cambio, el contenido del archivo proveniente del Integration Server o del PCK puede ser puesto, inalterado, en un archivo o convertido de XML a un formato CSV.Archivos de texto que serán procesados por el Integration Server o el PCK deben estar en el código de pagina UTF-8. El adaptador File/FTP puede usar cualquier código de pagina que este instalado en el entorno JAVA para propósitos de conversión (por ejemplo, para convertir caracteres extraños).

AS2: Este adaptador utiliza el protocolo AS2 basado en HTTP y SMIME. A través de este adaptador se pueden incluir archivos en el envío de los mensajes, se puede transmitir de manera segura (HTTPS) inclusive se puede encriptar el contenido del mensaje. Bajo los estándares de comunicación se puede solicitar una confirmación MDN (Message Disposition Notifications).

BC: El adaptador SAP Conector de Negocios (SAP Business Connector Adapter-BC Adapter) soporta el protocolo B2B del SAP Business Connector, el cual esta basado en HTTP. El adaptador BC permite reemplazar un conector de negocio por SAP XI o PCK en escenarios donde diversos SAP BCs son usados. Esto asegura la entrega de mensajes via SAP XI.

CIDX: El adaptador CIDX soporta Chem eStandards, un estándar publicado por Chemical Industry Data Exchange usado para un mejor comercio por Internet en la industria Química. El adaptador CIDX esta basado en el Chem eStandards Envelope and Security Specifications, el cual hace referencia a una extensión de RosettaNet Implementation Framework (RNIF) versión 1.1, con ciertas variaciones de este framework. El adaptador CIDX es usado para enviar mensajes entre el Integration Server y un sistema que cumpla con los estándares CIDX, transformando los mensajes del formato XI hacia el formato CIDX. Para mas información sobre CIDX visita la pagina web http://www.cidx.org/

HTTP: El adaptador HTTP (sencillo) brinda a aplicaciones la opción de comunicarse con el Integration Engine y de intercambiar data de negocio usando una conexión HTTP sencilla. Dependiendo del sistema receptor, mensajes de salida podrían ser mejorados con cierta información.El adaptador HTTP sencillo es parte del Integration Engine y es usado por sistemas externos para conectarse al Integration Engine usando interfaces HTTP nativas (sin envoltura SOAP)

IDoc: El adaptador IDoc (IDoc Adapter), nos va a permitir procesar IDocs (Intermediate Documents) usando el “Integration Engine”. Son soportados los IDocs de los sistemas SAP desde la versión 3.1x en adelante. Un adaptador de tipo IDoc es usado por los sistemas SAP para conectars a una configuración central del “Integration Engine” usando IDocs. Un sistema que tenga un Integration Engine de este tipo es considerado un Integration Server. Sistemas externos tambien pueden hacer uso del adaptador IDoc para conectarse a un Integration Server.

JDBC: El adaptador JDBC te permite conectar una base de datos con el Integration Engine o el PCK. El adaptador convierte el contenido de base de datos a mensajes de tipo XML y viceversa. El contenido de base de datos puede ser leído con cualquier sentencia SQL. Un formato especial de XML es definido para el contenido que proviene del Integration Server o del PCK. Este formato habilita sentencias SQL INSERT, UPDATE, SELECT, DELETE, o stored procedures para que sean procesados. Un mensaje es siempre procesado exactamente en una transacción de base de datos.

JMS: El adaptador JMS (Java Message Service) te permite conectar systemas de mensaje al Integration Engine o al PCK. El adaptador soporta las especificaciones JMS 1.02b y 1.1 (Para más información SAP Note 856346).Una consideración importante para poder usar el adaptador JMS es instalar los driver necesarios. Las librerías JAVA necesarias son específicas por fabricante o terceros. Se debe desplegar las librerías JAVA en el servidor J2EE para que el adaptador JMS pueda acceder las clases JAVA requeridas en tiempo de ejecución.

Mail: El adaptador de tipo Mail permite conectar servidores de correo con el Integration Server o el PCK. El adaptador de correo receptor convierte mensajes XI a e-mails y usa el Simple Mail Transfer Protocol (SMTP) o el Internet Message Access Protocol (IMAP) para transferirlos al servidor de correos. El adaptador de correo emisor usa el Internet Message Access Protocol o el Post Office Protocol Version 3 (POP3) para collectar los mensajes y convertirlos en mensajes XI.Si un servidor de correos se comunica con el adaptador de correos, se puede configurar la seguridad para encriptar/desencriptar y firmar/verificar los mensajes. Aquí, la seguridad de los mensajes esta basado en el estándar de internet S/MIME (Secure Multipurpose Internet Mail Extension).

Marketplace: Se usa el adaptador de tipo Marketplace para conectar el Integration Server al Marketplace. Permite el intercambio de mensajes convirtiendo el mensaje del formato XI al formato MarketSet Markup Language (MML) y viceversa.Como prerrequisito, se tiene que especificar el DDID (Document Destination ID) para el party y service.

RFC: Un adaptador tipo RFC te permite usar las funciones del Integration Engine o del PCK en los existentes escenarios de SAP. Es usado por sistemas SAP para conectarse al Integration Engine o al PCK usando interfaces RFC. Soporta sistemas SAP desde la versión 3.1xEl adaptador de tipo RFC es suministrado por el Adapter Engine y el PCK. El receiver adapter soporta acknowledgments de sistema pero no acknowledgments de tipo aplicación.Los adaptadores RFC soportan Secure Network Communications (SNC).

RNI: El adaptador RNIF soporta la comunicación de datos estándar - RosettaNet Implementation Framework (RNIF) definido por RosettaNet. Este estándar define el protocolo RNIF en sus versiones 1.1 y 2.0. Los adaptadores RNIF 1.1 y 2.0 estan basados en estos protocolos.

SOAP: El adaptador SOAP permite intercambiar mensajes SOAP entre clientes remotos o servidores de servicios web y el Integration Server o PCK. En el adaptador SOAP se puede configurar seguridad para ser usada para firmar/verificar el cuerpo del mensaje SOAP. Adicionalmente, se puede especificar el estándar a ser usado para firmar/verificar el mensaje SOAP.

XI: Este tipo de adaptador (Adaptador XI) nos va a permitir una comunicacion con Proxy. Un adaptador de tipo XI se utiliza para intercambiar mensajes con el “Integration Engine”. Ambos protocolos de mensaje “XI 3.0” y “XI 2.0” son soportados. También puede ser usado para intercambiar mensajes entre PI y el “PCK” (Partner Connectivity Kit). Se le puede aplicar seguridad para “firmar” los mensajes (al enviar) y revisar la firma (al recibirlos). Se puede encriptar y desencriptar el contenido del mensaje.

martes, 19 de mayo de 2009

¿Qué es SAP XI?

Es la plataforma de integración que provee SAP en su Solución SAP Netweaver. El nombre de XI se debe a la palabra inglesa “Exchange Infraestructure” (Infraestructura de intercambio). Actualmente el nombre sufrió una modificación y se denomina Process Integration(SAP PI).

Imagen: Componentes/Productos de SAP Netweaver
Fuente: help.sap.com

Funcionalidad
A continuación, un diagrama de cómo trabaja básicamente SAP XI


Imagen: Escenaro básico en SAP XI
Fuente: SAPXIPERU

Problema: El sistema A utiliza su interfase A (formato del mensaje) para enviar un mensaje a sistema B, sin embargo este espera que el mensaje llegue en el formato B.

Solución: PI tiene registrado el formato A, el formato B, y las reglas de cómo de transformarse de A a B. Cuando llega el mensaje A, XI transforma a un mensaje B e inmediatamente lo envía al sistema B.

Comentarios: El escenario simple que tenemos arriba puede llegar a ser más complejo cuando:
  1. El sistema A necesita una confirmación que el mensaje fue transformado correctamente o que el mensaje fue recibido correctamente por el sistema B. (reconocimiento - acknowledgment)
  2. Se requiere tener el registro de todos los mensajes.(monitoreo - monitoring)
  3. Se requiere guardar centralizadamente el mensaje A y el mensaje B (rastreo- Tracking).
  4. El mensaje A quiere enviar el mensaje, además del sistema B, al sistema C condicionalmente.(Lógica de envió – logical routing, ramificación de mensajes – message branching).
Todos estos escenarios enumerados, y otros más, son soportados por SAP XI.

El entorno es capaz de recibir el mensaje en cualquier formato y transformarlo a cualquier otro. Por mencionar unos ejemplos: XML -> TEXTO, ANSI x12 -> XML, HTML – TEXTO, EDIFACT – ANSI X12, PDF -> XML, EXCEL – TEXTO, entre otros.

Es importante recalcar que existen empresas que proveen conversores para estándares utilizados en el mercado, por ejemplo conversores para ANSIX12 y EDIFACT. Aquí tenemos a iWay y Seeburger.

XI, puede recibir y enviar el mensaje usando una variedad de protocolos de comunicación: HTTP, HTTPS, FTP, IDOC, RFC, JMS, FILE, JDBC. Así mismo existen empresas que permiten ampliar esta funcionalidad a: AS1, AS2, SPLIT997, OFTP. (Algunos de los muchos que tenemos en el mercado).


Integración A2A y B2B
SAP XI permite integrar las aplicaciones de una misma empresa (A2A), así mismo posibilita hacer la integración con las aplicaciones de otras empresas (como proveedores, clientes (B2B)).

A2A: Una aplicación de ventas al por menor envía un reporte de consolidación diariamente a una aplicación de finanzas.

B2B: Enviamos a un cliente un factura por concepto del servicio que le hemos prestado.

Los escenarios de integración pueden ser entre:
Sistema SAP – Sistema SAP
Sistema SAP – Sistema No SAP (Viceversa)
Sistema No SAP – Sistema No SAP


Comentarios finales
Con SAP XI, podemos dar fin a la complejidad de las conexiones directas entre sistemas, teniendo así, un entorno centralizado de comunicación. Olvidando el tener que entrar a diferentes sistemas y herramientas para poder monitorear los mensajes. Ahora lo tenemos todo en un solo lugar.

SAP XI, tiene la flexibilidad de poder ampliar su funcionalidad usando la tecnología abierta “Java” a través de librerías, módulos y adaptadores desarrollados a medida.

XI, permite implementar escenarios de tipo BPM, mediante los cuales, los procesos entre aplicaciones se definen de forma centralizada, con una herramienta única.

sábado, 16 de mayo de 2009

Como iniciarse en SAP PI/XI

Cómo empezar en SAP PI/XI?


Una de las grandes preguntas que uno se hace al integrar un equipo para trabajar con dicho módulo es ¿por dónde empiezo?.
Bueno decidí buscar al menos el concepto en Internet, foros, web sites, manuales, videos, tutoriales , alguna documentación previa , pero era poco o casi nada lo que encontraba (y menos en español), a primera vista encontraba mas conceptos de la parte comercial (Site SAP) pero no era lo suficiente o tal vez lo necesario para tener un buen comienzo.
Tratare de ser lo mas practico posible e indicarte que sera necesario que aprendas o tengas noción de ahora en adelante con dicho modulo ok?

Primeros pasos.
Bueno seguro ya tendrás una noción básica o un previo concepto PI/XI ( sino dale una revisada a la entrada anterior Qué es XI-PI?).
Defínelo con tus propios términos, por ahora no será necesario que te aglomeres de muchos conceptos, poco a poco se entenderán.
Primeramente te recomendaría que aprendas nociones básicas a programar en Java, pues será necesario en los procesos de integración que tendrás más adelante, pues de acuerdo a la nueva plataforma de SAP (Netweaver) ha elegido dicho lenguaje, es más la herramienta esta hecha netamente en java.Si lo sabes en buena hora, caso contrario es un pequeño esfuerzo que se tiene que realizar , pues como dije anteriormente solo se necesita conocimientos básicos pues en algún momento tendrás que crear funciones propias, que la herramienta no te permita solucionar, ahora si deseas también puedes crear tu propia solución y desarrollar con mayor libertad y aplicar mayor funcionalidad, esto sera de acuerdo a los requerimientos que tengas.
En el caso seas un desarrollador de ABAP también puedes aplicar programas propios hechos en el lenguaje, en caso de soluciones integrales , sin embargo como te mencione sería mejor aprender también JAVA.
Otro de los conceptos que debes de tener en cuenta es todo referido a XML, pues principalmente PI se apoya en dicha estructura para sus procesos , conceptos como XSD,DOM,XSLT son también necesarios.
En el caso se maneje otro tipo de mensajes tendrías que tener conocimientos EDI, ANSI X12, IDOCs. Etc.
Manuales - Certificación.

Grafico Nª 01
Una vez terminado con las nociones básicas , iremos con los manuales oficiales , de acuerdo al grafico de arriba , esos son los cursos que SAP ofrece para la certificación como desarrollador del módulo SAP PI/XI como podrás ver, puedes comenzar con el manual código BIT 40, que contiene los fundamentos iniciales propios de la herramienta , ahora si deseas puedes empezar con los manuales BIT 100 y el BIT 140 que son los mas básicos de todos, son más conceptuales,dichos manuales están por ahora en ingles.