This page contains recorded sessions that will help you get up to speed with Oracle ADF. The Oracle ADF Insider Basics series gives you introduction to the core functionality of Oracle ADF and the various layers of the framework. ADF Insider Essentials demonstrates essential skills, tips and techniques required for building ADF applications. The Oracle ADF Insider series covers advanced topics and techniques with Oracle Application Development Framework. Check back regularly for updates by experts, for experts.
Introduction to Oracle ADF Learn what Oracle ADF is all about, understand how ADF fits into the Oracle Fusion architecture, what solutions does it offer, and how it simplifies application development.
Introduction to Oracle ADF Business Components Oracle ADF Business Components offer a simple way to create reusable business services that interact with your relational database. Learn about the architecture and features that are provided by Oracle ADF Business Components.
Introduction to Oracle ADF Faces Components Oracle ADF Faces offers a set of rich Ajax enabled components that simplify the creation of Web user interfaces. Get an overview of the various components and the built-in capabilities of the Oracle ADF Faces framework.
Introduction to Oracle ADF Mobile Oracle ADF Mobile lets you develop on-device mobile applications that run on both iOS and Android devices. Learn about the architecture and components that make up Oracle ADF Mobile and how it simplifies mobile applications development.
Guide to the JDeveloper IDE A quick Don't PANIC guide to the basic features of the JDeveloper IDE including window manipulation and the 6 core windows that developers will work with.
Guide to the JDeveloper IDE Editor A fighter pilot's guide to the rich features in the JDeveloper IDE Editor, discussing features that assist programmers to locate and edit their code faster, productivity boosters to save typing and fixing typos, features to keep code neat and tidy so the whole team can read the code, and navigation functions to move around a large code base without getting lost.
Take a Tour of the Improved Apache Maven Support in JDeveloper 12c With JDeveloper 12c, Oracle has significantly improved the support for Apache Maven. Not only is there a new POM file editor, but also Maven plugins for both ojmake and ojdeploy. Discover the new features and see how you can create new Maven-enabled ADF applications and also add Maven support to existing ADF applications. If you don't know what Maven is, this ADF Insider will explain the basics of Maven as well as some of the more advanced features.
Oracle ADF Insider Advanced
ADF Binding Internals - Part 1 Looking at understanding how the ADF Model layer works? What are data controls? What are bindings? In part 1 of this ADF Insider you will learn about data controls, the binding layer and the various files (e.g. DataBindings.cpx, PageDef.xml) that are used to bind business services to UI controls.
ADF Binding Internals - Part 2 In the second part of this ADF Insider presentation you will learn about how you access ADF Model bindings at runtime. Understand what is a BindingContext, a BindingContainer and the common methods you will use. Find out how you can use EL and Java to access an AttributeBinding, an OperationBinding and a JUCtrlListBinding.
ADF Task Flow - Overview (Part 1) This 90 minute recording introduces the concept of ADF unbounded and bounded task flows, as well as other ADF Controller features. The session starts with an overview of unbounded task flows, bounded task flows and the different activities that exist for developers to build complex application flows. Exception handling and the Train navigation model is also covered in this first part of a two part series. By example of developing a sample application, the recording guides viewers through building unbounded and bounded task flows. This session is continued in a second part..
ADF Task Flow - Overview (Part 2) This 75 minute session continues where part 1 ended and completes the sample application that guides viewers through different aspects of unbounded and bounded task flow development. In this recording, memory scopes, save for later, task flow opening in dialogs and remote task flow calls are explained and demonstrated. If you are new to ADF Task Flow, then it is recommended to first watch part 1 of this series to be able to follow the explanation guided by the sample application..
ADF Application Security ADF Security is an authentication and authorization framework in Oracle ADF. This session explains ADF Security from ground up. It starts with container managed security and JAAS to how they to fit into ADF Security. It then explains the ADF Security architecture with Oracle Platform Security Services (OPSS) and the WebLogic security platform for authentication. Topics discussed include authorization, page protection, task flow protection as well as security expressions ADF provides for EL.
Enabling SSO for the ADF application using Oracle Access Manager 11g In this session you'll learn how to enable SSO in an ADF application through the use of Oracle Access Manager 11g. Specifically you'll walk away with an understanding of the installation process for Oracle HTTP Server 11g (OHS) as a reverse proxy for Oracle WebLogic Server, the installation process of Oracle Access Manager 11g (OAM) Web Gate within OHS and then enable SSO through OAM.
Using Groovy in ADF Application Groovy is a Java-like scripting language that gives you huge amounts of flexibility when building ADF applications. In this ADF Insider you will see how Groovy can be used in ADF Business Components to define default values, validation and dynamic error messages.
ADF Faces Skinning Skinning in ADF Faces enables application developers to change the color scheme of an application without changing the application itself. To build a skin, developers use Cascading Style Sheets (CSS)referenced from the trinidad-skins.xml file and configured in the trinidad-config.xml file. The session explains how skinning works, starting from skin selectors and their usage.
ADF Page Templates and Declarative Components Learn how you can build a consistent look and feel to your ADF application pages using page templates and declarative components. In this session you will see how you can use template facets to define content areas in a template, and how attributes can be used to control features of the template such as initial layout. You will also see how you can build reusable composite components.
A closer look at integrating SOA and ADF Oracle ADF has built in integration with the Oracle SOA Suite. In this session we'll show you how to expose your business services to SOA consumers, and how to integrate SOA processes into your ADF application.
ADF Region Interaction - An Overview This session covers most of the options that exist for communicating between regions. It briefly discusses what it takes to build regions from bounded task flows before going into details using slides and samples. The following interaction is explained: contextual events, queue action in region, input parameters and PPR, drag and drop, shared Data Controls, parent action and region navigation listener.
ADF Region Interaction - Contextual Events Contextual events is a power solution for inter region communication and can be used as a communication channel between a parent view and its contained regions, as well as between regions. This session explains how to set up contextual events, how to define producers and event listeners and how to define the payload message. In a live example the session shows developers the building process too.
Classic Mistakes with Oracle ADF Internal APIs - Part 1 This session focuses on classical mistakes developers make when working with the Oracle ADF binding layer and the ADF Controller (Task Flows). It shows examples of how not to do it and the correct way of using ADF in Oracle JDeveloper 11g.
Project Considerations for Team Development This session covers many aspects of team development including how to set up your team's resources for developing projects and how to use source control repositories in a team environment. Additionally, an overview of the features of Team Productivity Center is provided. Finally, several considerations for reusing code are covered, including best practices for setting up business components and using ADF libraries to distribute shared code.
Redeveloping an Oracle Forms Application with Oracle JDeveloper and Oracle ADF Many customers developing ADF applications may be looking to re-implement applications originally built using Oracle Forms. In this presentation you will hear about the options for redevelopment, and see demonstrations of how you can re-implement common Forms features in ADF based on a redevelopment case study.
Building Visually Appealing Web 2.0 Data Dashboards This session will show you how to turn data into information by presenting it visually to your users. You'll learn how you can turn simple queries into powerful graphs, maps, pivot tables, and other dynamic graphical representations.
Building User Interfaces This session explains the process of developing layouts with ADF Faces. Prototyping strategies are discussed, including ADF's own Placeholder Data Control. The remainder of the session covers the ADF Faces layout components in detail, highlighting their uses and providing examples of how the components might work in various scenarios. Finally, a demonstration shows how to work with layout components to define the way nested ADF Faces content appears.
In a Nutshell: The ADF UI Shell Beyond the basic training on Oracle's JDeveloper 11g ADF, developers are left with an overwhelming list of options for presenting a rich application to users. Buttons, sliders, graphs, and more. Yet individually, these don't make an application, these don't make a user experience; how will your application pull this into a consistent look and feel, how will the application flow, how will they navigate in your application? This session looks at Oracle's ADF UI Shell (a.k.a. Dynamic Tabs Shell), a working combination of page templates, navigation controls, and application structure bringing the many parts of 11g ADF applications together into a living application experience.
Using Apache JMeter to load test ADF applications Apache JMeter can be used to run performance, load and stress tests on ADF applications. However, JMeter has no intelligence on understanding ADF applications and requires careful configuration to process the ADF cookies and HTTP state variables. This presentation shows how to configure JMeter for ADF testing, demonstrates a live stress test, and highlights some gotchas that can break the tests you create.
One-Size-Doesn't-Fit-All: Oracle ADF Architectural Fundamentals Oracle Application Development Framework (Oracle ADF) practitioners will quickly realize that there’s no one-size-fits-all approach to creating an Oracle ADF application architecture. The unique challenges and requirements of your system will have a strong influence on the solution you finally build. Taking a step back from the nitty-gritty details of Oracle ADF, this presentation looks at the early decisions you need to make and what architectural choices you have in meeting your requirements.
Integrating SOAP and REST Services in Oracle ADF Oracle ADF Integrates with SOAP and REST services as a service client and service provider. This ADF Insider session shows the options you have for accessing remote SOAP and REST services from ADF and the best practices involved with this. In its second part, this session shows the available options to make ADF Business Components models accessible to SOAP and REST clients. Exposing ADF BC as a service provider allows you to support multi-channel access, e.g. from Web, SOA and ADF mobile client, to your business logic and data.
Building Web Services from an existing ADF application Each new line of code your write is a potential bug. Moreover, each line of code you add to your existing applications reduces your ROI. On the other hand, service integration is more important today than ever. Mobile applications require deep integration with your line-of-business applications to reach their true potential. Did you know that you can leverage the Oracle ADF applications you already have to build web services? In this presentation, Frédéric Desbiens shows you how to build web services from an existing ADF application by refactoring the Summit ADF sample application and discusses the various technology choices you will have to make.
Using a standalone WebLogic Server instance With JDeveloper and Oracle Enterprise Pack for Eclipse (OEPE), you can use two great IDEs to develop your ADF applications. Did you know that both can use standalone WebLogic Server instances instead of the integrated one? In this session, you will learn how to install such an instance and what benefits it will provide you. You will also see how to configure your favorite IDEs to use a standalone WebLogic instance.
Building Performant ADF Business Component Applications This video gives you an insight into the workings of ADF Business Components and how you can use various parameters and features of the framework to ensure you build performant and scalable ADF Business Component Applications.
Avoiding JSF and ADF Lifecycle Frustrations The request lifecycle in web applications defines individual steps that incoming requests needs to pass before a response is returned to the requesting client. JavaServer Faces knows of 6 life cycle steps that need to process in order to read, insert, update and delete form data and to process navigation. Oracle ADF seamlessly integrates with the JavaServer Faces lifecycle, which makes understanding the lifecycle an important skill for every ADF application developer. This session explains the JavaServer Faces lifecycle from ground-up and how ADF fits into it. This session then continues discussing three popular use cases to provide expert insight to the lifecycle behavior and the required lifecycle manipulations to avoid developer frustration. Be aware the information in this sessions is not easy to digest and you want to plan in to watch it twice.
Oracle Diagnostic Log Analyzer - ADF Request Analyzer and the JSF Lifecycles In this ADF Insider we investigate the ADF Request Analyzer, a tool within JDeveloper's Oracle Diagnostic Log Analyzer which is designed to help you understand the runtime behaviour of your program, including looking under the covers of the JSF & ADF Lifecycle. The ADF Request Analyzer is therefore an excellent debugging aid in assisting developers with building their ADF applications.
Oracle ADF Insider Essentials
ADF Business Components
Creating RESTFul web services with ADF BCs Often you need to create a RESTful web services and would like to call ADF BC logic inside them. Unfortunately, service interfaces for Application Modules are SOAP only at present. This can be achieved by combining custom code that makes use of a JAX-RS implementation.
Building a dependent list of values Find out how you can use the declarative features of ADF Business Components to build a dependent list of values that automatically limit its choices based on another attribute value.
Implementing Sequences in an ADF Applications Most, if not all, ADF applications based on database tables will have to manage assigning sequence numbers to unique and primary key attribute values. Find out how you can do this in ADF Business Components.
Programmatical access a view criteria View criteria allow you to define parameterized filters on a view object. This ADF Insider Essentials explains how you can apply, remove, and append view criteria from code.
ADF BC Model Driven LOV Switcher In this ADF Insider Essentials you will learn a feature of model driven list-of-values where the LOV definition can be switched at runtime. This is usually triggered by data in a related view object attribute.
Implementing a total Often in an application you will want to display a sum or total of a particular attribute, for example the total salaries in a department. In this ADF Insider Essential you will see how you can implement using a Groovy expression.
Building a test client for testing ADF Business Components ADF Business Components can be tested in the ADF Model Tester or in simple Test Client classes. These Test Client classes can work with generic view objects or set and use bind variables and view criteria. This ADF Insider shows you how to write the class using a template and set all the appropriate component values.
Basing ADF Business Component View Objects on more than one Entity Object Tables are littered with foreign keys that have little meaning to users. Often we want to show fields from other tables with more meaningful values to the user, and, if the user changes the foreign key then the lookup values are instantly changed. This presentation will show you how to create ADF Business Component View Objects where the View Object is based on more than one Entity Object: An updatable Entity Object and a reference lookup Entity Object.
Retrieving the previous value of an ADF BC attribute Sometimes we will have a requirement to show the previous value of an ADF BC attribute, or even create a business rule that needs to compare an old and new value for an attribute. You will learn how easy it is to do this in this ADF Insider Essential.
Accessing ADF Binding Layer from Java When writing code in a managed bean you might want to access attribute values or execute method calls. This ADF Insider Essentials shows you how you can access ADF bindings from a managed bean.
Synchronizing a Tree Control with Detail Data This ADF Insider Essentials shows you how selecting a node in a UI tree component can automatically synchronize that data with a form. The key is to use EL to indicate which iterator should be refreshed.
Passing Data Within A Task Flow In a task flow you may want to reference data or values set up in another activity of the task flow. This ADF Insider Essentials shows you how you can pass data in a task flow.
Storing Different Values to those Displayed Using a selectOneRadio For a binary value, such as OrderFilled (Y or N) you may have the use case of storing a Y and N in the database but display different values (e.g. Yes and No, or Filled & Not Filled) to the user. This demonstration shows how you can achieve this with a selectOneRadio component.
Using af:iterator to Dynamically Render an Image How can you dynamically render a UI component a set number of times? For example, for a customer rating (which is a numeric value) you want to "stamp out" a certain number of stars to indicate the rating rather than just display a number (like an Amazon rating). This demonstration shows you how using the af:iterator component.
How-to handle the af:dialog OK and CANCEL buttons The ADF Faces dialog component is a child component of the af:popup component and shows a framed content area with optional OK/Cancel and Yes/No buttons. This session explains how to determine which button has been pressed by a user and how to handle the CANCEL event, which, in contrast to the other button options is a pure client side event. It also shows how the CANCEL event can be broadcast to the server for developers to query data or clean up uncommitted changes.
How-to delete node(s) in Oracle ADF bound ADF Faces hierarchical trees This sample shows how to determine selected tree nodes and delete them from an action exposed on the tree context menu. The sample shows how the tree is created, the context menu is defined and how to create a managed bean action to handle the tree node(s) delete operation. A topic covered in here too is the confusion that exists about View Accessors and how the tree structure uses internal APIs to access child collections.
Strategy for creating page templates with global button functionality Page templates ensure consistent layouts being used throughout an application and, if the template is deployed and reused in an ADF library, across applications. A frequent requirement is to build layouts with default functionality, like global buttons. Global buttons execute application wide functionality, like navigating to a login page or a help page, but may also execute page context specific functionality like creating a new record or deleting a current row. This session shows how the ADF Faces page template can be used to build layout blueprints that contain global buttons for invoking application wide and context specific functionality.
Programmatic Partial Page Refresh ADF Faces includes a number of declarative features for controlling the submission and refresh of the ADF Faces pages. This is called Partial Page Refresh (PPR). In this sample you will see how to programmatically control the partial page refresh feature of ADF Faces.
Undo ADF table selection on validation error This ADF Insider essential recording shows what do you do if uncommitted data exists when users change the row currency of a table. If uncommitted data exists, an alert is shown to remind the user to commit the changes before selecting another row in a table. If data change validation succeeds, the system sets the new table row as the current row in the underlying binding layer. Though the example uses data commit as the validation exit criteria, it can be any Java accessible condition that determines whether the row selection needs to be undone or not.
How to implement logging in an ADF application Yes, the ADF source is available! This ADF Insider Essentials shows you how to add the ADF source to JDeveloper and use it to debug your application, as well as how to implement logging for ADF applications.
Debugging task flows and memory scope In this ADF Insider Essentials, you learn how to debug typical errors that occur in ADF applications. Through an example, tips for triaging and debugging an issue using the JDeveloper debugger and the ADF task flow debugger are given.
General ADF Techniques
ADF Mobile: Using the Local Database When building an ADF Mobile application the need may arise to store data on the mobile device. In order to do this you could use ADF Mobile's local database, which relies on the SQLite database engine, to read and write data through familiar JDBC calls.
Deploying reusable components To maintain consistency, page templates and other common UI elements should be shared among different applications. Additionally, you can create a reusable data model using ADF Business Components and build user interfaces upon the common data model. In this ADF Insider Essential you will see how you can distribute these reusable components using an ADF Library.
ojdeploy ADF Build Utility JDeveloper's ojdeploy command line utility provides a mechanism for building ADF applications from scripts or Apache Ant without human intervention. In this recording you'll learn the necessity of ojdeploy, as well as learn from demonstrations showing ojdeploy in action so you can make use of it in your own build environments.
Configuring you ADF Mobile development environment for Android Out of the biggest advantages of ADF Mobile is that it enables you to deploy your applications on both iOS and Android. This flexibility, however, means that you cannot simply install JDeveloper and the ADF Mobile extension. In this session, you will learn how to configure your development environment in order to deploy your applications on Google's mobile OS.