SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Real World ADF Design & Architecture Principles
ADF Task Flow Overview
ORACLE
PRODUCT
LOGO
15th Feb 2013 v1.0
3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Learning Objectives
•  At the end of this module you should be able to:
–  Understand the difference between page oriented and
task flow oriented development
–  Explain the benefits ADF task flows provide
–  Understand bounded task flow metadata files and properties
Image: imagerymajestic/ FreeDigitalPhotos.net
4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Characteristics and Benefits of Task Flows
•  Service Oriented Development
•  Task Flow Design Fundamentals
5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ADF Task Flow - Key Benefits
•  Partitions and modularizes large business applications
•  Visual task flow diagrams
–  Provide a shared language between developers and domain experts
•  Reusable application flows published via ADF Libraries
•  Can have isolated transactions
•  Can be used as "remote services with a UI"
•  Supports traditional web navigation model and rich internet
navigation models
•  Support for nested control flows
6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ADF Task Flow - Key Benefits
•  On-board security
–  ADF Security
–  Bounded task flow browser access protection
•  Additional memory scopes
–  Avoid memory attribute name conflicts
–  Avoid memory bloating
•  Improved and declarative exception handling
•  Load on demand
•  Static and dynamic configuration
7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Secret of Oracle ADF Rockstar Programmers
"Develop User Interface Services – Not Pages"
Steven Davelaar, "Building Highly Reusable Task Flows"
http://www.slideshare.net/stevendavelaar/reusable-taskflows
8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Characteristics and Benefits of Task Flows
•  Service Oriented Development
•  Task Flow Design Fundamentals
9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Analogy
Service Orientation
“When building distributed solution logic, design
approaches revolve around a software engineering theory
known as the separation of concerns. In a nutshell, this
theory states that a larger problem is more effectively
solved when decomposed into a set of smaller problems
or concerns."
Thomas Erl, "SOA: Principles of Service Design"
10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Oriented Development
•  SOA uses the concept of services
–  Predominately about services and information flow
–  Fine grained services are consumed by larger composite
•  Service Oriented Development
–  Web based analogy to SOA
–  Suits ADF development
–  About web tasks/processes and how they’re chained
–  Fine grained task flows are consumed by larger apps
–  Aligns with the UX concepts of task driven design
11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Hands up, are task flows
services?
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Task Flow Oriented Architecture (TOA)
•  Think task flow from design time on
–  Create a task flow portfolio plan
• Inventory of existing task flows
• Requirement for new task flows
•  Ensure objectives and requirements reflect task flow benefits
–  Reuse, loose-coupling
•  Use parent task flows to orchestrate child flows
•  Identify patterns and standardize on them
13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Image: imagerymajestic/ FreeDigitalPhotos.net
•  Knowing about SOA and service principles is a valuable
starting point for developing Task Flow best practices
•  Task Flows prepare applications for change
•  Task Flows implement business use cases or parts of
•  Task Flows separate process flows from business logic
•  There is no fixed sizing recommendation: Sky is the limit
and common sense a good judge
14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Characteristics and Benefits of Task Flows
•  Service Oriented Development
•  Task Flow Design Fundamentals
15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Java Server Faces and MVC
Responsibility of the Controller
request
response View Model
Controller
Faces Servlet
faces-config.xml
component
events
Component Model
Converter, Validator,
Renderer
JSF document
Business Objects
(Managed Beans)
Phase Events
Component event
Listener and action
handlers
16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ADF with ADF Controller and MVC
Responsibility of the Controller
request
response View Model
Controller
Faces Servlet
adfc-config.xml
component
events
ADF Binding
Converter, Validator,
Renderer
JSF document
Data Control
(Business Service)
Phase Events
Component event
Listener and action
handlers
17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Bounded Task Flow
•  XML defined in View Controller
project
•  Located in WEB-INF directory or
(better) sub-folder(s) therein
•  XML
–  Defines task flow behavior like transaction
management and Data Control sharing
–  Defines activities
•  Activities reference views, methods, operations,
task flows, switcher statements
–  Defines managed beans used in task flow
–  May reference task flow template
18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Bounded Task Flow Diagram
19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Bounded Task Flow Properties
20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Properties
Property Description
Default Activity Activity that is invoked first when a bounded task flow is called.
Exception Handler Activity that is called by the framework in case of an exception
Initializer Invokes managed bean method upon task flow initialization before any activity
is executed.
Finalizer Invokes managed bean method upon task flow exit using return activity.
URL Invoke Bounded task flows using JSPX documents may be called directly from a
browser URL. This property defines which task flow is browser accessible and
which task flow can only be accessed from within an ADF application.
Managed Beans Managed bean definitions for use within the bounded task flow.
Input Parameter Definitions API contract between the bounded task flow and the calling task flow or view.
Commonly Used in Bounded Task Flows
21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Properties
Property Description
Return Value Definitions API contract between bounded task flow calling task flow. Requires task flows
called via task flow call activity
Train Defines whether or not the bounded task flow exposes a train model for
navigation
Critical If save point feature is used, critical ensures a save point is taken when the
task flow is left for the application to recover to this state
Transaction Defines the transaction setting for the bounded task flow and whether the data
control is shared or not (isolated).
Also defines if an implicit save point is taken when navigating into a bounded
task flow that does not run in its own transaction
Commonly Used in Bounded Task Flows
22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Task Flow Communication
•  Input Parameter
•  Return values
23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Exception Handling
•  Exceptions can be mapped to an activity
•  Called when exceptions are thrown
–  Not a “normal” part of a flow
<exception-handler>unexpectedErrorPage</exception-handler>
24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
About ADF Regions
•  Display task flows in independent areas of a page or a page
fragment
•  Executes a task flow without requiring the parent view to refresh
•  Key enabler of enterprise Web 2.0 development with the Oracle
Fusion development platform
•  Allows building desktop like web user interfaces that unveil the real
power of Ajax
•  Basis of UI Shell layout pattern
25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Use it Inside Another View
26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
How-to create an ADF Region
•  Drag bounded task flow to visual page editor
–  Task flow must use page fragments
27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Conclusion
•  Think task flow oriented architecture when
building ADF applications
•  Bounded task flow and region is the most
common pattern used when designing ADF
applications
•  Bounded task flows can be deployed and reused
as ADF libraries
28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Further Reading
•  http://www.oracle.com/technetwork/developer-tools/jdev/
documentation/index.html
–  Oracle JDeveloper and ADF Documentation Library
–  Fusion Developer Guide
•  Part III Creating ADF Task Flows
–  Getting Started with ADF Task Flows
–  Working with Task Flow Activities
–  Using Parameters in Task Flows
•  Task Flow Design Fundamentals
–  http://www.oracle.com/technetwork/developer-tools/jdev/adf-task-flow-
design-132904.pdf
29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration Architectures
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
 
Oracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error HandlingOracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error Handling
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
 
Oracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment Options
 
Oracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDSOracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDS
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best Practices
 
Oracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project Dependencies
 
Oracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System Topologies
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
 
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsOracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for Security
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - Logging
 

Ähnlich wie Oracle ADF Architecture TV - Design - Task Flow Overview

Raju_Datla_Resume
Raju_Datla_ResumeRaju_Datla_Resume
Raju_Datla_Resume
VEERA DATLA
 
Con8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsCon8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebs
Berry Clemens
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
Neha Singh
 
Oracle9i application server oracle forms services
Oracle9i application server   oracle forms servicesOracle9i application server   oracle forms services
Oracle9i application server oracle forms services
FITSFSd
 

Ähnlich wie Oracle ADF Architecture TV - Design - Task Flow Overview (20)

Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
 
Programming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsProgramming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionapps
 
OOW 2012: Integrate Cloud Applications with Oracle SOA Suite
OOW 2012: Integrate Cloud Applications with Oracle SOA SuiteOOW 2012: Integrate Cloud Applications with Oracle SOA Suite
OOW 2012: Integrate Cloud Applications with Oracle SOA Suite
 
APEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaciAPEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaci
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
Raju_Datla_Resume
Raju_Datla_ResumeRaju_Datla_Resume
Raju_Datla_Resume
 
