Skip to main content

Technology upcyclers

Available Technology Upcyclers

The Thinkwise Upcycler comes with Technology Upcyclers for:

  • MS SQL Server
  • MySQL
  • DB2 for iSeries
  • Progress OpenEdge
  • PostgreSQL
  • Uniface 9.5/9.7
  • Oracle

These are all based on the Generic Upcycler.

Generic Upcycler

The Generic Upcycler is the upcycler from which all Technology Upcyclers inherit their functionality. It cannot be executed.

menu Definition > Generic upcycler

  • Model extraction - The Generic Upcycler is based on the Information Schema. This is an ISO standard (ISO/IEC 9075-11:2016)for views on the proprietary system catalog tables. It is implemented in multiple database management systems, with some variations. Using the Information Schema increases the reuse of generic functionality. Use the Thinkwise Extractor to create a JSON file with the model definitions.
  • Data extraction - The Generic Upcycler uses the JSON data files produced by the Thinkwise Extractor as input.
  • Upcycle steps:
    • 1000 range – General preparations.
    • 2000 range – Load the source model into tables representing the Information Schema.
    • 3000 range – Cleanup. Remove incorrect, duplicate, and invalid items.
    • 4000 range – Pre-processor. Do partial transformations that are helpful to multiple transformation steps.
    • 5000 range – Transform the information to tables representing the Software Factory model.
    • 6000 range – Prepare the data for transfer to a Software Factory. The result is an insert statement for every step in this range. Every statement does an insert from compressed data that can contain many records.
    • 7000 range – Updates that are performed on the Software Factory after it has been populated.

MS SQL Server Upcycler

  • Model extraction - This Technology Upcycler is based on the Information Model. Using the Information Model schema provides more reuse of generic functionality than the proprietary system catalog tables. Use the Thinkwise Extractor to create a JSON file with the model definitions.
  • Data extraction - This Technology Upcycler uses the JSON data files as produced by the Thinkwise Extractor as input.
  • Deviations from the Generic Upcycler - This Technology Upcycler stays close to the Generic Upcycler, only a few upcycle steps have been modified:
    • All Data import steps are generic.
    • 3400 Cleaner: Object identifiers - SQL Server stores the parameter names (for functions and procedures) including an @. Most databases only store the basic parameter name.
    • 5050 Transform Domains - Handling specific datatypes.
    • 5130 Transform View templates - SQL Server stores the view definition as a full create view statement whereas most databases only store the body of the view definition.
    • 5150 Transform Procedure templates - SQL Server stores the procedure definition as a full create procedure statement whereas most databases only store the body of the procedure definition.
    • 5180 Transform Function templates - SQL Server stores the function definition as a full create function statement whereas most databases only store the body of the function definition.
    • 5230 Transform Trigger templates - SQL Server stores the trigger definition as a full create trigger statement whereas most databases only store the body of the trigger definition.

MySQL Upcycler

  • Model Extraction – This Technology Upcycler is based on the Information Model. Using the Information Model schema provides more reuse of generic functionality than the proprietary system catalog tables. Use the Thinkwise Extractor to create a JSON file with the model definitions.
  • Data Extraction – This Technology Upcycler uses the JSON data files produced by the Thinkwise Extractor as input.
  • Deviations from the Generic Upcycler – This Technology Upcycler stays close to the Generic Upcycler, only a few upcycle steps have been modified. You can find the reason for the deviation from the generic step in the Reason field.

DB2 for iSeries Upcycler

  • Model extraction - This Technology Upcycler is based on the Information Model. Using the Information Model schema provides more reuse of generic functionality than the proprietary system catalog tables. Use the Thinkwise Extractor to create a JSON file with the model definitions.
  • Data extraction - This Technology Upcycler uses the JSON data files produced by the Thinkwise Extractor as input.
  • Deviations from the Generic Upcycler - This Upcycler stays close to the Generic Upcycler, only a few upcycle steps have been modified:
    • All Data import steps are generic.
    • 2000 Source model loader – Translations are loaded.
    • 3000 Cleaner: Remove logicals – DB2 logicals are prevented from becoming views.
    • 5030 Transform Columns - Column defaults are handled differently.
    • 5040 Transform Transl objects – Table and column translations are generated.
    • 5050 Transform Domains - Translation of DB2 datatypes.
    • 5110 Transform Check constraints - Code is stored slightly different.
    • 5260 Fix: Code for changed table names - Disabled due to syntax differences.
    • 5410 Transform Transl objects transl - Table and column translations are generated. Table and column descriptions are filled.

Progress OpenEdge Upcycler

  • Model extraction - Since Progress OpenEdge does not support the Information Model, this Technology Upcycler is based on the proprietary system catalog tables. Use the Thinkwise Extractor to create a JSON file with the model definitions.
  • Data extraction - This Technology Upcycler uses the JSON data files produced by the Thinkwise Extractor as input.
  • Deviations from the Generic Upcycler
    • This Technology Upcycler is not based on the Information Model. Therefore, most steps are modified.

PostgreSQL Upcycler

  • Model extraction - This Technology Upcycler is based on the Information Model. Using the Information Model schema provides more reuse of generic functionality than using the proprietary system catalog tables. Use the Thinkwise Extractor to create a JSON file with the model definitions.
  • Data extraction - This Technology Upcycler uses the JSON data files produced by the Thinkwise Extractor as input.
  • Deviations from the Generic Upcycler - This Technology Upcycler stays close to the Generic Upcycler. Only a few upcycle steps have been modified:
    • All Data import steps are generic.
    • 4200 Pre-processor: Collect constraints for domain content - Syntax and functionality differences make a deviation from the Generic Upcycler necessary.
    • 4510 Pre-processor: Unsupported data types - This additional step has been added because PostgreSQL has many data types that are not supported by the Software Factory. These data types are not used often.
    • 5030 Transform Columns - Column defaults are handled differently.
    • 5050 Transform Domains - Translation of database-specific data types.
    • 5110 Transform Check constraints - Due to SQL syntax differences, check constraints have been added as comments.
    • 5030 Transform Subroutine parameters - PostgreSQL supports output parameters on functions, as most databases and the Software Factory do not.

Uniface 9.5/9.7 Upcycler

The Uniface Technology Upcycler imports more detailed information than the other Technology Upcycler scripts:

  • Data model: tables, columns, domains, relations.
  • GUI model: controls, prefilters (code inactive), expression fields (code inactive), variants.
  • Functionality: code organized per code group (code inactive), defaults (code organized per column).

Compared to the Generic Upcycler:

  • Model extraction - This Technology Upcycler is based on the Uniface Dictionary. Use the Export form in the Uniface IDE to make a full export of your application. Click Select All > Exclude Uniface defaults > Export to create an XML file with the model definitions.
  • Data extraction - This Technology Upcycler uses the XML data files as produced by the Uniface Convert Data form as input.
  • Deviations from the Generic Upcycler - This Technology Upcycler does not inherit much from the Generic Upcycler. It does follow the same high-level architecture.

Oracle Upcycler

  • Model extraction – Since Oracle does not support the Information Schema, this Technology Upcycler is based on the proprietary system catalog tables. The scripts for the Thinkwise Extractor get the information from the USER_ system tables to create a JSON file with the model definitions.
  • Data extraction – This Technology Upcycler uses the JSON data files produced by the Thinkwise Extractor as input.
  • Deviations from the Generic Upcycler
    • This Technology Upcycler in not based on the Information Schema. Therefore, most steps are modified.