What is SOBA, can SOBA be thought of enterprise mash-up?
SOBA, Service Oriented Business Applications represent the expected end state of the service oriented architecture vision. That is, SOBAs are business applications that function in a service oriented environment to provide discrete units of business-level functionality through well defined service contracts (keeping the services encapsulated and self-contained). Within the SOA model these services can be dynamically combined as needed by the business. The point of SOBAs is to deliver flexible IT resources to meet continually changing business needs.
From the business perspective, mashups represent a new class of user-centric capabilities that enable a broad range of new uses for software, including the collaborative, social capabilities at the core of Web 2.0. The focus on Services will shift from providers to consumers of Services. Enterprises will care just as much about how they use Services as they do about creating and exposing Services for consumption.
What makes a Service useful is not simply its machine-processable interfaces, but also interfaces that humans can use. Furthermore, Services must be composable not only in theory, but in practice. Clearly, it doesn't matter how useful a SOBA appears to be if the consumers of that SOBA prevent users from taking advantage of the flexibility that Service-orienting the application promised in the first place. It now seems that we're approaching (or even passing) that Service consumers with rich interfaces increasingly enable mashups and other collaborative capabilities of software.
But that doesn't mean that we're ready for enterprise mashups, however, or even that mashups will be the appropriate context for user interaction with SOBAs. In fact, there are several mitigating forces that may limit the "SOBA as enterprise mashup" equation:
While it's true that SOBAs require rich user interface functionality to ensure their promised flexibility, Rich Internet Applications (RIAs) built with Web 2.0 technologies like AJAX are only one set of interface options. Desktop applications ranging from spreadsheets to accounting packages will also be likely SOBA consumers. Also, since SOBAs enable Service-oriented processes, many SOBA consumers may simply be other SOBAs. Therefore, mashups will be at most only a part of the SOBA consumer story.
Today's mashups largely reside within the world of techies. While mashup creators don't need the technical chops of, say, a seasoned Java developer, creating mashups is still out of reach of most businesspeople, even reasonably technically savvy ones. Of course, this situation will likely change as mashup tools mature.
Most importantly, SOBAs require governance. Clearly, no business would risk allowing any of its employees to assemble and reassemble business processes willy nilly, with no controls in place to ensure that the resulting SOBAs followed corporate policies. Implementing identity and access management for the SOBAs is only the first step in providing the necessary governance. The problem is, today's mashups are inherently ungoverned -- that's what makes them so appealing to techies. The bottom line is, the more governed an enterprise mashup becomes, the less like a Web 2.0-style mashup it'll be.