SlideShare una empresa de Scribd logo
1 de 61
ORACLE ADF - ONLINE TRAINING | E-
LEARNING AND PLACEMENT
Online | classroom| Corporate
Training | certifications | placements| support
CONTACT US:
MAGNIFIC TRAINING
INDIA +91-9052666559
USA : +1-678-693-3475
info@magnifictraining.com
www.magnifictraining.com
OVERVIEW
• IDE favorites
• Fool’s Gold
• UI (tw)Highlights
• The Whole Wide World
WHAT IS A GOLD NUGGET?
• Unexpected benefit
• Underused, overlooked feature
– Small – frequently useful
– Huge – unexplored concept or area of infrastructure
• Potentially useful to large community
– Not too much a niche option
NUGGET CLOUD
Refresh after insert
Groovy
so aDF
JHeadstartPPR
DVT
DecoupledDevelopment&Reuse
TaskFlow,Region,UIShell,DeclarativeComponents,ADFLibrary,…
active rowkey
prepareSession
Java/JEE
Fusion Applications
EMG and wider community
OraFormsFaces
Popup
Change Persistence
AutoSuggest
PanelCollection
ADFContext
OPSS/ADF Security
TreeSelect
VO Updateable Lookup
Multi Browser Support
server event & listener
Listvalidator
FormatString
Selenium
Hot Reload
Customization
PanelDashboard
Programmatic VO
Bean Data Control
setPropertyListener
ActiveDataServiceforPush
RichTable
WebLogicServer
EL
SavePoints
PageTemplate
Skin editor
ADF IN LARRY’S KEYNOTE
ON ORACLE OPEN WORLD 2009 AND 2010
THE TABLE
• ADF Faces
Rich Table (& Panel Collection)
– Displays ADF Model data bound collection, bean array,
List, ResultSet, RowSet and more
– Dynamic Table Configuration & Change Persistence
• Rearrange, resize, hide/show columns, freeze columns
– Post-load or Lazy Data Fetch
– Fetch data rows upon scroll
– Filter & Sort
– Read-Only and Click-to-edit
– [single or multiple] Row and Column Selection
– Header, Footer, Column Grouping, DetailStamp
– Many, many predefined facets
– Export data set, Email & Print mode
ACTIVE ROW KEY
• Property on table that is ‘click to edit’
• EL expression that resolves to the primary key of the
row that should be displayed as editable
– Table will scroll that row into view
"SMART" COMPLETION INSIGHT
Ctrl-Space (x 2)
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
}
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
public void doSomething() {
}
}
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
public void doSomething() {
this.
}
}
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
public void doSomething() {
this.
}
}
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
public void doSomething() {
this.getB
}
}
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
public void doSomething() {
this.getBookingView1Impl()
}
}
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
public void doSomething() {
? = this.getBookingView1Impl()
}
}
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
public void doSomething() {
this.getB
}
}
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
public void doSomething() {
this.getB
}
}
public class AppModuleImpl extends ApplicationModuleImpl
{
public BookingsViewImpl getBookingsView1() {
return
(BookingsViewImpl)findViewObjects("BookingsView1");
}
public void doSomething() {
BookingsViewImpl bookingsView =
this.getBookingsView1();
}
}
JDEVELOPER GO TO SHORTCUTS
• Go to Class: CTRL -
• Go to File: CTRL ALT -
• Find usages: CTRL ALT u
– For class, method,
EO and VO Attribute, …
MORE BEST SHORT CUTS…
• CTRL Shift Space: parameter insight
• CTRL = : list of recently opened files
• CTRL Space: completion insight
• CTRL Space (2x): declaration insert
• CTRL /: selection commented
• CTRL Shift C:
copy file path to
Clipboard
• Alt Home :
select
file in ‘tree’
DATA VISUALIZATION
THE RIGHT MOUSE CLICK
• ContextMenu client listener
and
Popup (menu and window)
POPUP MAGIC
EXAMPLE: ADDING FANCY
BALLOON HELP
• Create a popup with a noteWindow child to
contain the fancy
help content
• Add a showPopupBehavior tag to the inputText
that we want to add the help to
EXPRESSION LANGUAGE
• IoC: Injection of Value and Listener into page
• Dynamic, context sensitive behavior
• Extension points
– Custom Functions invoked from EL
– Integration of Spring Beans
– Custom EL Resolver
• To resolve values from property files, ….
EVEN MORE DECLARATIVE ADF
DEVELOPMENT – WITH JHEADSTART
PROGRAMMATIC CROSS TIER
INTERACTION
Web Browser
JEE Application Server
Client
Server
(middle tier)
Database
JavaScript Components
ComponentsBeans & Objects
activeOutputText
Active Data
Model
activeOutputText
push
serverListener
Bean
Load JSON, CSS,
Image, XML, JSRequest
data or
Push
message
push (DB QRCN)
Object
clientListener
component
serverListener
partial
page
refresh
partialSubmit
autoSubmit
JavaScript
Function
Queue Custom
Event
component
component
manipulate
poll
setPropertyListener
user
or
programmatic
action
add JS to
execute
(ERKS) add
components
as partial target
ERKS
‘ppr script’
actionListener,
valueChangeListener,
…Listener
component
component
Full page
reload
CLIENT SERVER INTERACTIONS VV.
USE SETPROPERTYLISTENER
TO PUSH DATA TO THE SERVER
• The setPropertyListener will pass
from value to the to target
when type event occurs on parent
– A very simple way to inform the
server about an event and the data
associated with the event
– Supported types: action, focus,
poll, query, rangeChange, selection, sort, rowDisclosure,
valueChange and many more
<af:image id="removeFromSetImage“
source="/images/removeFromSet.png“
shortDesc="Remove from Shopping Basket"/>
<af:setPropertyListener from="#{item}“
to="#{shoppingBasket.itemToRemove}"
type="action"/>
</af:commandLink>
SERVERLISTENER FOR CUSTOM AJAX
(BACKGROUND CLIENT TO SERVER
PUSH)
• A serverListener associates a
server side method with a
client side custom event
– This allows JavaScript functions
to call a server side method by queuing an event
– A custom event carries a payload
ADF ACTIVE DATA SERVICE –
SERVER PUSH TO CLIENT
• Push: server sends messages to client
• ADF Active Data Service enables UI components to
be ‘automatically refreshed’ when server side events
occur
• Active UI Components include Table, Image,
OutputText, DVT Components
– Based on BAM Data Control
– Based on Custom Beans
that extend ActiveAdapter
• Nudge: push-to-refresh
• Note: client-2-client push
can easily be implemented
as client-to-server-followed-
by-server-to-client push
Web Browser
JEE Application Server
AUTO-PPR FOR IMMEDIATE REFRESH OF
DATA BOUND COMPONENTS
• To have ADF automatically refresh
data bound components when underlying
value binding has changed its value
• Set changeEventPolicy=ppr on iterator
– Refresh as piggy back on any request cycle
– No partialTriggers attribute required!
CROSS TIER PUSH
Web Browser
RDBMS
JEE Application Server
trg
job
servlet
activeOT
evt lsnr
Cache
refresher
table
THE “HISTORY” FEATURE IN JDEVELOPER
• Quick comparison of file with previous states
– Can leverage Source Code Control system
(Subversion, CVS) but also maintains local file history
– The compare feature is ‘XML aware’
• Revert to a previous state of a file
MARRYING FORMS AND ADF TOGETHER –
MIGRATE WITH (i/o FROM) FORMS TO ADF
• OraFormsFaces leveraging the JavaScript-Applet
bridge for two-way event exchange
ADF BC PROPERTIES
Property Inspector
LIBRARY PRIVATE
JAVA AND JEE
• ADF is a framework on top of Java, JEE and JVM
• Anything that is/extends/runs on one of these is
potentially usable with and relevant for ADF
• Zillion frameworks and libraries
– iText (PDF), Apache POI (Excel), Jasper Reports, BIRT
– Spring (IoC, AOP, Acegi/Security, Social, ..)
– Apache Commons, Google Collections, Joda Time
• Software Engineering
– Test (Junit, EasyMock), build (Ant, Maven), check/QA
(FindBugs, CheckStyle, Sonar),
• JEE facilities in WLS including JMS, WS* & RS, JMX…
• Dynamic JVM languages: Groovy, Scala, JRuby, …
• Java 7 SE and beyond
• Java FX?
PREPARE SESSION
• Before any other database communication is
performed during the processing of a request …
• ADF BC will execute the prepareSession() method that
you can override in ApplicationModuleImpl
• This is the perfect place to
– Reset package state
– Set application and client info
– Set application context
• User details, current session
context, view filter conditions
(real or poor man VPD)
– Fetch any events published
inside the database
Database
ADF BC
AppMod
CHALLENGE
• Create a Sliding Tile puzzle that tiles up an image in a
configurable number of tiles
• Using drag and drop, the user can reassemble the
image
STEPS
• Create Servlet that produces tiles from a JPEG
image
– Parameters: image name, tile factor, x and y
• Create PanelDashboard with panelBoxes with
richImage components
– That request their source from the servlet
corresponding to their position in the grid
• Bind the PanelDashboard and dynamically create
the panelBox components
• Allow user to set the tile factor and choose the
image
– Use a Carousel for image selection
DEMO
EDN
Task UI
SDO Entity
EDN Events
SO ADF
•EDN Events from ADF BC
•BAM Data Control
•Human Task UI
•ADF BC SDO Service
•WebService Proxy and Data Control
ADF TO SOA INTERACTIONS IN FAPPS
Business LogicView Data
OrchestrationHuman interaction Policy evaluationMonitoring
Rules
EngineAssign
Task
Task
Complete
Human Workflow
Service
Mediator /BPEL
Process
results
facts
Business
Activity
Monitoring
Business Services
ADF Business Components
Data
Binding
SDO Services
Database
Schema
Events
User Interface
ADF Faces
components
WebCenter
PROGRAMMATIC VIEW OBJECT
• It walks, talks and looks like a ‘regular’ View Object
– (regular being based on Entity Objects or SQL Query)
• But it is entirely fueled by custom written overridden
Java methods – possibly without database connection
– A bit like a View with Instead Of trigger – against a
Collection based Table Function and PL/SQL API
• Programmatic View Objects can be used as normal in
a Data Control for binding ADF Faces components
• Normal rich declarative ADF BC data binding can be
provided to UI developers for data sources such as
– WebService, JMS Queue, Memory Grid, Document
Management System, Email, cross session data, …
• Note: with the evolution of the Bean Data Control,
some of the use cases will fade away
THE ROOT OF AJAX
Suggestions
AUTO SUGGESTIONS
• User is entering a field
– As she types characters,
suggestions can be
presented for what the full entry should read
• Based on a list of allowable values, based on
previous (popular) entries or anything really
– User can pick a suggestion for ‘short-cut typing’
• Auto suggestions can be model-driven (declarative) or
custom
– And can do things beyond plain list based suggestions
INTRO
• Google Suggest set off the AJAX hype in anger
• Many implementations for a ‘suggestions’ feature
in ADF 10g and 11g have been created
– Using custom JavaScript or libraries like Jquery
• With PS1, ADF 11g introduced a native
component for ‘auto suggestions’
– The <af:autoSuggestBehavior> component, to be
included in inputText or inputListOfValues or
inputComboboxListOfValues
MODEL DRIVEN SUGGESTIONS
• The suggestions can be derived declaratively
from List of Values reference on a VO Attribute
• Steps:
– On ViewObject
• Create ViewAccessor (for list values)
• Create List of Values for Attribute
• Link LoV to ViewAccessor
– In Page
• Add InputListOfValues component based on attribute
• Add af:autoSuggestBehavior with suggestions based on
List of Values Binding’s suggestedItems
IN PAGE:
CUSTOM SUGGESTIONS
• Auto Suggestions can be provided by managed
bean that implements signature:
– List getSuggestions( String currentValue)
• And the List returned is really List<SelectItem>
• Potential use cases
– Based on some (application wide) cached
collection (of previously entered ?) values
– Retrieve values from WebService, file, …
– Use common abbreviations, codes
• Country code, airport
– Show translations in other languages
STATIC LIST OF COUNTRIES
Suggestions
SUGGESTIONS … OR?
• Suggested Values do not need to be suggestions in a
very literal sense
– What you see may not be what you get
– The SelectItem as a label (WYS) and a value (ISWYG)
• Examples:
– Add words to field instead of replacing value
– Perform selected
operation on value
– Show an updated
indicator based
on the value
PAGE TEMPLATE
• Turns page layout inside out:
– the page references the template
– the page template determines the overall structure
– the page provides the content for the designated areas
in the template (through the facets)
• Can be dynamically, context-sensitively selected using
an EL expression
• Can also be used for areas within a page
– With multiple page templates used within the same
page
– More an area template than a page template to define
UI Design Patterns
• Tree-with-Detail-Form, Table-and-Chart, Master-Form-
Detail-Table, Search block-Results table…
USING MULTIPLE PAGE TEMPLATES
• Two templates: mainpage and Table-Form template
OTHER PAGE CONSUMING THE
TEMPLATE(S)
CHANGING THE MICRO-TEMPLATE
SUMMARY
• Twinkle, twinkle little stars…
– #1 nugget
– #2 nugget
– #3 nugget
• Don’t give up [too soon]
– There is more in ADF than meets the eye
– There is a world of Java/JEE to leverage
– There is a community to lean on
• Scan release notes and monitor blog-o-sphere for
valuable new (and re-discovered) nuggets
• Share! Yes, you too! Your findings are just as valuable.
– Participate in EMG and OTN Forum discussions, write
blog articles, present in conferences, …
QUESTION & ANSWERS
SHOULD YOU REQUIRE ANY FURTHER
INFORMATION PLEASE DO NOT HESITATE
TO
CONTACT US
• http://www.oraclecourseonline.com
• -oracle fusion adf online training
contact us:
• info@magnifictraining.com or +919052666559
• By Real Time Experts from Hyderabad,
• Bangalore
• ,India,USA,Canada,UK, Australia,South
• Africa.
Oracle adf   online training  e-learning and placement

