NOTE: This content is here for archive purposes only. It refers to an obsolete framework, which has been replaced by the Framework for Database API-Based ADF BC.
This was a project that I put together for a presentation at ODTUG Kaleidoscope 2009. It’s a library of custom ADF Business Components framework classes that you can use to declaratively create entity objects and view objects that, rather than using DML and SQL to interact with the database, use PL/SQL package APIs for DML, data retrieval, and locking. The framework supports view links and associations, and was intended to support optimistic and pessimistic locking modes, although that functionality doesn’t work properly. It doesn’t do some things like respect fetch size (although its replacement does), so it’s not appropriate for, e.g., view objects that need to query massive amounts of data per user.
Because this is somewhat more substantial than the code snippets in my posts, the Creative Commons Attribution License I’ve released most of this blog under is not really appropriate here, so please note that the content and code linked to from this page is not released under that license. Instead, I and my employer, Quovera, on whose time I did much of this, are jointly releasing the framework itself under the Gnu GPL, and the framework’s user guide under the Gnu FDL.
What You Absolutely Need to Use the Framework
- The framework JAR file
- The framework license, which covers both the above JAR file and the source code linked below
- The framework user’s guide (includes user’s guide license)
What You May Also Find Useful (Recommended, but not Required)
- The framework Javadoc JAR file
- The framework source code (zipped up JDeveloper 11g workspace)
- A little (really little) demo application that uses the framework (zipped up JDeveloper 11g workspace). This is public domain; you can do whatever you want with it.
- Brief instructions on how to set up and run the demo; also public domain.


Darragh Duffy | 19-Oct-09 at 10:31 am | Permalink
Hi there Avrom – just trying to work with your Demo App. have I missed something ? becuase I dont see the create statements for the Employee or Department tables. Are you assuming we create these ourselves ?
thanks Darragh
Avrom | 19-Oct-09 at 4:16 pm | Permalink
Hi Darragh,
Not 100% sure what you mean. Do you mean you don’t see the stored procedures in the DB? You need to run the empsPkg.sql script from the demo’s Database project to create them.
Or do you mean you don’t see them in the EO defs themselves? Go to the General page of the Employees entity object editor and expand the Custom Properties node. You should see (among other properties) a property called “InsertProc” with the value “employees_pkg.create_emp”. That, combined with the property “InsertIndex” on all of the attributes, allows the framework to determine the correct stored procedure call.
As an important note: Locking does *not* work properly with this version of the framework. I hope to have an almost completely rewritten framework which, among other things, fixes the locking problem up this week.
Best,
Avrom
Darragh Duffy | 20-Oct-09 at 5:02 am | Permalink
Hi Avrom, I am pretty new to Jdeveloper but have been an Oracle PLSQL / Mod PSQL and Forms Developer for about 10 years, you might have to excuse some stupid questions.
what I actually mean is when I run point 5 in your instructions:
5. Right-click the empsPkg.sql file and select “Run in SQL*Plus > HR” to run the sql file in your database.
the file empsPkg.sql runs but I have no underlining tables for Employee / Departments etc. Are you assuming I am running this Demo app on a certain Schema ?
I can see under the EO “Employee” – Custom properties for DeleteProc InsertProc etc as you desfribed. but I am a little confues to what schema this shold be running in.
I am very interrested in getting this to work as we are planing a big investment with JDeveloper 11G ADF Faces and have a lot of code already in PLSQL.
Thanks again
Darragh.
Avrom | 20-Oct-09 at 9:09 am | Permalink
Sorry, I should have made this explicit: The application assumes you have the Oracle common schemas (at least HR) installed and unlocked in your database. If you have an HR schema, running in the HR connection should automatically install the procedures to that schema. That’s where the EMPLOYEES and DEPARTMENTS tables are.
Darragh Duffy | 22-Oct-09 at 9:40 am | Permalink
Any chance you can give me the tables used in the Demo by exporting them via SQL Creates / Inserts ? We actually have our own CoreHr product which competes with Oracles, so I dont have Oracle Hr installed, instead we develop products on top of Oracle Technology.
thanks Again Darragh
Avrom | 25-Oct-09 at 8:59 am | Permalink
Hi Darragh,
Sorry, I should have been more explicit. These aren’t the schemas used by Oracle Apps, they’re the free demo schemas that come with every installation of the Oracle database. In case yours were deleted, though, you can get them at http://www.oracle.com/technology/obe/obe11jdev/11/common/files/sample_schema_scripts.zip .
Avrom’s Java EE and Oracle ADF Blog :: All-New Framework for Database API-Based Business Components on SampleCode | 26-Oct-09 at 12:02 am | Permalink
[...] loose sense, based on the Framework for Package API-based business components I’ve published here, but it’s essentially a complete rewrite, from the ground up. It’s also massively [...]