September 28, 2005

The spiral staircase of SOA

As we develop tomorrow's programming best practices, we find ourselves looking to the past

Back in the 1980s, object-oriented programming was a state of mind, not the state of the art. Sure, there were OO languages, tools, and frameworks -- such as Lisp and Smalltalk -- but mainstream developers didn’t use them. Mainstream developers worked mostly in C.

The best of those developers, however, figured out how to apply an OO mindset to their use of C. I was lucky enough to have worked with a few of these wizards. From them I learned everything I know about interfaces, abstraction, composition, and dynamic behavior.

These days, the Java and .Net environments embody the kinds of best programming practices the mastery of which formerly required superhuman discipline. Wizards with long memories can’t help but wonder why it’s taken so long. In forums and blogs devoted to programming technologies, they’re always pointing out -- correctly -- that much of what seems to be modern innovation is, in fact, rediscovery of those ur-languages, Lisp and Smalltalk. But progress in the art and science of software development isn’t a stepladder, it’s a spiral staircase.

Today, service-oriented software development is likewise a state of mind, rather than the state of the art. Now that our object-oriented kits give us the power to model data and behavior in the realm of IT, the higher goal is swimming into view. We envision service-oriented kits that we’ll use to model the business processes supported by -- or more accurately, embodied in -- our IT infrastructure.

If history is a useful guide, there are a couple of important questions we ought to be asking. First, who are the modern counterparts to the OO do-it-yourselfers of yesteryear? Jim Culbert is one example. As CTO of MetraTech, he modeled that company’s billing services using SGML because XML hadn’t yet arrived on the scene, never mind SOAP, WSDL, and WS-*.

Harvard Medical School CIO John Halamka  is another example. His software model of the financial and clinical processes enacted by New England physicians, hospitals, and insurers also predates our current SOA technologies.

These two pragmatic visionaries prove that SOA is above all an intellectual style, a way of thinking about IT services as the direct expression of business services. This is a rare talent, but one that doubtless exists to some degree in your enterprise. I suggest that you seek it out, nurture it, and reward it. The technical skill that matters most, going forward, may not reside in the most obvious places.

The right mindset won’t easily scale, of course, until you latch onto the languages, tools, and frameworks to support it. True, extraordinary things can be accomplished with extraordinary vision, foresight, and discipline. But most of us require some extra leverage to routinely achieve what’s possible.

So here’s the second question: In the realm of service-oriented design and business-process modeling, what are the modern counterparts to Lisp and Smalltalk? Maybe when we look back on the present moment, we’ll wish that we’d paid closer attention to rules engines, workflow designers, and business-process modelers. Maybe the graybeards of 2020 will heave collective sighs as we rediscover what they always knew.

If existing tools can do more than we realize, we could spare ourselves a bit of grief. But probably not a lot. Translating ways of thinking into ways of doing always takes longer than we predict.

Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.