A pioneer of Extreme Programming and test-driven development, Ward Cunningham is also the inventor of Wiki, a popular open source tool for Web-based collaboration. Jon Udell asked him to reflect on lessons learned as a practitioner of TDD and to describe how FIT (Framework for Integrated Test) enables programmers and business analysts to collaborate on testing business scenarios.
Stories by Jon Udell
The first server I connected to the Internet sat on the floor of my office, close enough so I could hear -- and feel -- its response to heavy load. It seems weird to admit that I relied on those sensory cues, but I've talked to enough system administrators to know I'm not alone. The sounds of a working machine enable the pattern recognition engine in your brain to create a baseline -- and to detect deviations from it -- in ways that are effortless, automatic, and incredibly efficient.
Tthe dusk that was thick on my copy of the 1985 Clocksin and Mellish classic, Programming Prolog. But Ted Neward, author of the forthcoming book Effective Enterprise Java, brought it all rushing back: expert systems, declarative rules engines, predicate calculus, backward- vs forward-chaining evaluation.
Kingsley Idehen had planned to become a genetic engineer. But when he wound up in the business world he became fascinated with IT infrastructure.
The other day I had to send somebody a trio of multimegabyte TIFF files. She asked me to e-mail them. Instead, I figured I'd make things easier for her by uploading the files to my FTP site and e-mailing her the URLS. Bad idea. She tried to open the files in her browser, but being a Windows browser, it wouldn't recognize them.
As the CEO of MySQL AB, the company behind the open-source database, MySQL, Marten Mickos is leading the company's move into the enterprise market against players such as Sybase, Oracle, IBM, and Microsoft. The company recently announced optimization for the Intel Itanium 2 processor running Linux, directed at large databases, data mining, and other enterprise applications. Jon Udell spoke with Mickos about dual licensing, modular architecture, and the perception vs. the reality of MySQL.
We’ve come to depend on applications that can undo everything they do. In Microsoft’s Word, for example, you can reverse a series of edits by leaning on Control-Z, and you can restore them with Control-Y. But when you save the file, your undo stack evaporates and the last edit wins. If you accidentally delete the file, you might be out of luck because the Recycle Bin only works when applications (primarily Internet Explorer) use the Windows shell API. If you accidentally overwrite the file, you’re almost certainly out of luck.
OpenLink Software Inc.'s newest iteration of the Virtuoso database engine is geared to take the wild innovation of its predecessor to new heights. Adding to Version 2.7's support for XML, Web services, and Internet standards -- a list longer than your arm -- the forthcoming Version 3.0 will also host ASP.Net pages and user-defined functions written in .Net languages on both Windows and Linux, more than proving it worth a look.
In July 2001, I attended a historic session on .Net at the O'Reilly Open Source Convention in San Diego. David Stutz, ho recently and spectacularly left Microsoft, spoke first. He talked about the ECMA standards for C# and the Common Language Infrastructure, of which Microsoft's .Net runtime, framework, and languages are commercial implementations. (Those ECMA standards were ratified in December 2001; ISO ratification is now imminent as well.) Then he introduced Rotor, the "shared-source" implementation of those standards -- and the project Stutz managed until his departure.
Groove Networks Inc. founder Ray Ozzie and his teams have always pretended to build application software. But what they have actually delivered are the operating systems of the future -- years ahead of schedule.
SOA (service-oriented architecture), we agree, is the way of the future. We'll build loosely coupled Web services now and wire them up into composite systems later. The benefits are clear: scalability, OS and language neutrality, easy integration. But as "later" starts to resolve into a date like 2003, or 2004, it's also becoming clear that SOA raises challenging issues. How, for example, do you monitor, test, and debug a distributed system when only some of its components are under your direct control?
Now that we all agree Web services must converse in a loosely coupled and asynchronous manner, it's clear that message-oriented middleware has a vital role to play. SOAP traffic usually cruises the HTTP highway, but it doesn't have to. We've talked to developers who are hitching rides on WebSphere MQ (formerly MQSeries), Microsoft Corp. Message Queue and JMS (Java Message Service). Even as the traditional messaging vendors reach out to the Web, upstarts such as Kenamea and KnowNow are building prototypes of what could become a Web-native messaging layer. These new products bring the classic benefits -- queueing, guaranteed exactly once delivery, and transactions -- across the Web and all the way down to the desktop.
The browser is today, and will for some time remain, the dominant way to interact with Web services on the desktop. More accurately it's a platform that supports many different modes of interaction. Cloud-based SOAP clients can reflect data into the browser as HTML. The browser can host Java, ActiveX, Flash, or other kinds of components that make SOAP calls; or the browser itself can make SOAP calls using its built-in script engine. The browser can also suck in raw XML data and process it locally, perhaps even while offline, using built-in parsing and transformation engines.
In discussions about Web services security, a large elephant enters the room: Public Key Infrastructure. PKI is a foundation of the trust services to which the SAML (Security Assertions Markup Language) and Liberty Alliance specifications refer. It also enables the signing and encryption of parts of documents as described by the WS-Security spec. Long before the Web services revolution began, PKI deployment and use was lagging behind expectations. E-commerce drove the adoption of server-side certificates, but client-side certificates, which can authenticate users to Web sites as well as sign and encrypt e-mail, never caught on.