How we did it
Download
1 / 58

How We Did It - PowerPoint PPT Presentation


  • 259 Views
  • Updated On :

How We Did It Techniques from a Major uPortal Deployment Jim Helwig JA-SIG June 2006 Background General Strategies Development Techniques Code Management Infrastructure Administration How We Did It Background My UW-Madison

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'How We Did It' - Faraday


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
How we did it l.jpg

How We Did It

Techniques from a Major uPortal Deployment

Jim Helwig

JA-SIG June 2006


How we did it2 l.jpg

Background

General Strategies

Development Techniques

Code Management

Infrastructure

Administration

How We Did It



My uw madison l.jpg
My UW-Madison

  • Created in 2000 using commercial product (Epicentric on WebLogic)

  • 50+ modules/channels

  • Students, Faculty/Staff, Applicants

  • 75,000+ customers

  • 60,000+ logins and 20,000+ unique customers per day

  • 1,000+ concurrent customers


Organization l.jpg
Organization

  • Advisory group

  • Service team

  • Portal infrastructure team

  • Academic development group

  • Other development groups


Why change l.jpg
Why Change?

uPortal Benefits

  • Focus on Higher Education

  • Influence over product direction

  • Easier to customize

  • Product continuity

  • Active community

  • Opportunities for self-support



Dc 10 boeing 757 mid flight l.jpg
DC-10  Boeing 757 … mid-flight




General strategies11 l.jpg
General Strategies

Carry over same set of functionality

  • Don’t lose anything

  • Don’t pile on new features

    “Two years of development with nothing new to show for it.”


General strategies12 l.jpg
General Strategies

Re-use code and techniques

  • Links/menus

  • Static XSLT

  • RSS

  • WebProxy

  • Native, custom code


General strategies13 l.jpg
General Strategies

Portlets, not channels

  • Native in uPortal 3.x

  • Minimize upgrade effort

  • Maximize portability


General strategies14 l.jpg
General Strategies

Get Help - Worked with Unicon

  • Proof of concept

  • Feasibility study

  • Design and development

  • Support and consultation



Links menus l.jpg
Links/Menus

  • Beyond bookmarks

  • Dynamic Menu Portlet

  • Dynamic set of links, based upon group membership

  • UI for delegated administration

  • File based configuration

  • Caching


Static xslt l.jpg
Static XSLT

  • Implemented as a portlet

  • Retrieve via file system, classpath, URL

  • Caching


Slide18 l.jpg
RSS

  • Promoted as standard was of publishing information on campus

  • Single feed per channel

  • Use XSLT portlet

  • Script retrievesand caches on disk


Webproxy l.jpg
WebProxy

  • Extensively used in portal

  • Great for integrating existing or purchased applications

  • Local or remote

  • Integrate simple, custom .Net applications





Webproxy configuration l.jpg
WebProxy - Configuration

  • Works with any tag based input

  • Manages remote session

  • Authenticates via BASIC/NTLM/Form Based

  • Page caching

  • URL Re-Writing

  • Content Clipping

  • Proxies binary resources

  • Variable substitution



Iframe l.jpg
IFrame

  • Used to integrate preview of other WebISO applications

  • PubCookie does nothave proxy ticket

  • Minimal impact onportal server

  • Minimal integrationtouch point


Native portlets l.jpg
Native Portlets

  • Great for integrating multiple systems

  • Reuse Java code and JSPs

  • Ported shared libraries

  • Called for implementation of missing APIs/services


Portal api abstraction layer l.jpg
Portal API Abstraction Layer

  • Portal Database Pool

  • LDAP

  • User attributes

  • Groups

  • Portal session

  • Portal logger

  • Extra information


Native portlets28 l.jpg
Native Portlets

Course Guide

Library/Reserves

[email protected]

Course Guide


Organization29 l.jpg
Organization

  • Fixed set of tabs determined by group membership

  • Content categories relegated to particular tabs

  • Key applications available in header on all tabs


Personalization l.jpg
Personalization

  • Readily identify and navigate to content loaded on the page

  • Easy selection of content

  • Separate selection from arrangement






Framework code l.jpg
Framework Code

  • Tightly managed by small group of developers

  • Rarely changes

  • Modified version of released uPortal


Portlet code l.jpg
Portlet Code

  • Developed by a variety of groups

  • Each portlet (or suite of portlets) in a separate directory

  • Build/deploy individually or collectively

  • Easy to plug in external portlets


Shared libraries l.jpg
Shared Libraries

  • Code common to a number of portlets

  • Deployed to Tomcat/shared

  • Problematic – recommend keeping project separate and deploying to each portlet’s WEB-INF/lib


Administrative components l.jpg
Administrative Components

  • kshrc/cshrc files

  • Scripts, tools

  • Data files

  • chanpub files


Framework version control l.jpg
Framework Version Control

  • Treat framework and apps differently

  • Import uPortal into CVS on vendor branch (tag Vup2-5-1)

  • Local modifications on HEAD

  • Tag local releases (Rdev2-5-1, etc.)


Application version control l.jpg
Application Version Control

  • Develop on HEAD

  • Tag releases for other environments (test, qa, prod, etc.)


More tags l.jpg
More Tags

  • Environment-specific files are branched (my-predev-tc-under)

  • Installed/removed files have “in” or “out” tags (intest, outaqa, outaprod_20060605_1030)



Environments l.jpg

testdemo

demo

predev

dev

test

demo

qa

prod

Environments

pc

pc

pc

pc


Slide44 l.jpg
Demo

Combination of portlets

  • Same as production (weather)

  • Simulation (Course Resources)

  • Screen shots (email)

  • Missing (academic analysis)

    Also developing tutorials


Infrastructure45 l.jpg
Infrastructure

  • Sun v210 dual UltraSPARC IIIi 1.3Ghz 2Gb Ram

  • Tomcat 5.5.16

  • Apache 2.0.55

  • Oracle 9.2.0.7 on the “Oracle farm”

  • JDK 1.5.0_06

  • uPortal 2.5.1+

  • Layer 4 Nortel Alteon

  • PubCookie for WebISO


Clustering l.jpg
Clustering

Layer 4

Database



Code migration l.jpg
Code Migration

  • Tag and script driven

  • File-based configuration

  • Update script:

    • Stop server

    • Check out from CVS

    • Update tags

    • Build/deploy

    • Start server

    • Prime portal



Scripts l.jpg
Scripts

  • Add to or remove from cluster

  • Cluster synchronization and rolling restarts

  • Prime a server

  • Trigger thread dump

  • Compare CVS tags


Tools l.jpg
Tools

  • Attribute swapper portlet

  • Log viewer

  • Cluster status page

  • JConsole for monitoring

  • Custom JMX dashboard

  • Wiki

  • Jira


Load testing l.jpg
Load Testing

  • JMeter

  • Actual distribution over tabs

  • Types:

    • Typical load, soak testing

    • Heavy load and recovery

    • Capacity testing

  • Found thread contention, memory leaks, poor performers, bottlenecks



Usage reports l.jpg
Usage Reports

  • Focusing on

    • Logins and group membership

    • Page requests and generation times

    • Channel (portlet) views and render times

    • Channel actions

    • Customization

  • Persist metrics in database

  • Periodically aggregate in data warehouse and purge anything older than 7 days




Resources l.jpg
Resources

Code contributions

https://www.ja-sig.org/wiki/display/JSG/UW-Madison+Contributions

Code management https://mywebspace.wisc.edu/jfthomps/vc

Demo

https://my.wisc.edu (Fall 2006)

Jim Helwig

[email protected]

University of Wisconsin-Madison


ad