oracle retail navigator operations guide release 11.2 ...oracle retail navigator and javadoc javadoc...

24
Oracle ® Retail Navigator Operations Guide Release 11.2 January 2007

Upload: others

Post on 06-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Oracle® Retail Navigator

Operations Guide Release 11.2

January 2007

Page 2: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Oracle® Navigator Operations Guide, Release 11.2

Copyright © 2007, Oracle. All rights reserved.

Primary Author: Nathan Young

The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited.

The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose.

If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software—Restricted Rights (June 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065

The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs.

Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.

Page 3: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

iii

Contents Preface ............................................................................................................................... v

Audience ....................................................................................................................................v Related Documents ....................................................................................................................v Customer Support ......................................................................................................................v Conventions ...............................................................................................................................v

1 Introduction .................................................................................................................. 1 Functional Overview..................................................................................................................1 Oracle Retail Navigator and Javadoc.........................................................................................1 Where you can find more Information.......................................................................................1

2 Backend System Administration and Configuration ............................................... 2 Exception Handling ...................................................................................................................2 Logging......................................................................................................................................2

Jakarta Commons Logging .................................................................................................2 Log4j.xml ...........................................................................................................................3 Logging Levels ...................................................................................................................3 Output File ..........................................................................................................................3

Configurable Files......................................................................................................................4 tasks.properties File ............................................................................................................4 launchParams.properties File..............................................................................................4 applicationLaunch.properties File.......................................................................................6 jndi_providers_rsm.xml......................................................................................................6 navigator.jnlp File...............................................................................................................6 navBC.jnlp..........................................................................................................................7

Hibernate Configuration ............................................................................................................8 Property Declaration in hibernate.cfg.xml..........................................................................8 Additional Hibernate Resources .........................................................................................9

Internationalization and Localization.........................................................................................9 Resources_xx.properties ...................................................................................................10 Translation ........................................................................................................................10

3 Technical Architecture .............................................................................................. 11 Overview..................................................................................................................................11 The Tiered Model ....................................................................................................................12

Presentation Tier...............................................................................................................13 Application Services (Stateless Session Beans) Tier ........................................................13 Core Services Tier ............................................................................................................14 Data Access Tier...............................................................................................................14

Oracle Retail Navigator Architectural Related Java Terms and Standards..............................15 Data access object (DAO).................................................................................................15 Enterprise Java Beans (EJB).............................................................................................15 Enterprise Java Beans (EJB) Container ............................................................................15 J2EE Server ......................................................................................................................15 Java 2 Enterprise Edition (J2EE) ......................................................................................15 Java Development Kit (JDK)............................................................................................15 Java Web Start ..................................................................................................................15 Java Runtime Environment (JRE) ....................................................................................16 Remote Interface...............................................................................................................16

4 Integration Interface Dataflows ................................................................................ 17 Overview..................................................................................................................................17 Supported Oracle Retail Products ............................................................................................18

Page 4: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format
Page 5: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

v

Preface This operations guide serves as an Oracle Retail Navigator solution reference to explain ‘backend’ processes and configuration.

Audience Anyone with an interest in developing a deeper understanding of the underlying processes and architecture supporting Oracle Retail Navigator functionality will find valuable information in this guide. There are two audiences in general for whom this guide is written: System analysts and system operations personnel:

Who are looking for information about Oracle Retail Navigator’s processes internally or in relation to the systems across the enterprise.

Who operate Oracle Retail Navigator regularly. Integrators and implementation staff with overall responsibility for implementing

Oracle Retail Navigator.

Related Documents For more information, see the following documents in the Oracle Retail Navigator Release 11.2 documentation set: Oracle Retail Navigator Installation Guide Oracle Retail Navigator Release Notes

Customer Support https://metalink.oracle.com

When contacting Customer Support, please provide: Product version and program/module name. Functional and technical description of the problem (include business impact). Detailed step-by-step instructions to recreate. Exact error message received. Screen shots of each step you take.

Conventions Navigate: This is a navigate statement. It tells you how to get to the start of the procedure and ends with a screen shot of the starting point and the statement “the Window Name window opens.”

Note: This is a note. It is used to call out information that is important, but not necessarily part of the procedure.

This is a code sample It is used to display examples of code A hyperlink appears like this.

Page 6: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format
Page 7: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Introduction 1

1 Introduction

Welcome to the Oracle Retail Navigator Operations Guide. The guide is designed so that you can view and understand the application’s ‘behind-the-scenes’ processing, including: its key system administration tools and configuration settings, its technical architecture, and its integration dataflow across the enterprise.

Functional Overview Oracle Retail Navigator provides a unified, single point for business users to securely access the Oracle Retail enterprise of applications. The application also provides single signon functionality across all Oracle Retail applications. Combined with Oracle Retail Security Manager (RSM), Oracle Retail Navigator grants business users authorized, single signon access to Oracle Retail applications needed to effectively complete their jobs. Business users can focus on achieving their objectives as opposed to navigating through the multiple logins and start menus associated with various applications. Oracle Retail Navigator’s configurability provides business users with a more horizontal perspective of their enterprise. The application’s ‘my favorites’ option provides users with quick and relevant access to specific application functionality. Users can access applications and/or forms within applications from a single place. The application provides business users with immediate access to the core Oracle Retail functions they need to perform in their jobs.

Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format. The Oracle Retail Navigator retailer receives Javadoc documentation generated from Oracle Retail Navigator code as a separate documentation deliverable (along with the Oracle Retail Navigator Installation Guide, the Oracle Retail Navigator Data Model, and so on).

Where you can find more Information This guide does not show you how to use the front-end of Oracle Retail Navigator. Rather, the focus here is on how data is managed, how it flows, and how it is processed.

If you wish to find further information, see the following applicable Oracle Retail documents: Retek Navigator front-end documentation (for example, the Oracle Retail Navigator

Quick Reference Guide) Oracle Retail Navigator Installation Guide Oracle Retail Navigator Data Model Oracle Retail Navigator Javadoc RSM product documentation

Page 8: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

2

2 Backend System Administration and

Configuration For information about requirements for Oracle Retail Navigator’s client, database, operating system, and middle tier, see the Oracle Retail Navigator Installation Guide.

Exception Handling The two primary types of exceptions within the Oracle Retail Navigator system are the following: System exceptions

For example, server connection and/or database issues are system exceptions. System exceptions usually occur because of incorrect configuration settings.

Application exceptions For example, if a user creates a new folder in the ‘my favorites’ section, adds an application as an entry to that folder, and tries to add the same application as an entry to that same folder, an application error occurs. Most exceptions that arise in the system are application exceptions.

Logging

Jakarta Commons Logging The API that Oracle Retail Navigator components work with is built using Jakarta's Commons Logging package. Commons logging provides ‘an ultra-thin bridge between different logging libraries’, enabling the Oracle Retail Navigator application to remain reasonably 'pluggable' with respect to different logger implementations. Objects in Oracle Retail Navigator that require logging functionality maintain a handle to a Log object, which adapts logging requests to the (runtime configurable) logging provider. In Oracle Retail Navigator, Log4j is the library under commons logging. Additional information about Jakarta Commons Logging can be found at the following websites: http://jakarta.apache.org/commons/logging/ http://jakarta.apache.org/commons/logging/api/index.html

Page 9: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Logging

Backend System Administration and Configuration 3

Log4j.xml The logging mechanism that is used for Oracle Retail Navigator is log4j.xml, which is the same as the server’s flat text log file. This logging mechanism reveals errors and other significant events that occur during the system’s runtime processing. In most cases, business exceptions and system exceptions ‘rise’ to the user interface. If an exception is displayed, it is logged. Log4j.xml is an open source product. Application server logging occurs in Oracle Retail Navigator that should also be configured and monitored. See applicable application server documentation for more information. Additional information about log4j can be found at the following website:

• http://jakarta.apache.org/log4j/docs/index.html

Logging Levels The level setting established in log4j.xml instructs the system to log that level of error and errors above that level. The logging levels are the following: Fatal Error Warning Info Debug

Note: In a production environment, the logging setting should be set to Error or Warn, so that system performance is not adversely impacted.

The level is established in the log4j.xml file. For example: <!-- ======================= --> <!-- Setup the loggers --> <!-- ======================= --> <logger name="com.retek"> <level value="TRACE"/> </logger>

Output File Oracle Retail Navigator’s default logging output file is system.out, the standard application server output file. The system allows another output file to be specified. For example: <param name="Target" value="System.out"/>

For information about Hibernate logging, see the section, “Hibernate Configuration”, below.

Page 10: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Configurable Files

4 Oracle Retail Navigator

Configurable Files

tasks.properties File The retailer configures this file’s settings when additional applications are added to Oracle Retail Navigator. The retailer creates a key name for the added application. Note that all values in this property must end with the suffix .execute. This file is located within the navigator ear in directory conf/retek/. For users to see an application in their Enterprise Tasks area, they must first be in a role that has access to the application. For example, for user Jane.Doe to have access to Oracle Retail Allocation, she must be in a role that has access to role named permission alloction.execute from application navigator. These permissions must be administered using RSM. Tasks.properties example:

allocation=allocation.execute ariadmin=ariadmin.execute reim=reim.execute

Once the retailer has chosen the name of the new key and populated tasks.properties, the retailer updates the following properties (described in this chapter) in the launchParams.properties and applicationLaunch.properties file. Launch URLs Launch types Application name types

Note that other configurable files are also described in this chapter.

launchParams.properties File This server side property file contains information about applications, or forms within an application, that are launched from Oracle Retail Navigator. The file is located within the Oracle Retail Navigator ear in directory conf/retek/. This file is made up of three sections, Launch URLs, Application Name types and Connect Strings.

Page 11: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Configurable Files

Backend System Administration and Configuration 5

Launch URLs The Launch URLs section contains the URLs through which users with applicable permissions launch Oracle Retail applications. Oracle Retail Navigator is designed to work with Oracle Retail Security Manager (RSM) so that users only have to sign on a single time to Oracle Retail Navigator to have access to other Oracle Retail applications; while also bypassing the login screens of these other applications. The server and port string tokens in the urls must be updated for each implementation. For Java Web Start applications (RPM, RSM) launched using the jnlp web application, replace string token ‘@deploy.jnlpgen.url@’ with the server and port of the JNLPGEN web application. For web applications Oracle Retail Allocation and Oracle Retail Invoice Match, update their corresponding string tokens with their server and port information: @alloc.server.port@, @reim.server.port@. For Microstrategy applications (RDW) and Oracle Forms based applications (RMS, ARI), update string token @deploy.client.codebase@ which corresponds to the web server that serves the submitter html files used. #Launch URLs example

rms=http://mspdev05:7778/forms90/f90servlet?config=csrms101xtst allocation=http://mspdev37:8484/index.jsp?fromrsm=true ariadmin=http://mspdev05:7778/forms90/f90servlet?config=ari11 reim=http://mspdev37:8492/index.jsp?fromrsm=true tranfind=http://mspdev05:7778/forms90/f90servlet?config=csrms101xtst_tranfind

Application Name Types The Application Name types section contains properties that represent application names (keys) with a prefix of app. Note that in this property the application itself is specified as a value as opposed to a sub-application or a form within the application (RTM, for example as opposed to htsfindfmb). The following is an application name types excerpt:

application.name.allocation=app.allocation application.name.ariadmin=app.ari application.name.rms=app.rms application.name.tranfind=app.rtm application.name.alcordfn=app.rtm application.name.htsfindfmb=app.rtm application.name.rsm=app.rsm

Connect Strings The connect strings section is specifically for Oracle Forms-based applications (such as RMS) that require connect string parameters in their URL. These properties are string variables that contain database connection information. These string values (@ARIdbConnectString@, @RMSdbConnectString@) must be updated to point at the database being used for each application. The following is a connect strings example.

#app.launch.parameter connect strings conn.ariadmin=ps28rmsp conn.alcordfn=sup9i conn.htsfindfmb=sup9i

Page 12: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Configurable Files

6 Oracle Retail Navigator

applicationLaunch.properties File From Oracle Retail Navigator, you can launch the types of applications described below, each of which is indicated by a number value. If an external application is changed so that it starts in a different manner, update this property to reflect the new start method. The application names defined in the section above, “Application Launch URLs”, must be replicated in this property with a prefix of launch. For standard implementations, no changes are required to this file. This file is located within the navigator ear in directory conf/retek. 0=A web-based application that is accessed through the end user’s default browser 1=A Java Web Start application 2=A web-based application that is accessed through the Navigator embedded

browser. Launch Type, for example: launch.rsm=1 launch.rms=0 launch.allocation=0

jndi_providers_rsm.xml Oracle Retail Navigator’s functionality is tightly coupled with Oracle Retail Security Manager (RSM). The settings in this property identify where Oracle Retail Navigator needs to go to access information from RSM. String token @deploy.rsm.url@ must be updated with the correct WebSphere bootstrap address of RSM. Note that some of the values in this property are application server specific, and retailers should configure these values to reflect their specific environment. For more information on the relationship between Oracle Retail Navigator and RSM, see “Chapter 3 – Technical Architecture”. This file is located within the navigator ear in directory conf/retek. Here is an example of the jndi_providers_rsm.xml file: <ejb_context_overrides> <provider app="rsm" url="iiop://host:port" factory="com.ibm.websphere.naming.WsnInitialContextFactory"> </provider> </ejb_context_overrides>

navigator.jnlp File The Oracle Retail Navigator client application is deployed and launched using Java WebStart. Jnlp files tell Java WebStart what jar files make up the application and from where these jar files can be downloaded. The jnlp file is also used to pass properties into the Oracle Retail Navigator client. Before running Oracle Retail Navigator, the attributes and properties defined below must be updated in the navigator.jnlp. The file is located on your web server in directory /<docroot>/navigator. navigator.jnlp example updates: Codebase attribute attribute (@deploy.client.codebase@): Defines for WebStart the

directory where the jar files are stored. <jnlp codebase="http://server:port/navigator/" spec="1.0+" href=”navigator.jnlp”>

Icon attribute: Location of the icon that is displayed during client application deploy. <icon href="http://server:port/navigator/images/retek_logo.jpg"/>

Page 13: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Configurable Files

Backend System Administration and Configuration 7

Provider URL attribute (@deploy.navigator.url@): Update the server and port attributes with those of the WebSphere bootstrap address of the Oracle Retail Navigator application server. <property name="java.naming.provider.url" value="iiop://server:port"/>

Default URL attribute: Webpage that is displayed as the background of Oracle Retail Navigator. <property name="GUI.DEFAULT_URL" value="http://www.retek.com” />

Login image attribute: Name of the image file that is displayed during login. <property name="GUI.LOGIN_IMAGE" value="/com/retek/navigator/icons/Portal-tie.jpg"/>

Other images that may be used are: "/com/retek/navigator/icons/Portal-sneaker.jpg" "/com/retek/navigator/icons/Portal-sweater.jpg"

Browser interface attribute: This configurable setting turns on and off the browser address, back widget button and forward button on the imbedded Oracle Retail Navigator browser. <property name="GUI.BROWSER_INTERFACE" value="FALSE"/>

Max windows attribute: A Boolean setting that controls whether Oracle Retail Navigator windows are opened up in a maximized state on client desktops.

Note: If the login image is not sized correctly, the window may not appear optimally when maximized, especially if the user has a fine display resolution. When this setting is false, the windows open to 1024 x 768 but are not maximized.

<property name="GUI.MAX_WINDOWS" value="TRUE"/>

Allow Oracle Retail Navigator resize attribute: Allows the user to increase the size of the apps window. <property name="GUI.ALLOW_NAVIGATOR_RESIZE" value="TRUE"/>

navBC.jnlp This file is an extension to file navigator.jnlp. navBC.jnlp updates: Codebase attribute (@deploy.client.codebase@): Defines for WebStart the directory

where the jar files are stored. <jnlp codebase=”http://server:port/navigator/” spec=”1.0+” href=”navBC.jnlp”>

Icon attribute: Location of the icon that is displayed during client application deploy. <icon href=”http://server:port/navigator/images/retek_logo.jpg”/>

Page 14: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Hibernate Configuration

8 Oracle Retail Navigator

Hibernate Configuration Note: This section describes hibernate configuration. For a general description of Hibernate, see the section, ‘Data access tier’ in “Chapter 3 – Technical Architecture”.

Because Hibernate is designed to operate in many different environments, there are a number of configuration settings and properties that control the behavior of Hibernate at runtime. Some are optional and have default values. In Oracle Retail Navigator, these configuration setting and properties reside in a full configuration file named hibernate.cfg.xml. The configuration file is located in the following directory: conf/.

Property Declaration in hibernate.cfg.xml The settings described below are located in the hibernate.cfg.xml.

Hibernate logging using show_sql

Note: Because of the volume of SQL logging that occurs, Oracle Retail recommends that SQL not be logged in production.

When this setting is ‘true’, SQL statements are shown in the application server’s log file. This setting might be used during development, build time, performance tuning, debugging, and so on. The executed SQL statements can show against which table(s) queries are pointed. For example: <property name="show_sql">true</property>

connection.datasource On the application server, the system administrator creates the datasource (for example, DB2, Oracle, and so on) and gives it a name (Datasource.JNDI.name). The Oracle Retail Navigator system refers to that name. For example: <property name="connection.datasource">jdbc/fpdev11</property>

use_outer_join This setting relates to SQL queries. This setting enables outer join fetching (values can be true or false). In production, the setting should be ‘true’.

Dialect

Note: This setting changes depending upon what database is being used with the system (Oracle, DB2, and so on).

This setting instructs the system as to how to construct SQL queries (for example, the SQL queries for Oracle are different than those for DB2).

Page 15: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Internationalization and Localization

Backend System Administration and Configuration 9

Jdbc.batch_size

Note: This setting is not applicable to Oracle Retail Navigator.

A nonzero value in this setting enables the use of JDBC2 batch updates by Hibernate.

transaction_manager_lookup_class This setting is the classname of a TransactionManagerLookup and is dependent upon the application server that the system is using. For example: name="transaction.manager_lookup_class">net.sf.hibernate.transaction.WebSphereTransactionManagerLookup

Additional Hibernate Resources For a list of the optional configuration properties that can be specified in hibernate.cfg.xml along with their descriptions, see the Hibernate documentation at http://www.hibernate.org/

Internationalization and Localization The technical infrastructure of Oracle Retail Navigator supports languages other than English. Oracle Retail Navigator has been subject to the modifications associated with ‘internationalization’, also known as I18N. (The I18N name stems from the fact that eighteen letters exist between the first ‘i’ and the last ‘n’ in the word ‘internationalization.’) Internationalization is the process of preparing software in order to ensure that it can efficiently handle multiple languages. In other words, the software is created so that it can be released into international markets. Localization, also known as L10N, is the process of adapting software that has been internationalized so that it can be released into a local market with its own language. (The L10N name stems from the fact that ten letters separate the letter ‘l’ from the letter ‘n’ in the word ‘localization’.) Software is only internationalized once. However, software must undergo the localization process for every new language or location into which it is released. This section describes configuration settings and features of the software that ensure that the base application can handle multiple languages.

Page 16: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Internationalization and Localization

10 Oracle Retail Navigator

Resources_xx.properties An application that can run in various languages must be transformed into somewhat of a ‘generic’ product. That is, the features of the application that could be specific to just one language or locale (such as text, date formatting, and so on) must not be hard-coded into the software. Instead, locale-specific information is intentionally placed in files external to the application. The majority of the locale specific functionality in Oracle Retail Navigator resides in the Resource_xx.properties files located in the navigator-client.jar. The content of the Resource_xx.properties files is interface related, as distinct from executable code. The text in these files is translated so that the interface functions in local settings. The retailer populates the Resources_xx.properties files, where the retailer’s applicable country equals xx. A retailer must populate and/or edit these files with a text editor.

Note: To prevent the application from expending resources translating English into English, the _en versions of these files does not contain examples of the text that a retailer would translate. To identify the text to be translated, a retailer should refer to the _fr versions of these files.

Translation Translation is the process of interpreting and adapting text from one language into another. Although the code itself is not translated, components of the application that are translated include the following, among others: Graphical user interface (GUI) Online help Some print documentation Error messages

Page 17: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Technical Architecture 11

3 Technical Architecture

This chapter describes the overall software architecture for Oracle Retail Navigator. The chapter provides a high-level discussion of the general structure of the system. From the content, integrators and system administrators can learn both about the pieces of the system and how they interact. A description of Oracle Retail Navigator-related Java terms and standards is provided for your reference at the end of this chapter.

Overview Oracle Retail Navigator’s architecture is built upon a tiered model. That is, tiers of the application communicate with one another through an established hierarchy and are only able to communicate with neighboring tiers. Any given tier need not be concerned with the internal functional tasks of any other tier. Conceptually, Oracle Retail Navigator’s J2EE architecture is built upon 4-tiers and implements what is defined as a service-oriented architecture. This type of architecture is essentially a collection of services that pass data, perform business processing, coordinate system activities, and render data into abstract objects. Defined in the abstract, a service is a function that is well-defined, self-contained, and does not depend on the context or state of other services within the system. The application’s tiered Java architecture has the following advantages, among others: The separation of presentation, business logic, and data makes the software cleaner,

more maintainable, and easier to modify. The look and feel of the application can be updated more easily because the GUI is

not tightly coupled to the backend. The DAO pattern provides database and data model independence. Java applications have enhanced portability which means the application is not

‘locked’ into a single platform. Upgrades are easier to implement, and hardware is easier to change.

Logic is implemented using Java objects within a core services tier that is designed around proven architecture concepts.

Page 18: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

The Tiered Model

12 Oracle Retail Navigator

The Tiered Model The following diagram, together with the explanations that follow, offer a high-level conceptual view of Oracle Retail Navigator’s service-oriented architecture. The diagram highlights the separation of tiers as well as their responsibilities within the overall architecture. Key areas of the diagram are described in more detail in the sections that follow.

Value Objects

Value Objects

Application Service Application Service Application Service

Userlink Objects

Userlink Objects

Core Service Core Service

Core Service Core Service

Core Service

Core Service

Core Service

Graphical User Interface

Userlink objects

Object/Relational Mapping

Userlink objects

Object/Relational Mapping

Process Boundary

Userlink objectsUserlink objects

An Overview of Oracle Retail Navigator’s Tiered Architecture

Page 19: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

The Tiered Model

Technical Architecture 13

Presentation Tier The presentation tier (also known as the ‘client tier’) is responsible for presenting data to the user and for receiving data directly from the user through the ‘front end’. The presentation tier is designed only to interface with Oracle Retail Navigator. To address the demands and complexity of a flexible user interface (for instance, the ability to drag and drop favorites), the design of Oracle Retail Navigator front end facilitates robust client-side processing. The presentation tier was developed using a Java Swing framework, which is a toolkit for creating rich presentation in Java applications. A design library defines look and feel issues.

Application Services (Stateless Session Beans) Tier Application services are designed to provide specific services and specific data requirements to the client. What application services the client calls depends upon its needs and the data formats it has. Not surprisingly, the names of application services correspond to the client-related processes. Application services, for example, include login authentication and password encryption services. The application services tier of Oracle Retail Navigator’s architecture implements the enterprise Java bean (EJB) type called stateless session beans (SSB). An SSB is a type of EJB that provides stateless service to the client. For example, a stateless session bean is designed for the GUI. The application services reside on the server side of the process boundary (also known as the remote call boundary). To perform authentication, Oracle Retail Navigator has a set of APIs that calls the API tier within Oracle Retail Security Manager (RSM). Using a remote EJB call, objects in Oracle Retail Navigator ‘talk’ with objects in RSM using Internet Inter-ORB Protocol (IIOP). See the RSM Operations Guide for information about how it performs authentication using Light Directory Access Protocol (LDAP) and a third-party directory server. The application-specific services tier provides an interface between the client and the adjacent core services tier. To solve user interface demands, application services call one or more core services. An important way that application services accept incoming data from the client is via value objects. A value object is a data holder in a highly flat form; value objects facilitate improved system performance. For example, from the GUI, the value object data only has to be what is needed by an applicable screen or set of screens. The application services tier’s primary function is to facilitate the conversion of value objects to userlink objects (described in the ‘Core services tier’ section of this chapter) and userlink objects to value objects which are required by the adjacent tiers. The value objects accepted from and returned to the presentation/client tier are nothing more than data-centric classes which encapsulate closely related items. Value objects are used to provide a quick and lightweight method to transfer flat data items. The value objects passed between the presentation/client tier and the application services tier contain very little, if any, data processing logic and in the context of Oracle Retail Navigator are used solely to transfer data.

Page 20: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

The Tiered Model

14 Oracle Retail Navigator

Core Services Tier This tier consists of a collection of separate and distinct services that encapsulate Oracle Retail Navigator’s core processing logic. Core services are ‘core’ in the sense that they work with the domain object model. Unlike application services, core services make no presumptions about how they might be used. In other words, core services contain generic views of processing functionality. Userlink objects reside very close to the core services. Userlink objects arise from the database and represent the relationship between users and Oracle Retail applications. Every userlink object contains a user’s permissions data, what applications a user can be logged into, and so on. Userlink objects contain behaviors. For example, they perform validation and guard themselves from being used improperly. Userlink objects contain the information needed to interact with RSM’s API tier. When Oracle Retail Navigator ‘talks’ to RSM, the userlink object identifies the user so that RSM can fetch the user’s applicable permissions. RSM can then inform Oracle Retail Navigator that the user has permission to Oracle Retail Allocation, Oracle Retail Invoice Matching (ReIM), and so on. For example, the application service calls the RSM service to authenticate the user and retrieve the user permissions necessary to build the userlink objects. Core services are responsible for finding the userlink objects and sending them back to the data access tier. The core services tier is thus responsible for managing object persistence by interacting with the data access objects residing in the supporting data access tier. This tier also interacts with the supporting data access tier to facilitate object persistence. At a high level, this interaction consists of the core services’ passing userlink objects to the necessary data access objects in the supporting tier. To summarize, the core service tier consists of a collection of Java classes that implement Oracle Retail Navigator’s functional-related logic via one or more high-level methods. The core services represent all logical tasks that can be performed on Oracle Retail Navigator’s userlink objects.

Data Access Tier The data access tier renders the job of persistence ‘abstract’ (not tied to a specific type of database such as Oracle, DB2, and so on).

Note: See the Oracle Retail Navigator Installation Guide for the database(s) that Oracle Retail Navigator is certified against.

Database independence is achieved because database code does not permeate the actual database that the system uses. This tier strictly contains the mechanism to persist application data (business objects) into the relational database. No business logic resides in this tier. Oracle Retail Navigator uses Hibernate, an object/relational persistence and query service for Java. This object-relational framework provides the ability to map business objects residing in the core services tier to relational tables contained within the data store. When Hibernate is instructed to find an object of this type with this ID, Hibernate automatically generates the SQL.

Page 21: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Oracle Retail Navigator Architectural Related Java Terms and Standards

Technical Architecture 15

Conceptually, Hibernate encompasses the data access tier. Hibernate interacts with core services by passing/accepting business objects to/from the core services tier. Internally, Hibernate manages the conversion of Oracle Retail Navigator’s objects to relational data elements required by the supporting relational database management system (RDMS). For information about Hibernate-related configuration, see “Chapter 2 – Backend System Administration and Configuration.”

Oracle Retail Navigator Architectural Related Java Terms and Standards Oracle Retail Navigator is deployed using the J2EE-related technologies, coding standards, and design patterns defined in this section.

Data access object (DAO) This design pattern isolates data access and persistence logic. The rest of the component can thus ignore the persistence details (the database type or version, for example).

Enterprise Java Beans (EJB) EJB technology is from Sun. See http://java.sun.com/products/ejb/. EJB refers to a specification for a server-side component model. Oracle Retail Navigator uses only stateless, session EJBs, which are clusterable, and which offer a remotely accessible entry point to an application server.

Enterprise Java Beans (EJB) Container An EJB container is the physical context in which EJBs exist. A container is a physical entity responsible for managing transactions, connection pooling, clustering, and so on. This container manages the execution of enterprise beans for J2EE applications.

J2EE Server The runtime portion of a J2EE product. A J2EE server provides EJB and Web containers.

Java 2 Enterprise Edition (J2EE) The Java standard infrastructure for developing and deploying multi-tier applications. Implementations of J2EE provide enterprise-level infrastructure tools that enable such important features as database access, client-server connectivity, distributed transaction management, and security.

Java Development Kit (JDK) Standard Java development tools from Sun Microsystems.

Java Web Start Java Web Start is a platform-independent deployment technology from Sun, which describes it as enabling “developers to deploy full-featured applications to end-users by making applications available on a standard Web server”. In the context of Oracle Retail Navigator, Java Web Start is used to launch the application’s Swing-based client.

Page 22: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Oracle Retail Navigator Architectural Related Java Terms and Standards

16 Oracle Retail Navigator

Java Runtime Environment (JRE) JRE is the minimum standard Java platform for running Java applications and includes the Java Virtual Machine (JVM), Java core classes, and supporting files.

Remote Interface The client side interface to a service. This interface defines the server-side methods available in the client tier.

Page 23: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Integration Interface Dataflows 17

4 Integration Interface Dataflows

This chapter provides a functional overview of how Oracle Retail Navigator integrates with other Oracle Retail systems.

Overview The diagram below illustrates the various Oracle Retail products and other systems that Oracle Retail Navigator interfaces with as well as the overall dataflow among the products. The accompanying explanations illustrate the movement of data during the process flow.

RSM Oracle Retail Navigator

ReSA

RMS

RTM

ARI ReIM

User interface

1

2

3

4

Other retailer application (if implemented)

Oracle Retail

AllocationRPM RDW IO

User interface

User interface User interface User interface User interface User interface User interface

Oracle Retail Navigator Dataflow Across the Enterprise

Page 24: Oracle Retail Navigator Operations Guide Release 11.2 ...Oracle Retail Navigator and Javadoc Javadoc is the tool from Sun Microsystems that generates API documentation in HTML format

Supported Oracle Retail Products

18 Oracle Retail Navigator

1. The user enters enterprise logon credentials (a user ID and password) through Oracle Retail Navigator.

2. Oracle Retail Navigator sends RSM the user and encrypted password data required for authentication. RSM calls the retailer’s LDAP compliant directory service to authenticate username and password data. Once a user is authenticated, RSM creates an encrypted user signature (a ticket).

3. RSM returns to Oracle Retail Navigator the encrypted user signature along with a collection of permissions and application launch parameters. These permissions are made up of named (workflow) permissions and hierarchy (data-level) permissions. This data maps users to roles, roles to data, and roles to specific applications and to forms within applications. See the RSM Operations Guide for a more detailed discussion of the permissions functionality. The application launch parameter data consists of user ID’s and passwords to non-Java applications associated with the enterprise user. Once the permissions are returned to Oracle Retail Navigator, the application

displays within its GUI the links to the applicable application and/or to forms within application(s). From the total number of external application links, the user can (through drag and drop functionality) create favorites according to his or her business needs.

4. When a user double clicks a link and Oracle Retail Navigator calls an external application, Oracle Retail Navigator does one of the following: ‘HTML posts’ the credentials (the user’s ID and password from the application

launch parameter) to web-based and Oracle Forms-based applications (such as RMS).

Passes in the user signature to Java-based applications (such as Oracle Retail Allocation).

This behind-the-scenes processing underlies single signon functionality because the login credentials allow the application’s own start functionality to be bypassed. Note again that the login credentials (user signature) are application specific. The login credentials are encrypted because the information is being sent ‘over the wire’.

Supported Oracle Retail Products This version of Oracle Retail Navigator is compatible with the following Oracle Retail products: Oracle Retail Merchandising System (RMS) 11.x suite (including Oracle Retail Sales

Audit [ReSA]and Oracle Retail Trade Management [RTM]) 11.x Oracle Retail Inventory Optimization (IO) 10.x Active Retail Intelligence (ARI) 11.x Oracle Retail Invoice Matching (ReIM) 11.x Oracle Retail Allocation 11.x Oracle Retail Security Manager (RSM) 11.x Oracle Retail Data Warehouse (RDW) 11.x Oracle Retail Price Management (RPM) 11.x