Book Image

Developing Web Applications with Oracle ADF Essentials

Book Image

Developing Web Applications with Oracle ADF Essentials

Overview of this book

With ADF, Oracle gives you the chance to use the powerful tool used by Oracle's own developers. Modern enterprise applications must be user-friendly, visually attractive, and fast performing. Oracle Fusion Applications are just that; but to get the desired output you need proven methods to use this powerful and flexible tool to achieve success in developing your enterprise applications. "Developing Web Applications with Oracle ADF Essentials" explains all you need to know in order to build good-looking, user-friendly applications on a completely free technology stack. It explains the highly productive, declarative development approach that will literally have your application running within a few hours, as well as how to use Java to add business logic. "Developing Web Applications with Oracle ADF Essentials" tells you how to develop and deploy web application applications based on the highly productive and free Oracle ADF Essentials framework. You will first learn how to build business services on top of database tables, and then how to easily build a web application using these services. You will see how to visually design the flow through your application with ADF task flows, and how to use Java programming to implement business logic. Using this book, you can start building and deploying advanced web applications on a robust, free platform quickly. Towards the end, you will be ready to build real-world ADF Essentials applications and will be able to consider yourself an ADF Essentials journeyman.
Table of Contents (16 chapters)
Developing Web Applications with Oracle ADF Essentials
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • accessors
    • overriding / Overriding accessors, Overriding accessors
  • ADF application
    • tuning / Tuning your ADF application
  • ADF Business Components (ADF BC)
    • about / ADF Business Components
    • entity objects / ADF Business Components
    • associations / ADF Business Components
    • view objects / ADF Business Components
    • view links / ADF Business Components
    • application modules / ADF Business Components
    • working / How ADF business components work
  • ADF domain
    • about / Examining the result
  • ADF Essentials
    • installing / Installing ADF Essentials
    • downloading / Getting ADF Essentials
    • ADF Share libraries, installing in GlassFish / Installing the ADF Share libraries in GlassFish
    • GlassFish JVM parameters, setting / Setting the GlassFish JVM parameters
    • about / JDeveloper or Eclipse?
  • ADF Essentials application
    • builsing / Building a simple ADF Essentials application
    • View layer / Building a simple ADF Essentials application, View layer
    • Controller layer / Building a simple ADF Essentials application, Controller layer
    • Model layer / Building a simple ADF Essentials application
    • Business Service layer / Building a simple ADF Essentials application
    • Database layer / Building a simple ADF Essentials application
    • creating / Creating the application
    • MySQL Sakila demo database / Database
    • business services, building / Business service
    • model layer / Model layer
    • deploying / Getting ready to deploy
    • deployment profile properties / DataSource
    • application module configuration / Application module configuration
    • platform, changing / Change platform
    • running / Running your first ADF Essentials application, Running your first ADF Essentials application again
  • ADF libraries
    • working with / Working with ADF libraries
    • creating / Creating ADF libraries
    • releasing / Releasing ADF libraries
    • using / Using ADF libraries
    • debugging into / Debugging into ADF libraries
    • source directory, creating / Creating a source directory
    • source JAR file, creating / Creating a source JAR file
    • source, including in master application / Including the source in the master application
    • breakpoint, placing / Placing a breakpoint in an ADF library
  • ADF library, Common Code Workspace
    • creating / Creating the ADF library
    • releasing / Releasing the ADF library
  • ADF library, CommonModel workspace
    • adding / Adding an ADF library, Adding to source control and creating the ADF library
  • ADF library, CommonUI workspace
    • adding / Adding an ADF library
    • creating / Creating and releasing the ADF library
    • releasing / Creating and releasing the ADF library
  • ADF library, RentDvd subsystem workspace
    • adding / Adding ADF libraries
  • ADF library, ReturnDvd subsystem workspace
    • adding / Adding ADF libraries
  • ADF library folder, master application workspace
    • creating / Creating the ADF library folder
  • ADF lifecycle
    • about / Understanding the ADF lifecycle
  • ADFLogger / ADF logging
  • ADFLogger.createADFLogger() method / Creating a logger
  • ADF logging
    • about / ADF logging
    • logger, creating / Creating a logger
    • log statements, adding / Adding log statements
    • business logging / Business logging
    • JDeveloper shortcuts / JDeveloper shortcuts
    • logs, reading / Reading the logs
  • ADF Naming and Project Layout Guidelines
    • URL / Starting the example application
  • ADF Share libraries
    • installing, in GlassFish / Installing the ADF Share libraries in GlassFish
  • ADF source code
    • debugging into / Debugging into the ADF source code
  • Advanced Shiro
    • about / Advanced Shiro
    • user database / User database
    • form-based authentication / Form-based authentication
    • user, accessing / Accessing the user
  • application
    • Shiro security, using / Installing the packages in your application
    • deploying / Deploying a single application
    • preparing, for release / Preparing to go live, Database connections, Print statements
  • application module
    • about / Application module
  • application module, RentDvd subsystem workspace
    • creating / Creating the application module
  • application module, ReturnDvd subsystem workspace
    • creating / Creating an application module
  • Application Modules
    • about / ADF Business Components
  • application modules, logic
    • about / Logic in application modules
  • asadmin / Automated deployment to GlassFish
  • associations
    • about / ADF Business Components
    • cleaning up / Cleaning up the associations
  • attribute values
    • working with / Working with attribute values
  • authentication
    • elements, disabling / Disabling elements
    • elements, removing / Removing elements
    • task flows, securing / Securing task flows
  • authorization
    • implementing / Implementing authorization, Are you a member, Sir?
  • autogenerated values / Autogenerated values
  • automated deployment, Glassfish
    • about / Automated deployment to GlassFish
    • EAR file, deploying from command line / Deploying from the command line
    • deploying, from Ant / Deploying from Ant

