JDeveloper ADF - The Real Business Experience

  • Upload
    ovidio

  • View
    29

  • Download
    1

Embed Size (px)

DESCRIPTION

SAGE Computing Services Customised Oracle Training Workshops and Consulting. JDeveloper ADF - The Real Business Experience. State of the Nation. www.sagecomputing.com.au [email protected] [email protected]. Chris Muir Penny Cookson. SAGE Computing Services - PowerPoint PPT Presentation

Citation preview

Slide 1

www.sagecomputing.com.auchris.muir@[email protected]

JDeveloper ADF - The Real Business ExperienceSAGE Computing ServicesCustomised Oracle Training Workshops and Consulting

Chris MuirPenny Cookson State of the NationSAGE Computing ServicesCustomised Oracle Training Workshops and Consulting

Penny Cookson

Managing Director and Principal Consultant

Working with since 1987

Oracle Magazine Educator of the Year 2004

Chris Muir

Technical Architect

Working with Oracle products since 1996

Oracle Ace Director of the Year 2009

2Take a Trip Back to 1992

3Oracle Products 1992

Database

Oracle Forms/ReportwriterCharacter

Oracle Financials

4Oracle Products 1994

Database

Oracle Forms/ReportsClient Server

Oracle Financials

5Oracle Products 1996

Database

Oracle Forms/ReportsWeb based

Oracle eBusiness Suite

Oracle Application Server

6And now Back to the Future

7

Our Business Users

9What We NeedRich Internet Applications

The ability to integrate

End to End development

To access a wide range of data sources

Business Agility

Standards based solution

10Oracle Fusion Middleware

Comprehensive technology stack

You dont need to use all of it

Developer ToolsWebLogicServerSOA SuiteData IntegrationContent ManagementExalogicBusiness IntelligenceWebCentreIdentitiy ManagmentADF Framework11Oracle Fusion Middleware

Comprehensive technology stack

Developer ToolsWebLogicServerSOA SuiteData IntegrationContent ManagementExalogicBusiness IntelligenceWebCentreIdentitiy ManagmentADF FrameworkThis presentation focuses on ADF

12Rich Internet Application

DataSource SupportDatabases

FilesWeb Services

Existing Oracle CustomersWebLogic Server support for legacy Forms Key support for Oracle database

TableSELECTINSERTUPDATEDELETELOCKADF Business ComponentsIntegration between Forms and ADF

Business Agility

Oracle ADF Architecture

What are Oracle doing with it?What are Oracle doing with it?

Eating their own dog food

drinking their own champagne

This gives us confidence

What About the Rest of Us?Smart software vendors have recognised the strategic shift to ADF and acted

CALLISTASmart software vendors have recognised the strategic shift to ADF and acted

Callista have been developing on the JDev platform for some years, starting with 10gBegan training/prototyping in 2006Ahead of the curve for the Middleware platform Significant investment in defining best practice technical architecture for the productTALENT2Smart software vendors have recognised the strategic shift to ADF and acted

Talent2 with their Alesco software have been developing on the JDev platform for some years, starting with 10gAhead of the curve for the Middleware platform Significant investment in defining best practice technical architecture for the productWhat About the Rest of Us?Custom developments vary in size and complexity

Small and simpleSmall and complexCustom developments vary in size and complexityPractical Sophisticated and flashy

And sometimes you dont end up with quite what you wanted

And sometimes you dont end up with quite what you wanted

Recommendation

Start small and learnThen build a well architected and practical solutionForms ModernisationSage has been working with the Department of Finance on their RCIS modernisation project Large numbers of Oracle Forms programsOriginally Oracle Forms 4.5 & Reports 2.5Successfully upgraded through/up to 10gBy 2010 grew to ~800 Forms & ~200 ReportsInternal and External applicationsLarge investment in traditional Forms skillsSignificant business code in PL/SQL packages.Net vs ADF - Title FightDTF pre-selected potential platforms.Net & ADF main contendersA number of PoC challenges were devised

Prior to trial, ADF was considered poor cousinBut ADF was chosen as a clear winnerMain Perceived Benefits of ADF?Database centricDeclarativeJavaService Oriented Development (task flows)Task flows -> ReuseRich Enterprise Application (Web 2.0(ish))Suitable for both public/internal appsSingle WLS platformFuture proofing: Oracles strategic platform

http://www.oracle.com/us/corporate/customers/dept-of-treasury-5-weblogic-ss-349829.pdfMigrate Forms to 11g Weblogic ServerWhat FMW was adopted?ADF 11.1.1.4.0WLSHudson

MDSWebCenterSOA/BPMIDM

ADF Training and Consulting

Redesign and Build in Jdeveloper ADF

