Oracle JDeveloper 11gR2 Cookbook

Using JDeveloper to build ADF applications is a lot more straightforward when you learn through practical recipes. This book has over 85 of them to take you beyond the basics and raise your knowledge to a new level.

Oracle JDeveloper 11gR2 Cookbook

Cookbook
Nick Haralabidis

Using JDeveloper to build ADF applications is a lot more straightforward when you learn through practical recipes. This book has over 85 of them to take you beyond the basics and raise your knowledge to a new level.
$38.99
$64.99
RRP $38.99
RRP $64.99
eBook
Print + eBook
$12.99 p/month

Get Access

Get Unlimited Access to every Packt eBook and Video course

Enjoy full and instant access to over 3000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849684767
Paperback406 pages

About This Book

  • Encounter a myriad of ADF tasks to help you enhance the practical application of JDeveloper 11gR2
  • Get to grips with deploying, debugging, testing, profiling and optimizing Fusion Web ADF Applications with JDeveloper 11gR2 in this book and e-book
  • A high level development cookbook with immediately applicable recipes for extending your practical knowledge of building ADF applications

Bonus Chapter

Who This Book Is For

If you are a JavaEE developer who wants to go beyond the basics of building ADF applications with Oracle JDeveloper 11gR2 and get hands on with practical recipes, this book is for you.

You should be comfortable with general Java development principles, the JDeveloper IDE, and ADF basics.

Table of Contents

Chapter 1: Prerequisites to Success: ADF Project Setup and Foundations
Introduction
Installation of JDeveloper on Linux
Breaking up the application in multiple workspaces
Setting up BC base classes
Setting up logging
Using a custom exception class
Using ADFUtils/JSFUtils
Using page templates
Using a generic backing bean actions framework
Chapter 2: Dealing with Basics: Entity Objects
Introduction
Using a custom property to populate a sequence attribute
Overriding doDML() to populate an attribute with a gapless sequence
Creating and applying property sets
Using getPostedAttribute() to determine the posted attribute's value
Overriding remove() to delete associated children entities
Overriding remove() to delete a parent entity in an association
Using a method validator based on a view object accessor
Using Groovy expressions to resolve validation error message tokens
Using doDML() to enforce a detail record for a new master record
Chapter 3: A Different Point of View: View Object Techniques
Introduction
Iterating a view object using a secondary rowset iterator
Setting default values for view row attributes
Controlling the updatability of view object attributes programmatically
Setting the Queryable property of a view object attribute programmatically
Using a transient attribute to indicate a new view object row
Conditionally inserting new rows at the end of the rowset
Using findAndSetCurrentRowByKey() to set the view object currency
Restoring the current row after a transaction rollback
Dynamically changing the WHERE clause of the view object query
Removing a row from a rowset without deleting it from the database
Chapter 4: Important Contributors: List of Values, Bind Variables, View Criteria
Introduction
Setting up multiple LOVs using a switcher attribute
Setting up cascading LOVs
Creating static LOVs
Overriding bindParametersForCollection() to set a view object bind variable
Creating view criteria programmatically
Clearing the values of bind variables associated with the view criteria
Searching case insensitively using view criteria
Chapter 5: Putting them all together: Application Modules
Introduction
Creating and using generic extension interfaces
Exposing a custom method as a web service
Accessing a service interface method from another application module
A passivation/activation framework for custom session-specific data
Displaying application module pool statistics
Using a shared application module for static lookup data
Using a custom database transaction
Chapter 6: Go with the Flow: Task Flows
Introduction
Using an application module function to initialize a page
Using a task flow initializer to initialize a task flow
Calling a task flow as a URL programmatically
Retrieving the task flow definition programmatically using MetadataService
Creating a train
Chapter 7: Face Value: ADF Faces, JSF Pages, and User Interface Components
Introduction
Using an af:query component to construct a search page
Using an af:pop-up component to edit a table row
Using an af:tree component
Using an af:selectManyShuttle component
Using an af:carousel component
Using an af:poll component to periodically refresh a table
Using page templates for pop-up reuse
Exporting data to a client file
Chapter 8: Backing not Baking: Bean Recipes
Introduction
Determining whether the current transaction has pending changes
Using a custom af:table selection listener
Using a custom af:query listener to allow execution of a custom application module operation
Using a custom af:query operation listener to clear both the query criteria and results
Using a session scope bean to preserve session-wide information
Using an af:popup during long running tasks
Using an af:popup to handle pending changes
Using an af:iterator to add pagination support to a collection
Chapter 9: Handling Security, Session Timeouts, Exceptions, and Errors
Introduction
Enabling ADF security
Using a custom login page
Accessing the application's security information
Using OPSS to retrieve the authenticated user's profile from the identity store
Detecting and handling session timeouts
Using a custom error handler to customize how exceptions are reported to the ViewController
Customizing the error message details
Overriding attribute validation exceptions
Chapter 10: Deploying ADF Applications
Introduction
Configuring and using the Standalone WebLogic Server
Deploying on the Standalone WebLogic Server
Using ojdeploy to automate the build process
Using Hudson as a continuous integration framework
Chapter 11: Refactoring, Debugging, Profiling, and Testing
Introduction
Synchronizing business components with database changes
Refactoring ADF components
Configuring and using remote debugging
Logging Groovy expressions
Dynamically configuring logging in WebLogic Server
Performing log analysis
Using CPU profiler for an application running on a standalone WebLogic server
Configuring and using JUnit for unit testing
Chapter 12: Optimizing, Fine-tuning, and Monitoring
Introduction
Using Update Batching for entity objects
Limiting the rows fetched by a view object
Limiting large view object query result sets
Limiting large view object query result sets by using required view criteria
Using a work manager for processing of long running tasks
Monitoring the application using JRockit Mission Control

