Build your Business Services using ADF Task Flows


Published on

ADF Task Flow is the most important and essential feature of ADF development which makes ADF unique in the battle of frameworks. This session will help you to understand different components and techniques to build task flows and will discuss some use cases.

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Build your Business Services using ADF Task Flows

  1. 1. Build Your Business Services using ADF Task Flows Zeeshan Baig, Oracle ACE Technical Manager, AST Corporation
  2. 2. A little about me…… ● 13+ years of Technical Experience in Oracle Products ● Technical Manager at AST ● Oracle ACE Member ● Oracle ADF Certified Specialist and OCP DBA ● Technical Blog at ● YouTube Tutorials ● Twitter @baigsorcl
  3. 3. ● What are Task Flows? ● Types of Task Flows? ● Other concepts used in Task flows ● Understand different components to build task flows ● Task flows templates ● Reusable task flows ● Use cases ● Q & A Thanks Google, and Oracle documentation for images used in this presentation. These images are unmodified and used for educational purpose only. Agenda
  4. 4. What are task flows their types and other concepts?
  5. 5. In simple words ● Visual representation of app process flow ● Each TF contains portion of app navigation ● They are similar to traditional flow charts ● Primary purpose is reuse What are Task Flows?
  6. 6. Un Bounded Entry Points Types of Task flows Bounded Entry Points Exit Points Exit Points
  7. 7. Types of Task Flows - Key Differences Un-bounded (UTF) ● Public pages / No boundary ● No reuse ● No input parameters ● No return values ● No transaction Control ● No security ● e.g. Pages - Home, Help, Search, Navigations Bounded (BTF) ● Well defined boundary ● Reusable ● Can take input parameters ● Can return values ● Allows transaction control ● Security control ● e.g. Register, Checkout, other application processes
  8. 8. ● A typical application contains one unbounded task flow and many bounded task flows ● Build bounded task flows in its own application / workspace BTFs can ● Create with Pages or Page fragments ● Create as Train flows ● Call in a Dialog Bounded Task flows
  9. 9. Video tutorial at adf.html Bounded Task flows - Train Flows
  10. 10. Page Fragment ● Renders as content in another JSF page ● Must not contains the af:document, af:form, f:view, head, body and html because JSF page already has it ● has .jsff extension Page ● can contains many fragments ● extension .jsf or .jspx Page vs. Page Fragment
  11. 11. Task flow Regions Static Regions ● Fixed visibility ● Creates Task flow binding on page ● Tutorial ting-pages-with-regions-in-oracle.html Dynamic Regions ● Visible based on custom logic ● Creates Multi-task flow binding in page definition ● Tutorial with-dynamic-regions-in-oracle.html ● Regions are created when you drag and drop a bounded task flow on a page
  12. 12. ● Application..... Remains till application stops ● Session.......... Persists till user session ● PageFlow...... Also known as Task flow scope ● View............... Lifespan till current page ● Request......... Lives for duration of request only ● BackingBean. UI Component based Task Flow Managed Bean Scopes
  13. 13. Task flow Managed Bean Scopes
  14. 14. Task Flow Components
  15. 15. Task flow Components ● Displays a JSF Page or Fragment ● Extension .jsf, .jspx and .jsff (fragments) ● Bookmark able only in unbounded Task flows ● Can have one or more task flow regions ● Good practice to have page definition file attached
  16. 16. Task flow Components ● Allows to call application logic in task flow ● Drag and drop methods from Data Control OR DnD from component palette then configure parameters to call managed bean methods ● Common usages are initialization, Clean-up, exception handler ● Can have return values in case of method returns some result ● if method is of 'void' type then outcome would be simple string
  17. 17. Task flow Components ● Route to any activity based on EL expression ● Have default condition ● No Limits on conditions ● No limits on destinations ● Good practice is to start your task flows with Router for any future customizations.
  18. 18. Task flow Components ● Calls another task flow from unbounded and bounded task flow ● Can take input parameters ● Can return output parameters ● Drag and Drop task flow from Application navigator to task flow ● Drag and Drop task flow to the page as link or button
  19. 19. Task flow Components ● Used to ends or send controls back to caller in Bounded Task flows ● Does either Commit or Rollback (If Task flow is transactional) ● Set outcome to required control flow navigation- case. ● BTF can have many TF return activities
  20. 20. Task flow Components ● Used to Redirect application to addressable URL ● Can call BTFs ● Can call View activities on UTF ● Can call external sites e.g. ● No Control returned to caller
  21. 21. Task flow Components ● Allow to restore application to previous state ● Supports Save for later functionality ● Only required where Restore needed
  22. 22. Task flow Components ● Allows to trigger navigation of Parent view activity in ADF Region ● Identifies how control will pass from one activity to another ● Represents global navigation case
  23. 23. ● You can create task flow templates for common activities in bounded task flows ● Common use case is error handler ● Best practice is to use template for all bounded task flows Task flow Templates
  24. 24. Building Task Flows
  25. 25. Building Task Flows
  26. 26. ● Build BTFs in separate application then merge them into master app using ADF Lib Jar ● Use task flow with page fragments ● Use Input parameters ● Use Router activity as default ● Set conditional behavior of UI components based on Input parameters ● Use dynamic regions Tips to build Reusable Task Flows
  27. 27. ● Create Deployment Profile ADF Library Jar ● Deploy as ADF library Jar ● Create Connection as File system in Resource Palette ● Drag and Drop from Resource Palette to your page and ADD library path ● Complete Tutorial available at task.html How to Reuse Task flows
  28. 28. ● Typical Home page - Calling Task Flows from Task Flows Building Task flows as Services
  29. 29. ● Common Flow - Search, Edit , Commit or Rollback Building Task flows as Services
  30. 30. ● Service Flow - Add new Item while entering data on other screen Building Task flows as Services
  31. 31. ● Service Flow - Upload Photos, Review and Submit Building Task flows as Services
  32. 32. ● Decision Point - Based on UserType Parameter Redirect to different Page Building Task flows as Services
  33. 33. ● Parameterized Task Flow - Multi-functional, Hide/show components based on parameters Building Task flows as Services
  34. 34. ● URL call flow - Calling Registration, Profile Flows using URL call, Independent transaction Building Task flows as Services
  35. 35. ● Registration Process – Train, Method calls Building Task flows as Services
  36. 36. ● Shopping Cart Check out – Reconcile, Review, Submit, Continue Building Task flows as Services
  37. 37. ● Learned about Task Flows ● Bounded and Unbounded Task Flows ● Page Fragments, Managed Beans, Templates ● ADF Library Jars, Components of Task flows ● Use cases Review
  38. 38. Q & A
  39. 39. ● BLOG ● YouTube Channel ● Email ● Twitter @baigsorcl Thank you, Task Flow Experts….