http://www.oracle.com/technetwork/developer-tools/jdev/fhog-uin-157767.pdfIssues for Any New Jdeveloper ADF Project

For Business Analysts determining requirementsTake advantage of new interface styles and functionalityConsider business improvementsThink in terms of business servicesAvoid the temptation to think in terms of Oracle Forms

For Business Analysts determining requirementsLots of contentMultiple tabs

All strung together in a network

Oracle Forms

For Business Analysts determining requirementsWell designed workflows

Jdeveloper ADF

For Business Analysts determining requirementsSimple, cleaner content on data entry pagesJdeveloper ADF

For Business Analysts determining requirementsSummary screens can have lots of contentUse UI components like AccordionsJdeveloper ADF

For Business Analysts determining requirementsMore sophisticated searching options than FormsJdeveloper ADF

For Business Analysts determining requirementsAre you going to use the UI Shell?Jdeveloper ADF

Issues for Any New Jdeveloper ADF ProjectFor Technical Architects and DesignersA high level of skills is requiredFor any but a very simple application the following are critical:Managing reuseManaging deploymentManaging versionsStandards

Issues for Any New Jdeveloper ADF ProjectFor DevelopersThe learning curve is steepThere are lots of resources on OTN/blogs etc do not reinvent the wheelDo not fight the product try to go with what it does wellReuse existing PL/SQL code

Issues for Any New Jdeveloper ADF ProjectFor DevelopersThe learning curve is steepThere are lots of resources on OTN/blogs etc do not reinvent the wheelDo not fight the product try to go with what it does wellReuse existing PL/SQL code

Issues for Any New Jdeveloper ADF ProjectFor Project ManagersAllow plenty of time for technical architecture designSkills may be in short supplyTraditional Oracle developers will require significant time to transitionInnovative requirements analysis can lead to business agilityIt will take longer than you think (but what project doesnt)

ADF Training and Consulting

www.sagecomputing.com.auchris.muir@[email protected]

JDeveloper ADF - The Real Business ExperienceSAGE Computing ServicesCustomised Oracle Training Workshops and Consulting

Chris MuirPenny Cookson A Technical Overview

http://www.oracle.com/us/support/library/lifetime-support-middleware-069163.pdfCo-existence

Legacy Forms applications will remain an important part of many solutions

Upgrade

Interoperate

53Integration With Legacy Forms

For large applications progressive replacement approach is likelyFull integration - OraFormFaces

Specific integration points minimises Forms changes

No integration only possible if independent chunks of the application can be identifiedOracle Fusion Middleware

Comprehensive technology stack

Developer ToolsWebLogicServerSOA SuiteData IntegrationContent ManagementExalogicBusiness IntelligenceWebCentreIdentitiy ManagmentADF FrameworkThis presentation focuses on ADF

55Mature Framework

56Standards Based

Industry Standards (Java, XML etc)aka Platform IndependencePluggableRun on any JEE compliant application serverNot locked into 1 vendor

57TechnologiesJSPStrutsJava Classes(POJO)WebServicesViewControllerADF ModelBusiness ServicesJSFMobileADF SwingSwingTrinidadJSFEJB3 & JPA(EclipseLink)ADF Business ComponentsADF BindingsADF Faces RCADF (JSF) ControllerWhere is the database doesnt matter just persistent storageExcept that ADF BC are tightly linked to it58Support for Forms Programmers

NavigatorProperty PaletteEditor59Support for Forms Programmers

Property Palette

NavigatorProperty PaletteEditorComponent PaletteStructure WindowMessage Log60Database Centric Model LayerEventsOrganisationsBookingsOrganisationsVOBookings VOEvents VOSELECTSELECTSELECTOrganisationsEOBookings EOEvents EOINSERTUPDATEDELETELOCKINSERTUPDATEDELETELOCKINSERTUPDATEDELETELOCKBookingService (Application Module )COMMITROLLBACKLook at these in app just built61Preserve Your PL/SQL

PL/SQL PackagesJava WrapperJava code62Preserve Your PL/SQL

63Visual & Declarative (metadata driven)

Programmers are softwares worse enemyIn a lifetime of a program 9 out of 10 lines of code will have a bug

Graph/Gauges/DVT/Drag n Drop

65Graph/Gauges/DVT/Drag n Drop

66Support for Code

Source67Support for Code

Property Palette

68Not Limited - Supports Custom Code

Groovy Scripting

Java69Component Based User Interface

11.1.1.4 - JSF 1.211.1.2 - JSF 2.0

Expression language (EL)70Controller

Like the big PL/SQL package that decides where we go

71UI Coding

72UI Coding - JavaScript

