| 1.3 Middleware Versus
Native XML We consider middleware to be a
first generation solution. If you have to get your legacy application up and running right
now, there are several middleware solutions available. Many of these are quite popular,
and do the job. However, middleware adds to the maintenance burden and fails to address
underlying structural issues within the application itself. A significant part of the
value of adopting XML derives from a comprehensive improvement in the robustness of module
interfaces. Consider the classic screen scraper approach. The middleware intercepts the
HTML message inbound from the workstation, translates it to a fixed format as expected by
the target program, and passes it on to the host. On the way back, the middleware captures
the screen image outbound to what the host program thinks is a character based terminal,
translates it to HTML, and passes it on to the browser running on the workstation.
However, whenever the underlying program has to be changed,
the middleware must be modified at the same time, increasing the maintenance effort and
complicating the deployment. A second-generation solution would perform these functions
within the host program, so that there would be a single point of maintenance. When
communicating with a character based terminal, the traditional logic would be executed,
but when communicating with a browser, it would decode and encode a browser compatible
document. This could be HTML, but XML provides a much more flexible exchange. An XML
document provides the data to be displayed, and a companion stylesheet written in the
eXtensible Stylesheet Language (XSL) provides the presentation information. An XML aware
browser such as Internet Explorer 5.0 combines the XML and XSL and internally generates a
temporary HTML for display purposes.
A default XSL can be generated once from a utility, which
reads, for example, CICS specifications and creates an XSL, which would display
equivalently. However, once created, the XSL file can be edited and customized, and the
support of presentation information separated from the host program. This will be
particularly important where an application needs to be globalized, so that the XSL
provides local language and display capabilities about which the host application needs to
know nothing. First generation solutions are unlikely to provide these
application-enhancing capabilities.
The essence of the Internet is the use of open standards.
Middleware is almost always a proprietary solution, and runs contrary to this open
philosophy. A second-generation solution will bypass proprietary layers of software, and
will focus on open source and open standards. For XML, this will mean maintaining the XML
encoding and decoding logic directly into your programs, in the language in which they are
written, or calling a universal encoding and decoding subroutine for which you control the
source. |