Enterprise Mashups: The New Face of Your SOA

Enterprise mashups, one of the hottest Web 2.0 technologies today, could impact your SOA in a very positive way. But are you ready for them? How does an SOA architect prepare for this dynamic technology?
##CONTINUE##
Do you know what a mashup is and what value it brings to an enterprise? Can you distinguish between a consumer mashup and an enterprise mashup? Equally important, do you understand the difference between a mashup and popular enterprise technologies like business intelligence, data warehouses, portals, and the Enterprise Service Bus?

Mashups are not exactly new. Analysts and pundits alike have been talking about "composite applications" since the birth of the Internet. Today there are thousands of consumer-focused mashups. One popular mashup site, Programmable Web, reports that three new mashups have been registered every single day for the last two years.

Like many other buzz-laden terms (Web 2.0, for instance), the term mashup isn't subject to formal definition by any standards-setting body. One mashup expert is fond of saying that if you "ask 10 self-proclaimed mashup developers what a mashup is...you just might get 10 different answers." And there's considerable overuse and misuse of the term in software marketing. The mashup label has been used and abused by consumer and business-oriented software vendors alike in such diverse functional areas as portals, business process management, document/content management, Web scraping/clipping, and even knowledge management.

So what's a pure mashup? Mashups solve the quintessential information sharing problem: accessing and combining data from disparate internal and external data sources in ways that were not pre-imagined. Imagine connecting SAP Accounts Receivable via NetWeaver services, Oracle Human Resources via Fusion services, and some Mule-driven SOA services from a legacy database - and doing it through the global LDAP server and in a PKI infrastructure. That's a pure mashup in the context of an enterprise.

Unfortunately, most well-known mashups are much simpler: take data from one source of information and plot that data on an interactive map. But this course pattern hardly applies in the sophisticated world of the enterprise. For the purposes of this discussion, it will help to juxtapose consumer mashups from enterprise mashups.

