Title: Syed Anwar Aftab
1 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
- ATT Labs
2Agenda
- Introduction
- Presentation Objectives
- Business Needs
- System Overview
- Technology
- System Demonstration
- Summary
- Next Steps
- Questions Answers
3Introduction
- Who we are
- Management Systems Center ATT Labs
- Support ATT 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
4Presentation 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
5Business 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
6Business Needs
- System Should be
- Secure granular, flexible, dynamic security
- Scalable, Robust and Reliable
- Highly Available
- Access to real-time data Integrate seamlessly
into the back-end systems and other e-business
applications - Reports and Alerts On demand, scheduled,
event-based - Easy to use / Minimal or No training required
- Easy distribution of content
- Roles Based Access Privileges
R e s u l t
7System 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
8System Overview - Functionality
Sales Management Process
Marketing Events
Sales Compensation
9System 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
10High Level System Architecture
PSTN
FAX Alert/Notification
PSTN
Application Users Mailbox
IVR Users
Voice XML Browser
Alerts Notification (SMS)
SMTP Server
Tradeshow App
HTTP
SMTP
XML
WAP
Application Server Oracle9iAS
HTTP
Wireless Users
ACT
HTTP
SQLNet HTTP/XML
JDBC/SQL Net
Order, Provisioning, Inventory, CRM Apps
HTTPS
HTTP
Oracle9i OLTP DB
SQL Net
Reporting Server Oracle9iAS
HTTP
JDBC
Oracle9i OLAP DB
11System Upgrade Lifecycle
OWS 1 Oracle 7.3 1st Release
OAS 2 Oracle 8
OAS 4 Oracle 8i
OAS 3 Oracle 8i
8 iAS Oracle 8i
Oracle9iAS Oracle9i
Start
June 98
Oct 98
March 99
Feb. 2000
Aug. 99
Nov 01
Nov 02
- 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
12Technology 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
13Technology 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)
14Technology 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
- ATT Natural Voices, TTS, VoiceGenie VXML ASR
- Testing Tools (Regression/Load Test)
- Empirix e-TEST, Web Stress Tool, WebPerformance
15Technology Production Setup
- ATT 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
16Production System Architecture
Application Server Oracle9iAS Release 2 HP rp8400
Database Servers Oracle9i HP rp8400
Browser Clients
https (SSL)
SQL Net/JDBC
VXML
OLTP Server
SQL Net
SMS
FAX/IVR
IVR Server VoiceGenie/Dialogic
Intranet Client (Netscape 4.0 or higher IE 4.0 or
higher)
- Web Server
- HTML
- HDML
- WML
- Images
- SSL
- Session mgmt
- Application Server
- Application logic
- DB connection
- Java Services
- Session mgmt
- Authentication
- Content mgmt
- Communications
- System linkages
- Work flow
- Business rules
WAP
IVR/ASR
OLAP Server
- HTML
- Javascript
- Data validation
- App Navigation
- Cookies
Internal/External DB
17System Usage
2003
2002
2001
2000
1999
18System Usage
Avg. Monthly Hits
19(No Transcript)
20Customizable Home Page Top Navigation
Work Flow
21Key Recommendations
- Database Intense Applications Should Optimize
- Data Model, Design Structure
- SQLs 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 dont, 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
22Oracle9iAS 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
23Oracle9iAS Configuration
- Get More Memory
- More Memory More MODs
- 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.initArgsrequesttime
60 - JServ.conf ApJServRetryAttempts 30,
ApJServVMTimeout 20
24Always 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
25Oracle9iAS Best Features
- If you developed using OAS, youll 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
High-Availability Performance
26What is Oracle9iAS Web Cache?
Web App Servers
Oracle9iAS Web Cache
ClientBrowser
Database
- 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
27Key Features of Oracle9iAS Web Cache
- Full-page Caching with Simple Personalization
- Partial-page Caching and Personalized Content
Assembly (ESI) - Invalidation and Performance Assurance
HeuristicsAutomatic 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
28Improve Reliability Using Caching
Servlet / JSP
Browser
Perl
Apache
PL/SQL
Portal
Web Cache
Wireless Mobile
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
29Future 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
30Summary
- 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 Its 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
31Summary
- 9iAS Simplifies Developing Oracle DB Apps
- 9iAS Makes Oracle DB Apps Reliable
- 9iAS Lowers Total Cost of Ownership
32Next 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
33(No Transcript)
34- Please complete the OracleWorld online session
survey. - Thank you!