Más contenido relacionado

Más de magnifics

Best oracle adf online training institute india
Best oracle adf online training institute indiaBest oracle adf online training institute india
Best oracle adf online training institute indiamagnifics
 
Oracle apps-technical-tutorial
Oracle apps-technical-tutorialOracle apps-technical-tutorial
Oracle apps-technical-tutorialmagnifics
 
Oracle apps crm operations and configuration
Oracle apps crm  operations and configurationOracle apps crm  operations and configuration
Oracle apps crm operations and configurationmagnifics
 
Oracle apps scm online training in american samoa
Oracle apps scm online training in american samoaOracle apps scm online training in american samoa
Oracle apps scm online training in american samoamagnifics
 
Oracle apps technical online training in alaska
Oracle apps technical online training in alaskaOracle apps technical online training in alaska
Oracle apps technical online training in alaskamagnifics
 
Oracle fusion adf online training in africa
Oracle fusion adf online training in africaOracle fusion adf online training in africa
Oracle fusion adf online training in africamagnifics
 
Oracle apps crm online training in africa
Oracle apps crm online training in africaOracle apps crm online training in africa
Oracle apps crm online training in africamagnifics
 
Oracle fusion soa online training in africa
Oracle fusion soa online training in africaOracle fusion soa online training in africa
Oracle fusion soa online training in africamagnifics
 
