System and method for representing MFS control blocks in XML for MFS-based IMS applications

Information

  • Patent Grant
  • 7383322
  • Patent Number
    7,383,322
  • Date Filed
    Wednesday, July 12, 2006
    18 years ago
  • Date Issued
    Tuesday, June 3, 2008
    16 years ago
Abstract
A system and method for representing MFS control blocks in XML for MFS-based IMS applications utilizes an MFS XML adapter and an MFS XML repository to translate between XML and MFS. The repository contains XML files for DOF/MOD and XML files for DIF/MID. When an XML request is received, the XML request is transformed to a byte stream by retrieving the relevant information from the MFS XML repository. The byte stream can then be placed in an IMS message queue to await processing by an MFS-based IMS application program. A byte stream response is generated by the MFS-based IMS application and is transformed into an XML response, again, by retrieving the relevant information from the MFS XML repository.
Description
FIELD OF THE INVENTION

The present invention relates generally to computer software, and more specifically to IMS software.


BACKGROUND OF THE INVENTION

By some estimates, nearly seventy percent (70%) of corporate data in the United States and abroad resides on mainframe computers, e.g., S/390 mainframes manufactured by International Business Machines. Moreover, business-to-business (B2B) e-commerce is expected to grow at least five times faster than the rate of business-to-consumer (B2C) e-commerce. Many transactions involving this corporate data can be initiated by Windows/NT servers, UNIX servers, and other servers but the transactions must be completed on the mainframe using existing legacy applications residing thereon.


One very crucial group of legacy applications are the message format service-based information management system applications (“MFS-based IMS applications”) on which many businesses depend heavily. MFS is a facility of the IMS transaction management environment that formats messages to and from many different types of terminal devices. As businesses upgrade their technologies to exploit new B2B technologies, there is a requirement for an easy and effective method for upgrading existing MFS applications to include e-business capabilities. One such e-business capability is the ability to send and receive MFS-based IMS transaction messages as extensible markup language (XML) documents.


The MFS language utility compiles MFS source code, generates MFS control blocks in a proprietary format and uses the control blocks to indicate to an IMS application how input and output messages are formatted. For input messages, MFS control blocks define how a message that is to be sent by a device or remote program is mapped to an application program's input/output (I/O) area. For output messages, MFS control blocks define how the message to be sent by the application program is mapped to the device's screen or the remote program. The MFS control blocks are compiled off line from the MFS source files and are stored in the host format library by the MFS language utility.


Currently, there are four types of MFS control blocks that are used to map input and output messages between an MFS-based application program and a displayable device or remote program. Message Output Descriptors (MODs) describe the layout of the output messages that are received from an MFS-based application program. Device Output Formats (DOFs) described how MFS on-line processing formats output messages for each of the devices or remote programs with which the application communicates. Device Input Formats (DIFs) describe the formats of input messages that MFS on-line processing receives from each of the devices or remote programs with which the application communicates. Message Input Descriptors (MIDs) described how MFS on-line processing further formats input messages so that the application program can process them.


As business processes are updated to exploit new B2B technologies, there is a requirement to support B2B interchanges. However, MFS control blocks are presently coded in an IBM proprietary language format and there does not exist any way to represent MFS control blocks in XML to format XML input and output messages between MFS-based IMS applications and displayable devices, e.g., PDA or Web browsers, or remote programs. Also, it is currently problematic to save and load XML files without the existence of external references.


A non-proprietary, industry-wide standard method is needed to represent the information in today's MFS control blocks. It happens that XML is growing in acceptance as the universal data format which can be the input and output for any application. If the MFS control blocks are represented in XML, they can easily be used for developing new software to map XML messages for IMS MFS transaction applications. Using MFS control blocks in XML can encourage a wide range of connection types and tools to be developed and provide a simple and unified way to re-use existing MFS-based IMS transaction applications.


Accordingly, there is a need for a system and method for representing MFS control blocks in an industry-wide standard format. Moreover, there is a need for a system and method for allowing references to external XML files containing MFS control blocks from within a given XML file without having the external XML files present and/or created


SUMMARY OF THE INVENTION

