A Consultant's View
Prairie Trail Software, Inc. ............................................................. February 2007
Service Oriented Architecture is a phrase that large companies have been using to describe how they are turning their network efforts from an internal focus to being available on the web. Large companies are planning multi-year efforts to redesign their network platforms so that individual parts can be accessed via the web. Unfortunately, there aren't a lot of case studies yet. This is new ground and many companies are using themselves as beta testers.
Mashups are the small companies' response to that effort. A mashup is where a small company uses parts of a larger company’s web site and mixes that with information from other sites or systems in order to build new value. For example, one company took the access points of PayPal and mixed it with some logic to offer a loyalty program to their customers. Other companies are mixing Google Maps capabilities to track activity in the area. A conference at USC was fed live into a multi-person online simulation game—mixing real life action into a game.
Mashups face interesting challenges. Although some companies, such as Google or Paypal, may welcome or encourage others to incorporate their services, many companies do not like others to build web pages containing data from their web site — Duh!—especially when that data is acquired through "screen scraping".
Screen scraping is where the first company does not provide any interface to their system, so the second company parses the data they want from HTML sent to the browser. Several lawsuits have been filed.
What is the legal standing of this activity? In the US, the creative organization and presentation of data can be copyrighted, but not the data itself. Mashups present a new organization and presentation of that data. On the other hand, the European Union protects databases and is pressing the US to adopt matching laws.
The biggest issue in the US is that of privacy. We have allowed, and often willfully put, a lot of data about ourselves on the web because it was so hard to gather that information. Today, companies pull information from so many parts and places that privacy is disappearing. People who are listed on the web can have almost everything about them gathered together and handed to a third party without their knowledge. How’s that for mashing information? Anonymity is disappearing fast.
While we applaud the efforts of so many people to build Service Oriented Architecture computer systems in the large companies, it takes a lot of effort on their part, and can involve large numbers of people. Mashups are being done by small groups or even one person companies. The situation is similar to that of electrical utility companies— a large company builds the framework and small companies build the use.
In the payment processing field there are two different views of software pricing.
It costs only a few bucks to load a terminal, so software is cheap.
The costs of certifying a system is so large that only the larger companies can do it.
Why these two views?
In Dreaming in Code, Scott Rosenberg points out that it is the initial creation of software that is so expensive.
Once software is written, and proven, it is trivially cheap to make another copy of it.
Thus, people copy programs, games, and operating systems all the time.
Why does the initial creation cost so much? Part of the problem is that writing software is a creative act. That is far different from a manufacturing process. In manufacturing, the work is in moving parts around and fastening them together. To make more, simply add to the production line. In writing software, we are creating interactions between items. It is a linear process at best and at worst it is like downtown rush hour with a major sports event during a rainstorm. Nobody is going to get through that mess quickly.
So, what makes software so expensive? Everything has to work together perfectly. If parts could fail, and not bring down the system, then things wouldn’t have to be so perfect. Contrast that with your car. It is somewhat like low tire pressure meaning that the engine won’t turn over. Nobody wants a car like that.
We try to write systems, test them, certify them, and then, never write another because we can simply copy this one.
.
Dave Randolph,
President, Prairie Trail Software