SlideShare una empresa de Scribd logo
1 de 63
Descargar para leer sin conexión
1
<Insert Picture Here>




Oracle JHeadstart – Superior Productivity in Developing Best
Practice Oracle ADF Applications
Steven Davelaar
Oracle, Technical Director
Agenda


•   What is JHeadstart
•   Seeing is believing: demo!
•   Generated ADF design patterns
•   JHeadstart reusable components
•   JHeadstart generator templates
•   (JHeadstart Forms2ADF Generator)




                                       3
What is JHeadstart?


• JDeveloper extension for template-based automation of
  ADF development tasks
  – Development Toolkit on top of ADF
  – Builds on ADF Runtime architecture
  – Fully integrates with ADF Design Time
• Takes declarative development to the next level
  – Generates complete ADF applications
  – Like the Designer Forms Generator generates Forms apps,
    JHeadstart generates ADF apps
• Transforms Oracle Forms into ADF applications




                                                              4
JHeadstart – Main Components


• JHeadstart Application Generator (JAG)
  – Generates best-practice web application
• JHeadstart Utilities
  – Automate other ADF development tasks
  – Perform quality checks
• JHeadstart Runtime
  – Reusable components to implement complex functionality
  – Auto-implements host of best practices
• JHeadstart Forms2ADF Generator
  – Create fully-functional ADF app based on forms definitions
• JHeadstart Developer’s Guide


                                                                 5
JHeadstart Application Generator (JAG)


•   Generates ADF Faces pages and fragments
•   Generates (un)bounded task flows
•   Generates page definitions (data bindings)
•   Does NOT generate any Java code, only XML!
•   JAG is driven by
    – XML-based Application Definition file, created and edited
      through GUI Wizard (JDeveloper add-in)
    – Velocity Generator Templates
• Generated output is 100% customizable



                                                                  6
Application
              Application
               Definition
               Definition   Generation Process


JHeadstart                          JSF JSP
                                    JSF JSP
                                   ADF Faces      View
Application                        ADF Faces
 Definition
    Wizard
                                   JSF+ADFc
                                   JSF+ADFc       Controller


       ADF BC
      ADF BC                       ADF Model
                                   ADF Model
      metadata
      metadata
                                  Data Bindings
                                  Data Bindings   Model
                                  Data Controls
                                  Data Controls

                                       ADF
                                      ADF
                                       ADF        Business
                                      ADF
                                     Business
                                    Business
                                     Business
                                    Business      Services
                                   Components
                                   Components
                                   Components
                                   Components
     JDeveloper
    ADF BC Wizard


                                                               7
Application
              Application
               Definition
               Definition




JHeadstart                    JSF JSP
                              JSF JSP
                             ADF Faces      View
Application                  ADF Faces
 Definition
    Wizard
                                JSF
                                JSF         Controller


       ADF BC
      ADF BC                 ADF Model
                             ADF Model
      metadata
      metadata
                            Data Bindings
                            Data Bindings   Model
                            Data Controls
                            Data Controls

                                ADF
                               ADF
                                ADF         Business
                               ADF
                              Business
                             Business
                              Business
                             Business       Services
                            Components
                            Components
                            Components
                            Components
     JDeveloper
    ADF BC Wizard


                                                         8
Application
              Application         Generator
                                  Generator
               Definition
               Definition         Templates
                                  Templates   Generation Process


JHeadstart                                            JSF JSP
                                                      JSF JSP
                                                      JSF JSP
                                                      JSF JSP
                                                     ADF Faces      View
