Tips for Unlocking XML’s Secret Powers

Forget about that new Harry Potter book. There is real magic in learning to work hands-on with XML. Integration Developer News spoke with technical execs from Quadrix Solutions to find out how XML power users have the "applications glue" ever. Take a look a 5 key tips.

Tags: XML, Developers, Quadrix, Ostergaard, Reytblat, Presentation Layer, Customers,

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:

  • Key #1:XML provides a cross-platform standard -- XML offers Quadrix developers a standard their developers can build to - and, more importantly, use again on the next project, making implementations more efficient, Ostergaard said. "Many of the approaches we were using were one-off projects that had to be custom built by hand from the ground up, for every new client," he added.

    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."

  • Key #2: XML enables better reuse of code, "Best Practices" -- "With XML, there's a tremendous amount of reuse because we can put manipulation into XSLT," Ostergaard said, "and this becomes quite a strong benefit to reuse because in each project, we create more ways to leverage what we've already done."

    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.

  • Key #3 XML can bypass some WSDL complexities -- Working "deep inside" XML, Ostergaard said Quadrix developers could "construct mechanisms" to communicate between Open Source, Java and ASP/.NET applications code. "We worked at the XML-RPC level, so we bypassed the WSDL," he said. "This would give us fuller control over both the front end and the back end of the communication, so we could make more efficient connections on our own."

    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.

  • Key #4: XML toolkits are flexible -- Despite some talk that many XML toolkits mask some of XML's complexities -- for the sake of simple XML conversion, Quadrix developers have found that if a developer knows about the way XML toolkit architectures work to support XML, they aren't locked out of drilling down.

    "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

  • Key #5:XML can improve exception handling in web services -- "While XML doesn't free you from doing good design and being careful about how you handle your transactions, it can provide you with more information when something goes wrong," Ostergaard noted. XML will provide details about an exception because it lets you include more data in the error message. When numerous systems are involved in a web services exchange, each application, database and/or hardware platform can provide specific information about how it is operating, and what went wrong when it didn't perform correctly, Ostergaard told IDN

    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."