Collaboration Under SOA: The Human Aspects
8.3 Building the SOA Collaboration Environment
Characteristics of the Web 2.0 enterprise build primarily on services, not packaged software, with cost-effective scalability. Due to control over unique, hard to re-create data sources that get richer as more people use them, a kind of "democratic" control mechanism is established, and users are trusted as "co-developers." Therefore, businesses have to harness the collective intelligence of all the employees in the company to reach the business goals more directly, and so that the goals are finely tuned to match customer demands at an unforeseen degree.
To reach the "long tail" as it was described before, means a different way to market, and finally a more sophisticated way to present the company services to the world. As education levels throughout the world rise, the demands become more and more specific. Those services have to match a myriad of individual needs by rather small groups of customers. This trend is irrevocable and businesses have to address those needs, because those enlightened customers know to find what they need and want anywhere in the http://www. This development increases the pressure by competition, and forces enterprises to adequately address the growing "long tail".
Using services via the Internet means, in a transferred sense, to extend one's personal system capabilities. As a user, you have access to application services and data sources that go far beyond traditional client/server implementations. The network itself truly becomes the computer by offering services to run, and even more, lightweight user interfaces, development models, and business models enable flexible use of services fitting the situational needs.
8.3.1 The Situational Application Ecosystem
As mentioned previously, end users of IT systems are taking on the role application programmer by building mashups or using Ajax to create applications for their immediate needs, without the often-tedious process of IT requests, requirements definitions, and following the traditional software lifecycle. The more services become available in an SOA-based IT, the more the composition of enterprise data and business logic processes becomes less a matter of the IT experts. Mash-able content helps to enable end users to do client-side composition for the browser. Those situational applications built by the user from available services for discrete business situations are the key to agile business operations.
This raises a question: Why is a situational application ecosystem important?
Surely, frameworks are only as good as the data and widgets they have access to. Less skill is required to connect components together using widgets that can interact, compose, and display mashed content in new and interesting ways. Further integration "on the glass" is easier for the average user than integration deeper within platforms or applications, and situational software is enabled by mashable data, and widgets has a proven market demand. The marketplace is clearly indicating value, as stated before.
However, there is total incompatibility and lack of interoperability between widget vendors, and most enterprise data is not available in a form easily consumed by existing frameworks. Therefore, there is a clear need for a reliable framework that enables users to assemble applications: the situational applications ecosystem.
Such a framework must include highly intuitive construction methods allowing line of business end users to create their own situational applications, mashups, services, and RSS feeds. As shown in earlier examples in this chapter, such online environments should support both personal and collaborative assembly to satisfy community and personal needs.
Certainly, collections of highly useful "starter" service components ready to easily mash up are welcome, because their availability lowers the threshold for nontechnical users to engage in building their own situational applications. Finally, to become the agile enterprise that one expects from SOA-based organizations, the enterprise must provide easy access to enterprise data sources and APIs.
To set up your company for SOA, you follow the guidelines for governance, introduce a team-based and open development process, and embed all of this in the business transition for the entire organization. When doing so, it is important to include collaborative aspects and to build the ecosystem for situational applications that enable the users to become agile in the intended sense.
8.3.2 User Conditions in the Situational Application Ecosystem
No one solution fits all situations; and in the future, we see the increasing need for more individualized applications that fit a certain business situation. No longer will packaged standard business solutions meet the quickly changing requirements, nor will they become modifiable at high speed. Therefore, the situational application ecosystem has to satisfy several conditions for the user and the technical infrastructure perspective.
For the non-IT end user, the following conditions are regarded as key:
Global contextual collaboration.
World Wide Widgets.
Intuitive construction methods for line of business (LOB) users are required and must be provided and supported by the IT shop.
Support both personal and collaborative assembly.
There should be high-value service components for enterprise mashups (data, feeds, collaboration, and so on) covering the most common functionalities.
There are to be rich collaborations that dynamically adapt to available devices.
The IT system aggressively manages dynamic collaboration contexts.
Real-time language translation and other accessibility adaptation are provided and supported by the IT shop.
The IT providers in the enterprise are exploiting the emerging post-browser, cross-device interface metaphor.
Micro-contexts and micro-templates are made available for fine-grained assembly.