MBARI Deep Sea Guide: Designing a web interface that represents information about the Monterey Bay deep-sea world.



Similar documents
Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms


Equipment Room Database and Web-Based Inventory Management

Course Name: Course in JSP Course Code: P5

Building Java Servlets with Oracle JDeveloper

An Architecture for Web-based DSS

Building native mobile apps for Digital Factory

Chapter-1 : Introduction 1 CHAPTER - 1. Introduction

Java Application Developer Certificate Program Competencies

AD-HOC QUERY BUILDER

A Tool for Evaluation and Optimization of Web Application Performance

OPACs' Users' Interface Do They Need Any Improvements? Discussion on Tools, Technology, and Methodology

Web Design Technology

Link Analysis Tool Design Description Final Version

Developing ASP.NET MVC 4 Web Applications MOC 20486

Web Testing. Main Concepts of Web Testing. Software Quality Assurance Telerik Software Academy

Release 1. ICAPRG604A Create cloud computing services

Web-JISIS Reference Manual

NextRow - AEM Training Program Course Catalog

THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

ProgressBook StudentInformation Report Builder User Guide

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

IT6503 WEB PROGRAMMING. Unit-I

Heterogeneous Tools for Heterogeneous Network Management with WBEM

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

Java the UML Way: Integrating Object-Oriented Design and Programming

601/8498/X IAO Level 3 Certificate in Web Design and Development (RQF)

An introduction to creating JSF applications in Rational Application Developer Version 8.0

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Web. Studio. Visual Studio. iseries. Studio. The universal development platform applied to corporate strategy. Adelia.

Software Architecture Document

Developing ASP.NET MVC 4 Web Applications

Software Requirements Specification For Real Estate Web Site

Design of Electronic Medical Record System Based on Cloud Computing Technology

Portals and Hosted Files

OVERVIEW HIGHLIGHTS. Exsys Corvid Datasheet 1

Web Design Specialist

What s Cooking in KNIME

Network Activity D Developing and Maintaining Databases

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

Preface. Motivation for this Book

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

High Level Design Distributed Network Traffic Controller

Programming SIP Services University Infoline Service

Introduction to BlackBerry Smartphone Web Development Widgets

Fast track to HTML & CSS 101 (Web Design)

How To Understand Programming Languages And Programming Languages

CREATING RESPONSIVE UI FOR WEB STORE USING CSS

metaengine DataConnect For SharePoint 2007 Configuration Guide

Lesson Overview. Getting Started. The Internet WWW

Richmond SupportDesk Web Reports Module For Richmond SupportDesk v6.72. User Guide

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Performance Testing for Ajax Applications

Microsoft Dynamics Training

A DIAGRAM APPROACH TO AUTOMATIC GENERATION OF JSP/SERVLET WEB APPLICATIONS

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

Programming in HTML5 with JavaScript and CSS3

Equipment Room Database and Web-Based Inventory Management

Platform Independent Mobile Application Development

Multifunctional Barcode Inventory System for Retailing. Are You Ready for It?

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

Developing Web Views for VMware vcenter Orchestrator

Esigate Module Documentation

Outline. CIW Web Design Specialist. Course Content

VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR

CREATE A CUSTOM THEME WEBSPHERE PORTAL

Specify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2.

Applets, RMI, JDBC Exam Review

Research Article. ISSN (Print) *Corresponding author Lili Wang

Complete Java Web Development

Customer Bank Account Management System Technical Specification Document

Two new DB2 Web Query options expand Microsoft integration As printed in the September 2009 edition of the IBM Systems Magazine

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Introduction to web development using XHTML and CSS. Lars Larsson. Today. Course introduction and information XHTML. CSS crash course.

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

SelectSurvey.NET Developers Manual

JISIS and Web Technologies

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Net-WMS FP Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant

Introduction to Ingeniux Forms Builder. 90 minute Course CMSFB-V6 P

Web Cloud Architecture

Xtreeme Search Engine Studio Help Xtreeme

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

JOMO KENYATTA UNIVERSITY OF AGRICULTURE AND TECHNOLOGY WEBSITE POLICY

WEB PROGRAMMING LAB (Common to CSE & IT)

Spectrum Technology Platform

Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation

Title: Front-end Web Design, Back-end Development, & Graphic Design Levi Gable Web Design Seattle WA

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Table of contents. HTML5 Data Bindings SEO DMXzone

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

NHS Education for Scotland Knowledge Services Design and Development Framework

CatDV Pro Workgroup Serve r

