2 Understanding Oracle WebCenter

This chapter introduces you to Oracle WebCenter and helps you understand what you must consider when using WebCenter technology to build an application.

This chapter includes the following sections:


This chapter is intended for developers of WebCenter applications. Developers should review this chapter carefully to determine what options are available to them.

2.1 What Is Oracle WebCenter?

Oracle WebCenter provides design time and runtime tools for building enterprise portals, transactional websites, and social networking sites. Typical WebCenter use cases include employee intranets, customer extranets, dashboards, blogs and wikis, community discussion forums, online stores, and many others. WebCenter provides the tools you'll need to create these kinds of applications.

Figure 2-1 provides an overview of the Oracle WebCenter architecture, showing the major components that comprise the product.

Figure 2-1 Overview of Oracle WebCenter Architecture

Description of Figure 2-1 follows
Description of "Figure 2-1 Overview of Oracle WebCenter Architecture"

2.2 Introducing the Oracle WebCenter Portal Framework

The WebCenter Portal Framework provides portal-specific features to a WebCenter application. These features include page hierarchies, navigation models, delegated security, customization, and others. Portals can also include features like portlets, content management system integration, personalization, social computing services, search, analytics, and more.

From the perspective of an end user, a portal is a web site with pages that are organized by tabs or some other form of navigation. Each page can contain portlets, static content, dynamic content, and task flows. Authorized users can also customize their view of a portal by adding their own pages, adding portlets of their choosing, and changing the Look And Feel of the interface.

For a complete overview of the portal framework, Chapter 8, "Understanding WebCenter Portal Applications."

2.3 What WebCenter Features Can I Add to a Portal?

This section discusses a few of the major WebCenter features that you can add to a WebCenter portal application. These features support integration of remote applications, page customization, content integration, personalization, security, and others.

2.3.1 Portlets and Pagelets for Accessing Remote Applications and Services

This section discusses two technologies–portlets and pagelets–that let you integrate remote applications into your portal pages. What Are Portlets?

A portlet is a reusable Web component that can draw content from many different sources. Portlets provide a means of presenting data from multiple sources in a meaningful and related way. Portlets can display excerpts of other web sites, generate summaries of key information, perform searches, and access assembled collections of information from a variety of data sources. Because different portlets can be placed on a common page, the user receives a single-source experience. In reality, the content may be derived from multiple sources.

Oracle WebCenter Framework supports deployment and execution of both standards-based portlets (JSR 168 and 286, WSRP 1.0 and 2.0) and traditional Oracle PDK-Java based portlets. It also provides the runtime functions necessary to consume those portlets from within JSF applications. Any existing portlet can be leveraged by a WebCenter Portal application with no changes. Developers simply register portlet producers within JDeveloper, and then drag and drop portlets directly onto their JSF pages.

You should be aware that all portlets run remotely from the application in the Oracle WebCenter Framework environment, meaning that there are no local portlets. You must always deploy the producer and register it with the application before consuming its portlets. See Chapter 57, "Testing and Deploying Your Portlets."

Several prebuilt portlets are available for use through a sample producer that you can register with your application. You can use the portlets that Oracle or third parties provide you, or you can create your own portlets programmatically. The prebuilt portlets that the Oracle WebCenter Framework provides include:

Packaged applications also often come with their own set of portlets that enable you to access particular data or functions of the application. Assuming that they were built with compatible technology (WSRP, JSR 168/286, or PDK-Java), you can include these portlets in your WebCenter Portal application as well.

Following the Oracle-submitted standard JSR 329, you can expose your task flows as standards based portlets. In this way, one application encompasses both the base application functionality and the portlets to be consumed for integration. When you revise your application, the portlets are naturally and automatically updated right along with it, rather than requiring a separate development project. To support JSR 329, the Oracle WebCenter Framework provides the Oracle JSF Portlet Bridge. For more information about the Oracle JSF Portlet Bridge, see Chapter 54, "Creating Portlets with the Oracle JSF Portlet Bridge."