B

  • bean
    • adding, to task flow / Adding a bean to a task flow
    • creating / Creating a bean, Creating a bean
  • bean method
    • adding, to button / Adding a bean method to a button
  • beans
    • UI components, accessing from / Accessing UI components from beans
  • binding, RentDvd subsystem workspace
    • adding / Adding a binding
  • binding layer
    • accessing / Accessing the binding layer
  • binding layer, accessing
    • attribute values / Working with attribute values
    • operations / Working with operations
    • whole data sets / Working with whole datasets
  • bindings
    • establishing / Establishing bindings
  • bind variable
    • about / Building the customer view object
  • bounded task flow
    • about / Bounded and unbounded task flows
  • build script
    • creating / Creating a build script, Creating the script
  • business components
    • testing / Testing business components
    • logic, adding to / Adding logic to business components
  • Business Components from Tables wizard
    • running / Running the wizard
  • business logging
    • about / Business logging
  • business logic, RentDvd subsystem workspace
    • adding / Adding the business logic
  • business service layer
    • about / Business service possibilities
    • possibilities / Business service possibilities
  • button
    • bean method, adding to / Adding a bean method to a button

C

  • client interface
    • about / Adding logic to business components
  • code
    • structuring / Structuring your code
  • code template feature
    • about / JDeveloper shortcuts
  • command line
    • EAR file, deploying from / Deploying from the command line
  • CommonCode Workspace
    • about / Creating the CommonCode workspace
    • creating / Creating the workspace
    • framework extension classes, re-creating / Recreating the framework extension classes
    • JDeveloper preferences, verifying / Check your JDeveloper preferences
    • ADF library, creating / Creating the ADF library
    • ADF library, releasing / Releasing the ADF library
  • Common Code Workspace
    • about / The workspace hierarchy
    • adding, to source control / Adding to source control
  • CommonModel workspace
    • about / Creating the CommonModel workspace
    • creating / Creating the workspace
    • ADF library, adding / Adding an ADF library
    • entity objects, creating / Creating the entity objects
    • adding, to source control / Adding to source control and creating the ADF library
    • ADF library, creating / Adding to source control and creating the ADF library
  • Common Model Workspace
    • about / The workspace hierarchy
  • Common UI Workspace
    • about / The workspace hierarchy
  • CommonUI workspace
    • about / Creating the CommonUI workspace
    • creating / Creating the workspace
    • task flow template, creating / Creating the templates
    • ADF library, adding / Adding an ADF library
    • adding, to source control / Adding to source control
    • ADF library, creating / Creating and releasing the ADF library
    • releasing / Creating and releasing the ADF library
  • conditional formatting
    • about / Marking items returned today
  • Customer Search Page Fragment, ReturnDvd subsystem workspace
    • creating / Creating the Customer Search Page Fragment
  • customer view object
    • building / Building the customer view object
  • Customer view object, ReturnDvd subsystem workspace
    • creating / Creating the Customer view object

