Oracle ADF On Ramp: What You Need to Know to Use ADF

Similar documents
Introduction to ADF Core Technologies

Oracle ADF On-Ramp: Developing Applications With the Core ADF Stack

ADF On-Ramp: What You Need to Know to Use ADF. What is ADF and Fusion? ADF core technologies. Required languages. Survey. Agenda. On the Positive Side

ADF On-Ramp: What You Need to Know to Use the ADF Fusion Technology Stack. What is ADF and Fusion? ADF core technologies. Required languages.

Survey. ADF On-Ramp: What You Need to Know to Use the ADF Fusion Technology Stack. Agenda. Raffle at the End

If you wish to make an improved product, you must already be engaged in making an inferior one.

ADF ON RAMP: WHAT YOU NEED TO KNOW TO USE ADF

The Tie That Binds: An Introduction to ADF Bindings

J2EE for Oracle Technologists

The End of the Beginning: Deploying Applications to WebLogic Server Using JDeveloper and WLS Console. Don t get it right, just get it written.

We didn t need dialogue. We had faces.

Don t get it right, just get it written.

Achieving the Perfect Layout with ADF Faces RC

The Arrangement of the Screens: Introduction to Layout in ADF Faces

Just Get it Written: Deploying Applications to WebLogic Server Using JDeveloper and WLS Console. Don t get it right, just get it written.

Just Get it Written: Deploying Applications to WebLogic Server Using JDeveloper and WLS Console. Don t get it right, just get it written.

Overview. Principal Product Manager Oracle JDeveloper & Oracle ADF

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

Agenda Birds Do It: Migrating Forms to Java EE Web A Case Study

Oracle Fusion Middleware 11g: Build Applications with ADF I

<Insert Picture Here> Accelerated Java EE Development: The Oracle Way

Oracle Fusion Middleware 11g: Build Applications with ADF I

Unraveling the Mysteries of J2EE Web Application Communications

Oracle Middleware 12c: Build Rich Client Applications with ADF Ed 1 LVC

Hello Worldwide Web: Your First JSF in JDeveloper

ADF Code Corner How-to restrict the list of values retrieved by a model driven LOV. Abstract: twitter.com/adfcodecorner

FILE XML DATABASE DEVELOPERS ORACLE 11G MANUAL EBOOK

Just Get it Written: Deploying Applications to WebLogic Server Using JDeveloper and WLS Console. Don t get it right, just get it written.

Made from the Same Mold: Templating Approaches for ADF Faces Applications

Using Thick Database Principles to Leverage Oracle SQL and PL/SQL Part III:

Developing Applications with Java EE 6 on WebLogic Server 12c

Rich Web UI made simple Building Data Dashboards without Code

<Insert Picture Here> The Oracle Fusion Development Platform: Oracle JDeveloper and Oracle ADF Overview

You CAN Judge a Book by Its Cover: Modern User Interface Design Principles

Oracle Developer Day

Oracle WebLogic Server Application Security

Getting started with ADF 11g

Oracle Fusion Developer Guide (ISBN: ) Preview Chapter 1. The Quick Lerner s Guide to Oracle Fusion Web Application Development PREVIEW

ADF Code Corner How-to bind custom declarative components to ADF. Abstract: twitter.com/adfcodecorner

Design Modernization Case Study: Applying Mobile App Design Principles to the UTOUG Website

Oracle Application Development Framework Overview

ADF Code Corner How-to declaratively build a master-detail behavior with DVT components. Abstract: twitter.com/adfcodecorner

<Insert Picture Here> Advanced ADF Faces. Frank Nimphius Principal Product Manager

Mobile Application Development: Introducing ADF Mobile Native Client Framework

Understanding Oracle ADF and its role in the Oracle Fusion Platform

Oracle ADF: The technology behind project fusion. Lynn Munsinger Principal Product Manager Application Development Tools Oracle Corporation

Oracle Developer Day

6/13/2012. Sneak Preview: Oracle JDeveloper 12c New Features. Frank Nimphius Senior Principal Product Manager Oracle Development Tools

ADF Code Corner. 70. How-to build dependent list boxes with Web Services Business Services. Abstract: twitter.com/adfcodecorner

ADF Hands-On. Understanding Task Flow Activities / 2011 ADF Internal Enterprise 2.0 Training. Abstract:

1z0-554qa88. Number: Passing Score: 800 Time Limit: 120 min File Version: 1.0. Oracle 1z0-554

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Chapter. An Introduction to Oracle JDeveloper and Oracle ADF

Both Sides Now: DevOps and Agile in Oracle Developer Cloud Service for Fusion Middleware Developers

Oracle Developer Day

<Insert Picture Here> The Latest E-Business Suite R12.x OA Framework Rich User Interface Enhancements

