You are on page 1of 18

VISA Cal

OpenVMS System

Migration project
Existed OpenVMS components

ACMS Business
Presentation Task Manager logic
DECforms (No TP Monitor COBOL
is in use)
Form process Data process

DAL/RDB
Modernization approach

The existed OpenVMS components could be mapped to


MVC (Model View Controller) architecture
DECforms is a View responsible on rendering UI
ACMS is a Controller responsible on invoking services and routing between
Views
TPM and COBOL are the services that return a Model to be presented in
Views
Generated code approach
To be correct vs to be like OpenVMS
To be correct means that generated code will follow best practices for the
target language and will look like it was written in the target language from
the beginning. People that were familiar with OpenVMS system languages
may not be able to read the code easily
To be like OpenVMS means that the migrated code will attempt to keep
source code structure (in some cases it may require to introduce additional
frameworks) and may not follow the best practices for modern
programming languages (like avoiding usage of labels).

We recommend correct code approach


Challenges

View
DECforms has symbol based forms. Need to create a framework to
translate transparently symbol based form definitions to Web pages
Some keyboard events have special meaning for browsers (e.g. F5 -
refresh). Need to find a way to cancel key press event propagation or
find replacement keys.
Challenges

Controller
ACMS code uses labels a lot, while in modern languages suggest avoid
using labels. Labeled blocks may be turned into functions, but it may
increase code complexity
ACMS calls natively COBOL applications managed by TP Monitor. In
migrated system TP Monitor and COBOL applications will become
external services.
Challenges
Services and Model
On OpenVMS system the model can be defined once and then used in
different applications, on modern systems there is no such built-in
capability, so model will need to be defined in each component
separately (and probably in more than one language)
TP Monitor as service host
A bridge framework that will allow to invoke COBOL applications from
Java is needed
In order to make services queryable by Ajax based Web pages RESTFull
facade will be exposed for each COBOL application
Converted system components

Web Application (Browser) TP Monitor

HTTP Native
RESTFull
View Controller facade
(converted (converted
DECforms) ACMS)
COBOL
Technology pick

There are number of industry known MVC frameworks:


AngularJS (JavaScript)
GWT (Java)
Django (Python)
ASP.NET MVC (C#)
AngularJS
AngularJS is JavaScript MVC framework, it was started by GWT developers
with goal to cover things that they didnt like in GWT
Pros
Pure JavaScript + HTML + CSS
JavaScript is closer to procedural language (though allows to define
classes)
Clear View-Controller separation
Big community
Big widgets library
Cons
Service to be developed in anther technology (JAVA)
Learning curve
GWT
Started by Google
Pros
One language (Java) with XML templates for layout
Allows to define in one project client and server parts of the
application (bases on GWT RPC mechanism)
Big community
Simpler learning
Cons
Developer do not see resulting code (GWT compiles Java to
JavaScript for client side)
Although GWT allows HTML and CSS control, but its not native
AngularJS vs GWT
There is a lot of sources in Internet that compare
AngularJS and GWT. These days more people prefer
AngularJS over GWT
Main points
GWT seems to be simpler to learn
AngularJS seems to be more native from Web
development standpoint

We suggest AngularJS, but its your choice.


Why automated migration

Continues migration
Project takes time, during this time modifications in the original scripts
need to be adhered in already migrated code
Manually migrated code is subject for human errors
Will require much more intensive testing, especially after changes
Any modification in framework or tuning in migration pattern will require re-
processing already migrated code
POC
Goal
To demonstrate ability to automatically convert
OpenVMS system to the target language(s)
To demonstrate ability to produce quality code
Optional: to demonstrate run time of some
components
Non-goal
To demonstrate fully operational migrated system
POC options
Using existing code base
Converter will produce a code that will be similar to
provided by VISA Cal
The code need to be verified upfront to ensure
feasibility
Code base will be suggested by NextIT
Converter will produce a code as NextIT suggests,
based on technology to be agreed upfront
(AngularJS or GWT)
POC
Scope
Demonstrate automated conversion of ACMS and DECforms scripts
The scripts to be used in demonstration will contain limited set of
statements
On demonstration phase it will be allowed to make minor changes in
the original scripts to demonstrate ability to automatically adhere
these changes.
The converted scripts may not be fully functionable, if some frameworks
will be required (for example to convert DECforms symbol based
coordinates into graphical coordinates of web page) these frameworks
may not be fully functionable at POC phase.
COBOL services and TP Monitor are not in POC scope
What do we bring to the table

Automatics tools arsenal both Proprietary & Vendors.


Proved knowledge & know-how of tools manufacturing for:
Automatic Code conversion tools.
Source code analyzing tools.
Project execution experience both in UI and Cobol conversion in large scale
system (Bank Leumi).
Project execution experience in the complex Re-hosting agenda (Bezeq).
Representatives of the best relevant Vendors worldwide.

You might also like