|
|||||
|
SimoVIEW is provided to assist in the transformation or extending of a mainframe application to an Internet enabled application. One of the first steps in transforming an application that is running on a mainframe to an application that will run in an Internet enabled environment is the conversion of the mainframe screen presentation services from either Basic Mapping Support (BMS) for CICS or Message Format Services (MFS) for IMS to HTML.
Note: many of the items discussed in this document are based on the hardware and software technologies that were available when this document was created. This is a rapidly changing environment and functional improvements are expected.
There have been many different approaches to transforming, converting, re-engineering, or emulating both BMS or MFS functionality to run on non-mainframe platforms. Some technologies were available and provided minimum conversion of certain screen elements that could then be imported into a "Forms" processing program. Many of these approaches did not retain the screen positioning, field names or field attributes, it was the programmers task to complete the conversion. Another early effort at porting mainframe screens was called "screen scraping". This technique used the generated 3270 byte stream information to display an HTML page and had the following advantages
| 1. | No conversion required. |
| 2. | Could be done quickly. |
It also had the following disadvantages
| 1. | In most environments the screen conversions took place at execution time. |
| 2. | Continued proliferation of mainframe methods into non-mainframe environments. |
| 3. | Required the creation and access to the 3270 byte-stream members. |
| 4. | Limited capacity for change. |
What is needed is a simple capability that converts BMS or MFS screens to native HTML pages. SimoVIEW provides this capability while retaining the various data element names and positions on the HTML page. This approach provides a usable HTML page that is easily imported and used in a WEB application. This technology was originally intended to be used by SimoTime personnel to assist in the BMS to HTML conversion process. However, it was to our customer's advantage to retain this capabilities after the initial conversion effort. SimoVIEW was initially enhanced to meet this objective and is being continually enhanced base on new technologies and our customer's requirements.
The following is the minimum system requirements.
Windows/2000, Windows/98 or Windows/NT
64meg of memory
2 gig disk space
Mainframe Express with the MF/ASM Option
A browser. Internet Explorer 4.0 or Netscape Navigator 1.4
The following is a typical system configuration for running Mainframe Express with the Assembler Option and SimoVIEW.
Windows/2000
128meg of memory
10 gig disk drive
Mainframe Express with the MF/ASM and CICS options
Internet Explorer and/or Netscape Navigator
Net Express
The SimoVIEW programs, this documentation, the Installation Verification Procedure (IVP) and examples are provided in a zipped file. Additional information about acquiring SimoVIEW may be obtained from http://www.simotime.com/evaltek2.htm.
SimoVIEW is currently delivered as a ZIPped file.
Create a directory on the C-drive called SimoLIBR.
| C:\>md SimoLIBR |
Make the SimoLIBR the current directory.
| C:\>cd SimoLIBR |
Unzip the SimoVIEW.ZIP file into the SimoVIEW directory.
| C:\SimoLIBR> pkunzip SimoVIEW |
To verify that SimoVIEW for BMS has been installed properly run the following command.
| C:\SimoLIBR> IVP4BMS1 |
The preceding command is a batch file included with SimoVIEW.
Note: If SimoVIEW is not istalled in the drive and directory specified (i.e. C:\SIMOLIBR) then the SET4BMS1.BAT must be modified to match the drive and directory where SimoVIEW is installed.
The following is the contents of the batch file (IVP4BMS1.BAT) provided as the IVP for the BMS conversion process.
@echo OFF
rem *
rem * Set the Environment Vaviables
rem *
echo * IVP4BMS1 - Installation Verification Program for BMS is EXECUTING...
echo * IVP4BMS1 - This procedure must execute from an MFE Command Line.
call set4bms1
rem *
rem * If necessary, create the work directory
rem *
IF EXIST %SYSLOG1% ERASE %SYSLOG1%
IF EXIST %SYSUT2%\SYSWORK1.TXT GOTO :JUMP10
MD %SYSUT2%
echo * IVP4BMS1 - Created by SIMOVIEW . . . >%SYSUT2%\SYSWORK1.TXT
:JUMP10
rem *
rem * If necessary, erase previously created work file,
rem * run SimoVIEW to read a BMS member and create an HTM member.
rem *
rem * Note the GEN parameter, this causes the generation of the HTM member,
rem * if a sequence error occurs during this step then change GEN to ORG.
rem * The sequence error is usually caused by the field definitions being
rem * out of sequence by the line and column information.
rem * The ORG parameter will cause a sort to be executed prior to creating
rem * the HTML member.
rem *
if exist %SYSUT2%\STVWMLC1.MLC erase %SYSUT2%\STVWMLC1.MLC
run SIMOVIEW BMS HTML GEN %SYSUT1%\CUSUPD1.BMS %SYSUT1%\CUSUPD1.HTM %SYSCNTL%
The following is the batch file that sets the environment variables used by the various steps in the screen conversion process.
@echo OFF
rem *
rem * Set the variables used by SimoVIEW for input and output
rem *
echo * SET4BMS1 - is starting...
set SYSUT1=D:\SIMOLIBR
set SYSUT2=D:\SIMOLIBR\SYSWORK1
rem *
rem * Set the locations for the LOG and CONFIG files.
rem *
set SYSLOG1=D:\SIMOLIBR\SIMOVIEW.LOG
set SYSCNTL=D:\SIMOLIBR\SIMOVIEW.CFG
rem *
rem * Set the variables used by the MF/ASM Option.
rem *
set SYSPUNCH=%SYSUT1%\SYSWORK1;
set SYSMPC=.;
set SYSLIB=.;
set MAC370=.;
rem *
rem * Set the variables used by Mainframe Express
rem *
set cobpath=.;
echo * SET4BMS1 - is complete...
SimoVIEW for BMS provides for the quick conversion of BMS screens to HTML pages and provides the following capabilities.
| 1. | Support for the standard 24x80 character screens maintaining the original field locations on the screen. |
| 2. | Support for the 3270, model 5 screens maintaining the original field locations on the screen. |
| 3. | Support for multiple maps within a mapset. |
| 4. | Support for remapping function keys to submit buttons. |
| 5. | Support for JAVA Scripting to do functions such as cursor positioning. |
| 6. | Support for externally defining the foreground and background colors. |
| 7. | Support for externally defining font types and size. |
| 8. | Support for externally defining header and footer information for a screen. This is useful for adding a company logo or other information to the top or bottom of a screen. |
| 9. | Support for embedded 370 assembler statements. |
| 10. | Support for filtering HTML tags from mainframe screen text. |
SimoVIEW for BMS is supported for Windows/NT and requires Mainframe Express (MFE) with the MF/ASM option by Micro Focus (formerly MERANT).
To simplify the description of the conversion process it will be assumed that SimoVIEW is installed in a directory called:
| C:\SimoLIBR |
and the BMS source members are downloaded from the mainframe into a directory called:
| C:\SimoLIBR\BMS |
The BMS to HTML conversion is a single job that has three required steps and one optional step after the BMS source members are downloaded to the PC .
| 1. | Run the STVWBMS1 program to do the initial scan of the BMS member and create a new member (STVWMLC1.MLC). |
| 2. | Run MF/ASM to expand the STVWMLC1.MLC member into a STVWGEN1.PCH. |
| 3. | This step is optional. Sort the STVWGEN1.PCH file to ensure the proper sequencing by line and column. |
| 4. | Run the STVWGEN2 program to generate the HTML code to the STVWGEN2.HTM file |
The above process may be executed from an MFE command line as a single task or logical unit of work. SimoVIEW includes an example of how to automate the process for multiple BMS members.
MFS to HTML is currently available as Beta technology. Continue to watch this space...
Many of the functions provided by SimoVIEW may be configured. For example, font size and color or the page headers and footers may be defined as part of the conversion process.
| Keyword | Parameter | Comment | ||||||||||||||||
| /ALIGN | LITERAL NUMERIC ALPHA ROWFRST ROWLAST |
|
||||||||||||||||
| /TITLE | Title Text | This information will be displayed on the title bar. If not specified the default value is: SimoTime, When technology complements business |
||||||||||||||||
| /TOF | HTML Code | Top-of-Form, supports a maximum of ten statements. Each statement should include standard HTML code. The HTML code specified in the /TOF statements will be treated as header information and displayed at the top of the converted BMS-to-HTML member. | ||||||||||||||||
| /BOF | HTML Code | Bottom-of-Form, SimoVIEW supports a maximum of ten statements. Each statement should include standard HTML code. The HTML code specified in the /BOF statements will be treated as footer information and displayed at the bottom of the converted BMS-to-HTML member. | ||||||||||||||||
| /FTSIZE | 14 | The Font size, 14 is a reasonable choice for starters. | ||||||||||||||||
| /FTUNIT | px | px = pixels, pt = points, pc = picas | ||||||||||||||||
| /FTFACE | TERMINAL | Terminal or Courier New provide fixed fonts. Times New Roman will work and provides a proportional font. |
||||||||||||||||
| /BCOLOR | #0000FF | Background color, this example uses the hex value for Blue as the background color. This value may be #hex (#rrggbb) or text. | ||||||||||||||||
| /FCOLOR | #0000000 | Foreground color for default, this example uses the hex value for Black. This value may be #hex (#rrggbb) or text. | ||||||||||||||||
| /OCOLOR | Blue | Override color for foreground color when a color was specified in the original screen definition. This value may be #hex (#rrggbb) or text. | ||||||||||||||||
| /ROWSPC | 0010 | Defines the height for rows with spaces. Must be 4 digits in length | ||||||||||||||||
| /COLWID | 11 | Determines width of individual columns that are allocated across the screen, works in conjunction with the TABWID and FTSIZE parameters. | ||||||||||||||||
| /TABWID | 0880 | Determines width of screen, works in conjunction with the COLWID and FTSIZE parameters. | ||||||||||||||||
| /FILLER | + | This is provided for documentation or debugging purposes. The character specified in the parameter field will be moved to the data fields that allow keyboard input. | ||||||||||||||||
| /HEXSUB | ? | If SimoVIEW encounters a non-ASCII character in the BMS data string it will be replaced with the specified value. | ||||||||||||||||
| /DEBUG | NNNNNNNN |
|
||||||||||||||||
| /NETEX1 | NNNNNNNN |
|
||||||||||||||||
| /MSGLOG | 0 | Display messages to console | ||||||||||||||||
| 1 | Log messages to STVWMSG! file. | |||||||||||||||||
| 2 | Display and log message. | |||||||||||||||||
| /SYSWORK | d:\directory | The fully qualified directory name for the work files used by SimoVIEW. | ||||||||||||||||
| /MAPSET | SINGLE MULTIPLE |
SINGLE - process SYSIN as a MAPSET containing a single map. MULTIPLE - process SYSIN as a MAPSET containing multiple MAPS. Create HTML using MAPSET_MAP.HTM as the SYSOUT name. |
||||||||||||||||
| /END | Any statements after this statement will be treated as comments. |
A Mainframe Express command line interface is provided for automating the BMS to HTML conversion process. This is especially useful for converting a large number of BMS screens. The format of the MFE command line interface is as follows.
run SimoVIEW input-type output-type function bms-member-name html-member-name configuration-file-name
The following table describes the command line parameters.
| Parameter | Keyword-Format | Description |
|---|---|---|
| input-type | BMS or MFS | This parameter/keyword specifies the input type. This must be BMS or MFS. |
| output-type | HTML | This parameter/keyword specifies the output type. This must be HTML. |
| function | GENERATE or GEN |
Perform the three required steps for the BMS to HTML conversion. |
| ORGANIZE or ORG |
Perform the three required steps for the BMS to HTML conversion. Include the optional sort step to ensure the proper sequencing of the Line/Column information. | |
| GEN1 | Perform the first of the three required steps for the conversion. This function is provided as a debugging feature. | |
| ASM1 | Perform the second of the three required steps for the conversion. This function is provided as a debugging feature. | |
| GEN2 | Perform the third of the three required steps for the conversion. This function is provided as a debugging feature. | |
| ORG1 | Perform the optional sort step for the conversion. This function is provided as a debugging feature. | |
| bms-member-name | d:\dir\filename.BMS | The fully qualified member name of the BMS member to be used for input. |
| html-member-name | d:\dir\filename.HTM | The fully qualified member name for the HTML document to be created. |
| configuration-file-name | d:\dir\filename.CFG | The fully qualified member name for the configuration file. |
A sample .BAT file is included with SimoVIEW.
| @echo | OFF |
| if | EXIST STVWMSG1 ERASE STVWMSG1 |
| set | cobpath=.;c:\SIMOVIEW |
| run | SimoVIEW BMS HTML GEN d:\filename.BMS d:\filename.HTM d:\filename.CFG |
This section provides additional information not covered in other sections of this document. The primary focus is using SimoVIEW and the newly created HTML in specific environments.
The HTML code created by SimoVIEW is standard HTML with Java Script and may be used by or imported into a number of presentation technologies. Additional advantage may be obtained by importing the HTML Form into Net Express. Many BMS members contain additional information such as the COBOL PICTURE clause. By saving and using this information in the filename.PGX file the HTML Form may be easily imported into Net Express with sufficient information to quickly generate a CGI program . The filename.PGX file is created when the second flag in the "/NETEX1 YYNNNNNN" statement of the configuration file is set to "Y".
A special utility program is not included with SimoVIEW called MFFBUILD, this is available from Micro Focus. Net Express, version 3.0 requires a filename.MFF file in addition to the filename.HTM file in order to properly import the HTML Form into Net Express. MFFBUILD will use the filename.HTM and filename.PGX to create the filename.MFF for Net Express. The IVP4NTX1.BAT shows the syntax for using MFFBUILD.
| @echo | OFF |
| rem | * |
| rem | * Create an MFF file for Net Express. |
| rem | * |
| echo * | |
| echo * This process must be executed from a Net Express Command Line. | |
| echo * | |
| echo * Press CTRL and BREAK to CANCEL . . . | |
| pause | |
| RUNM MFFBUILD CUSINQ1_CUSINQ1_CHANGE.HTM CUSINQ1_CUSINQ1_ CHANGE.PGX |
Note: MFFBUILD must run from a Net Express command line.
To create a link to Internet Explorer from the Customized Tool Bar of Mainframe Express do the following steps.
Select Options from the Mainframe Express Tool Bar.
Select Customize IDE... from the pull-down menu.
Select the Tools Tab from the Customize IDE window.
Select the New Tool... button and Enter Menu Text, use WEB.SimoVIEW or a name of your choice.
| SimoVIEW |
Type the following into the Program box
| "C:\Program Files\PLUS!\Microsoft Internet\IEXPLORE.EXE" |
The preceding command will need to be modified based on the browser that will be used by the client.
Type the following into the Starting dir box
| c:\SIMOVIEW |
Type the following into the Command line box
| file:///c:/SimoVIEW\CUSINQ1_CUSINQ1_CHANGE.HTM |
Click on the Apply button
Click on the OK button
Select the Tools item from the Mainframe Express Tool Bar.
Select the newly added SimoVIEW item.
Internet Explorer should start, simply select an HTML member to display.
If the HTML code created by SimoVIEW will be inorporated and dynamically modified with data from within a Java or C++ program then care must be taken to remove or properly handle HTML tag characters.
Special considerations needs to be given when literals have multiple, embedded spaces. HTML will reduce the multiple spaces to a single space and this could cause some shifting of the text within the literal to the left of the screen.
A technique that was sometimes used with mainframe screens displayed a row of asterisks, hyphens or equal signs to separate different areas on a screen. Depending on the font size and type selected for the HTML member this technique may result in this row of asterisks, hyphens or equal signs being too narrow or too wide. A possible resolution may be to select a different font size or type but this may not be acceptable. Another option may be to center this row. A better alternative may be to replace these separator rows with the HTML Horizonal Rule. SimoVIEW does not provide a capability to automate this process.
Mainframe screens use a fixed font of a predetermined size. HTML can be a proportional font of various font sizes. This presents a problem when trying to align multiple rows and columns with a heading row of a single literal. A possible resolution to this problem is to code the single literal as multiple literals that are aligned over the columns. This could be done within the BMS member before creating the HTML or it could be done in the HTML member.
Mainframe work in EBCDIC mode and browsers work in ASCII mode. The HTML created by SimoVIEW is ASCII/Text . If the data that is merged with the HTML member is received from a mainframe it may need to be converted between EBCDIC and ASCII.
In the mainframe and fixed-function terminal environment the paging between the screens is managed by the program running on the mainframe. If the mainframe program is sensitive and/or dependent to sending a screen and expecting only to see the results of the last screen sent then controls will need to be implemented to handle this condition. Most browser technologies allow a user to move back and forward between HTML documents without the knowledge of the host or mainframe system.
The mainframe, fixed-function terminals were usually limited to a 24 rows by 80 columns of information using a fixed font and predetermined font size. When one screen could not contain all the information a user requested a second screen was created. This also required the online program to manage the paging between screens. With the Web interface it is possible to create and download a single HTML documents consisting of many rows and columns (the limiting factor is usually the time it takes to download to the browser machine). The paging becomes scrolling within the document and is handled entirely by the browser. This can significantly reduce and possible eliminate the need to manage paging within an application program.
The following figure shows the process flow.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Figure 1, SimoVIEW Process Flow |
Let's take a closer look at each of the items in the preceding figure.
| 1. | SimoVIEW is the mainline program. Refer to the IVP4BMS1.BAT file as an example for starting the process.with the appropriate parameters. |
| 2. | is divided into two sections. Step 2a is the process for using BMS as input, Step 2b is the process for using MFS as input. |
| 3. | uses the MF/ASM technology to parse the input and create an interim work file as the output of this step. The output file is the same format regardless of the input. |
| 4. | is optional. In a small percentage of BMS or MFS members the field definitions are out of sequence. Prior to creating an HTML form this field definitions must be in sequence. |
| 5. | actually creates the HTM member. |
The following sections describe the steps of the generation process in more detail.
Not currently supported, reserved for future use. SimoXGUI, this is the GUI interface. A window will be displayed to prompt for the required parameters.
Not currently supported, reserved for future use. SimoXAPI, this is the callable interface.
The command line interface provides a methodology for creating batch files that will read numerous BMS files and create corresponding HTML members. Refer to The MFE Command Line Interface for more information.
The intent of SimoVIEW is to provide the first step in extending a mainframe application to the Internet. The real value is not in the creation of HTML code from BMS code. The real value is providing the first step in the application extension process. For example, the definition of the data string required for the Web programmer. The newly created HTML code will make the application look like a Web application but will most likely be changed to make it behave like a Web application.
The SimoVIEW programs, this documentation, the Installation Verification Procedure (IVP) and examples are provided in a zipped file. Additional information about acquiring SimoVIEW may be obtained from http://www.simotime.com/evaltek2.htm.
This article Transforming a Mainframe Application for the Internet Environment attempts to provide some answers and insight into the various issues and approaches of extending legacy systems to the Internet.
If you have any questions, suggestions or comments please call or send an e-mail to: helpdesk@simotime.com
Founded in 1987, SimoTime Enterprises is a privately owned, Limited Liability Corporation located in Novato, California. We specialize in the creation and deployment of business applications using new or existing technologies and services. We have a team of individuals that understand the broad range of technologies being used in today's environments. This includes the smallest thin client using the Internet and the very large mainframe systems. There is more to making the Internet work for your company's business than just having a nice looking WEB site. It is about combining the latest technologies and existing technologies with practical business experience. It's about the business of doing business and looking good in the process. Quite often, to reach larger markets or provide a higher level of service to existing customers it requires the newer Internet technologies to work in a complementary manner with existing corporate mainframe systems. Whether you want to use the Internet to expand into new market segments or as a delivery vehicle for existing business functions simply give us a call or check the web site at http://www.simotime.com
| Return-to-Top |
| SimoVIEW |
| Copyright © 1987-2006 SimoTime Enterprises, LLC All Rights Reserved |
| When technology complements business |
| http://www.simotime.com |