MSA Professional Services

advertisement
Building Enterprise-Class E-Business
Systems Using Oracle9iAS: A Case Study
Session # 36281
September 7- 11, 2003. San Francisco
Syed Anwar Aftab
Senior Member of Technical Staff
AT&T Labs
Agenda
 Introduction
 Presentation Objectives
 Business Needs
 System Overview
 Technology
 System Demonstration
 Summary
 Next Steps
 Questions & Answers
AT&T Proprietary - Use Pursuant to Company Instructions
2
Introduction
Who we are :
 Management Systems Center: AT&T Labs
 Support AT&T Business Units - ABS, Labs,
Consumer
 Business Analysts, Systems Analysts, Developers,
IT Architects, DBA, System Administrators
 Turn Key Systems Development & Hosting
– OLTP/OLAP
– Data Mining, Systems Research
– Workflow Systems
– Monitoring & Control Applications, DSS
AT&T Proprietary - Use Pursuant to Company Instructions
3
Presentation Objectives
 Case Study: Business Problem
 Using Oracle9iAS and Oracle9i Database for
Enterprise e-Business Application Development
 Architecture Design and Frameworks
 Open, Scalable and Reliable Applications
 Lessons Learned/Key Recommendations
 Tips for using Oracle9iAS
AT&T Proprietary - Use Pursuant to Company Instructions
4
Business Needs










Single Point of Access for Sales Agents
End-to-End Sales Management Application
Reduce Operations Cost, Increase Sales and Profit Margins
Streamline Sales Process, Eliminate/Reduce Manual tasks
Improve Process Efficiency
Enhance Internal & External Communication
Empower Sales Employees and Vendors
Online Support and Education
Simplified Administrative Procedures
Improve Accuracy
AT&T Proprietary - Use Pursuant to Company Instructions
5
Business Needs
System Should be :




Secure : granular, flexible, dynamic security




Reports and Alerts : On demand, scheduled, event-based
Scalable, Robust and Reliable
Highly Available
Access to real-time data: Integrate seamlessly into the back-end
systems and other e-business applications
Easy to use / Minimal or No training required
Easy distribution of content
Roles Based Access Privileges
Result
AT&T Proprietary - Use Pursuant to Company Instructions
6
System Overview - Functionality










Leads/Opportunity Workflow
Sales Management and Order Tracking
Agent Recruiting and Tracking
Product Pricing and Provisioning
Product Training
Commission Processing
Revenue Reporting and Forecasting
Information Bulletin Board
Sales Channel Management
Internationalization - Multilingual Interface including English
and Spanish
AT&T Proprietary - Use Pursuant to Company Instructions
7
System Overview - Functionality
Sales Management Process
Leads
Creation
Leads
Prioritization
Leads
Enrichment
Intelligent
Lead
Routing
Lead
Alert/
Tracking
Pricing
Support
Marketing
Events
Marketing
effectiveness
Sales
Compensation
Order
Fulfillment
Tracking
Contract
Preparation
Sales
AT&T Proprietary - Use Pursuant to Company Instructions
Revenue
8
Proposal
Preparation
System Overview - Background










Project Started June 1998
1st Release October 1998 on OWS 1.1 and Oracle 7.3 DB
Latest Release Nov 2002 on Oracle9iAS and Oracle9i (Release 2)
Browser based - Thin Client Architecture
WAP(Wireless) and IVR/ASR(Speech) Capabilities
Separate OLTP and OLAP Production Systems
Use of Rules Engine for Sales Management
20,000 Internal and External Users
200+ Online Screens
Integrated with over 10 internal and external systems including
Marketing, Advertising, Billing, Provisioning, Acquisition,
Pricing, Commissioning and Compensation
 18 Types of System User Roles and Access Privileges