What You Will Learn

  • Get quickly up and running by downloading, installing and optimizing JDeveloper on Linux
  • Absorb the foundational techniques presented for laying out the Fusion Web ADF Application during the application architectural phases
  • Get to grips with using custom properties and property sets for generic programming and overriding doDML() to populate sequence attributes
  • Work with View objects, List-of-Values, Bind Variables and View Criteria
  • Handle security, exceptions, logging and session timeouts
  • Create and use generic extension interfaces, service-enabling Application Modules and shared Applications Modules
  • Go further with ADF Faces techniques like using custom listeners for query panel operations and programmatically executing operation bindings
  • Master Task Flow techniques such as using a Method Call activity to initialize a page and using Task Flow Initializers

 

In Detail

Oracle’s Application Development Framework (ADF) for Fusion Web Applications leverages Java EE best practices and proven design patterns to simplify constructing complex web solutions with JDeveloper, and this hands-on, task-based cookbook enables you to realize those complex, enterprise-scale applications. With the help of real-world implementations, practical recipes cover everything from design and construction, to deployment, testing, debugging and optimization.

This practical, task-based cookbook takes you, the ADF developer, on a practical journey for building Fusion Web Applications. By implementing a range of real world use cases, you will gain invaluable and applicable knowledge for utilizing the ADF framework with JDeveloper 11gR2.

“Oracle JDeveloper 11gR2 Cookbook” is a task-based guide to the complete lifecycle of Fusion Web Application development using Oracle JDeveloper 11gR2 and ADF.

You will get quickly up and running with concepts like setting up Application Workspaces and Projects, before delving into specific Business Components such as Entity Objects, View Objects, Application Modules and more. Along the way you will encounter even more practical recipes about ADF Faces UI components and Backing Beans, and the book rounds off by covering security, session timeouts and exceptions.

With “Oracle JDeveloper 11gR2 Cookbook” in hand you will be equipped with the practical knowledge of a range of ready to use implementation cases which can be applied to your own Fusion Web ADF Applications.

Authors

Table of Contents

