Web Development Kit (WDK) Y. Thomas Gan

Slides:



Advertisements
Similar presentations
ADABAS to RDBMS UsingNatQuery. The following session will provide a high-level overview of NatQuerys ability to automatically extract ADABAS data from.
Advertisements

1 Actuate Corporation © 2010 THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE.
Apache Struts Technology
Chapter 15 © 2010 by Addison Wesley Longman, Inc Origins and Uses of Ruby - Designed by Yukihiro Matsumoto; released in Use spread rapidly.
Chapter 6 UNDERSTANDING AND DESIGNING QUERIES AND REPORTS.
Building CryptoDB using GUS Mark Heiges Center for Tropical and Emerging Global Diseases University of Georgia
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
J4www/jea Week 3 Version Slide edits: nas1 Format of lecture: Assignment context: CRUD - “update details” JSP models.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
DT228/3 Web Development JSP: Directives and Scripting elements.
DT228/3 Web Development Databases. Database Almost all web application on the net access a database e.g. shopping sites, message boards, search engines.
Chapter 14: Advanced Topics: DBMS, SQL, and ASP.NET
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Apache Struts Technology A MVC Framework for Java Web Applications.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
SQL Server 2000 and XML Erik Veerman Consultant Intellinet Business Intelligence.
WHAT IS PHP PHP is an HTML-embedded scripting language primarily used for dynamic Web applications.
UNIT-V The MVC architecture and Struts Framework.
Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories.
Web server and web browser It’s a take and give policy in between client and server through HTTP(Hyper Text Transport Protocol) Server takes a request.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Rails and Grails. To get started Make sure you have java installed You can get the sdk and jre at:
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
Session 5: Working with MySQL iNET Academy Open Source Web Development.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
1 INTRODUCTION TO DATABASE MANAGEMENT SYSTEM L E C T U R E
Simple Database.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
1 Accelerated Web Development Course JavaScript and Client side programming Day 2 Rich Roth On The Net
Session 1 SESSION 1 Working with Dreamweaver 8.0.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
WDK Overview How the WDK implements MVC and provides a base from which custom sites can be created.
Peter Laird. | 1 Building Dynamic Google Gadgets in Java Peter Laird Managing Architect WebLogic Portal BEA Systems.
Chapter 6 Server-side Programming: Java Servlets
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
BlackBerry Applications using Microsoft Visual Studio and Database Handling.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
DSpace System Architecture 11 July 2002 DSpace System Architecture.
CP476 Internet Computing Perl CGI and MySql 1 Relational Databases –A database is a collection of data organized to allow relatively easy access for retrievals,
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Web Database Programming Using PHP.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
CHAPTER 7 LESSON C Creating Database Reports. Lesson C Objectives  Display image data in a report  Manually create queries and data links  Create summary.
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
Apache Struts Technology A MVC Framework for Java Web Applications.
A web based tool for estimation of Gage R&R and Measurement Uncertainty Siva Venkatachalam & Dr. Jay Raja Center for Precision Metrology The University.
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Preface IIntroduction Course Objectives I-2 Course Content I-3 1Introduction to Oracle Reports Developer Objectives 1-2 Business Intelligence 1-3 Enterprise.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
2nd year Computer Science & Engineer
Building Enterprise Applications Using Visual Studio®
Working in the Forms Developer Environment
Unit 6-Chapter 2 Struts.
SDMX IT Tools SDMX Registry
Presentation transcript:

Web Development Kit (WDK) Y. Thomas Gan

GUS workshop 2 Everything you need to know about WDK is here Documentation: Download: Demo:

GUS workshop 3 Overview Why WDK – motivation What is it about – review of concepts How do I use it – practical matters

GUS workshop 4 The 3 tiers of GUS platform

GUS workshop 5 Making GUS data accessible GUS is hosting data of increasingly diverse types of increasingly large quantities at increasing number of institutions GUS data is supporting more websites Allgenes, plasmodb, EPConDB, RAD Sanger CryptoDB, ToxoDB, ApiDB at U. Georgia others to come at U. Chicago, Virginia Bioinformatics Institute Growing need to unify and simplify website development

GUS workshop 6 Need to support many (customizable) views on the same data –

GUS workshop 7 More GUS WDK motivations Provide an abstract data model on top of GUS Resilient to minor changes of schema Centralize all queries used by a website Develop and test in non-web context Easier to maintain Helps identify key entities in a website (e.g. Gene, RNA, Experiment etc)

GUS workshop 8 The goal of WDK Make the task of building data mining websites for users to be Easy – as little work as possible Fun – focus on what you know best and what you really care about (describing your data, business logic, presentation preference) This is possible because WDK takes care of the rest, which is Not so easy Not so fun (for intended WDK users) But fun for WDK developers And it has to be done only once

GUS workshop 9 Overview Why WDK – motivation What is it about – review of concepts How do I use it – practical matters

GUS workshop 10 Question-Summary-Record (Q-S-R) paradigm On a data mining website, we ask canned questions We get back a summary that we can page through We may choose to go to a detailed record page for each entry in the summary

