Oracle Applications
Agenda
• Introduction
• Architecture
• Schema
• Template Form
• APPS Security
Introduction
Overview of Business Processes
CustomerCustomer
Sales Sales
Finance Finance
Engg. Engg.
PlanningPlanningInventoryInventory
PurchasePurchase
ProductionProduction
QualityQuality
Service/Dist.
Service/Dist.
Sales Order
Costs
Bill of Materials
MRP
Purchase Request
Production ScheduleCapacity Planning
Material issue
Purchaseditems
FinishedProduct
Cost Analysis
ForecastsOrders
Products
Information flow
Material low
CustomerCustomer
Sales Sales
Finance Finance
Engg. Engg.
PlanningPlanningInventoryInventory
PurchasePurchase
ProductionProduction
QualityQuality
Service/Dist.
Service/Dist.
OracleOrder Entry
OracleFinancials
OracleMRP/MPSCapacity
Oracleinventory
OraclePurchase
OracleWIP
OracleCost Mngt.
Oracle Quality
OracleService
.OracleBOM/Engg.
Sales Order
Costs
Bill of Materials
MRP
Purchase Request
Purchaseditems
FinishedProduct
Production ScheduleCapacity Planning
Cost Analysis
Material issue
Business: Process Flow- Oracle Apps Integration
ForecastsOrders
Products
Oracle eBusiness Applications
Finance
Self-Service ApplicationsBusiness Agents (Alert)WorkflowEDI GatewayBusiness IntelligenceDiscoverer
Human ResourcesPayrollTraining/Benefits
SalesMarketingServiceInteraction CenterE-Commerce
InventoryPurchasingOrder Management ConfiguratorAdvanced Planning & Scheduling
ProjectsProject BillingProjects Time & ExpenseProject Connect
EngineeringBills of MaterialMaster Scheduling / MRPCapacityWork in ProcessCost Management Quality
Projects
Human Resources
Order Mgt
Information Technology
Product Fulfillment
CRM
* *
General LedgerReceivablesPayablesAssetsCash ManagementFinancial AnalyzerTreasury
Oracle Applications Product Info
Oracle Application Releases
•10.7 Character(DUMP TERMINAL)•10.7 Smart Client(CLIENT SERVER)•10.7 NCA•11.03(GUI)•11i
Oracle Components
The Release 11i Environment
• 160 applications• 2,322 Developer forms (US)• 2,156 Developer reports (US)• 480 Pro*C binaries • 1,692 Java server pages• 118 Java archive files (.jar)• 17,566 Java classes• 167 XML files• 19,149 HTML help files (US)• 1,290 GIF help files (US)
• 14,608 tables• 12,327 views• 6,221 constraints• 29,000 normal indexes• 21 domain indexes• 3 function-based
indexes• 59 index organized
tables• 8,598 sequences• 156 database types• 2 database type bodies
Architecture Overview of Oracle Applications - (10.7 to 11i)
Architecture Overview of Oracle Applications
(10.7 Character Mode )
Release 10.7 – Character Mode
Dump Terminal or Terminal emulation software on a PC
Oracle 7/8 Data ServerConcurrent Manager
Character Forms
Oracle Database and applications Software on a server
Release 10.7
Character
Architecture Overview of Oracle Applications - (10.7 Character Mode )
• Character Interface Mode• Runs Almost on Mini-Computers (e.g. UNIX m/c)• Users connect to the software either through a ‘dumb’ terminal or through terminal emulation software running on a PC
Architecture Overview of Oracle Applications - (10.7 Smart Client)
Release 10.7 –SC
Windows Desktop
GUI Forms
Oracle 7/8 Data ServerConcurrent Manager
Character Forms
Data Server
Release 10.7
SC
Architecture Overview of Oracle Applications - (10.7 Smart Client)
• 2 Tier Architecture• In this configuration large proportion of the Applications Software was placed on the PC’s of individual users.• Database and some of the more resource hungry report processing software remained on the serverAdvantages :
It allowed the adoption of ‘GUI’ technology Users found much easier to learn
Disadvantages :Huge maintenance effort required to support such
a configuration Eg : Applying Patches
Architecture Overview of Oracle Applications - (10.7 NCA,11.03,11i)
Release 10.7Character or SC
SHIFTReleases
10.7 NCA,11.03,11i
Browser & Web ServersWindows Desktop
& Data Server
Architecture Overview of Oracle Applications - (10.7 NCA,11.03,11i)
- Database Tier- Middle Tier (Application Tier)- Desktop Tier(Client Tier)
Network Computing Architecture or Internet Computing Architecture(3 Tier Architecture )
Architecture Overview of Oracle Applications - 11i
DatabaseTier
MiddleTier
DesktopTier
Admin Server
ConcurrentProcessing Server
FormsServer
ReportsServer
WebDB2.2Listener
WebDB2.5
Apache
DiscovererServer*
Application Servers
(8.1.6)
* Optional
Application Technology Stack
Data Server (8.1.6 ORACLE_HOME)
(8.0.6 ORACLE_HOME)
Standard Web Browsers
Internet Architecture
Data Server
Java Server Pages (JSP)
Forms
Reports
Discoverer
Concurrent Manager
Browser WebDB
Servlet Engine
We
b L
iste
ne
r
Architecture Overview of Oracle Applications 11i - Advantages
Client Tier
• No Oracle files are stored on the desktop client• Only software you typically have on the user’s desktop is
a Java-enabled Web Browser• Java-enabled Web browser manages the
downloading,start-up, and storage of the Forms Client on the end user’s desktop
Architecture Overview of Oracle Applications 11i - Advantages
Application Tier
• Eliminates the need to install and maintain application software on each desktop client and helps to reduce network traffic
•All the Oracle Applications product files are in the file system of the application tier servers.
• User Interface Logic lies on this tier.• It Mediates between the Forms Client on the end user’s
desktop and the Oracle database server on the back end, producing the effects a user sees on screen, and causing changes in the database records based on user actions.
Architecture Overview of Oracle Applications 11i - Advantages
Database Tier
• Typically a UNIX Machine• Contains the data manipulation logic and manages the
database
Understanding the Architecture
FormsEngine
Win
20
00
Win
Ma
c
Win
NT
FMXFile
Mo
tif
“Thick” Client Database Tier
Understanding the Architecture
FormsEngine
Win
20
00
Win
Ma
c
Win
NT
FMXFile
Data ManagerData Manager
Applic. LogicApplic. Logic
PL/SQL EnginePL/SQL Engine
UI PresentationUI Presentation
Mo
tif
“Thick” Client Database Tier
Understanding the Architecture
FormsEngine
FMXFile
Data ManagerData Manager
Applic. LogicApplic. Logic
PL/SQL EnginePL/SQL Engine
UI PresentationUI Presentation
Application Tier Database TierThin Client
Understanding the Architecture
FMXFile
Data ManagerData Manager
Applic. LogicApplic. Logic
PL/SQL EnginePL/SQL Engine
UI PresentationUI Presentation
JVM
Application Tier Database TierThin Client
Understanding the Architecture
FMXFile
UI PresentationUI Presentation
JVM
Application Tier Database TierThin Client
Met
adat
a Data ManagerData Manager
Applic. LogicApplic. Logic
PL/SQL EnginePL/SQL Engine
HTTPHTTPServerServer
Architecture
Application Tier Database TierClient Tier
OC4JOC4JServlet EngineServlet Engine
FormsFormsServletServlet
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet
Client 1
Forms Listener Servlet Architecture
HTTPHTTPServerServer
OC4JOC4JServlet EngineServlet Engine
Architecture
Application Tier Database TierClient Tier
FormsFormsServletServlet
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet
Client 1
Client runs Forms application using a URL
HTTPHTTPServerServer
OC4JOC4JServlet EngineServlet Engine
Architecture
Application Tier Database TierClient Tier
FormsFormsServletServlet
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet
Client 1
HTTP Server hands request to MOD_OC4J which forwards request to Forms Servlet
HTTPHTTPServerServer
OC4JOC4JServlet EngineServlet Engine
Architecture
Application Tier Database TierClient Tier
FormsFormsServletServlet
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet
Client 1
Forms servlet returns HTML page that contains Forms Client Java Applet
HTML
HTTPHTTPServerServer
OC4JOC4JServlet EngineServlet Engine
Architecture
Application Tier Database TierClient Tier
FormsFormsServletServlet
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet
Client 1
Forms Client connects to the Forms Listener Servlet
HTTPHTTPServerServer
OC4JOC4JServlet EngineServlet Engine
Architecture
Application Tier Database TierClient Tier
FormsFormsServletServlet
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet
Client 1
Forms Listener Servlet does two things: (1) Creates a new session, and (2) Starts a Forms Runtime Process
FormsFormsRuntimeRuntime
11
HTTPHTTPServerServer
OC4JOC4JServlet EngineServlet Engine
FormsFormsRuntimeRuntime
11
Architecture
Application Tier Database TierClient Tier
FormsFormsServletServlet
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet FormsForms
RuntimeRuntime22
Client 1
Client 2
Each Forms Runtime Process belongs to one client
HTTPHTTPServerServer
OC4JOC4JServlet EngineServlet Engine
FormsFormsRuntimeRuntime
11
Architecture
Application Tier Database TierClient Tier
FormsFormsServletServlet
MOD_OC4JMOD_OC4J
FormsFormsListenerListenerServletServlet FormsForms
RuntimeRuntime22
Client 1
Client 2
The Forms Listener Servlet Architecture allows Forms to run on any network
Cli
ent
sid
e F
irew
all
Cli
ent
sid
e F
irew
all
Ser
ver
sid
e F
irew
all
Ser
ver
sid
e F
irew
all
Inte
rne
t
APPS SCHEMA
Schemas
Tables
Indexes
Sequences
INV
Views
Triggers
Packages
APPS
Synonyms
Oracle Applications Data Model
Oracle Applications Database Objects
Tables
Views
Indexes
Sequences
Triggers
Packages
Data Objects Code Objects
Synonyms
Materialized Views
Hybrid Objects
Oracle Applications Product Schemas
GL Schema AR Schema
GL_PERIODS
GL_JE_LINES AR_BATCHES_ALL
AR_DISPUTE_HISTORY
APPS Universal Schema
GL Schema
INV Schema
APPS Schema
Views
Triggers
Packages
Synonyms
Additional Schemas
HR
PAY
PER
APPLSYS
AD
FND
APPLSYSPUB
APPS
Schemas Used During Sign on
Connect Connect
APPLSYSPUB
APPS
APPS
FND GL INV ...
FND
ORG_ID Column
SO_Headers_All Table
Eastern Region
ViewWestern Region
View
Multiple Organization Architecture Views
Multi-Org Features
– Multiple Organizations in a Single Installation– Secure Access– Sell And Ship Products from Different Legal
Entities– Purchase and Receive Products between
Organizations– Automatic Accounting for Internal Requisitions– Multiple Organizations Reporting
Oracle 8i Features
Advanced Queuing
Temporary
Tables
Index-organized
Tables
InvokerRights
Materialized Views
Partitioned Tables
Applications Security
User,Responsibily & Function
F u n c tion s F u n c tion s
R esp on s ib ility R esp on s ib ility
F u n c tion s F u n c tion s
R esp on s ib ility
U ser P ro file(E m p loyee)
Defining a New Application UserDefining a New Application User
Assign one or more responsibilities
Enter username and password
Require password changeLimit access attempts
Enter user’s start and end dates
1
2
3
4
Steps 1, 3, and 4 are requiredSteps 1, 3, and 4 are required
Responsibility ComponentsResponsibility Components
Request securitygroup
Data group
Menu
Exclusions
Application
Defining an ApplicationDefining an Application
Application NameApplication Name Application Object Library
Application Short NameApplication Short Name
Application BasepathApplication Basepath
Application DescriptionApplication Description
Defining a Data GroupDefining a Data Group
Define Oracle ID(DBA task)
Enter name for new data group
Model new data group fromexisting data group
Associate application with appropriate Oracle ID
1
2
3
4
Defining a Data Group Defining a Data Group
By defining a data group you can:• Associate an Oracle ID (database
account) with an application• Maintain a list of Oracle Applications
and their Oracle IDs
By defining a data group you can:• Associate an Oracle ID (database
account) with an application• Maintain a list of Oracle Applications
and their Oracle IDs
Data GroupsData Groups
A data group is a collection of pairings of an application with an Oracle ID.
Can appearonly once
Can appearmultiple times, but only oncewith eachapplication
GL
AP1
AR1
Oracle ID-A
Oracle ID-A
Oracle ID-A
Data Group
Responsibility XYZ
CUS Oracle ID-A
GL
AP1
AR1
Oracle ID-A
Oracle ID-A
Oracle ID-A
Data Group
Responsibility XYZ
CUS Oracle ID-A
Relating Data Groups to Forms and ProgramsRelating Data Groups
to Forms and Programs
SERVER
FormForm
ProgramProgram
database
table
Managing Function SecurityManaging Function Security
Menu Level 1 Menu Level 1
Menu Level 2 Menu Level 2
Menu Level 2 Menu Level 2
FunctionFunction
FunctionFunction
FunctionFunctionFunctionFunction
FunctionFunction
FunctionFunction
SubfunctionSubfunctionSubfunctionSubfunction
SubfunctionSubfunction
Menu Level 3Menu Level 3
Menu Level 2Menu Level 2
Function: A set ofFunction: A set ofexecutable code executable code available as a menu available as a menu optionoption
Subfunction: A subset Subfunction: A subset of a form’s functionalityof a form’s functionality
Excluding Functions and MenusExcluding Functions and Menus
Menu Level 1 Menu Level 1
Menu Level 2 Menu Level 2
Menu Level 2 Menu Level 2
Function-CFunction-C
Function-EFunction-E
Function-GFunction-GFunction-FFunction-F
Function-AFunction-A
Function-BFunction-B
Function-AFunction-AFunction-DFunction-D
Function-DFunction-D
Menu Level 3Menu Level 3
Menu Level 2Menu Level 2
Function-HFunction-H
Excluding a function affects the Excluding a function affects the function regardless of level.function regardless of level.
Excluding a menu excludes all Excluding a menu excludes all its child functions.its child functions.
Assign to the responsibility
Defining a New Menu StructureDefining a New Menu Structure
Identify menu needs
Print function security report for similar existing menus
Start with a blank menu form
Print a function security report set to document the new menu
Build the menu from bottom to top
Plan the menu structure
Defining a New ResponsibilityDefining a New Responsibility
Enter application andresponsibility name
Enter start and end dates
Select data group
Select menu
1
2
3
4
Select request group
Enter menu or function exclusions
5
6
Responsibility Creation ProcessResponsibility Creation Process
Data groups
Security ORACLE DataGroup
Menus
Application Menu
Responsibilities
Security Responsibility DefineRequest groups
Security Responsibility Requests
Users
Security User Define
Defining a New ResponsibilityDefining a New Responsibility
You must assign the following to your new responsibility:• A data group to supply the form, report,
and program connect privileges
• A menu to supply access to forms within an application
• Any function or menu exclusions to control access to the functionality of the application
• A report security group to control access to reports and concurrent programs
You must assign the following to your new responsibility:• A data group to supply the form, report,
and program connect privileges
• A menu to supply access to forms within an application
• Any function or menu exclusions to control access to the functionality of the application
• A report security group to control access to reports and concurrent programs