Currently integrating SAP Business One for a client’s project. The base of the application is Ruby on Rails and the site needs to interface with SAP Business One. So that is the challenge, to integrate with this ERP system, which APIs supply XML (no objects in sight).
I looked through github to see if there are any gems that already have this functionality of working with SAP Business One. No luck. Even if I found one, it may not work due to the shear number of custom function calls that the client required for SAP (squeezing a software into your business process).
I have looked at several XML Mapping libraries in order to bring the XML into an object format that will be more usable and workable in the RoR environment and the one that I think will win the battle is HappyMapper. The gem was last updated in January of 2011, so that reassures us that this is an on going project. Most of the XML Mapper projects I found, the last time it had been updated was over 2 years. One issue though, SAP’s XML is bloated a little but, plus they are using the ZedIT B1 Web API on top of SAP which in many cases “wraps” existing SAP API calls (equates to more bloated XML).
The other challenge is that SAP APIs work on an HTTP Request/Response architecture (not REST) plus the web server is secured using basic authentication (easy enough to deal with) so each request we must send over the username and password in order for the request to be accepted.
Overall the SAP APIs seem to be an “old school” architecture, objectless, XML happy environment.
Lets recap:
- SAP Business One (ERP)
- zedIT B1 Web API
- Basic Authentication on IIS enabled
- Project code is Ruby On Rails
Good challenge for the team.
More to come…