Jerry Held - PowerPoint PPT Presentation

About This Presentation
Title:

Jerry Held

Description:

How to make it Popular... Or, how to make it Scale? How to make your Portal scale? ... be registered with each other to make up a federated portal environment ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 73
Provided by: Analy7
Category:
Tags: held | how | jerry | make | teach | to

less

Transcript and Presenter's Notes

Title: Jerry Held


1
(No Transcript)
2
Jason PepperPrincipal Product Manager Oracle
Corporation
3
Tips Techniques for Deploying a Scalable Portal
4
Agenda
  • Why is Scalability Important for Portal
    Deployment?
  • OracleAS Portal Page Generation Architecture
  • Page and Portlet Caching
  • Other Performance Factors
  • Results
  • Conclusion

5
Agenda
  • Why is Scalability Important for Portal
    Deployment?
  • OracleAS Portal Page Generation Architecture
  • Page and Portlet Caching
  • Other Performance Factors
  • Results
  • Conclusion

6
Why Portals?
  • Enable integrated, secure access to all
    information sources
  • Support personalized views for different users
    and communities

7
The Portal Challenge?
How to make it Popular
  • and Fast!

Or, how to make it Scale?
8
How to make your Portal scale?
  • Cross platform
  • Choose the most cost-effective platform for each
    component
  • Distributed
  • Spread the load across servers
  • Parallel execution
  • Use multiple threads to access content
  • Cache, Cache, Cache

9
Intelligent Caching
  • Keep information fresh and timely while
    minimizing the cost of dynamic, personalized
    content
  • Must support
  • Personalization
  • Modularity pages and page fragments
  • Page, Portlet, and Item-level security

10
Agenda
  • Why is Scalability Important for Portal
    Deployment?
  • OracleAS Portal Page Generation Architecture
  • Page and Portlet Caching
  • Other Performance Factors
  • Results
  • Conclusion

11
OracleAS Portal Page Generation
OracleAS Portal Middle Tier
OracleAS Portal Database Tier
Browser Client
Web Cache
Page Metadata
Oracle HTTP Server
mod_oc4j
Parallel Page Engine
Portal Repository
Database Provider
PortletContent
CachedMetadata Content
PortletContent
Web Provider
Portal Cache
12
(No Transcript)
13
My Oracle Architecture
14
OracleAS Portal Page Generation
OracleAS Portal Middle Tier
OracleAS Portal Database Tier
Browser Client
Web Cache
Page Metadata
Oracle HTTP Server
mod_oc4j
Parallel Page Engine
Portal Repository
Database Provider
PortletContent
CachedMetadata Content
PortletContent
Web Provider
Portal Cache
15
OracleAS Web Cache
  • Memory-based cache
  • Combines caching, compression, and assembly to
    accelerate both static and dynamic content
  • Also provides load-balancing, failover, and surge
    protection to improve availability, reliability
  • Portal functions as Origin Server

16
Portal Use of Web Cache
  • Automatically installed and configured
  • UI for global cache settings and invalidation (by
    user, by object, or for entire cache)
  • Features used
  • Caching of dynamically generated, user-specific
    page and portlet content
  • Fine-grained cache control
  • Invalidation-based caching
  • Layer 7 load balancing and failover detection
  • Performance Assurance and Surge Protection

17
Web Cache Deployment Options
  • Single Portal Installation
  • Co-located
  • Same physical server as Portal middle tier
  • OK for smaller sites
  • Dedicated
  • Web Cache on own server
  • Preferred option to avoid resource contention
  • Performs well on inexpensive hardware

18
Web Cache Deployment Options
  • Multiple Portal Installations and/or Web
    Providers
  • Dedicated
  • Each installation/provider has its own Web Cache
  • Better for autonomous administration, load
    distribution, firewall protection, network
    performance
  • Privilege changes cause invalidation on local
    site only
  • Shared
  • Each installation/provider uses a common Web
    Cache
  • Privilege changes cause invalidation across sites

