(Click Category to List Courses)
51 - LONG - Long-Term Programs
LONG 531 - Oracle JDeveloper course (4 Weeks)
Course Description
This special program is an opportunity for the participants to update their knowledge in three main topics:
First part is aimed at developers to build Java EE applications using Oracle ADF. Learn to use Oracle JDeveloper 11g Release 1 Patch Set 1 to build, test and deploy an end-to-end web application.
Second part is aimed at web developers to apply more advanced techniques and comprehensive functionality to their applications using Oracle ADF. This part covers topics that are beyond the scope of Oracle Fusion Middleware 11g: Build Applications with ADF I, but this second-level ADF part assumes that participants are already familiar with the 11g techniques covered by the first part.
Third part is designed for Java EE developers to build web applications based on a JPA/EJB data model.
Course Objectives
- Expose the data model in a web application with a rich ADF Faces user interface
- Create JSF pages
- Build and customize a data model by using ADF Business Components
- Extend Business Components to support company standards
- Provide validation, calculations and LOVs
- Dissect and employ essential databinding components
- Enhance an application with Active Data Service and ADF visualization components
- Customize the look-and-feel of an application by using skins
- Build the Web tier by using the JavaServer Faces (JSF) framework
- Incorporate ADF Faces components and task flows into the web application
- Deploy and troubleshoot the application
Who Should Attend?
- Programmers
- Application Developers
- Data Warehouse Administrator
- Forms Developer
PROGRAM TOPICS
Introduction to Fusion and ADF
- Describing Fusion architecture
- Explaining how ADF fits into the Fusion architecture
- Describing the ADF technology stack (MVC)
Getting Started with JDeveloper
- Listing JDeveloper benefits for application development
- Using the features of the JDeveloper IDE
- Defining IDE preferences
- Creating applications, projects, and connections in JDeveloper
Building a Data Model with ADF Business Components
- Introducing ADF Business Components
- Creating Business Components from tables
- Testing the data model
Querying and Persisting Data
- Using view objects
- Using entity objects to persist data
- Synchronizing entity objects with database table changes
- Creating associations
- Creating updateable view objects
- Creating master-detail relationships
- Refactoring
Exposing Data
- Creating application modules
- Using master-detail view objects in application modules
- Managing Business Components transactions
- Abstracting business services with ADF Model
Declaratively Customizing Data Services
- Internationalizing the data model
- Editing business components
- Modifying default behavior of entity objects
- Changing the locking behavior of an application module
Programmatically Customizing Data Services
- Generating Java classes
- Programmatically modifying the behavior of entity objects
- Programmatically modifying the behavior of view objects
- Adding service methods to an application module
- Using client APIs
Validating User Input
- Understanding validation options: Database, Data Model, or UI
- Triggering validation execution
- Handling validation errors
- Using Groovy expressions in validation
- Using programmatic validation
Troubleshooting ADF BC Applications
- Troubleshooting the business service
- Troubleshooting the UI
- Using logging and diagnostics
- Using the JDeveloper debugger
Understanding UI Technologies
- Describing the use of Web browsers and HTML
- Describing the function of Servlets and JSPs
- Defining JavaServer Faces
- Explaining the JSF component architecture and JSF component types
- Explaining the purpose of backing beans and managed beans
- Describing the JSF life cycle
- Explaining how ADF Faces augments the JSF life cycle
Binding UI Components to Data
- Creating a JSF page
- Adding UI components to a page
- Describing the ADF Model layer
- Using Expression Language in data bindings
- Using a Page Definition file
- Examining data binding objects and metadata files
- Binding existing components to data
- Running and testing the page
Planning the User Interface
- Describing the Model-View-Controller design pattern
- Differentiating between bounded and unbounded task flows
- Creating and converting task flows
- Defining control flows
- Defining global navigation
- Creating routers for conditional navigation
- Calling methods and other task flows
- Implementing validation in the user interface
Adding Functionality to Pages
- Internationalizing the user interface
- Using component facets
- Displaying tabular data in tables
- Displaying hierarchical data in trees
- Displaying text or media with icons and images
- Defining search forms and display results
- Displaying data graphically
Implementing Navigation on Pages
- Using ADF Faces navigation components
- Using buttons and links
- Using menus for navigation
- Using breadcrumbs
- Using a train component
Achieving the Required Layout
- Using complex layout components
- Explaining how to use ADF Faces skins
- Using dynamic page layout
Ensuring Reusability
- Designing for reuse
- Using task flow templates
- Creating and using page templates
- Creating and using declarative components
- Creating and using page fragments
- Deciding which type of reusable component to use
Passing Values Between UI Elements
- Defining the data model to reduce the need to pass values
- Using a managed bean to hold values
- Using page parameters
- Using task flow parameters
- Passing values from containing pages to regions
Responding to Application Events
- Using managed beans
- Coordinating JSF and ADF lifecycles
- Using phase and event listeners
- Using action listeners and methods
- Understanding additional AJAX events
Implementing Transactional Capabilities
- Handling transactions with ADF BC
- Using task flows to control transactions
- Sharing data controls
- Handling transaction exceptions
- Defining response to the Back button
Implementing Security in ADF BC Applications
- Exploring ADF Application security options
- Understanding ADF security framework
- Enabling users to access resources
- Implementing a Login page
- Understanding ADF controller authorization
- Using Expression Language to extend security capabilities
Explore the Project Structure and Core File Architecture
- Defining File Structure of a Project
- Examining Metadata Structure
- Understand about Page Definition Files
- Defining ADF Data Control and Data Binding Files
- Exploring Connections
- Exploring ADF Faces and Web Configuration files
Extend the ADF Business Components Framework
- Examining general considerations when using ADF Business Components
- Understanding Framework Classes and Framework Hierarchy
- About PL/SQL in Business Components
- DML and Database Views
- DB Constraints, Compositions and Associations
- Transactions with Compositions and Associations
- Trigger assigned PK
- Many-to Many relationships and Auditing
Use ADF Business Components for Validation, Calculations and List of Values
- LOV View Objects
- List Data Source
- View Accessors
- Transient Attribute
- FK, Compare and Script Validations
- Groovy code
- View Criterias
- Registering Business Rules
Use Inheritance in the Business Domain Layer
- Implementing Inheritance
- Domain Layer
- Discriminators
- Supertype/Subtype
- Understanding Polymorphic Entity Usage
- Creating Polymorphic View Rows
- About Dynamic Rendering
ADF as part of a Service Oriented Architecture
- BPEL
- SCA
- Human Work Flow
- B2B Adaptor
- Service Data Objects
- Mediator Service
- WSDL
Implement Data Binding Concepts
- JSR-227 Data Controls and Bindings
- Understanding ADF Model
- Method, Accessor and Variable Iterators
- Value and Action Bindings
- DataBindings.cpx file
- Synchronization
- Data Control
- Named Bind Variables
Practical Data Binding in Action
- JSF & Data Model
- ADFm Life Cycle
- Custom Controllers
- Customizing ADF Page Lifecycle
- Custom Listeners
- Conditional Values
- Google-Style Query
Work with Managed Beans and JavaServer Faces
- Expression Language
- Understanding JSF Architecture and Life Cycle
- About Component Model and Navigation Model
- Managed Properties
- JSF Value Binding
- Backing Beans
- Context Objects
ADF Faces Advanced Features
- JSR-127 JSF Components
- AJAX & Partial Page Rendering
- PRP Attributes: partialSubmit, autoSubmit, partialTriggers
- Runtime Layout
- Page-Level Actions
- Printable pages
- Boolean Checkbox
- Graphs and Charts
Integrate with WebCenter
- Runtime Customization
- Content Management
- Portlets
- WebCenter Sevices
- Composer
- MDS
- WebCenter Spaces
Customize the Application Look and Feel with Skins
- Using CSS
- Skinning architecture
- Skin Configuration
- Skin Selectors
- Skin Development by example
- Instance-specific component skins
- Skin inheritance
Java EE Fundamentals
- Java EE Overview
- Java EE Components
- Client tier components
- WebLogic Server
Designing Java EE Applications
- Java EE design patterns
- MVC Architecture
- Configuring Data Sources
- Creating, Modifying, and Deleting a Data Source in WebLogic Server Console
Exploring the JDeveloper IDE
- Navigators
- Code editor
- Code Assist
- Code Templates
- Debugger
Examining the EJB Model
- Session Beans
- Stateless and Stateful Session Beans
- Local and Remote Interfaces
- What are JPA Entities?
- Managing Persistance of Entities
- JNDI
- Manipulating Data with the EntityManager API
- Using test clients
Asynchronous Communication with Message-Driven Beans
- Java Message Services (JMS)
- Creating a Message-Driven Bean
- Working with Interceptor Methods and Classes
- Creating a JMS/MDB Client
Managing Transactions with Session and Message-Driven Beans
- Selecting the Type of Transaction Management
- Demarcating Transactions
- Managing Transactions using a Session Façade
- Setting the Transaction Attribute
- Propagating Transactions
- Configuring the Transaction Manager in WebLogic Server
Developing a Web Application Using Servlets
- Servlet LifeCycle
- Servlet Methods
- Transaction Handling
- Data Sources
Developing a Web application Using JavaServer Pages
- Business logic versus presentation logic
- JSP Lifecycle
- Basic JSP elements
- JSP and JavaBeans
- JSP fragments
Designing the Web Tier Using JSF
- Configuration of a JSF application
- faces-config.xml
- JSF Lifecycle
- UI Component Model
- Validator and Converter Overview
- Using JSF components
- Using Expression Language
- Using managed beans
Developing JSF Pages using ADF Faces
- Compare ADF Faces components to JSF base components
- Layout your page
- Input components
- List components
- Dates
- Table and tree components
- Output components
- Query components
- Enriching Applications using ADF Faces
- Operation Components
- Partial Page Refresh
- ADF Faces JavaScript API
- Data Visualization Components
- ADF Binding to ADF Faces RC
ADF Data Binding: A Deeper Dive
- ADF Model binding
- Page definition file
- Binding Types
- Data control and EJB
- JDBC
Mastering Task Flows
- Compare JSF Controller and ADFc basics
- ADF Controller
- Transactions
- Navigation Components
- Task Flows
- Exceptions
- Trains
Navigation and Other Operations in JSF
- Navigation Components: buttons, links
- Access Keys
- Menus
- breadcrumbs
- Operational components
Responding to Events
- JSF Lifecycle and Events
- Event Types
- ADF Faces Event Handling
- Validation and Exceptions
- Listeners
- Contextual Events
Securing Java EE Applications
- What is JAAS?
- Working with Security Annotations
- Configuring Web Application Security
- Managing EJB Component Security
- Controlling Client Access to EJB Components
- Working with a Directory Server
Implementing Security in ADF Applications
- ADF Security Framework
- LDAP
- OID
- XML-based
- Form-Based Authentication
- Identity Store
- Implicit and Explicit Authentication
Packaging and Deploying Java EE Applications
- Packaging Business-Tier Components
- The EJB-JAR file contents
- The Persistence Archive (Persistence.xml file) contents
- WebLogic Server Deployment Descriptor
- Packaging Data Sources used by an Application (application.xml)
- Creating a JDeveloper deployment profile
- Deploying an Application using JDeveloper and WebLogic Server Console
- Creating an EAR File using Command Line Tools
Troubleshooting the Application
- Test harnesses
- Java logging and Diagnostics
- Debugging
- Requesting help