Build a Mobile App in 60 Minutes with MAF

CHAPTER. Introduction to the Oracle Application Development Framework

MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB

Quick Web Development using JDeveloper 10g

Sun Java Studio Creator. Ken Paulsen Staff Engineer Sun Microsystems, Incorporated (Slides by: Craig R. McClanahan)

Mastering Oracle ADF Task Flows. Frank Nimphius Principal Product Manager Oracle JDeveloper / ADF

<Insert Picture Here> Forms Strategies: Modernizing Your Oracle Forms Investment

Oracle Retail Accelerators for WebLogic Server 11g

Oracle JDeveloper/Oracle ADF 11g Production Project Experience

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Improve and Expand JavaServer Faces Technology with JBoss Seam

Using Thick Database Principles to Leverage Oracle SQL and PL/SQL Part I:

ADF Code Corner. 016-How-to customize the ADF Faces Table Filter. Abstract: twitter.com/adfcodecorner

Java EE 6: Develop Web Applications with JSF

ADF Code Corner. 90. Filtering ADF bound lists. Abstract: twitter.com/adfcodecorner

PassGuide..1z0-554_81,Q&A

Peter Moskovits Principal Product Manager Oracle Corporation. Sue Vickers Group Manager Oracle Corporation

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Mobilize Your Users Now with Oracle Mobile Application Framework (MAF)

Build a Mobile App in 60 Minutes with MAF

Oracle Fusion Middleware

How To Get Database Schema In Java Using >>>CLICK HERE<<<

Oracle Developer Day

IBM Rational Application Developer for WebSphere Software, Version 7.0

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials

<Insert Picture Here> Oracle JHeadstart Forms2ADF - Overview

... AND UIX BEGAT ADF FACES: HOW RICH IS ADF FACES RICH CLIENT? Peter Koletzke, Quovera

DEPLOYING APPLICATIONS TO WEBLOGIC SERVER USING JDEVELOPER AND WLS CONSOLE: JUST GET IT WRITTEN Peter Koletzke, Quovera and Duncan Mills, Oracle

Oracle Fusion Middleware

Developing Cross Device Mobile Applications

<Insert Picture Here>

Contents at a Glance

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

Pick A Winner! In What Tool Should I Develop My Next App?

Java Training Center, Noida - Java Expert Program

ADF Mobile Code Corner

1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Tools to Develop New Linux Applications

Migrating traditional Java EE applications to mobile

<Insert Picture Here> Oracle Application Framework (OAF): Architecture, Personalization, and Extensibility in Oracle E-Business Suite Release 12

NetBeans IDE Field Guide

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Oracle Corporation

Transcription:

Oracle On Ramp: What You Need to Know to Use Peter Koletzke Technical Director & Principal Instructor Survey Job responsibilities? DBA, developer Languages? PL/SQL, Java Other Tools? APEX Developer Forms/Reports JDeveloper Eclipse, NetBeans Other 2 Agenda What is? Business Services Model, View, and Controller On the Positive Side If we do not find anything pleasant, at least we shall find something new. Si nous ne trouvons pas des choses agréables, nous trouverons du moins des choses nouvelles. Slides and white paper are be available on the OOW and Quovera websites. Screenshots are 11g unless marked as 12c Voltaire (1694-1778), Candide 3 4

Oracle Application Development Framework () A framework is a prebuilt service for solving a particular problem like access to the database Code libraries and standards support the framework Implements code reuse and best practices An architecture with code libraries is a meta-framework A wrapper for other frameworks, JDev 10g and later Provides a consistent developer experience Based on Model-View-Controller design pattern (SmallTalk, Java EE) 5 di (Excel) EJB Session Beans Architecture Application Client JClient Web Services Mobile View Struts Model Bindings Data Controls Business Services Business Components JSP Web Client Controller JSF JSF Java Classes Faces RC Controller Essbase Which Technologies to Use? An example: Fusion Applications (Oracle applications suite) Core technology stack used for Fusion Apps is: Business Components Faces Rich Client Model Controller Other high-level technologies or strategies also used SOA, ESB, Business Rules, WebCenter, BPM, BPA, BAM Need to consider those, too, at the architectural level Out of scope Essentials No-license-fee version of Runs on the public domain app server, Glassfish, not WebLogic Server Works in JDeveloper Works in Eclipse Through Oracle Enterprise Pack for Eclipse More information on OTN www.oracle.com/technetwork/developertools/adf/overview/adfessentialsfaq-1837249.pdf 7 8