In addition to consuming task flows as portlets, you can consume task flows as shared libraries in a JSF application to enable you to embed these JSF fragments directly. You can wrap the transactions around the task flows along with the other functionality in their application. For more information, see Chapter 14, Getting Started with ADF Task Flows" in the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

WebCenter portals support interportlet communication. You can link WSRP 2.0 portlets such that parameters are passed between portlets and Faces components, and between portlets and the page. In this fashion, you can create a context-sensitive application, where the data displayed by the portlets changes depending upon the page context. In effect, it enables you to create an enterprise mashup for your users and, if you take advantage of Oracle Composer, your end users can create their own enterprise mashups, too.


Interportlet communication is not supported for WSRP 1.0 portlets.

For information about the different ways you might create portlets and how you might use them, see Chapter 53, "Overview of Portlets." For information about consuming portlets on pages and linking them, see Chapter 59, "Consuming Portlets." What Are Pagelets?

A pagelet is a reusable user interface component similar to a portlet, but while portlets were designed specifically for portals, pagelets are designed to run on any web page. Any HTML fragment can be a pagelet, but pagelet developers can also take advantage of many of the features available to portlet developers to write pagelets that are parameterized and configurable, to dynamically interact with other pagelets, and respond to user input using Ajax patterns.

The Oracle WebCenter Pagelet Producer (previously known as Oracle WebCenter Ensemble) provides a collection of useful tools and features that facilitate dynamic pagelet development. For detailed information about pagelet development and configuration using the Pagelet Producer, see Chapter 58, "Creating Pagelets with the Oracle WebCenter Pagelet Producer."

2.3.2 Oracle Composer Allows User Customization

Oracle Composer is an easy, browser-based environment that you can add to existing JSF applications. End users can then use Oracle Composer to edit the page at runtime to create their own mashups. To make pages editable at runtime in this way, you simply add Oracle Composer design time components to a page in JDeveloper. If you create a blank page in JDeveloper with just Oracle Composer components, users have the ability to redesign the page while in Edit mode using Oracle Composer. Some of the tasks they can perform include:

  • Editing page settings and parameters

  • Adding content to the page

  • Editing component properties and parameters

  • Wiring components to page parameters

  • Arranging content on the page

  • Changing the layout for components on the page

  • Removing components from the page

The Oracle Composer tag library provides the components that you can add to make a page editable at runtime and define the behavior of content on the page (for example, move, sequence, or hide components).

In Oracle Composer, the Component Catalog dialog box, which is displayed by clicking the Add button on the page, displays the default runtime Resource Catalog Viewer. Users can browse the components in the viewer and then add them to the page. By default, the viewer displays the default Resource Catalog, which contains all of the Oracle ADF components and portlets available to the application. To control what components are visible to users in the viewer, you can modify the default Resource Catalog, or create one or more of your own Resource Catalogs. Resource Catalogs can contain items such as portlets, layout components, task flows, documents, and Oracle ADF Faces components.

For more information about implementing Composer components in your application, see Chapter 19, "Enabling Runtime Editing of Pages Using Oracle Composer."

2.3.3 Content Integration with Supported Content Repositories

JCR (Java Content Repository API, also known as JSR 170) adapters enable you to make data stored in content management systems, such as Oracle Universal Content Management, Oracle Portal, or even your file system, available to your application.

Using JDeveloper, you can use the prebuilt JCR data control to grab the content and drop it onto your page. You can leverage the provided prebuilt user interface to display the content in your WebCenter Portal application. This architecture enables you to build your user interface once and then at deployment time or during runtime, switch to whatever back end is required without having to recompile or rebuild the application. In addition, you do not need to learn the intricacies of each content management system's custom APIs. For example, you could create a data control that selects content from any JCR 1.0 compliant repository or file system. When the data control is created, you can drop it onto a JSP document as a table.

If you retrieve data from a content repository other than Oracle Portal, UCM, or the file system, then you can create your own JCR adapter. From the Content Repository Configuration page of the Create Data Control wizard, you can choose the content repository from which you want to retrieve data.

