SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Plus 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
 

Plus 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
 

Dernier

Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdfssuserdda66b
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 

Dernier (20)

Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 

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.