This book chapter from Executing SOA: A Practical Guide for the Service-Oriented Architect shows how Web 2.0 business concepts apply to businesses, especially those enterprises that adhere to the philosophy of SOA.
By Norbert Bieberstein, Robert G. Laird, Keith Jones and and Tilak Mitra
In the previous chapters, we concentrated on technical and organizational aspects of SOA in the enterprise. We provided practical hints and experiences for setting up the IT development. But, SOA is like other innovations, not just another technology the IT shop incorporates. Each time a new technology is introduced or innovative technologies are applied in the enterprise, humans are involved: Employees, managers, business partners, and the customers decide whether a change is successful.
This chapter discusses the development of working in a service-oriented enterprise and how the SOA-based infrastructure enables people to collaborate more effectively and receive benefits of the enterprise. An important part in this is the human interface, the way the IT systems are presented to the user. Especially in this context, we highlight the impact of new technologies that arrived with Web 2.0 in the company and the organizational changes that benefit from them.
8.1 What Does SOA Mean to People?
Before discussing the technical solutions and tools, it is important to look at the impact of an SOA-based infrastructure on an organization and its people. As stated in Chapter 2 of Service-Oriented Architecture Compass (Bieberstein et al. 2006), business agility is a major goal of SOA-based infrastructure. This cannot be achieved with just new IT infrastructure; it also requires organizational changes. Those changes involve different ways to build IT solutions, to utilize the reuse of enterprise assets at large as we discussed earlier, and to care for appropriate governance in the enterprise.
Any change to the system results in an impact on the people working in the enterprise. In SOA for Profit (van den Berg et al. 2007), the authors describe the change in enterprise operation, a business transformation that is most important for getting the desired results from becoming an SOA-based company.
On one hand, the changes involve new or changed roles that reflect cooperation under the service-oriented paradigm; on the other hand, the changes involve employee and management behavioral changes. Naturally, as with any change or new idea, you will encounter resistance and overly enthusiastic acceptance. It is the task of the leadership teams, the company management, to moderate the emotions and to manage the change process.
8.1.1 The Service-Oriented-People in the Enterprise
In Chapter 3, “SOA Governance,” we outlined the SOA governance structure and organization of authorities for a service-oriented operation in the company. Now, we summarize the key ideas that are important or indispensable for the service-oriented people in the enterprise—let’s call them the SO-managers and SO-employees.
Primarily act as observers instead of directors (who issuetop-down orders).
Monitor the business (adequate tools and systems support this).
Define rules and processes, such as building a constitution that includes the fundamental laws for the company (golden rule or constitution).
Recognize talents and temperaments as well as know the skills of the employees to staff roles/pools (act as mentors for personal development—especially matching talents and temperaments, not just acquired skills and experiences, to the tasks).
Allow satisfying freedom to the employees under the set rules (equivalent to the loosely coupling of services in an SOA).
Motivate employees by addressing the individual talents and preferred tasks. (This applies especially to people managers who are responsible for dedicated teams, versus business generals who are in charge of the overall corporate directions and are not dealing with daily execution at the bottom.)
Get information and take initiatives (solving tasks autonomously by acting and cooperating with best matching peers).
Execute the tasks that are necessary to satisfy customer demands. (Employees should be empowered to perform the company rules and processes and not have to be entitled to single actions by their managers.)
Build ad hoc teams and organize their work within the legal framework. (Incentives and punishments can be used to enforce this.)
Know their strengths and publish them (populating the employee repository accordingly) to become engaged (the individual employee advertises one’s capabilities, preferences, and strengths to the company to get the work to the person who can do it best).
Offer services and act (publishing experience records and service offerings within the enterprise repository).
Maintain motivation by working on what they do best and being directly recognized for achievements. (Peer reviews, awards, and suitable incentives support this.)
Most of the items in the previous lists can be reached in a company when both sides, managers and employees, get together to define business transformation goals and a path to reach them. Certainly, education is required to gain support and understanding for why the transformation goals will help the enterprise and, even more important, who the individuals involved will be. With an SOA-based organization and a motivated team, the enterprise can become as agile as expected.
In a way, we see the roles and responsibilities of managers and employees, executives, and professionals changing toward a more service-oriented behavior, which requires the listed personal qualities. Summarizing, we can state that a manager in a service-oriented enterprise becomes more the role of a thoughtful leader, one who thinks out the services framework their company can offer under the corporate strategy as set by the business generals. More details about how to govern the enterprise in a loosely coupled manner are given in the IBM Systems Journal article by Bieberstein et al. (SJ44-4 of 2005).
In turn, the individual employees are getting more active to perform within the given framework. To achieve agility, each individual will advertise one’s services in an enterprise repository, specifically skills, expertise, talents, and other reasonable data. In the case of a project requested by a customer, project managers or other people in charge will look in the repository to find the most suitable professionals.
8.1.2 Research on the Impact of SOA in the Enterprise
During the business transformation toward a service-oriented enterprise, there are not just technical issues to consider, but also the impact it has on a company’s operation and all involved people, as well as the way the enterprise operates on the global market and deals with their customers. The observations made are being published in scientific journals (for example, see the papers in the section “Business Aspects of Service-Oriented Thinking” in the IBM Systems Journal issue 44-4, http://www.research.ibm.com/journal/sj44-4.html). Furthermore, there are researchers working on related issues, finding new ways to govern “loosely coupled” enterprises and defining guides to smoothly and surely reach the set goals. In this context, we like to refer to Peter Weill and his team at Sloan School of Management at MIT, Cambridge, Massachusetts, and other researchers who recently published books and articles on this issue (see the reference list).
The academic disciplines involved do not limit themselves to a computer sciences or business focus, but extend to psychology, political sciences, and sociology, as these get fueled by ideas through the evolving Internet and its influence on nearly every society around the globe. The scientific results from studying groups of co-workers, individual behaviors within teams, and individual temperaments support the idea that a service-oriented organization is ideal.
There are several publications based on long-term observations that can be applied to how people cooperate within a service-oriented enterprise so that the goals of agility are reached. We also found several research results that can be best applied at a company based on SOA principles, as we have described in this book.
There is Meredith Belbin’s research published in Management Teams. Belbin’s work shows that teams perform best when there is a certain mixture of dedicated team roles. In numerous experiments, he proved that so-called A-teams won’t deliver the best results, because in a team made up by alpha personalities (those who always score the highest as individuals and get the A marks in school), too much time and effort is lost to ranking fights rather than concentrating on the subject. In his books and publications, Belbin shows what constellation of team player types leads to the best results. In a service-oriented enterprise, the knowledge of those types can be stored as attributes in the enterprise repository. This lets a project manager staff the team not just with people who are educated in the requested areas and bring appropriate experiences with certain situations, but also helps to get the right combination of team players for a winning team.
In this context, it is worth mentioning the studies executed by Gallup over many decades. They are published in the book by Marcus Buckingham and Donald Clifton, Now, Discover Your Strengths. Based on millions of individual data and supported by real-life results from applying the knowledge about one’s individual strengths to the personal records, the authors show that many people hide their talents instead of letting their strengths play for the team’s and the company’s benefit. Publishing these could also help staff teams to deliver services because each individual can get insight and knowledge about strengths and how one can best contribute to the team’s success.
Personality traits are an important aspect for successful business operation as the results from research in psychology show. Philosophers, HR professionals, and especially psychologists around the globe have been interested in human stereotypes, in classifying people based on their temperaments to better understand individual drivers (what motivates you?) and reactions (why did you get so angry?). Some of the ideas are dated. In the 1980s, the psychologists David Keirsey and Marilyn Bates developed their temperament sorter and published it (1986) under the title Please Understand Me: Character and Temperament Types. Based on the temperament types, several tests, guidelines, and advice have been developed, all with the intention to clarify the individual personality. Better understanding other peoples’ behaviors, feelings, and thinking processes can avoid friction among team members. Enlightenment can be an advantage for anybody working on teams. The knowledge about the individual temperaments is another key in staffing winning teams.
8.1.3 The Role of a Service-Oriented Architect
Team building in a service-oriented enterprise can happen in various ways. For SO-managers and SO-employees, empowered individuals ideally seek each other rather than have to be told to fill an explicit position in an organization chart. However, there are people in roles who are better at knowing the people and more capable than others at building a successful team. Those are addressed as people managers in the earlier section of this chapter.
Certainly, professional project managers, who are not just administrators, are predestined for staffing a project team. However, there is a need for translation between IT and the company business languages, a strong request for a role that spans wider than just solving IT issues for the enterprise. A person in this role has to know and cooperate with and within the executive management teams to develop the most suitable solutions.
This role takes on a certain mediator function, which we like to call the service-oriented architect, or a classical enterprise architect within a service-oriented enterprise. Best suited are persons who have been educated in IT and business administration, and probably equally important, who have the diplomatic talents to act as a mediator between both sides. This role becomes then the guarantor for the business transformation en route to the SOA-based company. It is a team play that involves change activists from almost every business unit to become successful.
This change does not end at the company gates. It goes far beyond, as individuals work from home, no longer penned up in corporate office buildings, or participate in business via the Internet from almost any place on Earth. In other words, this all is an all-embracing transition; a revolutionary movement that touches everything in everybody’s daily lives, at work and certainly at leisure time, too.
8.2 Web 2.0 and SOA
In the context of the changes we expect and see ongoing to make an enterprise SOA based, it is necessary to look at what Web 2.0 brings to the table. Sandy Carter (2007), in her book The New Language of Business, describes how the meeting of SOA and the new Internet facilities changes the way companies do their business today. She describes it as an irrevocable and impelled movement that determines a company’s survival.
8.2.1 Definition of Web 2.0
When searching the Internet for “Web 2.0,” you easily get many millions of hits. This indicates certain hype attached to it. Let’s summarize the idea behind the term.
Although the term Web 2.0 suggests a new version of the World Wide Web, it does not refer to an update to any technical specifications, but to changes in the ways software developers and end users use webs. So, it refers to a perceived second generation of web-based communities and hosted services. Those services can continuously be updated and allow various ways of social networking among the users filling the new roles as we described earlier.
The term was brought up at an O’Reilly event in 2005 following a brainstorming session that Tim O’Reilly documented on the World Wide Web. The core idea is to facilitate creativity, collaboration, and sharing among users on the Internet. This applies as well to the relationship between those who create assets and those who consume them, those who provide a service and the technology behind it, and those who use it for their business or just for leisure activities.
Hence, this means a strong involvement of every user, a turn away from IT being a secret science reserved for the 2 percent in population with an IQ over 130, or for people with mathematical thinking who sit isolated in their offices and produce applications that hit the users with fixed screens, and predefined processes. Often the users merely understand the mechanism behind their screens and wonder about weird behavior of the system not suiting the immediate needs in a given business situation. With Web 2.0, IT becomes everybody’s thing, and most important, it becomes changeable to one’s personal needs. The border between the IT providers on one side and the IT consumers on the other blurs.
The closing of the chasm between IT and lines of business is intended for best success with SOA. Besides that, the young people leaving school and starting their jobs are more used to IT than any generation before. This underpins the move of SOA and Web 2.0 to become the normal way of doing business, communicating, living, and running one’s daily errands.
In his Web article, Tim O’Reilly provides detail about how Web 1.0 (the Web we currently use) is going to change toward Web 2.0. Several items show a move from a predefined and company-set way of presenting and doing things toward a community-based approach. So, personal websites will be replaced by blogging (that is, a place where several people post their comments). The wiki technology (that is, a place that allows a community to edit common Web pages) increasingly will be used. He refers to Wikipedia as a trusted replacement for printed encyclopedias.
Wiki technology—a term describing a service on the Web to quickly (wiki-wiki = quick) build, change, and update webpages hosted by a wiki service provider.
At the end, Tim O’Reilly (2005) summarizes the envisioned core competencies for a Web 2.0 company that we are going to explore in this context. According to Tim O’Reilly, the Web 2.0 core competencies of an enterprise are as follows:
Services, not packaged software, with cost-effective scalability
Control over unique, hard to re-create data sources that get richer as more people use them
Trusting users as co-developers
Harnessing collective intelligence
Leveraging the long tail through customer self-service
Software above the level of a single device
Lightweight user interfaces, development models, and business models
With this in mind, we concentrate the remainder of this chapter on those items that immediately support SOA, and that are important to the enterprise architect to consider when helping the company on the journey toward a service-oriented enterprise. Before that, a few more observations are helpful to understand the whole extent of the impact from SOA and Web 2.0 in our societies and economies.
8.2.2 Some Observations of Web 2.0 in Use
We concentrate here on a few, but essential observations that help to understand how Web 2.0 and SOA can generate the desired results for an enterprise. There are many more trends and certainly not yet widely accepted uses and patterns of dealing with and via the Internet that we cannot include in this book. The Internet medium enables the very fast development of new ideas. Known items become obsolete, and with a generally dynamic development, any claim for comprehensiveness in a book quickly becomes outdated.
Therefore, we select a few key observations using well-known examples of today’s Internet business world to exemplify how the idea of service-orientation as a platform for the agile business can be applied with today’s tools, concepts, and existing services. In the following, we regard three established Internet-based business and community services: Wikipedia, Google, and YouTube. These three examples demonstrate how Web 2.0 elements become the key success factors for these endeavors to start and gain importance, acting as role models for other companies, start-ups, and even for established players in a certain market. More than that, these initiatives and the innovations they bring to the market change the way we do certain things.
8.2.3 User Contribution
The example of Wikipedia.org demonstrates the factor user contribution and adds the aspect of starting and operating successfully a nonprofit organization on the World Wide Web. This wiki-based free encyclopedia allows everybody to contribute and edit the content. Before Wikipedia (http://www.wikipedia.org), encyclopedias were the work of a closed circle of experts, each of them being a prominent luminary in a well-defined scientific area.
Wikis are a way to quickly and informally allow possibly large communities to collaborate on authoring content.
Now the wiki technologies opened it up for a large number of “experts,” who all contribute their bit of knowledge and expertise to grow Wikipedia to a global matter. Wikipedia, an artificial word created from wiki-wiki (Hawaiian for quick) and encyclopedia, is a website launched in 2001 for hosting multinational, multilingual, web-based encyclopedias. The content and formatting are created by everybody who wants to contribute.
The Wikipedia community meanwhile has created an immense amount of useful information, not just in English. Today, the Wikipedia site shows articles in more than 200 languages, of which English has grown to more than 2 million articles, followed by the German (700,000+ articles) and the French (600,000+ articles) section. Among the languages, you also find extinct ones like Latin (10,000+ articles), and artificial languages like Esperanto (10,000+ articles), and languages spoken by small minorities like Pennsilfaanisch-Deitsch (1,000+ articles). Almost every language is represented, and thanks to the underlying database technology for many articles in one language, you find a direct link to the same item in one or more other languages.
One can assume that mere users of such sites outnumber the contributors at large degree, probably in the range of 99:1 or close to that. Exact survey results have not been available at time of writing this book, though.
Wikipedia shows impressively the public use of bidirectional information services. Concerns about incorrectness, errors, and malicious contents are countered by the control of the masses. The same model as for Linux applies, where a large community with many more eyes, specialized knowledge, and experiences monitors and contributes to a reliable instrument coming close to and with regard to agility and speed of change outperforming the classic model of the encyclopedia.
The trustworthiness became so evident that many people today seriously refer to Wikipedia as their source of wisdom. If one does not know something, the first check is Wikipedia instead of opening a printed version of Encyclopedia Britannica or its regional equivalent. This is a strong change that was triggered by IT functionalities on the Internet.
In a company, this example of user contribution can result in an encyclopedia of the company’s internal terms and items not found or not allowed outside the premises (or better, outside the internal network). It might also be a repository, as described in Chapter 5, “Leveraging Reusable Assets.”
8.2.4 Services for Mashups
Besides its searching functionality, which was Google’s first intention when getting on the Internet, their website is a good example of providing services for mashups. Mashups are Web applications that combine data/functionality from more than one source. Allowing any user via the Web to use the services offered within applications on his or her end devices, you have the provision of services for mashups. For example, you can add geographical information to items that have been found by the Google search. As a service for mashups, Google Maps services can be used directly by end users in a very convenient fashion. Any Maps service itself can be combined with other services (for instance, Google’s own Find Businesses function), generating higher value to the users. Google exposes the Maps services as remixable services so that there are now a huge number of mashups (programmed combinations of those) using these services.
Transferred to IT and business operations at a company, you can ask your company’s IT shop to provide several distinguished services that the end users, your employees, can combine with any other accepted services and applications to create suitable solutions for them. The services that are ready, approved, and accepted by an authority unit within your company can be kept in a pool with appropriate trust marks or certifications issued by the IT shop or a trusted provider.
The end users can then access the services in their mashups that run on their site. Enabling services for mashups and providing appropriate support by your IT shop means that every employee becomes a kind of programmer who shortcuts the traditional way of getting application solutions. For the IT shop, this means a change from a general solution provider to becoming an authority who cares for the infrastructure and the standards and who develops services and approves external services that are ready to be used within your company.
In the sense as earlier described by O’Reilly, concrete applications development becomes more an end-user task, and no longer shows version cycles and release dates. However, there has to be a sufficient number of useful and valuable services available that can be found in the repository and are made available via the enterprise service bus (ESB) infrastructure.
Going a step further, as Google offers a certain set of services from their site, it will cause more service providers to offer software that runs at some place in the network and delivers well-defined results. Over time, we can expect more providers to come to the market so that economically we see the start of a software as a service(SaaS) economy. This means a new software-delivery model where software vendors are developing Web-native software applications (web services) that are independently hosted and operated by application providers to the users. The customers no longer pay any fees for owning the software, but for the use of it.
As soon as Internet service providers begin charging for the use of their services or services of third parties that they are hosting, there is a new market. That new market consists of software vendors who develop and offer services implemented in software and application service providers (or perhaps better, SaaS providers) who make those services available for end users to build their solutions on their ends.
Assuming a market for SaaS has developed, there are new alternatives for companies to choose from. The available services can be used to complement the existing IT, for example if there is a need for support of special tasks that are too expensive to develop a solution for.
This complementing job can be done by specialists at the IT department, or a company can decide to fully rely on a service provider to deliver the services according an agreement. Or depending on the policies, the trustworthiness of the application services providers, and finally the savvy of the employees, the CIO can develop a strategy of allowing (or in certain cases, encouraging) the use of mashups within the enterprise, especially when the advantages outweigh the risks. In fact, as Tim O’Reilly envisions it, this may become the norm for a Web 2.0 company.
8.2.5 User Contribution and User Ratings
YouTube leverages user contribution and user ratings. With YouTube, we see a platform that addresses the human urge to express oneself. Digital cameras enable people to create films at a low cost, and more and more people become their own film directors, editors, and actors.
Not everybody makes it to Hollywood to become a star, but cameras at affordable price points enable every person to star in home movies and publish them via the Internet. Rating systems fuel competition, and the published number of downloads and good ratings are what motivate people to produce and upload more films and better films.
When it comes to inappropriate material, this platform supports a self-controlling system in which each user can remove those films he doesn’t want to view. In this way, a democracy is in place here in which everybody can become a star if so elected by one’s peers. Groups, subgroups, and discussion forums can be initiated by anyone because everyone determines what goes on the site and what changes. Users keep it dynamic, making other people want to visit the site to see what has changed, what new ideas came up, and what new discussion topics are online among one’s family and friends or other social contacts. In this way, advertising is mouth to mouth as well as the traditional, electronic way. Other media takes input from the site and publishes information about these stars, reinforcing the attraction.
For companies, you can imagine innovation campaigns presented on an internal platform, discussed, and voted on. Ideas are easier spread than ever before. For any consumer/customer-oriented idea, the ratings, visitor counts, discussion content, and remarks by the target groups provide valuable input and help to determine corporate decisions.
For the IBM CEO Report 2007, the participating CEOs were asked what they considered to be the most significant source of innovative ideas for their company. The results (see Figure 8-1) clearly show that the power of innovation that comes from the direct participation of employees and customers is stronger than what the think tanks and highly paid experts in the research and development laboratories create.
Besides YouTube, there are several other examples of how quickly ideas become widely known and accepted, and finally turn into a serious business. Consider, for example, a site that offers royalty-free images and graphics by members to members. The contributors are mainly ambitious amateurs who start for recognition reasons. The site has ratings and comments, offers discussion forums, and so on. These build and foster a community of self-help members. Hints and experiences are exchanged around the globe, and thus the quality of the images improves and reaches professional levels. There are rules, processes, and distinguished roles (inspectors who monitor for quality standards and administrators responsible for any “issues” among the members).
As a business, the low prices attract buyers, especially those who would not be able to pay high prices for artistic work (perhaps available at professional sites). The quality level is kept high; contributors are motivated to deliver to high standards; software and technical equipment are available at affordable prices. The community helps to achieve all of that. Normally, in such communities, about 1 percent or 2 percent of the members act as contributors, whereas the rest are mere consumers/customers. You can find a detailed analysis of such an organization and how it developed its business in the iStockPhoto Case Study: How to evolve from a free community site to successful business, by Kempton Lam and Nisan Gabbay (2006), published at Startup-Review.
8.2.6 Summary of Observations
Web 2.0 brings social and technical aspects to the table. For businesses, social aspects are more fundamental and determining than the technologies. The Web 2.0 sites offer infrastructures and guidelines that enable members to participate in a community, which makes them feel connected. The members see themselves as not just employees who have been asked to deliver a requested work item; instead, they feel free to deliver what they think is their best work.
This type of open platform means that ideas often quickly become a hit and spread more quickly than an advertising campaign could. Communities of people with similar interests or complementary interests (the providers and customers of images) merge to make the audience more alert for innovation. This generates well-defined, well-known (due to voluntarily outing oneself) audiences in these interest groups that can more precisely become targets for marketing campaigns, unlike with many other media
People are attracted to these sites because of the common interests they share with the people participating in them. This implies a certain level of motivation to participate, mainly as consumers; but the small number of contributing members is highly motivated to improve their offered products. Items are often posted simply because members want to gain recognition or become famous among their peers. Some of these contributors make it to stars beyond the reach of a site and often act as advertisers for followers.
A site can grow to huge memberships, millions of daily hits, and millions or even billions of value created and traded. They reach the critical mass to become a valued business interest. Recently, Google acquired YouTube for $1.65 billion, and the established professional agent Getty Images bought the Canadian photographers platform iStockPhoto for $50 million. In each case, the new owners leave the platforms, rules, and guidelines in their core because these community-based ideas are what made them successful.
8.2.7 Technical Terms of Importance
From the technical perspective, most Web 2.0 sites have APIs for use by developers of mashup applications. Typically, Web 2.0 user interfaces apply the Ajax technology to achieve more responsive UIs.
220.127.116.11 What Is Ajax?
18.104.22.168 What Is REST?
REST stands for Representational State Transfer. It is the architectural model on which the World Wide Web is based. The term was introduced in the year 2000 in a Ph.D. dissertation by Roy Fielding.
Principles of REST include the following:
All relevant resources are addressable via Uniform Resource Identifiers (URIs).
Uniform access via HTTP: GET, POST, PUT, and DELETE.
Content type negotiation enables retrieval of alternative representations from the same URI.
REST style services are easy to access from code running in Web browsers, any other client, or servers, which is popular in the context of Ajax.
Takes full advantage of the WWW caching infrastructure.
Serves multiple representations of the same resource.
In short, these network architecture principles allow a seamless appearance of the websites to the users. Due to REST, the Internet is a dynamic network, not just point-to-point connections that could be based on remote procedure call (RPC) technology.
22.214.171.124 What Is RSS?
Another technical term that is important in this context is RSS. It stands for Really Simple Syndication, which describes a family of so-called Web feeds, ways to put information by independent users onto common platforms and enable a close to real-time representation of the updated content to its users subscribed to such a feed. This technique allows for updating one’s websites in an automated manner, instead of manually editing them. Therefore, it is often used for blog sites, news headlines, sports tickers, and podcasts.
The history of RSS goes back to 1995, when Ramanathan Guha and his team at Apple Computer’s Advanced Technology Group developed their first approach to syndication on the Web, called Meta Content Framework (MCF). Delivered by the RSS Advisory Board in 2002 under the name of RSS 2.0, it found initial acceptance as a standard. However, it still took a few more years before RSS gained broad acceptance in the IT industry. One can say RSS became the standard when finally, in 2006, all usual web browsers incorporated RSS readers.
8.2.8 Everybody Knows Everything
The idea behind Web 2.0 is that everybody knows everything. In a way, the individual participant connected to the Internet becomes more involved and more empowered than ever before when dealing with technologies, especially with IT.
Self-help groups often emerge and become serious businesses, such as when a hobbyist platform on the Internet run by a photographer turns into a leading stock photography provider relying on thousands of hobby or semiprofessional photographers who sell millions of images to millions of customers at lower prices than any established vendor or broker. In this case, stock photographs become affordable to a larger clientele.
8.2.9 New Models
In other words, the market has been turned over. Everybody can offer everything to everybody else; one just needs to be connected by the Internet and using a platform for communication, which involves mainly advertising, searching, selling, and recommending. This means that new social models, technologies, and businesses will arise:
New social models in which user-generated content can be as valuable as traditional media, where social networks form and grow with tremendous speed, where truly global audiences can be reached more easily, and where rich media from photos to videos become a part of everyday life online. Here community mechanisms play a role similar to the essential one they had historically under rural or small-town conditions. The difference is now the participants no longer meet in one real place in town to discuss the issues and to develop new ideas; instead, they meet “virtually” all over the network at any time.
New technology models let software become a service. The Internet becomes the development platform, where online services and data are mixed and matched, and syndication of content becomes the glue across the network that is based on reliable high-speed, ubiquitous access as the norm. Tools are developing that allow every user to arrange IT as it is needed in any current situation.
New business models that are facilitated by changes in infrastructure costs, allowing companies to reach the “long tail” as defined by Chris Anderson (2006), which describes the large number of rather individual websites versus a small number of heavily accessed sites. Analyzing the resulting Pareto distribution, it shows that the sum of all visitors to the individual sites is as high as the ones on the favorite sites; in certain cases, it outnumbers the mainstream.
Pareto distribution: That is, a mathematical term for a type of distribution curves that shows a heavy head of many users (hits in Internet speech) for a few number of sites, but a very large number of other sites with fewer users, which is called the “long tail.” The sum of users in the long tail may easily outnumber the impressive number of users at the few strongly visited sites. In other words, the niches are larger in sum than the mainstream.
This makes companies turn to viral network-driven marketing, pay attention to the individuals, and gain from new advertising-based revenue opportunities. Based on these new technologies, a market for software as services and new ways to drive innovation by the customers emerges and quickly becomes the normal way to do the business.
These changes happen simultaneously for all three models. Figure 8-2 illustrates this.
8.2.10 Web 2.0 and the Service-Oriented Enterprise
You’ve already read in this chapter some Web 2.0 business concepts. Now take a look at the following list of principles that should be of interest to businesses, especially those enterprises that adhere to the philosophy of SOA:
Self-establishing communities are collaborating around topics of common business interest.
User contribution is a norm and requires treating users as coauthors and leveraging their skills.
Accumulation of user knowledge is used to make applications smarter the more people use them.
Users are enabled to add value by adding meta data (for example, rate, tag, bookmark, comment).
Users take control, and contribute to make applications most useful to them.
User interface are separated from services to make services more reusable.
Fine-grained access to data that supports mashups.
The general use of mashups allows combining existing services into new, useful applications and joining information from various sources.
Situational applications are developed byline of business users on the spot and help to make businesses more agile.
The general use of Ajax allows to enable rich, interactive, highly responsive web UIs.
Use of semantic tags and microformats enables dynamic augmentation with contextual menus or information.
This list is not and will never be complete. After all, new ideas are continually being conceived and propagated, and then after having been accepted by the masses of Internet users they are finally turned into business innovations. However, from insight we have gained to the present, we can derive valuable guidelines to build the SOA collaborative environment.
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:
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.
Global contextual collaboration.
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.
World Wide Widgets.
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.
8.3.3 Infrastructure Conditions for the Application Ecosystem
From the technology perspective, the following conditions have to be achieved:
Provide an enterprise-ready Web 2.0 platform.
Drive the architecture of Web 2.0 deep into the enterprise, including the organizational and development aspects described in Chapter 4, “A Methodology for Service Modeling and Design.”
Deliver end-to-end quality of service (QoS) that is demanded by enterprise environments (transactions, security, reliability, availability, and so on) without compromising the simplicity of the REST/Web 2.0 paradigm.
Establish a service provisioning for REST components.
Create a distributed infrastructure that is capable of hosting and managing millions of transient and situational applications.
Enable fine-grained, dynamic mediation, caching, acceleration, and discovery from inexact description. This is a challenge for the middleware, the ESB, and related infrastructure services—a semantics support in the repository.
Enable integration of “browser-based middleware” for end-to-end management of all elements.
Care for security, provenance, and governance.
Build fine-grained distributed protection and rights management for both data and services.
Allow “real-time” monitoring of regulatory compliance, including alerts and notifications.
Enable provenance management in a remix-and-republish environment, matching the reuse promises of SOA.
Detailing all the listed items goes beyond the scope of this book. The items we mentioned and the collective thoughts we conveyed should help you build the ecosystem that is needed to gain the most from situational applications in the enterprise. At the time of this writing, several tools that support this approach are under development or being improved.
Further, we like to point to the IBM developerWorks and IBM alphaWorks sites where the individual solutions are discussed. Research results are presented and available for early users.
8.4 Benefits from SOA to Enterprise Operations
To determine the benefits to the enterprise operation, a look at the stakeholders is advised. The higher-level view lets one state that the market forces are aligning the stakeholders in the following ways:
The end users want access to their preferred data and widgets even as they change their framework of choice.
The content providers want their content to be available to as many users as possible (that is, on as many platforms as possible), but do not want to be saddled with providing different widgets for each framework.
The gadget and framework vendors need content and widgets for their frameworks or middleware products to be viable.
This means for real online services, the markets of all three types of vendors have to come together and find a common ground. There are already widely accepted standards for the technology base, namely Web services.
For Web services standards definitions and ongoing activities, visit the W3C.org.
Now, need is based on this standard definitions for the contents, the processing, and the use of any item offered. Some of those definitions are developed as so-called industry models, dictionaries, or encyclopedias. They contain and define all essential elements of a certain industry. Others define a catalog of common services that can be used in various contexts across industries. Those might be used to link business partners together similar to the APIs for SWIFT (Society for Worldwide Interbank Financial Telecommunication) for international money transfers between banks and EDI (Electronic Data Interchange).
Having such industry standards in place results in advantages for all involved parties, because one can concentrate on the essentials rather than fight for naming something or insisting on certain attributes for an entity used by a service. As always, after awhile, vendors recognize the larger benefits for their platforms that stem from open standards (as opposed to trying to chain all involved parties to proprietary definitions).
8.4.1 Social Networking Effects for the Web 2.0 Enterprise
Another kind of benefit comes from the social networking that Web 2.0 offers. Figure 8-3, the enterprise Web 2.0 spectrum, shows the broad range of the relevant aspects spanning from completely social items on one side of the scale to the rather technical definition of SOA, its underlying technology, on the other end.
From the social end of the scale, there are several benefits that a company can realize. The predominant items, which count for larger organizations, are as follows:
Discovery of new relationships in the company
Access to knowledge of the organization and beyond
Connections to information and subject matter experts far beyond one’s current network
Shared work by leveraging the connectedness of everything and everyone to work together in new ways
Improved quality of one’s work via expert peer testing, reviewing, and commenting in community forums
Execution of better business decisions (and faster) through access to the right people, information, and new tools to manage tasks and expedite collaboration with others
The larger an organization, the more these advantages apply. The Web 2.0 elements reduce the anonymity of large enterprises. In the past, an employee relied on one LOB to point to the partners within the company to cooperate; Reorganizations, then, required changes to organizational charts to reflect changed conditions. New LOBs, new managers, and new employees in the line needed to be nominated. When Web 2.0 elements are in place and actively used by the workforce, each individual is more powerful. The individual employee can find the best connections, team up for better solutions, and deliver higher satisfaction to the customers.
8.4.2 Business Opportunities from Web 2.0 in a Service-Oriented Enterprise
Introducing an SOA-based organization with required IT services and implementing the described Web 2.0 elements helps the company to gain business opportunities. Summarizing, we can state the introduction of SOA and Web 2.0 in the enterprise:
Empowers the LOB.
Enables innovation (and thus quick reaction to business situations) at the departmental and individual levels.
Eliminates (to a large degree), via the guided introduction of mashup and other situational applications, the often-frustrating communication and interpretations of requirements.
Improves employee morale through empowerment and reduced bureaucracy. Important here is that the guidelines and rules be general purpose. In other words, you define and communicate the constitution of the company adjusted to service-oriented operations with Web 2.0 elements.
Generates business fit of IT.
Applications are better suited to the LOB needs.
Short-term business domain needs are satisfied because the user becomes the developer.
Addresses the long tail of the company’s customers (as explained earlier in this chapter).
Tactical solutions become part of the IT portfolio.
Shortens lifecycle and results in better ROI.
Less time is spent on development (utilizing reuse—see the earlier chapters, especially Chapter 5).
The development process itself becomes less expensive because the IT shop provides a platform, the rules, guidelines, the repository, and the governance instrumentation. The IT shop provides satisfying support for tools to allow end users to build situational applications to their individual needs.
Generally we can state that our experiences from projects at various organizations, including IBM, support the benefits of SOA and Web 2.0 to the individual and the business goals. It fits to the changing world, which is interconnected via the Internet, operating, trading, and dealing globally with employees on every continent. It allows 24 hours operating, developing, and production of the goods demanded by the customers worldwide.
As people discover the advantages of Web 2.0 in their private lives, they call for getting similar power at their fingertips at work. As shown, the advantages exist, and are ready to be exploited. However, there are also challenges to face and obstacles to overcome that derive from the introduction of SOA and Web 2.0 in the enterprise.
8.4.3 Challenges of the Mergence of SOA and Web 2.0 in the Enterprise
The first and most often the most worrying aspect is about controlling the chaos that seems to arise when everybody starts creating his or her own applications from company and external services. With the infrastructure in place, the end users start to build and run their mashups under the radar of the teams who are responsible for the IT in the company. There are no formal budgets assigned because the users create the mashups as part of their work. This means companies have to revise IT plans and business plans to reflect what employees are doing.
As explained earlier, users become co-developers, making the immediate implementation of solutions the objective. The board of IT architects or an equivalent governance institution should find ways to let users learn about architecture, installing watchdogs to gain control and support quality assurance. Certain education should be set up for the mashup-savvy users to ensure the required level of security and avoid malign behaviors. The latter should be cared for by quality assurance of the offered services by the providers, be them internal IT or external.
The tools and means of Web 2.0 invite spontaneous evolution, keeping every application in a perpetual beta state. Again, this is a question of automated quality assurance and inspections for severe violations. What an end user regards as “good enough” certainly will not pass traditional quality assurance, and when delivered by a professional IT shop, it may cause protests. Now the users themselves develop and implement many of their applications, and the service levels lower. Well-defined company standards or reliance on an industry canon can avoid poor quality, which would certainly counteract the expected benefits.
Finally, best practices do not yet exist for the enterprise- or industry-wide use of Web 2.0 elements outside the web communities where those have been developed. This means the involved parties feel left alone. But, in turn, it can fuel the community aspects and the team spirit to overcome it. In this context, pioneers among the employees are the ones taking the lead, connecting within and beyond the company boundaries, and it might become the norm for application development, as it is desired for agile lines of business.
Setting standards, implementing a governance board, and teaching the guidelines, as well installing control mechanisms are there to avoid that integration is pushed to the edge. Over time, we have no longer standard applications control the business processes and the operation flows, but services and RSS feeds take over.
A mix of internal and external services on a global scale will bring multiple development environments and middleware platforms into the game. Preferences of individuals may determine directions rather than a reuse-oriented standard. A trusted board of IT experts, not just knowing the existing systems but well experienced with Web 2.0 and recognized by the community, is needed to keep control of the framework and tools used by the users.
Letting happen uncontrolled developing any kind of mashups may cause severe problems to management of the situational and enterprise applications. So, the hard problems at enterprise IT gets harder (for example, the root cause analysis, error detection, data protection, and patch management). This all is, as you now know, part of SOA governance.
As shown, there are plenty of opportunities to gain benefits from an SOA in the enterprise. The described elements of Web 2.0 are providing the end user access to services. The loosely coupled nature of the services allows the end user to combine applications to suit immediate needs. A well-organized registry and repository of services is the backbone for a governed operation and supports most efficient application development.
A well-defined and deliberately cared for repository of people lets employees
get instantaneous access to each other and allows them to collaborate at solving
customer demands in shortest time at highest quality. All the described elements
help to create the desired business agility in the company.
However, as shown in this book, there are practical guidelines, lessons learned from first pilots and enterprises that started the journey toward SOA several years ago. All this we collected from our project teams working on real-life solutions, and it should be helpful to every enterprise architect who is responsible for his/her company transition. In the last chapter, we give an outlook on expected technology and business development based on SOA and Web 2.0 as we know it today.