Knowing XML Secrets Boosts Your Integration Power
Developers at Quadrix Solutions do their own XML hand-coding. No auto-generation. Knowing XML's secrets, they say, has made XML the best "applications glue" they've ever worked with. See why Quadrix developers swear by XML for just about all kinds of integration projects -- everything from binding GUIs onto a stand-alone app to setting up data sharing across a web-to-legacy enterprise.
Developers at Quadrix Solutions do their own XML hand-coding because, they say, XML is the best "applications glue" they've ever worked with. "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 co-founder Ben Reytblat, told Integration Developer News.
Quadrix, based in Piscataway, N.J., has made a name for itself by being able to deliver to customers custom-integration projects that many other firms might find too expensive or troublesome to bid on. "If they do not learn XML, developers do not 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 looked at the use of XML and web services in both the Java and .NET environments. As a result, Quadrix has found two key ways to use XML. Their developers are using XML for a tying together a variety of heterogeneous systems across an enterprise into a single solution. But, also, Quadrix developers has found XML useful when simply trying to communicate within an application -- from the core business logic to a multiple number of 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 XML 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, Quadrix used XML and other web services techniques to integrate disparate components in as little as 1/5th the time and cost of conventional middleware-based integration, Dean Ostergaard, Quadrix' 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 only supposed to be a data format, isn't it? Here are 4 key value propositions for developers to learn XML
1. XML provides a cross-platform standard -- First of all, XML offered Quadrix developers a standard their developers could build to -- and more importantly -- use again at the next project, making implementations more efficient, Ostergaard said. "Many of the approaches we were using we one-off projects that had to be custom built by hand from, and from the ground up, for every new client," he added.
Reytblat gives 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."
2. XML enables better reuse of code, 'best practices' "With XML, there is 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 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.
3. XML can bypass WSDL -- Working "deep inside" XML (at the XML-RPC level), Ostergaard said Quadrix developers could "construct mechanisms" to communicate between Microsoft, Java and Open Source 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), he added. . "Once you become conversant with DOM and a parser, it's not difficult to work with," Ostergaard said.
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 the more a developer knows about how XML toolkit architectures work to support XML, developers need not be 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 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," Ostergaaard said.
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 said. XML will provide details about an exception because it will let 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.
Quadrix has found it can exploit XML's standard document model to construct a messaging schema that will allow all the participating systems and applications to provide information about what went wrong. "XML wont prevent errors, but when used correctly it can provide a lot more detail when something goes wrong," he said.
The Bottom Line
Bottom line, Reytblat told IDN that XML has helped his developers build quicker and more efferent 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 to customized that customers wouldn't be able to afford the solution.
Reytblat admits that his enthusiasm is growing, the more he and his developers learn about its 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 such hand-cong 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."