1 / 10

WDK Overview

WDK Overview. How the WDK implements MVC and provides a base from which custom sites can be created. Top Level Design. Bioinformatics Data (Oracle, Read-Only). Gbrowse (Perl CGI). Java Beans (RW, (Session/Request scope). JavaScript, CSS. Factory Classes. User Data (Oracle, RW).

arav
Download Presentation

WDK Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WDK Overview How the WDK implements MVC and provides a base from which custom sites can be created

  2. Top Level Design Bioinformatics Data (Oracle, Read-Only) Gbrowse (Perl CGI) Java Beans (RW, (Session/Request scope) JavaScript, CSS Factory Classes User Data (Oracle, RW) View/Controller WDK Model (Read-Only Java Objects) Struts 1 Actions Comment Data Top-level JSPs Client Questions WDK custom tags WDK Model (XML) Queries Franchise-supplied custom JSP/tags Params

  3. What’s in the App Database? • Different sorts of bioinformatics data • Defined as RecordClasses in the Model • Types: • Genes • Isolates • Genomic Sequences • Genomic Segments • ESTs (Expressed Sequence Tags) • SNPs (Single Nucleotide Polymorphisms) • Sage Tag Alignments • ORFs (Open Reading Frames) • Results caching

  4. What’s in the User Database? • User authentication, roles, preferences • Favorites • Individually saved IDs, kind of like bookmarks • Able to comment on or assign to projects • Basket • Large set of ids gathered from results page • Able to be incorporated into a strategy (as a Step) • User-saved Strategies • All steps and param values are saved in user database • IDs for saved strategies are cached in main database • ***This includes guest users*** • And by extension, their unsaved strategies

  5. How do we search? • Begin by asking a “Question,” a search with specific (related) parameters • First Question becomes a “Step;” can then refine results by adding Steps representing different Questions • Results from each Step are combined using “Booleans” or logical set operators (union, intersection, minus) • This process of adding Steps, representing different Questions, and combining them with Booleans, results in a search “Strategy” • Executing a Strategy results in a set of IDs representing “Records” of the “Data Type” searched • Records can be displayed on the results page, where “Columns”, or attributes of the records can be accessed

  6. What’s in the Model? • RecordClasses • Data types stored, other properties • Columns available • Filters for certain organisms • Questions and their Parameters • Name (term), display name • Potential values (for enumparams- also include term and display) • Some validation info • Which UI widget to use • Which projects to include with • Queries • Query usually corresponds to a single Question • Contains parameterized SQL, params linked to Question params • Other queries for ajax calls, sources, non-searchable RecordClasses

  7. Customizing the WDK • This is what ApiCommon is! (i.e. a customization of the WDK) • The model XML is a configuration of the WDK • CSS, page styles, layouts, etc. • Customized JSPs, overridden JSP tags • The build process combines everything together into the web application • model-config.xml defines the databases from which data is retrieved • Customized Java classes to retrieve supplemental information or build custom objects required by custom JSPs • WDK uses file look-ups, factory classes to choose which implementation to apply in a specific case • All the content you see in the pages is a mixture of information pulled from the model XML files, or data pulled from the database • Sometimes it is not obvious which of these it is

  8. How do Strategies work? • Database maintains an ordered list of steps for each Strategy • Each Step’s parameter values are also saved • Reminder: Most steps represent a Question • …and the parameters associated with that question • Booleans represent “interim” steps which link Question steps • Strategies workspace (top of Results page): • All strategy information is retrieved in JSON format, and rendered in the workspace using JavaScript • Each time a Step is revised, that part of the UI is refreshed • Results display (bottom of Results page): • Large SQL query is constructed to fetch IDs • Sub-queries are Question SQL containing the parameterized queries • Question SQL sub-queries are joined by Boolean set operators • Selected columns/attributes are added (wrapping ID query) after ID set has been determined

  9. How do we load BioInformatics data? • Slide here about ReFlow, workflow processes

  10. Where does the source data come from? • Slide here about data sources, maybe original data formats • (I don’t know anything about this)

More Related