mid morning discussion introduction to the ibis-q front-end system ("module" emphasis)...

Post on 30-Dec-2015

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Mid Morning DiscussionIntroduction to the IBIS-Q Front-End System ("Module" Emphasis)

What is the front end

Where does the front end fit in

What is a Module and where does it fit in

How to build a Module (or two)

Request Module Set Page(url contains selected module set name)

Module Set Page Response

Qu

ery

Ho

me

Pa

ge

Use

r S

ele

cts

a M

odu

le S

et.

Module / Measure Request(url contains selected module and measure)

Module / Measure Response

Confirmation Page Response

Results Page Response

Submit Query Request

Get Query Results Request

Query Servlet(part of the ibisph-view

system on the OIT server).

IBIS-Q CGI Application(stand alone executable

program on the HLUnix server).

SAS Application(stand alone executable

program on the HLUnix server).

Mo

du

le S

et

Pag

eU

ser

sele

cts

mod

/mea

use

.M

od

ule

Pa

ge

Use

r b

uild

s qu

ery.

Co

nfi

rma

tio

n P

age

Use

r se

lect

s pr

oce

ed (

els

e a

uto

sub

mit

pre

fere

nce

).

Re

sult

s P

ag

eU

ser

sele

cts

new

filt

er

and

d

rill

dow

n gr

oup

ing

.

Drill Down Request(url contains the new filter criteria

and new group by dimension)B

uild

re

que

sted

mod

ule

set

pa

ge b

ase

d o

n th

e

“mo

dule

_se

t.xs

lt” a

nd th

e

spec

ifie

d m

odu

le_

set

nam

e.

Bu

ild r

equ

este

d m

odul

e p

age

bas

ed

on

mod

ule

.xsl

t a

nd

nam

e/m

eas

ure

.

Bui

ld q

uery

co

nfirm

atio

n pa

ge

base

d on

su

bmit.

xslt

and

use

r’s q

uer

y se

lect

ions.

Get

dat

a fr

om C

GI,

retu

rn

resu

lts b

ased

on r

esul

t.xs

lt.

XML Data is returned(data encapsulated within XML tags and

streamed back/returned)

Par

se n

ew

filte

r a

nd

grou

p

by v

alu

es,

con

firm

atio

n

pag

e / d

o s

ubm

it lo

op.

Confirmation Page Response(same process as

defined above - loop)

Pa

rse r

eque

st,

build

SA

S

pro

c, c

all

SA

S,

retu

rn X

ML

stre

am.

Query Request(url contains the filter criteria and group by dimensions)

Output data file created

SA

S r

uns

pro

ced

ure

and

cre

ate

s o

utpu

t fil

e.

Call/Execute SAS(command line contains

procedure filename to be ran)

IBISPH Query System---------------------------

Query Request Sequence DiagramIBIS Query

System Request Sequence Diagram

HLUnix (Apache Web Server)

ITS Java Application Server (iPlanet)

IBIS-PH System Architecture

IBISQ CGI Application

IBISPH Data Administration System(ibisph-admin)

User / ClientIndicator Profile Data Maintenance

SAS Application

SAS database

User / ClientIndicator Profile Type Requests

User / ClientCustom Queries

OIT IBIS Server (Tomcat)

ITS Oracle database Server

HL_IBISPH_ADMIN_OWNER

IBISPH Public Presentation System(ibisph-view)

XSLTs. One foreach “type” of

requested output

XMLs. One foreach output page.

Control files

SAS program / procedure file

SAS output data file

This Morning's Road MapSystem Documentation Overview

Query System Diagram Review

Query Front End Components

How the Front End Works

Query Front End UI File Types

Query Module File

Introduction to XML

Review Sample Query Module XML

IBIS Query Documentation PacketDiagrams

Overall High Level System ArchitectureQuery System ArchitectureQuery System Request SequencesQuery Module Set RequestQuery Module RequestQuery Submit RequestQuery Get Results Request

Query User Interface XML Types OverviewQuery Module XML Element Dictionary

Other IBIS Query Documents

IBISQ Application Parameters DictionaryXinclude Overview

Documentation Packet Cont.

IBISQ Backend File DefinitionsIBIS-IRV Query Front End File Definitions

PopMain.xml – Example Module XMLModule FAQs and Troubleshooting.doc

Other Files of Interest

HLUnix (HP running HPUX)

Module_set.xsltModule_set.xslt

OIT IBIS Server (Compaq PC running Linux)

IBIS Query System – System Architecture

