JDBCWizard - A 'hands free' Java service generator for calling Oracle PL/SQL as part of a Web Service or an SOA initiative.

JDBCWizard is a Java generator for your Legacy Oracle Database application. With minimal user input and no specialist knowledge it generates a RESTful Java service in which all the database PL/SQL procedures and SQL are represented as stateless Java methods. It does this without human assistance for almost all PL/SQL, even in cases where complex parameters and data types are used. In addition to the Service class it creates all the supporting classes that are required when records and arrays are used as parameters.

No prior knowledge of PL/SQL, JDBC or Oracle is required on the part of the user.

JDBCWizard maps the PL/SQL procedures and SQL statements inside your database to Java methods you can call at will.

Suppose you have this PL/SQL procedure, which has complicated parameters:

 TYPE bookings_plsql_array IS VARRAY(30) OF bookings%ROWTYPE; 


 PROCEDURE add_bookings_plsql_array  

   (p_customer       in customers%ROWTYPE  

   ,p_booking_table  in bookings_plsql_array 

   ,p_status_message    out nocopy varchar2); 

JDBCWizard will create an SOA friendly web service class to call your PL/SQL:


 * Call Class PackageArrayExampleAddBookingsPlsqlArray as a service  

 * @param CustomersAttrs paramPCustomer PL/SQL RECORD  

 * @param BookingsAttrs[] paramPBookingTable VARRAY  

 * @return String  

 * @throws DAOFactoryServiceException  


 // JSR-181 support - make this method part of a web service  


 public String servicePlsqlPackageArrayExampleAddBookingsPlsqlArray  

     (@WebParam(name="paramPCustomer") CustomersAttrs paramPCustomer  

     ,@WebParam(name="paramPBookingTable") BookingsAttrs[] paramPBookingTable) throws DAOFactoryServiceException;  

The Java Service JDBCWizard generates can be be used to present the underlying Oracle database application as a stateless service. This makes it ideal for creating an Oracle Web Service or as part of a Service Oriented Architecture.

JDBCWizard also creates all the extra Java classes you need to work with records and arrays.

It also creates REST compatible Java services to run any valid SQL statement you have.

JDBCWizard Architecture

JDBCWizard does not have a binary runtime component - it's not a magic database access engine. Everything is done at development time and everything is done by generating source code which customers own or have a right to use.

JDBCWizard consists of a stand alone Java GUI based application which logs into your database and examines all your PL/SQL, tables and SQL statements. It then determines and writes the Java required to access them using JDBC via a single service class. In practice this involves generating a large number of seperate supporting classes as well as complicated JDBC calls. In addition to allowing the user to select objects to generate code for the GUI also allows the user to change aspects of the generated code such as how it logs messages, where it gets its database connection from and so on.

For further information see the features list, the JDBCWizard Documentation Page or read about the Eclipse and SQLDeveloper plugins.