D

  • database triggers
    • working with / Working with database triggers
  • data bindings
    • using / Using data bindings
    • customer, displaying on page / Showing a customer on a page
    • customer rentals, displaying on page / Showing customer rentals on a page
    • navigation, adding / Adding navigation
  • Data Manipulation Language (DML) / Overriding doDML()
  • DataSource
    • adding, in GlassFish / Adding a DataSource to GlassFish
  • data types
    • cleaning up / Cleaning up the data types
  • data validation
    • about / Data validation
    • declarative validation / Declarative validation
    • regular expression validation / Regular expression validation
    • Groovy scripts / Groovy scripts
    • method validation / Method validation
  • declarative validation
    • about / Declarative validation
  • default activity / Building the Rent DVD task flow
  • deploy command / Deploying from the command line
  • doDML() method
    • about / Overriding accessors, Overriding doDML()
    • overriding / Overriding doDML()
  • domain logging
    • controlling / Controlling domain logging
  • domains
    • about / Examining the result
    • ADF domain / Examining the result
    • Enum domain / Examining the result
    • Mediumint domain / Examining the result
    • Set domain / Examining the result
    • Text domain / Examining the result
    • Year domain / Examining the result
  • DVD rental application
    • rental, registering / Registering a rental
    • return, registering / Registering a return

E

  • EAR file
    • building, for application / Building the application EAR file
    • deploying, from command line / Deploying from the command line
  • elements, task flow
    • router / Other elements of task flows
    • task flow call / Other elements of task flows
    • task flow return / Other elements of task flows
  • entity objects
    • about / ADF Business Components
    • building, for example application / Building entity objects for the example application, Preparing to build
    • invalid references, removing from / Removing invalid references from entity objects
  • entity objects, CommonModel workspace
    • creating / Creating the entity objects
  • entity objects, logic
    • about / Logic in entity objects
    • accessors, overriding / Overriding accessors
    • database triggers / Working with database triggers
    • doDML() method, overriding / Overriding doDML()
  • Enum domain
    • about / Examining the result
  • example application
    • starting / Starting the example application
    • entity objects, building for / Building entity objects for the example application, Preparing to build
    • labels, setting / Setting the labels
    • autogenerated values / Autogenerated values
    • data types, cleaning up / Cleaning up the data types
    • associations, cleaning up / Cleaning up the associations
    • DVD rental application / Example application
  • example application, pages
    • customer search page, building / Building the customer search page
    • Return DVD page, building / Building the Return DVD page
    • ADF query panel / An alternative – ADF query panel
    • Rent DVD page, building / Building the Rent DVD page
    • master page, building / Building a master page
    • page, running / Running the page
  • example application, task flow
    • Rent DVD task flow, building / Building the Rent DVD task flow
    • Return DVD task flow, building / Building the Return DVD task flow

F

  • fields
    • mapping / Mapping the fields
  • form-based authentication
    • about / Advanced Shiro, Form-based authentication
    • login page / The login page
    • login bean / The login bean
    • login method / The login method
    • user filter / The user filter
  • framework extension classes
    • about / Building your own foundation
    • creating / Building framework extension classes
    • using / Using framework extension classes
  • framework extension classes, Common Code Workspace
    • re-creating / Recreating the framework extension classes
  • Full ADF
    • about / JDeveloper or Eclipse?
    • ADF Mobile / JDeveloper or Eclipse?
    • ADF Desktop Integration / JDeveloper or Eclipse?
    • ADF Security / JDeveloper or Eclipse?
    • ADF remote taskflows / JDeveloper or Eclipse?
    • MetaData Services / JDeveloper or Eclipse?
  • functionalities, Shiro / Apache Shiro basics