A consumer mashup is an application that combines data from multiple public sources in the browser and organizes it through a simple browser user interface. A good example is HousingMaps (http://www.housingmaps.com), which combines Craigslist rental listings with Google Maps for a visual representation of local apartments for rent.

An enterprise mashup, also referred to as a business mashup, is an application that combines data from multiple internal and public sources and publishes the results to enterprise portals, application development tools, or as a service in an SOA cloud. Enterprise mashups must also interoperate with enterprise application technologies for security, governance, monitoring, and availability.

Based on this description, an enterprise mashup might seem similar to other application development and integration technologies like ESBs, BPM, business intelligence, portals, or even development languages like Java. But enterprise mashups fill a niche in the IT bag of tricks and there are a few unique characteristics that separate enterprise mashups from their software cousins:

User-centric - Mashups are created for the consuming user, often by the users themselves. Unlike terse black-box back-end integration tools like ESBs, BPM, and BPEL, users can connect the data dots themselves. This implies many user-centric qualities:

  • Normalization of the data sources into a seamless virtual cloud of look-alike services
  • A visual drag-and-drop UI to wire the services together
  • A robust set of actions to tailor the output to the individual user's needs
  • Support for collaborative work such as tagging, searching, and sharing

Without these characteristics, we're back to sending the users to IT for more development.

Bite-Size - Mashup users typically deal with small amounts of knowledge-oriented information (as opposed to IT-managed integrations that typically deal with large amounts of transactional information). Users are, in effect, performing micro-integrations that take minutes to hours to complete unlike major integration or BI efforts that have timelines of months to years. Most mashups are connecting to a limited set of services; more than six or seven in any mashups and you should likely be considering another way to approach the problem.

Web-accessible - Increasingly popular standards-based interface/communication technologies (such as WSDL, REST, and RSS) make mashups possible. But the format is only part of the story. Mashups are built on data that could reasonably be displayed quickly in a Web browser or, more precisely, data that doesn't require too much manipulation for the user to make sense of it. And the inverse is true as well: once built, mashups inherently produce information results that also conform to the "ready to be read in a browser" formats. And because of this portability of source data, mashups are most relevant when they involve a dynamic combination of external data sources and internal data source (public and private).

These qualities certainly differentiate mashups from long-cycle IT-driven technologies like ESBs, BI, BPM, and enterprise portals. Interestingly, mashups also compliment these technologies by either consuming their outputs from them (ESB) or providing inputs to them (BI, BPM, portals).

Enterprise mashups are still new enough that few qualified and quantified ROI studies exist, but anecdotal evidence indicates that the benefits of enterprise mashups can be substantial. For business users, enterprise mashups address so called long tail information needs that are too infrequent (low latency) to justify big IT efforts. And rest assured there's substantial value in mashups for IT as well, as they improve the return-on-assets of the existing systems mashups are built on. And that's why they compliment SOA efforts so well.

Planning for SOA-Driven Enterprise Mashups
Politics, Mashups, and Your SOA
Let's face it, SOA is plumbing. Nice, shiny, efficient plumbing to be sure, but still plumbing. And your average business person (think sales manager, marketing director, finance officer, or customer support rep) could care less about it. In fact, if they think about it all, they probably just hope it stays right where it is: out-of-sight and running quietly. These same business folk probably appreciate the marble floors, wood-paneled doors, and brass fixtures that surround this plumbing much more. In other words, they like that bit of "stuff" that actually frames the plumbing and brings it to life.

The ROI of SOA is difficult, at best, to define and measure. While experts differ on issues like the importance of SOA ROI, how to calculate SOA ROI (if at all), and why we don't have more of it, they all seem to agree on one thing: Enterprise-wide support for SOA hinges on the ability to demonstrate value to the business at large - more growth, revenue opportunities, and all that good stuff. And that's where enterprise mashups can greatly enhance the ROI of an SOA.

Enterprise mashup implementations drag the SOA out of the proverbial IT basement and onto the end-user's desks. This is not only highly visible but it's user-driven, giving IT a way to enhance that elusive SOA ROI, give users an ownership stake in the SOA, and improve IT contribution to leading-edge business needs. But historically IT and business don't have a great deal of experience in working harmoniously (particularly in dynamic areas like this) so the first lesson of SOA-driven mashups is simple: be prepared for political and social changes among and between the business and IT groups that are involved in your SOA-driven mashups. Mashups don't mean an end to IT but they certainly do proscribe a very different kind of role.

Mashups Change the Nature of SOA
Beyond the changes in the people dynamics, there are a number of very practical synergies between mashups and your SOA that have implications for your SOA design. Each of them holds lessons and messages for the SOA architect. The most important of these synergies include:

  1. Virtualization: Mashups can help create normalized "virtual" services from sources that haven't been "SOA'd" yet. It's no secret that SOA efforts can take years. Until the formal SOA magic has been applied everywhere, a quick, standardized service can help users get started earlier than otherwise.
  2. Right-sizing: Mashups let users "right-size" the granularity of services. Now IT doesn't have to guess/study/analyze whether a service offers data that is "too specific," "too general," "too dated," or "too cold."
  3. Collaboration: Mashups let users share their resulting services, making them a part of the service-generating network. Now IT doesn't have to do it alone.
  4. Visualization: Mashups let end users visualize the SOA in graphs, charts, tables, and maps. Instead of hoping the aging corporate portal has a place/way to get services visualized in the way(s) the users want, each user can do it to meet their own ever-changing needs.
  5. Micro-Combination: Mashups let users join in data from outside the enterprise. Today's SOA efforts are largely inwardly focused. But users often want to include external data in their work. Mashups don't care and good mashup software makes the actual location of a data service irrelevant.

Leverage Your SOA Security for Your Mashups
The synergies between SOA and mashups are only the beginning of the story. Mashups must play nicely in the larger, typically-complicated security and governance enterprise ecosystem you've built around your SOA. From our original enterprise mashup definition and the interaction patterns above we can extract the following important security/governance requirements:

  • Have a Bridge: To truly leverage your ever-growing list of SOA services, you'll want an easy-to-use bridge that moves SOA service information between your SOA registry/repository and your enterprise mashup service repository. You do have a SOA registry/repository already, don't you?
  • Propagate Credentials: Your enterprise mashups must manage user authentication inherently, delegating credentials to the appropriate identity management system and all mashed-up services. Hence, your enterprise mashup solution must also let the mashup creator specify desired entitlements. And all of this must be treated uniformly and seamlessly when mashing up internal or external services.
  • Standardize and Deploy Incrementally: Your enterprise mashup must propagate credentials in the format the source services require. And this security/credential propagation must be built into the architecture because standards are weak here. Of the four service types, only JDBC/ODBC-compliant databases and WSDL (via WS-SecurityPolicy) have a somewhat "standard" credentials format, albeit ill-adopted. So your enterprise mashups must have the flexibility to pass user credentials in whatever form the service providers require, perhaps leaving a placeholder for new standards or custom formats.
  • Accommodate Syndication: Mashups are portable and you must imagine your mashup embedded in a Web 1.0 portal (such as BEA and Oracle Portal), in a Web 2.0 interface (such as Netvibes or Pageflakes), or your next-generation destination like an iPhone. Every mashup widget must maintain portable security and governance no matter where it goes.
Meeting these security and governance requirements can't be done as an afterthought. You must be proactive and persistent. But remember: innovation and security/governance don't have to be mutually exclusive. In fact, the more secure your SOA (and the mashups built from it), the more freedom you can give users to make use of this dynamic technology.

Practical Examples of SOA-Driven Enterprise Mashups
SOA-driven mashups have broad application in the enterprise across most departments, functions, and vertical applications. Based on market research and experience we've identified a number of mashups that are universally applicable. While many of these may seem trivial, ask yourself if you have implemented them all:

Customer Service: Mashup your call center application with third-party package tracking.
It's the solution to the classic "let me check another place" scenario. Mash up your order management system with logistics information from UPS or FedEx; you can even add a map to visualize order status. This mashup can give call center reps immediate access to order status and package tracking instead of forcing them to alt-tab between different applications, lower call times, and raising customer satisfaction at the same time.

Product Management: Mash up your competitive position in the marketplace.
There's a vast wealth of publicly available information about your competition - key announcements, news, financial performance, partnering, and business development, even speeches and marketing campaigns. Imagine a mashup that captured this - one that included an RSS feed from Google News on key competitor search terms, and benchmarked pricing on key competitive products against your own. This competitive intelligence mashup would be tailored to your particular product or territory, whether you are a retailer, consumer products company, technology company, pharmaceutical company, or another similarly competitive firm.

Community Engagement: Mash up your product defect tracking with code management, time-tracking systems, and blog commentary.
Odds are you have a number of known issues with your products and need to assess the severity of the problem in the market quickly. While we're not talking about critical safety defects in an automobile, we are talking about a bug in a piece of software or consumer electronics product. Mash up your bug database with comments on blogs and user forums to determine whether you should proactively address the issue before it balloons into a P.R. nightmare.

Research: Mash up independent medical, scientific, financial, or legal law research with your own internal data.
Whether your business deals with research in the medical, scientific, financial, or law fields, connecting emerging research data from third parties with your own internal work can be crucial to decision making. Mashing research provides users with quick access and comparison to time-sensitive information, providing better access to relevant research and allowing for better internal research decisions and discoveries.

Decision Support: Mash up your product specifications, revenue planning, and product information with other products on the market.
Whether your product information exists in Excel spreadsheets or an ERP system, you can easily mash up that data with external competitive information for better tracking of results, more accurate competitive information, and an increased time-to-market for your product. You can share these results with other users and have ad hoc access.

Transportation: Mashups for pre- and post-event logistics analysis.
Logistics companies operate sophisticated predictive analysis teams to coordinate supply and demand for their services. They need to coordinate capacity based on manufacturing schedules, market conditions, and weather. When they get it wrong, they drive around the country with empty trucks, or are forced to lease capacity from other providers, at the cost of corporate profits and customer service. Mashups can't solve the predictive analysis challenge but they are a great way to do post-mortem analysis. Create a mashup that polls data from prediction systems and compares it with data from real-time logistics systems. Bringing this data together, analysts can review performance and adjust their assumptions, making their analysis more accurate.

Financial Services: Mashups for real-time enterprise-wide risk management.
Traditional risk modeling is a challenge since it provides an incomplete picture of true risk - there are just too many internal and external sources of data, and these systems are overly focused on capturing internal information. When key external data is missed, uncovered risk becomes a major issue. Mashups can't prevent the next sub-prime lending crisis but a risk management mashup can improve decision making by combining traditional risk scoring models and scores with external information such as economic and jobs data, supplemental payment histories not found on credit reports (such as rent payments), and research on companies and individuals. Most importantly, mashups put the power to configure risk management information into the risk manager's hands himself - they no longer have to wait for IT to build yet another complex application that is outdated as soon as it's completed.

Government & Defense: Mashups for dynamic adaptive intelligence gathering.
Situational awareness is critical in both the military and technology sectors, and mashups are a key tool to meet that need. Intelligence analysts want real-time dashboards of current situations to make the right decisions - but this information must be collected from many internal and external data sources, and presented in an easy-to-digest dashboard. There's no time for ETL, sophisticated data integration, or complex processing - analysts want to see the data fast and make their own inferences. This is a great description of what a mashup is all about, and why the Defense Intelligence Agency recently built a desktop-like intelligence asset dashboard using mashup technology.

E-Commerce: Mashups for real-time competitive intelligence.
Every e-commerce manager knows that the e-tailing word is hyper-competitive, with price changes taking minutes and consumers using sophisticated scanning tools to move to the lowest priced sites. E-merchandisers need a near-instant snapshot of critical data - site traffic and performance statistics, competitive price and product mix, online ad spending, and consumer preferences, just to name a few. And they need it long before monthly internal reports or quarterly syndicated data. Every company with an e-presence can create a simple CI mashup that takes a competitor's top 10 seller list in a particular category and compares it to their own. Mashups can put the power right into the hands of the front-line merchandiser to ask and answer his own questions, and adjust the marketing mix faster.

Gartner recently named Enterprise Mashups a "Top 10 Strategic Technology for 2008," noting that "by 2010, Web mashups will be the dominant model (80%) for the creation of composite enterprise applications." The time for mashups has come. And it's time every SOA architect included enterprise mashups as part of their SOA initiative.

-----------------------------
BY John Crupi, Chris Warner
Source:CLOUD COMPUTING JOURNAL

1 comments:

jack said...

Nice blog, here is some more information on iPhone source codes, buy iPhone source codes here at only for $5 useful for learners, students, small companies, small start up companies to get this offer mention this code “PRA” or contact me at sjack.man222@gmail.com

 

Copyright 2008-2009 Daily IT News | Contact Us