SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
A W3C Widget implementation:
  The Palette Portal


         Jérôme Bogaerts, Alain Vagner
          {firstname.lastname}@tudor.lu
        W3C WAFWG meeting, 02-26-2009
                                      1
Context


®The Palette Project (EU FP6)
           ® Target:  Communities of Practice in the learning sector
           ® Lots of heterogeneous tools and services
              => need of integration


           ® Proposed    integration services
                  Unified search
              q

                  Unified authentication
              q

                  Unified storage
              q

                  ...
              q

                  Web Portal
              q




02/25/09
Palette Services Portal


® In Palette:
           ® Wide    range of services available
                  Web Applications, Desktop Applications, Web Services
              q




           ® Different   Communities of Practice with specific needs
                  Selection and adaptation needed in the proposed services
              q




® The Palette Services Portal provides:
           ® Central  access point to the services
           ® Customizable view
           ® Global view of the group activity
           ® Interaction between these services




02/25/09
Requirements


® Lightweight
               Easy and fast development of new web widgets
           ®


® Well-known technologies
               No need to learn a new environment
           ®


® Integration in the web architecture
               Rest web services, ROA
           ®


® Interoperable and open solution
               Not be tied to a specific vendor / proprietary platform
           ®




02/25/09
Widget specs study

® Evaluated specs
  ® Google gadgets, Netvibes Universal Widgets, Yahoo! Widgets,
  Microsoft Gadgets, Apple Dashboard Widgets, and Opera Widgets

® Common denominator
      Widget configuration section
  ®
           Meta-data, settings
       q


      Main Widget file
  ®
           Logic, layout and structure
       q




® Similar to MVC
    View: widget layout and structure
  ®
  ® Controller: programming logic of the widget
  ® Model: widget settings and user preferences




                                                                  5
Choice of the widget spec

® All widgets formats very similar
® Only one open standard matching the requirements
® Some extensions needed
  ®provided   by none of these specs


=> choice of the W3C Widget format spec as a basis




                                                     6
Implementation 1/2

® Moving target
           ® Freeze of the version used for implementing
           ® Last version of the portal aligned with the last   spec
® Partial implementation
           ® Implementation  in priority
              q Base of the spec

           ® Not implemented (packaging & API)
              q Window Modes
              q Updates
              q Features
              q Widget signature
              q I18n




02/25/09
Implementation 2/2

® Main problem
           ® Same origin policy on XHR
           ® W3C Widget spec oriented towards   desktop widgets
              -> out of scope
           ® Currently: XHR proxying
             => W3C Cross Origin Resource Sharing spec ?




02/25/09
Current implementation


® A prototype
               Tested in the project on 2 groups of users, real data
           ®
               Security, performance not really tested
           ®


® Open source
               Freely available on Google Code
           ®
               Free software: GPL v2
           ®
               Community: external contributions welcome
           ®
               Presentation & demos:
           ®
                    http://palette.tudor.lu/content/index.php?page=palette-services-portal
                q


               Sources:
           ®
                    http://code.google.com/p/mywiwall/source/checkout
                q


               Mailing List « Talk about widgets »
           ®
                    http://groups.google.com/talk-about-widgets
                q




02/25/09
Some extensions 1/2

® Innovation
     ® Extensions     as a mean to explore new use cases
® Clean separation of extensions
     ® Extensions spec in a specific document
     ® Manifest extensions in a separate namespace
® Compatibility
     ® widget     compliant with the W3C spec without our
           extensions should work
® No unnecessary extension
     ® what     can be done with the strict spec should not be
           extended by laziness




02/25/09
Some extensions 2/2

® Main extensions categories
     ® Preferences handling
     ® Remote connexions
     ® Widget authentication
     ® Inter-widget messaging
     ® Drag & drop between widgets




02/25/09
Extensions: Preferences


® Prefs declaration in the manifest file
               Used by the portal to serve a configuration form
           ®


® Optional prefs typing
               Basic types
           ®
               Enum
           ®




02/25/09
Extensions: Remote connexions


® Necessity to bypass same origin policy on XHR
               Simple proxy, Rest compatible
           ®


® Extension of the widget object
               Widget.httpGet .httpPost, .httpPut, .httpDelete, .httpGetJson
           ®
               Widget.setHttpCredentials
           ®
               Widget.setContentProxy
           ®


® Rewrite needed
               Homogenization with Tencompetences APIs
           ®
               Implementation of W3C Cross Origin Resource Sharing spec ?
           ®




02/25/09
Extensions: widget authentication


® Use case: log in to the portal and be logged in all widgets

