Upload
william-candillon
View
2.004
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Cutting Edge Web Applications with XQuery and Sausalito
Citation preview
XQuery in the CloudCutting Edge Web Applications withXQuery and SausalitoWilliam Candillon {[email protected]}
PHP & XQuery
A Complementary Couple?
Some Misconceptions
• XQuery:
- is not a scripting language
- has no application serveur
- has no open source development tools
- has no utility functions for the Web
Some Misconceptions
• XQuery:
- is not a scripting language
- has no application serveur
- has no open source development tools
- has no utility functions for the Web
Some Misconceptions
XQuery is not a scripting language!
XQuery Scripting (WC3)
• XQuery Scripting Extension 1.0 and XQuery Update Facility 1.0
• Imperative programmingdeclare function sequential local:hello-world() { declare $hello := "Hello"; declare $world := "World"; exit with concat($hello, " ", $world);}
• Side-effectsreplace value of $client/@id with "foo";
• Loopswhile(true()) { server:handle() }
XQuery Scripting (Zorba)
• Try/Catchtry { 3 + "2" } catch * { "Caught an error" }
• Evallet $x := "21" return using $xeval { concat($x, "+ xs:double ($x)") }
• Command-line Input/Outputlet $name := util:read-line()return util:print("Hello", $name)
Some Misconceptions
XQuery has no Application Server
Sausalito
• XQuery Application Server based on Zorba XQuery Processor and Amazom Cloud Computing Stack
• Success Story: http://doodlendar.my28msec.com
Some Misconceptions
XQuery has no Open Source Tools
XQuery Development Tools
http://www.eclipse.org/webtools/incubator/
Some Misconceptions
XQuery has no utility functions for the Web
Utility Functions
More than 28 modules in Sausalito library
- HTTP
- REST
- Security
- Sessions
- OAuth
- AtomPub
- Captchas
- AtomPub
- Emails
- Serializer
- Collections
- Strings
- Maths
- Media
- Etc...
AtomPub Module
• Compliant with RFC 5023
• AtomPub Server for the Clouddeclare function atom:entries(){ atompub:handle($serviceDocument)};
• Atom Storeatomstore:new-feed("/atom/entries", <a:feed><a:title>Demo Blog</a:title></a:feed>);
• Model helpersdeclare $e := f:new-entry(util:uuid(), "XQuery Meetup");f:set-content($e, f:new-content("Go for a drink with XML/XQuery lovers!"))
Thank You!
Questions [email protected]
More infohttp://sausalito.28msec.com
Because green is the new blue...
Take it for a ride
http://try.zorba-xquery.com