Application                                          ADF Faces
                                                     ADF Faces
                                                     ADF Faces
 Definition
    Wizard
                                                        JSF
                                                        JSF         Controller
                                                     JSF+ADFc
                                                     JSF+ADFc

       ADF BC
      ADF BC                                         ADF Model
                                                     ADF Model
                                                     ADF Model
                                                     ADF Model
      metadata
      metadata              JHeadstart
                                                    Data Bindings
                                                    Data Bindings   Model
                            Application             Data Bindings
                                                    Data Bindings
                             Generator              Data Controls
                                                    Data Controls
                                                    Data Controls
                                                    Data Controls

                                                         ADF
                                                        ADF
                                                         ADF        Business
                                                        ADF
                                                       Business
                                                      Business
                                                       Business
                                                      Business      Services
                                                     Components
                                                     Components
                                                     Components
                                                     Components
     JDeveloper
    ADF BC Wizard


                                                                                 9
Demo Time!




             10
Sample Generated Pages




                         11
JHeadstart Generated Page




                            12
JHeadstart Generated Page




                            13
JHeadstart Generated Pages




                             14
JHeadstart Generated Page




                            15
JHeadstart Generated Page




                            16
JHeadstart Generated Page




                            17
JHeadstart Generated Page




                            18
JHeadstart Generated Page




                            19
JHeadstart Generated Page




                            20
Enhanced UI Shell with Dynamic Tabs




                                      21
JHeadstart Uses Best Practice ADF Design Patterns


• “One-page” application (UIShell)
   – Generated bounded task flows use page fragments and can be
     embedded as ADF region in page
   – One page with dynamic region driven by application menu
• Generated task flows are highly reusable
   –   Use with traditional menu structure
   –   Use with dynamic tabs
   –   Use in handbuilt drag-and-drop pages
   –   Use as child within another region
   –   Use with human workflow task list
   –   Use as popup / list of values
   –   Use as WebCenter portlet
   –   Add at runtime using WebCenter Composer



                                                                  22
JHeadstart Uses Best Practice ADF Design Patterns


• Generated task flows are highly configurable
  –   Configure to start in create mode (new row)
  –   Configure to show one specific row (deeplinking)
  –   Configure to go to summary or detail page
  –   Configure to hide action buttons (Save, Cancel, Nav. Buttons)
  –   Configure to hide search region
  –   Configure to show in read-only mode
• Generates layout best practices
  – Easy switching between stretching and non-stretching layouts
• Region interaction design patterns are auto-
  implemented



                                                                      23
Configurable TaskFlows Generated

• Taskflow Template Parameters




• Taskflow Parameters




                                   24
Configurable Task Flows Generated




                                    25
Reusable Application
Components




                       26
Reusable Application Components


• Fine-grained permission-based authorization,
  seamlessly integrated with ADF Security
• Dynamic menu structure
• Flex Items: Adding new items at runtime
• Runtime customization of standard items
  – Show/hide
  – Make mandatory
• Runtime translation/modification of page text




                                                  27
Reusable Application Components - Packaging


• DDL script to Create Table Structure
• Predefined Business Components with application
  module that is nested within own app module
• JHeadstart Application Definitions generated, that can
  be used to generate admin screens
• SQL scripts are generated and executed to populate
  the database tables
  –   Roles, Permissions (Group Access/Action), Grants
  –   Module and menu items
  –   Translations
  –   Flex Region Definitions


                                                           28
Application
               Application         Generator
                                   Generator     JHeadstart Application
                Definition
                Definition         Templates
                                   Templates     Components

  Security
 Security
Application
Application                                               JSF JSP
                                                          JSF JSP
 Definition                                              ADF Faces      View
 Definition                                              ADF Faces


   Menu
   Menu
Application
Application                                              JSF+ADFc
                                                         JSF+ADFc       Controller
 Definition
 Definition

 Flex Items
 Flex Items
Application
Application
                             JHeadstart                 Data Bindings
                                                        Data Bindings
  Definition                 Application                                Model
 Definition
                                                        Data Controls
                                                        Data Controls
                              Generator

          Security
         Security                                        Flex Item
                                                        Flex Item       Business
        Components
        Components           ADF Business Components   Components
                                                       Components
                             ADF Business Components                    Services
           Menu
          Menu                                            NLS
                                                          NLS
        Components
        Components                                     Components
                                                       Components



                                                                                 29
Generated Menu Admin Page




                            30
