Wookie Intro
-
Upload
scottw -
Category
Technology
-
view
2.450 -
download
1
description
Transcript of Wookie Intro
![Page 1: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/1.jpg)
JTEL Winter School, Innsbruck, February 2010
PLEs, Wookies andWidgets
Scott Wilson (University of Bolton)[email protected]: scottbw
![Page 2: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/2.jpg)
Widgets?
Mini portable applications, generally designedto work in a small view area rather than full-screen
Examples include games, clocks, feed displays,etc
Lots of competing models for this: iPhone SDK,Android SDK, Konfabulator, Apple Dashboard,Opera Widgets, Nokia Widgets, GoogleOpenSocial etc
![Page 3: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/3.jpg)
W3C Widget Specs
• Open standard for widgets
• You create an HTML file, add as manyCSS, JavaScript and image files as youneed, add a “config.xml” file with somebasic info, zip the lot, change theextension to .wgt and it works. Just likethat.
![Page 4: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/4.jpg)
* “Wookie” is not a clever acronym. so if youspell it WOOKIE you’re shouting!)
![Page 5: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/5.jpg)
Apache Wookie (incubating)
• Entered incubator July ‘09• originally developed in TenCompetence
(Framework 6 IP)– Funded projects tend to build prototypes,
not communities– Apache Incubator is to build community
around code• http://incubator.apache.org/wookie/
![Page 6: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/6.jpg)
Wookie is…
• A Widget runtime for websites• Implements
– W3C Widgets P&C– W3C Widgets Interface– Wave Gadget API– (any API you want…)
• Integrates into other apps via plugins
![Page 7: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/7.jpg)
Moodle…
![Page 8: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/8.jpg)
LAMS…
![Page 9: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/9.jpg)
WebCT, Blackboard, D2L, Sakai…
![Page 10: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/10.jpg)
Elgg… etc
![Page 11: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/11.jpg)
How Wookie Works
• Servlet, runs in Tomcat or Jetty• Provides REST API for applications to
access widgets using a plug-in• Provides JavaScript API objects for
widgets at runtime• Admin UI for installing and managing
W3C Widgets• Server-side storage, and push events
![Page 12: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/12.jpg)
Wookie REST API
• GET /widgets gets the list of widgets installed• POST /widgetinstances instantiates a widget• POST /participants adds a participant to a
widget instance• Lots more at
http://incubator.apache.org/wookie/wookie-rest-api.html
![Page 13: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/13.jpg)
Typical lifecycle
• GET /widgets -> render as a gallery for theuser to pick which one to add
• POST /widgetinstances -> create an instanceof the widget for the user, returns the URI andwidget height/width
• POST /participants -> add user as aparticipant in the instance
• Create iframe with src, height and width set
![Page 14: Wookie Intro](https://reader036.fdocuments.us/reader036/viewer/2022081403/5558a034d8b42aa6708b4e3e/html5/thumbnails/14.jpg)
Widget runtime APIs
<featurename="http://wave.google.com"required="true"/>
• W3C Widget Object : preferences, metadata• Google Wave Gadget API : state, participants• Bondi camera API, W3C DAP• SCORM CMI API• … anything else!