SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
JTEL Winter School, Innsbruck, February 2010




PLEs, Wookies and
Widgets

Scott Wilson (University of Bolton)
Scott.bradley.wilson@gmail.com
Twitter: scottbw
Widgets?
Mini portable applications, generally designed
  to 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, Google
  OpenSocial etc
W3C Widget Specs
• Open standard for widgets

• You create an HTML file, add as many
  CSS, JavaScript and image files as you
  need, add a “config.xml” file with some
  basic info, zip the lot, change the
  extension to .wgt and it works. Just like
  that.
* “Wookie” is not a clever acronym. so if you
     spell it WOOKIE you’re shouting!)
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/
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
Moodle…
LAMS…
WebCT, Blackboard, D2L, Sakai…
Elgg… etc
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
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
Typical lifecycle
• GET /widgets -> render as a gallery for the
  user to pick which one to add
• POST /widgetinstances -> create an instance
  of the widget for the user, returns the URI and
  widget height/width
• POST /participants -> add user as a
  participant in the instance
• Create iframe with src, height and width set
Widget runtime APIs
<feature
  name="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!

Contenu connexe

Tendances

The future of the CMS
The future of the CMSThe future of the CMS
The future of the CMSInVision App
 
Introduction to Keyboard Navigation and Accessibility
Introduction to Keyboard Navigation and AccessibilityIntroduction to Keyboard Navigation and Accessibility
Introduction to Keyboard Navigation and AccessibilityMatthew Deeprose
 
Reusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache OpenmeetingsReusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache OpenmeetingsAndun Sameera
 
Guide to open source
Guide to open source Guide to open source
Guide to open source Javier Perez
 
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"Daniel Bryant
 
What have you learnt about technologies from the
What have you learnt about technologies from theWhat have you learnt about technologies from the
What have you learnt about technologies from thegd12341
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtTechWell
 
New developments in Web Accessibility
New developments in Web AccessibilityNew developments in Web Accessibility
New developments in Web AccessibilityEric Eggert
 
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applicationsJavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applicationsDaniel Bryant
 
Html5 today
Html5 todayHtml5 today
Html5 todayRoy Yu
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der PraxisYvette Teiken
 
Wikis Are Wonderful - Or Are They
Wikis Are Wonderful - Or Are TheyWikis Are Wonderful - Or Are They
Wikis Are Wonderful - Or Are TheyWebWorks
 
Why Use A Wiki: An Introduction to the Latest Online Publishing Format
Why Use A Wiki: An Introduction to the Latest Online Publishing FormatWhy Use A Wiki: An Introduction to the Latest Online Publishing Format
Why Use A Wiki: An Introduction to the Latest Online Publishing FormatWebWorks
 

Tendances (14)

The future of the CMS
The future of the CMSThe future of the CMS
The future of the CMS
 
Introduction to Keyboard Navigation and Accessibility
Introduction to Keyboard Navigation and AccessibilityIntroduction to Keyboard Navigation and Accessibility
Introduction to Keyboard Navigation and Accessibility
 
Reusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache OpenmeetingsReusable Whiteboard Wicket Component for Apache Openmeetings
Reusable Whiteboard Wicket Component for Apache Openmeetings
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
 
What have you learnt about technologies from the
What have you learnt about technologies from theWhat have you learnt about technologies from the
What have you learnt about technologies from the
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 
New developments in Web Accessibility
New developments in Web AccessibilityNew developments in Web Accessibility
New developments in Web Accessibility
 
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applicationsJavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
JavaOne 2014: Cloud Developer's DHARMA: Redefining 'done' for Cloud applications
 
Html5 today
Html5 todayHtml5 today
Html5 today
 
Making VR Webby
Making VR WebbyMaking VR Webby
Making VR Webby
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
 
Wikis Are Wonderful - Or Are They
Wikis Are Wonderful - Or Are TheyWikis Are Wonderful - Or Are They
Wikis Are Wonderful - Or Are They
 
Why Use A Wiki: An Introduction to the Latest Online Publishing Format
Why Use A Wiki: An Introduction to the Latest Online Publishing FormatWhy Use A Wiki: An Introduction to the Latest Online Publishing Format
Why Use A Wiki: An Introduction to the Latest Online Publishing Format
 