The Content Presenter task flow lets you conveniently add content to your application. Content Presenter allows you to select a single item of content, multiple content items, or query for content, and then select a template to render the content on a page in a WebCenter application. In addition, you can design custom display templates for Content Presenter. See Chapter 28, "Creating Content Presenter Display Templates." For more information, see also "Adding Content Using Content Presenter" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Spaces and Chapter 26, "Configuring Content Repository Connections."

2.3.4 Search Framework

Search is one of the most common and useful features of any web application. Oracle WebCenter Framework has a unified, extensible Search framework that enables the discovery of information and people through an intuitive user interface. The powerful Search framework enables you to seamlessly include enterprise-wide search capabilities into your application. With all relevant and secure information easily navigable, users do not need to switch between applications performing multiple searches. See Chapter 40, "Integrating the Search Service."

2.3.5 Resource Catalogs Help Organize the Development Experience

The Resource Catalog provides a federated view of the contents of one or more otherwise unrelated repositories within a unified search and browse user interface. Resources are created and published in their source repository, then exposed to the developer through the JDeveloper Resource Palette and to the end user through the Resource Catalog Viewer. The Resource Palette contains the WebCenter Portal Catalog, which includes elements that are commonly used in portal development.

Resource Catalogs can contain the following components:

2.3.6 Application Security

With the Oracle ADF extensions provided in Oracle WebCenter, you can define security for an entire application, a page hierarchy, part of a page hierarchy, navigational components, or a single page. You can define security for individual actions provided by customizable components. In addition, for WebCenter Services that connect to back-end servers using web services, you can provide secure identity propagation with WS-Security.

Because Oracle WebCenter security is based on the JAAS and J2EE standards, enterprise roles defined in the existing identity management store can be leveraged directly when securing a WebCenter Portal application. You need not synchronize roles within the application being built. It just references and uses the defined users and roles directly. Note also that you can use file-based security for the development phase of the application and then easily switch over to enterprise identity management at deployment time.

Oracle WebCenter also provides application roles that you can use to represent the policy of an application. By associating permissions with an application role defined within the policy store, you can keep them self contained within the application. On deployment, you can then associate users and enterprise roles with the application roles to grant those permissions to end users.

In some cases, it is desirable to leverage existing applications that have their own authentication mechanism, such as email. The email system is often on a different authentication system (with different user names and passwords) than the new application. The application must map the email user to the application user such that end users do not have to enter their user names and passwords each time they need information. Oracle WebCenter Framework provides the means to securely manage these user names and passwords with the External Application functionality.

For more information about options for securing your WebCenter Portal application, see Chapter 63, "Securing Your WebCenter Portal Application."

2.4 Introducing Oracle WebCenter Services

Oracle WebCenter Services expose social networking and personal productivity features through services, which, in turn, expose subsets of their features and functionality through task flows.

Table 2-1 describes each of the available services.

Table 2-1 Oracle WebCenter Services

Service Description Chapter

Activity Graph

Leverages collective intelligence to benefit search and social applications.

Chapter 41, "Integrating the Activity Graph Service"


Enables you to display usage and performance metrics for your portal application.

Chapter 42, "Integrating the Analytics Service"


Provides the ability to post announcements about important activities and events to all authenticated users.

Chapter 32, "Integrating the Announcements Service"


Provides easy integration of a blog application within the context of your application.

Chapter 31, "Integrating Wikis and Blogs"


Provides the ability to create threaded discussions, posing and responding to questions and searching for answers. Also provides an effective group communication mechanism for important activities and events.

Chapter 33, "Integrating the Discussions Service"


Provides content management and storage capabilities, including content upload, file and folder creation and management, file check out, versioning, and so on.

Chapter 29, "Integrating the Documents Service"


Provides the ability to create and maintain a schedule of events relevant to a wider group of users. Events are published to all authenticated users.

"Working with the Events Service" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Spaces

Chapter 47, "Integrating the Events Service"

