IBIS-Q System Documentation - Hardware and Software Requirements - May 2005
Front End Client Requirements - High Level Hardware and Software
- Hardware and operating system needed to run an internet browser
- Internet connection to the server(s) that host the IBIS-PH system(s)
Front End Client Requirements - Internet Browser
- The IBIS-PH system produces HTML 4 and utilizes newer Javascript techniques and object calls so a modern, up to date browser is required. The system has been heavily tested with MS Internet Explorer 6.x since it dominates the installed base of browsers. Netscape Navigator versions 6-7.x, Firefox version 1, Opera version 7-8, and IE 5.x have also been tested and found to work (although there are some issues with the SVG plugin which is the next item discussed).
- Charts and graphic images are available in two formats; Scalable Vector Graphics (SVG) and JPEG. SVG graphic images allow for higher quality charts which are interactive and able to be resized without jaggies. For SVG graphics, an SVG browser plugin is required. The most widely used SVG plugin is from Adobe Systems. Their current offering is called SVGViewer 3 and is available as a free download from their website. This plugin works great with MS-IE 5.5+. However, for all the other browsers it is hit and miss. Adobe also has a new version which is called Adobe SVGViewer 6 and has been in testing for several years now (it's available to the public for free but is not available as a released product and is considered unstable). Version 6 has been tested with the discussed browsers but again it is a hit and miss situation for all but MS-IE (different browser versions on different operating systems with different system configurations results in varied success). Also with either version of the Adobe SVG Viewer, all of the browsers (other than MS-IE) have an issue with the Milonic menuing package. The problem is that the menu will not overlap on top of any SVG object. So all pullout/drop down menus are chopped off as soon as they encounter the boundary of the SVG chart/map. The system utilizes a navigation system that is built exclusively with Javascript. As such, Javascript needs to be enabled in the browser to navigate the system. Future versions will include a navigation system that looks and acts similar to the current system but will use more standard HTML with minimal Javascript . This new navigation system is also much more 508 compliant. In either case Javascript will still need to be enabled for this system.
- Browser cookies are also recommended for this system but are not 100% required but it is highly recommend that they be enabled. Permanent/persistent cookies are used to keep track of the user's desired graphics type and Query system's user preferences. Temporary cookies are used/needed by the Query system to keep track of a user's module selections and intermediate query results on the backend server. It is possible to not enable temporary cookies and have the system track the user's session via URL rewriting but this has not been tested.
Middle Tier IBIS-IRV Server Requirements (excluding IBIS-Q CGI System and SAS) (Minimally, this could be a simple PC with):
- Hardware and operating system needed to run a Java Web Application Server.
- Single 2ghz Intel Pentium IV or AMD Athlon CPU
- 512MB of memory
- 40GB hard disk
- It could be running Linux or Windows98 for an operating system
- Tomcat 4 or 5 as the web server and the Java application server
On the high end a multi-processor clustered Sun or IBM server environment with a centralized SAN could be used.
Current Utah System
As of May 2005 Utah is running the Admin, View, and IBIS-Q applications on two different servers. The first hosts the Admin, View systems as well as the MySQL RDBMS with the other hosting the IBIS-Q system. In the past it has been on as many as four servers View and Admin on a Sun iPlanet box, Oracle on an IBM mainframe, and IBIS-Q/SAS on an HP-UX box. The View, Admin, and MySQL RDBMS portion of the system uses:- Compaq 257917-001 Proliant Model DL380 with redundant power supplies
- duel 2.40GHZ Intel Xeon processors
- 3GB RAM
- (4) 18GB 15k ultra 320 SCSI's running raid 0+1 (and are hot swappable)
- SuSE Linux operating system
- Tomcat 5.1 web and Java application server
The server runs at about 10% utilization with an occasional peak of around 85%. It was purchased in 2004 for under $5,000.
NOTE: The entire IBIS system (View, Admin, relational database, IBIS-Q, and SAS) is
capable of being hosted on a single machine but is equally well suited for being hosted
on many machines in a distributed environment. The single, minimalist server described
above should provide acceptable performance for light to moderate IRV loads. If
everything is on one box then more CPU and faster disk IO is highly recommend to handle
the demands of SAS. If the system is distributed among several machines then a high
speed LAN/WAN is also an important factor in overall system performance. Basically,
better performance will be achieved with a faster and more powerful machine(s).
However, the end user's experience is probably going to be determined more by the speed of
the network connection between them and the server since most backend servers easily handle
the minimal IBIS application load.
Data Storage
Data Storage Capacity for the IBIS-IRV portion of the system is not very large in light of today's high capacity disks. Utah's IBIS-PH system currently uses approximately 5 gigabytes of storage space for the View System. Most of this space is used for a cache which stores some of the dynamically generated HTML content to the disk for increased performance.Web Server
Web Server (if using as a front end to the Java app server e.g. IIS or Apache instead of the Java app server's built in web server). So, need to include that servers hardware/software requirements. The web server must be able to handle/be configured/setup for proxy or forwarding/handling the requests/responses to/from from the Java application server which contains the IBIS-IRV system. Microsoft IIS and the Apache web server are two of the more common web servers that are capable of interfacing with a backend Java application server.Internet infrastructure/connection
Internet infrastructure/connection for the server(s) that are hosting the IBIS system and any related web servers (any needed networking and proxy configurations as well as firewall configurations as required by IT infrastructure).Java Web Application Server
- Java web application server (Java HTTP servlet container). The best known free, open source packages include JBoss and Apache's Tomcat. Commercial packages include IBM's Websphere, Sun's SunOne (Iplanet), BEA's WebLogic, and many others. If using Tomcat see the Tomcat Setup document for tips on setting up Tomcat.
- Java JDK version 1.4+. Installed and setup to be used by the Java application server.
- Java J2EE JDK version 1.3+. Installed and setup to be used by the Java application server (if not already included as part of the Java application server).
- Setup/configure the XML parser package(s). See the Java 1.4 & 1.5 XML Parsers document for more information about the specific information concerning this topic.
- If the operating system is a variant of Unix (e.g. Linux, AIX, HP-UX, Solaris)
then the "headless" java environment variable needs to be set. This is needed
by the Batik package to be able to convert SVG to JPEG/PNG type images. The
following shell script can be included in the init.d or in the catalina.sh script
files:export JAVA_OPTS='-Djava.awt.headless=true'
- IBIS-IRV software package. This open application/system software must be deployed to the Java web application server. Most app servers have mechanisms to deploy a war file to their environment (For Tomcat this can be as simple as copying the "ibisph-view_version_x_y.war" file to the tomcat/webapps directory and restarting or can be done using the Tomcat Admin system). If not Tomcat then you will need to consult with your system administrator.
- Charting software/package. Currently, the best graphing software package that meets the IBIS-IRV needs is a commercial package called AgileBlox by ElanSoft. Their initial license if purchased separately without IBIS-IRV is $1,395. However, we have an agreement with them that when the package is purchased for use with the View system it is only $700 which is very reasonable when compared with the other charting packages out there. Also, the graphics produced are high-quality SVG-type graphs, and the graph options are flexible (including ability to graph confidence interval/error bars and nice mouse-over capabilities for data point labels and values). If charting is not desired then this package can be omitted. This would involve removing some options from the XSLTs so that the chart option is not available to the end user. Another option is to use another commercial package or an open source charting package like JFreeCharts. In either of these cases, Java DAO code would need to be written to interface the XML source data with the particular chart object. The chart factory would also need some minor reconfiguring.
- Javascript menuing software packages. The View system utilizes two commercial Javascript menuing packages. The first is the Milonic Menu which is used for most of the IRV navigation. This includes the top and left hand menu and all of the associated pullout/drop down menus. The package costs $49 per deployed domain. The second package is called TreeView. This software provides the collapsible/expandable categorized index tree menu for the Indicator Profiles. It costs $29 per deployed domain. If only the Query portion of the system is being used or if the categorized index is not desired then the TreeView package can be omitted. Both of these packages are likely to be replaced in the near future since both use DHTML and are very heavy Javascript. Also, neither package is very high on 508 compliance due to the DHTML used. In addition to the non 508 compliance, neither package provides a clean mechanism to integrate dynamic menuing into the system.
Backend IBIS-Q and SAS Tier Server
- Hardware and operating system needed to run a CGI aware web server. Minimally, this could be a simple PC as described in the View section except with larger disk space. It could be running Linux or a variant of Windows for an operating system with Apache or MS-IIS as the web server. Since this system utilizes SAS to perform statistical calculations and data rollups a fast disk IO subsystem is paramount for the best system performance.
- Data Storage Capacity for the IBIS-Q portion of the system can be somewhat large in terms of data not in terms of today's high capacity disks. Utah's IBIS-PH system currently uses approximately 20 gigabytes of storage space for it's SAS datasets. Again, the larger the datasets the faster the disk IO sub-system and CPU/memory that will be needed to provide the desired performance.
- Web server must be able to handle/be configured/setup for CGI applications. Tomcat 4.1.x, Microsoft IIS, and the Apache web server have all been used by the IBIS-Q system.
- Internet infrastructure/connection for the IBIS-IRV and IBIS-Q server (any needed networking and proxy configurations as well as firewall configurations as required by IT infrastructure). The View system must be able to call/access the IBIS-Q CGI application via this web server using HTTP and a simple URL.
- IBIS-Q CGI Application Installation
- SAS license for server, the SAS/Base System module will produce most of the queries, but SAS/Stat version 8.2 or later is needed to process complex survey data such as BRFSS. SAS must be licensed to run on your web server machine (e.g., if your web server is a Unix machine, you'll need a SAS license for Unix). The IBIS-Q application is SAS-ready, but can be adapted to run with other stat packages. Doing so, however, may require additional time and resources.