Oracle® WebCenter Framework Developer's Guide 10g (10.1.3.2.0) B31074-04 |
|
Previous |
Next |
This chapter helps you determine the type of WebCenter application to build and explains the major considerations for building it. Before you begin building your WebCenter application, you should review this chapter carefully to determine what options are available to you and what kinds of issues you must consider before you start building.
Oracle WebCenter Framework provides you with a set of features (for example, portlets, customization, and content integration) that simplify the process of building a WebCenter application with Oracle ADF and deploying it.
A WebCenter application is an application that employs some or all of the following elements:
Customizable pages
Content (from content repositories by way of Java Content Repository data controls)
Portlets
Customizable components
Collaboration tools (for example, discussion forums and instant messaging)
Skins
Security
After the WebCenter application has been built and tested, you must still deploy it for your end users. Once deployed and running, users will begin to access the WebCenter application and administrators to maintain it. The sections that follow provide an overview of the componentry of WebCenter applications.
At its core, Oracle WebCenter Framework provides you with the functionality to extend your JSF pages with all of the following:
Customizable components to rearrange content within an area or to hide or show child components.
Portlets to display, personalize, and reuse dynamic content.
Content retrieved from content repositories by way of Java Content Repository (JCR) data controls.
By combining these elements, you provide your users with easy access to content and collaboration capabilities. Optionally, you can also enable customization of these various page elements to make the WebCenter application more flexible. Note that administrators can customize the page for the end user, but end users cannot personalize pages. End users can only personalize portlets, assuming the portlets implement personalization and the application implements user authentication.
See Also: Chapter 4, "Populating Pages" for more information about extending pages with these capabilities. |
Customizable components enable administrators to manipulate their view according to their requirements. For example, they may choose to hide a certain component altogether or move it up to the top of the page. By adding customizable components to a page, you make the page customizable.
Customizable components include content container components called ShowDetailFrame
and layout components called PanelCustomizable
. You can use these components to enable administrators to rearrange, hide, or display pieces of content, and to be able to define the behavior of content on a page.
Oracle WebCenter Framework provides two customizable components:
A ShowDetailFrame
component that places a chrome around the components it contains, thereby enabling the administrator to minimize, maximize, or move that content.
A PanelCustomizable
component that enables the administrator to hide or show the child components that it contains.
In a typical scenario, you might have several ShowDetailFrames
that each contain another component (for example, Oracle ADF Faces tables and objectImage
). You could then wrap a PanelCustomizable
component around these ShowDetailFrames
, thereby making them children of the PanelCustomizable
. In this scenario, each ShowDetailFrame
would have its own chrome for minimize, maximize, and move. Furthermore, all of the ShowDetailFrames
would be surrounded by chrome that enables you to hide or show the child ShowDetailFrames
. Note that the PanelCustomizable
provides the ability to move the contents, without it, the ShowDetailFrame
could only be minimized or maximized.
Oracle WebCenter Framework supports WSRP 1.0, WSRP 2.0, JSR 168, and Oracle PDK-Java for portlets. Note that WSRP 2.0 features require some Oracle extensions in this initial release of Oracle WebCenter Framework. You should also be aware that all portlets run remotely from the application in the Oracle WebCenter Framework environment, meaning there are no local portlets. You must always deploy the producer and register it with the application before consuming its portlets.
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 the following:
The Rich Text portlet offers browser-based, rich text editing at run time.
Web Clipping is a browser-based, declarative tool that enables you to integrate any Web application with your WebCenter application.
OmniPortlet is a declarative portlet-building tool that enables you to build portlets against a variety of data sources, including XML files, character-separated value files (for example, spreadsheets), Web Services, databases, and Web pages.
Packaged applications will 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, or PDK-Java), you can include these portlets in your WebCenter application as well.
You can link 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.
See Also:
|
To browse and query content repositories from your WebCenter application, you must bind the data from the repository to your application. With JCR data controls in Oracle JDeveloper and Oracle ADF, you can connect to content repositories and display their content within a WebCenter application. This functionality is based upon JSR 227, which provides a standard way of binding data from different sources to a Java user interface.
For example, you could create a data control that selects content from Oracle Content Database (Oracle Content DB), Oracle Application Server Portal (OracleAS Portal), or a file system. Once the data control is created, you can drop it onto a JSP document as a table. If you must retrieve data from a content repository other than Oracle Content DB, OracleAS Portal, 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 choose the content repository from which you want to retrieve data.
A skin in Oracle ADF Faces is a global style sheet that is set in one place for an entire application. Instead of having to style each component, or having to insert a style sheet on each page, you can create one skin for the entire application. Every component automatically uses the styles as described by the skin. Any changes to the skin are picked up at run time, no code change is required. Skins are based on the Cascading Style Sheet specification and use CSS 3.0 syntax.
See Also: Chapter 9, "Defining and Applying Styles to Core Customizable Components" for more information about skins and how to use them. |
The security model of a WebCenter application can encompass a wide variety of areas. You must consider the needs of your particular environment and choose which aspects of security you ought to apply to your application as follows:
You may want to require user login and control access to certain areas or functions based on user roles. You can define what actions are permissible, based upon roles, at a granular level (for example, pages, data iterators, attributes, and methods). You can also control whether a view component is visible to a user based upon permissions on other pages and components.
Your WebCenter application may need to negotiate the security systems of external applications or content repositories to fetch data or content.
You may want to configure secure identity propagation between the application and remote portlets.
See Also: Chapter 10, "Securing Your WebCenter Application" for more information about options for securing your WebCenter application. |
After you have created and tested your WebCenter application in the design time environment (Oracle JDeveloper), you must deploy it to your production system. Once deployed, you must then maintain the system. For example, you will want to monitor performance and availability, edit or refresh portlet producers, undeploy applications, and perhaps migrate customization data. Inevitably, you will also want to further enhance the application, stage it again, and then redeploy it to your production system. Using the life cycle tool and Grid Control Console, you can easily perform these tasks on your production WebCenter application.
When you come to design your WebCenter application, you must consider the needs of your audience. In particular, it's important to think about what features and capabilities your WebCenter application end users, administrators, and developers most need. The following list of common questions can help you work through this planning process. Before you begin to actually build a WebCenter application, you should think carefully about the answers to all of the following questions:
How many users are there? If your WebCenter application must serve a large number of users, then you will must take that into account when you define your deployment environment.You must choose a topology that can support the number of users you expect to have accessing your WebCenter application.
See Also: Oracle Application Server Enterprise Deployment Guide to help you decide which Oracle Application Server configuration will best support your WebCenter application. |
Do users need to personalize their portlets? Portlets can optionally include a personalization mode (Edit mode) that enables an authenticated user to personalize the portlet. The Edit mode might enable 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. Once the user's changes are applied, the portlet will display the prices for their chosen ticker symbols. Note that, if you choose to implement personalization, then you must also implement some form of security for the application consuming the portlet. The Personalize option only appears to authenticated users.
What types of pages or layouts will best serve your users? With Oracle WebCenter Framework, you can lay out content in a variety of ways. You can create a three column page with a navigation bar on the top or side. Or you can create more of a dashboard appearance. You can also enable users to rearrange objects on the page. You must consider these options up front and decide the best way to lay out your content on the page.
See Also: Chapter 4, "Populating Pages" for more information about how you might go about building your pages. |
Site Administrator Considerations
Note: It's critical that the WebCenter application administrator and the developers communicate when the WebCenter application is under construction. At design time, developers must make many choices that will determine what the administrator can do to the application at run time. For example, if the developers choose not to implement skins, then the administrator will have no control over the look and feel of the application. Hence, the administrator and the developers should ensure that they are in sync at design time. |
Do administrators need to customize pages and portlets for users or user groups? You may want to enable your WebCenter application administrator to customize pages and portlets to provide default views of the WebCenter application for users.
WebCenter application look and feel. By implementing skins for your WebCenter application, you enable administrators to choose the look of the pages in the WebCenter application.
Customizable Pages. The administrator can customize the layout of the page.
Portlets. Portlets can optionally include a customization mode (Edit Defaults mode) that enables the administrator to customize the portlet. The administrator's customization is treated as the default view of the portlet for all other users.
Portlet Title. If the administrator must customize the portlet's title, then the developer must not use the text
attribute of the <portlet>
tag.
See Also:
|
Do you have portlets that contain <form> tags? The HTML generated by a JSF page includes a <form>
tag. If you place a portlet on a JSF page that contains its own <form>
tag as well, then the JSF page will break. To avoid this <form>
tag conflict, an inline frame (IFRAME) surrounds portlets by default. You can control the use of IFRAMEs for portlets by setting the renderPortletInIFrame
attribute of the adfp:portlet tag. The recommended setting for this attribute is auto
, which places IFRAMEs around portlets in which a <form>
tag is detected. If you choose false
, then it becomes your responsibility to ensure that the portlet is free of <form>
tags.
Do developers need to integrate content from content repositories (for example, OracleAS Portal)? If you have content located in content repositories that you want to expose in the WebCenter application, then you must use JCR adapters and data controls.
See Also: Chapter 5, "Integrating Content" for more information about including content through JCR data controls and adapters. |
Will the visible content of the WebCenter application vary depending upon the identity of the user? If you plan to have content in your WebCenter 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 application with content for all employees), then you might not need to implement access control.
See Also: Chapter 10, "Securing Your WebCenter Application" for more information about implementing a security model for your WebCenter application. |
Does your WebCenter application need to provide access to external applications? In many cases, you might have external applications that you want to surface in your WebCenter application. For example, you might have e-mail, human resources, or financial applications that you would like users to be able to view from within the WebCenter application. If you must provide access to such external applications from your WebCenter application, then you must consider the effect on your security model.
See Also: Chapter 10, "Securing Your WebCenter Application" for more information about accessing external applications from your WebCenter application. |
Does your WebCenter application need external application portlets from OracleAS Portal? If you have legacy external application portlets that were built for OracleAS Portal, then you can reuse those portlets in a WebCenter application. This feature enables users to view these portlets from their WebCenter application rather than having to open each application separately or go back to OracleAS 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. Such authentication requires a credential vault, where the WebCenter 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.
See Also: Section 10.7, "Accessing External Applications Requiring Credentials" to learn more about external application portlets. |
Will the WebCenter application be developed by a team of developers? If you are doing team development on your WebCenter application, then you must take into account some additional design considerations. For example, when doing team development, you must be much more aware of which files various Oracle JDeveloper actions will touch.
The example used in this guide is based on the Oracle ADF application shown in the Oracle Application Development Framework Developer's Guide, and shows you how to add portal and WebCenter Services capabilities to an existing Oracle ADF application. This section covers the following two topics:
Section 2.3.1, "Introduction to the Oracle ADF Service Request Demo"
Section 2.3.2, "Setting Up the Oracle ADF Service Request Demo"
The Service Request demo (SRDemo) application is a sample customer relationship management application that lets customers of a household appliance servicing company attempt to resolve service issues over the web. The application, which consists of sixteen Web pages, manages the customer-generated service request through the following flow:
A customer logs in and submits a service request.
A manager logs in and assigns the request to a technician.
The technician logs in and reviews their assigned requests, then provides a solution or solicits more information from the customer.
The customer returns to the site and checks their service request and either closes the request or provides further information.
While a request is open, managers can review an existing request for a technician and if necessary reassign it to another technician.
Additionally, technicians can identify products in their area of expertise. Managers then use this information to assign service requests.
After the user logs in, they see only the application functionality that fits their role as a customer, manager, or technician.
See the chapter titled Introduction to the Oracle ADF Service Request Demo in the Oracle Application Development Framework Developer's Guide,for more information about the demo.
About the Scenario
The SRDemo takes an existing Oracle ADF application for tracking customer service requests and adds portal capabilities to the application without altering the existing application. This service request application enables customers, technicians, and managers view information about service requests all from the same interface. The three roles are as follows:
Customer (a customer of the My Acme Corporation)
Technician (a technician who handles service requests for the My Acme Corporation)
Manager (a manager who administers the Web site and runs a team of technicians for the My Acme Corporation)
Customer
The customer logs in to the application and can view current announcements, his existing service requests, and details about these requests. He can also view information about the products he has purchased, as well as a list of his current contracts with the company providing the services. He can also submit feedback on existing service requests.
Technician
The technician logs in to the application and views the service requests assigned to him, and can update existing service requests.
Manager
The manager logs in to the application and, at run time, can update the announcements that the customer views. He can also modify the page at run time using content in the content repository. For example, if a new service is now available to customers, then the manager can add information about this new service at run time. The manager can also review the feedback the customer has returned and add his own notes. He can also view site statistics on a dashboard page, which shows the current service request volume, the most active customers, and so on, as well as customize this dashboard page. The manager also has access to general site administration from a single page, where he can change the look and feel by switching skins and customize the login.
To view the SRDemo and perform some of the example tasks in this guide, you must download and install the starter files. To do so, perform the following steps:
Download the WebCenterSRDemo.zip
file, located on this page:
http://www.oracle.com/technology/products/webcenter/documentation.html
Extract the ZIP file to your c:\
drive, and follow the instructions in the Install.html
file located at the top level of the directory.