Using XML to Integrate existing Software Systems into ...

8 downloads 25160 Views 79KB Size Report
Email: Harry. ... host and batch programs as well as their common subprograms can be ... bound, meaning that the sender of a message needs to know nothing ...
Using XML to Integrate existing Software Systems into the Web Harry M. Sneed Institut für Wirtschaftsinformatik, Universität Regensburg CaseConsult GmbH, Wiesbaden, Germany Email: [email protected]

Abstract:The eXtensible Markup Language –

70 % of all mainframe applications.[2] A recent

XML – is not only a language for communication

study in Germany conducted by the University of

between humans and the web, it is also a language

Karlsruhe discovered that more than 60 % of the

for communication between programs. Rather than

productive applications in German industry run on

passing parameters, programs can pass documents

the mainframe. Especially in the financial sector

from one to another, containing not only pure data,

where banks, insurance companies and credit

but control information as well. Even legacy

institutes are active, but also in the trade sector and

programs written in ancient languages such as

in governmental administration, the host computer

COBOL and PL/I can be adapted by means of

remains the workhorse of information technology.

interface reengineering to process and to generate

Of the largest 2000 enterprises in the world, over

XML documents. This paper intends to describe the

90% employ an IBM-390 as a central server. [3]

process and the tools required to accomplish that goal and to present three cases – one for online, one

Therefore, it is ignorant to ignore those application

for batch and one for subprograms – to illustrate

systems which are running on the host. The fact

how XML may be used to integrate existing

that they are still there, despite several attempts in

software systems into the web.

the 1990’s to replace them with client/server

Keywords: XML, Software Reengineering, Data

systems, underlines the necessity to cope with

Conversion, Integration, Framework, Enterprise

them.

Application Integration, e-Commerce The strategy advocated by an IBM white paper in

The Case for layered Reuse of existing Systems

the late 1990’s and adapted here is not to replace the host but to reemploy it as the hub of an enterprise intranet.[4] In so doing, it is also necessary to encapsulate the existing legacy

Most

large

commercial

organizations

have

software and data within the

new intranet

application systems which date back to the 1970’s

architecture. They actually become the core of the

and 1980’s. Recent studies show that 80 % of the

future web based information systems. The data

actual IT-production is carried out by legacy

remains in a hierarchical or relational database on

systems.[1] COBOL is still the most widely used

the host, e. g. IMS or DB2. The access shell is

language in the mainframe world, making up for

separated from the application programs, so that all

requests for data pass through that shell no matter

future, it is easy to imagine that over the years a

where they originate from. The host application

multilayered architecture will emerge in which each

programs whether they be online or batch go

generation of new software is built on top of the

through the access shell to obtain and store their

existing software layers reusing their data and

data. The batch programs can be triggered from a

functionality. (See Figure 1.)

remote client. The online programs can run either in a traditional mode with 3270 terminals under a

This layered reuse strategy is a cost effective

classical teleprocessing monitor such as IMS or

alternative to the much propagated replacement

CICS, or in an internet mode with a web server

strategy whereby the legacy systems are totally

such as Websphere or DotNet. Furthermore, both

replaced by modern newly developed ones. Studies

host and batch programs as well as their common

have demonstrated that layered reuse is less than

subprograms can be accessed from other programs

35 % as expensive as replacement systems [6], not

in the periphery to service their requests. In that

to mention the risk of new development. According

way additional application layers can be added on

to the study of the Standish Group only some 43 %

without having to reimplement the functionality

of new development projects are ever finished.[7]

already existing in the core.[5]

Therefore, from an economic point of view, reuse of existing software systems is definitely a better

Since it is reasonable to assume that the additional

choice. Both, the costs and the risks are less, as is

layers being added to the mainframe core will

documented in several studies.[8]

themselves become legacy systems in the near

Web Browser

Web Browser

Web Browser

Corporate Users

Web Application Server (Websphere, DotNet) Work Flow Control Software (JBEE) Newer Distributed Applications (C++, Java) Older Host Applications (Assembler, COBOL, PLI) Database Access Shell Corporate Databases

Figure 1: Layered Software Architecture

The Role of XML in connecting

parameters. The programs remain functionally

Software Layers

bound.

The eXtensible Markup Language – XML – was specified by the W3C Consortium as a more sophisticated solution than HTML for human communication in the internet. Since it was derived form SGML it also had the propensity to represent any type of document.[9] It is an advantage that with the aide of a style sheet, XML documents can be displayed as web pages or printed as printouts. In this respect they serve the requirements of human communication. However, the real benefit of XML is that it can be used to exchange data between programs, programs written in different languages and running in different environments.