En vedette

Esitluse avaldamine
Esitluse avaldamineEsitluse avaldamine
Esitluse avaldaminealuojalaine
 
Library Support For Ref
Library Support For RefLibrary Support For Ref
Library Support For RefDavid Clay
 
Thử trắc nghiệm nhân cách bản thân nào ;)
Thử trắc nghiệm nhân cách bản thân nào ;)Thử trắc nghiệm nhân cách bản thân nào ;)
Thử trắc nghiệm nhân cách bản thân nào ;)haihuong2005
 
MARINERO EN TIERRA1, Rafael Alberti
MARINERO EN TIERRA1, Rafael AlbertiMARINERO EN TIERRA1, Rafael Alberti
MARINERO EN TIERRA1, Rafael Albertileetamargo
 
Teachmeet Musselburgh Introduction Slideshare
Teachmeet Musselburgh Introduction  SlideshareTeachmeet Musselburgh Introduction  Slideshare
Teachmeet Musselburgh Introduction SlideshareOllie Bray
 
Digital Storytelling
Digital StorytellingDigital Storytelling
Digital Storytellingbbelardi
 
Intersubjektiivsus
IntersubjektiivsusIntersubjektiivsus
IntersubjektiivsusKai Pata
 
MGS Chocolate Christmas Pics And Words
MGS Chocolate Christmas Pics And WordsMGS Chocolate Christmas Pics And Words
MGS Chocolate Christmas Pics And WordsOllie Bray
 
Sotsiaalse tarkvara vahendid
Sotsiaalse tarkvara vahendidSotsiaalse tarkvara vahendid
Sotsiaalse tarkvara vahendidaluojalaine
 
How SEO & Good Content Strategy Impact Online Performance
How SEO & Good Content Strategy Impact Online PerformanceHow SEO & Good Content Strategy Impact Online Performance
How SEO & Good Content Strategy Impact Online PerformanceLinda Groendyke
 
Term 2 Yr 11 Welcome Ppt
Term 2   Yr 11 Welcome PptTerm 2   Yr 11 Welcome Ppt
Term 2 Yr 11 Welcome Pptrddietrich
 
High blood pressure
High blood pressureHigh blood pressure
High blood pressureJosh Folaron
 
Reading lists nowal exchange of experience web version
Reading lists nowal exchange of experience web versionReading lists nowal exchange of experience web version
Reading lists nowal exchange of experience web versionDavid Clay
 
First Grade Curriculum
First Grade CurriculumFirst Grade Curriculum
First Grade Curriculumbbelardi
 
Kogukondjavorgustik
KogukondjavorgustikKogukondjavorgustik
KogukondjavorgustikKai Pata
 

En vedette (20)

Esitluse avaldamine
Esitluse avaldamineEsitluse avaldamine
Esitluse avaldamine
 
Library Support For Ref
Library Support For RefLibrary Support For Ref
Library Support For Ref
 
Thử trắc nghiệm nhân cách bản thân nào ;)
Thử trắc nghiệm nhân cách bản thân nào ;)Thử trắc nghiệm nhân cách bản thân nào ;)
Thử trắc nghiệm nhân cách bản thân nào ;)
 
Ui05 Brief
Ui05 BriefUi05 Brief
Ui05 Brief
 
MARINERO EN TIERRA1, Rafael Alberti
MARINERO EN TIERRA1, Rafael AlbertiMARINERO EN TIERRA1, Rafael Alberti
MARINERO EN TIERRA1, Rafael Alberti
 
The fablabs
The fablabsThe fablabs
The fablabs
 
Teachmeet Musselburgh Introduction Slideshare
Teachmeet Musselburgh Introduction  SlideshareTeachmeet Musselburgh Introduction  Slideshare
Teachmeet Musselburgh Introduction Slideshare
 
Digital Storytelling
Digital StorytellingDigital Storytelling
Digital Storytelling
 
Intersubjektiivsus
IntersubjektiivsusIntersubjektiivsus
Intersubjektiivsus
 
Novos
NovosNovos
Novos
 
MGS Chocolate Christmas Pics And Words
MGS Chocolate Christmas Pics And WordsMGS Chocolate Christmas Pics And Words
MGS Chocolate Christmas Pics And Words
 
