What's the Difference between APEX and the PL/SQL Gateway-Web Toolkit?
This is a great Q&A from a recent class:
What is the difference between using APEX to build web applications and the PL/SQL Gateway-Web Toolkit method?
Oracle APEX Certified Expert / SkillBuilder Senior APEX Instructor Tyson Jouglet answers:
This is a great question.
APEX is one level of abstraction beyond the PL/SQL Web Toolkit. What are some of the common components you would need to build into a web application using the web toolkit?
- Authentication - identifying users
- Authorization - who can see what?
- Managing session state - item values from page to page
- Caching pages/regions - only render the home page once every 6 hours otherwise use the cached version
- Navigation - how to get form page to page
- Reports and pagination - show records 1-15 then 16-30
- Forms and optimistic record locking - make sure users are not updating the same record at the same time
- Web services - integrate into other platforms via http
These are all components that APEX lets you declaratively build. In the web toolkit you would have to write the code to render a query, in APEX you simply just provide the query as a report attribute. If you had to customize how that report is to be displayed in web toolkit you would have to rewrite a lot of code, where as in APEX you can likely just adjust report or column level attributes.
If you ever run into a requirement that is just too specific and the declarative components are actually getting in the way of your solution, you can make a pl/sql region where you do all the heavy lifting for that component and its almost the same as using the web toolkit by itself. So in that regard you can use declarative APEX for 80-90% of your application components and the remaining items can always fall back to web toolkit.
(Closing note from DA: Tyson is good!)