ADF Exam Topics

Oracle Application Development Framework Certified Implementation Specialist Exam Topics 
 (from http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=442)


I.Introduction to Fusion and ADF
  • Describe Fusion Architecture
  • Explain how ADF fits into the Fusion architecture
  • Describe the ADF technology stack (MVC)
  • Identify sources of additional information about ADF and ADF Business Components

II.Getting Started with JDeveloper
  • Describe benefits that JDeveloper provides for application development
  • Utilize common IDE mechanisms when developing and testing components
  • Set IDE preferences based on user requirements
  • Initiate the creation of empty applications, projects, and connections in JDeveloper

III.Building a Data Model with ADF Business Components
  • Describe the role of ADF Business Components in building a business service
  • Explain the architecture of ADF BC
  • Identify the types of components that cooperate to provide the business service implementation
  • Explain how ADF BC components are used in a Web Application

IV.Querying and Persisting Data
  • Describe the characteristics of an ADF BC view object
  • Create a view object that can be used for performing a query in a Web application
  • Define a SQL statement on which to base a query for a view object
  • Explain how entity objects relate to database tables
  • Describe the persistence mechanism of entity objects
  • Use the Create Entity Object wizard to generate entity objects from database tables
  • Create associations between entity objects to represent business relationships
  • Create updatable view objects based on entity objects
  • Link view objects to one another in a master-detail hierarchy
  • Refactor objects in an application

V.Exposing Data to Clients
  • Explain the role of application modules
  • Describe the characteristics of application modules
  • Use the Create Application Module wizard to define the data model for an application module
  • Explain how application modules can manage business components transactions
  • Explain how application modules can manage application state
  • Explain the role of the ADF Model

VI.Declaratively Customizing Data Services
  • Declaratively change data behaviour
  • Declaratively modify the default behavior of view objects, entity objects, and application modules
  • Define a view accessor for a list of values(LOV)
  • Define a list of values (LOV) for an attribute

VII.Programmatically Customizing Data Services
  • Generate Java classes for business components to modify default behavior programmatically
  • Override class methods to change or augment default behavior
  • Modify the WHERE clause of a view object at run time
  • Explain the benefits of adding service methods at the application module level (rather than at the view level)
  • Create a test client for testing your custom code
  • Modify a view object's client code to add a new employee to the employees view object

VIII.Validating User Input
  • Describe the types of validation available for ADF applications
  • Evaluate which validation options are appropriate for different validations
  • Add declarative validation for an entity object
  • Identify the other non-declarative validation options and when they might be used Describe the benefits of using domains for validation

IX.Troubleshooting ADF BC Applications
  • Identify the JDeveloper tools for logging and diagnostics
  • Use Java code auditing tools
  • Make use of FileMon and Junit to debug an application
  • Use the JDeveloper profiler
  • Use the JDeveloper debugger
  • Identify sources of Help

X.Understanding UI Technologies
  • Describe the use of Web browsers and HTML
  • Explain how Java has come into widespread use as a language for developing Web applications
  • Describe the function of Servlets and JSPs
  • Define JavaServer Faces
  • Explain the JSF component architecture
  • Explain some JSF component types included in the standard implementation
  • Describe the purpose of backing beans
  • Describe the JSF life cycle
  • Explain how ADF Faces augments the JSF life cycle

XI.Binding UI Components to Data
  • Create an empty JSF page
  • Use three different ways to add ADF Faces UI components to a page
  • Describe the types of data-bound components that can be added to a JSF page 
  • Describe the structure of an EL (Expression Language) expression

XII.Planning the User Interface
  • Describe the Model-View-Controller design pattern
  • Differentiate between bounded and unbounded task flows
  • Create task flows to define control flow in an application
  • Specify control flow rules
  • Define global navigation
  • Use routers to declaratively route control flow to activities based on an EL expression
  • Define the role of managed beans in task flows
  • Explain the types of validation available in the user interface

XIII.Adding Functionality to Pages
  • Internationalize the user interface so that the application can be used in multiple locales
  • Use component facets to specify subordinate elements such as toolbars, headers and footers
  • Implement a list of values (LOV) to enable users to select a value from a list
  • Add a calendar component to an input date field to make it easy for users to select a date
  • Use the table component to display structured data as a formatted table
  • Employ the tree component to display hierarchical data
  • Add icons and images to an application with ADF Faces output components
  • Create Search forms using the ADF query component
  • Use ADF Data Visualization components to add charts, graphs, map etc to your JSF pages

XIV.Implementing Navigation on Pages
  • Implement command buttons and links
  • Create menus - Menu bar
  • Create menus - Popup
  • Create menus - Context
  • Use a navigation page
  • Use breadcrumbs
  • Create trains

XV.Achieving the Required Layout
  • Build complex page layouts with layout components
  • Explain the role of ADF Faces skins

XVI.Ensuring Reusability
  • Identify the benefits of reusing components
  • Create a resource catalog to enable sharing of resources within and across teams and applications
  • Create ADF libraries to share components within and across teams and applications
  • Create a task flow template for reuse across different bounded task flows
  • Create a page template for reuse across the JSF pages in an application to enable a consistent look and feel
  • Create a declarative component for reuse in different pages of an application
  • Create a page fragment to use in multiple pages of the application
  • Employ a bounded task flow as a region in a JSF page

