Tips for Unlocking XML's Secret Powers
A growing number of devs are finding benefits in learning hands-on XML skills. For example, devs at Quadrix Solutions have found that the more devs know about XML, they have in their hands the best "applications glue" they've ever worked with. Take a look a the 5 steps Quadrix engineers use to unlock the power of XML for integration.
"Knowing XML has meant we can look at solving a whole variety of integration problems in ways that developers -- not just system architects -- would be familiar with," Quadrix president and cofounder Ben Reytblat told Integration Developer News.
Based in Piscataway, N.J., Quadrix has made a name for itself by delivering custom-integration projects that many other firms might find too expensive or troublesome to bid on. "If they don't learn XML, developers don't get the bang for their buck," Reytblat said. Quadrix has embraced XML seriously, requiring most of their developers to learn how to code directly in XML.
Quadrix has analyzed the use of XML and web services in both the Java and .NET environments. As a result, the company has found two key ways to use XML. Their developers are using it to tie together a variety of heterogeneous systems across an enterprise into a single solution. Also, Quadrix developers have found XML useful when simply trying to communicate within an application -- from core business logic to multiple presentation layers (both PC- and browser-based).
Getting the XML Picture
To get a picture of just what XML can do for a project when developers know how to write it natively, Reytblat said the best starting point is to take an overview of "lessons learned" during the work Quadrix performed for two of its clients, MediCom of Princeton Inc., a medication education firm in Kingston, N.J., and Union County (N.J.) College.
For each project, Quadrix used XML and other web services techniques to integrate disparate components in as little as one fifth of the time and cost of conventional middleware-based integration, Dean Ostergaard, Quadrix's application development manager, told IDN.
"When we first heard of XML as a data encapsulation mechanism and a platform-independent way of using servers, we went at it with a vengeance," Ostergaard said. Why did XML have such appeal? After all, it's supposed to be only a data format, isn't it? Here are four key value propositions for developers to learn XML:
Reytblat offered an example. Quadrix needed to link Macromedia's ColdFusion with Tuxedo and a BEA (J2EE-based) application server. Before XML, Quadrix would do this by hand, custom-coding middleware connections between the platforms. "XML RPC was exactly what we were looking for," he said, because "we deal in a world where pieces are not uniform between ColdFusion, Tuxedo, MQSeries, and HP minis and Sun enterprise services." As a comparison, Reytblat added, "Had CORBA not been so complicated, we would have backed that approach."
He gives an example of how XML makes it easy to swap out an application's current GUI -- presentation layer -- with another. "Before XML, we'd been trying to factor out the presentation layer away from the underlying code using some pretty interesting techniques in a homebrew of Perl, ColdFusion and Java," Ostergaard said. "But when XML and XSLT hit the stage, we were able to throw out our own home-grown code and use standards-based code to factor out the presentation layer and bind in a new front end." XML also made the binding of the presentation layer to the underlying code much cleaner, and improved performance. "We were able to remove tremendous amounts of old code," he added.
Using processing requests coded into the XML (Quadrix was using SOAP over HTTP between the two systems), the HTTP GETs were captured at the other end (decoded and processed) and sent back to the other end. "We didn't send DOM objects over the connection, we sent the XML over (rather than a SAX or a DOM)," Ostergaard explained. "Once you become conversant with DOM and a parser, it's not difficult to work with," he added.
"XML toolkits let you get as deep as you need to in the stack, and leave as much of the work as you like," Reytblat said. Sun's Java Web Services Developer Pack (formerly JAX), Microsoft SOAP and others should all provide developers with a way to code natively in XML. "I don't expect them to cut out the lower layers; doing so would diminish the number of apps where they could play," Ostergaard added; and
XML Integration Keys - The Bottom Line
Bottom line, Reytblat told IDN that XML has helped his developers build faster and more efficient integration for their customers. Further, it has helped him expand his business by bidding on projects that only several years ago would have been out of his scope, or so customized that customers wouldn't be able to afford the solution.
Reytblat admits that his enthusiasm is growing as he and his developers learn about XML's potentials. But he also knows another truism. "Just because you have a brand-new hammer, not everything is a nail." Translation: Native coding with XML may not be good in every case, but to know where to use such hand-coding can really pay off. Reytblat says "Developers have to take a good, hard second look at XML -- there's more there than many of them think."