Oracel ADF Introduction
Oracel ADF IntroductionOracel ADF Introduction
Oracel ADF Introduction
 
Oracle APEX Introduction (release 18.1)
Oracle APEX Introduction (release 18.1)Oracle APEX Introduction (release 18.1)
Oracle APEX Introduction (release 18.1)
 
Con8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsCon8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebs
 
J developer, oracle adf introduction
J developer, oracle adf   introductionJ developer, oracle adf   introduction
J developer, oracle adf introduction
 
Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)Oracle BPM workflow and Open-XDX web services (Part 2)
Oracle BPM workflow and Open-XDX web services (Part 2)
 
Oracle Application Express Introduction
Oracle Application Express  IntroductionOracle Application Express  Introduction
Oracle Application Express Introduction
 
Apex 42-new-features-1867076
Apex 42-new-features-1867076Apex 42-new-features-1867076
Apex 42-new-features-1867076
 
PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...
 
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET ProgrammingEssential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programming
 
Adf 11
Adf 11Adf 11
Adf 11
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
Oracle9i application server oracle forms services
Oracle9i application server   oracle forms servicesOracle9i application server   oracle forms services
Oracle9i application server oracle forms services
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Oracle ADF Architecture TV - Design - Task Flow Overview

  • 1. 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 2. 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Real World ADF Design & Architecture Principles ADF Task Flow Overview ORACLE PRODUCT LOGO 15th Feb 2013 v1.0
  • 3. 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Learning Objectives •  At the end of this module you should be able to: –  Understand the difference between page oriented and task flow oriented development –  Explain the benefits ADF task flows provide –  Understand bounded task flow metadata files and properties Image: imagerymajestic/ FreeDigitalPhotos.net
  • 4. 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Characteristics and Benefits of Task Flows •  Service Oriented Development •  Task Flow Design Fundamentals
  • 5. 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ADF Task Flow - Key Benefits •  Partitions and modularizes large business applications •  Visual task flow diagrams –  Provide a shared language between developers and domain experts •  Reusable application flows published via ADF Libraries •  Can have isolated transactions •  Can be used as "remote services with a UI" •  Supports traditional web navigation model and rich internet navigation models •  Support for nested control flows
  • 6. 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ADF Task Flow - Key Benefits •  On-board security –  ADF Security –  Bounded task flow browser access protection •  Additional memory scopes –  Avoid memory attribute name conflicts –  Avoid memory bloating •  Improved and declarative exception handling •  Load on demand •  Static and dynamic configuration
  • 7. 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Secret of Oracle ADF Rockstar Programmers "Develop User Interface Services – Not Pages" Steven Davelaar, "Building Highly Reusable Task Flows" http://www.slideshare.net/stevendavelaar/reusable-taskflows
  • 8. 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Characteristics and Benefits of Task Flows •  Service Oriented Development •  Task Flow Design Fundamentals
  • 9. 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Analogy Service Orientation “When building distributed solution logic, design approaches revolve around a software engineering theory known as the separation of concerns. In a nutshell, this theory states that a larger problem is more effectively solved when decomposed into a set of smaller problems or concerns." Thomas Erl, "SOA: Principles of Service Design"
  • 10. 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Service Oriented Development •  SOA uses the concept of services –  Predominately about services and information flow –  Fine grained services are consumed by larger composite •  Service Oriented Development –  Web based analogy to SOA –  Suits ADF development –  About web tasks/processes and how they’re chained –  Fine grained task flows are consumed by larger apps –  Aligns with the UX concepts of task driven design
  • 11. 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Hands up, are task flows services? Exercise Image: imagerymajestic/ FreeDigitalPhotos.net
  • 12. 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Task Flow Oriented Architecture (TOA) •  Think task flow from design time on –  Create a task flow portfolio plan • Inventory of existing task flows • Requirement for new task flows •  Ensure objectives and requirements reflect task flow benefits –  Reuse, loose-coupling •  Use parent task flows to orchestrate child flows •  Identify patterns and standardize on them
  • 13. 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Image: imagerymajestic/ FreeDigitalPhotos.net •  Knowing about SOA and service principles is a valuable starting point for developing Task Flow best practices •  Task Flows prepare applications for change •  Task Flows implement business use cases or parts of •  Task Flows separate process flows from business logic •  There is no fixed sizing recommendation: Sky is the limit and common sense a good judge
  • 14. 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Characteristics and Benefits of Task Flows •  Service Oriented Development •  Task Flow Design Fundamentals
  • 15. 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Java Server Faces and MVC Responsibility of the Controller request response View Model Controller Faces Servlet faces-config.xml component events Component Model Converter, Validator, Renderer JSF document Business Objects (Managed Beans) Phase Events Component event Listener and action handlers
  • 16. 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ADF with ADF Controller and MVC Responsibility of the Controller request response View Model Controller Faces Servlet adfc-config.xml component events ADF Binding Converter, Validator, Renderer JSF document Data Control (Business Service) Phase Events Component event Listener and action handlers
  • 17. 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Bounded Task Flow •  XML defined in View Controller project •  Located in WEB-INF directory or (better) sub-folder(s) therein •  XML –  Defines task flow behavior like transaction management and Data Control sharing –  Defines activities •  Activities reference views, methods, operations, task flows, switcher statements –  Defines managed beans used in task flow –  May reference task flow template
  • 18. 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Bounded Task Flow Diagram
  • 19. 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Bounded Task Flow Properties
  • 20. 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Properties Property Description Default Activity Activity that is invoked first when a bounded task flow is called. Exception Handler Activity that is called by the framework in case of an exception Initializer Invokes managed bean method upon task flow initialization before any activity is executed. Finalizer Invokes managed bean method upon task flow exit using return activity. URL Invoke Bounded task flows using JSPX documents may be called directly from a browser URL. This property defines which task flow is browser accessible and which task flow can only be accessed from within an ADF application. Managed Beans Managed bean definitions for use within the bounded task flow. Input Parameter Definitions API contract between the bounded task flow and the calling task flow or view. Commonly Used in Bounded Task Flows
  • 21. 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Properties Property Description Return Value Definitions API contract between bounded task flow calling task flow. Requires task flows called via task flow call activity Train Defines whether or not the bounded task flow exposes a train model for navigation Critical If save point feature is used, critical ensures a save point is taken when the task flow is left for the application to recover to this state Transaction Defines the transaction setting for the bounded task flow and whether the data control is shared or not (isolated). Also defines if an implicit save point is taken when navigating into a bounded task flow that does not run in its own transaction Commonly Used in Bounded Task Flows
  • 22. 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Task Flow Communication •  Input Parameter •  Return values
  • 23. 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Exception Handling •  Exceptions can be mapped to an activity •  Called when exceptions are thrown –  Not a “normal” part of a flow <exception-handler>unexpectedErrorPage</exception-handler>
  • 24. 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. About ADF Regions •  Display task flows in independent areas of a page or a page fragment •  Executes a task flow without requiring the parent view to refresh •  Key enabler of enterprise Web 2.0 development with the Oracle Fusion development platform •  Allows building desktop like web user interfaces that unveil the real power of Ajax •  Basis of UI Shell layout pattern
  • 25. 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Use it Inside Another View
  • 26. 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. How-to create an ADF Region •  Drag bounded task flow to visual page editor –  Task flow must use page fragments
  • 27. 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Conclusion •  Think task flow oriented architecture when building ADF applications •  Bounded task flow and region is the most common pattern used when designing ADF applications •  Bounded task flows can be deployed and reused as ADF libraries
  • 28. 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Further Reading •  http://www.oracle.com/technetwork/developer-tools/jdev/ documentation/index.html –  Oracle JDeveloper and ADF Documentation Library –  Fusion Developer Guide •  Part III Creating ADF Task Flows –  Getting Started with ADF Task Flows –  Working with Task Flow Activities –  Using Parameters in Task Flows •  Task Flow Design Fundamentals –  http://www.oracle.com/technetwork/developer-tools/jdev/adf-task-flow- design-132904.pdf
  • 29. 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.