XVII.Passing Values between UI Elements
  • Evaluate whether the data model contains opportunities to reduce the need for passing values between pages
  • Use a managed bean to pass values between JSF pages
  • Store values in memory-scoped attributes to hold and pass information between pages and life cycle phases
  • Use parameters to pass information to different parts of the application

XVIII.Responding to Application Events
  • Configure managed beans to contain code to respond to events
  • Explain the different types of events
  • Use phase listeners to listen for and respond to events
  • Explain the role of an event listener
  • Use action listeners
  • Describe the sequence in which events and listeners are executed
  • Describe the features of JDeveloper that support ADF Faces enhanced event handling Identify the server events fired by ADF Faces components
  • Use the contextual events framework to co-ordinate regions on a JSF page

XIX.Implementing Transactional Capabilities
  • Explain ADF BC transaction handling
  • Enable an ADF bounded task flow to run as a transaction
  • Manage transaction exceptions on ADF bounded or unbounded task flows
  • Define the response to the browser's Back button (for an ADF task flow that was already exited)
  • Implement Save for Later functionality

XX.Implementing Security in ADF BC Applications
  • Explain the need to secure applications
  • Describe security aspects of an ADF BC application
  • Add ADF Security Authentication to an application
  • Add ADF Security Authorization to an application
  • Use two approaches for granting users access to resources
  • Prevent unauthorised access to the ADF BC Model
  • Explain the types of application authentication at run time
  • Use Expression Language to extend the default security capabilities of the framework

XXI.Explore the Project Structure and Core File Architecture
  • Define File Structure of a Project
  • Examine how Metadata files are used to specify paramters, methods, and return values to a data control
  • Define ADF Data Control and Databinding Files
  • Explore the ADF Faces and Web Configuration Files to know where task flows, pages and code are created Define Hierarchical Relationship of the XML Metadata files in a Web Application

XXII.Extend the ADF Business Components Framework
  • Examine some general considerations when using ADF Business Components
  • Extend the ADF Business Components (ADF BC) Framework to customize your application
  • Override the standard way data is committed to the database using a PL/SQL procedure
  • Design ADF Business comonents to avoid database contraint

XXIII.Use ADF Business Components for Validation, Calculations and List of Values
  • Build Cascading List of Values
  • Enhance the Application with Calculations and Validation
  • Create Validation for Foreign Keys
  • Employ Groovy Expressions in Validations

XXIV.Use Inheritance in the Business Domain Layer
  • Reuse existing Bussiness Component designs by extending components
  • Implement Supertype/Subtype designs using Entity Objects
  • Create View Objects to access more than one table

XXV.ADF as a part of a Service Oriented Architecture
  • Expose ADF Business Components as SDO for use in a SOA Process (BPEL)
  • Create Rich User Interfaces that access data from a composite application
  • Create events for ADF Business Components to trigger Enterprise Service Bus
  • Use Service Data Objects to access heterogeneous data in a uniform way

XXVI.Implement Data Binding Controls
  • Define and Recognize ADF Model binding types
  • Define ADF Model executables and how to use them
  • Customize data-bound components within the page definition file to support application requirements
  • Use Expression Language to connect page items to model components
  • Determine how model components get transformed into Data Control Palette items

XXVII.Practical Data Binding in Action
  • Describe data binding in relation with the JavaServer Faces (JSF) page life cycle
  • Define listeners and custom controllers to augment the ADF life cycle
  • Explain how the Application Development Framework (ADF) life cycle works

XXVIII.Work with Managed Beans and JavaServer Faces
  • Define key JavaServer Faces (JSF) terms
  • Describe the JSF Architecture with Application Development Framework(ADF)
  • Differentiate between Managed and Backing Beans
  • In a JSF page, create and reference a Managed Bean to perform a custom method
  • Set and use Managed Properties to store and retrieve user login information
  • Use context object classes to access application messages, work with the Servlet API or ADF specific funcationality

XXIX.ADF Faces Advanced Features
  • Examine AJAX and ADF
  • Employ Partial Page Rendering (PPR) on a JSF Page
  • Enhance a page by creating input and output items using ADF Components
  • Use page, panel and splitter componentss to design and build a JSF page
  • Develop UI shell templates to incorporate company standard behaviours, look and feel
  • Display numerical data using Data Visualization components and Active Data Services

XXX.Integrate with WebCenter
  • Allow end users to perform runtime customization to their application pages
  • Integrate ADF pages with Content Management systems to access file systems
  • Add Web Center Services, like social networking and collaboration, to JSF/ADF pages
  • Add reusable Portlets that provide dynamic view of data, into a JSF/ADF page

XXXI.Customize the Application Look and Feel with Skins
  • Use Firebug and Mozilla Developer Toolbar to build skins
  • Explain how skin selectors work
  • Build instance specific skins
  • Develop a managed bean to change skin at runtime