® Trust between widgets and external web services

® Authentication on the Portal propagated to web services

® Encryption: 256bit AES

® Need to be coupled to a distributed identity system
  (OpenId)




02/25/09
Extensions: inter-widget messaging


® Several communications modes possible between
  widgets in a same container
               Unicast
           ®
               Multicast
           ®
               Broadcast
           ®
® Event type as URI
® No server-side event propagation




02/25/09
Extensions: Drag & drop


® Exploits the inter-widget messaging system
               Widget.bindWidgetToDropType()
           ®
               Widget.addDragData()
           ®




02/25/09
Demonstration




                17
Ongoing and future works


® Ongoing work
               Security
           ®
                    Google-caja ?
                q


               Compatibility with other widget formats
           ®
                    Google gadgets, Netvibes UWA
                q




® Future work
               I18n
           ®
               Multi-container messaging system
           ®
                    Comet
                q


               Manifest for groups of widgets
           ®
               RDA-based desktop widget platform
           ®
                    Mozilla Prism, Adobe Air ?
                q




02/25/09
Conclusion


® Possible to use the W3C widget spec for Web Widgets

® Inter-widget messaging, DnD
               Different from the Tencompetences solution
           ®
               Convergence possible
           ®
               Interesting functionalities
           ®
               Probably need to be standardized
           ®


® Palette extensions spec:
               http://palette.tudor.lu/files/portal/specifications/palette-widget-format-specification-january-2009.pdf
           ®



® Palette Services Portal Website
               http://palette.tudor.lu/content/index.php?page=palette-services-portal
           ®




02/25/09
Thanks for your attention!



                http://palette.tudor.lu
      Jérôme Bogaerts, Alain Vagner
       {firstname.lastname}@tudor.lu
                                     20

Más contenido relacionado

Similar a A W3C Widget implementation: The Palette Portal

Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The Cloud
GoogleTecTalks
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
Didier Girard
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
WSPDC & FEDSPUG
 

Similar a A W3C Widget implementation: The Palette Portal (20)

Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
 
MyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google CloudMyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google Cloud
 
Enterprise Mashups With Soa
Enterprise Mashups With SoaEnterprise Mashups With Soa
Enterprise Mashups With Soa
 
Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The Cloud
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/Kubernetes
 
Copado - SoftClouds | Expertise
Copado - SoftClouds | ExpertiseCopado - SoftClouds | Expertise
Copado - SoftClouds | Expertise
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platform
 
Best practices for developing your Magento Commerce on Cloud
Best practices for developing your Magento Commerce on CloudBest practices for developing your Magento Commerce on Cloud
Best practices for developing your Magento Commerce on Cloud
 
Meteor South Bay Meetup - Kubernetes & Google Container Engine
Meteor South Bay Meetup - Kubernetes & Google Container EngineMeteor South Bay Meetup - Kubernetes & Google Container Engine
Meteor South Bay Meetup - Kubernetes & Google Container Engine
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG Presentation
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
Brice Leblevennec @ FOWA Feb 07
Brice Leblevennec @ FOWA Feb 07Brice Leblevennec @ FOWA Feb 07
Brice Leblevennec @ FOWA Feb 07
 
2012-08-21 NRO GED Industry Day
2012-08-21 NRO GED Industry Day2012-08-21 NRO GED Industry Day
2012-08-21 NRO GED Industry Day
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
 
vRA7 What's New
vRA7 What's NewvRA7 What's New
vRA7 What's New
 

Último

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Último (20)

TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 