Instant Messaging and Presence (IMP)

Provides the ability to observe the status of other authenticated users (whether online, offline, busy, or away) and to contact them instantly.

Chapter 34, "Integrating the Instant Messaging and Presence Service"


Provides the ability to view, access, and associate related information; for example you can link to a solution document from a discussion thread.

Chapter 38, "Integrating the Links Service"


Provides the ability to create, publish, and manage lists. Users can create lists from prebuilt structures or create their own custom lists.

"Working with the Lists Service" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Spaces

Chapter 43, "Integrating the Lists Service"


Provides easy integration with IMAP and SMTP mail servers to enable users to perform simple mail functions such as reading messages, creating messages with attachments, replying to or forwarding existing messages, and deleting messages.

Chapter 36, "Integrating the Mail Service"


Provides the ability to "jot down" and retain quick bits of personally relevant information.

Note: This service is available only in Oracle WebCenter Spaces.

"Working with the Notes Service" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Spaces


Provides a means of subscribing to services and application objects and, when those objects change, receiving notification across one or more selected messaging channels.

Chapter 44, "Integrating Notifications"

People Connections

Provides social networking capabilities, such as creating a personal profile, displaying current status, and viewing other users' recent activities.

Chapter 35, "Integrating the People Connections Service"


Enables you to survey your audience (such as their opinions and their experience level), check whether they can recall important information, and gather feedback.

Chapter 37, "Integrating the Polls Service"


Enables you to deliver content within your application to targeted application users based on selected criteria.

Chapter 62, "Personalizing WebCenter Applications"

Recent Activities

Provides a summary view of recent changes to documents, discussions, and announcements.

Chapter 45, "Integrating the Recent Activities Service"


Provides the ability to access the content of many different web sites from a single location—a news reader.

Chapter 48, "Integrating the RSS Service"


Provides the ability to search services, the application, or an entire site.(This includes integrating Oracle Secure Enterprise Search for WebCenter searches.)

Chapter 40, "Integrating the Search Service"


Provides the ability to assign one or more personally relevant keywords to a given page or document.

Chapter 39, "Integrating the Tags Service"


Provides the ability for geographically diverse teams to originate and collaborate on web documents.

Chapter 31, "Integrating Wikis and Blogs"


Provides a personal, at-a-glance view of business processes that require attention (including a request for document review, and other types of business process that come directly from enterprise applications).

Chapter 46, "Integrating the Worklist Service"

WebCenter provides task flows for these services through the WebCenter Services Catalog. For information about how to prepare your application to consume these task flows, see Chapter 7, "Preparing Your Application for Oracle WebCenter Services."

How WebCenter Services Integrate with Each Other

WebCenter Services are designed to be integrated with each other. Here are some examples of the ways WebCenter Services work together:

  • The Search service is designed to search any WebCenter service in your application. For example, if you have the Documents service in your application, then the search operation looks for terms in document names and in the documents themselves. The results include tag hits, so any matching tags on your documents and pages are also returned, with relevance based on the quality and frequency of tags.

  • The Links service lets you view, access, and associate related information across services. For example, in a discussion forum, you can link to a related discussion forum, document, URL, or event. The Links service also supports bidirectional links between objects, such as a link from a discussion topic to a document and back to the discussion topic.

  • The Presence icon can appear in any WebCenter service where a user is indicated. For example, click the author's name on a document to invoke a context menu and send an instant message or mail to that person.

  • The Recent Activities service lets you view the most recent additions or changes to the announcements, documents, discussions, and pages in your application.

2.4.1 WebCenter Services and the REST APIs

You can access many of the WebCenter services through their REST APIs. REST APIs allow you to create rich, interactive client-side applications. REST commands use standard HTTP methods as requests to point to the resource being used. Every request returns a response, indicating the status of the operation. If the request results in an object being retrieved, created, or updated, the response includes a standard representation of that object.

For more information and a complete list of the services that include REST APIs, see Chapter 51, "Using Oracle WebCenter REST APIs."

