IAssessment’s High Performance Gateway Presentation System 

Slides:



Advertisements
Similar presentations
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
Advertisements

Technology Overview JAVA Servlets CS-611 S. Witherspoon.
Online Educational Game of Snakes and Ladders -Shalini Pradhan -Manali Joshi -Uttara Paingankar -Seema Joshi.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
Highly Available Central Services An Intelligent Router Approach Thomas Finnern Thorsten Witt DESY/IT.
Technical Architectures
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Web Server Hardware and Software
Migrating to uPortal 2 at UBC Paul Zablosky University of British Columbia Copyright Paul Zablosky This work is the intellectual property of the.
Servlets and a little bit of Web Services Russell Beale.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
New uPortal Contributions from the University of Wisconsin-Madison Jim Helwig University of Wisconsin-Madison Eric Dalquist Unicon, Inc. JA-SIG December.
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
UPortal: A framework for the Personalization of Library Services John Fereira: Programmer/Analyst Cornell University Mann Library.
UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon.
Scaling Service Requests Linux: ipvsadm & iptoip.
Copyright © 2002 Pearson Education, Inc. Slide 4-1 Choosing the Hardware for an E-commerce Site  Hardware platform  Refers to all the underlying computing.
CSolutions (Creative Solutions)
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Kerim KORKMAZ A. Tolga KILINÇ H. Özgür BATUR Berkan KURTOĞLU.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Advanced Distributed Software Architectures and Technology group ADSaT 1 Application Architectures Ian Gorton, Paul Greenfield.
Load Sharing and Balancing - Saravanan Mathialagan Masters in Computer Science Georgia State University.
Web Cache. Introduction what is web cache?  Introducing proxy servers at certain points in the network that serve in caching Web documents for faster.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Client/Server Software Architectures Yonglei Tao.
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
Overview of the ODP Data Provider Sergey Sukhonosov National Oceanographic Data Centre, Russia Expert training on the Ocean Data Portal technology, Buenos.
1 Oracle 9i AS Availability and Scalability Margaret H. Mei Senior Product Manager, ST.
Massively Multiplayer Online Games and Mobile Devices.
Word Wide Cache Distributed Caching for the Distributed Enterprise.
1 The Google File System Reporter: You-Wei Zhang.
SSP Capacity Planning. One powerful machine with everything.
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 13.
1 Distributed Systems : Server Load Balancing Dr. Sunny Jeong. Mr. Colin Zhang With Thanks to Prof. G. Coulouris,
GMOD Chado: to a Model-View-Controller (MVC) architecture? Valentin GUIGNON ID, DAP, BIOS CIRAD Montpellier.
Presenting Statistical Data Using XML Office for National Statistics, United Kingdom Rob Hawkins, Application Development.
Presented by Xiaoyu Qin Virtualized Access Control & Firewall Virtualization.
Database Application Security Models Database Application Security Models 1.
Sakai/OSP Portfolio UvA Bas Toeter Universiteit van Amsterdam
JA-SIG 12/4/20051 JMX For Monitoring and Maintenance JA-SIG - December 4, 2005 – Atlanta, GA Eric Dalquist Division of Information Technology University.
Www2.computer.org Basic Architecture Leo Wadsworth, Staff Manager April 2008.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
New uPortal Contributions from the University of Wisconsin-Madison Jim Helwig University of Wisconsin-Madison Eric Dalquist Unicon, Inc. JA-SIG December.
Implementation - Part 2 CPS 181s March 18, Pieces of the Site-building Puzzle Page 180, figure 4.1.
Module 11: Implementing ISA Server 2004 Enterprise Edition.
Computer Emergency Notification System (CENS)
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
ArcGIS Server for Administrators
® IBM Software Group © 2007 IBM Corporation Best Practices for Session Management
Web Technologies Interactive Responsiveness Function Hypertext Web E-Publishing Simple Response Web Fill-in Forms Object Web « Full-Blown » Client/Server.
Imagining a Community Source Student Services System Leo Fernig Richard Spencer SOA Workshop Vancouver March 24, 2006.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
JSP Server Integrated with Oracle8i Project2, CMSC691X Summer02 Ching-li Peng Ying Zhang.
Introduction and Principles Web Server Scripting.
UPortal Roadmap Patches, evolution, and revolution Andrew Petro, Yale University Eric Dalquist, Unicon.
UpgradinguPortal to What’s new that matters Better use of third party frameworks Faster! Improved caching Drag and Drop New Skin & Theme Accessibility.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Revelations of a 9iAS Implementation Michael A. Kirchenbauer P.Eng. Infrastructure Architect Sierra Systems Consultants Inc. Session id:
SmartCode Brad Argue INLS /19/2001.
WWW and HTTP King Fahd University of Petroleum & Minerals
Affinity Depending on the application and client requirements of your Network Load Balancing cluster, you can be required to select an Affinity setting.
Netscape Application Server
Creating Novell Portal Services Gadgets: An Architectural Overview
PHP / MySQL Introduction
Northbound API Dan Shmidt | January 2017
Ch 4. The Evolution of Analytic Scalability
Presentation transcript:

