new york oracle user group - nyoug - drinking the...

34
Proprietary and Confidential © Vgo Software, Inc. 2014 Drinking the Kool-Aid My Journey To Becoming an ADF Believer Rob Nocera, NEOS & Vgo Software

Upload: others

Post on 08-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Proprietary and Confidential © Vgo Software, Inc. 2014

Drinking the Kool-Aid

My Journey To Becoming an ADF BelieverRob Nocera, NEOS & Vgo Software

Page 2: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Who am I?

Founding Partner – NEOS, Vgo Software

– Modernization Companies

– NEOS – Business Consulting / Industry Focus

– Vgo – Technology Modernization

Java Programmer

ADF Believer

Proprietary and Confidential © Vgo Software, Inc. 2014 2

Page 3: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

The beginning of my journey

IT Department

– Forms 4.5

– DBA Work

– C / Pro*C

– Shell Scripting

First Taste of Automation

Shell Scripts

Proprietary and Confidential © Vgo Software, Inc. 2014 3

Page 4: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

A little farther down the road

Paradox Database Application

SmallTalk

– Introduction to Object Oriented Programming

– Developed 2 Systems

First Introduction to Java

– No Frameworks

– Swing

Proprietary and Confidential © Vgo Software, Inc. 2014 4

Page 5: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Even farther…

Larger Company

Research and Development

– More Oracle Forms

– Lots more Java

• Weblogic Server

• Integration with Forms

• In the Database

Proprietary and Confidential © Vgo Software, Inc. 2014 5

Page 6: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Farther still…

Internet Startup

– Streaming Media Company (1999)

Senior Engineer

– Website Logic

• Java Template-base Framework

• Oracle DB

– Streaming Media Menu

• Java Template-based Framework (Velocity)

• Oracle DB

• Integration with Flash

• Visual Basic

Proprietary and Confidential © Vgo Software, Inc. 2014 6

Page 7: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Founding NEOS

Founded NEOS as consulting company

Modernization Projects

– Oracle Forms

– Powerbuilder

Common Output

– Java-based frameworks

• Struts

• JSF

Proprietary and Confidential © Vgo Software, Inc. 2014 7

Page 8: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

And continued the journey to modernization

Founded Vgo Software

– Java-based Tools

• Velocity

• Swing

• JSF

– First Glimpse of ADF

• ADFT

• Conversion Project

Proprietary and Confidential © Vgo Software, Inc. 2014 8

Page 9: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

First glimpse at ADF

ADFT

– Telnet plug-in for ADF

– JSF Tags

– Not in production

Comfortable with Java/JSF

– Used Tags

– Java/JSF back-end

– Implemented our own persistence

– Implemented supporting classes

Proprietary and Confidential © Vgo Software, Inc. 2014 9

Page 10: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

First impression of ADF

Did not use JDeveloper

Did not use BC4J (ADF Business Components)

Worked with an incomplete project

Lack of control

Some Bugs

Java Expert – ADF Newbie

Proprietary and Confidential © Vgo Software, Inc. 2014 10

Page 11: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Second impression of ADF

ISV Client

– Oracle Forms -> ADF

• Current Team Fluent in Forms

• Clients pushing for Web interface

ADF 11g Technical Previews

– Hired an Expert

– Used JDeveloper

– Used full framework

• ADF Rich Faces

• ADF Business Components

Proprietary and Confidential © Vgo Software, Inc. 2014 11

Page 12: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

ADF dislikes

Abstractions

– ADF built on JSF built on J2EE

– Black Box

• Loss of Control

• Difficult to debug

Difficult Error Messages

Little Opportunity to Code

– Where does the code go?

Proprietary and Confidential © Vgo Software, Inc. 2014 12

Page 13: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Wait there are more dislikes

Lack of Compile-time Error Checking

– More time to find bugs

Difficult to Debug

– Can’t debug an XML file

– Data stored in more complex structures

Lack of Documentation

– No docs on XML formats

– Included help unfinished

– No Books

Proprietary and Confidential © Vgo Software, Inc. 2014 13

Page 14: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Starting to believe in ADF

Work with the Framework, not Against It

– Using JDeveloper

– Using ADF Business Components

– Wizards, Wizards, Wizards

Proprietary and Confidential © Vgo Software, Inc. 2014 14

Page 15: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Structure of an ADF Application

Proprietary and Confidential © Vgo Software, Inc. 2014 15

ADF Swing ADF Rich Faces

ADF Controller

ADF Bindings