A method for representing MFS control blocks in XML for MFS-based IMS applications includes establishing an MFS XML repository. Plural XML files representing plural MFS control blocks are stored in the MFS XML repository. Preferably, an XML request is transformed into a byte stream request based on the XML files within the MFS XML repository. The byte stream request can be processed by an MFS-based IMS application program to yield a byte stream response. Again, based on the XML files within the repository, the byte stream response is transformed into an XML response.


In a preferred embodiment, a first MFS source file is parsed and it is determined whether an unresolved external reference is encountered while parsing the first MFS source file. Based on the determination, a skeleton XML file for an externally reference control block is created. The skeleton XML file can include a present XML file name in the external control block name. Further, in a preferred embodiment a second MFS source file is parsed and it is determined whether a previously encountered externally referenced control block is again encountered while parsing the second MFS source file. Based on the determination, a previously created skeleton XML file can be populated with information from the control block.


In another aspect of the preferred embodiment of the present invention, a system for representing MFS control blocks in XML for MFS-based IMS applications includes an MFS XML adapter and an MFS XML repository connected thereto. The MFS XML repository includes plural XML files that represent plural MFS control blocks. The system further includes a computer program for representing MFS control blocks in XML for MFS-based IMS applications. In this aspect, the computer program includes logic means that can transform an XML request into a byte stream request based on the XML files in the MFS XML repository.


In yet another aspect of the preferred embodiment of the present invention, a computer program device for representing MFS control blocks in XML for MFS-based IMS applications includes logic means for receiving an XML request and logic means for transforming the XML request into a byte stream. Further, the computer program device includes logic means for placing the byte stream request in an IMS message queue.





The preferred embodiment of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which:


BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram representing the present invention;



FIG. 2 is a flow chart of the overall logic of the present invention; and



FIG. 3 is a flow chart of the MFS source file parsing logic.





DESCRIPTION OF AN EMBODIMENT OF THE INVENTION

Referring initially to FIG. 1, a block diagram of the system for facilitating XML transactions with MFS-based IMS applications is shown and is generally designated 10. FIG. 1 shows that the system 10 includes a user computer 11 connected, e.g., via the Internet to a first server 12. Within the first processor 12, is an MFS XML adapter 14 that communicates with MFS XML control blocks 16 that are retrieved from an MFS XML repository 18. In a preferred embodiment, the MFS XML adapter 14 is the software-implemented MFS XML adapter that is executed within the first processor 12 and that is discussed in U.S. patent application Ser. No. 10/244,722, incorporated herein by reference. It is to be understood that the MFS XML adapter 14 includes a mapper which maps the XML document pertaining to the device information into the appropriate MFS XML messages (and vice versa). Also, the MFS XML adapter 14 includes a converter that transforms the MFS XML messages into a byte stream and vice versa. The MFS importer reads and parses MFS source files for a particular application and generates XML files that describe the MFS-based application interface using the MFS Metamodel discussed in U.S. patent application Ser. No. 09/849,105, incorporated herein by reference, which is part of the Common Application Metamodel (CAM) disclosed in U.S. Provisional Application Ser. No. 60/223,671, also incorporated herein by reference.



FIG. 1 shows that the MFS XML adapter 14 communicates with an IMS message queue 20 which, in turn, communicates with a second server 22 that hosts an MFS-based IMS application program 24. An MFS-based IMS application program 22 can, e.g., be a program for tracking inventory. Further, as shown in FIG. 1 and stated above, the MFS XML adapter 14 communicates with the MFS XML repository 18 in order to retrieve the necessary XML control blocks 16 for message formatting. Preferably, a first XML control block for DOF/MOD 26, an XML control block for DIF/MID 28, and a second XML control block for DOF/MOD 30 are retrieved from the MFS XML repository 18. Moreover, as described in detail below, the MFS XML adapter 14 provides a request for MFS format 32 to the MFS XML repository 18. The MFS adapter 14 retrieves an MFS format 34 from the MFS XML repository 18 and later returns the output 36.