AT&T Proprietary - Use Pursuant to Company Instructions
9
High Level System Architecture
FAX Alert/Notification
Application
User’s
Mailbox
2
3
5
6
7
8
9
*
8
#
PSTN
PSTN
IVR Users
Multipart
Mime Msg
Alerts
Notification
(SMS)
1
4
Voice XML
Browser
SMTP
Server
HTTP
Tradeshow
App
SMTP
XML
WAP
HTTP
Wireless Users
Application Server
Oracle9iAS
PSTN
HTTP
ACT
JDBC/SQL Net
Order, Provisioning,
Inventory, CRM Apps
HTTPS
HTTP
Oracle9i OLTP DB
SQL Net
HTTP
Reporting
Server
Oracle9iAS
AT&T Proprietary - Use Pursuant to Company Instructions
SQLNet*
HTTP/XML
JDBC
Oracle9i OLAP DB
10
System Upgrade Lifecycle
Start
OWS 1
OAS 2
OAS 3
OAS 4
8 iAS
Oracle9iAS
Oracle 7.3
Oracle 8
Oracle 8i
Oracle 8i
Oracle 8i
Oracle9i
March 99
Aug. 99
1st Release
June 98
Oct 98
Feb. 2000
Nov 01
Almost no changes required in PLSQL code
Major enhancements in server configuration and administration
Oracle9iAS Key Features – PL/SQL Server Pages, Apache, Web
Cache, J2EE, BI Beans Reports
AT&T Proprietary - Use Pursuant to Company Instructions
11
Nov 02
Technology – Software/Tools
 N-Tier Web Based Distributed OLTP and OLAP Systems
 Frameworks
– PL/SQL MVC Framework (Custom Developed)
» Oracle9iAS, Oracle9i RDBMS, PL/SQL Server Pages, PL/SQL Packages
– J2EE MVC Framework
» JSP, Servlets, Java Beans, XML
 Thin Client Application
– No Plug-ins
– Easy Deployment: Browser based, HTML, JavaScript, CSS
– Centralized Access -- Scalability, Portability
– 24X7 Availability
AT&T Proprietary - Use Pursuant to Company Instructions
12
Technology – Software/Tools
Languages
– PL/SQL (Packages, Procedures, Functions)
– Java Beans, JSP 1.1, Servlets 2.0
– CGI : Perl, Pro C, Shell Scripts, AWK
– HTML, HDML, XML, WML, Voice XML, JavaScript
– PDF document generation (ps2pdf)
AT&T Proprietary - Use Pursuant to Company Instructions
13
Technology – Software/Tools
Servers/Tools
– Application Server
» Oracle9iAS
– Java 2 Development Tools
» Oracle9i JDeveloper, Borland JBuilder, JFreeCharts
– Database
» Oracle9i RDBMS
– Database Development Tools
» Oracle Enterprise Manager, DBA Studio, SQL Navigator, TOAD PL/SQL
Developer, ER Win
– IVR
» AT&T Natural Voices, TTS, VoiceGenie VXML & ASR
– Testing Tools (Regression/Load Test)
» Empirix e-TEST, Web Stress Tool, WebPerformance
AT&T Proprietary - Use Pursuant to Company Instructions
14
Technology – Production Setup
 AT&T Internet Data Center in Alpharetta, GA
 24X7 Availability and Support
 Secure Extranet/Firewall and Internal VPN Access
 HP rp8400 Rack Server