2.5 Introducing Oracle Application Development Framework (Oracle ADF)

This section briefly introduces Oracle ADF and discusses how WebCenter Portal benefits from Oracle ADF technology.

2.5.1 What Is Oracle ADF?

The Oracle Application Development Framework (Oracle ADF) is an end-to-end application framework that builds on Java Platform, Enterprise Edition (Java EE) standards and open-source technologies to simplify and accelerate implementing service-oriented applications. Used in tandem, Oracle JDeveloper and Oracle ADF give you an environment that covers the full development life cycle from design to deployment, with drag-and-drop data binding, visual UI design, and team development features built in.

2.5.2 Why Is Oracle ADF Important for WebCenter Portal Developers?

You can build portals using a variety of different technologies and approaches, and WebCenter supports a variety of open industry standards for portal-building. Oracle ADF provides a solid foundation for WebCenter portal development, which allows integration with the entire Oracle Fusion Middleware stack. Oracle WebCenter lets you build portals that plug into this overall architecture, leveraging features provided by the rest of the stack.

2.5.3 What Does Oracle ADF Technology Include?

Oracle ADF uses a set of standard JSF components that include built-in Ajax functionality. Ajax is a combination of asynchronous JavaScript, dynamic HTML (DHTML), and XML. This combination allows requests to be made to the server without fully re-rendering the page. While Ajax allows rich client-like applications to use standard Internet technologies, JSF provides server-side control.

Oracle ADF provides over 150 rich components, including hierarchical data tables, tree menus, in-page dialogs, accordions, dividers, and sortable tables. Oracle ADF also provides data visualization components, which are Flash and SVG-enabled and capable of rendering dynamic charts, graphs, gauges, and other graphics that can provide a real-time view of underlying data. Each component also supports skinning, along with internationalization and accessibility.

ADF task flows represent a critical component for you to understand and use in your application development. They provide a modular approach for defining control flow in an application. Instead of representing an application as a single large JSF page flow, you can break it up into a collection of reusable task flows. In each task flow, you identify application activities, the work units that must be performed in order for the application to be complete. An activity represents a piece of work that can be performed when running the task flow. Task flows also have the advantage of being able to be packaged and deployed with the application, rather than requiring a separate deployment like remote portlets. For more information about task flows, see the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

2.6 Introducing Oracle JDeveloper and the WebCenter Extension

Oracle JDeveloper is an integrated development environment (IDE) for building service oriented applications using the latest industry standards for Java, XML, web services, portlets, and SQL. JDeveloper supports the complete software development life cycle, with integrated features for modeling, coding, debugging, testing, profiling, tuning, and deploying applications. JDeveloper's visual and declarative approach and Oracle ADF work to simplify application development and to reduce mundane coding tasks. For example, code for many standard user interface widgets, such as buttons, lists of values, and navigation bars, are prepackaged for you. All you need to do is select the appropriate widget from the Component Palette and drop it into your application.

The WebCenter Extension includes all the development functionality you need for building WebCenter Portal applications. Oracle WebCenter components are readily accessible from a catalog of resources.

Figure 2-2 Oracle JDeveloper and the WebCenter Extension

Description of Figure 2-2 follows
Description of "Figure 2-2 Oracle JDeveloper and the WebCenter Extension "

The WebCenter Extension also provides several wizards to help you with essential development tasks such as building portlets, consuming an existing portlet, creating a data control to a content repository, and securing your application. By significantly reducing the amount of coding you do, JDeveloper and the WebCenter Extension dramatically increase your productivity as a developer.

In JDeveloper, the easiest way to ensure that you properly define an application and its projects with the appropriate technology scope is to apply an application template. An application template automatically partitions the application into projects that reflect a logical separation of the overall work. The WebCenter Extension provides two templates optimally configured for building WebCenter Portal applications:

  • WebCenter Portal Application template. Prepopulates the application with a project and libraries optimally scaled for the creation of data controls and consumption of portlets and Web 2.0 services. Includes portal framework features like site navigation, page hierarchies, delegated administration, and page templates.

  • Portlet Producer Application template. Prepopulates the application with a project and libraries scoped for the creation of portlets.

