| |

Figure 1:
Standard CICS Architecture |

Figure 2:
NeoKicks Architecture |
Execution-time
support: At the core of both CICS and NeoKicks are the services
they provide to the application programs. NeoKicks provides a similar
environment to mainframe CICS in which users can enter transactions,
causing the application programs to be loaded which then invoke services,
initially coded using EXEC CICS statements. The main differences are
that NeoKicks is executing within the .NET Framework and may have
a slightly different plug-in component architecture.
Pseudo-conversational model: The architecture of ASP.NET
Web pages (Web forms) is very similar to that of mainframe CICS.
Users are given the impression they are having a continuous conversation
with an application program, but in actual fact the programs relinquish
control when information is sent to the user and are essentially
restarted, with some kind of session state provided to indicate
the stage reached in the processing, when the user takes an action
that sends information back to the server. NeoKicks provides equivalent
functions to SEND and RECEIVE MAP along with maintaining CICS-compatible
communications and storage areas so that the structure of your COBOL
CICS applications doesn't have to change.
Separate interface and application logic definitions: With
CICS applications interfaces are defined using BMS macros and the
application logic is contained in the COBOL code. NeoKicks mirrors
this separation by converting the BMS macros to Web forms with these forms being driven by the migrated COBOL programs in
the pseudo-conversational manner described in the preceding paragraph.
"EXEC CICS" translated to service calls: On the mainframe
the CICS translator converts EXEC CICS statements into calls to
"DFHEI1" with parameters indicating the required function and passing
the necessary data. Similary the NeoKicks preprocessor invoked by
the NeoKicks Project Wizard, converts EXEC CICS statements into
calls to "NKServices" (actually INVOKE statements as the NeoKicks
services are methods of .NET classes) with parameters indicating
the required function and passing the necessary data. The only difference
is that whereas you invoke the CICS translator before every compile
on the mainframe, you are more likely to use the NeoKicks preprocessor
just once when setting up your NeoKicks project. You enhance your
NeoKicks converted COBOL code by either coding the NKService INVOKE
statements directly or by using other .NET Framework class library
functions.
Separate configuration files: Both CICS and NeoKicks provide
utilities to set up information required at runtime such as transaction
ID to program mapping and data file information. For CICS the setup
information is stored in files such as the FCT and PCT. For NeoKicks
the information is stored in the application's .config file.
Links to database and file systems provide transactional support:
By integrating with a COBOL file system and database system both
CICS and NeoKicks are able to provide commit and rollback transaction
support.
DPL simlar to Web services: The CICS Distributed Program
Link (DPL) is a similar concept to Web services, just that the latter
has been designed for general consumption on the Internet. NeoKicks
makes it easy to migrate CICS programs designed to work with DPL
to Web services within the .NET Framework.
Because the CICS architecture maps so conveniently into the .NET
Framework, with the help of NeoKicks, migrating your CICS applications
to .NET and giving them a new life in that environment is a very
straightforward process.
Modernization Processes
The basic steps involved in modernizing a CICS application with
NeoKicks are:
- Start Visual Studio and invoke the NeoKicks Wizard by creating
a new project and selecting the NeoKicks Project Wizard template.
- Point the Wizard to your COBOL and BMS source files, and select
other configuration options offered in the Wizard dialogs.
- After completing the information requested by the Wizard, it
preprocesses your COBOL source, converting EXEC CICS statements
to invoke NeoKicks services, converts the BMS maps into ASP.NET
Web forms and sets up a Visual Studio solution
ready for you to start working on your converted application.
- Data is migrated to Windows-based files or databases usually with little
change required to VSAM or SQL procedural statements.
- If necessary syntax adjustments are made to ensure the programs
compile successfully with NetCOBOL.
Our consultants are familiar with the details of these steps so can
quickly transform CICS applications into NeoKicks, Web-based applications.
User Interfaces
Our CICS modernization solution:
- The migrated interfaces look identical to the original interface
but are now made up of GUI controls. When you and your users are
ready you can switch to a GUI look and feel and start enhancing
the interfaces with new gadgets..
- Considerable effort has been made to preserve the keystroke
interactions so that users will hardly notice any difference when
their screens are switched from the old to the new.
You can see how screen layouts are maintained in the following before
and after snapshots:

Figure 3: Example CICS application interface before transformation

Figure 4: Example CICS application interface after transformation
as an ASP .NET page
Further Information
NeoKicks and NetCOBOL
for .NET are described fully on their product pages.
Case Study: Stockholmshem
(Property Firm) Migrates from Mainframe to Windows, Cuts Costs 60
Percent, Ups Speed
Case study: Presidential
Life Refreshes CICS with NeoKicks
If any CICS migration also requires the migration of associated
batch jobs, see MVS and DOS/VSE
Batch to Windows.
Email cobol@netcobol.com
if you have any specific questions or would like someone to call
you to discuss migration options.
|