– 8 CPUs (750MHZ)
– 8 GB Memory
– 500 GB disk space
– HP Unix 11i
AT&T Proprietary - Use Pursuant to Company Instructions
15
Production System Architecture
Application Server
Database
Servers
Oracle9iAS Release 2
HP rp8400
Browser Clients
Oracle9i
HP rp8400
HTML/
XML
https (SSL)
Internet
SQL Net/JDBC
VXML
OLTP Server
SMS
SQL Net
FAX/IVR
IVR Server
VoiceGenie/Dialogic
1
WAP
IVR/ASR
2
3
4
5
6
7
8
9
*
8
#
Intranet Client
(Netscape 4.0 or higher Web Server
IE 4.0 or higher)
• HTML
•
• HDML
•
• WML
•
• Images
•
• SSL
•
• Session mgmt•
• HTML
•
• Javascript
•
• Data validation
•
• App Navigation
•
• Cookies
AT&T Proprietary - Use Pursuant to Company Instructions
16
Application Server
Application logic
DB connection
Java Services
Session mgmt
Authentication
Content mgmt
Communications
System linkages
Work flow
Business rules
OLAP Server
Internal/External DB
System Usage
Average Daily User Sessions
2500
2003
2002
2000
1500
2001
1000
2000
1999
500
AT&T Proprietary - Use Pursuant to Company Instructions
17
da
y
tu
r
sa
es
d
ay
y
w
ed
n
nd
a
su
rs
da
y
y
th
u
m
on
da
ay
fri
d
sd
ay
tu
e
da
y
tu
r
sa
es
d
ay
y
ed
n
nd
a
w
su
rs
da
y
th
u
m
on
da
y
0
System Usage
Avg. Monthly Hits
2000000
1800000
1600000
1400000
1200000
1000000
800000
600000
400000
200000
0
1
2
3
4
AT&T Proprietary - Use Pursuant to Company Instructions
5
6
18
7
8
9
10
11
12
AT&T Proprietary - Use Pursuant to Company Instructions
19
Customizable
Home Page
Top Navigation
Work Flow
AT&T Proprietary - Use Pursuant to Company Instructions
20
Key Recommendations
 Database Intense Applications Should Optimize :
– Data Model, Design & Structure
– SQL’s: Syntax, Correct Use of Optimizer, Hints, Joins, Indexes, and PLSQL
– Oracle9i DB: Separate Table space for indexes and data, Correct Table
Partitioning, Use of Materialized Views, bitmap indexes, Summary Tables,
Correct Size for Shared Pool and Max Open Cursors
– Analyze tables/indexes : dbms_stats.gather_schema_stats
– DB Connection Pooling
 Test and Test !! If you don’t, your users will
– Load Test – assume the worst case scenario
– Scenario/Case Test, Exceptions Test
 Upgrade to Latest Release of Oracle9iAS – Minimize patches
 Have identical environments in development, QA and production
 Upgrade RAM first -- then Hardware
AT&T Proprietary - Use Pursuant to Company Instructions
21
Oracle9iAS PLSQL Tuning
 Pin most used procedures, functions, packages
 Caching PL/SQL calls greatly improves performance
 Eliminates additional network round trips and calls to the
database server




Can be invoked by making calls to the OWA_CACHE package
Single Sign-on Cookie Cache
Always Package procedures/functions together
DAD Connection Pooling
AT&T Proprietary - Use Pursuant to Company Instructions
22
Oracle9iAS Configuration
 Get More Memory
– More Memory = More MOD’s
– 1 GB At least for Production Servers
 Reduce Logging Level – Reduce CPU & I/O Cost
– Only Log Errors
 Reduce Oracle 9iAS Directory Depth – Reduce Security Checks
 Update httpd.conf Default Settings
– HostNameLookup off
– Options FollowSymLinks rather than SymLinksIfOwnerMatch
– AllowOverride none
– MinSpareServers, MaxSpareServers
– MaxClients
– Disable unused MODs
 Increase “timeout” and “retry” configuration in Apache
– zone.properties: servlet.page.initArgs=requesttime=60
– JServ.conf: ApJServRetryAttempts
30, ApJServVMTimeout 20
AT&T Proprietary - Use Pursuant to Company Instructions
23
Always Use an Application Framework
(9iAS Does it for you)
 Enforce standards in organization
 Achieve repeatable and consistent design and development
process






Manage code complexity of large scale applications
Provide coding discipline
Avoid recurring design problems
Enable distribution of modules for parallel development
Build core competency
Reduce maintenance costs
AT&T Proprietary - Use Pursuant to Company Instructions
24
Oracle9iAS Best Features
 If you developed using OAS, you’ll really appreciate many of