19
My Oracle Tweaks
  • Upgraded to Web Cache 904
  • Compressed CSS bug
  • Buffer limit incompatibilty 32K
  • Invalidation propogation fails without identical
    config files
  • Enable session binding to match LBR
  • Compression rule for non-cacheable pages using
    /portal/page

20
OracleAS Portal Page Generation
OracleAS Portal Middle Tier
OracleAS Portal Database Tier
Browser Client
Web Cache
Page Metadata
Oracle HTTP Server
mod_oc4j
Parallel Page Engine
Portal Repository
Database Provider
PortletContent
CachedMetadata Content
PortletContent
Web Provider
Portal Cache
21
Portal Middle Tier
  • OracleAS installation acts as the Portal middle
    tier
  • Portal directly leverages the following OracleAS
    services
  • Oracle HTTP Server
  • mod_plsql
  • mod_oc4j
  • Web Cache

22
Oracle HTTP Server
  • Powered by Apache
  • De-facto standard web listener
  • Serves as the HTTP entry point to OracleAS

23
My Oracle Tweaks
  • KeepAlive Off
  • MinSpareServers 30
  • MaxSpareServers 100
  • StartServers 30
  • MaxClients 250
  • MaxRequestsPerChild 2000

24
mod_oc4j
  • Apache plug-in
  • Routes Servlet requests to OracleAS Containers
    for J2EE (OC4J) Servlet engine
  • Proven industry leading performance
  • Supports latest J2EE specifications

25
My Oracle Tweaks
  • Removed xingc from opmn.xml
  • Increased mx and ms
  • cacheDir matched to PlsqlCacheDirectory
  • TCP.NODELAY Yes
  • SDU 8761
  • numProcs set in opmn.xml

ltoc4j maxRetry"3" instanceName"home"
numProcs"2"gt ltconfig-file
path"/disk2/oracle/midtier/j2ee/home/config/serve
r.xml"/gt ltoc4j-option value"-properties"/gt
ltport ajp"3000-3100" jms"3201-3300"
rmi"3101-3200"/gt ltenvironmentgt ltprop
name"LD_LIBRARY_PATH" value"/disk2/oracle/midtie
r/lib"/gt lt/environmentgt lt/oc4jgt
26
Parallel Page Engine
  • Runs as a Servlet
  • Responsible for page assembly
  • Talks to web and database providers to get
    portlet content
  • Leverages local file system cache to store page
    definitions and portlet content
  • Configurable number of threads for talking to
    providers in parallel

27
mod_plsql
  • Translates URL requests into stored procedure
    calls
  • Gateway into Portal Database
  • Access to Portal Repository, Portal UI and
    Database Providers
  • Provides connection pooling for efficient session
    management

28
My Oracle Tweaks
  • NLS_LANG matches DB setting
  • PlsqlIdleSessionCleanup 15 (mins)
  • PlsqlCacheDirectory aliased to RAM disk
  • PlsqlCacheTotalSixe 8Gb
  • PlsqlCacheMaxAge 15 (days)

29
Portal Cache
  • File system-based storage for cached versions of
    page definitions and portlet content
  • Eliminates the need to always regenerate pages
    and portlets
  • Provides backup to Web Cache

30
OracleAS Portal Page Generation
OracleAS Portal Middle Tier
OracleAS Portal Database Tier
Browser Client
Web Cache
Page Metadata
Oracle HTTP Server
mod_oc4j
Parallel Page Engine
Portal Repository
Database Provider
PortletContent
CachedMetadata Content
PortletContent
Web Provider
Portal Cache
31
Portal Database
  • Foundation of an Oracle Portal installation
  • Consists of 200 tables/views and over 1000
    PL/SQL packages
  • Portal Databases can be registered with each
    other to make up a federated portal environment
  • departmental portals/installations can be easily
    networked together to form an enterprise portal

32
Portal Repository
  • Storage for
  • provider registry
  • page and style definitions
  • user customizations
  • access controls
  • definitions of page groups, data-driven
    components, etc.
  • logs
  • UI screens for creating and editing all of the
    portal objects (e.g. pages, items, charts, etc.)

