CATEGORY:MVCONV
path: CATEGORY:MVCONV

category:

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:

  1. The use of CLEAR is not permitted
  2. The use of CHAIN should be used only with extreme caution
  3. 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

Video presentation

Power Point presentations