You are on page 1of 93

Oracle Utilities Application

Framework
(OUAF - Application Framework for CCB and
RMB)

Overview

Copyright 2013 Tata Consultancy


Services Limited

This training material has been developed using

Capsulate Our Understanding

approach an approach to
document and consolidate as we try to understand the new
module/functionality with the aim that it will help other associates
to understand the same module/functionality in a considerably
lesser time.
The following documents were referred for creating this training
material
Oracle Utilities Application Framework Business Process Guide
Oracle Utilities Application Framework Administration Guide
Oracle Revenue Management and Billing Banking User Guide
Oracle Revenue Management and Billing and Oracle E-Business
Suite Integration Implementation
In this presentation the OUAF screens have been logically depicted
using worksheet layouts to represent the understanding based on
the descriptive contents in the above guides. The actual screens in
the application framework can have a different layout.
2

Agenda
Oracle Utilities (Oracle RMB) - History
Application Framework System wide Standards
Application Framework Configurable UI Features
Application Framework Batch Jobs, Reports and XAI
Application Framework To Do
Application Framework Logical Architecture
Application Framework Options, Tools and Meta-data

User Interface Tools


Database Tools
To Do Lists
Background Processes
Algorithms
Scripts
Data Synch, App Viewer
and Reporting
External Application Integration

General Options
Configuration Tools
Security and User Options
Other Tools

Agenda
Oracle Utilities (Oracle RMB) - History
Application Framework System wide Standards
Application Framework Configurable UI Features
Application Framework Batch Jobs, Reports and XAI
Application Framework To Do
Application Framework Logical Architecture
Application Framework Options, Tools and Meta-data

User Interface Tools


Database Tools
To Do Lists
Background Processes
Algorithms
Scripts
Data Synch, App Viewer
and Reporting
External Application Integration

General Options
Configuration Tools
Security and User Options
Other Tools

Oracle Utilities (Oracle RMB) - History


Oracle bought SPL WorldGroup in 2006
SPL was founded in 1968 and headquartered in San
Francisco
SPL World Group was a leading provider of revenue and
operations management software for utilities industry and
public sector tax management solutions
SPLs enSUMIT suite of industry solutions supports critical
operational business processes, services, markets and
geographies required
Oracle provides leading ERP, CRM and infrastructure
software
SPL became a dedicated business unit within Oracle
5

Oracle Utilities (Oracle RMB) - History


SPL Utilities Revenue & Operations Management Footprint (in
2006/07)
enSUMIT Product Suite
Customer Care and Billing
Customer Call Center Management
Customer Care and Billing
Credit and Collections System
Asset Management
Meter Data Management
Enterprise Asset and Work Management
Enterprise Real Time Scheduling
Mobile Workforce Management
Mobile Workforce Management
Distribution Management
Outage Management
Outage Management
Architecture and Reporting
Enterprise Business Intelligence
Services Oriented Architecture

Oracle Utilities (Oracle RMB) - History


Perceived End-to-End Oracle Solution Suite at the time of acquisition
(2006/07)

Oracle Utilities - Current

Oracle Revenue Management and Billing


(RMB) and its relation with Oracle Utilities
Oracle released Oracle Financial Services Revenue Management and
Billing (RMB) for Banking in September 2009
Oracle Financial Services Revenue Management and Billing is a now a
billing application for banking, insurance, and health care verticals
The application is built on a 100% Service Oriented Architecture (SOA)
supporting client business rules through configuration and
customization, while still maintaining an upgrade path.
Oracle Financial Services Revenue Management and Billing is based on
its own Application Framework Oracle RMB Framework
Oracle RMB Framework in turn is based on Oracle Utilities Application
Framework (OUAF)
Various versions of the Oracle RMB application are compatible with
specific version of the Oracle RMB Framework (for example Oracle
RMB 2.2.4.X is compatible with Oracle RMB Framework 2.2.0.X)
9

Oracle Revenue Management and Billing


(RMB) Modules and Releases

Application Modules

Oracle Revenue Management and Billing


