63
1

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.

Citation preview

Page 1: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

1

Page 2: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

<Insert Picture Here>

Oracle JHeadstart – Superior Productivity in Developing Best

Practice Oracle ADF Applications

Steven Davelaar

Oracle, Technical Director

Page 3: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

3

Agenda

• What is JHeadstart

• Seeing is believing: demo!

• Generated ADF design patterns

• JHeadstart reusable components

• JHeadstart generator templates

• (JHeadstart Forms2ADF Generator)

Page 4: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 5: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 6: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 7: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

7

JSF 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

Page 8: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

8

JSF 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

Page 9: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

9

JSF 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

Page 10: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

10

Demo Time!

Page 11: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

11

Sample Generated Pages

Page 12: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

12

JHeadstart Generated Page

Page 13: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

13

JHeadstart Generated Page

Page 14: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

14

JHeadstart Generated Pages

Page 15: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

15

JHeadstart Generated Page

Page 16: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

16

JHeadstart Generated Page

Page 17: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

17

JHeadstart Generated Page

Page 18: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

18

JHeadstart Generated Page

Page 19: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

19

JHeadstart Generated Page

Page 20: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

20

JHeadstart Generated Page

Page 21: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

21

Enhanced UI Shell with Dynamic Tabs

Page 22: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 23: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 24: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

24

Configurable TaskFlows Generated

• Taskflow Template Parameters

• Taskflow Parameters

Page 25: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

25

Configurable Task Flows Generated

Page 26: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

26

Reusable Application

Components

Page 27: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 28: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 29: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 30: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

30

Generated Menu Admin Page

Page 31: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

31

Generated Security Admin Page

Page 32: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

32

In-Page Text Editing and Translating

Page 33: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

33

Define Flex Items Dialog

Page 34: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

34

Flex Items Added to Employee Page

Page 35: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

35

JHeadstart Generator

Templates

Page 36: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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)

Page 37: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 38: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

38

Creating Custom Templates

Page 39: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

39

Graph Generated Using Custom Template

Page 40: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

40

JHeadstart Forms2ADF

Generator

Page 41: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

41

Running the Forms2ADF Generator

Page 42: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

42

Running the Forms2ADF Generator

Page 43: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

43

Running the Forms2ADF Generator

Page 44: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

44

Running the Forms2ADF Generator

Page 45: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

45

Running the Forms2ADF Generator

Page 46: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

46

Running the Forms2ADF Generator

Page 47: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

47

Running the Forms2ADF Generator

Page 48: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

48

Running the Forms2ADF Generator

Page 49: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

49

Generated ADF Business Components

Page 50: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

50

Generated Application Definition

Page 51: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

51

Oracle Forms Screen

Page 52: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

52

JHeadstart Generated ADF/JSF Page

Page 53: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

53

Oracle Forms Screen

Page 54: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

54

JHeadstart Generated ADF/JSF Page

Page 55: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

55

Oracle Forms Screen

Page 56: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

56

JHeadstart Generated ADF/JSF Page

Page 57: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

57

Oracle Forms Screen

Page 58: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

58

JHeadstart Generated ADF/JSF Page

Page 59: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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

Page 60: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

60

PL/SQL Code in Appl. Definition Editor

Page 61: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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!

Page 62: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

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 [email protected]

Page 63: Oracle JHeadstart Superior Productivity in Developing Best Practice Oracle ADF Applications

63