Chapter 1: Prerequisites to Success: ADF Project Setup and Foundations
Introduction
Installation of JDeveloper on Linux
Breaking up the application in multiple workspaces
Setting up BC base classes
Setting up logging
Using a custom exception class
Using ADFUtils/JSFUtils
Using page templates
Using a generic backing bean actions framework
Chapter 2: Dealing with Basics: Entity Objects
Introduction
Using a custom property to populate a sequence attribute
Overriding doDML() to populate an attribute with a gapless sequence
Creating and applying property sets
Using getPostedAttribute() to determine the posted attribute's value
Overriding remove() to delete associated children entities
Overriding remove() to delete a parent entity in an association
Using a method validator based on a view object accessor
Using Groovy expressions to resolve validation error message tokens
Using doDML() to enforce a detail record for a new master record
Chapter 3: A Different Point of View: View Object Techniques
Introduction
Iterating a view object using a secondary rowset iterator
Setting default values for view row attributes
Controlling the updatability of view object attributes programmatically
Setting the Queryable property of a view object attribute programmatically
Using a transient attribute to indicate a new view object row
Conditionally inserting new rows at the end of the rowset
Using findAndSetCurrentRowByKey() to set the view object currency
Restoring the current row after a transaction rollback
Dynamically changing the WHERE clause of the view object query
Removing a row from a rowset without deleting it from the database
Chapter 4: Important Contributors: List of Values, Bind Variables, View Criteria
Introduction
Setting up multiple LOVs using a switcher attribute
Setting up cascading LOVs
Creating static LOVs
Overriding bindParametersForCollection() to set a view object bind variable
Creating view criteria programmatically
Clearing the values of bind variables associated with the view criteria
Searching case insensitively using view criteria
Chapter 5: Putting them all together: Application Modules
Introduction
Creating and using generic extension interfaces
Exposing a custom method as a web service
Accessing a service interface method from another application module
A passivation/activation framework for custom session-specific data
Displaying application module pool statistics
Using a shared application module for static lookup data
Using a custom database transaction
Chapter 6: Go with the Flow: Task Flows
Introduction
Using an application module function to initialize a page
Using a task flow initializer to initialize a task flow
Calling a task flow as a URL programmatically
Retrieving the task flow definition programmatically using MetadataService
Creating a train
Chapter 7: Face Value: ADF Faces, JSF Pages, and User Interface Components
Introduction
Using an af:query component to construct a search page
Using an af:pop-up component to edit a table row
Using an af:tree component
Using an af:selectManyShuttle component
Using an af:carousel component
Using an af:poll component to periodically refresh a table
Using page templates for pop-up reuse
Exporting data to a client file
Chapter 8: Backing not Baking: Bean Recipes
Introduction
Determining whether the current transaction has pending changes
Using a custom af:table selection listener
Using a custom af:query listener to allow execution of a custom application module operation
Using a custom af:query operation listener to clear both the query criteria and results
Using a session scope bean to preserve session-wide information
Using an af:popup during long running tasks
Using an af:popup to handle pending changes
Using an af:iterator to add pagination support to a collection
Chapter 9: Handling Security, Session Timeouts, Exceptions, and Errors
Introduction
Enabling ADF security
Using a custom login page
Accessing the application's security information
Using OPSS to retrieve the authenticated user's profile from the identity store
Detecting and handling session timeouts
Using a custom error handler to customize how exceptions are reported to the ViewController
Customizing the error message details
Overriding attribute validation exceptions
Chapter 10: Deploying ADF Applications
Introduction
Configuring and using the Standalone WebLogic Server
Deploying on the Standalone WebLogic Server
Using ojdeploy to automate the build process
Using Hudson as a continuous integration framework
Chapter 11: Refactoring, Debugging, Profiling, and Testing
Introduction
Synchronizing business components with database changes
Refactoring ADF components
Configuring and using remote debugging
Logging Groovy expressions
Dynamically configuring logging in WebLogic Server
Performing log analysis
Using CPU profiler for an application running on a standalone WebLogic server
Configuring and using JUnit for unit testing
Chapter 12: Optimizing, Fine-tuning, and Monitoring
Introduction
Using Update Batching for entity objects
Limiting the rows fetched by a view object
Limiting large view object query result sets
Limiting large view object query result sets by using required view criteria
Using a work manager for processing of long running tasks
Monitoring the application using JRockit Mission Control

Book Details

ISBN 139781849684767
Paperback406 pages
Read More