Welcome to Oracle WebCenter Framework! This chapter introduces you to key Oracle WebCenter Framework concepts, then explains what you will create during the steps in this tutorial. The lessons are designed to familiarize you with different aspects of WebCenter Framework functionality, and to demonstrate enough about each feature so that you can create your own custom WebCenter applications.
If you need additional information about a feature, you can always refer to the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter and the Oracle Fusion Middleware User's Guide for Oracle WebCenter.
Oracle WebCenter Framework is a declarative JavaServer Faces (JSF)-based framework that enables embedding of AJAX-based components, services, portlets, and content into context-rich customizable applications. Leveraging a revolutionary way of layered customizations, these applications and portals store user changes in Oracle Metadata Services that is used across all of Oracle Fusion Middleware and is the foundation for Fusion Applications. It insulates users and developers from patching and upgrades to speed new capabilities to make businesses more agile, and is delivered as an extension to Oracle JDeveloper to provide an integrated development environment for composite Java EE applications, business processes, BI applications, and enterprise portals.
Figure 1-1 provides an overview of the Oracle WebCenter architecture, showing the major components that make up the product and the features and services offered.
For more information about Oracle WebCenter, refer to Chapter 1, “Understanding Oracle WebCenter“in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.
In this tutorial, you will use WebCenter Framework to build a custom WebCenter application that is customizable at runtime, empowering you and your end users to edit application pages according to personal requirements and directly leveraging Oracle Metadata Services. You will also use WebCenter Services to integrate content from a content repository and display it in a user-friendly interface, and enable users to “tag” and search the content. You will build and consume two types of portlets: a rich, standards-based portlet and an out-of-the-box PDK-Java portlet that you define using a wizard. Finally, you will enable interaction between the two portlets, so that user actions on one portlet drives the content that displays in the second portlet.
Figure 1-2 shows the custom WebCenter application you will create in this tutorial.
This tutorial is designed for the chapters to be completed in the same sequence as they are presented. Due to dependencies, completing them in a different order may result in missing resources or even errors.
The path through this tutorial is as follows:
Chapter 2, "Preparing for the Tutorial" tells you what you must do before you can complete the steps in this tutorial, including installing the resource files for the sample application you will build. Be sure to complete all the steps described in this chapter.
Chapter 3, "Creating a WebCenter Application with a Customizable Page" introduces you to creating a custom WebCenter application, creating a JSF page, and enabling runtime customization with Oracle Composer. You will also use Oracle Composer to customize your application at runtime.
Chapter 4, "Adding WebCenter Web 2.0 Services to Your Application" shows you how to add various services to your application that enable your users to access content on a file system by using a document library, search for content across the application, and add tagging and a tag cloud to your application. You will also learn how to use each of these services at runtime.
Chapter 5, "Building Portlets and Wiring Them in Your Application" tells you how to create two types of portlets: an OmniPortlet and a simple standards-based Java (JSR 168) portlet. You will also enhance the JSR 168 portlet to embrace more sophisticated logic. You will then enable these two portlets to communicate with each other, so that when you select an option in the first (JSR 168) portlet, the content of the second portlet (OmniPortlet) updates based on that selection.