Wednesday 19 October 2011

Oracle Fusion Applications 101: Bye, Bye PL/SQL

Starting to get hands on with Oracle Fusion Applications (OFA), one of the first clear indications that OFA is a completely different beast compared to Oracle EBS is by looking at the amount of PL/SQL packages used in EBS 12.1.3 compared to OFA 11.1.1.5.1:

-- Oracle EBS 12.1.3 --
SELECT COUNT(*)
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'PACKAGE BODY'
and owner not in ('SYS','SYSTEM');

COUNT(*)              
----------------------
47929    

-- Oracle Fusion 11.1.1.5.1 --
SELECT COUNT(*)
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'PACKAGE BODY'
AND OWNER NOT IN ('SYS','SYSTEM');

COUNT(*)              
----------------------
3677

In EBS 12.1.3 the majority of Business Logic was developed in PL/SQL, either in server side Packages or contained in Forms and Reports native PL/SQL. Since 11.5.10 and the introduction of OAF, allot of new Business Logic has been developed in JAVA, contained in BC4J Entity, View and Application Module objects. With Fusion Applications, the entire product is developed as a Java Enterprise Application.

As we can see from the amount of PL/SQL packages, only a small amount of business logic runs outside of JAVA, predominantly in PL/SQL for more data-intensive tasks.

#OracleFusionApplicationLesson 1 for Oracle EBS Developers: Get your JAVA on!