Dude, Where’s my API?
One of the topics discussed was the lack of open and usable SAP API’s.
There are no shortages of SAP Platforms. Depending on your definition of “platform” they might include the HANA Cloud Platform, the SAP Real-Time Data Platform, SAP NetWeaver, SAP Jam, the SAP Mobile Platform and something called HANA. SAP is positioning itself as a “Platform Provider”. Integral to the success of a platform is the need for developers to build applications that leverage them. I mean what would happen if you built it and nobody came?
The community of traditional SAP developers cannot provide the ideas, innovation and applications at the scale that SAP are looking for. So they need to attract large numbers of a completely new type of developer. The rebranding and repurposing of SAP TechEd to SAP d-code is a very visible example of this effort to reach out to new developers.
But developers are a difficult bunch. They are antisocial, late night pizza eating, coke drinking, role playing game addicted trekkies with questionable personal hygiene regimes. No that’s not right – according to Big Bang Theory that’s physicists. Glad I’m not one of those geeks! 😏
Let’s just agree developers are a difficult bunch to reach. It’s generally understood that most developers like – in no particular order – recognition, recognition and recognition. And the way a developer gets recognition is to build cool stuff – and developers need existing platforms to build stuff on because other developers have already been recognised by building platforms. If a developer is going to build something cool and get recognition they need to do it quickly before some other developer gets the same idea and beats them to it.
This is where API’s become important.
An old story that many have heard before. Way back in the 1980’s I decided to learn 8088 assembler – or maybe it was 8086 I forget. So I bought a book, fired up my IBM-compatible PC running MS-DOS and went to work on the first example, which involved writing something to the video display. It started pretty easily – you just had to write the character you wanted displayed into the appropriate memory location and the graphics adapter would do the rest of the work and make it appear on the screen. But there was a problem. If my program happened to be writing into the graphics memory at the same time as the video driver was reading from it the result was screen flicker – more like screen flashes really. The solution to this problem was to ensure that I only wrote to this area when the electron beam of the CRT was switched off – and that only happened during a screen retrace when the beam is repositioned from the bottom right of the screen to the top left to begin a new pass. So I had to put a character into the graphics memory each time a screen retrace commenced, then wait until the next screen retrace to put in the next character, and so forth. A great lesson on assembler but boy would I have killed for a graphics library to handle this problem for me.
Fast forward to 2014 and every piece of software around has to interact with others – probably many others. So we start at the bottom of the stack and build a layer of abstraction (maybe a 8088 graphics library) that encapsulates a discrete set of functionality. This layer provides a standard interface to all who want to consume it and hides the deep dark plumbing complexities from those consumers. As we work our way up the stack these abstraction layers sit across more and more complexity exposed through appropriately simple interfaces. Today I can get a list of customers from the Northwind database simply by sending a HTTP GET request to the URL http://services.odata.org/Northwind/Northwind.svc/Customers and I have no issues with screen flicker. I have forgotten everything I ever knew about assembler.
SAP are reaching out to developers to encourage them to use their platform(s). A great example is the SAP HANA Startup Program that has recruited over 1100 organisations with great ideas. They are using the SAP HANA platform to develop these ideas upon. But the attraction for them is primarily the reach the SAP ecosystem gives them to market their product once it is built. My impression is that very few of these organisations have been attracted by the unique features of SAP HANA. Rather they decided SAP will be a good organisation to partner with once their application is built. Hopefully as they start to better understand the capabilities of SAP HANA it will trigger in them new ideas that will really leverage the power of this platform.
Similarly I think most other developers will be attracted to work with SAP not so much because of the new technologies such as HANA or HCP, but more because of the large installed base of SAP customers that they hope will buy their solutions. If a developer has a great idea that is relevant to enterprise users it makes perfect sense to target SAP customers due to the potential size of the market. So in this respect the SAP platform they are interested in working with is the business execution engine that is SAP Business Suite – or even more specifically SAP ECC. ECC is the SAP Platform.
And this is where, in my opinion, SAP has dropped the ball. Where are the open useable API’s? Where are the simple interfaces that abstract the complexities and minutiae of the actual business transactions? All SAP ever seem to provide is technology to build API’s but not the API’s themselves. The SAP Business Connector, ICF, XI, PI, SOAP handlers, NW Gateway, etc. have not delivered the API’s required. They are merely toolsets that can be used to build API’s. (Sorry BAPI’s just don’t cut it – see the Northwind example above.)
All that business execution knowledge, deep industry insight, 30+ years of experience baked into the SAP Business Suite is difficult for an experienced SAP developer to leverage – and impossible for a non-SAP developer to do on their own.This makes it very hard for developers to quickly build something and get that recognition we are told they crave so much.
SAP have indicated they are re-platforming their applications starting with Business ByDesign. Given that the core of this new applications platform will be SAP HANA we can expect the business API’s I am talking about will also be delivered. After all SAP HANA in itself does not have any user interface capabilities and therefore exposes all functionality as light-weight services available to any and all technologies. But this transition will take considerable time and meanwhile the entire SAP customer base will be still running on platforms like the Web Application Server ABAP.
Developers don’t have the time or inclination to wait for their recognition. They want to be building stuff now and they need the appropriate API’s to leverage the SAP business process engine now. Unless and until SAP can provide them I fear attempts to recruit developers to the SAP ecosystem will remain underwhelming at best.