Disclaimer: I am not an SAP employee, this is private and not corporate opinion, yada, yada...
Our up and coming tech officer at SAP Shai Agassi upsets the Open Source community with this interview. Now, Shai is behind a lot of the recent Web Based work at SAP and used to be the top guy at TopTier, the internet portal bunch that SAP acquired. He is not yet as quotable as Larry Ellison, but he's clearly working on it. (Latest Ellisonism I saw, "best-of-breed is dead, except for dog shows..." quotable stuff!)
SAP is going all out for a something that we are calling an Enterprise Services Architecture, with the NetWeaver suite. The idea is to make SAP services, usually transactions, available to the outside world as an API layer, in SAP's case called BAPIs, Business Application Programming Interfaces. BAPIs are access mechanisms to the underlying business objects, which are things like invoices, companies, cost centres, production orders, etc. In other words, they are based on the meta-data in the SAP Business Object Repository, which is in turn part of the SAP application layer in NetWeaver.
In addition to exposing these BAPIs as stable external object calls, the NetWeaver layer allows people to use these services in custom build web interfaces, web based work-flows, etc. In other words an kind of AJAX and web-services based customer specific layer on top of the SAP services and established business functionality. At this point the SAP application is to be treated like a BLOB (Binary Large OBject) on the list of network services.
So, how come this might work? Well, two things, one is that the interfacing and interaction layer for the outside world in SAP now is Java by choice, and so the interaction in the NetWeaver world is built to open standards. The services are not written in open code, they use the existing SAP 4GL (Remember that idea?) and development environment, basically ABAP Objects. Now, for many purposes ABAP is more like a scripting language than a programming language, because all of the "manage the environment" stuff is done in the background by the NewWeaver environment, which hides the IT infrastructure completely. I have written about this before.
In essence, because the SAP development and run-time environment are interpretative, then the source code is available in SAP, and visible to the developers and programmers that work with it. Now, that openness in showing the code is not the same as allowing the code to be taken and run in another environment, because it can't. Put this ABAP code stuff in anything you like, it will only run in the SAP environment. This was not designed for this reason, in fact it was designed to give an enterprise wide development environment that would allow collaborative working for 5,000 developers on the same system and code base. The effect is none the less real though.
So, the functions are visible, and the coding behind them is transparent, but not able to run outside of its own environment. This SAP BLOB is then available to the outside web services world to be used.
If I had to make a comparison off the top of my head, I would say that the closest current model is the idea of things like Google APIs for it's services, like maps and so on, that rely on proprietary infrastructure and processing, but that are available outside for customisation of the services and the addition of new added value to the services with customer specific or partner specific coding.
I think that the issue that might exist for me in the OSS sense is that the walls are transparent, the doors can be opened, and the house is strongly built, but that the foundations are hidden out of sight, and the landlord reserves the right to change them at any time without consultation.
So, what we have a Capitalist BLOBs in Open Saurce... That might or might not be to your taste. SAP does have a good history of working with OSS outside of the core. Donating the ADABAS database code to sapDB, and then to mySQL, in effect, Linux is a big platform, integration of the Eclipse development environment, etc.
As to the whole IP thing, not sure about open source being communist. I think that the greatest defence against the movement to the open sourcing of the ERP market is that the applications are large, complex, boring, and involve giving stuff for free or nearly so to "The Man," and I don't see that being a major lure for voluntary (hacker) investment. That is why we have Linux, BSD, NetHack, and GIMP, and even OpenOffice, but for the rest, I wouldn't spend my weekend writing a better global General Ledger for the better running of "Big Corporation," and I don't see that many others would either. I am very happy to work on it as paid employment, however.
Personally, I still have a problem with IP based organisations in general, in that any business that finally depends on the notional enforcement of non-natural scarcity is on a slippery slope. Admittedly, I am not aware of the ability to download SAP on BitTorrent for the moment, and naively, I think that day may be a long time coming...
One thing I whoeheartedly agree with though is that Oracle is in one hell of a mess trying to integrate these different codebases.
Interesting times.
Comments