It can be appreciated that the present invention groups MID and DIF files together as one XML control block and groups MOD and DOF files together as another control block. These groupings reduce the load time of XML files during execution. Moreover, the generated XML files for IMS control blocks can be stored in the MFS XML repository 18, as described above. Unlike the existing MFS format library, which must be closely coupled to the host processor where the MFS-based IMS application 24 resides, the MFS XML repository 18 containing the MFS control blocks in XML does not have to be tied to the same host processor in which the MFS-based IMS application 24 resides. The MFS XML repository 18 can reside in any processor, including a Windows-based processor, in which the MFS XML Adapter 14 resides. A local file system, or a database repository, e.g., DB2's XML repository, or an z/OS partitioned data set can be used as the MFS XML repository 18.


It is to be understood that in the system 10 described above, the logic of the present invention can be contained on a data storage device with a computer readable medium, such as a computer diskette. Or, the instructions may be stored on a magnetic tape, hard disk drive, electronic read-only memory (ROM), optical storage device, or other appropriate data storage device or transmitting device thereby making a computer program product, i.e., an article of manufacture according to the invention. In an illustrative embodiment of the invention, the computer-executable instructions may be lines of C++ compatible code.


The flow charts herein illustrate the structure of the logic of the present invention as embodied in computer program software. Those skilled in the art will appreciate that the flow charts illustrate the structures of computer program code elements including logic circuits on an integrated circuit, that function according to this invention. Manifestly, the invention is practiced in its essential embodiment by a machine component that renders the program elements in a form that instructs a digital processing apparatus (that is, a computer) to perform a sequence of function steps corresponding to those shown.


Referring now to FIG. 2, the overall logic of the present invention is shown and commences at block 50 wherein an XML request is received, e.g., at the MFS XML adapter 14 (FIG. 1), from the user computer 11 At block 52, the XML request is transformed to a byte stream by using the XML control blocks 16 retrieved from the MFS XML repository 18 (FIG. 1). It is to be understood that in an exemplary, non-limiting embodiment the XML request is transformed as follows: a request for MFS format 32 (FIG. 1), in XML, is submitted by the MFS XML adapter 14 to the MFS XML repository 18 (FIG. 1). An XML control block for DOF/MOD 26 (FIG. 1) is retrieved to generate the MFS format 34 (FIG. 1) in XML. To complete the request, data is input to the MFS format 34 (FIG. 1) and the complete request is processed by the MFS XML adapter 14 (FIG. 1), again, in XML. An XML control block for DIF/MID 28 (FIG. 1) is used to format the XML request with the proper input format to yield a byte stream message.


Moving to block 54, the byte stream is placed in the IMS message queue 20 (FIG. 1). At block 56, the byte stream is processed by the MFS-based IMS application program 24 (FIG. 1) to yield a byte stream response. Continuing to block 58, the byte stream response is queued to the IMS message queue 20 (FIG. 1). Next, at block 60, the byte stream response is transformed into an XML response by retrieving the control blocks from of the MFS XML repository 18 (FIG. 1). For example, the byte stream request is returned to the MFS XML, adapter 14 (FIG. 1) where an XML control block for DOF/MOD 30 (FIG. 1) is used to determine the format of byte stream request in order to generate an XML response message. Returning to the description of the logic, the XML response message is returned, e.g., to the MFS XML adapter 14 (FIG. 1) and then the user computer 11. The logic then ends at state 64.


It is to be understood that XML files containing MFS control blocks represent all of the application interface information encapsulated by the MFS source—including the input and output messages, display information, MFS flow control, device characteristics and operation semantics. From these types of XML files, the MFS XML adapter 14 (FIG. 1) maps XML messages into the proper format for MFS-based IMS applications. Thus, MFS-based IMS applications can be retargeted to support B2B XML communications without changing the MS transaction itself. Additionally, a variety of displayable devices not yet supported by MFS, including web browsers, can be supported.


