With IO64 PL/SQL to Java Conversion Toolkit, you can convert from PL/SQL to Java with a fully automated process and run on an open source pure Java runtime library. You can rewrite or refactor provided library according to your needs. Since converted code preserves the logic, it can be used as a baseline for other migration paths.
Follow us on Twitter for upcoming news..
@io64conversion
Highlights:
-On-premise installation is available via custom Linux
VM. ( Ubuntu 16.04 LTS + Custom GLIBC + Custom JVM )
-Conversion as a service option is available.
Upcoming Events:
- Pricing schema
- Documentation for on-premise
installation
IO64 Conversion Console is developed for functional examination of the toolkit as of first phase. It does not include any functional limitation. All conversion steps are executed in-memory.
The following video shows complete conversion process in batch mode; DDL export, indexing source codes for fast lookups through conversion, PL/SQL to Java conversion and execution of resulting Java code. Example package first selects records with cursor from a source table and inserts or updates to target table. After each iteration inserts changelog to another table.
Both batch and in-memory modes expect a valid schema for a
successful conversion. An invalid source schema may result
incomplete Java class output or variables that are declared as
"Object", which will increase manual post editing.
First 3 steps are for boosting continuous conversion speed.
Continuous conversion is suggested for environments where PL/SQL
maintenance is done in parallel during migration period. Please feel
free to contact info@io64.com for discussing installation and
your migration path alternatives.
Below are the steps for batch mode. In-memory mode starts
from Step 4 and executes intermediary steps just before when
necessary with directly accessing data dictionary tables at runtime.
Step 1 - Exporting: Object definitions are exported from data dictionary tables (DBA_XXX) to files.
Step 2 - AST Indexing: Indexer parses all exported files and saves AST(Abstract Syntax Tree) for each source file. These index files are used for fast lookups during conversion.
Step 3 - Type Tree Building: Relevant AST Index files are read and a tree is built for resolving types of referenced objects.
Step 4 - Java Generation: All necessary AST Index files are read, combined with Type Tree, complete Java package structure and classes are generated.
-PL/SQL to Java Conversion Toolkit is developed for 100%
complete Java conversion and removing PL/SQL dependency in mind. Or
even Oracle DB dependency
Any additional usage of
commercial or open source library is avoided. This allows generating
portable and refactorable Java code. Resulting code may run in any
container (E.g. Application Server) or even without a container as a
pure Java executable.
-All conversion process generates source for only one schema
Migration
of multiple schemas is possible through regular conversion process
and manually combining outputs. In single schema conversion
scenario, a Java Project that contains non-functional facades of
objects and methods in the neighbour schemas is generated, They are
left as-is for manual linking to underlying database through JDBC or
imitating functionality in Java. (or running another IO64 conversion
process to generate Java code)
-As a result, migration process ends up with 3 Java Projects;
one for the schema under focus,
one for all other custom
neighbour schemas, and
one for PL/SQL standard
functionality to be used as a runtime library.
The third
one continuously get updates as standard functionality is
continuously implemented.(Snapshot is delivered at conversion)
While some PL/SQL specifications are valid, the Java
equivalent is forbidden.
Unreachable code in PL/SQL is
allowed and compilable but in Java it is not compilable in any way.
PL/SQL functions having return type may or may not return
appropriate values in flow but in Java if a function has a return
type, it must be returned in the execution flow.
To automate these quick fixes, an Eclipse plug-in is implemented and
will be delivered for on-premise installations. In service model
engagements it will be executed before delivery. This plug-in adds
the quick fixes automatically with one click and will not impact
original PL/SQL logic since it never really runs in the original
source.
Source schema should be valid. Other custom schemas and third-party libraries need NOT to be exported but should be verifiable via data dictionary tables(or exports of them).
Type resolution at remote end of DBLINK will result a generic Java "Object" type and thus will cause manual editing of the output. This may be prevented by providing additional configuration files that describes the remote end tables for continuous conversion environment (only if requested as on-premise deployment for continuous conversion).
Currently, triggers are not supported.