|
We're entering the Third Age of the Internet,
according to Microsoft. We will no longer build first age static Web-sites. We will no
longer build second age sites that generate dynamic content from homogenous data systems.
Instead, we will program applications to speak directly to each other across the Internet.
We will program them to speak to each other despite their different operating systems,
their different protocols and their different programming environments. And building it
will be a mighty challenge.
Interoperability
Microsoft has been developing solutions for the cross-platform issues raised by Windows
ubiquity since it launched SNA server. But Redmond's emphasis on interoperability has
increased over the few months as it has turned up the burners under the two-year old
Windows DNA (Distributed Internet Applications) initiative. That's because WinDNA is more
than just a marketing concept to sell the BackOffice family of servers into an
increasingly networked world. It is also a reflection of the intimacy distributed
applications will share.Redmond's reasoning is simple: the more BackOffice products there
are out there, the more NT will be connected to Unix, to AS/400s and to IBM mainframes.
WinDNA and the coming of the Third Internet Age will also stoke demand from medium to
large enterprises looking for ways to hitch their Web-based e-commerce solutions to their
legacy databases; legacy databases that are already running on Unix, AS/400 and IBM
mainframes.
And they add up to a big market. Microsoft estimates that two million Unix servers,
300,000 AS/400s and 50,000 IBM mainframes currently host the databases that underlie so
many large corporate applications. It also recognises that few of them are likely to yield
up their data to a quick conversion to SQL Server 7.0. The economic and technical
arguments against it are too strong. While NT's threading is as good as most Unices
(provided you develop applications that use NT's APIs rather than standard Unix calls),
NT's relatively slow and unscalable NTFS file system is unlikely to impress the techies
who stalk database centres. Especially if those techies are being asked to open up very
large databases to the unpredictable loads associated with public e-commerce.
Instead Microsoft accepts that they're more likely to implement scheduled replication of
databases into Web-accessible data warehouses, then replicate them back after users have
carried out their transactions. That's an option that is, in itself, more likely to bring
Microsoft's Internet Information Server into direct contact with an enterprises
non-NT servers.
Customer demands
"Right now we're hearing that interoperability is just critical to our
customers," says vice president of Microsoft development Tod Neilson. The fact that
they already want to build links between applications running on heterogeneous operating
systems is already clear. A glance at Microsoft's directory of third party data
interoperability alliance partners (at
http://www.microsoft.com/sql/solutions/DataInteropSol.htm) shows 12 different companies
supplying OLE DB providers and ODBC drivers for connecting databases, tools for
simplifying replication, for carrying out application analysis and design and for
administering databases. The fact that it all becomes too costly for some is indicated by
the list of seven companies offering database migration tools. The arrival of the
networked application would almost certainly have meant much more business for those last
seven companies if Microsoft had restricted its heterogeneous programming efforts to
developing COM-CORBA bridges. Instead, it has realised that it must now invest heavily in
COM and OS interoperability.
Babylon the Enterprise Interoperability Server
Babylon, (SNA 5.0 and COM combined) Microsoft's Enterprise Interoperability Server will
offer data integration with OLE DB providers and ODBC drivers. Microsoft sources at TechEd
99 said these features alone should simplify database connectivity. Data exchange
between SQL Server and IBM DB2, Oracle and Sybase databases will be seamless,
they said. If this happens, Babylon should make it as easy as it ever could be to enable
the kind of bi-directional replication across heterogeneous systems that database managers
will need to use if they are to hitch Web-enabled applications to Unix/ AS/400 / mainframe
databases.
So, what else does Babylon have to offer? Network and platform integration over direct
TCP/IP access or through an SNA gateway should bring peace of mind to anyone planning to
web-enable data that they traditionally made available through SNA Server. Babylon's
feature-set will include as-yet unspecified enhancements to SNA Server's terminal
access-style support for 3270 and 5250 and their TN3270 and TN5250 protocols.
This could be truly revolutionary - integration with COM Transaction Integrator and an
MSMQ-to-MQ Series bridge. For developers hampered by the poor Unix support for COM, this
promises to simplify building distributed applications. Bear in mind that most Unix
vendors do support COM; what they are unable to do is support it in a way that allows it
to scale without expensive hardware upgrades. It's also difficult to port VB and MTS-based
applications that companies may have already developed on to Unices. A recipe for bridging
an NT application to CORBA code running on Unix might involve having MTS components using
DCOM to talk to COM-wrapped CORBA objects on Unix. Alternatively, developers might have
MTS components talk to an object bridge on NT and have that system talk to an object
bridge on the Unix system. But there has to be an easier way.
The HTML and ASP database approach to building Web applications introduces the following
problems of integrated Internet application development:
1. Availability (Read: how long do users have to wait before you
deliver an error message?)
2. Exception handling (Read: is it sophisticated to deliver an error
message for each exception?)
3. Performance and scalability, (Read: both of the above)
4. The human element (Read: the problems IT staff create when
developing applications to deadline)
Problem solving
Babylon's aim is to help you overcome all of the above problems. Around 90 days after
Windows 2000 ships, Babylon should ship as part of the Back Office range. Microsoft claims
Babylon will help IT staff and developers integrate legacy applications where an HTML and
ASP solution would have crumpled under the strain. It would do it by allowing them to
exploit the benefits of XML, MSMQ and MTS.
Through bitter experience most of us recognise the four big problems outlined above. One
of them is the tendency to rewrite entire suites of legacy code because we think our new
code will be less buggy than the old. Another is that because we wrote the new code, we
think we'll be able to troubleshoot and fix our own bugs quicker than we could hunt down
and fix them in that old COBOL suite.
Babylon is designed to solve another problem that often prevails in an Internet world, how
to scale transactions with data sources when the only safe prediction we can make is that
application loads will be unpredictable. SNA gateways usually accept a limited number of
connections at one time. It's the nature of the Internet that the number of user
connections may be unpredictable. Related to the unpredictability of connection rates is a
problem that is fundamental to transaction processing across the Internet: inherently
unreliable TCP/IP connections - and how to secure transactions across them.
Most newly-built database-centric applications will also need synchronous connections or
connections that simulate synchronous connections to maintain the ability to submit to the
database and perform roll-back without disrupting valid entries made by other users.
Whether or not you've run your own Internet applications tests, you'll already have heard
of brave, groundbreaking Internet applications that squealed to a halt when they were
released to the public. For example, Hotmail when it was transferred to NT.
MSMQ and XML
However, we could get around these problems using MSMQ and XML. MSMQ will happily accept
thousands of requests and store them until it can connect to the data source application.
XML promises to bring order to data streams so that legacy applications can understand
them.
We can't do this at the moment because in its current form, MSMQ is MS product specific.
To get around that, Microsoft licensed the MSMQ-MQSeries Bridge (previously known as the
FalconMQ Bridge) from Level 8 Systems to interoperate with IBM's MQSeries.
Currently, the only vehicle for the MSMQ-MQSeries Bridge is SNA Server 4.0 SP2, which
lacks the ability to integrate with either COM, the Unix world, or to deliver the
scalability required by Internet applications. Babylon, however, will include SNA Server
5.0 as well as the MSMQ-MQSeries Bridge. The details of how it will do that remain a
mystery. Babylon was scheduled to go into beta by autumn but Microsoft has been
uncharacteristically quiet about its progress. That may well be because Babylon's
feature-set is inevitably tied up with Windows 2000 and its support for COM+. In the
meantime, details of how much Babylon will cost, its hardware requirements and its final
feature list will all emerge over the weeks leading up to Christmas, after the marketing
teams have turned Windows 2000 over to its users.
Even now though, it is obvious that Babylon promises to help you buffer those legacy
applications from customer-hungry (for which read load-heavy) and asynchronous
Internet front-ends, whatever system your legacy application runs on. Its ability to
interface any part of any legacy application with any Web client or thin client means that
true n-tier applications may at last be on the way.
For further information:
MS white paper on interoperability - http://www.microsoft.com/technet/interop/ndam/ndam.htm
Detail on interoperability for applications - http://www.microsoft.com/technet/interop/applications/
Third party SQL interoperability companies - http://www.microsoft.com/sql/solutions/DataInteropSol.htm
Interop is so challenging that a host of third party suppliers have
sprung up to service it:
Unix interoperability - http://www.microsoft.com/ntserver/nts/exec/overview/NTInterop/3_UNIX.asp

|