Web companies want to morph into something far more ambitious: vast software ecosystems where thousands of outside developers write applications that tie into their wares. Salesforce.com is applying the model pioneered by Amazon.com and eBay to its software services. Now, it's Google's turn.
Google this week hosts its first developers conference, expecting more than 1,000 developers at a sold-out San Jose Convention Center and 5,000 at 10 other locations around the world. The agenda includes presentations on Google's APIs and developer tools, plus sessions on map mashups, distributed computing using Ajax and XML, and custom search engines.
The Google forum follows Salesforce's first developers conference, where the company last week introduced the equivalent of a complete development platform for Web services. Salesforce is proposing that its online application infrastructure serve as the launchpad for companies' service-oriented architectures. Salesforce has created an online operating system of sorts to manage application deployment and services to handle linkages to other Web services.
Applications built with Saleforce's Apex language will run in a Salesforce data center. Even the development process will take place on Salesforce servers, shared with hundreds or possibly thousands of other developers. "You as an enterprise programmer develop code yourself, but you have Salesforce run and maintain it," says Rebecca Wettemann, an analyst with Nucleus Research.
Apex, available now in a developer preview version, is about 80% Java, with the remainder being proprietary extensions to get apps to run in an online mode. Salesforce execs once described Apex as a language for customizing existing Salesforce applications. At last week's conference in Santa Clara, Calif., they illustrated how Apex can be teamed with online resources already in place, such as the Salesforce database service, to build new applications. Apex can also attach to services already on the Web, such as services that estimate the shipping expense between two points, return the credit rating of a new customer, or verify a shipping address.
Another radical notion: A company doesn't need to be a paying Salesforce customer to use Apex--composite apps built with Apex can stand alone. And Salesforce will be responsible for ensuring that its development environment continues to provide access to databases and outside services and remains compatible with other software.
SOA consultant David Linthicum says the Salesforce technology will let developers do a lot of the things they do now with the "big stack players"--BEA's WebLogic, IBM's WebSphere, Oracle's middleware. "It's a game-changing technology," he says.
CRMfusion, a six-employee software company near Toronto, built a prototype of its latest application, DupesBlocker, in less than three weeks using the Salesforce technology, says CEO Glenn Nelson. CRMfusion wanted DupesBlocker, which searches for duplicates in a company's ordering, billing, and fulfillment systems, to be able to find and send alerts on duplicates in real time, rather than running in the background in batch mode. Getting more real-time information into employees' hands is a key goal of many SOA projects. With an online application that meshes easily with the data in the Salesforce database service, DupesBlocker works by using triggers--embedded logic that fires when a certain condition is met--to notify managers when a duplicate is found.
The simplicity of coding such an application and running it on the Salesforce platform "saves us a lot of code development, test, and quality assurance time," Nelson says. The biggest advantage of Salesforce's approach is its scalability, he adds. Without the Salesforce platform behind it, CRMfusion would have to monitor application usage constantly and build out its application availability by adding servers in its own data center. Instead, it relies on Salesforce's scalable data center resources.
Nelson isn't yet selling DupesBlocker because Salesforce hasn't yet launched Apex 1.0 and related services. Salesforce SOA capabilities are slated for August, Apex 1.0 for December.
BUZZ FACTOR
As Web ecosystems emerge, don't be surprised to see them overlap in new and interesting ways.
At last week's Salesforce conference, CEO Marc Benioff alluded to a Wall Street Journal report on an alliance between Salesforce and Google, without confirming anything. There may be something to the buzz: Salesforce previewed an ability to connect its APIs to Google's "to bidirectionally update Google spreadsheets," according to a report written by First Albany analyst Mark Murphy.
Google and Salesforce already do a lot of things together, says Nucleus Research's Wettemann. Many mashups on the Web have been created by Salesforce users tapping into Google Docs & Spreadsheets to incorporate stock updates and other financial data, for example.
Ultimately, all the development activity around Web ecosystems translates into a financial payday for the companies that get them right. Amazon, with 240,000 developers registered to use its services, sells more merchandise; eBay, seeing 50% of its merchandise loaded from software developed by third parties, completes more auctions; and Salesforce stands to license more software.
Social networking site Facebook opened its software to outsiders because there's more value from working with third-party developers than it could ever create on its own, says CEO Mark Zuckerberg. More than 65 developer partners have written software applications using Facebook's programming interfaces and a database tool called Facebook Query Language.
Last week, Facebook's f8 conference attracted 750 developers. Here's just one example of the kind of innovation they're after: Amazon has created an application that lets Facebook users write book reviews and publish them on their profile pages. Visitors viewing those pages and reading the reviews can click a "Buy at Amazon" button to make a transaction. The application relies on Amazon E-Commerce Service, which is part of Amazon Web Services. Amazon and Facebook are working on other applications along similar lines.
Yahoo held its first developer day last fall, where it sponsored a contest to see who could come up with the most innovative applications in 24 hours using its services. Such efforts represent a significant expansion of Web strategy.
"A massively popular social Web site is reborn as an operating system today," says Max Levchin, founder and CEO of social widget maker Slide.
EBay has transformed into much more than an auction site. It's a development hub, with 50,000 programmers using its APIs to connect sellers and buyers, tapping into PayPal for payments. Amazon has begun supplying developers with access to its data center infrastructure through programs such as Simple Storage Service and Elastic Compute Cloud. The flexible, scalable infrastructure that powers Amazon's retail business is being extended to outsiders as a readily available service.
GET ON THE STICK
Application ecosystems are a bold next step for established Web sites. "It's been on the project list since 2001," says Lee Thompson, VP and CTO of E-Trade, who envisions letting investors craft customized trading systems. "There are a lot of intelligent traders," he says. "These guys can program their own trading strategies if we could give them the tools, the APIs, and some examples of code" to get them started. However, E-Trade has been occupied with expanding the coverage of its site to six overseas exchanges, including those in Hong Kong, London, and Tokyo. So it has yet to build the software tools and programming interfaces that would turn investors into developers.
How might E-Trade do it? Thompson would apply lessons learned from open source projects, where a community forms around a common goal, troubleshoots mistakes together, and builds new systems by combining skills. With a modern scripting language such as Ruby, a programming framework such as Ruby on Rails, and easily constructed Web services, a developer community could be formed around E-Trade. The brokerage firm might begin with smaller brokerage houses that want to link to E-Trade. From there, it would be a hop and a skip to include individual, computer-literate investors, the CTO says.
New development tools are being offered to programmers who want to be a part of the new Web ecosystems. Microsoft last week said that even nonprofessional developers can use the company's Popfly mashup tool, which is still in test mode, and Visual Studio Express to build interactive applications for Facebook.
With tools, resources, and infrastructure available to them, developers will vote with their applications which software ecosystems--Facebook, Google, Saleforce--they want to support.
--With Thomas Claburn
Photo of bio-dome courtesy of Superstock