GUS workshop 11 Take a quick tour WDK Toy site CryptoDB NOTE: They present different data The WDK works with any data model The WDK does NOT depend on GUS relational schema or any object layer *

GUS workshop 12 The Model-View-Controller (MVC) pattern Domain Models (DTOs) Views Controllers

GUS workshop 13 The WDK Model Your model.xml file determines your model It specifies the questions, summaries and records for the site It also specifies the queries that underlie them

GUS workshop 14 Understanding Questions Inquiries the user poses Here is the analogy Question is to Record set as Query is to Row set In other words, a Question returns a set of Records

GUS workshop 15 Understanding Records Structured descriptions of result entries Records have Attributes (simple values) Tables (table values) Nested Records (record values) Attributes are created from AttributesQueries They may be embedded in blocks of text to yield textAttributes They may be used as cgi parameters to yield linkAttributes Tables are created from TableQueries Nested Records are pointers to other records (they can be single or a list)

GUS workshop 16 Other Model concepts: Query Query: a query to retrieve data Available now: sqlQuery To come: flatFileQuery, processQuery sqlQuery Id query for a question: get a list of primary keys Attribute & table queries for a record: get data by id Controlled vocabulary queries: get parameter option items An sqlQuery has paramRef: reference to parameters used by query column: describes a column that is part of the result sql: the sql statement to run. Embed parameter values by using the parameter's name surrounded by '$$', eg., '$$taxon$$'

GUS workshop 17 Other Model concepts: Parameter stringParameter: a parameter whose value is a string flatVocabParameter: a parameter that provides a list of choices (through a controlled vocabulary query)

GUS workshop 18 Other Model concepts: set, name, and reference set: organize things querySet parameterSet recordClassSet questionSet name: two part name setname.elementname reference: objects in the model may refer to other objects defined in the model uses the unique two part name of the referent

GUS workshop 19 Take a quick tour toyModel.xml toyModel.prop

GUS workshop 20 The WDK View Runs under tomcat (requires tomcat 5.x) Written in JSP The Model has a JSP Expression Language compatible API The default view requires no work to come right up question.jsp summary.jsp record.jsp

GUS workshop 21 Take a quick tour questionSets.jsp question.jsp

GUS workshop 22 Overview Why WDK – motivation What is it about – review of concepts How do I use it – practical matters

GUS workshop 23 When can I benefit from WDK? you have a relational DB (oracle or postgreSQL) and a struts-enabled webserver (eg apache + tomcat) you need a website that enables a number of data mining questions to be asked against your DB the questions or the schema may change frequently

GUS workshop 24 How can I start using WDK? Get WDK software ( Work on your WDK Model Specifies the questions, summaries and records Work on your WDK View Presents the questions, summaries and records site configuration/customization DB connection logo, header, footer, style-sheet custom pages if desired

GUS workshop 25 How do I write a model without a view? Use toyModel.xml as a template Consult the schema wdkModel.rng in the Model’s library for allowed tags Use Model’s Unix command line tools to develop your model without having to hassle with debugging in a web context wdkTestDb, wdkCache wdkXml wdkRecord, wdkSummary, wdkQuery wdkSanityTest

GUS workshop 26 How do I test my Model? Use the command line tools first The most important is wdkSanityTest Because all the queries that drive your website are all in one file ( yourModel.xml file), you can TEST with wdkSanityTest Trouble shoot with other command line tools, eg. wdkQuery -model toyModel -query RnaIds.ByDbESTLib -params NumEstLibs 6 AssemblyConsistency 80 wdkRecord -model toyModel -record RnaRecordClasses.RnaRecordClass -primaryKey Test on your website only after wdkSanityTest succeeded

GUS workshop 27 Take a quick tour toyModel-sanity.xml

GUS workshop 28 How do I config my site? Use web.xml.toy as template for web app config Use toyModel-config.xml as template for database config Rename header.tag.toy to header.tag and use your own logo Rename footer.tag.toy to footer.tag and make edits as needed

GUS workshop 29 Take a quick tour web.xml.toy toyModel-config.xml

GUS workshop 30 How do I customize my view? Use and modify style sheet that comes with the toySite Provide JSP files that use a naming convention so that WDK can find them For example customPages/EstRecordClasses/EstRecordClass.jsp, if exists, is displayed in place of record.jsp as a customized view of records of the type EstRecordClasses/EstRecordClass To come very soon customPages/customRecord|Question|summary.jsp customPages/ /.jsp customPages/ /.summary.jsp

GUS workshop 31 Future plans Bug fixes New features: query history process queries (eg. BLAST) query context graphics plugin improve view / controller customizability

GUS workshop 32 Take a quick tour Query history on plasmoDB.org

GUS workshop 33 WDK architecture overview GUS relational schema browser client server Tomcat servlet engine View Controller Model SQL web.xml & struts config.xml Application modelXML Q-S-R classes DB Utils model XML parser WdkModel jsp wrappers eg WdkModelBean Session jsp pages tags images style sheet AppInitListener ActionForms Actions Servlet webapp startup request response