The enterprise today is much more than mainframes. Since the
early 1990s, we have been busily writing applications in a variety of programming models
and languages. While mainframe environments have become more standardized, with old
languages being replaced by COBOL or C, non-relational data stores being replaced with
relational, and IBM finally triumphing over the remnants of the old BUNCH, alternative
non-mainframe environments have grown like weeds. And, like weeds again, they come in a
bewildering variety of languages and programming models that seem to change every other
year.
We started with two-tier architectures, then three-tier architectures, and now we have
n-tier architectures. Fat clients have become thin clients, and occasionally plump
clients. Thank goodness the relational data model has become standard, but even here the
flat relational design is being challenged by structured XML data models and XML
databases. Visual Basic, C and C++ have given way to Java and scripting languages like
Java Server Pages, Active Server Pages, Perl, and PHP. And, now Microsoft wants to bury
Java with C#. It's all enough to make you want to go back to COBOL, almost.
More importantly than any of these have been the programming models, COM, DCOM, CORBA,
and so on, leading up to Enterprise Java Beans (EJBs), J2EE, and Microsoft's
".NET" initiative. The early client/server models were more or less tightly
coupled, and it is again a paradigm shift for them or their descendents to embrace the
loosely coupled world of Web Services. Thus, while mainframes have become legacy systems
presided over by grizzled old programmers, these non-mainframe systems, many just a few
years old, are suddenly heritage systems with their support troops looking a bit behind
the times. How is an enterprise manager supposed to guess what the next wave will be, to
prevent the creation of more systems obsolete before their time?
Well, Web Services may really be the answer to that question. Unlike the exclusivity of
the early client/server systems, and the arms length attitude of the traditional glass
house mainframe system, the Web Services paradigm is a broad church, with the door open to
all. For example, various message-oriented middleware (MOM) products provide robust
message transport. A message passing application interface allows us to replace the
tightly coupled client server programming models of 10 years ago with a loosely coupled
programming model. For your heritage system, install the MOM interface and replace the
fixed message formats with XML, and they could be ready to be published as a web service.
However, Web Services are a lot more than MOM, because you could spend a lot of money
on these and other proprietary products to accomplish the Web Services mission. The
essence of Web Services involves open standards similar to those that underlie the
Internet, and that provide robust processing without the expense of proprietary products.