It is not required that you use these templates. If you prefer, you can create your own WebCenter Portal applications and portlet applications by manually scoping the application technologies and creating the relevant projects. For more information, see Chapter 3, "Preparing Your Development Environment."

For more information about JDeveloper, access the many educational aids from the JDeveloper Start Page, accessible from JDeveloper's Help menu.

2.7 Understanding the Application Life Cycle

The portal life cycle describes the path a portal takes from development through production. Phases of the life cycle include development, testing, staging, and production. For detailed information on the life cycle, see Chapter 9, "Understanding the Portal Life Cycle."

2.8 Design Questions to Consider Before You Start

When you design your WebCenter Portal application, you must consider the needs of your audience. In particular, it is important to think about what features and capabilities your WebCenter Portal application end users, administrators, and developers need. Before you begin to actually build a WebCenter Portal application, take a look through the questions listed below and use the answers to help plan your application.

This section includes the following subsections:

2.8.1 User Considerations

The following list suggests questions you should ask about the end users of your portal application:

  • How many users are there? If your WebCenter Portal application must serve a large number of users, then you must take that into account when you define your deployment environment.That is, you must choose a topology that can support the number of users you expect to access your WebCenter Portal application and set the configuration parameters of the different services accordingly.

    To help you decide which Oracle Application Server configuration best supports your WebCenter Portal application, see the Oracle Fusion Middleware Enterprise Deployment Guide for Oracle WebCenter.

  • Do users need to edit pages and create enterprise mashups by adding resources? If you plan to let users edit pages, you must add Oracle Composer components to your application. You should also consider questions such as which areas you want to make editable and what resources to make available to users.

    When you design your application, you must choose where to insert the Oracle Composer components to make those areas of the page editable. Components that allow users to add to the page must appear in a Resource Catalog at runtime. You can also choose to have different catalogs available depending upon the context of the application or the user's privileges.

    If you choose to allow page editing, the application must be able to associate the customizations with particular users, which means some form of authentication is required for users of the application. Furthermore, since the user's customizations are stored in Metadata Storage (MDS), you must ensure that your deployment system has access to MDS for the storage and retrieval of customizations.

    For more information about the Oracle Composer and exposing resource catalogs, see Chapter 19, "Enabling Runtime Editing of Pages Using Oracle Composer."

  • Do users need to customize their portlets? Portlets can optionally include a customization mode (Edit mode) that enables an authenticated user to customize the portlet at runtime. The Edit mode might allow the user to enter things such as the portlet's title or a parameter that affects the content of the portlet. For example, you could implement an Edit mode that enables the user to enter ticker symbols for a stock portlet. When the user's changes are applied, the portlet displays the prices for their chosen ticker symbols.

    If you choose to implement customization, then you must also implement some form of security for the application consuming the portlet. Only authenticated and authorized users can customize an application.

    In considering portlet customization, you should also consider whether the portlets are load balanced. If they are load balanced, then you must use database backed customization to ensure that all of your middle tiers can access to the user's customization data. Otherwise, the user has to personalize the same portlet multiple times.

    For more information, see Chapter 53, "Overview of Portlets."

  • Which services do your users need to access? WebCenter provides a variety of services, such as Documents, Discussions, Search, People Connections, and Instant Messaging and Presence. You must decide which of these services your users need and then configure those services. When the desired services are installed and configured, you can add task flows to your application pages that access those services. The services that you choose to implement can also impact the topology you choose. For example, you might choose to have your discussions server and content repositories reside on different systems, which must both be accessible to your application.

    For more information, see Table 2-1, "Oracle WebCenter Services" and Chapter 7, "Preparing Your Application for Oracle WebCenter Services."

  • Will there be both authenticated and unauthenticated (public) users? Several of the WebCenter services offer limited functionality for unauthenticated users. For example, unauthenticated users can view but not contribute to discussions, and the REST services (most of them) are only available to authenticated users. Due to this loss of functionality, it sometimes works better to create special public pages designed just for unauthenticated users.

    Use the portal page hierarchy editor to set delegated administration security policies on individual pages or on multiple pages. For more information, see Section 8.5.2, "Securing Your Portal Pages."

