Architecture

The ViewsFlash polling, survey, voting and ratings system

ViewsFlash helps web site personnel to manage surveys, forms, polls, quizzes, voting and ratings systems. It includes tools for designing, scheduling, formatting, publishing, archiving and searching, and a portal-strength form processing engine for capturing, validating, tabulating and displaying results in real time.

The Administrator creates different places for each group of users and grants them appropriate Access Rights. These users design and schedule questionnaires in their own place, protected from other users. Each place can use a different Style Template, if desired, to give its questionnaires its own look and feel.

Technical Overview

ViewsFlash is a web application hosted in an application server or a servlet container. This can be a shared application server, a server dedicated to running the ViewsFlash application, or a portal. All popular web, application servers, and portals are supported. See Specifications.

ViewsFlash is completely web-based; administration uses a standard web browser and requires no special client software. Questionnaire, security and scheduling information are entered using web forms.

Database Usage

ViewsFlash operates best when installed on a relational database, as some capabilities are not available without it. In a distributed configuration, database installation is mandatory. All questionnaire definitions and other settings are stored in the database. Data gathered is also stored there, in separate tables. See Database Use. When not installed in a database, settings and data are stored in the server's file system.

Topology, scalability, redundancy and fail-over

ViewsFlash employs an industry standard Peer Architecture consisting of two or more load-balanced active instances. Each instance stores state in the database, caches all necessary objects, and refreshes changed objects periodically. Results are tallied on the database and updated periodically. All instances can display live results directly to the visitor, or a publishing system can get current results by querying any instance or querying the database. Instances can be added live for dynamic scalability or can be taken offline at any time. Redundancy and fail-over are constant and automatic.

Staging

It is possible to set up a staging server, perform all questionnaire development and testing there, and then to lock and stage those questionnaires to a production server outside a firewall. The staging server exports staging files to its file system, those files are moved to the production system, and then they are imported into the production system. In such a configuration, it is possible, if necessary, to configure the production system so that application administration can be done only on the staging system. It is possible to set up a multi-tiered structure of development, test, staging, and production servers as needed; questionnaires are staged from each tier to the next when ready.

Capacity planning

For capacity planning it is necessary to take into account that design and scheduling operations comprise a negligible portion of the load on the ViewsFlash server, while composing dynamic survey pages, tabulating voting forms and composing live response pages make up most of the load.

Integrating with dynamic content

Respondents can fill out a questionnaire by going to its unique URL. Techniques are available for embedding questionnaires in Portals and JSP pages. Questionnaire URLs can be used in iframes.
The Web Services API provides a standard methodology for other applications to manage questionnaires.

Next: Peer Architecture