For the client/server environment with it’ s statically predetermined interactions between clients and servers, the CORBA model was sufficient to support program to program communication. This does not hold for the internet where interactions are not predetermined and where any server can be invoked by any client and any server can exchange data with any other server. Here a more flexible means of program to program communication is required. The programs should be strictly data bound, meaning that the sender of a message needs to know nothing about the receiver of a message. All of the information required to respond to a message should be in the message itself, i. e. the

Up until now programs have been connected

messages are self describing.[11]

mainly via call interfaces. An entry point or function in the target program is called with a list of parameters. The parameters have to be data types known both to the source and the target program. Besides they must be in the correct order. Any change to the interface on the side of the called program must be reflected in the calling program.

The same requirements apply to communication between programs in different layers of software. Since programs in different layers are usually written

in

different

languages

for

different

environments, their data types and prototypes will seldom be compatible. For instance COBOL and C++ have totally different run time environments

The CORBA architecture specified by the OMG and implemented in a number of commercial products such as Orbix, Visibroker and Component Broker went as far as one could go in standardizing and refining this type of functional interface. The IDL – Interface Definition Language – is used to specify the interfaces stored in a common interface

and calling conventions. Thus, calling a COBOL program from a C++ class is quite a difficult matter. Even using CORBA-IDL, there are still compatibility problems which apply to JAVA and COBOL as well. PL/I is even worse in this respect, since it is totally dependent on the physical environment in which it is executing.[12]

definition repository available to both the client and the server programs.[10] Thus, both use the same interface description. Still the client must be aware of what functions to invoke and with which

If, however, legacy programs in languages such as COBOL or PL/I receive their requests via a data interface, the compatibility problems vanish. Any COBOL or PL/I program can be adapted to read

ASCII character strings. They can recognize tags

Batch programs are driven by transaction files

and interpret the document type definitions –

produced by some other program. In the simple

DTD’ s. Besides that, a tool can be developed which

case it is one file. In more complicated cases, there

would extract the data from the XML document

are many files. The read or get statements have to

and convert it to the program input structure. The

be replaced by stub calls, i. e. calls to an input

only input the tool needs is the original data

subroutine, to provide the next data record. In the

structure declaration and a cross reference table to

environment described here, it is the XMLIN

associate tags in the XML document with field

function. Besides the data record, the stub also

names in the target program. In this way, any

provides control information such as the end of file

legacy program, even Assembler ones, can be

or invalid key signal. For this additional parameters

adopted to process incoming XML documents and

are required as illustrated in Figure 2.

to generate outgoing XML documents, using the same technique, only inverted. This technique of

Batch programs may also produce output files

XML-enabling and how it applies to legacy

which go back to the client. These write or put

programs will be describe in the following sections.

statements also have to be replaced by stub calls, i. e. calls to an output subroutine, to pass on the

Enabling the Legacy Programs

current output record. In the environment described

Life would be so simple if only all legacy programs

here, this is the XMLOUT function which

were subprograms which receive their input data

generates an XML document for the output queue.

from a parameter list. In some cases this is true, but the vast majority of mainframe legacy programs are

Both, the input and the output file statements are

either

replaced

batch

main

programs

or

transaction

automatically

by

the

SoftWrap

processing programs. Both have to first be altered

preprocessor. To make things more convenient to

before they can be used to service requests from a

the user, SoftWrap even displays the names of all

remote client.[13]

files used by a program in a list box so that the user may select which files are to be wrapped, i. e.

Enabling Batch Programs


replaced by XML message queues.