Transcription:

MBARI Deep Sea Guide: Designing a web interface that represents information about the Monterey Bay deep-sea world. Pierre Venuat, University of Poitiers Mentors: Brian Schlining and Nancy Jacobsen Stout Summer 2005 Keywords: Web design, VARS Knowledge Base, DAO, Taxonomic tree, Applet/servlet communication ABSTRACT A fundamental part of the Video Annotation and Reference System (VARS) project was the development of the VARS Knowledge Base, which contains over 3500 concepts (taxonomy of marine organisms, geologic features, etc). For the Deep Sea Guide (DSG) development a simple web interface was started, delivering useful tools in order to present these concepts and associated information. Using JSP and Java programming, the VARS Java libraries and objects were reused. Two different kinds of search tools have been implemented including a quick search and a taxonomic tree. The beginning design of the MBARI Deep Sea Guide has been implemented and is described in this report. Some useful tools, like the taxonomic tree browser could be reused for the future DSG application. 1

INTRODUCTION A system for the annotation and retrieval of MBARI s video data has been built by the Video Annotation and Reference System (VARS) team over the last few years. A fundamental portion of this project has been the creation of the VARS Knowledge Base, which contains over 3500 concepts that encompass the taxonomy of marine organisms, geologic features, and tools used for conducting deep-sea research. The purpose of the MBARI Deep Sea Guide (DSG) is to deliver an interactive educational and research tool, derived directly from this present database. For this project, a user interface for the DSG has been developed, taking the form of a simple web interface that conforms to MBARI s existing web styles and standards. The two main parts of this project are: - To implement a process to automatically extract DSG data from the Knowledge Base database and populate web page templates according to user selections or queries. - To research and develop different kinds of search tools in order to allow users a variety of ways to access and view the data. 2

1. IMPLEMENTING A PROCESS TO EXTRACT DATA FROM THE DATABASE The VARS Knowledge Base database follows a standard relational database diagram. Java libraries, a collection of java objects (e.g. Concept, ConceptName, ConceptDAO ) and methods, have already been developed for the VARS software in order to query the database. We used the Java Server Pages (JSP) technology and developed a specific Java library for the DSG. However, the DSG java library uses methods and objects defined in the VARS Java libraries to connect and extract data from the database. The entire application has been developed with Java and JSP language because of the opportunity to use VARS Java libraries, saving time and effort (Appendix). This kind of database access is called Data Access Object or DAO. It uses Java object programming to connect, request and receive responses from the database. The Java platform offers the Java Database Connectivity technique (JDBC), which provides the capability to execute Structured Query Language (SQL) queries against a database and then fetch results into persistent storage as Java objects. For our application, the Concept Java object, defined in VARS Java libraries, represents one entire element of the database such as a marine organism or a geologic feature. The graphical part of the DSG used the default MBARI web style (Cascading Style Sheets (CSS) and JavaScript files) and standards (default header and footer web presentation). However, additional CSS and JavaScript files have been created in order to make a more user-friendly and interactive interface. 3

2. DESIGNING SEARCH AND DISPLAY TOOLS The DSG search tool has to be user-friendly and powerful. In order to achieve this, the MBARI VARS Knowledge Base software and other websites were used as models. Three kinds of search tools have been defined: - A common quick search. - A taxonomic tree. - A taxonomic classification browser. 2.1 Quick search tool This kind of search is very common in the World Wide Web. It represents the first page of the DSG and provides a quick way to search for a deep-sea object (e.g. marine organism, ocean zone, organism part, etc). Several look-up options have been implemented on this page, allowing a web user to refine entries (Fig 1). Figure 1: DSG main page containing the quick search tool with advanced search options. 4

The user can choose to search the Common name or Synonym list, Scientific name list or both of them ( Any ). Additionally, users can request a search that contains, starts with, ends with, or is the selected word or character string. The advanced search part of this page has not been implemented yet, but its utility has been validated by the MBARI Video Laboratory staff. The database results from the query are stored in Java List object, which is a default java library object. The JSP results page dynamically builds an HTML table displaying the List object contents (Fig 2). Figure 2: DSG results table for ad quick search word. Each result is presented with its name, a description of the name status and its rank level (e.g. kingdom, species, family, etc) if available. A selectable list dynamically builds, allowing the user to quickly choose specific results if a large number of concepts are returned. 5