`

PC / Mac / etc

2 U

Compaq Proliant

IBISQ CGI Application

Tomcat Application Server Service

Query Servlet

XSLT/XML Transformation Engine

Request Command Handlers

User / Client

Internet BrowserFor selection type pages, javascript is used to control expansion/contraction of steps/questions/answers and for saving user preference cookies via browser cookies.

Module_set.xslt

Browser cookies

Optional user preference IBIS Query selection

cookies

HTML PageResponse

Request(show module set,

show module,submit query,

get query results,drill down)

Get Query Results Request(filters, grouping, config params)

Query Results Response(data records - XML elements)

Module_set.xslt

tomcat/webapps/ibisph-view/xslt/query directory (folder)

XSLTs. One foreach “type” of

requested output

Module_set.xslt

tomcat/webapps/ibisph-view/xml/query directory (folder)

Home type pages, module sets,

module definitions

UDOH LAN

HP xxxxInternet

Query servlet handles all user query requests, builds the CGI app URL based on user’s filters and grouping choices, processes, controls xml and xslt and delivers HTML responses via XSLT/XML transformations

CGI App parses the html request and loads specified configuration file information. The appropriate definition file, label files, are then read and a SAS procedure / program / code is built. This SAS code is then saved to a file.

SAS is called with the just built procedure file specified as a command line argument. A results text file is then created according to the SAS code.

The results file is then read where the data is merged into the XML elements (xml_out#.xml???). These query record results data are then streamed back to the requestor (Query servlet).

SAS Application

SAS database

SAS output data file (module name.dat).

Module_set.xslt

module directory /folder

query.cfg

SAS procedure file

The procedure file contains SAS code which controls which dataset to use, how to calculate the results, and creates a data results output file.

Query servlet passes what XML (file or an in memory document),and which XSLT to apply

func#.def

{var}.lbl

xml_out#.lbl

ibisq_head.xml

ibisq_tail.xml

{dimension}.grp

IBIS-Q Front-End – ComponentsTomcat Application ServerJava Servlet Controller (named Query)XML Data Files (which includes Modules)XSLT XML to HTML Transformation TemplatesTypical Static Web Content like javascript files, gif images, cascading style sheets.

OIT IBIS Server (Compaq PC running Linux)

Tomcat Application Server Service

Query Servlet

XSLT/XML Transformation Engine

Request Command Handlers

HTML PageResponse

HTTP Request(show module set,

show module,submit query,

get query results,drill down)

tomcat/webapps/ibisph-view/xml/query directory (folder)

Module Definitions

Query servlet handles all user query requests, builds the CGI app URL based on user’s filters and grouping choices, processes, controls xml and xslt and delivers HTML responses via XSLT/XML transformations

Query servlet passes what XML (file or an in memory document),and which XSLT to apply

Basic HTML Content

(Entry/Home, helps etc.)

Module Set Definitions

Common Module Includes

tomcat/webapps/ibisph-view/xslt/query directory (folder)

Module Definitions

(module.xslt)

Basic HTML Content

(home.xslt)

Module Set Definitions

(module_set.xslt)

Query Confirmation(submit.xslt)

Query Results (result.xslt)

Data Files to be merged

Template Files

IBIS Query System – User Interface

IBIS-Q Front-End – Basic WorkingsTomcat/Query servlet receives a request from a user/browserQuery servlet invokes a certain set of business rule code based on the user's requestQuery servlet opens the associated request's page template file (think of it as a mail merge)Query servlet opens the appropriate data file and merges content into the templateReturns the merged data page to the user/browser which made the requestUser's browser then displays the page

Query Front End UI File TypesThree Basic Types of User Interface Data Files

HTML Content. Provides basic text information - home or entry page, overview type pages, help type pages Module Set Definitions. Provides a way for the user to navigate to and select a module and measure Module Definitions. Provides a way for the user to define and submit the query to the backend query system.

See the "Q XML File Overviews.doc" for a more detailed discussion on the different file/data types

Query Front End Module OverviewRoot Container Element named "QUERY"Basic Structure Diagram

See the "Q Module Elements.doc" file for a more detailed description of the file's structure and all of it's elements.

Query Front End Module Main XML Elements

Root Container Element named "QUERY"Three Main Types of Data Elements contained within the QUERY Element

Module Definition (MODULE). Used to produce the user's HTML module selection page. Data in this element includes: Overviews, Measure definitions, CGI App control parameters, Step/Question/Answer definitions, and Dimension definitions. Parameters (PARAMETERS). This element contains the user's selections made on the Module page. IBISQ Query Result (IBISQ_QUERY_RESULT). Contains the query results data returned from the IBISQ app.

Module's MODULE Element

Main MODULE ElementsNAME. Name of the module. This should match the filename sans the ".xml" and path.TITLE. Shown as the browser's page title and is also shown at the top of the page.DESCRIPTION. Optional text which is used for the HTML meta data "description" tag.KEYWORDS. Optional text which is used for the HTML meta data "keywords" tag.

IBISQ_APPLICATION_PARAMETERS Element

IBISQ_APPLICATION_PARAMETERS. Contains common IBISQ configuration and control element parameters. These are items that the user doesn't need to specify but are needed by IBISQ to function (like: configuration filenames, testing and debugging flags, SAS control flags etc).Each PARAMETER element contains two elements.

NAME. Name of the parameter that will be passed to the IBISQ system.VALUE. The value of the parameter.

MEASURE Definition ElementA module/dataset can contain different types of dependant values. Each different type of value is called a measure. Examples of a measure are count, age adjusted rate, percentage etc.

OVERVIEW ElementThe OVERVIEW element contains the text shown at the top of the module page giving the user a basic introduction to what this module is about. Each overview contains sections. Each section can contain a title for that section and the actual paragraph of text.

DIMENSION Element DefinitionThe DIMENSION elements define the available ways the IBISQ system can group or summarize the queried data values by (examples are year, age group, gender, county, etc).

STEP Element DefinitionThe STEPS/STEP element contains all the data to define that step's Questions and Answers.

QUESTION Element DefinitionThe QUESTION element contains all the data to define a step's Question (and contains that question's answers).

ANSWERS Element DefinitionThe ANSWERS element contains the data to define a question's answers.

ANSWER Element DefinitionThe ANSWER element contains the data needed to define a question's answer.

top related