G

  • getSelectedRowKeys() method / Writing the bean code
  • GIT
    • about / Using version control
  • GlassFish
    • about / Installing GlassFish
    • downloading / Installing GlassFish
    • installing / Installing GlassFish, GlassFish installation
    • domain, setting up / Setting up the domain
    • MySQL connector, installing / Installing the MySQL connector in GlassFish
    • DataSource, adding / Adding a DataSource to GlassFish
  • Glassfish
    • automated deployment / Automated deployment to GlassFish
  • GlassFish JVM parameters
    • setting / Setting the GlassFish JVM parameters
  • GlassFish logging
    • about / Logging in GlassFish
    • domain logging, controlling / Controlling domain logging
    • individual loggers, controlling / Controlling individual loggers
  • GlassFish Server Extension
    • installing, in JDeveloper / Installing the GlassFish Server Extension
  • Groovy
    • about / Groovy scripts
  • Groovy scripts
    • about / Groovy scripts

H

  • Hudson
    • URL / Integrating other functionality in your build

I

  • individual loggers
    • controlling / Controlling individual loggers
  • installation
    • MySQL / Installing MySQL
    • JDK 7 / Installing JDK 7
    • ADF Essentials / Installing ADF Essentials
    • JDeveloper / Installing JDeveloper
  • invalid references
    • removing, from entity objects / Removing invalid references from entity objects
  • items, returning
    • transient attribute, creating / Creating a transient attribute
    • new attribute, binding / Binding the new attribute
    • attribute return value, coding / Coding the attribute return value
    • attribute value, using / Using the attribute value
  • iterator / Working with whole datasets

J

  • Java ServerFaces (JSF) / Understanding the ADF lifecycle
  • JDeveloper
    • installing / Installing JDeveloper, JDeveloper installation
    • 11g Release 1 branch / Which JDeveloper?
    • 11g Release 2 branch / Which JDeveloper?
    • downloading / JDeveloper installation
    • MySQL Connector, installing / Installing the MySQL Connector in JDeveloper
    • GlassFish Server Extension, installing / Installing the GlassFish Server Extension
    • GlassFish Server, connecting to / Connecting to the GlassFish server
    • about / Workspaces and projects
    • debugging concepts / Debugging in JDeveloper
    • code, debugging / Debugging code
    • task flows, debugging / Debugging task flows
    • debugging, into ADF libraries / Debugging into ADF libraries
    • debugging, into ADF source code / Debugging into the ADF source code
  • JDeveloper deployment
    • without user interface / Creating the script
  • JDeveloper preferences, Common Code Workspace
    • verifying / Check your JDeveloper preferences
  • JDeveloper shortcuts
    • about / JDeveloper shortcuts
  • JDK 7
    • installing / Installing JDK 7
    • downloading / Installing JDK 7

L

  • <listener> element / Installing the packages in your application
  • labels
    • setting, for example application / Setting the labels
  • log4j / ADF logging
  • Logback / ADF logging
  • logger
    • creating / Creating a logger
  • logging
    • transient loggers / Reading the logs
    • persistent loggers / Reading the logs
  • logging.xml file / Reading the logs
  • logging guidelines
    • example / Adding log statements
  • logic
    • adding, to business components / Adding logic to business components
    • in entity objects / Logic in entity objects
    • in view objects / Logic in view objects
    • in application modules / Logic in application modules
    • adding, to user interface / Adding logic to the user interface
  • logic, in business components
    • about / Adding logic to business components
    • entity objects / Logic in entity objects
    • data validation / Data validation
    • view objects / Logic in view objects
    • application modules / Logic in application modules
  • logic, user interface
    • about / Adding logic to the user interface
    • bean method, adding to bean / Adding a bean method to a button
    • bean, adding to task flow / Adding a bean to a task flow
    • UI components, accessing from beans / Accessing UI components from beans
    • binding layer, accessing / Accessing the binding layer
    • messages, displaying / Showing messages
  • login bean, form-based authentication / The login bean
  • login method, form-based authentication / The login method
  • login page, form-based authentication / The login page
  • log level
    • SEVERE / Adding log statements
    • WARNING / Adding log statements
    • INFO / Adding log statements
    • CONFIG / Adding log statements
    • FINE / Adding log statements
    • FINER / Adding log statements
    • FINEST / Adding log statements
  • logs
    • reading / Reading the logs
  • log statements
    • adding / Adding log statements