2.2 Taxonomic tree The taxonomic tree is an interactive and user-friendly tool which can be easily browsed by web users. The tree expands dynamically below the item that has been selected and the display button title is automatically updated with the name of the selected element. Selecting the display button queries for that specific element against the database and provides results to the user. Figure 4: DSG taxonomic tree browser for all elements of the Knowledge Base database. In order to build this taxonomic tree, several technologies were researched. Asynchronous JavaScript and XML (AJAX) graphical technology was not chosen because of the JavaScript technology proved difficult to maintain and less portable. Ultimately, the same graphical interface driving the VARS Knowledge Base software 6

taxonomic tree was used because it proved to be the best option. This technology is called Java Jtree object, which is a default java library object, in a Java Applet application (Java program which runs on a web browser). Communication between the Applet and the Knowledge Base database server was attempted using Web Services, but this technology caused a lot of security trouble for this kind of Java application. Finally a Java Servlet application (Java program which runs on a server) was chosen to provide this communication. The communication between the Applet and the Servlet uses the HTTP protocol. Using HTTP connection, the default port of communication between the Applet and the Servlet will be the 8080 (default HTTP port), eliminating the need for a server firewall setup. Only the Servlet is allowed to connect to and query the database. Figure 5: Applet-Servlet communication. Connect and query the servlet (ObjectOutputStream) HTTP connection Get the applet object and query the VARS database (ObjectInputStream) Applet: Client side Servlet: Server side Firewal l The Java taxonomic tree represents all elements of the Knowledge Base database and their hierarchical structure. The Knowledge Base contains more then 3500 Concepts of data (biological, geological or technical). If the Jtree object is initially built with all these data it would take more then two minutes to load. Therefore, upon opening the Jtree is built with the primary Concept objects of the hierarchical structure, and dynamically extends when the web user selects an expand button (Fig 5). Because of Applet security issues, the exact same taxonomic tree as the VARS software (using the same libraries and Java objects) could not be replicated. Instead, the entire taxonomic tree was re-created specifically for a web application using Applet technology. Get response from the servlet and print result (ObjectInputStream) HTTP connection Get the database response and transfer result to the applet (ObjectOutputStream) 7

2.3 Taxonomic classification browser This type of search tool enables browsing of the taxonomic classification of marine organisms (Fig 3). Figure 3: DSG taxonomic classification browser for marine organisms. This tool has not been implemented but its design and usefulness has been validated by MBARI Video Laboratory staff. In order to build this browser, another kind of SQL request has to be created on the database server. The current Java VARS libraries do not contain efficient methods for implementing this type of query. The actual version of this tool is just a model. 8

2.4 Data representation Results from the different search and browse tools are displayed in the results page along with hierarchical taxonomic information about the selected data (Fig 6). Figure 6: DSG data representation page for the marine organism Comatulida. The parent and direct children are both shown to elucidate the hierarchical position of the element within the database. The parent and child concepts of the selected element are also selectable in this view. All existing taxonomic data for a Concept are represented on this page. It will be different for each element. 9

CONCLUSION The DSG web application was developed with JSP and Java languages in order to be fully compatible with the VARS Software program and the default MBARI web template technology. This project begins to fulfill the expectations for the MBARI Deep Sea Guide. Technology demonstrated here, like the taxonomic tree browser and the DSG Java library, can be used for the future DSG application, even if the programming language changes. Future efforts on this project should focus on finding a way to do direct requests against the VARS Knowledge database, and linking associated media with the data. AJAX technology was implemented on this project but it might be a reasonable option for a user-friendly and functional web interface. The object-oriented programming languages (e.g. JSP or Java), used for this project, should be more understandable for future developers. ACKNOWLEDGEMENTS I would like to thank Brian Schlining, for helping me understand the Java VARS libraries and giving me all the technical support I needed. I would like to thank the Software engineering staff for helping and advising me. Thanks to Nancy Jacobsen Stout and all the MBARI Video Laboratory staff for their availability and their enthusiasm for the DSG project. I would also like to thank George Matsumoto for setting up the internship program and providing us all this stuff and advice. Thanks for everything. 10

References: [1] Species 2000, Catalogue of Life: 2005 Annual Checklist. In http://annual.sp2000.org/2005/search.php, August 2005. [2] ITS Data Access. In http://www.itis.usda.gov/index.html, August 2005. [3] FishBase. In http://www.fishbase.org/search.cfm, August 2005. [4] Developpez.com. In http://www.developpez.com/, August 2005. [5] Applet/Servlet Communication. In http://emmanuel-remy.developpez.com/java/tutoriels/, August 2005. 11

APPENDIX: Deployment diagram of the DSG web application. 12