SlideShare a Scribd company logo
International Marketing And Outputs DataBase Conference
Paris, France
18-22 October 2015
Prepared and presented by Jonathan Challener, OECD
The building blocks for a reusable front-end
The building blocks for a reusable front-end
WHAT PROBLEM ARE
WE TRYING TO SOLVE?
The building blocks for a reusable front-end
Many web based applications
The building blocks for a reusable front-end
Varying
technology
stack
The building blocks for a reusable front-end
Doing the same thing but different application
The building blocks for a reusable front-end
Lacking reusability
The building blocks for a reusable front-end
Solution
The building blocks for a reusable front-end
Web Components
Templates
HTML imports
Custom elements
Shadow DOM
Source: w3c (https://w3c.github.io/webcomponents/)
The building blocks for a reusable front-end
What is a Web Component?
Web Components are a set of standards currently being produced as
a W3C specification that allow for the creation of reusable widgets or
components in web documents and web applications. The intention
behind them is to bring component-based software engineering to
the World Wide Web. The components model allows for
encapsulation and interoperability of individual HTML elements.
- From Wikipedia, the free encyclopedia
The building blocks for a reusable front-end
The building blocks for a reusable front-end
Can be used to build
something simple
The building blocks for a reusable front-end
Or together create a
complete application
The building blocks for a reusable front-end
The building blocks for a reusable front-end
The building blocks for a reusable front-end
The building blocks for a reusable front-end
The building blocks for a reusable front-end
Joint project: Framework for reusable web components
The building blocks for a reusable front-end
High Level Scope
To define a framework for the creation of a
toolbox of data portal browser components,
and design, build and implement a number
of the defined web components.
The building blocks for a reusable front-end
The building blocks for a reusable front-end
Chart
library
Table
library
Calc
library
Theme
library
DISPLAY
Browser
template
Registry
GUI
.Stat db
WS
WS
SDMX API (physical structures: XML, JSON, CSV, RDF;
soap features limited to rest features)
WS
.Stat db
WS
Registry &
Mapping
db
GUI & CLI
(incl. MA
component
and Registry)
WS
DSDformapping
Mappings
Generic mapping to/from specific DSDs
SDMX (virtual & physical structures : XML, JSON, CSV, RDF)FromSDMX-RI
.Stat db abstraction layer: REST with GET, PUT, DELETE
Architecture vision *DRAFT*
External data
producer/consumer
From.Statws
andEG
The building blocks for a reusable front-end
Realising our vision
The building blocks for a reusable front-end
Workshops with industry experts
Possible solutions
available on the market,
technical
recommendation,
approach!
The building blocks for a reusable front-end
Proof of Concept
The building blocks for a reusable front-end
Pick a partner?
The building blocks for a reusable front-end
V
Approach?
The building blocks for a reusable front-end
Guiding principles
• CSPA compliant
• Consume RESTful service
• Statistical applications
SDMX based service
• SOLID Design principles
• Provisions for stateful
approach
• Run stand-alone
The building blocks for a reusable front-end
Guiding principles
• Style independent
• Inherit styles from
parent page/application
• Client-side framework:
• Eases event
management and
templating
• Strong and active
community
The building blocks for a reusable front-end
Project timeline
July
2015
August
2015
September
2015
October
2015
November
2015
ToR defined
Workshops
Analysis
PoC
“Draft”
Framework
definition
PoC defined
Launch of
UIS DP
project
ATF review
Creation of
components
December
2015
The building blocks for a reusable front-end
Proof of Concept
The building blocks for a reusable front-end
V
Approach?
The building blocks for a reusable front-end
Deemed too “heavy”
Version transition > Not stable.
Not Angular?
The building blocks for a reusable front-end
PoC technical stack
The building blocks for a reusable front-end
GOAL!
The building blocks for a reusable front-end
Key criteria
Cross-browser support
Performant
The building blocks for a reusable front-end
PoC implementation
The building blocks for a reusable front-end
PoC implementation
The building blocks for a reusable front-end
PoC implementation
The building blocks for a reusable front-end
WHAT’S NEXT?
The building blocks for a reusable front-end
Define Web Component Architecture
The building blocks for a reusable front-end
The building blocks for a reusable front-end
The building blocks for a reusable front-end
The building blocks for a reusable front-end
.Stat > .Stat v2?
The building blocks for a reusable front-end
Table Component
The building blocks for a reusable front-end
Selection Component
The building blocks for a reusable front-end
Chart Component
The building blocks for a reusable front-end
Document ‘reusable web components ‘definitions
what it does
what information it consumes
events it listens to
output it produces
events it generates
The building blocks for a reusable front-end
I want to build a new web application?
I want to build a data portal?
I want to create a visualisation using SDMX-JSON API?
I want to embed a dynamic data table in my web page?
…
Faster time to market
The building blocks for a reusable front-end
Questions to address?
Governance
Licencing (Free, OpenSource…)
Maintenance
Lifecycle (Components, Interfaces…)
The building blocks for a reusable front-end
Credits
This presentation includes contributions from:
Bertrand Rivere
Bruno Urban
Nicolas Briemant
Nicolas Vahlas
The .Stat team at UNESCO Institute for Statistics
The building blocks for a reusable front-end
Jonathan Challener
Project and Collaboration Community Manager
Organisation for Economic Co-operation and Development (OECD)
Email: jonathan.challener@oecd.org
LinkedIn: fr.linkedin.com/in/jonathanchallener
Twitter: @Challener
Web: siscc.oecd.org
Stats: stats.oecd.org
The building blocks for a reusable front-end

More Related Content

Similar to The building blocks for a reusable front end - #imaodbc2015

Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
Kunal Bhatia, MBA Candidate, BSc.
 
External - IT Specialist
External - IT SpecialistExternal - IT Specialist
External - IT SpecialistJacob Wardon
 
StackOverflow Architectural Overview
StackOverflow Architectural OverviewStackOverflow Architectural Overview
StackOverflow Architectural Overview
Folio3 Software
 
Technology Stack Discussion
Technology Stack DiscussionTechnology Stack Discussion
Technology Stack DiscussionZaiyang Li
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5
soft-shake.ch
 
Sanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-LatestSanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-LatestSanjeev Kumar Paul
 
openCPQ - A React-Based Product-Configuration Toolkit
openCPQ - A React-Based Product-Configuration ToolkitopenCPQ - A React-Based Product-Configuration Toolkit
openCPQ - A React-Based Product-Configuration Toolkit
Tim Geisler
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
Hosam Kamel
 
Monorail presentation at WebDevelopersCommunity, Feb 1, 2009
Monorail presentation at WebDevelopersCommunity, Feb 1, 2009Monorail presentation at WebDevelopersCommunity, Feb 1, 2009
Monorail presentation at WebDevelopersCommunity, Feb 1, 2009
ken.egozi
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Rodolfo Finochietti
 
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
GreeceJS
 
HTML5 Intoduction for Web Developers
HTML5 Intoduction for Web DevelopersHTML5 Intoduction for Web Developers
HTML5 Intoduction for Web Developers
Sascha Corti
 
Eclipse Developement @ Progress Software
Eclipse Developement @ Progress SoftwareEclipse Developement @ Progress Software
Eclipse Developement @ Progress Software
sriikanthp
 
WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008
Marco Brambilla
 
2015-05-19-resume
2015-05-19-resume2015-05-19-resume
2015-05-19-resumeLee Norris
 
【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10
日本マイクロソフト株式会社
 
Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdf
Abanti Aazmin
 
Chembience
ChembienceChembience
Chembience
Markus Sitzmann
 

Similar to The building blocks for a reusable front end - #imaodbc2015 (20)

Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
External - IT Specialist
External - IT SpecialistExternal - IT Specialist
External - IT Specialist
 
CouchDB
CouchDBCouchDB
CouchDB
 
StackOverflow Architectural Overview
StackOverflow Architectural OverviewStackOverflow Architectural Overview
StackOverflow Architectural Overview
 
Resume_A_Vinod
Resume_A_VinodResume_A_Vinod
Resume_A_Vinod
 
Technology Stack Discussion
Technology Stack DiscussionTechnology Stack Discussion
Technology Stack Discussion
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5
 
Sanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-LatestSanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-Latest
 
openCPQ - A React-Based Product-Configuration Toolkit
openCPQ - A React-Based Product-Configuration ToolkitopenCPQ - A React-Based Product-Configuration Toolkit
openCPQ - A React-Based Product-Configuration Toolkit
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Monorail presentation at WebDevelopersCommunity, Feb 1, 2009
Monorail presentation at WebDevelopersCommunity, Feb 1, 2009Monorail presentation at WebDevelopersCommunity, Feb 1, 2009
Monorail presentation at WebDevelopersCommunity, Feb 1, 2009
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
 
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
 
HTML5 Intoduction for Web Developers
HTML5 Intoduction for Web DevelopersHTML5 Intoduction for Web Developers
HTML5 Intoduction for Web Developers
 
Eclipse Developement @ Progress Software
Eclipse Developement @ Progress SoftwareEclipse Developement @ Progress Software
Eclipse Developement @ Progress Software
 
WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008
 
2015-05-19-resume
2015-05-19-resume2015-05-19-resume
2015-05-19-resume
 
【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10
 
Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdf
 
Chembience
ChembienceChembience
Chembience
 

More from Jonathan Challener

The role of statistical standards in building national data backbones
The role of statistical standards in building national data backbonesThe role of statistical standards in building national data backbones
The role of statistical standards in building national data backbones
Jonathan Challener
 
The future of charting in .Stat
The future of charting in .StatThe future of charting in .Stat
The future of charting in .StatJonathan Challener
 
Being open, accessible, and understandable by Jonathan Challener, OECD - #ima...
Being open, accessible, and understandable by Jonathan Challener, OECD - #ima...Being open, accessible, and understandable by Jonathan Challener, OECD - #ima...
Being open, accessible, and understandable by Jonathan Challener, OECD - #ima...
Jonathan Challener
 
The oecd delta project – providing easier access to data through api's
The oecd delta project – providing easier access to data through api'sThe oecd delta project – providing easier access to data through api's
The oecd delta project – providing easier access to data through api's
Jonathan Challener
 
Community capacity building and process improvements
Community capacity building and process improvementsCommunity capacity building and process improvements
Community capacity building and process improvements
Jonathan Challener
 
Meeting today’s dissemination challenges – Implementing International Standar...
Meeting today’s dissemination challenges – Implementing International Standar...Meeting today’s dissemination challenges – Implementing International Standar...
Meeting today’s dissemination challenges – Implementing International Standar...Jonathan Challener
 

More from Jonathan Challener (6)

The role of statistical standards in building national data backbones
The role of statistical standards in building national data backbonesThe role of statistical standards in building national data backbones
The role of statistical standards in building national data backbones
 
The future of charting in .Stat
The future of charting in .StatThe future of charting in .Stat
The future of charting in .Stat
 
Being open, accessible, and understandable by Jonathan Challener, OECD - #ima...
Being open, accessible, and understandable by Jonathan Challener, OECD - #ima...Being open, accessible, and understandable by Jonathan Challener, OECD - #ima...
Being open, accessible, and understandable by Jonathan Challener, OECD - #ima...
 
The oecd delta project – providing easier access to data through api's
The oecd delta project – providing easier access to data through api'sThe oecd delta project – providing easier access to data through api's
The oecd delta project – providing easier access to data through api's
 
Community capacity building and process improvements
Community capacity building and process improvementsCommunity capacity building and process improvements
Community capacity building and process improvements
 
Meeting today’s dissemination challenges – Implementing International Standar...
Meeting today’s dissemination challenges – Implementing International Standar...Meeting today’s dissemination challenges – Implementing International Standar...
Meeting today’s dissemination challenges – Implementing International Standar...
 

Recently uploaded

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 

Recently uploaded (20)

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 

The building blocks for a reusable front end - #imaodbc2015

  • 1. International Marketing And Outputs DataBase Conference Paris, France 18-22 October 2015 Prepared and presented by Jonathan Challener, OECD The building blocks for a reusable front-end
  • 2. The building blocks for a reusable front-end WHAT PROBLEM ARE WE TRYING TO SOLVE?
  • 3. The building blocks for a reusable front-end Many web based applications
  • 4. The building blocks for a reusable front-end Varying technology stack
  • 5. The building blocks for a reusable front-end Doing the same thing but different application
  • 6. The building blocks for a reusable front-end Lacking reusability
  • 7. The building blocks for a reusable front-end Solution
  • 8. The building blocks for a reusable front-end Web Components Templates HTML imports Custom elements Shadow DOM Source: w3c (https://w3c.github.io/webcomponents/)
  • 9. The building blocks for a reusable front-end What is a Web Component? Web Components are a set of standards currently being produced as a W3C specification that allow for the creation of reusable widgets or components in web documents and web applications. The intention behind them is to bring component-based software engineering to the World Wide Web. The components model allows for encapsulation and interoperability of individual HTML elements. - From Wikipedia, the free encyclopedia
  • 10. The building blocks for a reusable front-end
  • 11. The building blocks for a reusable front-end Can be used to build something simple
  • 12. The building blocks for a reusable front-end Or together create a complete application
  • 13. The building blocks for a reusable front-end
  • 14. The building blocks for a reusable front-end
  • 15. The building blocks for a reusable front-end
  • 16. The building blocks for a reusable front-end
  • 17. The building blocks for a reusable front-end Joint project: Framework for reusable web components
  • 18. The building blocks for a reusable front-end High Level Scope To define a framework for the creation of a toolbox of data portal browser components, and design, build and implement a number of the defined web components.
  • 19. The building blocks for a reusable front-end
  • 20. The building blocks for a reusable front-end Chart library Table library Calc library Theme library DISPLAY Browser template Registry GUI .Stat db WS WS SDMX API (physical structures: XML, JSON, CSV, RDF; soap features limited to rest features) WS .Stat db WS Registry & Mapping db GUI & CLI (incl. MA component and Registry) WS DSDformapping Mappings Generic mapping to/from specific DSDs SDMX (virtual & physical structures : XML, JSON, CSV, RDF)FromSDMX-RI .Stat db abstraction layer: REST with GET, PUT, DELETE Architecture vision *DRAFT* External data producer/consumer From.Statws andEG
  • 21. The building blocks for a reusable front-end Realising our vision
  • 22. The building blocks for a reusable front-end Workshops with industry experts Possible solutions available on the market, technical recommendation, approach!
  • 23. The building blocks for a reusable front-end Proof of Concept
  • 24. The building blocks for a reusable front-end Pick a partner?
  • 25. The building blocks for a reusable front-end V Approach?
  • 26. The building blocks for a reusable front-end Guiding principles • CSPA compliant • Consume RESTful service • Statistical applications SDMX based service • SOLID Design principles • Provisions for stateful approach • Run stand-alone
  • 27. The building blocks for a reusable front-end Guiding principles • Style independent • Inherit styles from parent page/application • Client-side framework: • Eases event management and templating • Strong and active community
  • 28. The building blocks for a reusable front-end Project timeline July 2015 August 2015 September 2015 October 2015 November 2015 ToR defined Workshops Analysis PoC “Draft” Framework definition PoC defined Launch of UIS DP project ATF review Creation of components December 2015
  • 29. The building blocks for a reusable front-end Proof of Concept
  • 30. The building blocks for a reusable front-end V Approach?
  • 31. The building blocks for a reusable front-end Deemed too “heavy” Version transition > Not stable. Not Angular?
  • 32. The building blocks for a reusable front-end PoC technical stack
  • 33. The building blocks for a reusable front-end GOAL!
  • 34. The building blocks for a reusable front-end Key criteria Cross-browser support Performant
  • 35. The building blocks for a reusable front-end PoC implementation
  • 36. The building blocks for a reusable front-end PoC implementation
  • 37. The building blocks for a reusable front-end PoC implementation
  • 38. The building blocks for a reusable front-end WHAT’S NEXT?
  • 39. The building blocks for a reusable front-end Define Web Component Architecture
  • 40. The building blocks for a reusable front-end
  • 41. The building blocks for a reusable front-end
  • 42. The building blocks for a reusable front-end
  • 43. The building blocks for a reusable front-end .Stat > .Stat v2?
  • 44. The building blocks for a reusable front-end Table Component
  • 45. The building blocks for a reusable front-end Selection Component
  • 46. The building blocks for a reusable front-end Chart Component
  • 47. The building blocks for a reusable front-end Document ‘reusable web components ‘definitions what it does what information it consumes events it listens to output it produces events it generates
  • 48. The building blocks for a reusable front-end I want to build a new web application? I want to build a data portal? I want to create a visualisation using SDMX-JSON API? I want to embed a dynamic data table in my web page? … Faster time to market
  • 49. The building blocks for a reusable front-end Questions to address? Governance Licencing (Free, OpenSource…) Maintenance Lifecycle (Components, Interfaces…)
  • 50. The building blocks for a reusable front-end Credits This presentation includes contributions from: Bertrand Rivere Bruno Urban Nicolas Briemant Nicolas Vahlas The .Stat team at UNESCO Institute for Statistics
  • 51. The building blocks for a reusable front-end Jonathan Challener Project and Collaboration Community Manager Organisation for Economic Co-operation and Development (OECD) Email: jonathan.challener@oecd.org LinkedIn: fr.linkedin.com/in/jonathanchallener Twitter: @Challener Web: siscc.oecd.org Stats: stats.oecd.org
  • 52. The building blocks for a reusable front-end

Editor's Notes

  1. Encapsulated - To avoid side-effects and allow reusability in same contexts