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