33
Database Providers
  • Hosted out of a Portal Database
  • Implemented as PL/SQL or Java stored procedures
  • Interacts with framework via direct database
    procedure calls results returned as HTML/XML
  • Ideal for database-centric applications
  • Built with PDK-PL/SQL and/or declarative wizards
  • APIs for preference store, logging, translation
    store, security, caching, etc.

34
OracleAS Portal Page Generation
OracleAS Portal Middle Tier
OracleAS Portal Database Tier
Browser Client
Web Cache
Page Metadata
Oracle HTTP Server
mod_oc4j
Parallel Page Engine
Portal Repository
Database Provider
PortletContent
CachedMetadata Content
PortletContent
Web Provider
Portal Cache
35
Web Providers
  • Work in any web environment
  • Servlet, JSP, ASP, cgi-bin, Perl, etc.
  • Communication via HTTP results returned as
    HTML/XML
  • Stuctured data exchange using SOAP
  • Ideal for adapting existing or remote Web
    services
  • allow developers to work in a familiar
    development environment
  • Java PDK
  • Helper classes for portlet creation
  • Provide Java API-level services (storage,
    preferences, parameter passing, errors, etc.)

36
Agenda
  • Why is Scalability Important for Portal
    Deployment?
  • OracleAS Portal Page Generation Architecture
  • Page and Portlet Caching
  • Other Performance Factors
  • Results
  • Conclusion

37
Page and Portlet Caching
  • Dynamic page assembly is an expensive operation
  • Places heavy load on providers, database,
    network, and middle tier
  • Caching minimizes database and provider calls
  • Almost all content and metadata is cached
  • Page definitions
  • Portlet content
  • Assembled pages
  • Documents (including images)
  • Events
  • Login Metadata

38
Caching Types
  • Invalidation-based caching (Web Cache)
  • Providers proactively send invalidation message
  • Content can also expire when maximum cache
    retention period is reached (invalidation-with-exp
    iry)
  • Validation-based caching (Portal Cache)
  • The middle tier contacts the provider to see if
    the cache entry is still valid
  • Expiry-based caching (Portal Cache)
  • PPE checks a time stamp for the cache entry to
    see if it is still valid

39
Choosing a Caching Type
  • Validation/Invalidation
  • Users will always see the most up-to-date
    information
  • Use when
  • Content changes frequently
  • Cost of checking validity or triggering
    invalidation is low
  • Expiry
  • Content cached for specified period of time may
    grow stale
  • Use when
  • Content is not time-sensitive
  • Cost of validation/invalidation is high

40
User and System Level Caching
  • System level
  • Cache entries shared by all users, including
    public users
  • Recommended for content that isnt protected, or
    for content that doesnt support user
    customizations
  • User level
  • Cache entries only available to a specific user
  • Required for protected content, or for content
    that supports user customizations

41
Web Cache and User Level Caching
Web Cache
  • User-level content keyed by userid
  • Can be refreshed from Portal Cache if
    invalidation-based combined with validation-based
    caching (DB portlets only)
  • System-level content in Web Cache shared across
    sessions

Sess 1
Sess 2
Sess 3
Sess 4
User1
User2
42
Page Caching Options
Page Group
Page
43
Page Caching Options
  • Cache page definition only
  • Page definition (page structure, portlets, items)
    cached at user level
  • Both Web Cache and Portal Cache (invalidation
    validation)
  • Refreshed when any change occurs on page,
    including customization, items, privileges,
    templates, and styles
  • Page re-assembled on every request
  • Portlet validity/expiry checked on every request

44
Page Caching Options
  • Cache page definition and content for N minutes
  • Caches assembled page at user level
  • Portal Cache only (expiry-based) plus browser
  • Best for performance
  • Eliminates definition generation and page
    assembly
  • But can result in stale content
  • Ignores portlet caching options until page
    expires
  • Change to page definition will always force a
    refresh

