Oracle ERP领域主要有三套产品:Oracle EBS,Fusion Applications,JDE,其中似乎已经明确的是,未来将只有Fusion Applications,原因可以参考去年的一篇文章。
从Oracle EBS 11.5.10开始就引入了OAF,该框架的业务逻辑基本上都是使用Java来开发,EBS 12中OAF得到了加强和完善。尽管如此,我们知道在EBS中绝大部分逻辑还是依靠PL/SQL来实现的,不论是Form、Reports还是Workflow,都是真正的Native PL/SQL。Fusion Applications中的开发框架是ADF,也是通过Java来开发。
有人统计过两个平台的PL/SQL包数量:
-- 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
不论是从开发框架角度(OAF/ADF),还是从实际的PL/SQL包数量,都可以预示,Oracle在ERP领域的主要业务逻辑实现的天平将绝对的往Java方向倾斜。
记得曾经在哪里看到过Tom的一段论述,说的是真正优秀的数据库应用应当充分利用数据库本身的特性,如果是Oracle数据库应用,则应当充分使用PL/SQL来开发业务逻辑。不过现在看来,至少在Fusion Applications中,这个论述渐渐失效了。
常规意义的数据库系统已经无法阻挡应用系统强健的步伐了……