Oracle apps financial online training
Oracle apps financial online trainingOracle apps financial online training
Oracle apps financial online trainingmagnifics
 
Oracle apps scm functional training in bangalore
Oracle apps scm functional training in bangaloreOracle apps scm functional training in bangalore
Oracle apps scm functional training in bangaloremagnifics
 

Más de magnifics (10)

Best oracle adf online training institute india
Best oracle adf online training institute indiaBest oracle adf online training institute india
Best oracle adf online training institute india
 
Oracle apps-technical-tutorial
Oracle apps-technical-tutorialOracle apps-technical-tutorial
Oracle apps-technical-tutorial
 
Oracle apps crm operations and configuration
Oracle apps crm  operations and configurationOracle apps crm  operations and configuration
Oracle apps crm operations and configuration
 
Oracle apps scm online training in american samoa
Oracle apps scm online training in american samoaOracle apps scm online training in american samoa
Oracle apps scm online training in american samoa
 
Oracle apps technical online training in alaska
Oracle apps technical online training in alaskaOracle apps technical online training in alaska
Oracle apps technical online training in alaska
 
Oracle fusion adf online training in africa
Oracle fusion adf online training in africaOracle fusion adf online training in africa
Oracle fusion adf online training in africa
 
Oracle apps crm online training in africa
Oracle apps crm online training in africaOracle apps crm online training in africa
Oracle apps crm online training in africa
 
