Developers just starting to learn Oracle ADF sometimes find the experience daunting, but Oracle JDeveloper and ADF Product Management have done an amazing job of easing the learning curve. The issue most of us have is simply keeping up with what they and others are making available.
Although AVIO Consulting's 3 day ADF with Oracle BPM Workshop gives students the knowledge of how to use and integrate ADF with Oracle BPM and human tasks, ADF is a complex product and it is easy to become overwhelmed when trying to learn its nuances. Here is the list of learning resources I provided a student this week. It includes what I believe are the most current Oracle ADF web sites, on-line videos, tutorials, documentation, commercially available books, instructor led training, code samples and forum.
Web Sites and Blogs
Oracle JDeveloper and ADF - Getting Started Guide - This has the links to all of the different papers, demonstrations, videos and tutorials provided by the Oracle ADF product management team.
AMIS Technology Blogs on ADF - AMIS Technology has some of the best blog posts on ADF.
Oracle ADF Insider - Learn Oracle ADF Online - Over 60 recorded sessions that cover the basics, advanced topics and the essentials with common ADF techniques explained.
Advanced ADF Series Part 1 - Self-paced online training with an overview and covers bindings, team development and task flows.
Advanced ADF Series Part 2 - Self-paced online training that covers regions, page layouts, page templates, components, skinning and data visualization components.
Oracle ADF Architecture TV - 85 videos that cover ADF planning and getting started, design and architecture, development and deployment.
ADF Academy - Oracle ADF Mobile - Self-paced 90 minute overview on ADF Mobile.
Oracle ADF Mobile YouTube Channel - Oracle Mobile Application Framework (MAF) videos (currently 27 videos).
JDeveloper and ADF Tutorials - Over 50 step-by-step tutorials that cover how to get started, general topics, JPA/EJB, web services, JSF, ADF applications, ADF Faces, ADF Task Flows, ADFbc, ADF Mobile, Metadata Services (MDS), Oracle WebCenter and Oracle SOA.
Commercially Available Books
Quick Start Guide to Oracle Fusion Development - Oracle JDeveloper and Oracle ADF by Grant Ronald - This is the first and best ADF book anyone getting started should buy. It is easy to understand and concise, but full of essential base level information.
Developing Web Applications with Oracle ADF Essentials by Sten E. Vesterli - Oracle JDeveloper 11g Handbook by Duncan Mills, Peter Koletzke, Avrom Roy-Faderman
Oracle Fusion Developer Guide by Frank Nimphius, Lynn Munsinger
Oracle ADF Faces Cookbook by Amr Gawish
Oracle ADF Enterprise Application Development Made Simple by Sten E. Vesterli
Oracle ADF 11gR2 Development Beginner's Guide by Vinod Krishnan
Oracle ADF Real World Developer's Guide by Jobinesh Purushothaman
Oracle JDeveloper 11gR2 Cookbook by Nick Haralabidis
Instructor Led Training
Oracle Fusion Middleware 11g: Build Applications with ADF I
Oracle Fusion Middleware 11g: Build Applications with ADF II
ADF with Oracle BPM Workshp (A-311) - Three day workshop that shows developers how to integrate ADF with Oracle BPM processes and human tasks.
Code Corner - Hints tips and coding samples for ADF Developers.
ADF Oracle Technical Network (OTN) Forum - Post questions and search for previously answered questions.
I hope this helps you on your Oracle ADF journey.
Join the Conversation
Hello Mr Atwood,
We are in the process of implementing three processes using Oracle BPM, the developers team previous experience to develop UI forms is using ADF, but the version we are using supports Oracle BPM Web Forms. I´m worried that the architecture using ADF will make us maintain 2 different projects, one for the BPM project and the other for the UI forms using ADF.
The question would be, which of them should we use, Oracle BPM Web Forms or ADF? If the form has complex rules should it be ADF? Should we be able to implement any rule using Oracle BPM Web Forms or is it limited somehow?
Thanks beforehand for your help.
I'm not trying to dissuade you from using Oracle BPM’s Web Form Design tool that was introduced in 22.214.171.124 to create your user interface forms for Oracle BPM. I am a fan of using them when:
- You need to get started and deliver something very quickly – the Web Form Design tool is very easy to learn
- Your forms are relatively simple – you do not have the need for complex validation or rules.
- The services you need to hit are REST based
- Your people building the forms are more business oriented and less technical
Consider using ADF though when:
- You have access to skilled ADF developers
- You are creating user interfaces that will be relatively complex
- You need to access services other than REST, there are complex rules, there is complex validation, integration to databases, web services and the different adapters
- Your developers will need programmatic debugging
- You will need to navigate between different user interface pages when an end user interacts with them
- You will need to display information graphically (e.g., bar and pie charts)
- You need the reuse capabilities that ADF provides using templates and reusable controls
Even though it sounds like you have skilled ADF developers, one thing they will probably struggle with is getting the ADF forms to work with the Oracle BPM (e.g., working with human tasks and passing information both into and back out to the process payload). Getting ADF to work with Oracle BPM is a skill that is difficult to acquire on your own and is the reason we provide training in this area (see the A-311 ADF with Oracle BPM Workshop described on our website’s training pages).
I’m not sure I understand your concern of having separate projects for the BPM processes and ADF. While I agree with you that when you develop using the Web Form Design tool, your user interfaces are in the same project as the BPM processes and the user interfaces and BPM processes are deployed at the same time. On small projects this might not be a problem, but I’d suggest to you that there is a benefit to having the BPM project separate from the project the user interface developers are using. If they are separate, the people developing the user interfaces can work independently of the developers working on the business processes. This means that the can each deploy their projects when they need to make changes and test without interfering with one another.
Hope this helps,