Mobile Application Framework Similar principles and development methods Business services Pages (features) with components Task flows Supports ios and Android Use local services like camera & contacts OTN demo video and Academy video www.oracle.com/technetwork/developer-tools/maf Where Do The Core Technologies End Up? Faces UI rendering Controller Page flow and task flow Model Database access & SOA endpoints BC Binding data to items Departments Employees 9 Demo 10 Which Languages Do You Use? 1. Java All important programmatic code Think trigger code as in Oracle Forms 2. XML The components rely on XML Property editors create it for you 3. JavaScript and Cascading Style Sheets Add functionality to HTML pages Usually the components do this work for you 4. Expression Language Used in JSF binding properties 5. Groovy BC scripting and SQL! HTML Agenda What is? Business Services Model, View, and Controller Sample app tutorial at quovera.com 11 12

The World View In this best of all possible worlds... everything is for the best. Dans ce meilleur des mondes possibles... tout est au mieux. Voltaire (1694-1778), Candide Business Components BC: an option in the Business Services layer of Persistence: storing data in a database O/R mapping: Translates relational database thingies to object-oriented (Java) whatsits Handles JDBC mechanics Creates SQL and handles results Primarily declarative XML source code to define the use of framework classes 13 14 More About BC Sample BC Development Various component types, e.g., View objects: define queries Entity objects: define insert-updatedelete ( DML ) View links: view object relationships Associations: entity object links Application modules: Define the data models and the database transaction It does not create user interfaces 15 Entity object editors Demo

View Object Code View Object = SELECT statement <ViewObject xmlns="http://xmlns.oracle.com/bc4j" Name="AllEmployees" Version="11.1.1.53.41" SelectList="Employees.EMPLOYEE_ID, Employees.FIRST_NAME, Employees.LAST_NAME, Employees.JOB_ID, Employees.EMAIL, Employees.HIRE_DATE, Departments.DEPARTMENT_NAME, Departments.DEPARTMENT_ID, Departments.LOCATION_ID" FromList="DEPARTMENTS Departments, EMPLOYEES Employees" Where="Departments.MANAGER_ID = Employees.EMPLOYEE_ID" BindingStyle="OracleName" CustomQuery="false" PageIterMode="Full" UseGlueCode="false">... View Attribute = Column in query <Attribute Name="EmployeeId" IsNotNull="true" Precision="6" Scale="0" ColumnName="EMPLOYEE_ID" SQLType="NUMERIC" Type="oracle.jbo.domain.Number" ColumnType="NUMBER" TableName="EMPLOYEES" PrimaryKey="true"> <DesignTime> <Attr Name="_DisplaySize" Value="22"/> </DesignTime> </Attribute> <Attribute Name="FirstName" Precision="20" ColumnName="FIRST_NAME"... List-of-Values (LOV) Defined for an view object attribute Associate a query (view object) with the attribute Set up is declarative Start in the view object editor UI code will display this attribute specially Pulldown list item loaded with values Popup list-of-values dialog 17 18 VO Editor LOV Subtab Used for queries View Object Editor 11g Query page 12c VC page View Criteria dialog Defines the WHERE clause declaratively Bind variables are optional View Criteria 19 20

View Criteria in the DCP Data Controls panel lists the defined criteria You can drag and drop a view criteria onto a JSF page What is? Agenda Business Services View, Model, and Controller Components are added for each attribute in the view criteria 21 22 Faces Rich Client Overview Built on top of JSF APIs Deployable on any 1.2 implementation of JSF Support for pop-ups and dialogs Skins, skin editor Templates AJAX-like interactivity Over 150 components Data Visualization Tools (DVT) components Charts, Gantt, Pivot, Maps, Hierarchy Really rich! Some Components af:inputtext af:button af:link (with icon) af:inputlistofvalues af:commandmenuitem af:selectonechoice af:inputdate af:selectbooleancheckbox 23 24

AJAX in Faces RC Asynchronous JavaScript and XML Partial Page Rendering (PPR) in Faces Declarative AJAX Much AJAX in Faces is transparent Built into the components Nothing special needs to be done You can setup non-default AJAX behavior using properties partialsubmit used by command items autosubmit used by input items/lists, etc. partialtriggers all components, sets up the viewer (listener) AJAX provides a cleaner user interface! 25 Sample Faces Development Demo 26 Faces JSF Snippet <jsp:root xmlns:jsp="http://java.sun.com/jsp/page" version="2.0" xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">... <af:panelstretchlayout styleclass="afvisualroot" topheight="105px" bottomheight="20px"> <f:facet name="top"> <af:panelborderlayout> <f:facet name="start"> <af:image source="/images/tuhra.gif" shortdesc="tuhra Logo"/> </f:facet> <f:facet name="end"> <af:panelgrouplayout layout="horizontal" halign="right" valign="bottom"> <af:commandimagelink text="logon" shortdesc="logout from TUHRA" depressedicon="/images/groupdisconnect_dwn.png" disabledicon="/images/groupdisconnect_dis.png" hovericon="/images/groupdisconnect_ovr.png" icon="/images/groupdisconnect_ena.png" disabled="true" rendered="#{attrs.anonymous}"/> <af:commandimagelink text="logoff" shortdesc="logout from TUHRA" depressedicon="/images/groupdisconnect_dwn.png" disabledicon="/images/groupdisconnect_dis.png" hovericon="/images/groupdisconnect_ovr.png" icon="/images/groupdisconnect_ena.png" disabled="true rendered="#{!attrs.anonymous}"/> What is? Agenda Business Services View, Model, and Controller 27 28

