CATEGORY:MVCONV
path: CATEGORY:MVCONV
Conversion of Hand Coded Applications to Nucleus
Introduction
The process of building the skeletal structure of a Nucleus screen, can be automated,
if existing hand coded applications
define for each screen:
- Field Name / Dictionary name
- Column position
- Row Position
- Field length
within tables (or files).
Existing Subroutines
Existing subroutines can be CALLed from within a Nucleus application.
If all values are passed through arguments in the form:
SUBROUTINE SUBR.SUMMARIZE.CUSTOMER.PAYABLES(CustNo,StartDate,ThroughDate,RESP)
The subroutine can be used without modification
IF there is no COMMON block in the SUBROUTINE that passes additional values, .
COMMON blocks must be evaluated to determine if any conflicts exist with the Nucleus COMMON block. These conflicts must be resolved.
Existing Programs
Existing programs can be EXECUTEd from within a Nucleus application without modification under the following conditions:
- The use of CLEAR is not permitted
- The use of CHAIN should be used only with extreme caution
- COMMON blocks must be evaluated to determine if conflicts exist with the associated Nucleus COMMON block. These conflicts must be resolved.
General Conditions
There can NOT be any INPUT or CRT statements within either a CALLed subroutine, or an EXECUTEd program. The reason is that all process control must be done from within the Nucleus engine to ensure integration within both character based environments and GUI environments.
All Display (CRT) and INPUT must be from within a Nucleus screen or utility and processed by the Nucleus engine to ensure operation of both character mode and GUI applications.
Questions and Answers
Question Our programming is written in BASIC using Unidata 4.0. Is this language compatible with the one used by Nucleus?
Answer Nucleus is cross platform compatible with most current MultiValue environments. This means that:
- Nucleus is supported on
- UniVerse and UniData from IBM
- D3 from Raining Data
- QM professional
- jBASE
- Reality X
- Data Dictionaries are compatible. Nucleus supports "A", "S", "D", and "I" types.
- Applications created using Nucleus can be moved from one platform to another and can be operational in a day or less if Nucleus standards are followed and the target platform has valid Nucleus licensing.
- Data structures are compatible, meaning that Nucleus applications can read and write directly to the same data files supported by hand-written applications.
Question: Can our existing Data Dictionaries be used by Nucleus?
Answer: 'A', 'S' and 'D' type dictionaries can be
used without modification. Some constructs used in I-type dictionaries may not be supported. Some I-type dictionaries which pass
data through common blocks must be evaluated in terms of compatibility with the Nucleus common block. A user-defined common block
can be integrated, to enable passing data beyond the standard arguments (RESP, RECORD) of an I-type dictionary.
Question: Most of our programs include the screen display. Are there tools to automatically convert the programs, including
screens, validations, file I/O, etc., to the form required by Nucleus?
Answer: Unfortunately, there is no 'magic wand' to enable the automated conversion of hand-written code to Nucleus, unless consistent structures and standard conventions were always followed by programmers.
To convert hand-written code involves a 're-factoring', or separating of the display side from the 'rules'. It has been our experience that 60 to 80 percent or more of the code in an application which pertains to screen display, can be eliminated in a conversion to Nucleus.
Question: What language are the Nucleus GUI screens generated in?
Answer: Nucleus creates a 'template' that is
passed to the Accuterm ATGUI engine. The Nucleus ATGUI engine then interprets the template to display the result as a Visual Basic
application. This Visual Basic application can incorporate 'hooks' to any windows based applications. The application remains 'host-
based', with only the template being deployed to the desktop, thus ensuring integrity of both the data and the application. To
expand this a bit, hybrid applications incorporating host-based and client-based rules are possible.
Question: Can Nucleus access other data bases like Postgres SQL, MySQL or Oracle?
Answer: NuQL, an extension to Nucleus can be used to both read from and write to external, non multi-value environments. Our group in South Africa (http://www.binarystar.co.za) is presently updating Oracle data structures from Nucleus. Nucleus applications running in a Reality X environment (from Northgate Information systems) can read and write directly to Oracle tables. Nucleus applications running in OnWare from http://ongroup.com can also manage Oracle based tables.
Question: Is there a possibility of integrating Nucleus applications with other visual user-interfaces such as .Net, Java and
Visual Basic?
Answer: Yes. The same 'rules' or Screens used by Nucleus to support Character based applications will support numerous visual interfaces including GUI, Web applications and .Net, Java, VB, without having to re-write data I/O structures or the rules governing read and update.
Question: Can Nucleus generate applications accessible from the Web?
Answer: Yes. As an example, the contact form used on the Binary Star website, is the same one which you may have seen in a Nucleus demonstration showing a .Net application and GUI application.
Question: Do you have a demo which we can evaluate?
Answer: Yes. Demo versions of Nucleus are available for D3,
UniVerse and QM professional from the Nucleus downloads area. If you have not been
authorized to download Nucleus evaluations, please contact the Binary Star office either through the contact form at
www.binarystar.com or by phone.
Question: How can we access Nucleus documentation?
Answer: Most of the Nucleus documentation is now available on
the web in hyper-linked text, from http://www.nuwiki.com
Question: How is Nucleus priced?
Answer: Nucleus is priced based on the number of concurrent users (connected at
one time). A user license is required for each user that needs access to a Nucleus application. A Nucleus run-time engine must also
be present to run the applications.
Web applications using StarSite technology are economical to deploy.
Licensing fees varies for each of the Platforms supported by Nucleus, within a range of $125.00 (on QM) per concurrent user to $375.00 (UniVerse, UniData, Reality) per concurrent user. The development engine is additional, ranging from $1250.00 (QM), to $4,995.00 (UniVerse, UniData, Reality, D3). The run-time engine includes all of the development tools including screen development, dictionary management, user management and security.
Contact Binary Star for additional details
If you a developer who wishes to resell Nucleus applications, please ask about our reseller program:
See also
- Sniffit - system mapping
- Nucleus Framework
- Transition to Nucleus - General and Technical considerations
- Professional Services - conversion services
- Building a Nucleus application
- Conversion of Procs
- Contacting Binary Star
- Migration from system Builder
Video presentation
- 15 minute video presentation on building a Nucleus Rolodex application.
Power Point presentations
- Application Modernization
- Migration Justification
- Reasons for Migration to Nucleus Technology