As the echo of #SAPPHIRENOW resonates through the ecosystem people keep talking about the new trinity of on-device, on-demand and in-memory computing. Personally I feel it may be about time to re-cap on the technology that has brought us here in the first place and then move to the here and now. Why’s that? Well, to paraphrase one of my favorite artists:
We’ve came from Enterprise Application Integration (EAI) to Message-Oriented-Middleware (MOM) on to Enterprise Services Buses (ESB) and the Business Process Platform. Yet, the underlying idea has always been the same – to get better access to all the data and functionality residing within and outside of corporate networks. Easy access to all the data AND tools to analyze this data in order to make smart decisions is vital for any business.
This is what ultimately led enterprises to think about the concept of a Service-Oriented Architecture (SOA) – the idea of having a central repository of all available services in order to make the most out of all the data flourishing in one’s landscape. The idea of having a pool of re-usable services that would allow for developing better tools to gain more insight: on details as well as on the big picture. The idea of fully leveraging the potential of one’s system landscape..
Did SOA deliver on its Promise?
Critics may argue that SOA has just been yet another hype. And I tend to agree… yes, we witnessed the typical hype cycle as according to Gartner, I guess. Yet, I have been among the early pioneers of the SOA movement at SAP and bringing it to life at customers’ sites has turned me into a believer … and evangelist (so just that you know where I’m coming from.)
Personally I would argue that SOA has matured… and I mean that in a good way, the non-KOD way. So, as the rest of the IT world may have moved on to other topics it may lead people to believe that this lack of attention proofs that SOA is dead:
Interestingly, Anne’s blog post is still relevant and up to the point even after two and a half years after publishing – especially if seen from a SAP-centric perspective. For too long people have been reducing the idea of SOA to the most prominent implementation pattern leveraging WS* standards only:
Last year at TechEd, Volker Stiehl and I were Loose-coupling and strong bonding @ TechEd 2010 on how-to map SOA principles into architecture blueprints for SAP-dominated landscapes. Picking up on the “SOA is dead” theme we summarized what we call “Sustainable Architectures for SOA” in a SAP TechEd live interview with Mark Finnern. In a nutshell, SOA is far from being dead, the opposite – the need for services is as prominent as it ever was.
In the meanwhile – elsewhere
Switching scenes to the here and now, SOA is hardly talked about anymore: on-device, on-demand and in-memory computing is where it’s at. But is that a new theme?
We (meaning SAP) may not be as verbose as we used to be in regards to SOA, but if I break down the new dimensions it all looks so very familiar. It’s all about the need to access data provided by services and being able to access these services:
- everywhere (on-device)
- anytime (on-demand)
- and faster than ever before (in-memory computing)
So, for bystanders it may sound as if SOA is not worth being talked about anymore. One may get the impression that the new kid on the block – project Gateway – will be the long-awaited hero that finally tears down the wall and liberate all the functionality residing in the SAP fortress … (well or at least provide a gateway to allow for flowing traffic.)
In Technical Terms
And yes, at first glance the public discourses about whether or not REST is superior to the commonly found WS*-Standards approach may have added to the false impression that project Gateway is (intended to be) the successor of SAP Enterprise Services and SOA. Based on the motivation to shed some light on this rather controversial technical discussion the SAP Mentors organized a webinar entitled “SAP Mentor Monday: “REST and Enterprise Services Demystified”.” Unfortunately, the audio signal was lost and as such this very info-taining webinar is of limited use as a reference.
In my own words, the essence of the conversation was about the technical differences between REST and the WS*-Standards-based approach. The light-weight character of RESTful services was compared to the more complex architecture of Enterprise Services. We then got to speak about that additional overhead complexity introduced by the Web Service Standards and why Enterprise Services have been designed as complex as they are.
Let’s stop here for a moment as I feel it’s important for the discussion onwards. In such conversations people arguing in favor of REST may talk about the overhead of the WS* protocols. Well, overhead is not an absolute term, but a relative one. You can be pretty sure that this overhead clearly serves a purpose and that it hasn’t been introduced without reason. Maybe this aspect helps in finding the answer to the question: “What should I use: REST or Enterprise Services?“
The answer is a classic: “It depends…“
At a closer look it gets obvious that the two approaches do no compete against each other, yet they address complementing use cases. While the more complex Enterprise Services have been primarily designed for A2A and B2B communication scenarios, the light-weight character of RESTful services makes them ideally suited for instant-value apps and simple consumption scenarios. As such, a lot of the complexity we see in former may be negligible to some degree in simple(r) consumption scenarios as they do not intend to be used in distributed, cross-system transactions. I could put it anyway I want, at the end, it would still end up being second best compared to the excellent summary that Dick Hirsch wrote about this very topic: “The specified item was not found.“
The Story continues…
Just two days after the SAP Mentors webinar I stumbled across an interesting Tweet of Kaj van de Loo in which he mentioned giving a keynote on SOA at the International Conference on Service Oriented Computing (#icsocsf) and I asked him if there would be a recording available. Unfortunately there wasn’t, yet he offered to present the session as a SAP Mentor Monday webinar. For those who haven’t heard about Kaj: he has earned quite a reputation for being able to explain SAP’s technology strategy in a very comprehensible way as well as for being a very open and honest communicator. As such, the SAP Mentor wolf-pack was eagerly looking forward to his session…
In his presentation Kaj summarized the lessons learned in 10 years of SOA in just 30 minutes, followed by another half an hour of Q&A. He started by explaining SAP’s approach of evaluating these new technologies (such as WSDL and SOAP) considering the responsibilities coming along with being the world leader in enterprise software. Knowing that 85% of the Fortunate 500 companies are running SAP software makes you aware of all the long-tail considerations that need to be considered when establishing such a concept as fundamental as SOA.
He continued by elaborating on SAP’s systematic approach of developing the platform first before rolling it out internally (SAP Business Suite) and then externally (customers) and about how customer adoption steadily increases since 2006. Towards the end, he addressed the status-quo (the good and the less good) and concluded with an outlook on what he coined as “SOA 2.0” (~ 28:30 min). I strongly encourage everybody interested in the topic to watch the session.
So, a few minutes ago we argued that SOA is dead and now we start talking about SOA 2.0? How did that happen? Well, when confronted with the question on why SAP keeps talking about SOA (while the rest of the world seems to have abandoned the term) Kaj replied: “It’s intellectual honesty.” (~ 37:50 min)
Sure, there may have been inflated expectations that (enterprise) SOA did fail to deliver on (yet) such as “Deployment Flexibility and increased User Productivity,” as Kaj pointed out (~ 27:00 min).
So instead of abandoning the term we opt for evolving SOA or better to re-focus on the most fundamental idea of SOA:
Taking the lessons learned from 10 years of SOA and pair them up with all the new capabilities provided by the three new dimensions does indeed sound very promising to me.
The idea is to enhance the current SOA experience by adding the capabilities that project Gateway brings to the table in regards to opening up the IT landscape by providing simple(r) access to the underlying data.
Lowering the entry barrier to developing applications for SAP backend systems sounds like a good step to attract more developers. If matched by equally appealing licensing models there is little reason why developers should not consider it as a target platform. More developers means more apps, more apps means more users. (And as you all know, we are thriving for one billion…so, the more, the merrier!)
So, with that I want to slowly wrap it up and call it done for today. Well, maybe one more thing… towards the end of the Q&A part of Kaj’s session we briefly scratched the topic of business events. After the webinar I reached out to Kaj with some follow-up questions that may also be of broader interest, yet we’ll keep that for another blog post. Stay tuned…
PS: Special thanks to Kaj van de Loo, Matt Harding and Alisdair Templeton for taking the time to review this post. Very much appreciated!