Thomas KurianSenior Vice PresidentOracle9i Application Server
Key Messages
9iAS World’s Fastest Growing App Server 9iAS Simplifies Developing Oracle DB Apps 9iAS Makes Oracle DB Apps Reliable 9iAS Lowers Total Cost of Ownership 9iAS is the best App Server for Oracle DB
Oracle9iAS has GrownRapidly Over Past Year
Fastest Growing App Server Fastest Growing Oracle Business 13,000+ Customers 2 Million+ Downloads 200+ References 500+ System Integrators 5,100+ Consultants 1,200+ ISVs 3,200+ Resellers
9iAS So Far...
Oracle9iAS Simplifies Developing Internet
Applications with Oracle DB
Data Management Complexity
Spatial Data
Geo SpatialServerStructured
Data
DatabaseServer
Static Web Pages
Web Server
Mail Server
Video
Video Server
• Difficult to search• Difficult to find
• Difficult to combine • Impossible to
share outsideyour organization
Audio Data
Audio Server
Text
TextServer
Dynamic Web Pages
ApplicationServer
Documents
DocumentServer
Files
File System
Middleware Complexity
• Multiple Development Tools
• Multiple Management Tools
• High TCO, Complexity
3GL3GL
TP MonitorTP MonitorCORBAObjects
CORBAObjects
ORBORB
Web PagesWeb Pages
Web ServerWeb Server
4GL4GL
4GL Runtime4GL RuntimeMessagingMessaging
MOMMOMCOMCOM
MTSMTS
EnterpriseJava BeansEnterprise
Java Beans
EJB ServerEJB Server
LegacyLegacy
TransactionSeries
TransactionSeries
B2B Integration
B2B Integration
B2B ServerB2B Server
IntegrationIntegration
IntegrationServer
IntegrationServer
3GL3GL
TP MonitorTP Monitor
WebServices
WebServices
Web ServicesServer
Web ServicesServer
BrowserBrowserDeviceDevice
Oracle’s Vision
Oracle9i Application
Server
Oracle9i Database
Server
Any Client Run All Your Applications
Manage All Your Data
9iAS Application Development
PortalsPortals
Web ServicesWeb Services
WirelessWireless
IntegrationIntegration
J2EEJ2EE
BusinessBusinessIntelligenceIntelligence
Dynamic Web Sites Industry Standard HTTP Listener
– Apache 1.3.22, Standard Mod Architecture– High Availability Enhancements
Design Static HTML Pages– Design HTML Templates– Drop Content into Oracle DB – via WebDAV– Use Popular Tools Dreamweaver, FrontPage, Office
Add Dynamic Content– Use JSPs, JSP Tag Libraries– Easy DB Access Tags
Globalize Web Site– Monolingual, Multilingual Applications– Unicode, NLS conversions
Dynamic Web Sites
Database
LOBLOB XMLXML
MultiMediaMultiMediaTable
Browser
Apache(9iAS)
Apache(9iAS)
VB/ASPsVB/ASPsISAPI AppsISAPI AppsIISIIS
Fast CGIMod-Proxy
AJP
Web-Web-DAV DAV
HTML Design Tools
XML/XML/XSL-TXSL-T
Perl/PHP/PLSQLPerl/PHP/PLSQL
ServletsServlets
9iAS
JSPs (Tag Libraries)JSPs (Tag Libraries)
Web-Web-DAV DAV
File SystemFile System(Static HTML)(Static HTML)
NSAPI AppsNSAPI AppsNSNSFast CGI
Mod-Proxy
Build J2EE Applications
Best Database Access – Access to All Oracle Datatypes– 9.2 JDBC - Fastest, Most Feature Rich– SQLJ – Embedded SQL in Java
Map between Java and DB - Toplink– From Java to DB, From DB to Java– Use C/S, 9iAS, JSP/Servlet– Makes You Very Productive
Coexist with Existing Apps– PL/SQL Stored Procedures– Oracle Forms Apps– Oracle Reports Apps
J2EE Applications
Database
Apache(9iAS)
Apache(9iAS)
Browser
JSPJSP ServletsServlets
JTA
JMS
JND
I
Java Mail
JAA
S
JDK Java VM
9iAS
JDB
C
J2EE ContainerJ2EE Container
JCA
EJBsEJBs(Session, Entity, MDBs)(Session, Entity, MDBs)
EJBClientEJB
Client
CORBAClient
CORBAClient
RMI
http
RMI-over-IIOP
Build Web Services
100% Standards Compliant – SOAP 1.1, WSDL 1.1, UDDI v 2.0– Standards - J2EE1.4, JAX-*, WS-I– Interoperability - .NET
Web Services Runtime– Static RPC, Dynamic RPC– Messaging – Guaranteed Delivery
PL/SQL Stored Procedures– Generate Java Bindings - JPublisher– Create Public Interface - Coarse Grain– Create WSDL, Package, Deploy, Register– Invoke from WS Client - .NET
Web Services
Web ServiceWeb ServiceClientClient
(J2EE, .NET)(J2EE, .NET)
WWSSDDLL
StaticStatic
DynamicDynamic
BindingsBindings
99iiASAS
Java ClassesJava Classes
Stateless Stateless Session EJBSession EJB
Message DrivenMessage DrivenBeanBean
StoredStoredProceduresProcedures
Legacy SystemLegacy System
SOAPSOAP
UDDI RegistryUDDI Registry
MessagingMessaging
SSKKEELLEETTOONN
DBPL/SQLPL/SQL
HTML, XML
Stream
Integrate Apps and Databases
Connect Databases – Oracle, non-Oracle– Synchronize Data Between Databases– Schemas Different in Two Databases
Data Transformation– Common Internal View, Impact Analysis– Data - Java, XSL-T; Semantic Maps– Pre-Builts - String, Math, Patterns, Conditions– Complex - Many Sources to Many Targets– Versions, MultiByte, Recurring Elements
Data Transformation– Adapters – Database, File, AQ– Also - Workflow, Rules, Process Monitoring
Integration
99iiASAS
AQAQ
Transformation
Translation
Validation
Event
Business Proc Mgr(Workflow)
Adapter
Adapter
Oracle DBOracle DB
TriggerTrigger
Oracle DBOracle DBNon-Oracle DBNon-Oracle DBAdapter
Oracle9iAS Makes Oracle Database Applications
Reliable
AvailabilityAvailability
SecuritySecurity
CachingCaching
SystemsSystemsManagementManagement
PerformancePerformance
ScalabilityScalability
9iAS Application Deployment
Performance
Fastest App Server – Speed Up Java Apps to Oracle DB
J2EE Optimizations– Transaction Management– SQL and EJB Caching– Database Mappings– Network Protocols– Highly Optimized JDBC
Web Services Optimizations– Optimized Static Interface– Java-XML Binding– In-Process Calls– XML Compression
#1 App-Server Price-PerformanceecPerf Benchmark Results – 9iAS on HP
Source: ECPerf Benchmark – http://ECPerf.theserverside.com - July 2002
$5
$7
$11
$0
$2
$4
$6
$8
$10
$12
9iAS BEA WL IBM WS
$/BBOPs/Min
#1 App-Server PerformanceecPerf Benchmark Results – 9iAS on Sun
61,863
37,79144,295
0
20,000
40,000
60,000
80,000
9iAS BEA WL IBM WS
Source: ECPerf Benchmark – http://ECPerf.theserverside.com - July 2002
BBOPs/Min
#1 Performance on Linux 2X Faster
4,107
1,852 2,041
0
1,000
2,000
3,000
4,000
5,000
Source: ECPerf Benchmark – http://ECPerf.theserverside.com - July 2002
9iAS BEA WL IBM WS
BBOPs/Min/CPU
#1 Performance on Intel1.5-2X Faster
4,107
2,6382,041
0
1,000
2,000
3,000
4,000
5,000
Source: ECPerf Benchmark – http://ECPerf.theserverside.com - July 2002
9iAS BEA WL IBM WS
BBOPs/Min/CPU
#1 Performance on Sun1.5X Faster, 2X+ Cheaper
PerformanceBBOPS/Min/CPU
3,010
2,084
0
1,000
2,000
3,000
4,000
9iAS BEA WL
$12
$26
$0
$5
$10
$15
$20
$25
$30
9iAS BEA WL
Price-Performance $/BBOPS/Min/CPU
Source: ECPerf Benchmark – http://ECPerf.theserverside.com - July 2002
Caching
Cache Database and Java Objects– Improve Performance, Scalability, Availability
Java/J2EE Object Cache– Reduce Database Overhead– Distributed – Across JVMs, CPUs– Share Memory – Improve Scalability – Fast, Configurable, Pageable
Web Cache– Performance - Static, Dynamic, Partial Pages– Scalability - Scale with Less Hardware– High Availability - Load Balancing– Reduced Latency - Content Delivery Networks
9iAS Cache Faster Than MS .NET CacheAverage Response Time Milliseconds
500 1000 1500 2000 2500
Number of Users3000
1111 1111 1313 1313 1414 16163434 7373
145145
198198
360360
100100
Scalability Most Scalable App Server
– Variety of Scaling Techniques– App Server Clusters
Multiple Threads on 1 JVM– Resource Pooling, Caching, Configurable
Multiple JVMs on 1 CPU– Clusters, Load Balancing, Failover
Horizontal Scaling with 1-2 CPU Systems– Clusters, Cluster Management
Vertical Scaling on 4-16 SMP Clusters– Clusters, Load Balancing, Failover
Scalability
LoadLoadBalanceBalance
Apache (9iAS)
ProcessPool
mod_OC4J(Conn Pool)
Apache (9iAS)
Apache (9iAS)
9iAS
JDBCJDBC
JDBCJDBC
JDBCJDBC
J2EE1(Thread 1)
J2EE2(Thread 2)
J2EE3(Thread 3)
StateState
StateState
StateState
9iAS
JDBCJDBC
JDBCJDBC
J2EE2(JVM 1)
J2EE3(JVM 2)
StateState
StateState
LoadLoadBalanceBalance
App Server ClusterApp Server Cluster
JDBCJDBCJ2EE1(JVM 1)
StateState
DB RAC ClusterDB RAC Cluster
NodeNodeAA
NodeNodeBB
NodeNodeCC
NodeNodeDD
RDBMSRDBMSDispatcherDispatcher
PoolPool
High Availability
Most Reliable App Server– 100% State Recoverability
Zero Planned Downtime– Rolling Upgrade– Dynamic Reconfiguration - No Bouncing– Hot Deployment– Silent Install, Configure, Cloning
Zero Unplanned Downtime– No Single Point of Failure– New Fast Start Fault Recovery Architecture– App Server Clusters and Session Failover– DB/RAC Clusters and Failover
High Availability
Web Server(9iAS)
Web Server(9iAS)
Web Server(9iAS)
Web Server(9iAS)
Load Balancing/
Failover
NodeNodeAA
NodeNodeBB
NodeNodeCC
NodeNodeDD
DB ClusterDB Cluster(Persistent State)(Persistent State)
JDBC
JDBC
JDBC
JDBC
JDBC
JDBC
JDBC
JDBC
StateState
StateState
J2EE
J2EE
J2EE
J2EE
StateState
App Server ClusterApp Server Cluster(Session State)(Session State)
Load Balancing/
Failover
Web Server ClusterWeb Server Cluster(Stateless)(Stateless)
TransparentApp
Failover
High Availability
Web Server(9iAS)
Web Server(9iAS)
Web Server(9iAS)
App Server ClusterApp Server Cluster
JDBC
JDBC
StateStateJ2EEFMFM
JDBC
JDBC
StateStateJ2EEFMFM
JDBC
JDBC
J2EE StateStateFMFM
NotificationService
(Cluster Wide)
DCM(Cluster WideConfiguration)
DCM(Cluster WideConfiguration)
Auto-RestartAuto-Restart
Redirect Redirect LoadLoadBalancingBalancing
DynamicDynamicRegisterationRegisteration
11
22
33
4455
66
77
88
Systems Management
1 Tool, 1 Point of Administration– End-to-End Monitoring, Analysis
Comprehensive Monitoring– Status - Up/Down, UpTime– Faults - Notify, Troubleshoot– Resources - CPU, Memory, Threads, JVMs...– Performance - DMS, Several Statistics
Comprehensive Management– Create - Create, Destroy, Add, Remove, Start, Stop ..– Configure - Components, Ports, Log Files, Security– Deploy Apps - Deploy, Remove, Publish, Register– Comprehensive Cluster Management
Systems Monitoring
App ServersApp ServersEnterpriseEnterpriseManagerManager
SSOSSOLDAPEM
Repository
Database Database ServersServers
DB
J2EEEMD
DMSDMS
FMFM
EMD
EMD
J2EEWeb Server
(9iAS) FMFMFMFM
EMDEMDWeb Server(9iAS)
EMD
DMSDMS
FMFM
EMD
EMD
J2EEWeb Server
(9iAS) FMFMFMFM
EMD
ManageSecurity
FaultsFaults
Performance
ResourceResource
DEMO
Oracle9iAS High Availability and Clustering
Security Standard-based Security
– HTTPS, PKI/SSLv3, JAAS, Java2, CSIv2, LDAPv3 Enterprise Single Sign-On
– Lower Complexity for Users– User Name/Password, SSL Certificates
Secure Java Applications - JAAS– Multi-Tier Security– Centralized Authentication– Role-Based Access Control
Centralized Security Administration – LDAPv3– DB-Backed - Scalable, Reliable, Fast– 2-Way iPlanet, Active Directory Sync– Centrally Manage Security, DAS
Security
9iAS
Single Sign-OnServer
Oracle DB
WebCacheWeb
Cache 9iAS
9iAS
LDAP(Internet
Directory)
ApacheApache
mod_osso
J2EE Apps
PERL Apps
PL/SQL Apps
SingleSingleSign-OnSign-On
Encoded URLsEncoded URLs(Secure Cookies)(Secure Cookies)
HTTP-SHTTP-S
HTTP-SHTTP-S
FIREWALLFIREWALL
Single Sign-Single Sign-On with On with Oracle DBOracle DB
Stored Procs
DB Tables
CertificatesCertificatesPrivilegesPrivilegesRolesRoles
Other Single Sign-On Servers
Oracle9iAS Lowers Total Cost of Ownership
9iAS & 9iDB Lowest TCO
Lowest Software Costs– Lowest License Costs– Clustering, Management, Security Included
Lowest Hardware Costs– More Scalable Requires Fewer CPUs– Certified to Run On Same CPUs
Lowest Support Costs– Consolidate to Single Point of Support
Lowest Operational Costs– Single Certified Technology Stack– Single Management Tool– Single Patch Set Model
Best App Server for Oracle DBTop 10 Reasons
10. Feature Access - PL/SQL, Objects, BLOBS, AQ, XDB9. Tools - 1 Development Tool8. Performance - Fastest7. Scalability – Transaction Management6. Availability - Failover, Clusters, RAC5. Globalization - 1 Globalization Model4. Security - 1 Security Model, 1 Directory3. Management - 1 Management Tool2. Operations - Install, Upgrade, Patch1. Certification - All Versions, Most Up-to-Date
Key Messages
9iAS World’s Fastest Growing App Server 9iAS Simplifies Developing Oracle DB Apps 9iAS Makes Oracle DB Apps Reliable 9iAS Lowers Total Cost of Ownership 9iAS is the best App Server for Oracle DB
DEMO
Oracle9iAS Interconnect