Oracle fusion soa online training in africa
Oracle fusion soa online training in africaOracle fusion soa online training in africa
Oracle fusion soa online training in africa
 
Oracle apps financial online training
Oracle apps financial online trainingOracle apps financial online training
Oracle apps financial online training
 
Oracle apps scm functional training in bangalore
Oracle apps scm functional training in bangaloreOracle apps scm functional training in bangalore
Oracle apps scm functional training in bangalore
 

Último

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Último (20)

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 

Oracle adf   online training  e-learning and placement

  • 1. ORACLE ADF - ONLINE TRAINING | E- LEARNING AND PLACEMENT Online | classroom| Corporate Training | certifications | placements| support CONTACT US: MAGNIFIC TRAINING INDIA +91-9052666559 USA : +1-678-693-3475 info@magnifictraining.com www.magnifictraining.com
  • 2. OVERVIEW • IDE favorites • Fool’s Gold • UI (tw)Highlights • The Whole Wide World
  • 3. WHAT IS A GOLD NUGGET? • Unexpected benefit • Underused, overlooked feature – Small – frequently useful – Huge – unexplored concept or area of infrastructure • Potentially useful to large community – Not too much a niche option
  • 4. NUGGET CLOUD Refresh after insert Groovy so aDF JHeadstartPPR DVT DecoupledDevelopment&Reuse TaskFlow,Region,UIShell,DeclarativeComponents,ADFLibrary,… active rowkey prepareSession Java/JEE Fusion Applications EMG and wider community OraFormsFaces Popup Change Persistence AutoSuggest PanelCollection ADFContext OPSS/ADF Security TreeSelect VO Updateable Lookup Multi Browser Support server event & listener Listvalidator FormatString Selenium Hot Reload Customization PanelDashboard Programmatic VO Bean Data Control setPropertyListener ActiveDataServiceforPush RichTable WebLogicServer EL SavePoints PageTemplate Skin editor
  • 5. ADF IN LARRY’S KEYNOTE ON ORACLE OPEN WORLD 2009 AND 2010
  • 6. THE TABLE • ADF Faces Rich Table (& Panel Collection) – Displays ADF Model data bound collection, bean array, List, ResultSet, RowSet and more – Dynamic Table Configuration & Change Persistence • Rearrange, resize, hide/show columns, freeze columns – Post-load or Lazy Data Fetch – Fetch data rows upon scroll – Filter & Sort – Read-Only and Click-to-edit – [single or multiple] Row and Column Selection – Header, Footer, Column Grouping, DetailStamp – Many, many predefined facets – Export data set, Email & Print mode
  • 7. ACTIVE ROW KEY • Property on table that is ‘click to edit’ • EL expression that resolves to the primary key of the row that should be displayed as editable – Table will scroll that row into view
  • 9. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } }
  • 10. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } public void doSomething() { } }
  • 11. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } public void doSomething() { this. } }
  • 12. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } public void doSomething() { this. } }
  • 13. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } public void doSomething() { this.getB } }
  • 14. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } public void doSomething() { this.getBookingView1Impl() } }
  • 15. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } public void doSomething() { ? = this.getBookingView1Impl() } }
  • 16. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } public void doSomething() { this.getB } }
  • 17. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } public void doSomething() { this.getB } }
  • 18. public class AppModuleImpl extends ApplicationModuleImpl { public BookingsViewImpl getBookingsView1() { return (BookingsViewImpl)findViewObjects("BookingsView1"); } public void doSomething() { BookingsViewImpl bookingsView = this.getBookingsView1(); } }
  • 19. JDEVELOPER GO TO SHORTCUTS • Go to Class: CTRL - • Go to File: CTRL ALT - • Find usages: CTRL ALT u – For class, method, EO and VO Attribute, …
  • 20. MORE BEST SHORT CUTS… • CTRL Shift Space: parameter insight • CTRL = : list of recently opened files • CTRL Space: completion insight • CTRL Space (2x): declaration insert • CTRL /: selection commented • CTRL Shift C: copy file path to Clipboard • Alt Home : select file in ‘tree’
  • 22. THE RIGHT MOUSE CLICK • ContextMenu client listener and Popup (menu and window)
  • 24. EXAMPLE: ADDING FANCY BALLOON HELP • Create a popup with a noteWindow child to contain the fancy help content • Add a showPopupBehavior tag to the inputText that we want to add the help to
  • 25. EXPRESSION LANGUAGE • IoC: Injection of Value and Listener into page • Dynamic, context sensitive behavior • Extension points – Custom Functions invoked from EL – Integration of Spring Beans – Custom EL Resolver • To resolve values from property files, ….
  • 26. EVEN MORE DECLARATIVE ADF DEVELOPMENT – WITH JHEADSTART
  • 27. PROGRAMMATIC CROSS TIER INTERACTION Web Browser JEE Application Server
  • 28. Client Server (middle tier) Database JavaScript Components ComponentsBeans & Objects activeOutputText Active Data Model activeOutputText push serverListener Bean Load JSON, CSS, Image, XML, JSRequest data or Push message push (DB QRCN) Object clientListener component serverListener partial page refresh partialSubmit autoSubmit JavaScript Function Queue Custom Event component component manipulate poll setPropertyListener user or programmatic action add JS to execute (ERKS) add components as partial target ERKS ‘ppr script’ actionListener, valueChangeListener, …Listener component component Full page reload CLIENT SERVER INTERACTIONS VV.
  • 29. USE SETPROPERTYLISTENER TO PUSH DATA TO THE SERVER • The setPropertyListener will pass from value to the to target when type event occurs on parent – A very simple way to inform the server about an event and the data associated with the event – Supported types: action, focus, poll, query, rangeChange, selection, sort, rowDisclosure, valueChange and many more <af:image id="removeFromSetImage“ source="/images/removeFromSet.png“ shortDesc="Remove from Shopping Basket"/> <af:setPropertyListener from="#{item}“ to="#{shoppingBasket.itemToRemove}" type="action"/> </af:commandLink>
  • 30. SERVERLISTENER FOR CUSTOM AJAX (BACKGROUND CLIENT TO SERVER PUSH) • A serverListener associates a server side method with a client side custom event – This allows JavaScript functions to call a server side method by queuing an event – A custom event carries a payload
  • 31. ADF ACTIVE DATA SERVICE – SERVER PUSH TO CLIENT • Push: server sends messages to client • ADF Active Data Service enables UI components to be ‘automatically refreshed’ when server side events occur • Active UI Components include Table, Image, OutputText, DVT Components – Based on BAM Data Control – Based on Custom Beans that extend ActiveAdapter • Nudge: push-to-refresh • Note: client-2-client push can easily be implemented as client-to-server-followed- by-server-to-client push Web Browser JEE Application Server
  • 32. AUTO-PPR FOR IMMEDIATE REFRESH OF DATA BOUND COMPONENTS • To have ADF automatically refresh data bound components when underlying value binding has changed its value • Set changeEventPolicy=ppr on iterator – Refresh as piggy back on any request cycle – No partialTriggers attribute required!
  • 33. CROSS TIER PUSH Web Browser RDBMS JEE Application Server trg job servlet activeOT evt lsnr Cache refresher table
  • 34. THE “HISTORY” FEATURE IN JDEVELOPER • Quick comparison of file with previous states – Can leverage Source Code Control system (Subversion, CVS) but also maintains local file history – The compare feature is ‘XML aware’ • Revert to a previous state of a file
  • 35. MARRYING FORMS AND ADF TOGETHER – MIGRATE WITH (i/o FROM) FORMS TO ADF • OraFormsFaces leveraging the JavaScript-Applet bridge for two-way event exchange
  • 38. JAVA AND JEE • ADF is a framework on top of Java, JEE and JVM • Anything that is/extends/runs on one of these is potentially usable with and relevant for ADF • Zillion frameworks and libraries – iText (PDF), Apache POI (Excel), Jasper Reports, BIRT – Spring (IoC, AOP, Acegi/Security, Social, ..) – Apache Commons, Google Collections, Joda Time • Software Engineering – Test (Junit, EasyMock), build (Ant, Maven), check/QA (FindBugs, CheckStyle, Sonar), • JEE facilities in WLS including JMS, WS* & RS, JMX… • Dynamic JVM languages: Groovy, Scala, JRuby, … • Java 7 SE and beyond • Java FX?
  • 39. PREPARE SESSION • Before any other database communication is performed during the processing of a request … • ADF BC will execute the prepareSession() method that you can override in ApplicationModuleImpl • This is the perfect place to – Reset package state – Set application and client info – Set application context • User details, current session context, view filter conditions (real or poor man VPD) – Fetch any events published inside the database Database ADF BC AppMod
  • 40. CHALLENGE • Create a Sliding Tile puzzle that tiles up an image in a configurable number of tiles • Using drag and drop, the user can reassemble the image
  • 41. STEPS • Create Servlet that produces tiles from a JPEG image – Parameters: image name, tile factor, x and y • Create PanelDashboard with panelBoxes with richImage components – That request their source from the servlet corresponding to their position in the grid • Bind the PanelDashboard and dynamically create the panelBox components • Allow user to set the tile factor and choose the image – Use a Carousel for image selection
  • 42. DEMO
  • 43. EDN Task UI SDO Entity EDN Events SO ADF •EDN Events from ADF BC •BAM Data Control •Human Task UI •ADF BC SDO Service •WebService Proxy and Data Control
  • 44. ADF TO SOA INTERACTIONS IN FAPPS Business LogicView Data OrchestrationHuman interaction Policy evaluationMonitoring Rules EngineAssign Task Task Complete Human Workflow Service Mediator /BPEL Process results facts Business Activity Monitoring Business Services ADF Business Components Data Binding SDO Services Database Schema Events User Interface ADF Faces components WebCenter
  • 45. PROGRAMMATIC VIEW OBJECT • It walks, talks and looks like a ‘regular’ View Object – (regular being based on Entity Objects or SQL Query) • But it is entirely fueled by custom written overridden Java methods – possibly without database connection – A bit like a View with Instead Of trigger – against a Collection based Table Function and PL/SQL API • Programmatic View Objects can be used as normal in a Data Control for binding ADF Faces components • Normal rich declarative ADF BC data binding can be provided to UI developers for data sources such as – WebService, JMS Queue, Memory Grid, Document Management System, Email, cross session data, … • Note: with the evolution of the Bean Data Control, some of the use cases will fade away
  • 46. THE ROOT OF AJAX Suggestions
  • 47. AUTO SUGGESTIONS • User is entering a field – As she types characters, suggestions can be presented for what the full entry should read • Based on a list of allowable values, based on previous (popular) entries or anything really – User can pick a suggestion for ‘short-cut typing’ • Auto suggestions can be model-driven (declarative) or custom – And can do things beyond plain list based suggestions
  • 48. INTRO • Google Suggest set off the AJAX hype in anger • Many implementations for a ‘suggestions’ feature in ADF 10g and 11g have been created – Using custom JavaScript or libraries like Jquery • With PS1, ADF 11g introduced a native component for ‘auto suggestions’ – The <af:autoSuggestBehavior> component, to be included in inputText or inputListOfValues or inputComboboxListOfValues
  • 49. MODEL DRIVEN SUGGESTIONS • The suggestions can be derived declaratively from List of Values reference on a VO Attribute • Steps: – On ViewObject • Create ViewAccessor (for list values) • Create List of Values for Attribute • Link LoV to ViewAccessor – In Page • Add InputListOfValues component based on attribute • Add af:autoSuggestBehavior with suggestions based on List of Values Binding’s suggestedItems
  • 51. CUSTOM SUGGESTIONS • Auto Suggestions can be provided by managed bean that implements signature: – List getSuggestions( String currentValue) • And the List returned is really List<SelectItem> • Potential use cases – Based on some (application wide) cached collection (of previously entered ?) values – Retrieve values from WebService, file, … – Use common abbreviations, codes • Country code, airport – Show translations in other languages
  • 52. STATIC LIST OF COUNTRIES Suggestions
  • 53. SUGGESTIONS … OR? • Suggested Values do not need to be suggestions in a very literal sense – What you see may not be what you get – The SelectItem as a label (WYS) and a value (ISWYG) • Examples: – Add words to field instead of replacing value – Perform selected operation on value – Show an updated indicator based on the value
  • 54. PAGE TEMPLATE • Turns page layout inside out: – the page references the template – the page template determines the overall structure – the page provides the content for the designated areas in the template (through the facets) • Can be dynamically, context-sensitively selected using an EL expression • Can also be used for areas within a page – With multiple page templates used within the same page – More an area template than a page template to define UI Design Patterns • Tree-with-Detail-Form, Table-and-Chart, Master-Form- Detail-Table, Search block-Results table…
  • 55. USING MULTIPLE PAGE TEMPLATES • Two templates: mainpage and Table-Form template
  • 56. OTHER PAGE CONSUMING THE TEMPLATE(S)
  • 58. SUMMARY • Twinkle, twinkle little stars… – #1 nugget – #2 nugget – #3 nugget • Don’t give up [too soon] – There is more in ADF than meets the eye – There is a world of Java/JEE to leverage – There is a community to lean on • Scan release notes and monitor blog-o-sphere for valuable new (and re-discovered) nuggets • Share! Yes, you too! Your findings are just as valuable. – Participate in EMG and OTN Forum discussions, write blog articles, present in conferences, …
  • 60. SHOULD YOU REQUIRE ANY FURTHER INFORMATION PLEASE DO NOT HESITATE TO CONTACT US • http://www.oraclecourseonline.com • -oracle fusion adf online training contact us: • info@magnifictraining.com or +919052666559 • By Real Time Experts from Hyderabad, • Bangalore • ,India,USA,Canada,UK, Australia,South • Africa.