elearning
elearningelearning
elearning
 
Sotsiaalse tarkvara vahendid
Sotsiaalse tarkvara vahendidSotsiaalse tarkvara vahendid
Sotsiaalse tarkvara vahendid
 
How SEO & Good Content Strategy Impact Online Performance
How SEO & Good Content Strategy Impact Online PerformanceHow SEO & Good Content Strategy Impact Online Performance
How SEO & Good Content Strategy Impact Online Performance
 
CCPMP SMS Communications
CCPMP SMS CommunicationsCCPMP SMS Communications
CCPMP SMS Communications
 
Term 2 Yr 11 Welcome Ppt
Term 2   Yr 11 Welcome PptTerm 2   Yr 11 Welcome Ppt
Term 2 Yr 11 Welcome Ppt
 
High blood pressure
High blood pressureHigh blood pressure
High blood pressure
 
Reading lists nowal exchange of experience web version
Reading lists nowal exchange of experience web versionReading lists nowal exchange of experience web version
Reading lists nowal exchange of experience web version
 
First Grade Curriculum
First Grade CurriculumFirst Grade Curriculum
First Grade Curriculum
 
Kogukondjavorgustik
KogukondjavorgustikKogukondjavorgustik
Kogukondjavorgustik
 

Similaire à Wookie Intro

Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie projectscottw
 
Open Social Frameworks
Open Social FrameworksOpen Social Frameworks
Open Social Frameworksrsandhu1
 
Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and CounterexamplesROLE Project
 
Android
AndroidAndroid
Androidscottw
 
Starting with jQuery
Starting with jQueryStarting with jQuery
Starting with jQueryAnil Kumar
 
Modeveast Appcelerator Presentation
Modeveast Appcelerator PresentationModeveast Appcelerator Presentation
Modeveast Appcelerator PresentationAaron Saunders
 
Getting Social with OpenSocial
Getting Social with OpenSocialGetting Social with OpenSocial
Getting Social with OpenSocialTimothy Fisher
 
Mobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressMobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressDanilo Ercoli
 
GeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGGDBologna
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkitPaul Jensen
 
Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422akitsukada
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)jeresig
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portalrivetlogic
 
Speedupiosdevelopment
SpeedupiosdevelopmentSpeedupiosdevelopment
Speedupiosdevelopmentslidepaddemo
 
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...eMadrid network
 

Similaire à Wookie Intro (20)

Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie project
 
Open Social Frameworks
Open Social FrameworksOpen Social Frameworks
Open Social Frameworks
 
Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and Counterexamples
 
Android
AndroidAndroid
Android
 
Starting with jQuery
Starting with jQueryStarting with jQuery
Starting with jQuery
 
Modeveast Appcelerator Presentation
Modeveast Appcelerator PresentationModeveast Appcelerator Presentation
Modeveast Appcelerator Presentation
 
Revue des annonces WWDC2015
Revue des annonces WWDC2015Revue des annonces WWDC2015
Revue des annonces WWDC2015
 
Getting Social with OpenSocial
Getting Social with OpenSocialGetting Social with OpenSocial
Getting Social with OpenSocial
 
Social Media Marketing Open Social App Standards
Social Media Marketing Open Social App StandardsSocial Media Marketing Open Social App Standards
Social Media Marketing Open Social App Standards
 
Widgets WorkShop for Libraries
Widgets WorkShop for LibrariesWidgets WorkShop for Libraries
Widgets WorkShop for Libraries
 
Mobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressMobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPress
 
GeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPress
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portal
 
Speedupiosdevelopment
SpeedupiosdevelopmentSpeedupiosdevelopment
Speedupiosdevelopment
 
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
 

Plus de scottw

Getting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source SoftwareGetting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source Softwarescottw
 
How to engage students in real open source projects
How to engage students in real open source projectsHow to engage students in real open source projects
How to engage students in real open source projectsscottw
 
Delivering Web To Mobile
Delivering Web To MobileDelivering Web To Mobile
Delivering Web To Mobilescottw
 
Creating mobile web apps
Creating mobile web appsCreating mobile web apps
Creating mobile web appsscottw
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circlesscottw
 
