Soy desarrollador de SAP ABAP y Microsoft.NET. Trabajo para una empresa que crea software utilizando SAP y otras plataformas, como Microsoft.NET, Java y RoR.
Dado que su empresa está implementando SAP, debe obtener el backend de ECC 6.0, que puede usar RFC o servicios web.
SAP tiene una API estándar conocida como Business API (también conocida como BAPI). Puedes probarlos en la transacción BAPI.
Un buen ejemplo es este: BAPI_USER_GET_DETAIL
.
Este BAPI es responsable de devolver información sobre cualquier usuario de SAP. El BAPI solo requiere un parámetro de entrada único, llamado USERNAME, y devuelve diferentes estructuras de datos con información sobre el usuario, como el correo electrónico, nombre y apellido, perfiles de usuario, etc.
ABAP interior, una plantilla para llamar este BAPI debe ser algo como esto:
CALL FUNCTION 'BAPI_USER_GET_DETAIL'
EXPORTING
USERNAME = sy-UNAME
* IMPORTING
* LOGONDATA =
* DEFAULTS =
ADDRESS = L_IT_RETURN1
* COMPANY =
* SNC =
* REF_USER =
* ALIAS =
* UCLASS =
* LASTMODIFIED =
* ISLOCKED =
TABLES
* PARAMETER =
* PROFILES =
* ACTIVITYGROUPS =
RETURN = L_IT_RETURN
ADDTEL = i_Tel
* ADDFAX =
* ADDTTX =
* ADDTLX =
* ADDSMTP =
* ADDRML =
* ADDX400 =
* ADDRFC =
* ADDPRT =
* ADDSSF =
* ADDURI =
* ADDPAG =
* ADDCOMREM =
* PARAMETER1 =
* GROUPS =
* UCLASSSYS =
* EXTIDHEAD =
* EXTIDPART =
* SYSTEMS =.
Ahora, cada BAPI es también RFC (Remote Function Call) habilitado. Esto significa que, si implementa la API de SAP RFC dentro de su aplicación, puede llamar a cualquier BAPI u otra función dentro de SAP configurada como habilitada para RFC.
En versiones anteriores, puede usar la API de SAP RFC estándar, o usar los conectores de SAP Wizard, como SAP .NET Connector o SAP Java Connector.
En las versiones más recientes, SAP ha adjuntado un servidor web a su servidor de aplicaciones ABAP, para ejecutar servicios tales como ITS, BSP y WebDynpro para ABAP. Al usar este servidor web, puede publicar cualquier RFC como un servicio web.
Pero, tomado de mi experiencia diaria, el rendimiento de SAP R/3 no es tan bueno. Una simple llamada RFC a una función que suma dos números y devuelve el resultado puede tomar de 1 a 5 segundos, dependiendo de la disponibilidad del servidor.
Esto sucede principalmente debido a los muchos niveles de abstracción que se producen cuando está utilizando SAP .NET Connector o WebServices.
Por lo tanto, si desea que su sistema esté disponible para transacciones diarias (como crear 5.000 clientes diariamente desde su aplicación de comercio electrónico, o hacer aproximadamente 40.000 ventas en línea), le recomiendo usar Java Connector o implementar la API de RFC por su cuenta.
De lo contrario, si su aplicación será utilizada internamente por menos personas, le recomiendo que utilice SAP .NET Connector o WebServices, simplemente porque están completamente orientados a GTD.
Espero que esto ayude!
(por favor, añadir el prefijo http: // a los siguientes enlaces, porque yo no tengo la reputación suficiente para publicar enlaces :()
La API RFC: help.sap.com/printdocu/core /Print46c/EN/data/pdf/BCFESDE4/BCFESDE4.pdf
SAP .NET conector: help.sap.com/saphelp_nw04/Helpdata/EN/e9/23c80d66d08c4c8c044a3ea11ca90f/content.htm
SAP Java Connector: help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5c6a85b11d6b28500508b5d5211/content.htm
Creación de servicios web utilizando ABAP: wiki.sdn.sap.com/wiki/display/stage/Service+Enabling+in+ABAP
Maravilloso, ¿tiene alguna experiencia con capas de presentación que no sean de SAP? Ciertamente, algunas personas tendrían que usar SAP en sí, así que estoy un poco preocupado por el soporte de dos sistemas ... –
Sí, he sido desarrollador de Java por 3 años hasta que cambié al desarrollo de savia. En este momento estoy desarrollando 100% webdynpro para varios clientes, incluso algunos webdynpro abap. Permítanme decir que es una gran diferencia para las capas de presentación normales basadas en Java. He trabajado con Struts, JSF y JSP simple y me llevó bastante tiempo acostumbrarme a webdynpro.Como vendemos soluciones SAP completas, todas nuestras aplicaciones tienen integración de portal, webdynpro es la capa de presentación preferida aquí porque se integra muy bien con las hojas de estilo del portal y las funciones del portal. –
Otra ventaja, por supuesto, es que cuando utilizas capas de presentación que no son de SAP, puedes usar cualquier servidor de aplicaciones que desees. Pero no sé lo suficiente sobre la integración de .NET con sap para dar una recomendación clara aquí. –