the enhancements that were added to Oracle 9iAS.
 Enhancements (beyond significant performance
improvements) include:
– De-authentication
– New/Changed CGI Parameters
– PL/SQL Server Pages
 Oracle9iAS Web Caching
– Reducing load at the origin server
 Oracle9i Real Application Clusters (RAC)
– Increase Capacity, Availability and Scalability
 Cache clustering
– Increasing cache capacity and number of concurrent requests
 Oracle9iAS Web Cache: Enterprise Solution for HighAvailability & Performance
AT&T Proprietary - Use Pursuant to Company Instructions
25
What is Oracle9iAS Web Cache?
Web App Servers
Oracle9iAS
Web Cache
Client
Browser
Network





Part of Oracle9i Application Server
Deployed between clients and origin servers
Accelerates static and dynamic content
Reduces load on origin servers
Improves application availability and reliability
AT&T Proprietary - Use Pursuant to Company Instructions
Database
Key Features of Oracle9iAS Web Cache
• Full-page Caching with Simple Personalization
• Partial-page Caching and Personalized Content Assembly (ESI)
• Invalidation and Performance Assurance Heuristics
•
•
•
•
•
Automatic Content Compression
Web Server Load Balancing and Failover
Cache Clustering
Hierarchical / Distributed Caching and Page Assembly (eCDN)
Integrated with Oracle Tech Stack: 9iAS, 9iDB, 11i Apps, OEM
Compatible with 3rd-party application servers and databases
AT&T Proprietary - Use Pursuant to Company Instructions
Improve Reliability Using Caching
Web Cache
Browser
Wireless &
Mobile
Apache
Servlet / JSP
Perl
PL/SQL
Portal
Any Data
Source
Any Application /
Web Server
Internet / intranet
Users – Serves
Dynamic and Static Content Faster
– Supports more users with fewer web servers / less hardware
– Higher reliability with surge protection and loadbalancing
Source: Oracle9iAS Product Overview
AT&T Proprietary - Use Pursuant to Company Instructions
Future Enhancements
 Use Oracle9i Real Application Clustering (RAC)
– Increase Availability, Scalability and Performance
 Oracle9iAS Web Cache Clustering: Enterprise Solution for
High-Availability & Performance
 Oracle BI Beans for OLAP & Data Mining Needs
 Oracle9iAS Portal
AT&T Proprietary - Use Pursuant to Company Instructions
29
Summary
 The pace of business has changed, quicker responses in






technology solutions are required.
Constantly Moving Targets: keep up with the “real world”,
adapt and deliver change.
Approximating complexity and timelines are critical
Team Work : It’s all about the team
Build Elasticity into timelines and design
Details are important -- proactively analyze business rules
and “exceptions”
Rapid deployment of High-Performance Dynamic
Applications is critical
 Always start with a simple application
 Follow process & Enforce discipline
 Framework is not a panacea
AT&T Proprietary - Use Pursuant to Company Instructions
30
Summary
 9iAS Simplifies Developing Oracle DB Apps
 9iAS Makes Oracle DB Apps Reliable
 9iAS Lowers Total Cost of Ownership
AT&T Proprietary - Use Pursuant to Company Instructions
31
Next Steps
 Recommended sessions
– 36492 Oracle9iAS Tuning Techniques
– 40062 Oracle Application Server Integration: Overview and Vision
– 40282 Oracle Application Server 10g: Simplifying MIddleware
Complexity
 Recommended demos and/or hands-on labs
– 40377 Oracle Application Server 10g Hands On Lab
– Visit Oracle 9iAS DEMOgrounds
 Relevant web sites to visit for more information
– http://www.att.com/attlabs/
– http://technet.oracle.com
– http://metalink.oracle.com
AT&T Proprietary - Use Pursuant to Company Instructions
32
QA
QUESTIONS & ANSWERS
AT&T Proprietary - Use Pursuant to Company Instructions
33
Please complete the OracleWorld
online session survey.
Thank you!
AT&T Proprietary - Use Pursuant to Company Instructions
34
Download