Banking
Oracle Revenue Management and Billing
Insurance
Oracle Revenue Management and Billing
Integrations
Collection
Oracle RMB and Oracle Documaker Integration
Oracle RMB and Oracle E-Business Suite Integration
Oracle RMB and Oracle Data Integrator for Transaction Feed
Management
Oracle RMB and PeopleSoft Integration
Releases
Oracle Revenue Management and Billing application (v 2.2.1.0,
2.2.1.1, 2.2.2.0, 2.2.2.1, 2.2.3.0, 2.2.4.0
Oracle Revenue Management and Billing framework (v 2.2.0,
2.2.0.12)
10

Oracle RMB Installation Requirements

Tier 1 (Presentation)
Internet Explorer 6.0 or
higher with Windows XP SP3
Internet Explorer 8.0 with
Windows 7

er 2 (Business Logic / App Server)

Oracle WebLogic
IBM Websphere
Tomcat (for development
only)
ier 3 (Persistence / DB Server)
Oracle Database Server 11g

Operating System

Non-web prerequisites
Java
Oracle Client 11.2.0.2
Micro Focus Cobol (COBOL
programming language)
Perl (programming
languages)
Hibernate (maps objectoriented domain model to
traditional database
model)
C3PO (library for
augmenting traditional
JDBC drivers with JNDIbindable DataSources)

AIX Unix 5.3 TL 8, 6.1 TL 5


Oracle Enterprise Linux
Windows 2003 Server
11

Agenda
Oracle Utilities (Oracle RMB) - History
Application Framework System wide Standards
Application Framework Configurable UI Features
Application Framework Batch Jobs, Reports and XAI
Application Framework To Do
Application Framework Logical Architecture
Application Framework Options, Tools and Meta-data

User Interface Tools


Database Tools
To Do Lists
Background Processes
Algorithms
Scripts
Data Synch, App Viewer
and Reporting
External Application Integration

General Options
Configuration Tools
Security and User Options
Other Tools

12

OUAF Application Framework An


Overview
4-Tier Architecture
Maintenance & Business Object Concept
Configurable User Interface
Plug-In of Business Logic
XML Application Integration (XAI)
Application Viewer
Audit Trails
Localization Support
Multi-Language Support (MLS)
Database and Operating System Security

13

4 Tiers Supported Platforms


- UNIX (IBM, HP, Sun,
Linux)
- Windows 2003
- z/OS

- IE 6.0+

Web
Server

Application
Server

- WebLogic
- WebSphere
- Tomcat*
- Oracle AS

DB

- Oracle
- DB2
- MSS

* Tomcat doesn't allow for the physical splitting of web and


app server onto separate physical boxes
14

Technical Architecture Details


Web Browser
User Interface
with AJAX
HTTP

WebLogic
WebSphere
Tomcat
Oracle AS

Page Server
Cache

Business
Logic (core)
Server

XAI
MPL
Custom
Plug-ins

XML
Application
Integration
Tool

Java, Cobol

Hibernate
Database Connectivity
(multi-protocol)

ORACLE, DB2,
UDB or SQL Server

Database
Server

15

Browser based UI: Internet Explorer


HTML
Java Script
Win XP
IE 6.0

XML
Redundant UI Business Logic
XSLT

UNIX
(IBM, HP,
Sun, Linux)
Win 2003

UNIX
(IBM, HP,
Sun, Linux)
MVS (z/OS)
Win 2003

Web /
Application
Server

Metadata Driven

Database
Server

16

Java (J2EE) Web/App Server


Web Application Server

Win XP
IE 6.0

UNIX
(IBM, HP,
Sun, Linux)
Win 2003

Java Servlets
AJAX based
Stateless
Language and Regional
Settings

Business Logic
Web /
Application
Server

Validation
Metadata Driven
Plug-ins

Framework Components
UNIX
(IBM, HP,
Sun, Linux)
MVS (z/OS)
Win 2003

Database
Server

Security
Audit
License Key

17

The Location Of The Business Rules

Web
Server

Application
Server

There are no business


rules on the Web Server
All business rules on the UI tier
are redundant (e.g., a dropdown
that contains valid choices is not
a substitute for a backend
business rule that checks the
user's choice is valid)

DB

There are no business


rules in the database
(i.e., no stored
procedures or PL/SQL)

This is where youll find all of


the business rules and all of the
database access

18

Database Independence
Win XP
IE 6.0

UNIX
(IBM, HP,
Sun, Linux)
Win 2003

UNIX
(IBM, HP,
Sun, Linux)
MVS (z/OS)
Win 2003

Web /
Application
Server

Database
Server

Minimal DB dependencies in
code.
Avoid DB specific features
(e.g. FK and RI validation,
Triggers, Stored Procedures
Metadata Driven

19

MO Definition
Most logical transactions are made up of several
tables
The term maintenance object (MO) is used to
describe the group of tables that hold an
Theobjects
person
maintenance
physical data
Person

object's data is held


in several tables

Person
CI_PER

Person ID

Person / ID

CI_ID_TYPE

CI_PER_ID

Person /
Name

Person /
Phone

Phone
Type

CI_PER_NAME

CI_PER_PHONE

CI_PHONE_TYPE

Note, this is a
simplification as this
MO has more than 4
tables
20

Why MOs?
A service-oriented architecture (SOA) means that
services are invoked to perform tasks (e.g., read a
person, add a person, change a person, etc.) and the
service determines how to satisfy the request
This means the caller does not have to know about the
table structure
A great deal of logic in the system is implemented by
invoking the MOs service via an XML document

Person
Person
CI_PER

Person / ID
CI_PER_ID

Person /
Name

Person /
Phone

CI_PER_NAME

CI_PER_PHONE

21

Business Object
Business objects are specialized versions of MOs that are designed
to match the business. For example, a tax management
implementation could set up BOs for individual taxpayers,
corporations, partnerships, etc. rather than work with the generic
person MO

22

Business Objects Are Logical Views of Maintenance Objects


MOs are abstract to handle disparate
requirements (for example, the Person
object doesnt have a column called
"daytime phone")

Business objects are not abstract,


notice how each has specific fields

Person Maintenance Object (MO)

Person

Person
Name

Person Id

Person
Phone

Id Type

Phone
Type

Person
Char

Char Type

Busines
s
Objects

Individual Taxpayer

Legal name
ID (e.g. drivers license)
Birth date Commercial Customer
Name
Spouse
Tax ID
Number of dependents
Primary SIC code
Daytime phone
Accounting phone nbr
Evening phone
Service phone nbr
Mailing address
Mailing address
Credit issues address

They closely represent the


business
They are easy to access using the configuration
tools (i.e., you can easily add, change, delete and
read BOs)
They are true subclasses of the MO and therefore take advantage
of the rich, safe, and sophisticated business rules embodied in the
23
base-package MOs

The Anatomy Of User Interface

The action bar contains buttons that allow you to


update the database and navigate to other
transactions.

Object Display Area


The menu bar These
allows you4toelements
This
area to
contains
the object
/The
query
that youve
navigate
other
Dashboard
contains
appear
on every
transactions. Well discuss
zones that allow you to
requested.
page
howis
towhere
use thisbills,
feature
over
perform common
tasks and
This
payments,
accounts
financial
the upcoming
slides
history,
etc. are
displayed.

navigate to other
transactions.

The status bar contains informatory


messages about what the system just
did
24

Plug-In of Business Logic


Many business processes and business objects have their
logic controlled by metadata objects that we refer to as
Plug-ins/ Algorithms
At run-time, the system interrogates the metadata to
determine the plug-in(s) to invoke and then invokes them
User Exits/Change Handlers are to extend the code with
implementation-specific business rules
Customizable Menu - allows you to insert new
implementation-specific transactions on the menu
Background Processes may be created to execute
implementation-specific business rules
Messages - implementations may override the message
text for system error and warning message and also may
introduce new messages to support implementation
specific errors and warnings
25

An Algorithm Example

Consider the problem


of implementations
having different logic
to calculate a nonsufficient funds charge
When a payment is
cancelled due to nonsufficient funds, the
system invokes the
Levy NSF Charge
algorithm that's
plugged in on the
account's customer
class admin object

Fixed
Amou
nt

% of
Paymen
t

Levy N
SF C h
arge

Custome
r
Class

26

Some Objects Are Preconfigured


Some objects are delivered with their algorithms
plugged in
If youre happy with the base-package functionality,
no new algorithm is necessary
If you want to change the functionality (or extend it),
you can develop new plug-ins or configure the basepackage plug-ins accordingly

Other objects are delivered without their algorithms


plugged in
At implementation time, you must configure the plugins for the customers specific rules

27

XAI Tool for XML Integration

<BizTalk>
<Body>
<A ccountInfo>
<Reques t do cTynfo">
<Accoun t>
<company>99ny>
<accou ntI d>5n tId>
<area>001</a rea >
</Account>
</Req uest>
</AccountInfo>
</B ody>
</BizTalk >

Real time
XML: Web Services
interfaces:
Integration
CRM, MS Office,
Web Self Service,
etc.

Servers

<BizTalk>
<Body>
<AccountInfo>
<BizTalk>
<Body> <Request docTynfo">
<Account>
<AccountInfo>
<BizTalk>
<company>99ny>
<Body> <Request docTynfo">
<accountId>5ntId>
<Account>
<AccountInfo>
<area>001</area>
<company>99ny>
<Request
docTynfo">
</Account>
<accountId>5ntId>
<Account>
</Request>
<area>001</area>
<company>99ny>
</AccountInfo>
</Account>
<accountId>5ntId>
</Body>
</Request>
<area>001</area>
</BizTalk>
</AccountInfo>
</Account>
</Body>
</Request>
</BizTalk>
</AccountInfo>
</Body>
</BizTalk>

ERP / GL
Billable Charges
Meter data
Outside Agents
etc

Mass XML
Integratio
n

XML
Staging

<BizTalk>
<Body>
<AccountInfo>
<BizTalk>
<Body> <Reques t docTynfo">
<Acc ount>
<AccountInfo>
<BizTalk>
<c ompany>99ny>
<Body> <Request docTynfo">
<acc ountId>5ntId>
<Account>
<AccountInfo>
<area>001</area>
<Reques<company>99ny>
t docTynfo">
ount>
<acc</Acc
ountId>5ntId>
<Account>
</Request>
<area>001</area>
<c ompany>99ny>
</AccountInfo>
</Account>
<accountId>5ntId>
</Body >
</Request>
<area>001</area>
</BizTalk>
</AccountInfo>
</Account>
</Body>
</Reques
t>
</BizTalk >
</AccountInfo>
</Body>
</BizTalk>

Mass
record
Integratio
n

DBMS
Staging
28

XAI Tool
Allows invocation of application functions via Web Services
Mechanism to receive and dispatch XML based messages to
other systems

HTTP
Message Queue
Flat Files
Staging Database

Supports popular tools

Biztalk
SeeBeyond
MQSeries
JMS Queues

29

Application Viewer Overview


The Application Viewer allows to explore meta-data driven
relationships and other deliverable files online
The following sections are available in the application viewer

Data Dictionary
Maintenance Objects
Algorithms
COBOL source
Java Docs
Service XML

30

Audit Trails
You tell the system which fields to audit
You also tell the system the name of the table on which to
store the audit log
When a user changes such a field (or adds / deletes a record
that contains such a field) the following information is
recorded on an audit log:

User ID
Date/Time
Table name
Rows prime key value
Field name
Before image (blank when a row is added)
After image (blank when a row is deleted)
Row action (add, change, delete)

31

Localization Support
The following values can be defined on the users profile in
release
Date / Time display formats
o Position of Year, Month, Day
o Time Format (e.g., 24 hour clock versus AM/PM)

Currency format
o Decimal point symbol
o Thousands separator
o Position of negative sign

The following values can differ based on other things


The address components may differ per country
The phone number constituents may differ per phone type

32

Multi-Language Support (MLS)


End-user MLS functionality
Different labels depending on users language
o Defined in the user interface meta-data

Different drop down values depending on the users language


o Defined in the control tables

Different error and warning messages depending on the users


language
o All messages have been codified
o Each message code has a different value per language code

33

Database and Operating System Security

Web /
Application
Server

Database
Server

Browser:
provides logon prompt,
keeps a session cookie that
holds the authentication
certificate
SSL encryption can be used here
if desired; managed by Web
server
Web server:
provides authentication,
allows you to use your
operating systems
authentication: Windows, Unix,
authorization services are NOT
used

Sessions expire
when:
Web server time
out,
browser is closed
Browser caches the
users application
security values

Application security is described


in depth later in this course

34

Agenda
Oracle Utilities (Oracle RMB) - History
Application Framework System wide Standards
Application Framework Configurable UI Features
Application Framework Batch Jobs, Reports and XAI
Application Framework To Do
Application Framework Logical Architecture
Application Framework Options, Tools and Meta-data

User Interface Tools


Database Tools
To Do Lists
Background Processes
Algorithms
Scripts
Data Synch, App Viewer
and Reporting
External Application Integration

General Options
Configuration Tools
Security and User Options
Other Tools

35

Standard Features - Page Components


Actions /
Navigation Area

Dashboard
Area

Object Display
Area

36

Menu Bars in Object Display Area

Menus are available in the object display area to help users navigate to various
pages within the system.
Users can click anywhere on the menu bar on the left side of the object display
area to expand the menu.
37

Script Area in Object Display Area

When a script is initiated, the object display area shifts down to make
room for the script area.
The information in the script area takes the user through the steps in
the selected business process.

38

Components in Object Display Area


Text Box

Grid

Date Only Field


Get More

Editable Grid

Date & Time Field

Time Only Field

Currency Field

Scrolls

Go Look Button

Context Menu Button


39

Components in Object Display Area


Notebooks

Accordion

Trees

40

Maintenance Pages

41

Maintenance Pages

42

Query Pages

Query pages open as a result of the following actions:

Selection of a menu item (either from a menu bar of from


a Context Menu button)
Drilldown using a Go To button

43

Portal Pages

44

Dashboard Portal
Dashboard Area is made of Dashboard Portal with multiple Zones

Actions / Navigation Area

Script Area

Current To Do
Zone
Favorite Links
Zone

Object Display Area

Favorite
Scripts Zone
Switch
Language
Zone
To Do
Summary
Zone
Work List Zone

View To Do Entry Message

Go to Object

Launch Script
View To Do Entry Information
View Related To Do Entries
Assign Related To Do Entries
Complete To Do Entries
Request next To Do entry
List favorite links from User
Preferences
Clicking on the favorite link invokes
the transaction
List BPA Scripts from User
Preferences
Clicking on the favorite script
executes the script in the script
area the applications language
Switch
Summary of To Do Entries assigned
to the user along with aging
Selecting an entry will transfer
user to the To Do List transaction
screen
Provides quick access to an entire
column
45

User Preferences
User or My Preferences (Admin > Users or Main > My Preferences)

Main
First Name
Last Name
User ID
Login ID
Language
Code*
User Enabled
User Type
Portals Profile User
ID
Favorites Profile
User ID
Display Profile ID*
Email ID
Dashboard Width
Home
Page
User Group
End Date

Access Security

To Do Roles

Portal Preferences*

Default Access
Group
Data Access

To Do Role

Roles
Expiration Date

Favorite Links*

Favorite Scripts*

Navigation
Option
Sequence
Security Access

Portal
Zone
Display flag
Initially
Collapsed
Sequence
Refresh Seconds
Security Access

Scripts
Sort Sequence
Security Access

Characteristics
Characteristic
Types
Characteristics
Value
Sequence
46

Zones
Portals and Zones are the preferred technique used by the base
product for query and maintenance dialog
Additional Portals and Zones can be configured if the base package
pages or portals do not satisfy the business needs
Types of Zones

Info Zones

Query Zones

Multi-Query Zones

Map Zones

47

Zones Info Zones


An "info zone" allows users to see a list of information about
an object.

48

Zones Query Zones


A query zone" allows users to find objects matching a given
search criteria.

49

Zones Multi-Query Zones


A multi-query zone" combines individual Query Zones into a
single query zone.

50

Zones Map Zones


A map zone displays information related to one or more
objects.

51

Types of Portals and Zones

All-In-One Portal
single portal allows a user to
find a record and maintain the
record
A zone listing all existing
records is displayed when first
entering the portal
User can perform actions on
existing records
User can add new records

List Zone
This info zone appears when first entering
the portal and displays a row for each
record
Add link on the zones title bar is available
to launch BPA script to add new record
Broadcast icon with each row to open
other zones
Edit, Delete, Duplicate icon may be
included
with
each row
Object
Display
Zone

Zone displays the object being maintained


eparate Query and Maintenance Portal Typically it is a derivable map zone where
the UI map is defined on the record's
query portal contains a zone to
business object
search for the object
If no map is provided on the business
zone may be a standard query
object, the zone uses standard html
zone or may be a multi-query
rendering based on the BO schema
zone
Log Zone
Each row of the search results
Log zone is shown in an info zone on the
contain a hypertext to navigate
portal, either on the Main tab or on a
to the records maintenance
separate Log tab
portal
Lists log of important events in the MO52
lifecycle

Agenda
Oracle Utilities (Oracle RMB) - History
Application Framework System wide Standards
Application Framework Configurable UI Features
Application Framework Batch Jobs, Reports and XAI
Application Framework To Do
Application Framework Logical Architecture
Application Framework Options, Tools and Meta-data

User Interface Tools


Database Tools
To Do Lists
Background Processes
Algorithms
Scripts
Data Synch, App Viewer
and Reporting
External Application Integration

General Options
Configuration Tools
Security and User Options
Other Tools

53

Batch Processes
Batch processes handle many important functions in
the system including:
The billing process (note that bills can also be created
online/ real time)
The process that monitors customers for overdue debt
The payment upload interfaced
The meter-read download and upload
and many more

54

Batch Processes

Batch processes are all restartable


o If a batch process fails, simply re-execute it after the
cause of the problem is corrected. The process will know
where it left off

Batch processes can execute concurrently with the


online system 24 x 7
Batch processes that produce extract files (e.g., the GL
interface, the bill print extract, business intelligence
extracts, etc.) can reproduce the historical output
o If an extract flat file is lost or corrupted, it can always be
reproduced

55

Errors

Warnings
o These are unusual, but non-fatal conditions detected by
the job
o An entry is created in the batch run's message log
(explained in a few slides) for each warning

Non-severe errors

o These are errors that prevent the successful processing


of a unit of work, but not severe enough to abort the
entire job

When these occur, all uncommitted changes are rolled back


and processing restarts where it left off (skipping the
erroneous object)

o When more than X of these errors occur, the batch job


will abort (and X is a parameter that can differ for each
batch job)

Severe errors

o These are errors that will cause the batch job to abort
immediately
56

Parallel Processing

Many processes have been designed to run in multiple


parallel threads in order to speed execution
o For example, the BILLING process can be executed so
that bills are produced in multiple threads (and these
threads execute concurrently)

Running a batch process in multiple, concurrent threads


is almost always faster than running it in a single
thread
Audits of every execution of every thread are
maintained
o Statistics with respect to number of records and start /
stop times
o Informational and error messages are retained for each
thread

57

Optimal Number Of Threads


Determining the optimal number of threads for each
batch process requires analysis
This is because each process is different and is
dependent on:
o The data (e.g., an implementation that bills for a single
service on a quarterly basis has different performance
traits than an implementation that bills for 10 services
on a monthly basis)
o The hardware configuration (i.e., number of processors,
speed of your disk drives, speed of the network between
the database server and the application server)

Start with
one thread
for every
MHz of
application server CPU available.
The
following
is a100
rough
guideline:
For example, if you have 4, 450 MHz processors available on your application
server, you can start with 18 threads to begin your testing: (450 * 4) / 100 =
18.

Refer to the Framework Administration Guide Defining Batch


Processes Optimal Thread Count for recommendations with respect
to how to find the optimal number of threads for your processes
58

Parameters

When a batch process is submitted, override parameter


values can be supplied
o If a parameter is not supplied, the process uses a default
value

Examples of parameters include:


o Number of parallel threads
The default for all batch jobs is 1 (if you want multiple
threads, you must define a value)

o Number of records between commits


The default differs per batch job (youll find the default in
the description of the batch job)

o Number of minutes between cursor re-initiation


The default differs per batch job (you'll find the default in
the description of the batch job)

59

Parameters
Business date
o The default is always the current date

Number of errors before a job is aborted


o The default varies by job but is generally between 300
and 500

Rerun number
o This is used for batch jobs that produce extract files and
is only specified to re-extract historical output

Trace output switches

Some batch processes have additional parameters


For example, the bill print extract job has parameters
that define the file path and the file name of the
extract file
Youll see these in the application viewer and on the
batch control page
60

Batch Jobs and Reports

Batch Cluster - Main


Batch Job Submission - Main

Batch Run Tree- Main

Main Menu > Batch > Batch


Cluster
Batch Cluster zone
Details of the cluster
Batch Job ID
Cluster Thread Pools zone
Batch Code
Thread pools of the cluster
Thread Number
Cluster Members zone
Thread Count
Host Name and ID of the
Batch Rerun Number
cluster members
Batch Jobs zone
Batch Business Date
List of batch jobs currently
Override Nbr Records To Commit
running on the cluster
Override Max Timeout Minutes
Batch Thread zone
User ID
List of batch job threads
Language Code
currently running on the
Program Name
cluster
<program-specific parameters> Cluster Details zone
Related information for the
thread pool, cluster member,
and batch job
Main Menu > Batch > Batch
Job Submission

Report Submission - Main


Main Menu > Batch > Report
Submission

Main Menu > Batch > Batch


Run Tree

Batch Control process


Batch Number
Number of records
processed
Number of records in
error
Elapsed time
To Do Entries
Start Date/Time
End Date/Time
Error Messages

Report Submission - Main


Main Menu > Batch > Report
History

Report Code
Report Code
<program-specific parameters> Description
Long Description

61

Agenda
Oracle Utilities (Oracle RMB) - History
Application Framework System wide Standards
Application Framework Configurable UI Features
Application Framework Batch Jobs, Reports and XAI
Application Framework To Do
Application Framework Logical Architecture
Application Framework Options, Tools and Meta-data

User Interface Tools


Database Tools
To Do Lists
Background Processes
Algorithms
Scripts
Data Synch, App Viewer
and Reporting
External Application Integration

General Options
Configuration Tools
Security and User Options
Other Tools

62

What Is To-Do Processing?

A to-do list contains messages that describe tasks that


require human attention, for example:
o
o
o
o

Reminders to follow up on customer contacts


Notifications about errors during a batch process
Notifications when refunds require approval

These messages are referred to as To Do entries


Click the To Do button in the action bar to see a
summary of entries

63

To Do Summary
The To Do Summary page summarizes all entries that a user can access

Notice how the Total is divided into entries


Assigned to You and entries that haven't
been assigned to anyone yet (Open)

Priority is discussed
later

The color in the bar


indicates the age of the
entries (green is young,
yellow is middle-aged, red
is old). Each user can
define the age boundaries
of the colors on their User
Preferences. You can see
the count of each age by
hovering the mouse over
the bar
You can click on one of the counts or
colored bars to open a To Do List
64

To Do List
The To Do List page shows entries of a given type
These options are used
to sort and filter the
entries in different
ways

These icons highlight that the


entry has manual comments or
that it has been manually
reassigned

Click on the Create Date/Time to drill


to the entry where you can add
comments, see its history, forward it
to another user (and more)

Click on a message to drill


to the transaction (or start
a BPA script) that is
typically used to resolve the
issue

If you click on an unassigned entry's


Message, the system assumes you are
taking responsibility for it (and assigns it
to you)
65

To Do Summary Zone
The To Do Summary Dashboard zone shows
a summary of the entries that are assigned
to you
This is the same information shown on
the To Do Summary page in the Assigned
to You column
Putting this zone on your Dashboard is a
over a bar to see
simple way to alwaysHover
see
what you've been
the number of entries;
assigned and how old
the
entries
click
onrespective
the bar to open
a
To Do List
are
Click to refresh the list
(for performance
reasons, this zone only
refreshes on demand)
66

To Do
Events trigger creation of email-like messages describing work that
requires human attention. Each message can be treated as a To Do
entry
To Do
Role
Each To Do entry is
assigned to a specific To
Do Role
Role defines the users
who may work on the
entry
To Do Type defines the
permissible roles that
can be assigned to a To
Do entry

To Do Priority
Priority represents theWork Distribution
processing order with
To Do entries may be
respect to other To Do
manually assigned to
entries
users by supervisors
Users can themselves
pick To Do entries
Dynamically assign the
highest priority work to
users on demand
whenever they are
available for fixing
67
errors

To Do

To Do transactions that aid supervisors in the monitoring and assignment of To Do


entries.
Supervisor To Do SummarySupervisor User Summary Supervisor To Do Assignmen
To Do > Supervisor To Do
Summary

To Do Type
Priority
Total
No of Open
No of Being Worked On
Age-bars

To Do > Supervisor User


Summary

User ID
To Do Type
To Do entry

To Do transactions that aid users in the assignment


and working of entries in To Do Lists
To Do List
To Do Summary
To Do > To Do
Summary

To Do Type
Priority
Total
No of Open
No of Assigned to you
Age-bars

To Do > Supervisor User


Assignment

To Do Type
To Do entry
Status
Priority
Create Date/Time
Worked By
No of Related Entries
To Do Entry Status
Message
Assign to User

To Do > To Do List

To Do Type & User Name


To Do ID
To Do Entry Status
Message
Create Date/Time
Assignment Date/Time
Related Entries
Priority

68

To Do
To Do Entry and To Do Log transactions maintain the To Do entries

To Do Entry
To Do > To Do Entry (Add)

To Do Type
To Do Type Priority
Override Priority
Subject
Comment
Send To
Role
User

To Do Entry
To Do > To Do Entry

To Do ID
To Do Type
Role
Message
Status
Priority
Assigned To
Sent By
Created By
Extract Info
Comments
Summary of related entries
Complete To Do
Forward To Do
Send Back To Do
Log Date/Time
Log Type
Details
Log User
Assigned To

To Do Search
To Do > To Do Search

Related To Do
To Do Type
Char Type
User
Date Range
Status
To Do ID
To Do Type
Role
Message
Status
Priority
Assigned To
Sent By
Created By
Extract Info
Comments
Complete To Do
Forward To Do
Send Back To Do

69

Agenda
Oracle Utilities (Oracle RMB) - History
Application Framework System wide Standards
Application Framework Configurable UI Features
Application Framework Batch Jobs, Reports and XAI
Application Framework To Do
Application Framework Logical Architecture
Application Framework Options, Tools and Meta-data

User Interface Tools


Database Tools
To Do Lists
Background Processes
Algorithms
Scripts
Data Synch, App Viewer
and Reporting
External Application Integration

General Options
Configuration Tools
Security and User Options
Other Tools

70

Logical Architecture

Web Application
Server is divided into
3 logical tiers:
presentation services,
business logic, and
data access
Inbound HTTP
requests are handled
by Java Servlets
Java Servlet may
invoke Data Service
Objects
Data Service Objects
route control to Java
based business
entities
Business Entities use
Hibernate ORM for
data access and
persistence

Information is presented in a web


browser (Internet Explorer 6.0)
using HTML and JavaScript (not
Java, e.g. no applets).
browser communicates with Web
Application Server via HTTP

presentation layer makes use of


XSL/T technology to create HTML
for the browser
Data Access and Update Service
are implemented in Java
71
accessing Oracle or DB2 database

Logical Architecture (Services)

Oracle RMB Architecture makes use of Services, which are data access and update services

Data Access and Update Service are implemented in Java accessing Oracle or DB2 database

Each service invocation represents a distinct database transaction

There are three kinds of services: Page, List, and Search

Page service defines all data needed to display data on a single tab menu across all child tab pages

The data structure is logically a tree, with a root object containing attributes as field/value pairs, and
recursively containing lists of similarly structured objects.

Typical maximum nesting depth is 4 levels of contained lists.

Page services may be called in five primary "modes": Read, Change, Add, Copy, Delete, and Default.

List services define a list of objects, possibly containing nested lists.

List services can be accessed independently for list oriented data,

List services can be used to flesh out lists contained in page services where more data is available
than can fit in the (fixed-size) buffer. List services do not support database updates.

Search services are used to support ad-hoc user searches for data. The results are structurally
similar to List services. The input is a set of criteria and a search mode, with values "MN", "AL", "A2",
A3", etc.

System represents the structure of a service using an XML document. Every service is defined with a
72
single XML document, which is generated based on the Java class information.

Oracle RMB Framework

Application framework consists of a software framework used by software


developers to implement the standard structure of an application

Software framework is an abstraction in which software providing generic


functionality can be selectively changed by additional user-written code, thus
providing application-specific software

It consists of reusable software platform to develop software applications,


products and solutions.

Software frameworks include support programs, compilers, code libraries, tool


sets, and application programming interfaces (APIs) that bring together all the
different components to enable development of a project or solution

Oracle Revenue Management and Billing application is based on Oracle Utilities


Application Framework

Other applications that are based on the same framework include modules
within Oracle Customer Care and Billing

73

Oracle RMB Framework- Server


Architecture
HTTP
Request

Browser
on Client

ORM
Query

Java Servlet
on Web
Application
Server

Retrieve
meta-info of
the service
Identify
Service to
handle the
request

Persistent
Tables on
RDBMS

Build Java
data
structure
from browser
data (string)
using service
XML metainfo

Invoke Java
service
74

Oracle RMB Framework- Client


Architecture
Generate
Model - Tree
of JavaScript
Object
Nodes and
Values

Browser
on Client

Combine
Model and
View by a
namematching
scheme

Model

Servlet on Web
Application
Server

Generate
View - HTML
with <label>
and
<select>
elements

Identify
XSL/T
Template
files

Apply XSL/T
template
files on UI
Metadata
XML

Data

UI
Metadata
XML

View

Persistent
Tables on
RDBMS

75

Oracle RMB Framework- Client


Architecture
Servlet
HTTP
Usage
Name

Metho
d

loginInfo

GET

Provides useful global data at login, retained for life of session, such as a map of all
system URLs and a definition of menu structures

pageRead

GET

Returns a data model object given one or more key/value pairs.

pageChange

POST

Accepts a data model representing modifications that should take place against an
existing database entity, returns modified model.

pageAdd

POST

Accepts a data model representing a new entity that should be inserted into the database,
returns new model.

pageDefault

POST

Accepts a data model describing a triggered "default operation, returns a model object
containing default values.

pageDelete

POST

Accepts a data model representing a database entity to be deleted, returns nothing.

pageCopy

POST

Accepts a data model representing a model that should be duplicated, returns the
duplicate.

listRead

GET

Accepts key/value pairs describing a list of database entities, returns said list.

Search

GET

Accepts key/value pairs containing search criteria, returns list of objects satisfying said
criteria.

StringSort

POST

Allows locale-sensitive sorting of strings. Used for sorting strings in grids when user clicks
on the column header.

Client submits an HTTP request message to the server.


Server performs functions and returns HTTP response message to the client
Response contains completion status of the request and the message body
HTTP defines methods to indicate desired action to be performed on the identified
resource

76

Agenda
Oracle Utilities (Oracle RMB) - History
Application Framework System wide Standards
Application Framework Configurable UI Features
Application Framework Batch Jobs, Reports and XAI
Application Framework To Do
Application Framework Logical Architecture
Application Framework Options, Tools and Meta-data

User Interface Tools


Database Tools
To Do Lists
Background Processes
Algorithms
Scripts
Data Synch, App Viewer
and Reporting
External Application Integration

General Options
Configuration Tools
Security and User Options
Other Tools

77

Oracle Utilities Application Framework


(OUAF)

Oracle Utilities Application


Framework includes Options,
Definitions and Tools to design,
develop and modify business
applications

Installation and General Options


Access Groups, Data Access Roles and
Users
User Interface Tools
Database Tools
To Do Lists
Background Processes
Algorithms
Scripts and Script Options
Application Viewer
Reports Design and Development
External Application Integration
Configuration Tools
CMA, ConfigLab and Archiving Engine

78

OUAF General Options

General Options

Installation Options
Multi-Language Options
Country level Options
Currency Codes
Time Zones
Geographic Types
Work Calendar
Display Profiles
Phone Types
Characteristic Types and Values
Foreign Key References
Feature Configurations
Master Configurations

79

Installation Options - Main, Messages

80

Installation Options - Algorithms

System Event

Description

System Event

Description

Email Service
Validate
Attachments

Validate the attachments for size


and total count while sending
attachments using Email Service.

Next To Do
Assignment

Geocoding Service

Retrieve latitude and longitude


coordinates using address
information through Oracle Locator

Find the next To Do entry a user


should work on. It is called from the
Current To Do dashboard zone when
user asks for next assignment.

Reporting Tool

Invoke the external reporting tool


from within the system

SMS Receive
Service

Provide SMS receive service

SMS Send Service

Provide SMS send service

Global Context

Populate other global context values


based on the new value of the
global context field that has
changed

Ldap Import

Operations on users, groups, and


group memberships

To Do Information

Ldap Import
Preprocess

Preprocess data retrieved from


LDAP

Override system default to-do


information

To Do Pre-creation

Invoked when a to-do entry is added


81

Installation Options Accessible Modules,


Installed Products

82

General Options Languages

System provides support for multiple languages in a single


environment

System users can use the system in their preferred language

Translation to the language for labels and static texts needs to be


defined

Each product built on the framework can support additional uses


for language

For example, CCB can send bills and correspondences in the


customers preferred language

83

General Options Countries and Currency


Codes

84

General Options Geographic Types, Work


Calendar and Phone Types

85

General Options Characteristic Types and


Values

aracteristic Type add a new field to the object (like EBS DF


Indicate one of the 4 categories while defining Characteristic Type

Predefined value Ad hoc value


- Individual valid
values for the
characteristic type
are defined in a
discreet list

- Valid values for the


Characteristic Type are many
and not possible to define
discreet list
- Optionally, algorithm can be
plugged in to validate the
entered value

Foreign key
-value
Valid values are

defined in another
table

- Information about the


foreign table must be
stored in foreign key
reference table

File Location
- Characteristics (values)
of this type contain a URL
pointing to a file or a web
site
- Holds references to
documentation / images
associated with a given
entity
- Example, image of a
letter from a customer as
a file location
characteristic on
customer contact entry
- Button appears on the
entity screen to open the
URL in a separate
browser window

86

General Options Foreign Key Reference,


Feature Configuration and Master
Configuration
Foreign Key Reference
defines the necessary
A few systems FEATURES are configured by
information needed to reference an entity in certain
table

populating OPTIONS on a feature


configuration

FK Reference control table (setup) is used to:


Validate a foreign key value against a
corresponding table
Display standard information description of
the reference entity
Provide navigation information to the
reference entitys maintenance transaction

New FEATURE is defined by a new LOOKUP


VALUE (say xxxxx) to the EXT_SYS_TYP_FLG
lookup field

FK Reference is defined for a maintenance objects


primary table

OPTIONS (setups) for the FEATURE are


defined by creating a new lookup field with
the name in the format as
xxxxx_OPT_TYP_FLG
Internal system logic looks at the feature
option values to drive processing

87

OUAF Security and User Options

Security and User


Options

Application Security
Action Level Security
Field Level Security
Encryption and Masking
Row Security
Access Groups
Data Access Roles
Users
Application Services
Security Types
User Groups
Access Groups
Data Access Roles
Users

88

Application Service and Security Structure


Product
Function
Rows

Fields

Algorith
m

Security Type

Authorization
Levels

Application
Service

Access
Modes
Access
Group

User Group

User

Data
Access
Role89

Application Service

plication service is associated with every securable function in the syst


Object

Description

Maintenance
Object

All maintenance objects define an application service that includes the


basic actions available, typically Add, Change, Delete and Inquire.

Portal Page

For portal based user interfaces, each main portal defines an explicit
application service with the access mode Inquire, allowing the user
interface to be secured independently of the underlying object security.

Menu Items

Menu items may define an application service to suppress itself if the


underlying application security for the transaction does not provide enough
fine grained control.

Zones

Zones define an application service. For zones linked to a portal, if a user


doesn't have access to the zone's application service, the zone will not be
visible on the portal. In most cases the zone defines the same application
service as its portal.

Business
Objects

Business objects define an application service. If the business object defines


a lifecycle, the application service must include access modes that
correspond to each state. In addition, the standard maintenance object
access modes of Add, Change, Delete and Inquire are included.

BPA Scripts

BPA scripts that are accessible via a menu define an application service with
the access mode Execute.

Business
Services

Business Services define an application service with the access mode


Execute.

90

Application Service

91

Security Type and User Groups

92

Data Access Groups and Data Access


Roles

93

You might also like