iAssessment’s High Performance Gateway Presentation System 

Background Implementation Pitfalls Factors to Consider Questions and Answers Presentation Overview

Background / History Web/Portal History –Static – Dynamic – Application based - Portal iAssessment Evolution and Products –K-12 ASP Compliance and Reporting –Assessments and Survey –Teacher Resource Cataloging –Professional Development Grant/Policy Management –Communication Tools

uPortal – iAssessment Gateway Presentation System (GPS) –User management –Entity management –Individual client branding Controlled User Experience –User profile based –Role based applications –Client controlled not user controlled Integrated User Experience –Other disparate systems Background / Solution GPS K12 Smart Portal

Product Map

Implementation / Case Study GPS Case Study / CTAP 2 California Department of Education –>300,000 teachers & administrators –50,000 initial students for beta student system (with one district having ~2 million students) Use Model –Administrators –Teachers –User created accounts –Gradual adoption –Peaky use times (grant deadlines, etc.) –Account reuse

Implementation / Case Study Current CTAP 2 Statistics –~200,000 accounts –Peaks of 1,000 concurrent logins –Peak “season” average 5,000 logins per day –Tables with more than 20 million rows Architecture Requirements –Expandable at top level Load balancing Scaling Easy machine addition –Scalable software model Fixed session at login

Implementation / Case Study CTAP 2 Hardware –Web/Application Servers Sun 220R (2CPU/2GB) NFS Server Four X1’s (1CPU/1GB) –Database Server SunFire v880 (6CPU/12GB) T3 Disk Array redundant pair –Cisco content switch –Cisco Pix Firewall

Implementation / Case Study Current Hardware Capabilities –X1 can handle ~150 users each –220R ~400 users –Application front end current max load ~1,000 concurrent users –Database max load 3,000 users (keeping in mind the different load factor of iAssessment’s applications running in uPortal) Still could use optimization as well.

Implementation / Case Study Software –Solaris 8 & Linux (web/application servers) –Sybase 12.5 / Solaris 8 (database servers) –Tomcat 4.0 –Apache 1.3 mod_webapp –JDK –uPortal 2.0

Non-performance-based uPortal changes Created generic servlet wrapper channel –Run with and without uPortal Layout management modifications –Layout per user type, school type, etc. Authentication modifications –First name, last name, id, password Database connection pool sharing

Things That Worked Planned uPortal extensibility generally worked well Relative URL space worked well –Load balancing ( –Integration into existing URL namespace –https might be a problem

Problems & Fixes HTML production: XML “well-formed”- ness and XLST processing speed –jTidy didn’t work well –Fearful of XSLT overhead –FIX: avoided XSLT processing

Problems & Fixes High memory use (400MB-1GB/process) –Intrinsic needs of applications and ??? –Bugs (SmartCache, database connection pool) FIX: code changes –Caused java.lang.Runtime.exec failure (no vfork equivalent in Java) FIX: created “exec server”

Problems & Fixes Large database hit with large groups –Debug Sybase JDBC driver and ~20,000 UP_USER rows –uPortal 2.0 queries database for each member in set; long delay during account creation –FIX: used production JDBC driver; uPortal 2.0 code should be changed

Problems & Fixes Proxy servers and “User-Agent” HTTP header removal –FIX: wrapped original HttpServletRequest & protected BrowserInfo –Better FIX: all in one wrapper

Problems & Fixes Cisco content switch problems –Used IP mapping because cookies didn’t work –Load balancing from NAT/proxy didn’t work well with IP mapping –Single point of failure –No method of determining which machine user was on –FIX: using content switch for login redirection only

Problems & Fixes Caching of layouts –Performance gain, but required inter-JVM communication FIX: created small inter-JVM communication system –Aggregated Layouts implication (with multiple JVMs)? User-caused problems –Multiple submits of same request FIX: used a ‘please wait’ screen where needed

Performance Modifications Did layout caching –Per JVM –Reloaded on demand from inter-JVM message Bypassed channel-level XSLT transformations Didn’t use debug drivers in production Limited duplicate burdensome requests

Scalability Modifications Support for multiple web/application server machines Support for large JVM size

Lessons Learned Memory is limiting factor for GPS Well-formed HTML hard to achieve even when we control all the code Simple load balancing via publicly exposed web/application servers easiest and most effective

Lessons Learned Environment is hostile –Unfriendly proxy servers –“Mega proxies” (AOL) –Impatient users –Impatient firewalls

Things to Consider Architecture to support multiple web/application servers –Inter-JVM issues possibly –Per-server information (# of users, etc.)? Existing servlet code –To wrap or not? –Bypass XSLT?

Things to Consider Environment –Non-technical users –Unfriendly proxies, or firewalls? Application types –Large JVM size? –CPU/database intensive?

Questions and Answers “Why haven’t you checked in the code changes? “Can we get a copy of the code you did for xyz?” “How did you avoid XSLT processing?”