Dan Farber: I'm Dan Farber, editor and chief at ZDNet. Today we are going to be talking about SOA for the Masses. SOA stands for Service Oriented Architecture.
The classical definition, I guess, would be a paradigm for organizing and using distributed capabilities across multiple domains. What does that really mean? It means that you have lots of independent, individual, little pieces that are interconnected and talking to each other via a syntax and a semantic that's agreed upon and allows you to build applications out of various little parts, as opposed to monolithic big applications as we've had in the past.
"The masses" means that this idea of Service Oriented Architecture has been the province, up to this point, mostly for the large, big enterprise players such as IBM, SAP, Oracle, as well as Microsoft, then you can name all the second, third, fourth, and fifth tier players as well, because this is the big trend in software today.
Now were seeing this notion of SOA moving down into the area of... I wouldn't call it consumer, but it would be the do it yourself, or assemblers, meaning you can self assemble applications, as well as just the general notion of a mash up.
There are enterprise mash ups, and we've all seen mash ups where you take a map and associate it with some database that has some data, such as sales people and where they're located, but this is much more profound.
Another way to look at where we're headed with mash ups, SOA, and do it yourself is to look at the
scale of on one end; this would be the scale of costs. So you could say lots of costs here, and very little cost down here, and then complexity on this axis.
How complex is the problem to solve, and how complex is the solution? Now obviously, the best way that the solution gets less complex; but we're really talking about less complex in the sense that a non technical person, a non programmer can actually build an application. Where as at this end, that's not possible.
There are various ways in which we are seeing those applications come into fruition. There are widgets, which are pieces of code that live on the desktop, or on the web, that do something; like carry an RSS feed, or a calendar. But, you can assemble a bunch of those and create your own personal desktop or dashboard.
There's a whole widget ecosystem that's being developed, as well as these players are also developing widgets for the enterprise. For example, SAP is developing widgets for its enterprise services.
The more interesting area to me, is this idea of assemblers; which is, the end user can build a complex application themselves, because widgets are really required developers, and not non programmers.
There are a number of companies doing it, mostly startups. For example, Yahoo Pipes allows you to take feeds, such as RSS, and build your own sets of feeds and then make them interconnect, and in this notion of loosely coupled, all these parts communicating with it.
There's also a number of companies on the enterprise side that are working on it. The important thing here, in the enterprise, is that it's secure, it's more reliable; performance is less of an issue.
IBM is working on something called "QED Wiki"; which is another development environment that allows enterprises to build these mash ups, these do it yourself things, where the businessperson can be deeply involved in creating it.
So now we're at a stage where SOA for the Masses, is actually something that's being realized. We're moving from this very high cost and high complexity in the enterprise, to moving into the space where mere mortals can develop applications on their own. It puts the people who are most vested in creating the application, and what that application needs to do, with their hands on the wheel. That's a very big difference and a trend that I think we're going to see much more of in the future.



















