OpenVMS Migration, VMS Migration, Linux, UNIX, Rehosting Tools and Services

Since 1985 Sector7 has been in the exclusive business of rehosting and migrating applications to UNIX and Linux platforms.  We developed our OpenVMS migration toolkit in 1987 [which was based upon our PDP-11 RSTS migration tools kit]. Sector7 successfully migrated over 500 major corporations to varying UNIX and Linux derivative platforms. When DEC launched Alpha and OSF/1, they contracted with Sector7 to license copies of Sector7 DCL and PRINT and BATCH Queue Manager and distribute these products with the original OSF/1 CD-ROM. DEC further marketed OSF/1 to Alpha OpenVMS clients with brochures saying "Who offers you the best Unix" "Digital OSF/1 because it has Sector7's DCL".


DEC Licensed VX/DCL for The First Release Of OSF/1 (DEC UNIX)

DEC UNIX Flier 1
DEC UNIX Flier 1

 

DEC Sponsored Sector7 Writing A Piece On Migration In DEC Professional

See PDF      See Web Page

 

Innovative Risk Mitigated Process

Sector7 IS the thought leader in the business of application migration technologies and processes. We innovate migration process are always spearheading the next generation of tools and processes.

Sector7 provides migration tools and services. The web pages for services are being re-written for mobile friendly. We offer (A) Planning (B) Costing (C) Project Management (D) On Demand Assist (E) Team Augmentation (F) Full Turnkey Migration.

Learn More


Only Migrations Since 1985

While successfully migrating PDP-11, HP-3000 and OpenVMS applications to UNIX and Linux, we were asked to provide a world wide UNIX to UNIX server consolidation practice to IBM. This practice eventually became known as IBM's Migration Factory, In 2003 IBM acquired the Intellectual Property from Sector7 for the UNIX to UNIX server consolidation business, making it the practice part of IBM Global Services and leaving Sector7 to once again focus on the longer time frame more complex tailored OpenVMS Application Migration and Rehosting/Replatforming services, which has been our passion and exclusive focus for over 30+ years (Established in October 1985).

Learn More


Migration Patents

Being Awarded a Patent was very 'cool' but, more than 'cool' it took a significant amount of work to rationalize the Migration Process into a non Abstract Mathematical Model, Without a Model, you cannot have a Repeatable Process. if you don't have a Mathematical Model; then its all just 'touchy feely words' with no "rigor" to support it.

#7,616,583 A computer determines a first plurality of servers which have a lease set to expire within a predetermined period or current or projected peak utilization greater than a predetermined percentage of their capacity. The computer determines a second plurality of servers which have sufficient lease term and excess capacity. The computer determines and records which servers of the first plurality to consolidate on servers of the second plurality based on sufficient capacity, match of application(s) and projected life span of the application(s) of the second plurality, and determines a schedule for retiring the servers of the first plurality with the applications having insufficient projected lifespan, and estimates cost savings for the consolidation.