RECHNUNG [ X-CICS-RETCODE? > X-CICS-RETCODE Type = "int"> RECHNUNGSPOSTEN (AUFTRAGNR, KUNDENNR, ARTIKELNR, ARTIKELNAME, BESTELLMENGE, ARTIKELPREIS)> AUFTRAGNR (#PCDATA) > AUFTRAGNR Type (char|dec|pack|int|float|ptr|str) "dec"> KUNDENNR (#PCDATA) > KUNDENNR Type (char|dec|pack|int|float|ptr|str) "dec"> ARTIKELNR (#PCDATA) > ARTIKELNR Type (char|dec|pack|int|float|ptr|str) "dec">

]> < RECHNUNG > < X-CICS-RETCODE>03 < RECHNUNGSPOSTEN > < AUFTRAGNR >1001 < KUNDENNR >10548501 < ARTIKELNR >4711 < ARTIKELNAME >Straps < BESTELLMENGE >0010 < ARTIKELPREIS >018,50 Figure 2: XML Input Document

Enabling Online Programs In the environment under discussion the input maps Online transaction programs are driven by terminal

are provided by the XMLTPIN function which also

input messages. These may come as a data stream

supplies the attribute bytes, field lengths and return

or as a map. Maps are structured according to some

codes. The output maps are handled by the

proprietary convention such as CICS-BMS or IMS-

XMLTPOUT function which extracts the raw data

MFS. In addition to the variable data itself maps

from the map and passes it on as a data stream.

also contain constant texts and control information such as field attribute bytes and field lengths.

As with the batch programs all teleprocessing

Unfortunately, these controls are often used by the

statements are replaced automatically by the

program to decide what to do next, so they cannot

SoftWrap preprocessor. Here the user has no

be removed from the program without causing

choice in the matter. The call statements replacing

errors. The maps are received by proprietary

them have all the parameters necessary to emulate

teleprocessing input operations such as the CICS

the original TP-operation. Teleprocessing messages

RECEIVE macro or the IMS GET UNIQUE call.

may not be left in the program since they would

Maps are sent by TP-output operations such as the

compete with the message queues coming from and

CICS SEND macro or the IMS INSERT call. To

going to the web. The user may not communicate

enable an online program to act as an XML-server,

with the program both by the traditional terminals

these operations have to be replaced by stub calls as

and the web site, i. e. CICS maps and XML

illustrated by the following COBOL/CICS program

documents. There can only be one mode of human

(see Figure 3).

to program communication at one time.[14]

RECEIVE-RECHNUNG. MOVE LOW-VALUES TO RECHNUNGSPOSTEN MOVE SPACES TO ARTIKELNAME WRAP ***************************************************** WRAP * Replace CICS Receive Map with XML INPUT DOCUMENT WRAP ***************************************************** WRAP * EXEC CICS RECEIVE MAP (’RECHNUNG’) WRAP * MAPSET (’ABRECHNG’) WRAP * INTO (RECHNUNGSPOSTEN) WRAP * END-EXEC. WRAP MOVE ’RC’ TO X-CICS-FUNCTION WRAP MOVE ’RECHNUNG’ TO X-CICS-MAP WRAP CALL ’XMLTOCOB’ USING X-CICS-FUNCTION, WRAP X-CICS-RETCODE, WRAP X-CICS-MAP, WRAP RECHNUNGSPOSTEN WRAP MOVE X-CICS-RETCODE TO EIBRESP WRAP EVALUATE TRUE WRAP WHEN X-MAPFAIL WRAP PERFORM VV-860 WRAP WHEN X-PF1 WRAP PERFORM VV-710 WRAP WHEN X-PF2 WRAP PERFORM VV-720 WRAP WHEN X-PF3 WRAP PERFORM VV-730 WRAP WHEN OTHER WRAP CONTINUE WRAP END-EVALUATE. Figure 3: CICS-Map Emulation via XMLTOCOB Stub

separated from the program source and usually are

Generating the Conversion Tables

in the form of a copy book, an include or an The key to converting XML data to Assembler,

Assembler macro. A static analysis tool in

COBOL or PL/I data is the data conversion table.

XMLWrap processes the data structures to extract

This table contains the names, types, positions,

the names, types, lengths, etc. and place them in a

lengths, occurrences and redefinitions of the data in

table. The positions of the data fields have to be

the host program interfaces whether they be

calculated based on the lengths of the preceding

parameter lists, records, or maps. It is via the data

fields. For each program module a separate data

conversion table that character data is extracted

conversion table is generated in the form of an

from the XML document to feed the host program

XML document with a container tag for each data

interface at runtime. It is also via the data

field and an elementary tag for each field attribute.

conversion

The level number of the fields is stored as an XML

table

that

XML

documents

are

generated from the host programs.

attribute of the field name. It would be possible to declare all field attributes as XML data attributes,

To create these tables it is necessary to parse the

but it is more flexible and easier to process if they

target program data interfaces. These can be

are listed as values.

There is only one document type definition – DTD

to have an additional name association table. This is

– for all tables since it is generic to all data

a relational table containing binary tuples. Each

structures. It lists the table elements and attributes.

binary tuple associates an XML tag with a host

Since the tables are automatically generated, this

program field. There must be a 1 : 1 relation

DTD serves more a documentary purpose. A

between tag names and field names, otherwise the

sample XML conversion table is displayed in

data cannot be converted correctly. If a name such

Figure 4.

as “Date” occurs in several places, then it must be qualified, e. g. Birth.Date or Employment.Date.

Should the XML tags differ from the field names of

The hononym, synonym problem is not unique to

the programs, i. e. XML tag names follow other

XML

conventions than Assembler labels, it is necessary

languages.[15]

X-CICS-RETCODE B 0000 0002 0001 RECHNUNGSPOSTEN 0009 AUFTRAGNR D 0001 0008 0001 KUNDENNR D 0009 0008 0001 ARTIKELNR D 0017 0008 0001 ARTIKELNAME A 0025 0020 0001

documents.

It

is

common

to

all

BESTELLMENGE D 0045 0004 0001 ARTIKELPREIS F 0049 0006 0001 Figure 4: XML to COBOL Conversion Table

place them at the proper position in the program

The XML Stubs

data structure. Thus, the standard methods are: The actual tools for processing the XML documents are the XML stubs which are called instead of the



Parse_DTD (Doc:Name),

file system or the teleprocessing monitor. There are



Select_next_DataItem (Data_Name),

two such stubs for each language and each TP



Convert_DataType (Data_Type),

monitor being wrapped. One is for extracting data



Store_DataValue (Data_Value).

from an incoming XML document and converting it to the appropriate internal data structure, i. e. CICS

Of course for the Convert_DataType there are

map or COBOL record. This is the stub

several sub methods, one for each target data type –

XMLTOCIS,

fixed binary, packed decimal, hexadecimal, floating

XMLTOIMS,

XMLTOCOB,

XMLTOPLI, etc. The other is for creating an

point etc.

outgoing XML document from the internal data structure of the wrapped program, i. e. from the

The input stub is called each time a map is to be

CICS map or COBOL record. This is the stub

received or a record is to be read. It’ s purpose is to

CISTOXML,

fill the input buffer with the data from the next

IMSTOXML,

COBTOXML,

PLITOXML, etc. (See Figure 5.)

XML document in the incoming message queue.

The stub for converting incoming XML documents

The stub for generating outgoing XML documents

processes the conversion table for that particular

is also based on the corresponding conversion table.

interface. It is generated from a standard template

Only the direction of the conversion is reversed.

and joined together with the conversion table. In

The output stub is called with the record or map

effect the conversion table is the object and the stub

containing the output data. Via the table the

the methods. The methods are to parse the XML

variable names are associated with the field

document, select the data noted in the conversion

displacements, lengths and types to extract the

table, convert the data to internal data types and to

values and embed them in a corresponding XML

document. The DTD is created based solely on the

of redefinitions the conversion type is determined

conversion table. The result is a correct and well

by the actual value. In the case of multiple

formed XML document which is placed in the

occurrences, i. e. vectors, the actual number of

outbox.

elements in the table must be computed. This becomes complicated when repeated data groups

The greatest conversion difficulties are caused by

are involved, but it is a problem which any

multiple occurrences and redefinitions. In the case

compiler must resolve.

CICS Transaction Monitor

XML Docus

Input Message Queve

Output Message Queve

XML Docus

CICS / COBOL Program

XMLTOCOB

XML to COBOL CONVERSION

CICS BMS MAP

Input Map Buffer

Output CICS Map BMS Buffer MAP

DB Access Shell

COBTOXML

COBOL to XML CONVERSION

Database

Figure 5: XML Stubs for Map Emulation

Executing the XML-wrapped Programs

In the online environment, the program remains under control of the TP monitor which opens and

The wrapped programs are executed in their native

closes the databases, commits or roll backs the

environment. For this reason it is important that the

database transactions, establishes connections to

stubs are in the same language as the program, as

other programs, maintains the communication data

they are statically linked to it. In the batch

areas and handles errors. The only difference is that

environment, the program now reads its input from

there are no connections to the terminals. The map

the XML document stream and writes its output

input/output operations have been diverted to the

data into the XML output queue. Otherwise it

appropriate stubs which provide the map data from

functions exactly as before, retrieving and storing

the XML input queue and write the map data onto

records, segments or relations of the database.

the XML output queue. In effect the map processing is replaced by message processing complemented by the XML conversion.

The problem involved here is the need to have a

Reuters News Agency, one for processing stock

second program version for processing XML

orders and derivatives at J. B. Morgan and another

documents which is slightly different than the

one

original map handling version. If the user intends to

Coopers.[17] Peter Aiken, a prophet of XML for

abandon the 3270 terminals and work only on the

system integration, reports on a project taking place

web, there is no problem. He maintains only the

at the Deutsche Bank in New York.[18] All of these

reengineered version. If, however, the user wants to

projects are still in progress, so it is too early for

run the web-based version parallel to the original

statistical results.

for

stock

trading

at

Pricewaterhouse

terminal-based version, then he must maintain two copies of the same program. That is why it is so

In Germany and Austria, where this author works,

important to be able to generate the wrapped

only two projects have so far been reported. One

version out of the original version automatically.

took place at the German Trade Union Bank – DG

The user makes his changes to the original

Bank – using XML to integrate bank trading

terminal-based version and tests it in the standard

applications. The architecture developed for that

environment. Then he invokes the tool to create the

project is called the Trading Room Integration

XML version. In this manner, only one version

Architecture.

need be maintained..[16]

applications with existing COBOL programs. The

It

connects

C++

and

JAVA

frontend components use XSLT to display and

Experiences with XML-based System

accept the user interfaces and XML to transfer the

Integration

contents via a CORBA type communication network. The first applications are already in

The introduction of XML to traditional data

operation.[19]

processing enterprises in the old economy has actually just started, so there have been little experiences reported as of yet. Even in the U.S.A., the world leader in information technology, only a handfull of companies have actually started using XML as a means of integrating their enterprise applications. This is probably due to the fact that the technical environments to support such an XML-based system integration, environments such as Enterprise JavaBeans, BizTalk and WebSphere, are not yet ripe enough for full scale production.

The other project was at the Deutsche Bauspar AG and was reported on in a previous paper. The goal of this project was to connect JAVA applets running at local savings and loan offices with the central host computer in Frankfurt. The web page contents were converted to XML documents which were sent via IBM’ s MQ-Series to the host where they were converted to COBOL structures by an XMLCOBOL tool. The pilot project delivered the proof of concept. The follow up project is now underway.[20]

Don Estes cites in his report on Business to Business System Integration four pilot projects going on in the U.S.A. – one for general accounting reporting at AICPA, one for news dissemination at

In Vienna, where the author is participating in a project to develop a standard stock trading package implemented in C++ to run on several target computers, XML is used to connect a new web-

based frontend implemented in JAVA with the

processes. With batch and subprograms this is less

existing C++ backend applications. This project has

of a problem than with online transaction

just been completed and will be reported on soon.

processing programs. The logic of these programs is based on synchronous event driven map handling

The tools described in this paper are currently being

and function keys. Now they must revert to

tested in a project to integrate the existing

asynchronous sequential document processing. This

production control system at Porsche with recently

entails restructuring of the program interfaces and

installed standard ERP systems running under

presents a significant challenge to the reengineering

MySap from SAP. The author is responsible there

community. The task is to automatically convert

for finding a suitable EAI solution. At the

host programs from CICS/BMS or IMS/MFS to

University of Regensburg, where the author teaches

CICS/XML

Software Engineering, the tools have been used to

opportunities here for universities and research

integrate a JAVA/XML frontend developed by the

institutes to render useful contributions.

or

IMS/XML.

There

are

many

students with a series of existing C and COBOL programs. The JAVA frontend processed order

Conclusions

entries for articles on stock. The modules for accessing the customer and article databases in MS-

This paper has presented a proposal for enterprise

Access were written in C using ODBC to access the

application integration using XML as a common

databases. The modules for producing invoices,

interface language. The main objectives are to link

dispatch orders and supplier orders are legacy

existing legacy programs with new web-based

COBOL programs. All of the inter program

applications within the framework of a multilayered

communication is done by means of message

architecture. XML is used to exchange data

queuing of XML documents produced by the JAVA

between the software layers independently of their

and C components. This research project has been

implementation

reported on in a previous paper.[21]

environments. For this purpose conversion stubs

languages

and

runtime

have been implemented which use data conversion

Areas for further Research

tables generated

from the

existing program

interface structures. These stub can convert XML The basic problem of converting XML to various

documents to COBOL, PLI and Assembler data

target language data structures has been resolved.

structures and generate XML documents from

What is needed now is to optimize the conversion

COBOL, PLI and Assembler. In this way both,

to reduce run time costs. The task of message

batch input records and online maps can be

queuing for web server to host communication is

replaced by XML interfaces.

being addressed by the suppliers of middleware The prerequisite to using this technology is to

products.

reengineer the interfaces of the existing programs The greatest remaining application problem is how

so that they process messages rather than map and

to reengineer the existing program interfaces so that

records. Either the programs have to be rewritten by

they

hand or they have to pass through a precompiler

are

compatible

with

XML

document

which automatically restructures them. This paper

required in optimizing the interface reengineering

has emphasized the latter solution because of the

process to ensure that the reengineered versions are

costs involved in rewriting. More research is

functionally equivalent to the original ones.

References [1]

[2]

Warren, Jan: “The Renaissance of Legacy

Distributed System”, Proc. of CSMR-2000, IEEE

Systems”, Springer Verlag, London, 1999, p. 5

Computer Society Press, Zürich, March 2000,

Schricker, D.: “COBOL for the Next Millenium”,

p. 183 to 188

IEEE Software, March 2000, p. 48 to 52 [3]

Kebschull,

V./Spruth,

Großrechner

als

W.:

[14]

“Kommerzielle

Ausbildungsaufgabe

of COBOL/CICS Legacy Systems”, Proc. of

an

CSMR-1999, IEEE Computer Society Press,

Universitäten und Fachhochschulen”, Informatik Spektrum, Band 24, Heft 3, June 2001, p. 140 to

[4]

Amsterdam, March 1999, p. 72 to 82 [15]

der Interface-Versionshölle”, Object-Spectrum,

IBM: “A Survey of object-oriented Technology

Nr. 4, July 2000, p. 24 to 29 [16]

2505, Pougikeepsie, N.Y., Feb. 1995 Israel,

B.-S./Gish,

J./Robinson,

W.:

“An

IEEE Software, Sept. 1998, p. 79 to 85 Harmon,

P.:

“XML



Solving

[8]

[10]

Business [18]

Forum

Internet”, (ed.

Chikofsky,

of E.),

Aiken, P./Yates, M.: “Novel Approaches to Large

Standish Group: “CHAOS – The Cost of IT

Reengineering

Project Failures”, in PC-Week, Nr. 16, Jan. 1995

Zürich, March 2000, p. 16 to 30

Sneed, H.: “Risks involved in Reengineering

Proc.

Estes, D.: “Legacy.NET”, Cutter IT Journal,

Scale

[19]

Systems

Reengineering”, Forum

(ed.

Proc.

Chikofsky,

of E.),

Weitzel, T./Harder, T./Buxmann, P.: “Electronic

Projects”, Proc. of 6 WCRE, IEEE Computer

Business and EDI with XML”, dpunkt Verlag,

Society Press, Atlanta, Oct. 1999, p. 209 to 211

Heidelberg, 2001,p. 181 to 198

Graham, I./Quin, L.: “XML – Specification

[20]

Haeckel, A./Gößner, J./Wahl, H.: “Integration of

Guide”, John Wiley & Sons, New York, 1999,

Legacy Applications in modern object-oriented

p. 1 to 3

Systems via XML” in Object Spectrum, No. 5,

Mowbray,

T./Zahavi,

R.:

“The

Essential

OMG-Series, John Wiley & Sons,

Sept. 2000, p. 35 to 40 [21]

Hasselbring,

W.:

“Information

Sneed, H.: “Wrapping Legacy COBOL Programs behind an XML Interface”, Proc of WCRE 2001,

System

IEEE Computer Society Press, Stuttgart, Oct.

Integration”, Comm. of ACM, Vol. 43, No. 6, June 2001, p. 33 to 36

2001 [22]

Lewis,T.: “Mainframes are dead, Long live

Seligmann, L./Rosenthal, A.: “XML’ s Impact on

Mainframes”, IEEE Computer, August, 1999, p.

Databases and Datasharing”, IEEE Computer,

102-104l

June 2001, p. 59 to 66 [13]

the

Mainframe

Vol. 14, No. 1, p. 35 to 42

New York, 1995, p. 35 to 45

[12]

via

Legacy

2001, p. 5 to 25

CORBA”

[11]

“Accessing

Reengineering

th

[9]

H.:

Zürich, March 2000, p. 34 to 46 [17]

Problems”, Cutter Consortium, Arlington, Mass.,

[7]

Sneed.

Applications

Integrated Network Component Architecture”,

[6]

Westphal, R.: “Strong Tagging – Der Ausweg aus

143

on MVS/ESA”, IBM Red Book Doc. No. GG24-

[5]

Sellnik, A./Sneed, H./Verhoef, C.: “Restructuring

Sneed, H.: “Generation of Stateless Components from Procedural Programs for Reuse in a

Suggest Documents