+ All Categories
Home > Documents > Enabling the Information Agedb.ucsd.edu/static/cse132b-sp01/ORACLEapplserver.pdf · Enabling the...

Enabling the Information Agedb.ucsd.edu/static/cse132b-sp01/ORACLEapplserver.pdf · Enabling the...

Date post: 24-Jun-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
18
1 (QDEOLQJ7KH,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
Transcript
Page 1: 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

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

������

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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

Page 12: 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

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)

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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


Recommended