Post on 16-Jan-2015
description
XQuery 3 Rockshttpwwwzorba-xquerycom
William Candillon - FOSDEM 2012
28 msec
Harnessing Flexible Data
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
Meet XQuery
XQuery
bull Family of Specification from w3c
bull Most Complex Complete Data Model
bull Talks Natively to Web
bull Query Store Index Update Full-Text
bull Unified Framework
bull Optimization amp Parallelization
Meet Zorba
Open Source XQuery Processor
Contributors Oracle 28msec FLWOR
All Flavors Available Runs Everywhere
Rich Module Libraries Developer Tools
Pluggable Store Fun amp Productive
Zorba
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
Harnessing Flexible Data
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
Meet XQuery
XQuery
bull Family of Specification from w3c
bull Most Complex Complete Data Model
bull Talks Natively to Web
bull Query Store Index Update Full-Text
bull Unified Framework
bull Optimization amp Parallelization
Meet Zorba
Open Source XQuery Processor
Contributors Oracle 28msec FLWOR
All Flavors Available Runs Everywhere
Rich Module Libraries Developer Tools
Pluggable Store Fun amp Productive
Zorba
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
Meet XQuery
XQuery
bull Family of Specification from w3c
bull Most Complex Complete Data Model
bull Talks Natively to Web
bull Query Store Index Update Full-Text
bull Unified Framework
bull Optimization amp Parallelization
Meet Zorba
Open Source XQuery Processor
Contributors Oracle 28msec FLWOR
All Flavors Available Runs Everywhere
Rich Module Libraries Developer Tools
Pluggable Store Fun amp Productive
Zorba
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
Meet XQuery
XQuery
bull Family of Specification from w3c
bull Most Complex Complete Data Model
bull Talks Natively to Web
bull Query Store Index Update Full-Text
bull Unified Framework
bull Optimization amp Parallelization
Meet Zorba
Open Source XQuery Processor
Contributors Oracle 28msec FLWOR
All Flavors Available Runs Everywhere
Rich Module Libraries Developer Tools
Pluggable Store Fun amp Productive
Zorba
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
photos page 1 pages 94276 total 1414129 photo [ id 3891667770 owner 354683133120
ltkmlgt ltPlacemarkgt ltnamegtSimple placemarkltnamegt ltPointgtltcoordinatesgt-122082203542568337422289901402510ltcoordinatesgt
Meet XQuery
XQuery
bull Family of Specification from w3c
bull Most Complex Complete Data Model
bull Talks Natively to Web
bull Query Store Index Update Full-Text
bull Unified Framework
bull Optimization amp Parallelization
Meet Zorba
Open Source XQuery Processor
Contributors Oracle 28msec FLWOR
All Flavors Available Runs Everywhere
Rich Module Libraries Developer Tools
Pluggable Store Fun amp Productive
Zorba
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
Meet XQuery
XQuery
bull Family of Specification from w3c
bull Most Complex Complete Data Model
bull Talks Natively to Web
bull Query Store Index Update Full-Text
bull Unified Framework
bull Optimization amp Parallelization
Meet Zorba
Open Source XQuery Processor
Contributors Oracle 28msec FLWOR
All Flavors Available Runs Everywhere
Rich Module Libraries Developer Tools
Pluggable Store Fun amp Productive
Zorba
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
XQuery
bull Family of Specification from w3c
bull Most Complex Complete Data Model
bull Talks Natively to Web
bull Query Store Index Update Full-Text
bull Unified Framework
bull Optimization amp Parallelization
Meet Zorba
Open Source XQuery Processor
Contributors Oracle 28msec FLWOR
All Flavors Available Runs Everywhere
Rich Module Libraries Developer Tools
Pluggable Store Fun amp Productive
Zorba
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
Meet Zorba
Open Source XQuery Processor
Contributors Oracle 28msec FLWOR
All Flavors Available Runs Everywhere
Rich Module Libraries Developer Tools
Pluggable Store Fun amp Productive
Zorba
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
Zorba
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
ltdiv id=rdquoentriesrdquogt for $entry in $entries let $title = string($entrytitle) where $entryauthor = ldquoanonymousrdquo order by $entrydatetime return lth1gt$titlelth1gtltdivgt
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
insert node ltentrygtHello Worldltentrygt into $entries
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
let $x = ltmgtbreakfast of championsltmgtreturn $x contains text meal using thesaurus at httpwordnetprincetonedu relationship narrower term
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
let $handler = function($request) let $world = $requesttext() return lth1gtHello $worldlth1gt return mongoosestart($handler 80)
mongoosecin()
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
declarehttpget(ldquohello$worldrdquo)function htmlhello($world) lth1gtHello $worldlth1gt
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
ltscript type=applicationxquerygtdeclare sequential function localsubmit($loc $evtObj)
let $name = sid(author)data(value) let $text = sid(text)text() return guestbookadd($name $text) baddEventListener(sid(submit) onclick localsubmit2)
guestbooklist()ltscriptgt
declare sequential function guestbookadd( $author as xsstring $entry as xsstring) let $date = fncurrent-dateTime() let $entry = ltentry author=$author datetime=$dategt$textltentrygt return xqddfinsert-nodes-last($entries $entry)
declare sequential function guestbooklist() ltentriesgt xqddfcollection($entries) ltentriesgt
Client Server
Seamless Invocations
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
AWS Libraries (2011)
S3 SimpleDB SNS
455572
1469
23092905
8589
Line
s of
cod
eJava XQuery
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
AWS Libraries (2011)
AWS
2496
13803
Line
s of
cod
eJava XQuery
Lines of Codes- 80
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
AWS Libraries (2011)
AWS
2496
6531
Line
s of
cod
ePHP XQuery
Lines of Codes- 62
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
lthtmlgt ltheadgt ltscript type=textjavascriptgt function buy(e) newElement = documentcreateElement(p) elementText = documentcreateTextNode (etargetgetAttribute(id)) newElementappendChild(elementText) var res = documentevaluate( div[id=shoppingcart] document null XPathResultUNORDERED_NODE_SNAPSHOT_TYPE null) ressnapshotItem(0)appendChild(newElement) ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgtltdivgt lt Code establishing connection ResultSet results = statementexecuteQuery (SELECT FROM PRODUCTS) while (resultsnext()) outprintln(ltdivgt) String prodName = resultsgetString(1) outprintln(prodName) outprintln(ltinput type=button value=Buy) outprintln(id=+prodName+) outprintln(onclick=buy(event)gt) outprintln(ltdivgt) resultsclose() Code closing connection gt ltbodygtlthtmlgt
HTMLJavaScript
XPath
Java
SQL
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
lthtml xmlns=httpwwww3org1999xhtmlgt ltheadgt ltscript type=applicationxquerygtdeclare updating function localbuy($evt $obj) insert node ltpgt$objidltpgt as first into div[id=shoppingcart]baddEventListener(bdom()input onclick xsQname(localbuy))ltscriptgt ltheadgt ltbodygt ltdivgtShopping cartltdivgt ltdiv id=shoppingcartgt for $p in doc(productsxml)product return ltdivgt $pname ltinput type=button value=Buy id=$pnamegt ltdivgt ltdivgt ltbodygtlthtmlgt
XQuery Everywhere
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
let $stats = [ response_time 005 ]for $stat in jvalues($stats)let $url = $stat(http_action)order by $urlreturn url $url avg avg($stat(response_time))
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
$zorba -q jsoniqxq -f url GET docsspecen-UShtml-singleindexhtml avg 005
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
Take away
bull Powerful Data Model
bull Flexible Programming Model
bull Productivity
bull Performance
Thank you28 msec
Thank you28 msec