2.8.2 Site Administrator Considerations

The following list suggests questions you should ask about the administrators of your application:


It is critical that the WebCenter Portal application administrator and the developers communicate when the application is under construction. At design time, developers must make many choices that determine what the administrator can do to the application at runtime. For example, if the developers choose not to implement skins, then the administrator has no control over the look and feel of the application. Hence, the administrator and the developers should ensure that they consult over these decisions at design time.

2.8.3 Developer Considerations

The following list suggests questions you should ask about the developers who will contribute to your application:

  • Do developers and administrators want to use the portal framework features in their application? Generally, developers should consider using the Portal Application Template to create portal applications. The template ensures that a new application is provisioned properly with the correct portal framework technology scopes and features. These portal-specific features include page hierarchies, delegated administration, navigation models, and page templates. In addition, runtime administration tools allow authorized users to modify and change these portal features. For more information Chapter 8, "Understanding WebCenter Portal Applications."

  • Should developers build task flows or portlets as reusable components? Thanks to the Oracle JSF Portlet Bridge, developers can make their task flows into JSR 286 portlets. Hence, they have the option of creating reusable components either as task flows, which can potentially be made into JSR 286 portlets through the bridge, or directly as JSR 286 portlets. If the primary purpose of the component is inclusion in one or more portals, then developers may prefer to build it directly as a JSR 286 portlet, without going through the bridge. If the primary purpose of the component is local execution in a JSF application, then the developer may prefer to create it as a task flow first and then, optionally, use the bridge to run it as a JSR 286 portlet. Building task flows means that the components can be used in other ADF applications without having to repackage them as portlets first.

  • Do developers need to integrate content from content repositories (for example, Oracle Content Server, file system, or Oracle Portal)? If you have content located in content repositories to expose in the WebCenter Portal application, then you must use JCR adapters and data controls to make that content available.

    For information about including content through JCR data controls and adapters, see Chapter 26, "Configuring Content Repository Connections."

  • Will the visible/editable content of the WebCenter Portal application vary depending upon the identity of the user? If you plan to have content in your WebCenter Portal application that is not for everyone, then you must set up a security model with login and user roles that enable you to control access. Components, portlets, and pages can display or not display, depending upon a user's identity. If the content is open to everyone (for example, a Human Resources WebCenter Portal application with content for all employees), then you might not need to implement access control. The portal framework page hierarchy feature allows you to set security policies on individual or multiple pages in the page hierarchy. For more information, see Section 8.5.2, "Securing Your Portal Pages."

    Furthermore, with Oracle Composer, you can allow users to edit the content within the application. Again, you must consider whether you want to restrict that capability to certain users and, if so, you must factor that into your security model.

    For more information about implementing a security model for your WebCenter Portal application, see Chapter 63, "Securing Your WebCenter Portal Application."

  • Does your WebCenter Portal application need to provide access to external applications? In many cases, you might have external applications to surface in your WebCenter Portal application. For example, you might have email, Human Resources, or financial applications that you would like users to be able to view from within the application. To provide seamless interaction for the user, you must employ an external application credential store of some kind.

    For more information about accessing external applications from your WebCenter Portal application, see Chapter 63, "Securing Your WebCenter Portal Application."

    If you have legacy external application portlets that were built for Oracle Portal, then you can reuse those portlets in a WebCenter Portal application. This feature allows users to view these portlets from their WebCenter Portal application rather than having to open each application separately or go back to Oracle Portal. When building such portlets, though, you must remember that they typically must authenticate themselves to the external application before retrieving and displaying any data. As previously mentioned, such authentication requires a credential vault, where the WebCenter Portal application can store the credentials necessary for logging into the external application. Oracle WebCenter Framework provides choices in Oracle JDeveloper for incorporating portlets based on external applications.

    For more information about external application portlets, see Section 63.13.3, "Managing External Applications."

  • Will the WebCenter Portal application be developed by a team of developers? If your WebCenter Portal application is being developed by a team, then you must think about some additional design considerations. For example, when doing team development, you must be much more aware of which files various JDeveloper actions touch, and may want to take advantage of JDeveloper's ability to integrate code management systems.

    For more information about team development, see Chapter 4, "Working Productively in Teams." See also Chapter 1, "Developer's Quick Start Guide."