Build Widgets
Build WidgetsBuild Widgets
Build Widgetsscottw
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetupscottw
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetupscottw
 
CRM & HE
CRM & HECRM & HE
CRM & HEscottw
 
Presence
PresencePresence
Presencescottw
 
FeedForward at RSP
FeedForward at RSPFeedForward at RSP
FeedForward at RSPscottw
 
Boxcri
BoxcriBoxcri
Boxcriscottw
 
Widgets And Wookies
Widgets And WookiesWidgets And Wookies
Widgets And Wookiesscottw
 
Argosi
ArgosiArgosi
Argosiscottw
 
Presence @ Winterschool 2008
Presence @ Winterschool 2008Presence @ Winterschool 2008
Presence @ Winterschool 2008scottw
 
OpenID @ Winterschool 2008
OpenID @ Winterschool 2008OpenID @ Winterschool 2008
OpenID @ Winterschool 2008scottw
 
FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008scottw
 
XCRI Update, Jan 2008
XCRI Update, Jan 2008XCRI Update, Jan 2008
XCRI Update, Jan 2008scottw
 
XCRI at IWMW 2007
XCRI at IWMW 2007XCRI at IWMW 2007
XCRI at IWMW 2007scottw
 

Plus de scottw (20)

Getting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source SoftwareGetting the Maximum Benefit from Free and Open Source Software
Getting the Maximum Benefit from Free and Open Source Software
 
How to engage students in real open source projects
How to engage students in real open source projectsHow to engage students in real open source projects
How to engage students in real open source projects
 
Delivering Web To Mobile
Delivering Web To MobileDelivering Web To Mobile
Delivering Web To Mobile
 
Creating mobile web apps
Creating mobile web appsCreating mobile web apps
Creating mobile web apps
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circles
 
Build Widgets
Build WidgetsBuild Widgets
Build Widgets
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
 
CRM & HE
CRM & HECRM & HE
CRM & HE
 
Presence
PresencePresence
Presence
 
FeedForward at RSP
FeedForward at RSPFeedForward at RSP
FeedForward at RSP
 
Boxcri
BoxcriBoxcri
Boxcri
 
Widgets And Wookies
Widgets And WookiesWidgets And Wookies
Widgets And Wookies
 
Argosi
ArgosiArgosi
Argosi
 
Presence @ Winterschool 2008
Presence @ Winterschool 2008Presence @ Winterschool 2008
Presence @ Winterschool 2008
 
OpenID @ Winterschool 2008
OpenID @ Winterschool 2008OpenID @ Winterschool 2008
OpenID @ Winterschool 2008
 
FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008FeedForward, Metadata & Digital Repositories SIG, Feb 2008
FeedForward, Metadata & Digital Repositories SIG, Feb 2008
 
XCRI Update, Jan 2008
XCRI Update, Jan 2008XCRI Update, Jan 2008
XCRI Update, Jan 2008
 
Mimas
MimasMimas
Mimas
 
XCRI at IWMW 2007
XCRI at IWMW 2007XCRI at IWMW 2007
XCRI at IWMW 2007
 

Dernier

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Dernier (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Wookie Intro

  • 1. JTEL Winter School, Innsbruck, February 2010 PLEs, Wookies and Widgets Scott Wilson (University of Bolton) Scott.bradley.wilson@gmail.com Twitter: scottbw
  • 2. Widgets? Mini portable applications, generally designed to 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, Google OpenSocial etc
  • 3. W3C Widget Specs • Open standard for widgets • You create an HTML file, add as many CSS, JavaScript and image files as you need, add a “config.xml” file with some basic info, zip the lot, change the extension to .wgt and it works. Just like that.
  • 4. * “Wookie” is not a clever acronym. so if you spell it WOOKIE you’re shouting!)
  • 5. 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/
  • 6. 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
  • 11. 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
  • 12. 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
  • 13. Typical lifecycle • GET /widgets -> render as a gallery for the user to pick which one to add • POST /widgetinstances -> create an instance of the widget for the user, returns the URI and widget height/width • POST /participants -> add user as a participant in the instance • Create iframe with src, height and width set
  • 14. Widget runtime APIs <feature name="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!