Una arquitectura SOA (Service Oriented Architecture) es una alternativa válida a la hora de resolver nuestra integración, de hecho es la más adecuada si queremos independizarnos de la plataforma, resolviendo toda la comunicación e integración mediante la utilización de web services. En este sentido tanto GeneXus como SAP brindan a sus desarrolladores la posibilidad de consumir y publicar web services con lo cual resulta totalmente simple dicha implementación.
SAP hecho disponible una API para permitir extender los diferentes procesos de negocio, lo cual adicionalmente provee el suficiente dinamismo para poder rápidamente modificar las soluciones o incorporar nuevas tecnologías emergentes. Esta API, implementada a través de lo que en SAP se conoce con el nombre de BAPIs, se compone de un gran conjunto de funciones que encapsulan la forma de interactuar con el sistema. Estas BAPis se pueden publicar en forma de web services ya sea a través de un protocolo REST o SOAP.
GeneXus brinda a sus desarrolladores la posibilidad de consumir web services en sus aplicaciones tanto web como dispositivos móviles e inteligentes (iOS, Android, Blackberry, Windows 8) de una forma muy simple e intuitiva.
Otra alternativa a la hora de integrarnos con SAP desde aplicaciones GeneXus es accediendo directamente a los datos de las tablas que se encuentran en este (opción válida para SAP Business One), y realizando ingeniería inversa sobre esos datos.
Dado que todas las relaciones entre las tablas se encuentran representadas en la base de datos de SAP esta alternativa es realmente muy interesante dado que podemos acceder a todo el modelo de datos representado en SAP como si fuera parte de nuestro modelo de datos en GeneXus.
En este punto resulta sumamente útil una herramienta con la que cuenta GeneXus llamada Database Reverse Engineering Tool la cual nos permite conectarnos a una base de datos externa e incluir sus tablas y relaciones en GeneXus como si fueran parte de nuestro proyecto.
SAP ha dejado disponible ya sea a través de su SDK para versiones SAP Business One o a través de SAP NetWeaver con su SAP Java Connector y SAP .NET Connector una serie de APIs que nos permite resolver la integración con nuestras aplicaciones. |