PDF (#7,616,583)   HTML (#7,616,583)

#8,869,124 A computer implemented method and program product for estimating cost and/or time requirements for migrating an application from one platform to another. The method includes receiving identifications for tasks, receiving at least one assessment type selected for estimating cost and/or time requirement for migration, where the assessment type delineates a degree of accuracy for estimating the cost and/or time requirement for migration, correlating base costs and/or time requirements to the tasks identified, receiving identifications of attributes that affect base costs and/or time requirements, correlating cost and/or time factors to the tasks, a respective cost factor and/or time factor indicating an amount by which an attribute affects the respective base cost and/or time requirement for a task, and estimating cost and/or time requirements for each task, by applying the respective cost and/or time factors for each task to the respective base cost and/or base time requirements for each task.


PDF (#8,869,124)   HTML (#8,869,124)


Continuous Integration, 100% conversion

Sector7, once again, has taken the complex application migration process to a new level with our innovative approach based upon "Continuous Integration" which allows simultaneous OpenVMS development and UNIX/Linux migration with ZERO code freeze and continuous validation of the migrated end product. Our migration methodology ensures that our tools migrate 100% of your application. This means that your developers are free to continue to development on OpenVMS and when the migration and environment has been fully tested, simply "switch over" to the latest code base on Linux or UNIX. The goal being a ZERO CODE FREEZE and < 1 week "switch over" time.

Learn More


Automatic VMS Language to ANSI (Continuous Integration)

Our approach centers on our Vx/Tools migration tool kit. Vx/Tools consists of OpenVMS extended language translators which automatically convert the OpenVMS 3GL to the ANSI equivalent or to C/C++. Vx/Tools language converters include BASIC, C, COBOL, Fortran and PASCAL (MACRO-32 offered as a service).

Languages


VX/RT VMS Compatible API (SYS$ etc) on Linux

The runtime component provides all the OpenVMS support libraries and programs that your existing OpenVMS application needs to run unmodified on an open platform. Over 900 OpenVMS API's (SYS$, LIB$, SOR$, CLI$, MSG$, FOR$, OTS$, CONV$, FORMS$, FDV$, SMG$, ACMS$, RTR$, TSS$, PAMS, DMQ$), OpenVMS subsystems RMS, DCL, BATCH and PRINT queue management, screen management (SMG, FMS, TDMS, DEC FORMS), Transaction and data stream management (ACMS, DecMessageQ, RTR), and OpenVMS support environment (CLD compiler, Message compiler, full VMS logical name support, QIO's (synchronous and asynchronous), timers, event flags. QIO is supported to disks, terminals, TCP/IP, mailboxes and in the past X.25 and X.29.

VX/RT


VX/RT Tools Source License

The Sector7 approach to Source Code Licensing ensures that when you choose Sector7 to assist or manage your Application Migration, your organization will have all the source code to Sector7 Migration Tools (all written in C and C++). In addition, this allows your organization to rename the OpenVMS API's and organize them into your internal organization class distribution libraries. For example: $ASCTIM() to Orgazation_Ascii_Get_Modified_Juilian_Date_Time() - or maybe something a little less verbose) [Factoid: OpenVMS Date/Time is based upon a world wide standard known as Modified Julian Date or MJD].

Learn More


Data Conversion

Data can be migrated from OpenVMS RMS to our Vx/Rms which provides RMS functional compatibility on Linux using a balanced B+ tree. all OpenVMS RMS usage works exactly the same using Vx/Rms (FABDEF, RABDEF, NAMDEF, XABDEF, RMS SYS$ routines, DCL RMS such as CONVERT/FDL, COPY etc). OpenVMS versioning is also supported.

VX/DataX


Turnkey, Tools, Augmentation

If you need additional resources or skills to re-host your applications, Sector7 offers our experience of successfully managing and migrating large projects, a demonstrated ability to manage resources from different organizations and superior technical skills to provide a solution specifically for your organization.

Learn More


Managing A Migration: It's All about Process, Experience, Mitigation and Planning

We place great value on our well-defined process, strong project management, technical leadership and emphasis on testing. Before embarking on a significant re-hosting project, an organization must be aware of potentially significant challenges in project management and project implementation. Lack of re-hosting experience may cause these challenges only to become apparent in the middle of a re-hosting project.

Migrations are successful when planned and managed. Part of the planning and management is knowing the line item time (and what line items to be included). For over 30 years Sector7 have accumulated a huge database of line items and times from actual projects. We use these proven metrics to plan, resource and manage our migrations. If your organization does not want Sector7 involved in the day to day management of your project, we can still contribute our experience. In addition to the 'costing' (Time and resources) Sector7 also has vast experience in line items and procedures essential for a migration that you may not even "know you don't know" (The Unknown Unknown).

Managed Migration


Migration Factory

Because a complex porting project can go through many unique phases, specialists with expert skills can be moved in and out of a project as required by the project plan. This provides an incredible advantage, because these specialists are brought into the project at precisely the right time to perform tasks that require their expertise. This enables us to leverage particular skills across a number of projects to keep each project moving on schedule, while minimizing costs for each individual project. This ‘just-in-time’ concept is very similar to today’s modern manufacturing plants and is the origin of the term, “The Migration Factory.”

The result of the successful Migration Factory is unprecedented productivity, which allows us to compete effectively against the cost of offshore labor, while retaining the obvious advantages of work performed in the USA and Europe.

Learn More


How Long?, How Much?

THE big question. We have assessment processes that can end up with you getting a 5000 step project plan and a fixed price bid. To do this, we much be confident in our ability t assess the work environment, the skill levels, and the technologies that need to be migrated.

Since 1985 (Over 30 years) Sector7 has mainly Performed Migrations using our tools. As such, we have metrics on over 1000 project to draw upon.

We KNOW how long it takes to Migrate 1 line of COBOL, FORTRAN. C, C++, BASIC, PASCAL.

We KNOW for example that to rewrite DCL into Linux shell script is the most expensive Language Conversion; about $9 per Line when done ('done' means migrated, fully tested and production ready) by experts who know DCL and Linux shell scripting - This is also the primary reason customers LOVE our DCL for Linux and UNIX.

You're probably thinking "No Way, I could Rewrite It for Less" - So, lets consider an application that relies on 250,000 lines of DCL - SYMBOLS - well, there aren't any in Linux/UNIX, "But Wait, you have Environment Variables" - which you CANNOT SET FROM A PROGRAM AND HAVE THE VALUE (SET IN THE PROGRAM) BE RETURNED TO THE SHELL. Then LOGICALS - well, they simply don't exist. GOTO/GOSUB - most Unix shells don't support GOTO and none support GOSUB. DCL substitution: All the DCL manipulation needs to be rewritten; and we haven't even come close to the end of the list: LIB$SPAWN - your application calling DCL to spawn either a command or a .COM script; $SNDJBCW/$GETQUI/SORT/MERGE. The list is endless. We know how difficult it is because we've rewritten DCL into Linux shell script.

Our approach is simpLe and makes sense. (A) Migrations need to be "done" and into production in the minimum possible time (B) A Migration is NOT the time to think about enhancing or changing the underlying technology (C) Leave any development work until after the migration is complete as then IT WILL NOT BE ON THE CRITICAL PATH

If we know what system service calls and what 'layered products' you are using, we can guage 'complexity'. The HOW LONG and HOW MUCH is a simple function of the Lines Of Code * Time Per Line * Complexity.

You want to know: How?, How Long? and How Much?

Contact Us Now


OpenVMS/VMS on X86

Using Sector7's Migration Process and Migration Tools, Your OpenVMS Applications can be ported to x86 Linux TODAY

Learn More


Time line

Some Interesting Events going back to 1985. You can see the genesis of VX/TOOLS. From the first PDP11-RSTS BASIC+2 migration to VAX BASIC and with that DCL, SMG, System Services.

Time line


Case Studies

We've compiled a list of case studies to show the diversity in the types of projects we have successfully completed

Case Studies


Client List

A selection of clients that we have performed migrations for.

Client List


References

Here's a glimpse of what our customers are saying. Go to our references page to read more.

"Sector7 continually delivered more than expected [...] through all release phases, on time and under budget."
Norm Beck, SDMN Manager, Telstra

References

OpenVMS Languages converted to open platforms by Vx/Tools

OpenVMS 3GL Language Translators

OpenVMS BASIC Migration

VX/BASIC OpenVMS BASIC to ANSI C Compiler/Transpiler. VX/BASIC allows OpenVMS BASIC source code to be compiled and executed on Linux and UNIX. BASIC I/O is performed by VX/RMS which provides OpenVMS RMS on Linux and UNIX.

VX/BASIC

 

OpenVMS Fortran Migration (To Intel Fortran)

VX/Fortran Converts OpenVMS HP Fortran to ANSI Intel Fortran on Linux and UNIX. All OpenVMS extensions to ANSI Fortran and converted to ANSI Fortran (Intel). OpenVMS Fortran I/O (RMS) is converted to Sector7 Fortran extension API's and provide identical RMS file I/O on Linux/UNUX.

VX/FORTRAN

 

OpenVMS COBOL Migration to Fujitsu and Micro Focus

VX/COBOL Converts OpenVMS COBOL to Fujitsu or Micro Focus COBOL. OpenVMS DESCRIPTORS and extensions to the ANSI COBOL syntax are converted to ANSI COBOL. VX/RMS is substituted for the plug-in file system for both Fujitsu and Micro Focus.

VX/COBOL

 

OpenVMS C Migration ANSI portable C

VX/Cpp Converts OpenVMS C into ANSI portable C on Linux and UNIX.

VX/C

 

OpenVMS PASCAL Migration to C++

VX/PASCAL Converts OpenVMS PASCAL to portable ANSI C++, the emitted C++ can be compiled and run on OpenVMS, Linux or UNIX.

VX/PASCAL

 

OpenVMS DDL Migration

VX/DDL Converts OpenVMS DDL to Include Format for BASIC/C/C++/COBOL/FORTRAN/PASCAL/Oracle.

VX/DDL

 

 

Vx/DCL, PRINT and BATCH QUEUE's, CDL, MESSAGE compilers and components for open systems

DCL

VX/DCL is an implementation of DEC's VMS Digital Command Language for Linux/UNIX. VX/DCL allows you to use the VMS commands that you are familiar with on Linux/UNIX systems. Your command scripts (. COM files) will run on the new platform. VX/DCL implements all of the commonly used DCL Commands and Lexicals. In addition, if you use OpenVMS CLD's to enhance the command line accessibility of your programs, Vx/Tools includes an OpenVMS compatible CLD compiler and access to all the CLD via the CLI$ API.

 

VX/DCL supports the standard use and manipulation of symbols. Symbol substitution is also supported. Symbol names can be 1 to 255 characters in length. Legal symbol names can begin with "A-Z", "a-z", "_" . Two "=" signs define that the symbol is to be placed into the global symbol table (CLI$K_GLOBAL_SYM). One "=" places the symbol in the local symbol table (CLI$K_LOCAL_SYM). The symbol tables are searched locally and then globally.

VX/DCL


PRINT & BATCH QUEUES

VX/JSP is an implementation of the VMS BATCH & PRINT queue manager, API and command line interface for Linux/UNIX. It is an add-on module for VX/DCL that provides VMS DCL functionality for Linux and UNIX.

VX/JSP


CLD COMPILER

VX/CLD OpenVMS Command Line Definition compiler (customization of DCL and Program CLI) for Linux and UNIX (CLI$PARSE, CLI$DISPATCH, CLI$PRESENT, CLI$GET_VALUE).

VX/CLD


MESSAGE COMPILER

VX/MSG OpenVMS Message File compiler ($GETMSG, $FAO, $FAOL, $PUTMSG etc) for Linux and UNIX.

VX/MSG

LOGICALS

VX/RT supports a VMS compliant logical manager allowing user definable tables and logical inheritance classes for sub processes. User mode and kernel mode logical are supported and persistence rules adhered to. In addition to the standard logical management, Sector7 has extended the logical subsystem to allow Logicals to be accessed and set from UNIX style API's. All Sector7 language translators accept VMS File Specs and Logical names as input to file I/O routines.

SYMBOLS

VXRT also supports OpenVMS symbols. Unlike UNIX environment variables, VX/RT symbols take via IPC to VX/DCL which stores the symbol values ensuring that symbols can be set in a program and retrieved in a different program or in the VX/DCL CLI ($DELETE_SYMBOL $GET_SYMBOL, $SET_SYMBOL).

OpenVMS System Services Supported by Vx/Tools

OpenVMS System Services and API's

VX/RT is a library written in C and C++ that provides OpenVMS API functionality on Linux and UNIX. This makes the migration or rehosting/Replatformng of applications that make extensive use of OpenVMS API's and the underlying subsystems (DCL, Queue's, RMS, ACMS, DEC FORMS) to run on Linux and UNIX without change. Vx/Tools and VX/RT is not emulation,the API's are written in fully compiled and optimized C and C++.

VX/RT

 

OpenVMS LIBRARIAN for Linux and UNIX

VX/LBR OpenVMS LIBRARIAN utility with LBR$ API's and DCL LIBRARIAN commands for Linux and UNIX.

VX/LBR

 

SORT/MERGE for Linux and UNIX

VX/SOR OpenVMS SORT/MERGE utility with SOR$ API's and DCL SORT/MERGE command for Linux and UNIX.

VX/SOR

 

FDL for Linux and UNIX

VX/FDL OpenVMS FDL's are fully supported both from the DCL interface and also FDL$ API on Linux and UNIX

VX/FDL

OpenVMS Screen and Forms

SMG API's for Linux and UNIX

VX/SMG An implementation of DEC's VMS Screen Management Service for Linux and UNIX. Full OpenVMS SMG is supported, TERMINALS, VIRTUAL DISPLAYS, VIEWPORTS.

VX/SMG


FMS for Linux and UNIX

VX/FMS An implementation of DEC's OpenVMS Forms Management System for Linux and UNIX. VX/FMS has a complete set of FDV$ API's and a FMS Forms compiler.

VX/FMS


TDMS for Linux and UNIX

VX/TDMS The TDMS form is converted into the Flexus SP2 forms manager and the TDMS API's converted to Flexus SP2 API's.

VX/TDMS

DECForms to C++ Classes

VX/DECForms An IFDL to C++ translator. The screen is painted with viewports and panels. Full DECForms viewport/panel/screen mapping is maintained, field by field editing and tabbing.

VX/DECForms

 

OpenVMS SQLMOD RMS Rdb

RMS

VX/RT includes VX/RMS a full RMS file system for Linux/UNIX. VX/RMS provides all VMS file formats (KEYED, RELATIVE, SEQUENTIAL, BLOCK) and all record and key types. VX/RMS maps RMS keyed files are mapped to a C-ISAM V4 B_ tree file system, which can be accessed by gateways from most relational databases and report writers. In addition Sector7 provides an ODBC interface to VX/RMS allowing concurrent data retrieval in a client server mode from Windows based systems and applications RVX/RMS is accessible from the standard SYS$ interface and provides full support for FAB, RAB, NAM and XABs. VX/RMS also includes a full FDL$ API set with the corresponding FDL command line programs (ANALYZE/RMS CONVERT/FDL).

VX/RT includes a number of user callable data conversion routines. The primary problem when moving data between VMS and other architectures is that the internal data representation is different, not only in byte ordering but also the default floating point format on most OPEN systems is IEEE488 and VMS is DFLOAT. Sector7 provides VX/DataX that will convert RMS data records to any machine architecture. Variable format records are handled by Sector7 data scripting language.

The OpenVMS API's to the RMS subsystem are OpenVMS compliant. Most take the form SYS$XXXX({Rab/Fab}, AST Success, AST Error) FABDEF, RABDEF, NAMDEF, XAMDEF etc are the same structure as OpenVMS and the same definitions from STARLET can be used.

VX/RMS


OpenVMS RMS and VX/RMS DATA MIGRATION

VX/DataX allows users to transport data files from the VMS operating system to UNIX. VX/DataX also allows users to specify a programmable schema to convert the data to the appropriate format (DEC to IEEE, Little Endian to Big Endian, Quadword Data/Time to UNIX Date Time) for the target platform.

VX/DATAX

 

Rdb SQLMOD to Oracle Pro*C translator

VX/SQLMOD OpenVMS SQLMOD to Oracle Pro*C translator.

VX/SQLMOD

 

Pro*Fortran to Fortran with Pro*C

VX/FORSQL Extracts embedded Rdb SQL from Fortran and creates Oracle Pro*C SQL callable routine.

VX/FORSQL

Vx/Tools Kernel Mode AST's and QIO, Events, Lock Manager

Transaction managers

ACMS TDF to Tuxedo C++

ACMS to Tuxedo Based on Sector7's experience in rehosting VMS applications, we have developed a road map for converting ACMS applications to the Tuxedo environment. This procedure allows the units of work from ACMS to be translated into corresponding units of work under Tuxedo, maintaining the integrity and design of the application.

VX/ACMS



RTR V2 for LINUX and UNIX

VX/RTR Provides RTRV2 ASYNCHRONOUS interface and calling conversion to Linux and UNIX RTR V3 (Synchronous with threaded I/O and Wait)

VX/RTR



DecMessageQ interface for Oracle MQ

VX/DMQ Provides OpenVMS DecMessageQ Asynchronous API's for Linux on Unix by mapping asynchronous DMQ/PAMS calls on threaded Oracle Message Q Linux and UNIX API's.

VX/DMQ

TPU for Linux and UNIX

TPU is a fully programmable text editor modeled after Digitals TPU (Text Processing Utility). It includes the EVE, EDT and WPS interfaces for easy and familiar text editing across all your platforms, including all major Linux/UNIX vendors.

VX/TPU

Vx/Tools Kernel Mode AST's and QIO, Events, Lock Manager

INTERNAL FUNCTIONS

AST's

VX/RT V3.2 and above supports full OpenVMS AST's. AST generation and delivery performs exactly the same way as on OpenVMS. AST's supported: USER, SUPERVISER, EXECUTIVE and KERNEL mode. AST's generated from Asynchronous I/O, TIMERS, are delivered in the same way that they are delivered under OpenVMS.

LOCK MANAGER

Lock management ($ENQ, $DEQ, $GETLKI) is included in VX/RT and allows all DEC DLM (Distributed Lock Management) functionality. Data can be passed between processes using the value block and all blocking mode AST's are fully functional through the Sector7 AST management service. In the current lock manager locks cannot be distributed over a cluster, check the Sector7 web pages for updates.

GLOBAL SECTIONS

VX/RT provides support for OpenVMS GLOBAL SECTIONS (Local and Global) from the SYS$ API level and also provides link time options to remap C, BASIC, COBOL, PASCAL RECORDs and Structures into the UNIX and Linux shared memory,with File Backed Shared Memory Options. ($CRMPRC, $DGBLSC, $MGBLSC, $UPDSEC)

VMS PROCESS LISTS

Support for the OpenVMS API's that scan the process Lists and return the same information as OpenVMS. VMS process name rules, Process Id's linked back to controlling DCL, Owner Group IC's, Execution State, Controlling Terminal etc.

MAILBOXES

Full Support for Mailboxes. Full AST delivery on Message and Termination.


VIRTUAL MEMORY

OpenVMS memory management API's have been faithfully reproduced in the Sector7 library system. PAGED based allocation (VM_PAGE), ZONE based allocation (VM_ZONE) and GLOBAL PSECT ($CRMPSC etc) functionality is implemented. Certain restrictions apply to mapping global sections due to the memory architecture of the target systems, generally mapping of I/O ports to memory addresses is NOT supported. GLOBAL sections can be mapped into A UNIX/LINUX 3GL (C, C++, COBOL, BASIC, Fortran, PASCAL) to provide the same logical functions as on OpenVMS 3GL's.

String Descriptors

VX/RT supports the STR$ OpenVMS API's. The VX/RT STR$ API's for Linux and UNIX take both 32 bit and 64 bit OpenVMS String descriptors and perform the same functions with the same OpenVMS return codes. VX/RT supports STATIC, DYNAMIC, VARYING string types.


TIMERS and Date Time Format

VX/RT supports OpenVMS timers, allowing multiple timers and SCHEDULE and CANCEL with AST delivery. OpenVMS DATE/TIME is fully supported in a QUADWORD based upon the number of 100 Nanosecond ticks since the MJD (Modified Julian Date) of Nov 17, 1858. Full API support for timers is included in VX/RT ($CANTIM, $CANWAK, $SCHDWK, $SETIMR plus LIB$'s).

 

QIO

VX/RT provides both a synchronous and asynchronous QIO mechanism for DISKS, FILE SYSTEMS, mailboxes, terminal, serial, DECNET and TCP/IP devices. The interface is identical to QIO under VMS and provides item lists, terminators and I/O status blocks in the expected format. All terminal modes are supported including editing and picture fields.


EVENT FLAGS

Most VMS applications, especially those using asynchronous and inter-process communication I/O will use VMS event flags to synchronize code fragments. VMS event flags differ in many ways from UNIX semaphores. Sector7 has implemented full VMS event flag functionality allowing the application to make full use of LOCAL and GLOBAL clustered event flags. All of the VMS API's for controlling access to event flags are fully supported. Event flags are set on asynchronous and asynchronous operations ($ASCEFC, $CLREF, $DACEFC, $SETEF, $WAITFR, $WFLAND, $WFLOR)