A W3C Widget implementation: The Palette Portal

  • 1. A W3C Widget implementation: The Palette Portal Jérôme Bogaerts, Alain Vagner {firstname.lastname}@tudor.lu W3C WAFWG meeting, 02-26-2009 1
  • 2. Context ®The Palette Project (EU FP6) ® Target: Communities of Practice in the learning sector ® Lots of heterogeneous tools and services => need of integration ® Proposed integration services Unified search q Unified authentication q Unified storage q ... q Web Portal q 02/25/09
  • 3. Palette Services Portal ® In Palette: ® Wide range of services available Web Applications, Desktop Applications, Web Services q ® Different Communities of Practice with specific needs Selection and adaptation needed in the proposed services q ® The Palette Services Portal provides: ® Central access point to the services ® Customizable view ® Global view of the group activity ® Interaction between these services 02/25/09
  • 4. Requirements ® Lightweight Easy and fast development of new web widgets ® ® Well-known technologies No need to learn a new environment ® ® Integration in the web architecture Rest web services, ROA ® ® Interoperable and open solution Not be tied to a specific vendor / proprietary platform ® 02/25/09
  • 5. Widget specs study ® Evaluated specs ® Google gadgets, Netvibes Universal Widgets, Yahoo! Widgets, Microsoft Gadgets, Apple Dashboard Widgets, and Opera Widgets ® Common denominator Widget configuration section ® Meta-data, settings q Main Widget file ® Logic, layout and structure q ® Similar to MVC View: widget layout and structure ® ® Controller: programming logic of the widget ® Model: widget settings and user preferences 5
  • 6. Choice of the widget spec ® All widgets formats very similar ® Only one open standard matching the requirements ® Some extensions needed ®provided by none of these specs => choice of the W3C Widget format spec as a basis 6
  • 7. Implementation 1/2 ® Moving target ® Freeze of the version used for implementing ® Last version of the portal aligned with the last spec ® Partial implementation ® Implementation in priority q Base of the spec ® Not implemented (packaging & API) q Window Modes q Updates q Features q Widget signature q I18n 02/25/09
  • 8. Implementation 2/2 ® Main problem ® Same origin policy on XHR ® W3C Widget spec oriented towards desktop widgets -> out of scope ® Currently: XHR proxying => W3C Cross Origin Resource Sharing spec ? 02/25/09
  • 9. Current implementation ® A prototype Tested in the project on 2 groups of users, real data ® Security, performance not really tested ® ® Open source Freely available on Google Code ® Free software: GPL v2 ® Community: external contributions welcome ® Presentation & demos: ® http://palette.tudor.lu/content/index.php?page=palette-services-portal q Sources: ® http://code.google.com/p/mywiwall/source/checkout q Mailing List « Talk about widgets » ® http://groups.google.com/talk-about-widgets q 02/25/09
  • 10. Some extensions 1/2 ® Innovation ® Extensions as a mean to explore new use cases ® Clean separation of extensions ® Extensions spec in a specific document ® Manifest extensions in a separate namespace ® Compatibility ® widget compliant with the W3C spec without our extensions should work ® No unnecessary extension ® what can be done with the strict spec should not be extended by laziness 02/25/09
  • 11. Some extensions 2/2 ® Main extensions categories ® Preferences handling ® Remote connexions ® Widget authentication ® Inter-widget messaging ® Drag & drop between widgets 02/25/09
  • 12. Extensions: Preferences ® Prefs declaration in the manifest file Used by the portal to serve a configuration form ® ® Optional prefs typing Basic types ® Enum ® 02/25/09
  • 13. Extensions: Remote connexions ® Necessity to bypass same origin policy on XHR Simple proxy, Rest compatible ® ® Extension of the widget object Widget.httpGet .httpPost, .httpPut, .httpDelete, .httpGetJson ® Widget.setHttpCredentials ® Widget.setContentProxy ® ® Rewrite needed Homogenization with Tencompetences APIs ® Implementation of W3C Cross Origin Resource Sharing spec ? ® 02/25/09
  • 14. Extensions: widget authentication ® Use case: log in to the portal and be logged in all widgets ® Trust between widgets and external web services ® Authentication on the Portal propagated to web services ® Encryption: 256bit AES ® Need to be coupled to a distributed identity system (OpenId) 02/25/09
  • 15. Extensions: inter-widget messaging ® Several communications modes possible between widgets in a same container Unicast ® Multicast ® Broadcast ® ® Event type as URI ® No server-side event propagation 02/25/09
  • 16. Extensions: Drag & drop ® Exploits the inter-widget messaging system Widget.bindWidgetToDropType() ® Widget.addDragData() ® 02/25/09
  • 18. Ongoing and future works ® Ongoing work Security ® Google-caja ? q Compatibility with other widget formats ® Google gadgets, Netvibes UWA q ® Future work I18n ® Multi-container messaging system ® Comet q Manifest for groups of widgets ® RDA-based desktop widget platform ® Mozilla Prism, Adobe Air ? q 02/25/09
  • 19. Conclusion ® Possible to use the W3C widget spec for Web Widgets ® Inter-widget messaging, DnD Different from the Tencompetences solution ® Convergence possible ® Interesting functionalities ® Probably need to be standardized ® ® Palette extensions spec: http://palette.tudor.lu/files/portal/specifications/palette-widget-format-specification-january-2009.pdf ® ® Palette Services Portal Website http://palette.tudor.lu/content/index.php?page=palette-services-portal ® 02/25/09
  • 20. Thanks for your attention! http://palette.tudor.lu Jérôme Bogaerts, Alain Vagner {firstname.lastname}@tudor.lu 20