Generated Security Admin Page




                                31
In-Page Text Editing and Translating




                                       32
Define Flex Items Dialog




                           33
Flex Items Added to Employee Page




                                    34
JHeadstart Generator
Templates




                       35
Recommended Approach to Customizing Generated
Output

• Use the visual design time tools in JDeveloper to
  make any modifications you like
  –   Drag and drop from control palette
  –   Structure pane
  –   Property inspector
  –   ..
• Run the modified page and verify it works as
  expected
• Move the custom page code to a custom template to
  preserve the modifications upon regeneration
• (or switch off page generation flag and skip last step)


                                                            36
JHeadstart Generator Templates

– The content of generated pages is completely
  driven by Velocity generator templates
– The templates are categorized in groups
   • Page, pageComponent, button, item
     (table/form/search), search, misc, etc.
– Which template is used for which page “snippet” is
  handled by defaultTemplateBindings.jtp file.
– You can customize anything that is generated
  onto a page by creating a custom template




                                                       37
Creating Custom Templates




                            38
Graph Generated Using Custom Template




                                        39
JHeadstart Forms2ADF
Generator




                       40
Running the Forms2ADF Generator




                                  41
Running the Forms2ADF Generator




                                  42
Running the Forms2ADF Generator




                                  43
Running the Forms2ADF Generator




                                  44
Running the Forms2ADF Generator




                                  45
Running the Forms2ADF Generator




                                  46
Running the Forms2ADF Generator




                                  47
Running the Forms2ADF Generator




                                  48
Generated ADF Business Components




                                    49
Generated Application Definition




                                   50
Oracle Forms Screen




                      51
JHeadstart Generated ADF/JSF Page




                                    52
Oracle Forms Screen




                      53
JHeadstart Generated ADF/JSF Page




                                    54
Oracle Forms Screen




                      55
JHeadstart Generated ADF/JSF Page




                                    56
Oracle Forms Screen




                      57
JHeadstart Generated ADF/JSF Page




                                    58
What about PL/SQL Logic?


• Custom PL/SQL Logic not automatically migrated to
  Java
• JHeadstart prefers sound multi-tier target architecture
  (ADF MVC) above automated PL/SQL migration
  – Analyze the logic
  – Determine in which tier(s) it should be implemented
  – Determine how to implement it
• Application Definition Editor shows all form, block and
  item triggers and all program units
  – Good overview of all custom PL/SQL logic
  – Ability to move logic to database, to ADF BC or to JSF
    managed beans



                                                             59
PL/SQL Code in Appl. Definition Editor




                                         60
JHeadstart Superior Productivity – In Many Ways


• Saves you months to figure out ADF best practices
• Saves you months with ready-to-use reusable
  components
• Maximizes reuse
  – JAG is actually RTG: Reusable Taskflows Generator
• Facilitates agile development
  – Start with generating functional prototypes that evolve into
    working system
• Eases upgrade to new JDeveloper releases
  – Technology-agnostic metadata layer!




                                                                   61
JHeadstart – Next Steps

• Get more info at “JHeadstart Product Center” (google):
   –   Developer’s guide
   –   Tutorial
   –   Online Forms2ADF demonstrations
   –   Customer success stories
   –   Frequently asked questions
• Evaluate JHeadstart
   – JDeveloper Help -> Check for Updates -> Open Source and
     Partner Extensions
   – Do the tutorial
• Buy JHeadstart
• Ask additional questions at OTN JHeadstart Discussion Forum
  or email idevcoe_nl@oracle.com




                                                                62
63

Más contenido relacionado