Another aspect of the present invention is to reference non-existent information across different MFS source files. When an MFS control block is represented as an XML file, a forward reference problem occurs in generating XML for these control blocks because XML files, when loaded or saved, require external references to exist However, this is not always possible or convenient. For example, when generating an XML file containing a MID control block from an MFS source file, the MID statement often has a reference to a MOD defined in another MFS source file. The external reference to the MOD must be recorded. However, this is not possible within XML unless this external reference already exists, which would require creating an XML file out of the external MOD before creating an XML file out of the MID. In the case in which an external MOD points to a MID which, in turn, points back to the original MOD, the XML file containing the control blocks cannot be generated because of the circular condition.


One possible solution to solve this forward reference problem in XML is to combine all original MFS sources into one large file for XML creation. Unfortunately, since most companies often have thousands of MFS source files, this is not feasible. Also, if one MFS file is changed, it requires regeneration of all XML files for all of the control blocks.


Referring to FIG. 3, the MFS source file parsing logic, including the solution to the above-mentioned forward reference problem, is shown and commences at block 100. At block 100, MFS source files are parsed. Moving to decision diamond, it is determined whether an unresolved external reference has been encountered. If not, the logic moves to decision diamond 104 where it is determined whether the final MFS source file has been parsed. If the final MFS source file has been parsed, the logic ends at state 106. Otherwise, the logic returns to block 100 and continues as described above.


Returning to decision diamond 102, if an unresolved external reference has been encountered, the logic moves to block 108 where a skeleton XML file is created for the externally referenced control block with the present XML file's name in the external control block name. Thereafter, at block 110 the parsing of MFS source files continues. Proceeding to decision diamond 112, it is determined whether the same externally referenced control block has been encountered when parsing another MFS source file. If not, the logic moves to decision diamond 104 and continues as described above. Otherwise, the logic continues to block 114, where the previously created skeleton XML file is populated with actual information from the control block, and no changes are necessary to the files which referenced them. The logic then moves to decision diamond 104 and continues as described above.


It can be appreciated that this invention satisfies the external references in an given XML file by generating skeleton XML files as place holders with the appropriate filenames and empty top-level entity. Therefore, reloading existing XML files to check if they have potential references to newly generated XML files is not required.


With the configuration of structure described above, it is to be appreciated that system and method described above provides a means for representing MFS control blocks in an industry-wide standard format. Moreover, it provides a system and method for allowing references to external XML files containing MFS control blocks from within a given XML file without having the external XML files present and/or created.


While the particular SYSTEM AND METHOD FOR REPRESENTING MFS CONTROL BLOCKS IN XML FOR MFS-BASED IMS APPLICATIONS as herein shown and described in detail is fully capable of attaining the above-described aspects of the invention, it is to be understood that it is the presently preferred embodiment of the present invention and thus, is representative of the subject matter which is broadly contemplated by the present invention, that the scope of the present invention fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the present invention is accordingly to be limited by nothing other than the appended claims, in which reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” All structural and functional equivalents to the elements of the above-described preferred embodiment that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Moreover, it is not necessary for a device or method to address each and every problem sought to be solved by the present invention, for it is to be encompassed by the present claims. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. No claim element herein is to be construed under the provisions of 35 U.S.C. section 112, sixth paragraph, unless the element is expressly recited using the phrase “means for.”

Claims
  • 1. A method for representing MFS control blocks in XML for MFS-based IMS applications, comprising the acts of: establishing an MFS XML repository having at least one XML file representing at least one MFS control block;at least partially based on the XML file, transforming an XML request into a byte stream request;processing the byte stream request with an MFS-based IMS application program to yield a byte stream response;at least partially based on the XML file, transforming the byte stream response into an XML response;parsing a first MFS source file; anddetermining whether an unresolved external reference is encountered while parsing the first MFS source file.
  • 2. A system for representing MFS control blocks in XML for MFS-based IMS applications, comprising: an MFS XML adapter;an MFS XML repository connected to the MFS XML adapter, the MFS XML repository including at least one XML file representing at least one MFS control block;a computer program for representing MFS control blocks in XML for MFS-based IMS applications, the computer program comprising: logic means for transforming an XML request into a byte stream request at least partially based on the MFS control block within the MFS XML repository; wherein the XML file is at least one of the following: an XML file for device output format/message output descriptors (DOF/MOD) and an XML file for device input format/message input descriptors (DIF/MID), and wherein the computer program further comprises: logic means for processing the byte stream request with an MFS-based IMS application program to yield a byte stream response;logic means for transforming the byte stream response into an XML response at least partially based on the files in the MFS XML repository;logic means for parsing an first MFS source file; andlogic means for determining whether an unresolved external reference is encountered while parsing the first MFS source file.
  • 3. The system of claim 2, wherein the computer program further comprises: logic means for parsing a second MFS source file; andlogic means for determining whether a previously encountered externally referenced control block is again encountered while parsing the second MFS source file.
  • 4. A computer program device for representing MFS control blocks in XML for MFS-based IMS applications, comprising: logic means for establishing an MFS XML repository having at least one XML file representing at least one MFS control block; andlogic means for transforming an XML request into a byte stream request at least partially based on the XML file;logic means for parsing a first MFS source file; andlogic means for determining whether an unresolved external reference is encountered while parsing the first MFS source file.
