Enabling the Information Agedb.ucsd.edu/static/cse132b-sp01/ORACLEapplserver.pdf · Enabling the Information Age Web Application Server 4.0 2 Agenda • Oracle Application Server
Post on 24-Jun-2020
2 Views
Preview:
Transcript
1
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
Enabling the Information Age
Web Application Server 4.0
Enabling the Information Age
Web Application Server 4.0
2
Agenda
• Oracle Application Server
– Architecture Overview
– Features
������
2
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
3
Oracle Application Server (OAS) 4.0Strategy
• Provide High Enterprise Quality of Service
– Scalable: Multithreaded, Distributed Server
– Reliable: Fault Tolerant, Dynamic Load Balancing, Auto Recovery
– Manageable: One Console integrated with OEM, SNMP
– Secure: LDAP, X.509 Certificates, DB Security
• Leverage & Extend Basic Web Technologies
– Web/HTML (JWeb, PL/SQL, C, Perl, LiveHTML Cartridges)
– CORBA (JCORBA Cartridge)
• Unified Framework that Supports Middleware Functionality
4
Complex Deployment Simplified
Oracle Application ServerOracle Application Server
Web ServerWeb Server DB & Legacy Access
DB & Legacy DB & Legacy AccessAccess
ORBORBTransactionProcessing
Monitor
TransactionProcessing
MonitorNetworkServices
NetworkServices
Message Oriented
Middleware
Message Oriented
Middleware
• Access to any client, any data
• Runs any application
• One server install
• One management environment
SecuritySecurity
Directory Servcies
Directory Servcies
CORBAObjects
CORBAObjects
3
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
Architecture Overview
Oracle Application Server 4.0Oracle Application Server 4.0
6
Oracle Application ServerOpen and Standards Based ArchitectureOracle Application ServerOpen and Standards Based Architecture
• Available on all major UNIX and NT platforms• Supports HTTP/HTML, CGI, CORBA, JDBC, ODBC, Java,
SQL, X/Open• Supports Web/HTML and CORBA Application Models• Open Cartridge API: Java, JavaScript, C, C++, PL/SQL,
Perl, LiveHTML• End-to-End Security: SSL, Authentication, ANO• Listener Independent• Built around CORBA 2.0 Compliant ORB
4
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
7
Oracle Application ServerProject Milestones
• WebServer 2.0
– First Web Request Broker
– First Cartridge Architecture
– First Integrated Java VM
• WebServer 2.1
– First HTTPD independence
• Web Application Server 3.0
– First ORB based Web server
– First Transactional Web server
• Application Server 4.0
– First pure Java (JWEB) cartridge
– First CORBA (JCORBA) cartridge
Q2 1996Q2 1996
Q3 1996Q3 1996
Q2 1997Q2 1997
Q4 1998Q4 1998
8
Oracle Application ServerConceptual Architecture
Web Request Broker
ApplicationCartridges
Application Server
HTTPListeners Apache
HTML
Perl
LiveHTML
C
JDBC,
SQLJ,
CORBA
5
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
9
Oracle Application Server ArchitectureOracle Application Server Architecture
WRBWRB
WRBWRB
WRBWRB
WRBWRB
WRBWRBWeb
Req
uest
Bro
ker
Cartridges
OracleOracleDatabaseDatabase
URL
HTML
Web Request Broker
w Browser Displays HTMLw HTTP Server Listens for Requestsw Web Request Broker Dispatches Requestsw Cartridges Applications that Communicate with RDBMSw Database Stores the Data
AnyHTTPServer
Files orCGI
PL/SQL
C
Java
Perl
JCORBABrowser
10
Oracle Web Request BrokerOracle Web Request Broker
WRBWRB
WRBWRB
WRBWRB
WRBWRBWeb
Req
uest
Bro
ker
Cartridges
OracleOracleDatabaseDatabase
URL
HTML
Web Request Broker
w Distributed, Multi-Threaded, Multiprocess Architecturew Portable Across Range of Operating Systems & Web Serversw WRB API Language Independent Development Environmentw Dynamic Load Balancing, Security, Directory, Transaction Services
AnyHTTPServer
Files orCGI
PL/SQL
C
Java
Perl
JCORBABrowser
WRBWRB
6
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
11
Cartridge SafetyCartridge Safety
WebRequestBroker
Java
PL/SQL
C/C++
HTTP SVRHTTP SVR API
OTHERS
Functionality linked into HTTPDEverything in one process space
Potential danger for listenerFunctionality tied to API, no portabilityHard to diagnose problems
Not Scalable / No Load Balancing
APP1
APP2
APP3
HTTP SVRHTTP SVR
Cartridges managed by WRB
Separate process spacesProcess IsolationScalability & Reliability
Portability of Cartridges
12
Oracle CartridgesOracle Cartridges
WRBWRB
WRBWRB
WRBWRB
WRBWRB
WRBWRBWeb
Req
uest
Bro
ker
Cartridges
OracleOracleDatabaseDatabase
URL
HTML
Web Request Broker
AnyHTTPServer
Files orCGI
PL/SQL
C
Java/HTML
Perl
JCORBABrowser
LiveHTML Perl
C, HTML,Custom
JWeb JCORBA
7
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
13
Database ConnectivityDatabase Connectivity
WRBWRB
WRBWRB
WRBWRB
WRBWRB
WRBWRBWeb
Req
uest
Bro
ker
Cartridges
OracleOracleDatabaseDatabase
URL
HTML
Web Request Broker
w Native Access to Oracle RDBMS via OCI in PL/SQL, C
w Access to Oracle & Non-Oracle RDBMS via ODBC, JDBC, SQLJ, X/A
AnyHTTPServer
Files orCGI
PL/SQL
C
Java
Perl
JCORBABrowser
14
Oracle Application Server 4.0Features
• Fully Distributed Architecture
• Multithreaded Architecture
• Load Balancing
• Support of Java CORBA Objects
• Transaction Services
• Security
• Easy Administration & Management
• Failure Recovery
8
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
15
Oracle Application ServerDistributed Architecture
Application Server
Application Cartridges
Databases
HTTP Servers
Web Browsers ?
16
Multithreaded CartridgesMultithreaded Cartridges
Cartridge Server 1
Instance
Instance
Cartridge Factory
Machine 1
Instance
Cartridge Server 2
• Cartridge Server Factory– Creates new Cartridge Servers
• Cartridge Server– Runs 1 Application– Hosts Cartridge Instances
• Cartridge Instance– Accepts & Executes Requests– Can be Multithreaded
• Threads (NEW)– Shared Across Instances– Serve Multiple Requests
9
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
17
Load BalancingLoad Balancing
WebRequestBroker
Java
PL/SQL
C/C++
C/C++
PL/SQL
Java
Oracle8Oracle8DatabaseDatabaseStored
Procedure
• Min/Max Cartridge Servers• Min/Max Cartridge Instances• Min/Max Threads• New Cartridges Started When Needed• Cartridge Clean Up if Idle
Mathematical Algorithms DetermineWhich Cartridge Instance Should Handle Each Request
Cartridge Server
CartrideInstances
18
Load Balancing
• Weighting Nodes– Specify a percentage of cartridges
that each host should run
• Adaptive Load Balancing– monitor system resource consumption
· cpu usage
· RAM
· swap space
– instantiate new cartridges on lower loaded systems
Node 125%
Node 325%
Node 250%
Broker
10
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
19
Oracle Application Server 4.0Application Models
Web/HTML
• Published API• HTTP Access
• Standard WebBrowser
• Identified via URL• Request/response model• Stateless• Return MIME type data
��-DYD�-DYD�CORBA ObjectsCORBA Objects(JCO)(JCO)
JCORBA CartridgeJCORBA Cartridgell OMG CORBA standardOMG CORBA standard
ll IIOP AccessIIOP Access
–– Java Applet with clientJava Applet with clientORBORB
ll Identified via ObjectIdentified via ObjectReferenceReference
ll Method invocation throughMethod invocation throughexposed interfacesexposed interfaces
ll StatefulStateful
ll Return structured dataReturn structured data
20
CORBA as Infrastructure forNetwork Computing
• Speed Software Development by Assembling CompleteSolutions from Reusable Software Components
• OMG Standards Body Dedicated to Defining Standards toEnable Distributed Component Computing
– CORBA Defines How Software Components Written in DifferentLanguages Can be “Wrapped” in Uniform Way
– “Wrappers” Define Set Methods Visable to Other Components– Components hosted on ORB’s that communicate using IIOP
• CORBA-Compliant ORB’s & Associated RPCs MaskUnderlying Communications Between Client & Server
Key to Network Computing Paradym
11
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
21
Problems with Web Server: No Transactions
Insert into Shopping Cart and Commit
Insert into Shopping Cart and Commit
Who will clean up this “transaction”?
Ooooops I’m dead..
�
�
�
�
�
�
�
�
�
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
Temporary table
Faking a transaction...
Web Server
22
Oracle Application ServerTransaction Services
Web Application ServerWeb Application Server
PaymentPaymentCartridgeCartridge
AdvertisingAdvertisingCartridgeCartridge
ElectronicElectronicStoreStore
CartridgeCartridge
SpyglassSpyglass NetscapeNetscape MicrosoftMicrosoft
Oracle8Oracle8
XAXA
SQLSQL
HTTP SQL
Tx
• Any Language• Any OS• Any HTTP Server• Any Client• Open Standards
Making the Complex Simple
12
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
23
Oracle Application ServerTransaction ServicesOracle Application ServerTransaction Services
• Used to group database operations into transactions that spanmultiple requests or cartridges or databases
• First to support Web Transactions over HTTP
• OTS and JTS
• XA/XOpen standard
• Transaction Demarcation:
– URL: “Zero-code” Declarative (PL/SQL & C) transactions
– API: Programmatic transactions via WRB*API
• Each Cartridge Type supports the Transaction Servicedifferently
– How it defines transaction demarcation
– How it accesses the databases
24
Oracle Application ServerEnd to End SecurityOracle Application ServerEnd to End Security
Browser
SSLSSL
Server
ANOANO
Authentication Schemes– Basic, Digest, RDBMS
– X.509V3 Digital Certificates (Cartridges Only)
Restriction Schemes– IP, Domain
Encryption– SSLv3
– Oracle Advanced Network Option (ANO)
�Oracle
Firewall
HTTP SQL*Net
IIOP (New)
(New)
13
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
25
LDAP Directory Services &Digital ID Authentication
X.509v3
LDAPLDAPDirectoryDirectory
Auth ServerAuth Server
LDAPLDAP
X.509v3
Dis
pat
cher
Dis
pat
cher
CartridgeCartridge
SSL
LDAP
OAS 4.0
Cartridges Only!
26
Oracle Appliction Server 4.0Wallet ManagerOracle Appliction Server 4.0Wallet Manager
• Facilitates installation & use X.509V3 certificates
• Abstraction used store and manage security credentials
• Generates public/private key pairs for clients & servers
• Stores & manages certificates and associated private keys inencrypted wallet file
• Install & manage Certificate Authority (CA) Trustpoints toidentify CA’s trusted to issue client certificates
14
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
27
Oracle Application ServerIntegrated Authentication Services
LoggerLogger ContentContentAuthAuth Svr Svr
Oracle Web Request BrokerOracle Web Request Broker
CAIPBasic,Domain
Extensible AuthenticationServices enable all cartridgesto re-use existing securitysystems, for exampleOracle RDBMS users
WRB System Services
HTTPHTTP
RDBMS
LDAP
28
Oracle Application ServerEasy Administration & Management
� 6LQJOH�SRLQW�RIPDQDJHPHQW�IRUGLVWULEXWHG�VLWHV
� (DV\�WR�8VH-DYD�+70/�EDVHG,QWHUIDFH
� &RQILJXUH�6WDUW�6WRS���0RQLWRU�DOO�2$6FRPSRQHQWV
� 6103�6XSSRUW
15
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
29
Oracle Application ServerFailure Recovery
w 1R�6LQJOH�3RLQW�RI)DLOXUH
w 3DUHQW�3URFHVVHV'HWHFW�)DLOXUH�,QLWLDWH�5HFRYHU\
w ,Q�IOLJKW7UDQVDFWLRQV�+DQGOHG
w )DLOXUH�'HWHFWLRQ�YLD+HDUWEHDW�0HVVDJHV
Enabling the Information Age
Web Application Server 4.0
Enabling the Information Age
Web Application Server 4.0
16
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
31
WWW, Intranets, & the InternetWWW, Intranets, & the Internet
BrowserInternetServer
InternetInternet
FireWall
Corporate NetworkCorporate Network
IntranetServer
32
Oracle’s Firewall PartnersOracle’s Firewall Partners
Sun SolsticeFirewall-1
Digital Firewall Service
SideWinder
TIS Gauntlet
Raptor Eagle
V-One SmartWall
CheckPoint SoftwareFirewall-1
IBM NetSP Firewall
Border TechnologiesBorderWare
NEC Firewall
17
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
33
AuthAuthBrokerBroker
Oracle Application Server 4.0Oracle Application Server 4.0
CORBA 2.0 ORBCORBA 2.0 ORB
WebWebXctionsXctions Web
Services
HTTP
IIOP
ORBServices
CartridgeRuntimes
OthersOthersApacheApacheMicrosoftMicrosoftIISIIS
NetscapeNetscape
SessionsSessions
SpyglassSpyglass
JavaJava(VM)(VM) CC PL/SQLPL/SQL PerlPerl
LiveLiveHTMLHTML
ODBCODBC
WebListeners
JCORBAJCORBA
ORB
Web Cartridge API
IDL
Web Request DispatcherWeb Request Dispatcher
URL NameURL NameSVCSVC
VRMLVRML CobolCobol ReportsReports GraphicsGraphics
TransactionsTransactionsSecuritySecurityNamingNaming PolicyPolicy Mgr Mgr
FORMSFORMS
EnterpriseEnterpriseJavaBeansJavaBeans
34
What are Digital ID’s???What are Digital ID’s???
• Public Key Encryption– Each person gets pair keys: public key & private key
– Each person’s public key is published & private key is keptsecret
– A message encrypted with public key can only be decryptedwith corresponding private key
– A message encrypted with a private key can only be decryptedwith corresponding public key
Encryption of data with private keys so others can read it with public keys
Greatly Simplifies Key Management
18
(QDEOLQJ�7KH�,QIRUPDWLRQ�$JH
35
Failure Recovery ArchitectureFailure Recovery Architecture
MonitoringDaemon
Dispatchers
RM Proxy
CartridgeServer Factories
Cartridge Servers
Broker/RM
Config Provider, Auth Servers,Loggers (client side)
Config Provider, Auth Servers,Loggers (server side)
36
Oracle Application Server 4.0Enterprise EditionOracle Application Server 4.0Enterprise Edition
• Load Balancing: Weighted & Adaptive Scheduling
• Automatic Failover Support
• LDAP
• Transaction Support
– X/Open TX API
– Declarative Transactions
– OTS/JTS
• ODBC
top related