2.9 Overview of WebCenter Accessibility Features

Accessibility involves making your application usable by persons with disabilities such as low vision or blindness, deafness, or other physical limitations. In the simplest of terms, this means creating applications that can be used without a mouse (keyboard only), used with a screen reader for blind or low-vision users, and used without reliance on sound, color, or animation and timing.

Oracle software implements the standards of Section 508 and WCAG 1.0 AA using an interpretation of the standards at http://www.oracle.com/accessibility/standards.html.

This section describes accessibility features that are specific to WebCenter. For general information about creating accessible ADF Faces pages, see the Developing Accessible ADF Faces Components and Pages section in the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework. For information about accessibility features in JDeveloper, see the help topics available by selecting the JDeveloper Accessibility node under JDeveloper Basics in the online help table of contents.

2.9.1 Generating Accessible HTML

WebCenter provides several Composer components that you can add to your application pages to make them editable at runtime. These components provide attributes that are used to generate accessible HTML. To ensure that the pages you create are accessible, you must set these attributes, listed in Table 2-2.

Table 2-2 Accessibility Attributes for Oracle Composer Components

Component Accessibility Attributes


No accessibility attributes.


No accessibility attributes.


shortDesc—Mandatory. This attribute transforms into an HTML alt attribute.

accessKey—Optional. This attribute sets the mnemonic character used to gain quick access to the component.


No accessibility attributes


shortDesc—Mandatory. This attribute transforms into an HTML alt attribute.

accessKey—Optional. This attribute sets the mnemonic character used to gain quick access to the component.


No accessibility attributes


shortDesc—Mandatory. This attribute transforms into an HTML alt attribute.

2.9.2 Accessibility Features at Runtime

When you enable users to customize a page at runtime, you must ensure that any customizations are also accessible to all users. For all components that users can create at runtime, all accessibility-related attributes are shown in the Property Inspector where users can set them appropriately.

For a list of accessibility-related attributes for WebCenter-specific components, see Table 2-2. For a list of accessibility-related attributes for other components, see the Developing Accessible ADF Faces Components and Pages section in the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework.

2.9.3 Accessibility Considerations for Portlets

IFrames are not very well accommodated by today's screen readers and so are not permitted by some accessibility standards. Unfortunately, it is a common practice to place nested form tags inside an IFrame. This situation occurs because HTML standards do not allow the use of nested form tags in page content. However, JavaServer Faces pages almost always include a form tag so the JSF reference implementation, which is what is used to generate the markup, puts the entire page body inside a form tag. If you then have a portlet on that Faces page that includes a form tag in its content, which is frequently the case, you have a nested form tag. The common resolution for nested form tags is to put the inner form inside an iframe.

To address the situation of nested form tags and iframes, WebCenter offers two solutions:

  • WebCenter automatically parses the HTML markup from portlets looking for form tags and rewrites them and the corresponding submit tags to be Faces compliant using JSF's subform mechanisms. However, this HTML parsing can fail, especially given the growing use of complex, AJAX style markup.

  • WebCenter provides an optional attribute in the adf:portlet tag called renderPortletInIFrame. You can set this attribute to false to avoid ever using IFrames.

    • auto (default) - parse the markup and, if the parsing gets an error because it cannot understand it properly, render the content inside an iframe, otherwise render the content inline.

    • true - always render an iframe.

    • false - never render an iframe.