To enforce a policy you simply declare it, and tools make it so -- without requiring the cooperation or even the knowledge of the programmers responsible for the affected classes.
Successful evolution can't simply be a matter of choosing the right boundary because that's a moving target. Even at a given point in time, there are many ways to draw the "right" boundaries. Linux, for example, is a so-called monolithic system. It shunned the microkernel architecture that became fashionable years ago, yet it enjoys wild success. And while Windows and Mac OS X embrace the microkernel approach, nobody calls that the key to their success.
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.
The infusion of open source infrastructure into the enterprise is a remarkable success story, and I truly do regard those responsible as heroes. There are only so many infrastructure projects to go around, though. Whether and how open source energy flows into user-facing applications is a key question for enterprise IT.
We've waited so long for this moment to come. AOL, please don't screw it up. If you don't get why this matters, turn Mozilla over to an organization that does.
I won't bore you with the details. Let's just say that testing CSS and JavaScript effects on the three major OS platforms, in six different browsers, isn't a good use of anybody's time
Programmers spend time and effort translating between objects represented in high-level programming languages, such as Java, and structures stored in relational databases. Object databases can remove that impedance, automatically binding programming-language objects to database objects. But doing so transparently requires some deep magic.
The inexorable logic of Web services sets aside APIs in favor of protocols. XML messages flowing through the pipes enact those protocols. Anyone with authorized access to that plumbing will be able to monitor and inject messages quite easily, and everyone will know that's true.
Will rules-based programming just create a different kind of mess? I doubt anyone really knows, but I'm glad we're gearing up to do the experiment. Sooner or later, something like this has to work.
It seems kind of unfair, doesn't it? First, developers have to understand and accommodate users' habits. Then we have to deliver solutions that add value while surreptitiously encouraging users to adopt better habits. Finally, we have to bring to the surface, examine, and modify our own deeply-ingrained habits.
As vendors begin to identify themselves with SOA, I hope they won't apologize for the dirt road or demand that we pave it. SOAP traffic flowing over the Web and through e-mail isn't a bad thing. We already know how to proxy this stuff. We're about to discover a whole new set of reasons to do it.
The future of XML on the desktop is far from certain. Now is not the time to segment a market that has only just begun to grow. I hope Microsoft will reconsider. And I trust that the competition is paying attention.
These rules seem too trivial to mention. But they are seldom followed, even though they can spell the difference between a healthy information system that integrates with a society of peers and an isolated outcast.
A couple of years ago I predicted that Weblogs would emerge within the enterprise as a great way to manage project communication. I'm even more bullish on the concept today.
It's a question of priorities, and support for dynamic languages isn't high on the list for Java or .Net. If I could make one change to both of these environments, that would be it.
A healthy software ecosystem has to create niches where commercial and open-source projects can thrive. Java does that, but is neither an open standard nor a first-class citizen of the Windows platform. The Common Language Infrastructure is, at least in theory, both. Whether theory will become practice is an important question that makes Project Mono worth watching.
Last week Matt McAlister, InfoWorld's director of online product development, forwarded me a list of the week's 10 most-read stories. I was tickled to see a couple of my stories among them. "You can log in to the reporting system for more detail," Matt said, so I did.
Jean Paoli, the architect of Microsoft Office's XML capabilities, recently spent several hours showing me Microsoft's newest Office family member, InfoPath (formerly XDocs, originally NetDocs). Here are 10 things you should know about this revolutionary piece of software.
There is a vast gulf between the process mappers who model business systems pictorially, and the programmers who grind out the C++ or Java or .Net services that support those business systems. Between the two camps lies a fertile land of opportunity. It's time to jointly explore it.
Years ago, when the paint was barely dry on Visual Basic 3.0, a developer showed me a CD-ROM-burning application he'd written using that toolkit. The idea was to prototype the UI in Visual Basic, then rewrite in C++ for performance. But in the end, he admitted somewhat sheepishly, "we shipped the prototype." I saw nothing to be ashamed of. It was -- and is -- a brilliant strategy.
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. 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?
A picture can be worth a thousand words. But a URL can be worth half a dozen pictures. When application behavior is expressed that way, you empower your community of users to share it directly.
Tim-Berners Lee once prescribed that a Web application's URI namespace should be opaque. If that axiom holds, it wouldn't be kosher to do what I did: Extract an ISBN from an Amazon URI and inject it into another application. Then Roy Fielding, who is co-founder of The Apache Software Foundation and author of the doctoral thesis on REST which provoked the Web services movement to rediscover its roots in the Web, weighed in.
The scriptable DOM (Document Object Model) was always an intoxicating idea. But when I saw the gymnastics those poor scripts had to perform in order to detect and adapt to browser versions, I recoiled in horror. Recently, though, I was pleasantly surprised to find that scripts I wrote in Mozilla, under Mac OS X, worked identically under MSIE 6 on Windows. This is great news!
For those of us who act as agents of technological change, it's tempting to chalk up resistance to fear of change. Users can't, or won't, learn new ways, we say, and sometimes we're right. But the reverse holds true as well.
We've envisioned using Groove to collect key sources of information, create and discuss work-in-progress, and transmit results through various channels. Now, thanks to Groove Web Services, we can.
Accessibility isn't only about including those who don't see (or hear) well. Services that connect to people will succeed best when they can adapt to the cognitive differences that make all of us unique.
Andrew Schulman, the author of Undocumented Windows, used to lecture on the many mysteries he had unraveled deep in the bowels of the VxD (virtual device driver) realm. "How do I know all this?" Schulman would ask rhetorically. The answer was NuMega's (now Compuware's) SoftICE.
Next week's issue of InfoWorld includes an article on the new XML capabilities of Office 11. While researching the story, I interviewed the architect of XML in Office 11, Microsoft's Jean Paoli, one of the primary co-creators of XML.
As we reported last week, Groove Networks showed me its much-anticipated SOAP API, which will be called Groove Web Services, and it's a beautiful thing to behold.
My wife, who runs a small business, recently confessed to her accountant that she is overwhelmed with bookkeeping chores. She asked me pointedly, "Isn't this Web services stuff you keep yammering about supposed to help straighten this mess out?"
Simon Phipps, Sun's chief technology evangelist, likens Java to a baby duck. "When Java technology was born, it looked around, saw a Web browser and thought it was an applet," he jokes.
PKI (public key infrastructure) is a ball and chain that drags down our security efforts, all of which depend on the ability to manage identity and trust.
By my reckoning, J2EE was conceived at Microsoft in 1996, when legendary database guru Jim Gray was hired to lead the Microsoft Transaction Server (MTS) project. In MTS, which begat both COM+ and J2EE, the COM object was the unit of distributed computation.
I've just returned from InfoWorld's conference, Next-Generation Web Services II: The Applications. One of the most memorable talks, for me, was given by Cape Clear's Annrai O'Toole.
The XPath and XSLT techniques I mentioned last week will become as fundamental to this generation of developers as SQL was to the last. Likewise XQuery, the query language for XML data that's finally emerging from years of gestation.
At the XML Web Services One conference in Boston last month, I spent most of my allotted time in an all-day W3C/OASIS seminar on Web services security. But I couldn't help ducking out now and then in order to go next door and catch parts of Ken Holman's hands-on seminar, Practical Transformation Using XSLT and XPath.
Clemens Vasters is cofounder and chief technology officer of newtelligence AG, a developer services company focusing on XML Web services and .NET enterprise technologies.
"I'm short and I have the remnants of a southern accent," Paul says in a recent interview. Co-founder of Digital Creations, now Zope Corporation, Paul evangelizes the powerful Zope/Python combo.
CTO of Propylon, and previously co-founder of Digotome, Sean has served as an invited expert on W3C committees, and is a widely respected authority on XML.