Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

Embed Size (px)

DESCRIPTION

Oracle JHeadstart release 11 can help you in building enterprise-class fusion web applications that leverage powerful ADF 11 features like page templates, page fragments, (un)bounded taskflows, XML-driven menus, model-based List of Values, and all the new rich user interface elements. This presentation explains how JHeadstart can save you months of development time by providing a set of sophisticated reusable components and by automating ADF development tasks through powerful utilities and generators. Best practices and proven design patterns auto-implemented by JHeadstart are also discussed.

Text of Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

  • 1

  • Oracle JHeadstart Superior Productivity in Developing Best

    Practice Oracle ADF Applications

    Steven Davelaar

    Oracle, Technical Director

  • 3Agenda

    What is JHeadstart

    Seeing is believing: demo!

    Generated ADF design patterns

    JHeadstart reusable components

    JHeadstart generator templates

    (JHeadstart Forms2ADF Generator)

  • 4What 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

  • 5JHeadstart 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 Developers Guide

  • 6JHeadstart 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

  • 7JSF JSPADF Faces

    JSF JSPADF Faces

    JSF+ADFcJSF+ADFc

    ADF Business

    Components

    ADF Business

    Components

    ADF Model

    Data Bindings

    Data Controls

    ADF Model

    Data Bindings

    Data Controls

    View

    Controller

    Model

    BusinessServices

    JDeveloper

    ADF BC Wizard

    JHeadstart

    Application

    Definition

    Wizard

    Application Definition

    Application Definition

    ADF BCmetadata

    ADF BCmetadata

    ADF Business

    Components

    ADF Business

    Components

    Generation Process

  • 8JSF JSPADF Faces

    JSF JSPADF Faces

    JSFJSF

    ADF Business

    Components

    ADF Business

    Components

    ADF Model

    Data Bindings

    Data Controls

    ADF Model

    Data Bindings

    Data Controls

    View

    Controller

    Model

    BusinessServices

    JDeveloper

    ADF BC Wizard

    JHeadstart

    Application

    Definition

    Wizard

    Application Definition

    Application Definition

    ADF BCmetadata

    ADF BCmetadata

    ADF Business

    Components

    ADF Business

    Components

  • 9JSF JSPADF Faces

    JSF JSPADF Faces

    JSFJSF

    ADF Business

    Components

    ADF Business

    Components

    ADF Model

    Data Bindings

    Data Controls

    ADF Model

    Data Bindings

    Data Controls

    View

    Controller

    Model

    BusinessServices

    JDeveloper

    ADF BC Wizard

    JHeadstart

    Application

    Definition

    Wizard

    GeneratorTemplates

    GeneratorTemplates

    Application Definition

    Application Definition

    JHeadstart

    Application

    Generator

    ADF BCmetadata

    ADF BCmetadata

    ADF Business

    Components

    ADF Business

    Components

    JSF+ADFcJSF+ADFc

    JSF JSPADF Faces

    JSF JSPADF Faces

    ADF Model

    Data Bindings

    Data Controls

    ADF Model

    Data Bindings

    Data Controls

    Generation Process

  • 10

    Demo Time!

  • 11

    Sample Generated Pages

  • 12

    JHeadstart Generated Page

  • 13

    JHeadstart Generated Page

  • 14

    JHeadstart Generated Pages

  • 15

    JHeadstart Generated Page

  • 16

    JHeadstart Generated Page

  • 17

    JHeadstart Generated Page

  • 18

    JHeadstart Generated Page

  • 19

    JHeadstart Generated Page

  • 20

    JHeadstart Generated Page

  • 21

    Enhanced UI Shell with Dynamic Tabs

  • 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

  • 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

  • 24

    Configurable TaskFlows Generated

    Taskflow Template Parameters

    Taskflow Parameters

  • 25

    Configurable Task Flows Generated

  • 26

    Reusable Application

    Components

  • 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

  • 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

  • 29

    JSF JSPADF Faces

    JSF JSPADF Faces

    JSF+ADFcJSF+ADFc

    ADF Business ComponentsADF Business Components

    Data Bindings

    Data Controls

    Data Bindings

    Data Controls

    View

    Controller

    Model

    BusinessServices

    GeneratorTemplates

    GeneratorTemplates

    Application Definition

    Application Definition

    JHeadstart

    Application

    Generator

    JHeadstart Application

    Components

    Flex ItemsApplication Definition

    Flex ItemsApplication Definition

    SecurityApplication Definition

    SecurityApplication Definition

    MenuApplication Definition

    MenuApplication Definition

    Security Components

    Security Components

    MenuComponents

    MenuComponents

    Flex ItemComponents

    Flex ItemComponents

    NLSComponents

    NLSComponents

  • 30

    Generated Menu Admin Page

  • 31

    Generated Security Admin Page

  • 32

    In-Page Text Editing and Translating

  • 33

    Define Flex Items Dialog

  • 34

    Flex Items Added to Employee Page

  • 35

    JHeadstart Generator

    Templates

  • 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)

  • 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

  • 38

    Creating Custom Templates

  • 39

    Graph Generated Using Custom Template

  • 40

    JHeadstart 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

    Running the Forms2ADF Generator

  • 49

    Generated ADF Business Components

  • 50

    Generated Application Defin