45
Page Caching Options
  • Cache Page Definition Only at System Level
  • Single cached copy of the page definition in the
    system cache for all users.
  • Page customization options disabled.
  • Reduces storage requirements and improves
    performance.
  • Cache Page Definition And Content at System Level
    for Minutes
  • Single cached copy of the page definition and
    page content, including the rendered content of
    all portlets.
  • Page customizations are not possible
  • Select this option for pages that are more static
    and are unlikely to change within the specified
    period.

46
Page Caching Options
  • Dont cache
  • Disables page caching
  • Use sparingly to avoid impact on performance
  • Use when
  • Testing
  • Page contains PL/SQL items or URL items to render
    dynamic content that must be constantly refreshed
    (better to use a portlet with short expiry)
  • Concerned that changes to security can cause
    active users to lose privileges on page

47
Page Caching Options - Summary
Page Definition Only
Page Definition and Content
Dont Cache
  • Portlets where content must always be up-to-date
  • System Cache for all users
  • Static content
  • Expiry-based portlets
  • System Cache for all users
  • Dynamic items that must be up-to-date
  • Testing

48
Portlet Caching
49
Portlet Caching
  • Content only is cached (not metadata)
  • Invalidation-based provider must send
    invalidation message
  • Validation-based provider contacted to validate
    portlet
  • Expiry-based provider not contacted until cache
    entry expires (different than pages)
  • Invoked through PDK APIs
  • Can combine validation invalidation for DB
    portlets

50
Portlet Caching System Level
  • Disables all customization options for the
    portlet.
  • Does not enforce access privileges for the
    portlet.
  • Displays only public data.
  • A System cached Page, will cause the portlet to
    be cached at the system level.
  • If Web Provider specifies system-level caching
    for a portlet. Cannot change the cache setting
    for the portlet manually because it is already
    set.

51
Choosing Portlet Caching Options
Invalidation
Validation
Expiry
  • Static or Dynamic content
  • Real-time application can send invalidation
    message
  • Same as Invalidation
  • Use in combination with invalidation (DB Portlets
    only)
  • Static content (choose period to match update
    frequency) e.g. page banner
  • Dynamic, not real time (e.g. delayed stock quote,
    catalogue)
  • Dont cache if content must be real-time and the
    application cannot trigger an invalidation message

52
Document and Image Caching
  • Documents and Images in Portal Repository (/docs)
  • Cached in Portal Cache only (for security)
  • Exceptions Category, Perspective, Style
  • Documents and Images from File System
  • Default Cached in Web Cache forever
  • Portal /images directory set to expire after 30
    days
  • Recommended for widely used images (e.g. logo,
    banner icons)

53
Other Cacheable Objects
  • Event Metadata
  • New feature
  • Portlets can publish/subscribe to events (e.g.
    push button, click link, select value)
  • Minimizes coding makes portlets more reusable
  • Supports inter-portlet and inter-page
    communication via formal parameters
  • Same caching model as pages (invalidation
    validation)
  • Login Metadata
  • Describes the current session
  • Passed to providers that want to track state
  • Cached in Web Cache

54
Invalidation Events
  • Two types
  • Hard Invalidations Happen immediately
  • Soft Invalidations Deferred to avoid processing
    spikes
  • Affect both Web Cache and Portal Cache
  • Granular scope, depending on event
  • Entire Cache
  • All objects for a specified user
  • All instances of a specified object
  • Pages containing an invalidated portlet

55
Hard Invalidation Events
  • Clear entire cache
  • Clear cache for user
  • Clear cache for object
  • Click Refresh link on page
  • Modify page properties or layout
  • Modify item
  • Modify template or style
  • Modify provider properties
  • Customize page or portlet
  • Edit defaults on page or portlet

56
Soft Invalidation Events
  • Delete user
  • Add user to group
  • Remove user from group
  • Add group to group
  • Remove group from group
  • Delete group
  • Change privilege on object in Repository

