This mildly technical presentation will consist of two parts:
1. A discussion of how UC Irvine's ZotPortal (based on uPortal) was integrated with the COBOL-based legacy campus course enrollment system to show students their course schedules in a new way. Also covered: how ZotPortal shows the students their required book lists by interfacing with the campus book store's web site.
2. The ZotPortal hardware architecture: how we are preparing for power and network outages by distributing our system across the campus.
13. A Quick History
Staff Portal - uPortal
based (2001)
Started many times
Student Portal
committee (2005)
14. A Quick History
Staff Portal - uPortal
based (2001)
Started many times
Student Portal
committee (2005)
2006 FTE hired
15. A Quick History
Staff Portal - uPortal
based (2001)
Started many times
Student Portal
committee (2005)
2006 FTE hired
Early 2007 first prototype
16. A Quick History
Staff Portal - uPortal
based (2001)
Started many times
Student Portal
committee (2005)
2006 FTE hired
Early 2007 first prototype
Based on MyVT branch
21. “Selling” the Prototype
The traveling road-show
50+ presentations: libraries, academic departments,
student groups, managers, chancellor
22. “Selling” the Prototype
The traveling road-show
50+ presentations: libraries, academic departments,
student groups, managers, chancellor
Input from many stakeholders
23. “Selling” the Prototype
The traveling road-show
50+ presentations: libraries, academic departments,
student groups, managers, chancellor
Input from many stakeholders
Identified the requirements
24. “Selling” the Prototype
The traveling road-show
50+ presentations: libraries, academic departments,
student groups, managers, chancellor
Input from many stakeholders
Identified the requirements
Wiki
27. Prototype to Reality
Approval to proceed
Decide on a version
2.5.3 → 2.6.1 → 3.0.1
28. Prototype to Reality
Approval to proceed
Decide on a version
2.5.3 → 2.6.1 → 3.0.1
ALM → DLM
29. Prototype to Reality
Approval to proceed
Decide on a version
2.5.3 → 2.6.1 → 3.0.1
ALM → DLM
Table-based → DIV-
based
30. Prototype to Reality
Approval to proceed
Decide on a version
2.5.3 → 2.6.1 → 3.0.1
ALM → DLM
Table-based → DIV-
based
Something to use a
development base
36. Usability
Followed User-Centered Design (UCD) principles
Made personas, user stories, etc
Mock-ups in Illustrator
When you have something to test, test it (with
incentives)
37. Usability
Followed User-Centered Design (UCD) principles
Made personas, user stories, etc
Mock-ups in Illustrator
When you have something to test, test it (with
incentives)
Discovered several problems
66. Approach 2: IP-restr. script
User
?id=jstudent
JSR-168
Silo’d App
uPortal
Checks
against list of
portal IPs
67. Approach 2: IP-restr. script
User
?id=jstudent
JSR-168
Silo’d App
Simple XML
uPortal
Checks
against list of
portal IPs
68. Approach 2: IP-restr. script
Used for:
“My Housing” portlet
Needed “campus_id”
Work involved:
Create simple portlet to fetch & parse simple
response codes
69. Appr. 3: Auth. Screen Scrape
User
Silo’d
Web Page
uPortal
70. Appr. 3: Auth. Screen Scrape
User
JSR-168
Silo’d
Web Page
uPortal
71. Appr. 3: Auth. Screen Scrape
Normal Web
Proxy
User Request
JSR-168
Auth C
ookie
Silo’d
Web Page
uPortal
Determines
validity of
cookie
72. Appr. 3: Auth. Screen Scrape
Normal Web
Proxy
User Request
JSR-168
Auth C
ookie
Unmarshal
Silo’d
View Transform
Web Page
uPortal Clean
Determines
Massage validity of
Response cookie
73. Appr. 3: Auth. Screen Scrape
Used for:
Library portlet
Fetching bookstore books
Why bother?
Department uses vendor product with bad HTML
Want to show less than whole page and rewrite
significantly (otherwise WPP works)
76. Approach 4: Web-service
Verifies x509
User Signs with cert signed by
x509 cert custom CA
JSR-168 Spring-WS +
WS-Security Silo’d DB
Web Service
uPortal
77. Approach 4: Web-service
Verifies x509
User Signs with cert signed by
x509 cert custom CA
JSR-168 Spring-WS +
WS-Security Silo’d DB
Web Service
uPortal
Reverse-
engineered
Hibernate
78. Approach 4: Web-service
Verifies x509
User Signs with cert signed by
x509 cert custom CA
JSR-168 Spring-WS +
WS-Security Silo’d DB
Web Service
uPortal
Encrypts
with portlet’s Reverse-
public key engineered
Hibernate
82. Approach 4: Web-service
No early progress
Gained DB access, basic schema docs
Hibernate “rev-eng” ant scripts
83. Approach 4: Web-service
No early progress
Gained DB access, basic schema docs
Hibernate “rev-eng” ant scripts
Design XSD
84. Approach 4: Web-service
No early progress
Gained DB access, basic schema docs
Hibernate “rev-eng” ant scripts
Design XSD
Implement service and deliver to department
85. Approach 4: Web-service
No early progress
Gained DB access, basic schema docs
Hibernate “rev-eng” ant scripts
Design XSD
Implement service and deliver to department
Other departments now using
86. Approach 4: Web-service
No early progress
Gained DB access, basic schema docs
Hibernate “rev-eng” ant scripts
Design XSD
Implement service and deliver to department
Other departments now using
Demo of this portlet
104. Products Considered
Barracuda, very cheap, light-duty, not scalable
F5, easy to use, very expensive & not scalable
Cisco, cheap & scalable, difficult to use
153. Disaster 2 (ADC) Considerations
Secondaries are now primaries
Manual DB configuration change
Depends on human response time
Requires manual configuration change
once ADC is back up
155. Future Improvements
Send DB traffic through App Switches
No manual configuration changes required
Protection against primary taking over
automatically when restored
156. Future Improvements
Send DB traffic through App Switches
No manual configuration changes required
Protection against primary taking over
automatically when restored
App switch supports multiple contexts
159. Since We Launched
Hardware failure on secondary server
Not noticed
App switch worked
Kernel panic in secondary server’s primary domain
Killed networking
uPortal instances lost network connectivity
App switched worked