Now that service-oriented architecture (SOA) is finally becoming mainstream, an increasing number of people are asking us what comes after SOA. If SOA is one step in the evolution of distributed computing, the reasoning goes, then something is bound to be next in line. Furthermore, just as SOA built upon Web architectures, client/server, and the rest of what are now today's legacy technologies, so too will this "Next Big Thing" (for want of a name) build upon, rather than replace SOA.
Well-meaning pundits, analysts, bloggers, and others have sought to name this Next Big Thing -- SOA 2.0, Web 3.0, etc. -- but simply naming a concept before anybody really knows what that concept represents is sheer folly, and inevitably a lightning rod for derision. This ZapFlash, therefore will do no such thing. Instead, we'll seek in a mere 1,500 words or so to identify the elements of the Next Big Thing that we can find in today's trends, and identify the one thread -- location independence -- that may lead us to identify the successor to SOA.
On beyond SOA
The problem with discussing the Next Big Thing, of course, is that no one term does it justice. SOA is a critical part of this story, but is only a part. SOA, of course, is a set of principles for organizing an organization's resources to provide a business-centric abstraction. A key part of this notion of a business abstraction is location independence: the business doesn't care what server, network, or data center the implementation underlying a service runs on. All they care is that the service works as advertised.
Saying, however, that successful SOA boils down to successful abstraction of technology is a subtle oxymoron, because if you've successfully abstracted your tools, you no longer care what those tools consist of, or where they're located. The point to abstracting the interfaces between people and their tools is basically because people don't care about their tools; they care about what they want to use those tools for. Whether I'm at work or at home, having a conversation, creating something new, or providing value to someone, I don't want to be concerned with the tools. Tools are always -- always! -- a means to an end. Fundamentally, that's what we mean by the word tool.
To understand the Next Big Thing, therefore, we need to pick up the thread of abstracting our tools beyond SOA, where it's not only the location of the tool, but the tool itself that disappears behind the abstraction. In the big picture, the technology fades from view behind the abstraction. All people see is location independent capabilities and information. Everything else lives in the cloud.
When we say "the cloud," however, we're still not naming the Next Big Thing. After all, when we use such terms, they come with the baggage of immature abstractions. When we say the cloud, we think of cloud computing, an approach to abstracting specific IT infrastructure resources. In other words, cloud computing is still more about computing than about the cloud itself at this point in time.
Web 4.0, anybody?
Location independence is nothing new for the World Wide Web, of course. Uniform Resource Locators (URLs) abstract the IP addresses of physical devices, and in turn, Uniform Resource Identifiers (URIs) abstract the location component of URLs. Now we can load any Web page or any other resource we want without any care about where the box serving that resource is physically located. Nevertheless, the Web abstraction is only part of the way toward the Next Big Thing, because it doesn't abstract the tools. When we say the Web, we think browsers and HTTP, instead of thinking of a technology and protocol independent abstraction.
Touting the Web as the golden path to the Next Big Thing, however, quickly leads us astray. To be sure, there's a big hullabaloo today over Web-Oriented Architecture (WOA), an the Representational State Transfer (REST) approach that underlies it, and an ongoing thread about the virtues of WOA vs. SOA. However, the entire WOA vs. SOA debate is missing the point -- or in reality, missing several points. As we recently pointed out, WOA is really Web-oriented SOA, essentially at a lower, tool-specific level of abstraction. Furthermore, the WOA vs. SOA debate often devolves into a religious battle over protocols, as though architects really should care about whether REST or SOAP-based Web Services sucked less.
Oddly enough, this devolution into a religious spat has offered us a convenient misdirection, as though it were a magic trick designed to keep the eye away from what was really going on. The real story, in fact, centers on the core notion of location independence. From the SOA perspective, location independence is a property of the business abstraction, where from the REST perspective, it's an inherent property of URIs (and in fact, is what distinguishes URIs from their location-dependent cousins, URLs). But there's a third context for location independence, and understanding this third perspective goes at the heart of the matter: the context of mobile presence.
Getting to Buckaroo
By "mobile," what immediately comes to mind? A cell phone, naturally. But of course, I could have meant a laptop or perhaps a GPS device or even a GPS-enabled piece of equipment. If we think architecturally, we can abstract the device itself, and we end up with the notion of mobile presence, which is in essence the abstracted notion of location -- am I available? What am I doing? Where am I going? And while we may think today about presence in the context of people, presence can apply equally well to technology capabilities or information -- in other words, to Services.
There is a subtle but critically important point here: location independent doesn't mean location unaware; on the contrary, mobile presence is location aware. Rather, location independent implies location agnostic. What we're really looking for are Services that are available whenever, wherever we are, independent of what kind of technology we happen to be using at the time. To understand the Next Big Thing, therefore, you need to merge the concepts of SOA, the Web, and mobile presence in order to flesh out the cloud.
Unfortunately, we're really not ready yet to achieve such über-convergence. Today, the notion of mobile presence lies squarely in the telco world, as various service providers flesh out the relationship between standards like the session initiation protocol (SIP) and mobile presence. And as with SOA, cloud computing, and the Web, proponents of mobile presence are looking at the trees and missing the forest by focusing on the mobile devices and the products that the telcos can sell their customers on them. Only when we can abstract the tools themselves in a location-independent way will the Next Big Thing come into focus, and we'll finally be able to live the words of Buckaroo Banzai: "no matter where you go, there you are!"
The ZapThink take
So, add SOA to cloud computing to Web 2.0 to mobile presence, and what do you get? Maybe you get the computer on the Enterprise from Star Trek: The Next Generation, where all anyone had to do was utter the word "computer," and it responded, no matter where they were. Or maybe we'll see Google acquire a telco -- not for the telco's traditional business, but to complete Google's vision of the cloud. Or maybe we'll see communication sessions (what we used to call "phone calls") span not only a variety of devices, but move seamlessly from one device to another. Imagine a conversation with an audio component as well as an instant message component, carried seamlessly as you move from your work environment, to a mobile environment as you drive home, and then to your home environment, without having to dial back in.
One feature of the Next Big Thing that does come through clearly is that the focus is on people and their interactions, much more so than on the technology that enables those interactions. We're so used to the technology being in our face that we lose sight of the fact that us techies are the only people who appreciate such a state of affairs, but that most people would be perfectly happy if the technology faded from view. It's also clear that the lines between companies and consumers are blurring, as business finally figure out how to communicate with their customers, and the collaboration capabilities that are so key to Web 2.0 empower individuals and the communities they belong to. The Next Big Thing isn't a cloud in the sense of abstracted data centers full of technology; it's a cloud of people, communicating, creating, and conducting business, where the technology is hidden in the mist.