Model Data Controls Provides list of components or groups of components for a node in the data model Drop as options Bindings Prebuilt connection from the BC to the UI Drag and drop action above does the work Data Controls Business Services abstraction Makes Model components available to ViewController Automatically created with BC The Good News: You don t normally write data controls Can be created for other business services For non- BC, defined in DataControls.cpx Provide list of Drop as options that create pre-bound components Collection level (view object instance) Attribute level (view attribute) 29 30 Collection Drop As Options Bindings Association of a business service data element or action with a UI component Relatively automatic in Oracle Forms Definitely not automatic in native Java EE Binding normally takes a lot of coding One-off solution is not the answer Need a framework to assist User Interface Data Bindings Business Components Employees ID FirstName LastName Database EMPLOYEES Susan 31 32

Drop As Examples: Form and Table Editing Bindings Link to PageDef file Note the binding expressions Demo 33 34 Binding Code Agenda JSF Page Snippet <af:inputtext value="#{bindings.departmentid.inputvalue}" label="#{bindings.departmentid.hints.label}" required="#{bindings.departmentid.hints.mandatory}" columns="#{bindings.departmentid.hints.displaywidth}" maximumlength="#{bindings.departmentid.hints.precision}" shortdesc="#{bindings.departmentid.hints.tooltip}" id="it1"> </af:inputtext> Bindings (PageDef) Snippet <bindings> <attributevalues IterBinding="DepartmentsView1Iterator" id="departmentid"> <AttrNames> <Item Value="DepartmentId"/> </AttrNames> </attributevalues> What is? Business Services View, Model, and Controller 35 36

Controller (c) Extension to standard JSF Controller functionality Defines task flows Logic and page fragment components Embedded on the page in a region component Benefits Page fragment re-use Executing code in a logic-defined flow Task flow not page flow Security Exception handling and transaction management Defined in a diagram Like JSF but more components available router starting point Sample Controller Development method control flow case view (page) exception handler 37 38 Sample Controller Code <task-flow-definition id="dept-flow"> <default-activity>deptbrowse</default-activity> <view id="deptbrowse"> <page>/deptbrowse.jspx</page> </view> <view id="deptedit"> <page>/deptedit.jspx</page> </view> <control-flow-rule> <from-activity-id>deptbrowse</from-activity-id> <control-flow-case> <from-outcome>toedit</from-outcome> <to-activity-id>deptedit</to-activity-id> </control-flow-case> </control-flow-rule> <router id="checkforexplicitid"> <case id=" 6"> From <expression>#{!empty pageflowscope.employeeid} </expression> <outcome>byid</outcome> </case> <default-outcome>currentuser</default-outcome> </router> <method-call id="queryemployeebyid"> <method>#{bindings.queryemployeebyid.execute}</method> <outcome> <fixed-outcome>queryemployeebyid</fixed-outcome> </outcome> </method-call> To Demo Summary: Core Technologies Faces UI rendering Controller Page flow and task flow Model Database access & SOA endpoints BC Binding data to items Departments Employees 40

Shameless Book Plugs Summary Oracle builds Cloud (Fusion) Applications with an core technology stack offers a consistent developer experience regardless of the technologies Business Components provide access to the database and other data sources Model connects BC to Faces Faces provide 150+, feature-rich item and container components for JSF pages Controller manages page flow and task flow 41 42 Final Voltaire Wisdom The secret of being a bore is to tell everything. Le secret d'ennuyer est celui de tout dire. Voltaire (1694-1778), Sept Discours en Vers sur l Homme TOPICS Database Development Essbase Planning Financial Close Application Express Business Intelligence and Fusion Dev. EPM Business Content EPM Foundations EPM Data Management EPM Reporting 43 www.kscope15.com 44

Designer Handbook Developer Advanced Forms & Reports JDeveloper 3 Handbook Please fill out the evaluation Books co-authored with Dr. Paul Dorsey, Avrom Roy-Faderman, & Duncan Mills ORACLE9i JDeveloper Handbook ORACLE JDeveloper 10g Handbook www.quovera.com Founded in 1995 as Millennia Vision Corp. Profitable without outside funding Consultants each have 10+ years industry experience Strong High-Tech industry background 200+ clients/300+ projects JDeveloper Partner More technical white papers and presentations on the web site 45