ARTICLE:TRANSITION TO NUCLEUS
path: BEVERLY WHIPPLE > JON SISK > NUWIKI:DATAGRIDS > LARRY PARKS, PH.D. > ARTICLE:TRANSITION TO NUCLEUS
Transition to Nucleus Technology: a managerial overview
It’s about remodeling:
In the remodeling of a house, the first step is generally to take a step back to determine if the existing structure suits the current and future needs of the owner.
In the case of software, similar questions must be asked about the application:
- Is the basic application sound, or do significant defects exist in the current application? If they do, what are they?
- What are the ten most important features of the application?
- What are the ten biggest weaknesses of the application?
- What aspects of your system would you change because you know there are better ways?
- What are the ten most important features that should be added?
Are there mandates to add new technology such as (XML, automated FAX, automated ftp transfers, Java, .NET, etc) because of industry mandates, customer requirements or government regulations? What are they, and where do they need to be added?
The first step is to determine the strengths and weaknesses of the existing application and to build a remodeling road map.
Application style - hand coded, 3GL or 4GL
The ease or complexity of a migration to Nucleus depends on how an application was developed. If your applications were developed using tables that define screen positioning, field names, width, Justification, input and output conversions, search criteria, etc., the process can be automated to build Nucleus structures from existing definitions.
SystemBuilder applications can migrated directly to Nucleus, maintaining the look and the feel of the applications while preserving investments in existing applications.
Applications created in environments including Revelation, TPH, Wizard and others can be migrated to Nucleus Technology.
If your applications are hand coded or machine coded (3gl), with business rules embedded within the display logic, the business rules must be refactored / separated or abstracted from the PRINT, CRT and INPUT statements. These abstractions would then become subroutines that can be called from Nucleus screens, executable stand-alone programs, embedded as "expandable functions" or as INCLUDES. Many 4GL products (including 'home-grown' varieties) are often easily migrated from existing tables and definitions.
Where to begin
Once Nucleus is licensed and installed, the next step is to review the accounts in which program files exist. We generally recommend that program files reside in program accounts, isolated from data, to simplify the administration of future development, QA (Quality Assurance) and production (or 'live') accounts.
Nucleus utilities can determine if naming conflicts exist with files or cataloged programs across existing accounts, to assist in resolving many potential conflicts.
Traditional programs should be placed under Nucleus source code control to simplify management, support and deployment issues both during and after the transition.
Applications
Individual applications or utilities can be targeted for deployment according to your schedule. There are no hard rules that require every application to be "wrapped" in Nucleus. File maintenance screens and utilities can be quickly built, easily deployed and a good place to begin developing your Nucleus skills.
Existing reports that take their run-time parameters from either a data file or PROC, can be easily "front-ended" with a Nucleus screen, rapidly adding features like a pop-up selection list of customers or part descriptions.
Existing BASIC programs can be executed from within a Nucleus screen or from a Nucleus menu. A mandate should be followed to not CRT or INPUT within any subroutine called from a Nucleus screen, as it will conflict with the Graphic User Interface. CLEAR statements should never be used. CHAIN statements are to be used with extreme caution.
All subroutines with PRINT, CRT or INPUT must be identified, and revised so that the Nucleus engine is used to provide all future display and data input. This may require that separate Nucleus screens be created, or merely that the logic structures be integrated within a Nucleus subroutine attached to the main-line screen. All subroutines that do Writes must be identified and evaluated to determine if the write should be part of a pre-write event / commit procedure. Equates found in subroutines enhanced for Nucleus, conflicting with Nucleus common block equates must be removed. Nucleus utilities can assist in this procedure.
Security
Nucleus security follows a scheme similar to Unix, where GROUP associations and individual user permissions will permit or deny access. Under Nucleus security, every verb, command, menu, printer, or file can be regulated according to either the workgroup association of the user, or by specific security permissions enabled or disabled for an individual user.
Nucleus decurity can be controlled all the way down to the field level, and can be set according to work- group or specifically for any individual user. Individual user login ID’s must be setup for each Nucleus user.
Menus
Existing menus should be converted to Nucleus menus, as they support both character-based display and GUI. Security is inherent in the Nucleus menu structure. Programmer friendly features enable the programmer to directly jump from a menu option and review the associated program, screen or report called from the Nucleus menu. Conversion from menu structures contained within tables is generally straightforward and can usually be accomplished in a day or less by a skilled programmer. Conversion from legacy style menus embedded within PROC's or BASIC programs usually involves a bit of detective work, as the COMMAND and DISPLAY elements must be abstracted (or isolated ) and embedded within Nucleus menu structures.
Migration assistance
Engaging Binary Star Professional Services to prototype selected applications will help to visualize many of the potential opportunities of a migration.
Binary Star offers a full range of application design, development and engineering services to ensure a rapid and successful migration of your applications to Nucleus. We can help every step of the way.
- See also: