Oracle Self-Service Web Applications

Overview of Oracle Self-Service Web Applications (HTML-based Applications)

Important: This information is provided for backward compatibility only.

The Oracle Self-Service Web Applications, including Self-Service Expenses, Self-Service Human Resources, Internet Procurement, Internet Receivables, Self-Service Time, Web Suppliers, iStore, iPayment, iSupport, iMarketing, and eTravel from Oracle, extend the functionality of Oracle E-Business Suite by adding a browser-based, walk-up-and-use functionality that supplements Oracle E-Business Suite.

The Oracle Self-Service Web Applications can be either inquiry or transactional. Inquiry modules read but do not update the Oracle E-Business Suite database; transactional modules update the database.

Oracle Self-Service Web Applications Architecture

The architecture consists of the following components:

Definitions

The following definitions will help you to understand the big picture of Oracle Self-Service Web Applications.

Oracle HTTP Server

The Oracle HTTP Server (powered by Apache) is based on the open source HTTP server created by the Apache Software Foundation. Information on the Apache Server can be found at http://www.apache.org. This provides the communication services of Oracle Internet Application Server (iAS). The Apache Server is modular. In addition to the standard Apache modules (often referred to as mods) the Oracle HTTP Server adds a number of Oracle specific modules, along with an extension to the functionality of several of the standard mods. Theses include mod_cgi, mod_ssl, mod_jserv and mod_perl.

Common Gateway Interface (CGI)

The industry standard technique for running applications on a web server. Oracle HTTP Server supports this standard.

HTML (HyperText Markup Language)

A format for encoding hypertext documents that may contain text, graphics, and references to programs, and references to other hypertext documents. HTML is a subset of Standard Generalized Markup Language (SGML).

HTTP (HyperText Transfer Protocol)

A protocol used to request documents from the web server.

JavaBeans

A reusable Java class which has specific naming conventions for its methods and variables. JavaBean components can be used to perform well-defined tasks, such as connecting to a database, maintaining client information, or rendering a screen page.

Javascript

Javascript is a scripting language that adds significant power to HTML files without the need for server-based CGI programs.

Java Server Pages

JSPs allow for the embedding of servlet code within HTML pages. The operation of JSPs is similar to that of server-side includes.

Java Servlets

A small, "pluggable" extension to a server that will enhance the server's functionality. Java servlets are a key component of server-side Java devlopment.

mod_cgi

An Apache module that provides for the execution of Common Gateway Interface (CGI) applications through the invocation of an operating system shell that runs the application and uses the CGI to deliver data to the application..

mod_jserv

An Apache module that routes all servlet requests to the Apache JServ Servlet engine. The servlet engine provides the runtime environment to execute servlets. The servlet engine executes from within a Java Virtual Machine (JWM) running on the same node, or a different node, to the Apache HTTP Server. Each JVM has one servlet engine but the number of servlet engines is not proportional to the number of JServ processes. As the mod_jserv and Apache JServ servlet engines are different processes, potentially running on different machines, a protocol called Apache JServ Protocol (AJP) is used for communication.

For more information on the AJP Protocol refer to http://java.apache.org/jserv/protocol/AJPv11.html

Web Applications Dictionary

An active data dictionary that employs the Oracle Forms-based interface. The data dictionary stores specific information about Self-Service Web Applications data, including prompts, language, navigation, and security.

Web Browser

The client user interface component. The browser you use must support tables and frames and be Javascript enabled. The embedded Javascript coding provides a mechanism for client side caching of user-entered data during a transaction, and simple client side validation of user-entered data. Execution of simple Javascript code logic at the client side results in reduced network traffic between the web browser client and the web server.

Oracle Workflow

Workflows can be defined for business flows so users can be sent automatically all the information they need to make a decision and have other business processes run automatically based upon their responses.

Workflows are defined using the Workflow Builder, a Windows GUI interface that enables users to design the business process, the activities, items, messages and lookup lists, and roles (the approval chain). This workflow is then integrated into the business transaction process. For Web Employees, it is integrated with the requisition approval process.

Notifications generated in the workflow chain can be viewed with the Oracle Self-Service Web Applications or a Workflow-supported email system.

Oracle Self-Service Human Resources includes a predefined workflow process to generate offer letters.

All workflow processes are customizable.

For more information, see the Oracle Workflow documentation.

Web Applications Dictionary

This is an Oracle Forms-based data dictionary used to define flow content. When users query for data, information is displayed on a web page, complete with hypertext links that enable the user to drill down to more detailed information. The pages that are linked in this way constitute a flow, alternatively referred to as an inquiry. Using the Web Applications Dictionary, you specify the content of, and links between the pages that make up a flow. Specifically, you can specify:

Web Applications Dictionary also serves as a real time execution engine to retrieve information from the database. Oracle Self Service applications reference the data dictionary at run time to retrieve data from the database and generate dynamic HTML pages.

The Web Applications Dictionary provides a means of defining business flows which can then be web-enabled. All inquiry flows were built using Web Applications Dictionary. These can be customized as needed.

The Web Applications Dictionary is part of Oracle E-Business Suite, Release 12 and is part of the “AK Common Modules". Once installed, it is accessed in the same manner as all of the core Oracle E-Business Suite.

See: Web Applications Dictionary Overview.

Displaying Information Accessed from Servlets and Java Server Pages

When you invoke an OSSWA function that displays information as dynamically generated web pages, the following sequence of events takes place:

  1. The user clicks the hyperlink of a function on an OSSWA menu. A URL embedded in the HTML source code is accessed from the browser that calls for a Java servlet.

  2. The Oracle HTTP Server, powered by Apache, routes the request to mod_jserv.

  3. mod_jserv takes requests and forwards them to Apache Jserv, the servlet engine.

  4. The servlet engine generates the response, communicating with the database as required. If the servlet needs to execute any Java Server Pages (JSP) it will contact Oracle JSP. Oracle JSP is a translator and runtime environment for JSPs. Oracle JSP can run as a standalone translator or as part of a servlet engine, to dynamically compile JSPs as required.

  5. The response is returned to mod_jserv.

  6. The HTTP Server returns the response to the client.

Web Applications Dictionary Overview

The Web Application Dictionary is an active data dictionary that enables you to define applications for the web, and generate many of the application's characteristics at runtime. The data dictionary stores key information about your application, including appearance, language, security requirements, navigation, and data. Because this information is stored in an active data dictionary, you can create an inquiry application for the web specifically designed to meet your business needs.

An Oracle Forms user-interface is provided for you to enter your application's characteristics in the active data dictionary. Through this user-interface, you can customize existing inquiry applications for the web, or create new ones without programming effort. You can create applications that are customizable, extensible, and multilingual.

With Oracle Web Application Dictionary you can:

Definitions

Below are some terms used with the Web Applications Dictionary.

Object

A database view.

Attribute

A reusable field used in a web inquiry application. For example, customer name and customer number are both attributes. An attribute is not associated with data. For example, the customer name attribute can be reused anytime a customer name field is displayed on a web inquiry screen.

Object Attribute

A reusable field that results when you associate an attribute with an object.

Region

A logical grouping of data. For example, customer information can be grouped in one region and shipping information can be grouped in another region. A region also represents a section of a web page.

Region Item

A reusable field that results when you associate an attribute or object attribute with a region.

Optional Web Application Dictionary Windows

The steps above show one way of creating a flow using the Web Application Dictionary. However, there are additional optional screens that are provided as well, specifically the Assign Regions screen and its related screen. You can use the Assign Regions screen to assign an object attribute to many regions at once. You can optionally navigate to this screen from the Object Attributes window using the Multiple Assignments button.

Important: The Attribute Values window is not applicable to the Web Application Dictionary. The Attribute Navigation button in the Regions window causes the Attribute Values window to be displayed

Setting the Folder Mode

Three Common Modules folder windows display different fields, depending if you use Oracle Product Configurator, Oracle Self-Service Web Applications, or both. Use the MODE parameter in the Form Functions window to set which mode to use, Product Configurator or Applications for the Web (Self-Service Web Applications).

If your site uses only one mode, set the MODE parameter at the site level. If your site uses both modes, set the MODE parameter at the user level.

To set the folder mode:

  1. Log in to Oracle E-Business Suite, choose the System Administrator responsibility, and Open the Form Functions window.

  2. For the Object Workbench, Define Regions, and Define Attributes window, set the MODE parameter to one of the following:

  3. WEBAPPS if you are using Oracle Self-Service Web Applications.

  4. CONFIGURATOR if you are using Oracle Product Configurator.

    For example, if you are using the Product Configurator, set:

     MODE="CONFIGURATOR"

    Note: The MODE parameter can be set at either the site or user level. If your site uses both Product Configurator and Self-Service Web Applications, set MODE at the user level according to how each user uses these windows.

Web Applications Dictionary Tasks

This section contains tasks using the Web Application Dictionary.

Defining Objects

You must define an object for each database view to be used in your flow. This function registers the view in the Web Application Dictionary.

Note: You can only define one object per database view.

Before defining an object, create views to use in your web inquiry.

To define an object:

  1. In the Web Application Dictionary, navigate to the Objects folder window.

  2. Enter an object name.

  3. Select an application.

  4. Select a database object, i.e., a database view.

  5. Choose the Object Attributes button to define the attributes for the database object.

  6. Choose the Unique Keys button and define the primary and unique keys for the database object.

  7. Enter the primary key.

  8. Save your work.

  9. Choose the Foreign Keys button to define foreign keys for the database object.

Assigning Attributes to Objects

Associate defined attributes with one or more objects (database views) to create object attributes.

Note: Uniform Resource Locator (URL) attributes must be object attributes.

Note: If you are updating existing assignments and you change a long label, you are prompted if you want to change the label for all related object attributes and region items. If you choose OK, all related labels are changed.

Prerequisites to this task are:

To assign attributes to objects:

  1. Navigate to the Object Attributes folder window.

  2. Select an existing attribute name to assign to an object.

  3. Optionally, select a database view column name corresponding to the object attribute.

  4. Enter a long label for the object attribute. The default is the label used when the attribute was defined, but can be overridden.

    Note: The remaining data in the Object Attributes folder window defaults from when you defined the attribute. You may override these defaults.

  5. Choose the Create Attributes button to create additional attributes. When you close the Attributes window, you are prompted to add the attributes you just created to your object attributes.

To assign multiple regions:

  1. Choose the Multiple Assignments button.

  2. Enter all the regions that you want the current object attribute assigned to.

Defining Attributes

Attributes can be defined and then assigned to one or more objects.

Note: If you are updating existing attributes and you change a long label, you are prompted if you want to change the label for all related object attributes and region items. If you choose OK, all related labels are changed.

To define attributes:

  1. Navigate to the Attributes folder window. Do this by choosing the Create Attributes button from the Object Attributes folder window.

  2. Enter an attribute ID, the internal name for this attribute.

  3. Enter an application to associate with the attribute.

  4. Enter a user–friendly attribute name to be used in lists of values.

  5. Enter a long label for the attribute. The default is the attribute name. This is the attribute prompt in your web inquiry application.

  6. Optionally, indicate how the text should appear on the browser: bold, italic, and so on.

  7. Select a vertical alignment: Top, Center, or Bottom.

  8. Select a horizontal alignment: Left, Center, or Right.

  9. Enter the datatype for the attribute.

  10. Enter the display length for the attribute value.

  11. Optionally, enter a free–form description for the attribute.

Defining Unique Keys

For each object, a unique primary key must be defined. A primary key ensures that each row of data can be uniquely identified and cannot be duplicated.

Prerequisites for this task are:

To define a unique key:

  1. In the Web Application Dictionary, navigate to the Unique Keys window by choosing the Unique Keys button from the Objects folder window.

  2. Enter a name for the unique (primary) key.

  3. Enter at least one unique key column sequence. The sequence determines the order the specified columns are evaluated.

Defining Foreign Keys

The combination of primary keys and foreign key relationships determine the navigation through your web flow. That is, if your flow must have navigation from one region to another based upon the same object, a foreign key must be defined for that object.

The prerequisites of this task are:

To define a foreign key:

  1. In the Web Application Dictionary, navigate to the Foreign Keys window by choosing the Foreign Keys button from the Objects folder window.

  2. Enter the foreign key.

  3. Select the parent object (database view).

  4. Enter the referenced key. This is the unique (or primary) key of the parent object.

  5. Optionally, enter a description for the relationship.

  6. Optionally, enter the inverse relationship.

  7. Optionally, enter a description for the inverse relationship.

  8. Enter the foreign key column.

  9. Enter the referenced key column.

  10. Repeat the last two steps until all referenced key columns have been assigned.

Defining Regions

Regions can be defined and then assigned to one or more pages.

You can define regions that do not display. Such regions serve as a way of navigating from one object to another.

Before performing this task, define your objects.

To define a region:

  1. Navigate to the Regions folder window.

  2. If you want to copy an existing region to then modify and save as a new region, choose the Copy button. Enter a new application name, region ID and region name.

  3. If you are creating a new region from scratch, enter the ID for the region.

  4. Enter a user–friendly region name.

  5. Enter the application associated with the region.

  6. Select the object name associated with the region.

  7. Select a region style: Single–row, Multi–row.

  8. If you selected Single–row in the previous step, enter the number of columns (a field and its label) to display in the region before the line wraps.

  9. Optionally, enter a free–form description for the region.

  10. Use the Region Items button to navigate to the Region Items window.

Creating Region Items

Region items are attributes or object attributes that are placed within a region. These are typically the attributes that you want to display in the region. However, there are exceptions to this.

Prerequisites to this task are:

To create region items:

  1. In the Web Applications Dictionary, navigate to the Region Items folder window. Do this by selecting a region in the Regions window and choosing the Region Items button.

  2. Select the attribute type, either attribute or object attribute, to associate to a region. An attribute is usually reserved for use with a button.

  3. Select the name of an existing attribute or object attribute.

  4. Enter a display sequence for the region item.

    This determines the order of the region items, whether they display or not. If you do not want a region item displayed, select the Hidden item style in the next step.

  5. Select an item style, either Button or Text.

    Note: The Checkbox, Hidden, and Poplist item styles are not supported.

  6. Optionally, indicate whether the region item can be queried.

  7. Optionally, indicate whether the underlying column of the region item should determine the order in which data is displayed, and whether that order is ascending or descending.

    This generates a web query form.