Último

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Destacado

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

  • 1. 1
  • 2. <Insert Picture Here> Oracle JHeadstart – Superior Productivity in Developing Best Practice Oracle ADF Applications Steven Davelaar Oracle, Technical Director
  • 3. Agenda • What is JHeadstart • Seeing is believing: demo! • Generated ADF design patterns • JHeadstart reusable components • JHeadstart generator templates • (JHeadstart Forms2ADF Generator) 3
  • 4. What is JHeadstart? • JDeveloper extension for template-based automation of ADF development tasks – Development Toolkit on top of ADF – Builds on ADF Runtime architecture – Fully integrates with ADF Design Time • Takes declarative development to the next level – Generates complete ADF applications – Like the Designer Forms Generator generates Forms apps, JHeadstart generates ADF apps • Transforms Oracle Forms into ADF applications 4
  • 5. JHeadstart – Main Components • JHeadstart Application Generator (JAG) – Generates best-practice web application • JHeadstart Utilities – Automate other ADF development tasks – Perform quality checks • JHeadstart Runtime – Reusable components to implement complex functionality – Auto-implements host of best practices • JHeadstart Forms2ADF Generator – Create fully-functional ADF app based on forms definitions • JHeadstart Developer’s Guide 5
  • 6. JHeadstart Application Generator (JAG) • Generates ADF Faces pages and fragments • Generates (un)bounded task flows • Generates page definitions (data bindings) • Does NOT generate any Java code, only XML! • JAG is driven by – XML-based Application Definition file, created and edited through GUI Wizard (JDeveloper add-in) – Velocity Generator Templates • Generated output is 100% customizable 6
  • 7. Application Application Definition Definition Generation Process JHeadstart JSF JSP JSF JSP ADF Faces View Application ADF Faces Definition Wizard JSF+ADFc JSF+ADFc Controller ADF BC ADF BC ADF Model ADF Model metadata metadata Data Bindings Data Bindings Model Data Controls Data Controls ADF ADF ADF Business ADF Business Business Business Business Services Components Components Components Components JDeveloper ADF BC Wizard 7
  • 8. Application Application Definition Definition JHeadstart JSF JSP JSF JSP ADF Faces View Application ADF Faces Definition Wizard JSF JSF Controller ADF BC ADF BC ADF Model ADF Model metadata metadata Data Bindings Data Bindings Model Data Controls Data Controls ADF ADF ADF Business ADF Business Business Business Business Services Components Components Components Components JDeveloper ADF BC Wizard 8
  • 9. Application Application Generator Generator Definition Definition Templates Templates Generation Process JHeadstart JSF JSP JSF JSP JSF JSP JSF JSP ADF Faces View Application ADF Faces ADF Faces ADF Faces Definition Wizard JSF JSF Controller JSF+ADFc JSF+ADFc ADF BC ADF BC ADF Model ADF Model ADF Model ADF Model metadata metadata JHeadstart Data Bindings Data Bindings Model Application Data Bindings Data Bindings Generator Data Controls Data Controls Data Controls Data Controls ADF ADF ADF Business ADF Business Business Business Business Services Components Components Components Components JDeveloper ADF BC Wizard 9
  • 21. Enhanced UI Shell with Dynamic Tabs 21
  • 22. JHeadstart Uses Best Practice ADF Design Patterns • “One-page” application (UIShell) – Generated bounded task flows use page fragments and can be embedded as ADF region in page – One page with dynamic region driven by application menu • Generated task flows are highly reusable – Use with traditional menu structure – Use with dynamic tabs – Use in handbuilt drag-and-drop pages – Use as child within another region – Use with human workflow task list – Use as popup / list of values – Use as WebCenter portlet – Add at runtime using WebCenter Composer 22
  • 23. JHeadstart Uses Best Practice ADF Design Patterns • Generated task flows are highly configurable – Configure to start in create mode (new row) – Configure to show one specific row (deeplinking) – Configure to go to summary or detail page – Configure to hide action buttons (Save, Cancel, Nav. Buttons) – Configure to hide search region – Configure to show in read-only mode • Generates layout best practices – Easy switching between stretching and non-stretching layouts • Region interaction design patterns are auto- implemented 23
  • 24. Configurable TaskFlows Generated • Taskflow Template Parameters • Taskflow Parameters 24
  • 25. Configurable Task Flows Generated 25
  • 27. Reusable Application Components • Fine-grained permission-based authorization, seamlessly integrated with ADF Security • Dynamic menu structure • Flex Items: Adding new items at runtime • Runtime customization of standard items – Show/hide – Make mandatory • Runtime translation/modification of page text 27
  • 28. Reusable Application Components - Packaging • DDL script to Create Table Structure • Predefined Business Components with application module that is nested within own app module • JHeadstart Application Definitions generated, that can be used to generate admin screens • SQL scripts are generated and executed to populate the database tables – Roles, Permissions (Group Access/Action), Grants – Module and menu items – Translations – Flex Region Definitions 28
  • 29. Application Application Generator Generator JHeadstart Application Definition Definition Templates Templates Components Security Security Application Application JSF JSP JSF JSP Definition ADF Faces View Definition ADF Faces Menu Menu Application Application JSF+ADFc JSF+ADFc Controller Definition Definition Flex Items Flex Items Application Application JHeadstart Data Bindings Data Bindings Definition Application Model Definition Data Controls Data Controls Generator Security Security Flex Item Flex Item Business Components Components ADF Business Components Components Components ADF Business Components Services Menu Menu NLS NLS Components Components Components Components 29
  • 32. In-Page Text Editing and Translating 32
  • 33. Define Flex Items Dialog 33
  • 34. Flex Items Added to Employee Page 34
  • 36. Recommended Approach to Customizing Generated Output • Use the visual design time tools in JDeveloper to make any modifications you like – Drag and drop from control palette – Structure pane – Property inspector – .. • Run the modified page and verify it works as expected • Move the custom page code to a custom template to preserve the modifications upon regeneration • (or switch off page generation flag and skip last step) 36
  • 37. JHeadstart Generator Templates – The content of generated pages is completely driven by Velocity generator templates – The templates are categorized in groups • Page, pageComponent, button, item (table/form/search), search, misc, etc. – Which template is used for which page “snippet” is handled by defaultTemplateBindings.jtp file. – You can customize anything that is generated onto a page by creating a custom template 37
  • 39. Graph Generated Using Custom Template 39
  • 41. Running the Forms2ADF Generator 41
  • 42. Running the Forms2ADF Generator 42
  • 43. Running the Forms2ADF Generator 43
  • 44. Running the Forms2ADF Generator 44
  • 45. Running the Forms2ADF Generator 45
  • 46. Running the Forms2ADF Generator 46
  • 47. Running the Forms2ADF Generator 47
  • 48. Running the Forms2ADF Generator 48
  • 49. Generated ADF Business Components 49
  • 59. What about PL/SQL Logic? • Custom PL/SQL Logic not automatically migrated to Java • JHeadstart prefers sound multi-tier target architecture (ADF MVC) above automated PL/SQL migration – Analyze the logic – Determine in which tier(s) it should be implemented – Determine how to implement it • Application Definition Editor shows all form, block and item triggers and all program units – Good overview of all custom PL/SQL logic – Ability to move logic to database, to ADF BC or to JSF managed beans 59
  • 60. PL/SQL Code in Appl. Definition Editor 60
  • 61. JHeadstart Superior Productivity – In Many Ways • Saves you months to figure out ADF best practices • Saves you months with ready-to-use reusable components • Maximizes reuse – JAG is actually RTG: Reusable Taskflows Generator • Facilitates agile development – Start with generating functional prototypes that evolve into working system • Eases upgrade to new JDeveloper releases – Technology-agnostic metadata layer! 61
  • 62. JHeadstart – Next Steps • Get more info at “JHeadstart Product Center” (google): – Developer’s guide – Tutorial – Online Forms2ADF demonstrations – Customer success stories – Frequently asked questions • Evaluate JHeadstart – JDeveloper Help -> Check for Updates -> Open Source and Partner Extensions – Do the tutorial • Buy JHeadstart • Ask additional questions at OTN JHeadstart Discussion Forum or email idevcoe_nl@oracle.com 62
  • 63. 63