M

  • master application
    • building / Building the master application
    • EAR file, building / Building the application EAR file
    • subsystems, building / Building all the subsystems
    • ADF libraries, copying / Copying all ADF libraries
  • master application workspace
    • about / Creating the Master Application Workspace
    • creating / Creating the workspace
    • adding, to source control / Adding to source control
    • ADF library folder, creating / Creating the ADF library folder
    • ADF libraries, adding / Adding the ADF libraries
    • master page, creating / Create the master page
  • Master application workspace
    • finishing / Finishing the Master Application Workspace
  • Master Workspace
    • about / The workspace hierarchy
  • Mediumint domain
    • about / Examining the result
  • memory scopes, task flow
    • about / Memory scopes
    • BackingBean scope / Memory scopes
    • PageFlow scope / Memory scopes
    • Session scope / Memory scopes
  • message tokens
    • about / Declarative validation
  • method validation / Method validation
  • Model-view-controller (MVC) pattern / Accessing the binding layer
  • Model project
    • about / Workspaces and projects
  • MySQL
    • download link / Installing MySQL
  • MySQL connector
    • installing, in GlassFish / Installing the MySQL connector in GlassFish
    • installing, in JDeveloper / Installing the MySQL Connector in JDeveloper
  • MySQL installation
    • performing / Installing MySQL, MySQL installation
    • server configuration / Configuring
    • MySQL options, changing / Changing MySQL options
    • MySQL Workbench, starting / Does it work?
    • data, modifying / Modifying some data

O

  • operations
    • working with / Working with operations
  • OPSS
    • about / Installing the packages in your application
  • Oracle Diagnostics Logging (ODL) / ADF logging

P

  • packages
    • installing, in application / Installing the packages in your application
  • page, bounded task flow
    • about / Pages and fragments
  • page fragment, bounded task flow
    • about / Pages and fragments
  • page fragment, RentDvd subsystem workspace
    • creating / Creating the task flow and page fragment
  • pages
    • building / Building pages
    • building, templates used / Using templates
  • pages, building
    • facet, defining / Facet definitions
    • page fragment template / Page fragment template
    • page template / Page template
    • example application / Example application
  • partial page rendering
    • about / Pages and fragments
  • persistent loggers
    • about / Reading the logs
  • Plain Old Java Objects (POJOs)
    • about / Business service possibilities
  • prepareSession() method / Logic in application modules
  • projects
    • about / Workspaces and projects

R

  • realms
    • about / User database
  • redirectToLogin() method / The user filter
  • registerReturn() method / Writing the bean code
  • regular expression validation / Regular expression validation
  • rental, DVD rental application
    • registering / Registering a rental
  • rental registration, DVD rental application
    • bean, creating / Creating a bean
    • fields, mapping / Mapping the fields
    • bindings, establishing / Establishing bindings
    • code, writing / Writing the code
  • Rentals Page Fragment, ReturnDvd subsystem workspace
    • creating / Creating the Rentals Page Fragment
  • rental view object
    • building / Building the rental view object
  • Rental view object, ReturnDvd subsystem workspace
    • creating / Creating the Rental view object
  • RentDvd subsystem workspace
    • about / Creating the RentDvd subsystem workspace
    • creating / Creating the workspace
    • ADF library, adding / Adding ADF libraries
    • view object, creating / Creating the view object
    • application module, creating / Creating the application module
    • task flow, creating / Creating the task flow and page fragment
    • page fragment, creating / Creating the task flow and page fragment
    • binding, creating / Adding a binding
    • business logic, adding / Adding the business logic
  • Rent DVD task flow
    • building / Building the Rent DVD task flow
  • return, DVD rental application
    • registering / Registering a return
  • return, ReturnDvd subsystem workspace
    • registering / Registering a return
  • ReturnDvd subsystem workspace
    • about / Creating the ReturnDvd subsystem workspace
    • creating / Creating the workspace
    • ADF libraries, adding / Adding ADF libraries
    • Customer view object, creating / Creating the Customer view object
    • rental view object, creating / Creating the Rental view object
    • View Link, creating / Creating a View Link
    • application module, creating / Creating an application module
    • task flow, creating / Creating the task flow
    • Customer Search Page Fragment, creating / Creating the Customer Search Page Fragment
    • Rentals Page Fragment, creating / Creating the Rentals Page Fragment
    • return, registering / Registering a return
  • Return DVD task flow
    • building / Building the Return DVD task flow
  • return registration, DVD rental application
    • column, adding / Adding a column and a button
    • button, adding / Adding a column and a button
    • bean, creating / Creating a bean
    • table, mapping / Mapping the table
    • view object method, creating / Creating a view object method
    • method, publishing / Publishing your method
    • bindings, establishing / Establishing bindings
    • bean code, writing / Writing the bean code