Parent Case Info

This is a continuation of a U.S. patent application Ser No. 10/440,779, filed May 19, 2003, now U.S. Pat. No. 7,130,893, from which priority is claimed.

US Referenced Citations (127)
Number Name Date Kind
4740783 Lawrence et al. Apr 1988 A
5761656 Ben-Shachar Jun 1998 A
5781739 Bach et al. Jul 1998 A
5870549 Bobo, II Feb 1999 A
5899975 Nielsen May 1999 A
5960200 Eager et al. Sep 1999 A
6128622 Bach et al. Oct 2000 A
6141660 Bach et al. Oct 2000 A
6212550 Segur Apr 2001 B1
6243737 Flanagan et al. Jun 2001 B1
6250309 Krichen et al. Jun 2001 B1
6253200 Smedley et al. Jun 2001 B1
6256676 Taylor et al. Jul 2001 B1
6259447 Kanetake et al. Jul 2001 B1
6289382 Bowman-Amuah Sep 2001 B1
6446110 Lection et al. Sep 2002 B1
6453343 Housel et al. Sep 2002 B1
6507856 Chen et al. Jan 2003 B1
6507857 Yalcinalp Jan 2003 B1
6510466 Cox et al. Jan 2003 B1
6519617 Wanderski et al. Feb 2003 B1
6535896 Britton et al. Mar 2003 B2
6560639 Dan et al. May 2003 B1
6589291 Boag et al. Jul 2003 B1
6591272 Williams Jul 2003 B1
6601071 Bowker et al. Jul 2003 B1
6606642 Ambler et al. Aug 2003 B2
6613098 Sorge et al. Sep 2003 B1
6668354 Chen et al. Dec 2003 B1
6687873 Ballantyne et al. Feb 2004 B1
6728685 Ahluwalia Apr 2004 B1
6753889 Najmi Jun 2004 B1
6772206 Lowry et al. Aug 2004 B1
6775680 Ehrman et al. Aug 2004 B2
6799299 Li et al. Sep 2004 B1
6889360 Ho et al. May 2005 B1
6901403 Bata et al. May 2005 B1
6901430 Smith May 2005 B1
6904598 Abileah et al. Jun 2005 B2
6907564 Burchhardt et al. Jun 2005 B1
6909903 Wang Jun 2005 B2
6910216 Abileah et al. Jun 2005 B2
6912719 Elderon et al. Jun 2005 B2
6915523 Dong et al. Jul 2005 B2
6948117 Van Eaton et al. Sep 2005 B2
6948174 Chiang et al. Sep 2005 B2
6952717 Monchilovich et al. Oct 2005 B1
6964053 Ho et al. Nov 2005 B2
6971096 Ankireddipally et al. Nov 2005 B1
6980963 Hanzek Dec 2005 B1
7000238 Nadler et al. Feb 2006 B2
7013306 Turba et al. Mar 2006 B1
7024413 Binding et al. Apr 2006 B2
7043687 Knauss et al. May 2006 B2
7051032 Chu-Carroll et al. May 2006 B2
7054901 Shafer May 2006 B2
7069291 Graves et al. Jun 2006 B2
7080092 Upton Jul 2006 B2
7111011 Kobayashi et al. Sep 2006 B2
7120645 Manikutty et al. Oct 2006 B2
7120702 Huang et al. Oct 2006 B2
7124299 Dick et al. Oct 2006 B2
7134075 Hind et al. Nov 2006 B2
7143190 Christensen et al. Nov 2006 B2
7152205 Day et al. Dec 2006 B2
7266582 Stelting Sep 2007 B2
7296229 Junkermann Nov 2007 B2
20010014900 Brauer et al. Aug 2001 A1
20010047311 Singh Nov 2001 A1
20020010716 McCartney et al. Jan 2002 A1
20020035583 Price et al. Mar 2002 A1
20020038336 Abileah et al. Mar 2002 A1
20020042849 Ho et al. Apr 2002 A1
20020046294 Brodksy et al. Apr 2002 A1
20020049815 Dattatri Apr 2002 A1
20020056012 Ablleah et al. May 2002 A1
20020059344 Britton et al. May 2002 A1
20020078010 Ehrman et al. Jun 2002 A1
20020078255 Narayan Jun 2002 A1
20020083099 Knauss et al. Jun 2002 A1
20020099735 Schroeder et al. Jul 2002 A1
20020100027 Binding et al. Jul 2002 A1
20020111989 Ambler et al. Aug 2002 A1
20020116454 Dyla et al. Aug 2002 A1
20020133569 Huang et al. Sep 2002 A1
20020143820 Van Eaton et al. Oct 2002 A1
20020160745 Wang Oct 2002 A1
20020161801 Hind et al. Oct 2002 A1
20020174340 Dick et al. Nov 2002 A1
20020178290 Coutthard et al. Nov 2002 A1
20020178299 Teubner Nov 2002 A1
20020188688 Bice et al. Dec 2002 A1
20020194227 Day et al. Dec 2002 A1
20020198974 Shafer Dec 2002 A1
20030004746 Kheirolomoom et al. Jan 2003 A1
20030007397 Kobayashi et al. Jan 2003 A1
20030065623 Cornell et al. Apr 2003 A1
20030074217 Beisiegel et al. Apr 2003 A1
20030081002 De Vorchik et al. May 2003 A1
20030093403 Upton May 2003 A1
20030093436 Brown et al. May 2003 A1
20030093468 Gordon et al. May 2003 A1
20030093500 Khodabakchian et al. May 2003 A1
20030120730 Kuno et al. Jun 2003 A1
20030159111 Fry Aug 2003 A1
20030163585 Elderon et al. Aug 2003 A1
20030204460 Robinson et al. Oct 2003 A1
20030212686 Chu-Carroll et al. Nov 2003 A1
20040006739 Mulligan Jan 2004 A1
20040024820 Ozzie et al. Feb 2004 A1
20040054969 Chiang et al. Mar 2004 A1
20040054970 Chiang et al. Mar 2004 A1
20040064466 Manikutty et al. Apr 2004 A1
20040103370 Chiang et al. May 2004 A1
20040111464 Ho et al. Jun 2004 A1
20040205731 Junkerman Oct 2004 A1
20040221292 Chiang Nov 2004 A1
20040237034 Chiang et al. Nov 2004 A1
20050050228 Perham et al. Mar 2005 A1
20050091639 Patel Apr 2005 A1
20050166209 Merrick et al. Jul 2005 A1
20050171970 Ozzie et al. Aug 2005 A1
20050203944 Dinh et al. Sep 2005 A1
20050210414 Angiulo et al. Sep 2005 A1
20060265478 Chiang et al. Nov 2006 A1
20070083524 Fung et al. Apr 2007 A1
20070094283 Fung et al. Apr 2007 A1
Foreign Referenced Citations (2)
Number Date Country
2001273177 Oct 2001 JP
WO 0167290 Sep 2001 WO
Related Publications (1)
Number Date Country
20060265478 A1 Nov 2006 US
Continuations (1)
Number Date Country
Parent 10440779 May 2003 US
Child 11494017 US