Stand steady on the shoulders of giants

Or: Why you should attend my 2-day Omniversity course “Web Programming with the SAP Internet Communication Framework

Last week I had the opportunity to attend an SAP Mentor Webinar on SAP Netweaver Gateway, entitled “Gateway Consumption”. Gateway is something I have a good deal of interest in, and have written about it in the past. The webinar was a fascinating hour filled with information about how consumption of data and services in your backend SAP systems will be facilitated with SAP’s new Gateway product; the webinar included discussion of code generation for Xcode, libraries for BlackBerry apps, and of course Android. Not to mention web-native apps. And don’t forget – SAP Gateway is not just for mobile! :-)

The whole Gateway consumption experience is fronted at the sharp (HTTP) end with well-known standards Atom & the Atom Publishing Protocol (APP), and the Open Data Protocol (oData). Whether they’re also well-loved I’ll leave for you to decide. Payloads are in XML or JSON (although again, some would say it’s the ugliest and un-JSON-like JSON they’ve ever seen, but that’s another story). The Gateway system itself is an ABAP-stack SAP system, running the Internet Communication Manager, wrapped of course with our beloved Internet Communication Framework.

And there’s the thing.

While slowly but surely the promise of lightweight over heavyweight, simplicity over complexity, and open over proprietary protocols continues to be delivered, you’ve got to admit that’s a heck of a lot of layers of stuff that’s already building up! Your application, on top of generated libraries, on top of oData, on top of APP, on top of HTTP, on top of ICF, in an SAP system. Gosh!

So what does the desperate enterprise hacker have to do? Walk strong! Learn to walk properly and steadily, before you can run. Stand firm upon this stack of technologies, and understand the fundamentals of the ICF, the core HTTP mechanisms that underpins everything.

Not only that, but sometimes, oData is too much! Sometimes, you just want a controlled but ad-hoc exposure of SAP functionality through a simple HTTP interface that you can connect to and interact with using curl! In a Unix style command pipeline! Is that heresy? I don’t care, I do it often! With text/plain! Yes! Sometimes you want to use the power of the ABAP development and debugging environment, the data dictionary and abstracted storage layer, and just whip up a data collection service in a coffee break, instead of trying to shoehorn records into a silly Access database using a batch script.

So.

If you want to understand the solid platform that Gateway and many other technologies are built upon, if you want to use that platform to build your own ‘native’ HTTP based applications, if you want to differentiate yourself from the rest of the SAP developers who are rushing headlong into Gateway and HTTP, or if you just want to be able to stand steady on the shoulders of giants and confidently debug the core layers when things don’t go to plan, then get to know the ICF. More specifically, get to know it on my course! It’ll be fun, too!

GET /course/info HTTP/1.1
Accept: text/plain
Host: omniversity.madlab.org.uk
200 OK
Content-Type: text/plain

Title: Web Programming with the SAP Internet Communication Framework
When: Mon 5th and Tue 6th September
Cost: £300
Where: Madlab, 34-40 Edge St, Manchester M4 1HN