S

  • Set domain
    • about / Examining the result
  • setLastName() method / Overriding accessors
  • setOverdueDayLimit() method / Change view criteria
  • Shiro
    • about / Apache Shiro basics
    • functionalities / Apache Shiro basics
    • URL, for downloading / Getting the software
    • packages, installing in application / Installing the packages in your application
    • application / Configuring your application for Shiro
  • shiro.ini file / The Shiro configuration
  • Shiro configuration / The Shiro configuration
  • Shiro INI configuration file / Configuring your application for Shiro
  • Shiro security
    • using, in application / Installing the packages in your application
  • SLF4J
    • about / Getting the software
    • URL / Getting the software
  • source control
    • adding, to master application workspace / Adding to source control
    • adding, to Common Code Workspace / Adding to source control
    • adding, to CommonUI workspace / Adding to source control
    • adding, to CommonModel workspace / Adding to source control and creating the ADF library
  • SQL injection / Building the customer view object
  • SQL statements
    • logging / Reading the logs
  • storyboard / The storyboard
  • Subsystem Workspaces
    • about / The workspace hierarchy
  • superfluous associations
    • deleting / Deleting superfluous associations

T

  • table
    • mapping / Mapping the table
  • task flow
    • bean, adding to / Adding a bean to a task flow
  • task flow, RentDvd subsystem workspace
    • creating / Creating the task flow and page fragment
  • task flow, ReturnDvd subsystem workspace
    • creating / Creating the task flow
  • task flows
    • building / Building task flows
    • unbounded task flow / Bounded and unbounded task flows
    • bounded task flow / Bounded and unbounded task flows
    • pages / Pages and fragments
    • page fragment / Pages and fragments
    • task flow templates / Task flow templates
    • example application / Example application
    • memory scopes / Memory scopes
    • elements / Other elements of task flows
    • debugging / Debugging task flows
    • securing / Securing task flows
  • task flow template, CommonUI workspace
    • creating / Creating the templates
  • task flow templates
    • about / Task flow templates
    • building / Task flow templates
  • Text domain
    • about / Examining the result
  • transient attribute / Creating a transient attribute
  • transient loggers
    • about / Reading the logs

U

  • UI components
    • accessing, from beans / Accessing UI components from beans
  • unbounded task flow
    • about / Bounded and unbounded task flows
  • undeploy command / Deploying from the command line
  • user, Advanced Shiro
    • accessing / Accessing the user
  • user database, Advanced Shiro / User database
  • user filter, form-based authentication / The user filter

V

  • version control
    • using / Using version control
    • outside JDeveloper / Working with ADF libraries
  • View Criteria
    • about / ADF Business Components
  • view criteria
    • modifying / Change view criteria
  • view criterion
    • about / Creating the Customer view object
  • view link
    • creating / Creating a view link
  • View Link, ReturnDvd subsystem workspace
    • creating / Creating a View Link
  • View Links
    • about / ADF Business Components
  • view object, RentDvd subsystem workspace
    • creating / Creating the view object
  • view object method
    • creating / Creating a view object method
  • View Objects
    • about / ADF Business Components
  • view objects
    • building / Building view objects
    • storyboard / The storyboard
    • customer view object, building / Building the customer view object
    • rental view object, building / Building the rental view object
    • view link, creating / Creating a view link
  • view objects, logic
    • about / Logic in view objects
    • accessors, overriding / Overriding accessors
    • view criteria, modifying / Change view criteria
  • View project
    • about / Workspaces and projects

W

  • WebLogic
    • setting up, for MySQL / Setting up WebLogic for MySQL
    • DataSource, adding to / Adding a DataSource to WebLogic
  • whole data sets
    • working with / Working with whole datasets
  • workspace
    • about / Workspaces and projects
  • workspace hierarchy
    • about / The workspace hierarchy
  • wrong associations
    • fixing / Fixing wrong associations

Y

  • Year domain
    • about / Examining the result