73Skins 11.1.1.4

74Skins 11.1.2

75Skills So Far

Java

Groovy

EL

CSS

JavaScript

PL/SQL76And Before We Get to Build

Technical Architecture DesignApplication structureReuseLibrary managementTemplatesVersion ControlDeploymentTeam DevelopmentSecurity77What About Managing the Environment

SubversionShared librariesMultiple developers

Multiple versions78What About Managing the Environment

Hudson

JUnitContinuous integrationUnit testing

AntBuild tool

MavenProject build, reporting and documentation79What About Managing the Environment

Oracle Team Productivity CentreChatTeam managementDashboardIntegration with third party products

80Mobile Applications

Can I deploy ADF applications on mobile devices?81Oracle ADF Mobile

BrowserNative

82Mobile Browser

Uses Apache MyFaces Trinidad componentsUses JSF page flows

Blackberry, Windows mobile, iPhone Safari, Nokia S6083Mobile Browser

11.1.1.4Create Fusion Web ApplicationCheck Render on Mobile DeviceManually download and add CSS files

11.1.2Create Custom ProjectAdd ADF Mobile Browser featureCheck Render on Mobile DeviceCSS files automatically generated

84ADF Mobile Client DeveloperADF Mobile Client DeveloperExtension to JdeveloperLocal database (SQLite)Use disconnectedData SynchronisationSupports Blackberry and Windows Mobile85Oracle ADF MobileNext GenerationCombine Mobile Browser and Mobile Client into one product On-device and server based applicationsMerge web-based and native functionalityEarly Adopter release soon 86Next StepsLearn

PlanSetup EnvironmentResourcePOC

87

Or you could just put up with thisGo from this

88

Instead of thisTo this hierarchyOr this -

89

ADF Training and Consulting

www.sagecomputing.com.auchris.muir@[email protected]

JDeveloper ADF - The Real Business ExperienceSAGE Computing ServicesCustomised Oracle Training Workshops and Consulting

Chris MuirPenny Cookson The Power of ReuseHow Oracles ADF makesweb development productive again

AgendaPart 1Making use of ReusePart 2SkinsPart 3Page TemplatesPart 4Declarative ComponentsPart 5The Killer Reuse FeaturePart 1 Making use of ReuseThe old computing rules are still the most important

Easier to designEasier to readEasier to comprehendEasier to testEasier to debugEasier to changeEasier to reuseAxiom: any duplicated code should become a module= Reduced system cost+ Increased developer productivity+ Less time to market+ Increased business satisfaction

Employees PkggetNameupdateAddresspayDepartments PkgCountries PkgWebPage?Part 2 - Skins

Defines basic application look & feelAn abstracted named extension of CSS filesNo different from other web solutions, except:All ADF components support skin styleclassesAt runtime the user can switch skins

As of 11.1.2.0.0No need to learn the tricky CSSWill generate a lot for you

102Part 3 Page TemplatesDefine a single common page templateContains:Static content shared by all consumersDynamic content injected by each consumerAttributesDefine attributes:Values passed from consumerDisplayed by page templateReuseBy 1 or more pages or fragmentsBy 1 or more applications

Logo

OptionsLogo

OptionsLogoToolbar

NavigationMain ContentOptionsLogoToolbarPart 4 Declarative ComponentsPages are made up of repetitive componentsEasy for programmers to mess these up

Declarative components Define a component groupReuse throughout your applicationParameter drivenConsistent look & feel & behaviourCan be shared across applications too

Part 5 The Killer Reuse FeatureThese features are goodbut theyre not revolutionary in web design

Heres the feature that sets ADF above all other web frameworks

Images distributed under a free license from http://dryicons.com/ and http:/http://www.iconshock.com/

Business AnalystProgrammer

Images distributed under a free license from http://dryicons.com/ and http:/http://www.iconshock.com/

?Business AnalystProgrammer

Images distributed under a free license from http://dryicons.com/ and http:/http://www.iconshock.com/

Business AnalystProgrammer

Task Flows

Mimic business processes

Has a unique name

Single entry point & multiple exit points

Supports transactions

Pages/Page Fragments

Named navigation rules

Routers based on decisions

Method calls

Parameters in/out

~Functions

Task Flow BenefitsDesign focuses on processes, not pagesTeam compositionEasier re-architectureReusable Across 1 application or manyIn other Oracle solutions (eg. WebCenter)

Wizards/trainsReentrantMultiple transactionsPortlets

www.sagecomputing.com.auchris.muir@[email protected]

JDeveloper ADF - The Real Business ExperienceSAGE Computing ServicesCustomised Oracle Training Workshops and Consulting

Chris MuirPenny Cookson Discussion