ADF Data Control

ADF View Object

ADF Entity

Database

ADF

ADF Mobile

ADF ControllerADF Controller

Page 16: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

What JDeveloper Does

Proprietary and Confidential © Vgo Software, Inc. 2014 16

ADF Swing ADF Rich Faces

ADF Controller

ADF Bindings

ADF Data Control

ADF View Object

ADF Entity

Database

ADF

ADF Mobile

ADF ControllerADF Controller

Page 17: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Wizards of ADF – Business Components

Business Components Wizard

– Use it to create the entire persistence layer

– Caching included

Proprietary and Confidential © Vgo Software, Inc. 2014 17

Page 18: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Wizards of ADF – Application Module

Application Module Wizard

– Expose Business Components to the View Controller

Proprietary and Confidential © Vgo Software, Inc. 2014 18

Page 19: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Wizards of ADF – View Controller

JSF Page Wizards

Proprietary and Confidential © Vgo Software, Inc. 2014 19

Page 20: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

ADF Task Flows

Proprietary and Confidential © Vgo Software, Inc. 2014 20

Page 21: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Example ADF Simple Search/Edit Screen

Proprietary and Confidential © Vgo Software, Inc. 2014 21

Demo

Page 22: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

ADF JDeveloper

View Code in a variety of ways

Proprietary and Confidential © Vgo Software, Inc. 2014 22

Page 23: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

ADF JDeveloper

Lots of functionality in build-in components

Proprietary and Confidential © Vgo Software, Inc. 2014 23

Page 24: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Here is the code!

Managed Beans

– Scope taken care of (PageFlow scope!)

– Assisted Method Creation

Application Module Implementation

– Create new pre-populated rows

– Execute a complex business function

ViewObjectImpl

– Modify the SQL before execution (filter)

ViewObjectRowImpl

– Calculate a field (or use Groovy!)

Proprietary and Confidential © Vgo Software, Inc. 2014 24

Page 25: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Groovy

Proprietary and Confidential © Vgo Software, Inc. 2014 25

Page 26: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Java

Wizard to create Java Classes

Proprietary and Confidential © Vgo Software, Inc. 2014 26

Page 27: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Knowing is half the battle

Proprietary and Confidential © Vgo Software, Inc. 2014 27

Page 28: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Turning the corner

Production Releases

– Currently 11g Patch Set 3 (11.1.1.4)

– Roughly 1 Release Every 6 months

– New Plug-ins to come

New Features

– ADF Support for IBM WebSphere

– Enhanced Design-time features

– New Fusion Skin (11.1.1.2)

Lots of Bug Fixes

Proprietary and Confidential © Vgo Software, Inc. 2014 28

Page 29: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Turning the corner

Oracle Purchases

– BEA

• WebLogic

– SUN

• Java!!!

• NetBeans

• Glassfish

Proprietary and Confidential © Vgo Software, Inc. 2014 29

Page 30: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Turning the corner

Updated Documentation

– Completed Help

– Oracle TechNet Site

Actual Books

– Grant Ronald

– Frank Nimphius

– Lynn Musinger

– Duncan Mills

Proprietary and Confidential © Vgo Software, Inc. 2014 30

Page 31: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Turning the corner

Blogs

– Java-Hair

– http://wiki.oracle.com/page/ADF+Blogs

Forums

– ADF & JDeveloper Forum

– ADF EMG Group

Proprietary and Confidential © Vgo Software, Inc. 2014 31

Page 32: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

To ADF or not to ADF

When to ADF

– Need a mature J2EE

framework

– Want to be able to

prototype quickly

– Want to concentrate on the

“meat” of the application

– Have some experienced

Java programmers

– Have many Forms

Programmers

When not to ADF

– Do not want to be tied to an

Oracle License

– Have other Application

Servers in place

– No time for learning curve

Proprietary and Confidential © Vgo Software, Inc. 2014 32

That is the question

Page 33: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Summary

Started in Java

Did not go “all-in” with ADF

Finally jumped in with ADF

My Advice - make the leap

Proprietary and Confidential © Vgo Software, Inc. 2014 33

Page 34: New York Oracle User Group - NYOUG - Drinking the Kool-Aidnyoug.org/Presentations/2014/Nocera_ADF_Believer.pdf · 2014-03-15 · To ADF or not to ADF When to ADF –Need a mature

Questions?

For follow-up questions:

– Rob Nocera

[email protected]

– java-hair.com

Proprietary and Confidential © Vgo Software, Inc. 2014 34