57
Agenda
  • Why is Scalability Important for Portal
    Deployment?
  • OracleAS Portal Page Generation Architecture
  • Page and Portlet Caching
  • Other Performance Factors
  • Results
  • Conclusion

58
Other Performance Factors
  • HTTP Server
  • Login Rate
  • Portlet Execution Speed
  • Page Complexity
  • Network Bandwidth
  • Load Distribution
  • Other Portal Activity
  • Hardware Resources
  • CPU Performance
  • Type of Content
  • SSL

59
Agenda
  • Why is Scalability Important for Portal
    Deployment?
  • OracleAS Portal Page Generation Architecture
  • Page and Portlet Caching
  • Other Performance Factors
  • Results
  • Conclusion

60
Unique Logins per Day
61
Unique Logins per Hour
62
Page Views per Day
63
Page Views CPU Load
64
Agenda
  • Why is Scalability Important for Portal
    Deployment?
  • OracleAS Portal Page Generation Architecture
  • Page and Portlet Caching
  • Other Performance Factors
  • Results
  • Conclusion

65
Conclusion
  • Key Success Factors for deploying an enterprise
    portal to a large audience
  • Intelligent Caching
  • Scalable, Distributed, Cross-Platform
    Architecture
  • Uniquely combined in OracleAS Portal
  • Understanding scalability features and the page
    generation process will help you design and build
    your enterprise portal

66
Next Steps.
  • Recommended sessions
  • 40046 An Overview of Enterprise Portals Today
    and Tomorrow - Marco Tilli
  • 40031 The New Enterprise Manager End-to-end
    Performance Management of Oracle Solutions
  • 40051 Manage, Integrate and Publish your
    Enterprise Content into Your Portal
  • 40047 Collaborate on the same Portal page
  • Recommended demos and/or hands-on labs
  • Oracle Application Server Portal Hands-on lab

67
Next Steps.
  • See Your Business in Our Software
  • Visit the DEMOgrounds for a customized
    architectural review, see a customized demo with
    Solutions Factory, or receive a personalized
    proposal. Visit the DEMOgrounds for more
    information.
  • Relevant web sites to visit for more information
  • http//portalcenter.oracle.com
  • http//otn.oracle.com/products/oem/content.html

68
A
69
Reminder..Please complete the OracleWorld
online session surveyThank you.
70
Session Activity Guide
Sessions - ENTERPRISE PORTALS
  • Design an Attractive and Compelling Portal
    InterfaceMonday, 400 PM Moscone 133
  • An Overview of Enterprise Portals Today and
    TomorrowTuesday, 1100 AM Moscone 134
  • Manage, Integrate, and Publish Enterprise Content
    into Your PortalTuesday, 830 AM Moscone 133
  • Develop Java Portlets for Your PortalTuesday,
    500 PM Moscone 252
  • Get Your Community to Collaborate on the Same
    Portal PageWednesday, 830 AM Moscone 252
  • Integrate your Enterprise Business Applications
    Into Your PortalWednesday, 1100 AM Moscone 252
  • Tips and Techniques for Deploying a Scalable
    PortalWednesday, 100 PM Moscone 302
  • Administer and Monitor Your Portal with Oracle
    Enterprise ManagerWednesday, 430 PM Moscone 302

71
Session Activity Guide
Activities - ENTERPRISE PORTALS
  • Hands On Labs Monday, 1030 AM 500
    PMTuesday, 830 AM 1230 PMTuesday, 300 PM
    500 PMTuesday, 630 PM 1000 PMWednesday,
    830 AM 430 PMThursday, 830 AM 230
    PMMarriott Hotel - Golden Gate B2
  • Oracle DEMOgroundsMonday, 500 PM 800
    PMTuesday, 1030 AM 100 PMTuesday, 300 PM
    600 PMWednesday, 1100 AM 430 PMThursday,
    1030 AM 200 PMShow floor Booth 1326 Oracle
    AS
  • Meet the Portal Guru Marco TilliTuesday, 330
    PM Guru Lounge
  • Portal PartnersOracle Application Server Partner
    Pavilion Booth 710

72
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com