Oracle9i Application ServerHenry ByorumDirector, Business DevelopmentOracle Corp.
Agenda
The Application Server Market
Oracle9i Application Server Overview
Oracle9iAS Portal– Basic Concepts– Architecture– Key Components
Summary
Technology Trends
Internet Becomes Ubiquitous– All Applications On Internet
All Applications on Application Servers– Reduce Middleware Complexity
Internet Becomes Programmable– Applications Communicate as Web
Services
Access Becomes Ubiquitous– Access From Mobile Devices via Portals
Application Server Product Footprint
WirelessServersWirelessServers
Java/J2EEServers
Java/J2EEServers
BusinessIntelligence
BusinessIntelligence
SecurityDirectory Services
SecurityDirectory Services
IntegrationServersIntegrationServers
Web ServicesServersWeb ServicesServers
PersonalizationPersonalization EnterprisePortalsEnterprisePortals
ApplicationServer
Platform
ApplicationServer
Platform
Source: Giga, Sept 2001
Browser/Browser/DeviceDevice
Oracle’s Vision
Oracle9i Application
Server
Oracle9i Database
Server
Run All Your Applications
Manage All Your Data
Oracle9iAS Release 1
Launched December 2000 15,000+ Live Customers 30,000+ Shipments 2.0 Million+ Downloads 700+ ISVs 1000+ System Integrators Oracle’s Fastest Growing Business
Analyst Reaction - Last 4 Months #1 J2EE Server - Forrester Research #1 App Server - Hurwitz Research #1 App Server - Computer Reseller News #1 Portal Server - Forrester Research 7 Category Wins - Java Dev. Journal Fastest Growing App Server - TechTel
Rankings Complete Web Services Vision - Giga Most Complete Platform - AMR Research
Oracle9iAS Helps You Develop Internet
Applications Faster
Oracle9iAS Helps You Develop Internet
Applications Faster
Oracle9iAS Development
PortalsPortals
Web ServicesWeb Services
WirelessWireless
IntegrationIntegration
J2EEJ2EE
BusinessBusinessIntelligenceIntelligence
Run all your Web Applications & Web Sites
Oracle9Oracle9ii Application Server Application Server
Oracle9iAS can run any web site or application– Develop in Java, PERL, PL/SQL, Forms, XML– Supports Netscape, MS Web Servers, any DB– Best integrated Java stack for Oracle
FormsForms
OracleDatabase
LOBLOB XMLXML
interMediainterMedia
FilesFilesTables
Internet Internet UsersUsers
Intranet/Intranet/Professional Professional UsersUsers
PL/SQLPL/SQL XML / XSLXML / XSL
Perl ScriptingPerl Scripting
Servlet / JSPServlet / JSP
CORBACORBA
EJB / BC4JEJB / BC4J
100% J2EE 1.3 Compliant– JSP 1.2, Servlet 2.3, EJB 2.0
JSP 1.2– Translator & Runtime– New Packaging – JSP TagLibs - DB, Mail, Search, XML/XSL-T, File,
Caching, Web Services, Resource Pools, Security, ...
Servlet 2.3– Servlet Filters, Chaining– Application Lifecycle Events– New Class Loading Rules– New Packaging
J2EE
EJB 2.0 Support– Session & Entity Beans– Persistence - BMP, CMP– Queryability - EJB QL– Database and Non-Oracle Access - JDBC– Transactions – JTA– Messaging - JMS– Message Driven Beans - MDBs– Active Components - B2B– Security - JAAS– Connectors - JCA– Legacy Access - CICS, EDI
J2EE 1.3
Develop J2EE Applications
Database
Apache(9iAS)
Apache(9iAS)
Browser
JSPJSP ServletsServlets
JTA
JMS
JND
I
Java Mail
JAA
S
JDK Java VM
Oracle9iAS
JDB
C
J2EE ContainerJ2EE Container
JCA
EJBsEJBs(Session, Entity, MDBs)(Session, Entity, MDBs)
EJBClientEJB
Client
CORBAClient
CORBAClient
RMI
http
RMI-over-IIOP
Web Services
SOAP 1.1– Synchronous, Asynchronous, Security
WSDL 1.1– Tools - Import, Edit, Generate, Compile
UDDI 1.0 Registry– DB-Backed, Queryable, Browsable
Common Runtime– Static RPC, Dynamic RPC, Messaging
Web Services
Web ServiceWeb ServiceClientClient
(J2EE, .NET)(J2EE, .NET)
WWSSDDLL
StaticStatic
DynamicDynamic
BindingsBindings
99iiASAS
StatelessStatelessJava ClassJava Class
StatefulStatefulJava ClassJava Class
Stateless Stateless Session EJBSession EJB
Message DrivenMessage DrivenBeanBean
Legacy SystemLegacy System
SOAPSOAP
UDDI RegistryUDDI Registry
MessagingMessaging
SSKKEELLEETTOONN
DBPL/SQLPL/SQL
HTML, XML
Stream
Wireless Network Independent
– Any Content, Device, Network, Gateway
Device Independent– 70+ - Phone, Palm, iPAQ, Laptops, RIM,
iMode,
Wireless Support– Location, Voice, SMS, Push, Alerts, 2/2.5G/3G
Productive Solutions– Mobile PIM, m-Commerce, Unified Messaging
Flexible Deployment
Wireless
Wireless Wireless GatewayGateway
Any DeviceAny Device
WWSSDDLLCore Core
ProtocolProtocolAdaptersAdapters
Device, Network Device, Network AdaptationAdaptation
Oracle9iAS
AdvancedAdvancedCustomizationCustomization Push/SMSPush/SMS TranscodingTranscoding OfflineOffline
ManagementManagement
LocationLocationServicesServices
mCommercemCommerceBillingBilling
Mobile PIMMobile PIM & Email& Email StudioStudio
ServicesServices
J2EE/XMLJ2EE/XMLApp ModelApp Model
Any Any Content, Content,
Web Web Service, Service,
e-maile-mail
Business Intelligence Web Site Activity
– Clickstream Intelligence
Web Site Personalization– Data Mining, Predictive, Real Time
Web-Based Reporting– Reports
Web-Based Query & Analysis– Discoverer
Comprehensive Business Intelligence
Web Analytics
WebCacheWeb
Cache
HTTPServerHTTPServer
HTTPServerHTTPServer
Other DataOther Data(Customer)(Customer)
LOG
LOG
LOG
LOG
LOG
LOG
LOG
LOG
ExtractTransform
Load
ExtractTransform
Load
NS, IISNS, IIS
Oracle9i DBOracle9i DB
??
30 Pre-built Reports
Oracle Reports
Discoverer(What-ifs)
PersonalizationEngine
JSP
Data MiningEngine
Enterprise Integration
1 Integration Architecture– A2A, B2B, Web Services, Legacy
1 Integration Infrastructure– Tool, Repos, Runtime, Services, Connectors
Broad Set of Connectors– DBs, Apps, Web Services, Legacy, B2B
1 View of Business Process– Events, Data, Processes, State
Based on Open Standards
Integration
Web SvcsWeb SvcsB2BiB2Bi
Oracle, Oracle, Non-Non-Oracle DBOracle DB
99iiASAS
J2EE AppsJ2EE AppsWeb ServicesWeb Services
JDBC DriversJDBC Drivers
Java MessagingJava MessagingService (JMS)Service (JMS)
Java ConnectorsJava Connectors(JCA)(JCA)
Legacy MainframeLegacy Mainframe(CICS Adapter)(CICS Adapter) MainframeMainframe
Web ServicesWeb Services(SOAP, WSDL)(SOAP, WSDL)
MessagingMessagingSystemsSystems
PackagedPackagedAppsApps
Web Servicesor J2EEClients
Web Servicesor J2EEClients
Oracle9iAS PortalOracle9iAS Portal
E-Business or Enterprise Portal
A common, integrated entry point for personalized access to enterprise information:
– Enterprise applications– Business Intelligence– Publishing and collaborative environments– Web content and services
Built and deployed within a Portal Infrastructure
– Access sources in a common way, manage as a service
– Secure and aggregate highly diverse sources– Support multiple user communities– Manage within a reliable repository
Portal - a Single Starting Point, with Multiple Views ….
Employee View Customer View
Supplier View Sales View
Why Portals?
The Web era introduced information gut – Hard to locate and access the information
users need– Hard to mange the infrastructure– Browsers, bookmarks and windows on the
desktop are not enough!
Portals bring control– Single point of access– Personalized view– Dashboard on the digital enterprise
How?
Retool information sources: from web-enabled to portal-enabled
– Applications– Websites– Employee, Customer, Partner, Supplier
repositories
Deploy within a Portal Infrastructure– Access sources in a common way, manage as a
service– Secure and aggregate within dynamically
generated pages– Personalize to support multiple user communities– Manage within a reliable repository
Example - my.oracle.com Free, high quality business
portal– Target : 1.5 million OTN members– Customizable pages, by industry
and geography– Integrate Oracle and 3rd party
content and services
Oracle employee’s home page– Target : 40,000 Oracle employees
worldwide– Single sign on to all self service
applications– Aggregate view, and access point,
to all intranet content
The Oracle9iAS Portal Page
The portal user interface
Aggregates information from multiple sources
Customizable Secure Made up of
portlets
Presents, summarizes and/or accesses information from a data source
Generates an area of HTML displayed within a portal page
Customizable, secure
Re-useable
Key Concept - Portlet
Portlet
Portlets Can Take Many Forms
Access to related portal pages
Display of file content
Summary of rows in a database
Display of Internet news
Many others ...
Build Today with Oracle9iAS Portal
Most complete, productive and open solution for building and deploying enterprise portals
Most complete, productive and open solution for building and deploying enterprise portals
Open Portal Platform
Architecture based on Open Standards
Multiple Sources for Portlets
Universal Access to Information Sources – Third-Party Applications– Enterprise Search– Partner Technologies and Services– Mobile and Wireless Devices
Oracle9iAS Portal Architecture
Web Providers
Web Providers
HT
TP
HT
TPPortal
CachePortalCache
PortalPortalRepositoryRepository
Portal Node
DatabaseDatabaseProvidersProviders
Web Providers
Web Providers
HT
TP
HT
TP
Oracle9iApplication Server
Login Server
mod_plsqlmod_plsqlA
pach
eA
pach
e ParallelPage
Engine
ParallelPage
Engine
mod_jservmod_jserv
Oracle8i/9iDatabase
Web Providers
Web Providers
HT
TP
HT
TPPortal
CachePortalCache
PortalPortalRepositoryRepository
Portal Node
DatabaseDatabaseProvidersProviders
Web Providers
Web Providers
HT
TP
HT
TP
Oracle9iApplication Server
Login Server
mod_plsqlmod_plsqlA
pach
eA
pach
e ParallelPage
Engine
ParallelPage
Engine
mod_jservmod_jserv
Oracle9iAS Portal Architecture
RetrieveMetadata
Retrieve CachedPages/Portlets
PageRequest
PageResponse
Call Providers
Oracle8i/9iDatabase
Open Standards Communication and architecture
– HTTP, XML/SOAP
Content repository– WebDAV
Standards-based portlets– URL, JSP, Servlet, Web Services
ExistingApps
Web SitesWeb SitesHTTPHTTP
WebServices
WWSSDDLL
SOAPSOAP
PortalServer
PPOORRTTAALL
PDKPDK
Oracle9iAS
JSPsJSPs
URLsURLs
ServletsServlets
EJBsEJBs
Web ServicesWeb Services
IntegrationIntegration
HTTPHTTP
Open – Extensible to Any Application
Extend Java friendly applications– Servlet, JSP, EJB, XML, Web Services
Proxy URL accessible applications– C++, CGI, ASP, HTML
Transform ERP data– SAP, PeopleSoft, Siebel
Access 3rd party partner applications– 50+ partners, 250+ portlets– Business intelligence, content management,
collaboration, search, syndicated content
Major Components of Oracle9iAS Portal
Portal Framework - Portlet and page management
Content Areas - Self-service content publishing and management
Portal Applications - Dynamic data manipulation and publishing
Portal Security - User authentication and authorization
Portal Framework - Portlet and Page Management
Wizard-based interface for defining and customizing portal pages composed of portlets
Registers and calls remote providers of portlets
Assembles portlets using page layout/style, applies customization, and renders within a portal page
Employee
Sales Partner A
Oracle9iAS PortalFramework
Supplier A
Internet
Intranet
EnterpriseApplications
Productivity: Building the portal interface
Graphical view
Unique Views for Each User Community
Employee View Customer View
Supplier View
HR ViewSales View
WesternRegion View
Salesman View
Productivity: Cascading portal configurations
Corporate view Marketing view UK Marketing view
• add Marketing tab
• customize front page news
• add competitive Search portlet to front page
• inherit HR tab from UK home page
• customize Search to cover local competitors
• define layout, style, links
• create Home and Personal tab
• add company news and calendar to front page
Layered page customization
•9am - 11am staff mtg•1pm - 2pm Jay 1 on 1
• Company news news news
• Company news news news
• Company news news news
• Company news news news
Company News
Home Personal
Appointments
•9am - 11am staff mtg•1pm - 2pm Jay 1 on 1
• Marketing news news news news
• Marketing news news news news
• Marketing news news news news
• Marketing news news news news
• Global competitor 1• Global competitor 1• Global competitor 1• Global competitor 1• Global competitor 1
Company News
Home Personal
Appointments
•9am - 11am staff mtg•1pm - 2pm Jay 1 on 1
• Marketing news news news news
• Marketing news news news news
• Marketing news news news news
• Marketing news news news news
• Global competitor 1• Global competitor 1• Local competitor 1• Local competitor 1• Local competitor 1
Company News
Home Personal
Appointments
Marketing Marketing UK HR
Competitive Search Competitive Search
Content Areas - Self-Service Content Publishing
Browser-based content publishing & management– Items: Files, text,
URLs, etc.
Powerful classification, flexible display - folders
Access defined by content owners
Built-in search and navigation
Portlet
AccessPublish/Manage Deploy
‘Smart’ pages
Productivity: Page parameters and events
Portal Applications - Dynamic Data Publishing
HTML application components for data & Web publishing
– Manipulate and report on data in Oracle8i
– Form, chart, report, etc.
Wizard-based, declarative environment
Developers can combine components into simple applications
Portlet
Build Manage Deploy
Content Sources - Portlets
Built-in– Use development, administration, and
navigation portlets shipped in Oracle9iAS Portal
Partner portlet catalog & portal community
– Select from a library of portlets that integrate partner applications and services
– Download/configure open source portlets that extend Oracle9iAS Portal
– See http://portalcommunity.oracle.com
Custom developed
Custom Portlet Development Strategies
No code - build portlets rapidly, declaratively using portal publishing wizards– Self-service content publishing– Dynamic data publishing
Coded - use the Portal Development Kit (PDK) to build portlets programmatically– Web providers– Database providers
Productivity: Building portlets
Reports
Charts
Forms
...
DataComponent
No-code portlets
Integrate Existing Applications Using the PDK
PDK – Java– Create Web providers and portlets from
existing Java-based applications– Provides a communication abstraction, default
classes, and API services
Use the PDK – Java to build portlets that:– Leverage your existing JSPs and servlets– Pull data from Microsoft Exchange– Screen scrape from secured URLs– Access databases through JDBC– Transform XML feeds into HTML using XSL
Page/Portlet Development : Extending the portal interface
JSP
<portlet>
Embed portletsin any JSP page
Portalrepository
Register any JSP
with Portal
JSP
<region>
Set ACL
Deploypersonalizable
JSP’s
PORTAL
Generateto JSP
Deploy directly to 9iAS
Oracle JDeveloper
9iAS Portaltag library
JSP Bridge
Universal Access: Enterprise Search
Oracle9i UltraSearch
Universal Access: Mobile / wireless
Wireless mode for portlets
Built-in portlets wireless enabled
One interface to define both web and wireless interface
Oracle9iAS Portal Product Summary
Complete framework for integration and personalization
Wizard-driven development and management
Extensive globalization /localization support
Self-service content management and publishing
Flexible page design
Single Sign-On Powerful Software
Development Kit Hostable architecture Hosted deployment Rich and growing partner
and development community
Bundled with a comprehensive e-business platform
Quality of Service and TCO
Infrastructure– Performance & scalability– Availability & monitoring– User/group management– Authentication
All components in a single ‘box’, all pre-integrated
AvailabilityAvailabilitySecuritySecurity
CachingCaching
SystemsSystemsManagementManagement
PerformancePerformance
ScalabilityScalability
Oracle9iAS Deployment
Scalability Scale on 1 JVM
– Threads, Memory, Connections
Scale with Multiple JVMs on 1 CPU– Clusters, Load Balancing, Failover
Scale on Multiple CPUs– Clusters, Load Balancing, Failover
Scale on Commodity HW, Clusters– From 1 CPU to SMPs
Scale With Zero Application Change
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
Zero Planned Downtime– Online Maintain, Upgrade, Deploy Apps
Zero Unplanned Downtime– Fast Start Fault Recovery– Clustered App Servers– Clustered Database Servers
HA With Zero Application Change
HA on Commodity HW, Clusters
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
Caching Improve Performance
– Cache Static, Dynamic, Secure Content
Improve Scalability– Offload CPUs, Load Balancing
Improve Availability– Surge Protection, Clusters, Failover
Improve Latency– Distributed Caches, Content Networks
Improve QOS with Commodity HW
Web Caching
TriggerTriggerTriggerTrigger
DatabaseDatabase
Distributed Distributed Web CachesWeb Caches(INTRANET)(INTRANET)
IBM, BEA
MicrosoftASP
JSPJSPJSPJSP
Intelligent Intelligent InvalidationInvalidation
9iAS
Servlet
PERL
ContentContentDeliveryDeliveryNetworkNetwork
ContentContentDeliveryDeliveryNetworkNetwork Web
Cache 1
WebCache 2
WebCache 3Web
Cache(Local)
INTERNETINTERNET
FailoverFailover
ClusterCluster
Availability and monitoring
Oracle9i RAC Oracle9iAS failover Service level
monitoring using OEM– HTTP – Caching – Parallel Page Engine– Login Server– Providers
User/group management
Single-sign on via Login Server
Authenticate using Oracle Internet Directory
Maintain users & groups using LDAP repository
One Password to All Applications and Secure Data Sources
External ApplicationsInternal ApplicationsWeb Sites
Key Messages
Every Application Deployed on Internet
9iAS Most Productive– Wireless, BI, Web Services, Integration,
J2EE, Portal
9iAS Portal– Open, Productive, Complete– Built on Oracle 9iAS for Speed and
Reliability
Learn How – Oracle9iAS Portal Center PDK Download
Technical Library
Sample Code
Portlet Testing
Technical Forums
Portlet Catalog
http://portalstudio.oracle.com
Additional Resources
Oracle9iAS Portal Center– PDK: portlet development, articles,
sample code– Training Center: multimedia training
content– Discussion Center: threaded discussion– Support Center: support notes,
downloads– Product information: whitepapers
my.oracle.com Portal Quick Tour