SlideShare a Scribd company logo
1 of 12
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
1 This slide deck is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
The Exploitation of OpenAPI
Documents for the Generation of
Web Frontends
István Koren, Ralf Klamma
Advanced Community Information Systems (ACIS)
RWTH Aachen University, Germany
koren@dbis.rwth-aachen.de
The Web Conference, Developers‘ Track
April 26, 2018
Lyon, France
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
2
Agenda
 Motivation
 OpenAPI & Interaction Flow Modeling Language
 Transformation Approach
 Tool Presentation
 Conclusion
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
3
Motivation
 APIs are ubiquitous in Web service and IoT worlds
 Componentization leads to even more of them
 ProgrammableWeb lists around 20,000 APIs;
apis.guru indexes around 550 public OpenAPIs
 But: How they work and what they do is hard to
understand.
 Our goal is to automate the time-consuming process
from Web API to frontend.
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
4
OpenAPI
 OpenAPI (fka Swagger) is a specification for RESTful
Web service documentation.
 Governed by the OpenAPI Initiative
 Human and machine readable
 Use cases
– code generation
– test case automation
– interactive documentation
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
5
openapi: 3.0.0
servers:
-description:Development Server
url:http://127.0.0.1:3000
info:
version: 1.0.0
title:AddressBookService
description:The API ofthe AddressBookService.
tags:
-name: contact
description:Everything about contacts.
paths:
"/contacts":
get:
tags:
-contact
description:Returnsallcontacts.
operationId: getContacts
responses:
'200':
description:Allthe contacts.
content:
application/json:
schema:
type: array
items:
"$ref": "#/components/schemas/Contact"
"/contacts/{contactId}":
get:
tags:
-contact
description:Returnsa particularcontact.
operationId: getContactById
parameters:
-in: path
name: contactId
description:ID ofa contact.
required:true
schema:
type: integer
format:int64
responses:
'200':
description:A specificcategory.
content:
application/json:
schema:
"$ref": "#/components/schemas/Contact"
delete:
tags:
-contact
description:Deletesa contact.
operationId: deleteContactById
parameters:
-in: path
name: contactId
description:ID ofa contact.
required:true
schema:
type: integer
format:int64
responses:
'200':
description:Contactdeleted.
'404':
description:Contactnot found.
components:
schemas:
Contact:
type: object
properties:
id:
type: integer
format:int64
name:
type: string
lastname:
type: string
email:
type: string
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
6
Interaction Flow Modeling Language
 The Interaction Flow Modeling Language (IFML) is a
visual domain-specific modeling language for the
design of abstract user interactions and data flows.
 Standardized by Object Management Group
 Platform-independent
 Mappings to WPF and HTML available
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
7
Address Book IFML Model
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
8
Transformation Approach
Step 1:
Parsing OpenAPI
Step 2:
Designing Model
Step 3:
Generating HTML
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
9
Live Demo
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
10
Challenges
 Synchronization between HTML, JavaScript & SVG
 Web Component (Polymer!) versions and updates
 Usability issues like information overload
 Limitations
– OpenAPI correctness
– Nested JSON schemas are not supported (no longer…)
– Interaction patterns like pagination are missing
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
11
Conclusion
 APIs are ubiquitous, OpenAPI increasingly used
 Our methodology enables generating Web frontends
out of OpenAPI interface descriptions with an
intermediary model-based representation.
 Web components are a powerful foundation!
 Future work
– empirical evaluation with OpenAPIs “in the wild”
– user management and awareness
– component store
– explore use cases in IoT & AR/VR
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
Prof. Dr. S. Decker
12
fin
 Thank you for your attention!
 Do you have any questions?
koren@dbis.rwth-aachen.de
@istinhere
Ideas? Please contribute them on https://requirements-
bazaar.org/projects/303/categories/439

More Related Content

What's hot

Closing the Gap: Data Models for Documentary Linguistics
Closing the Gap: Data Models for Documentary LinguisticsClosing the Gap: Data Models for Documentary Linguistics
Closing the Gap: Data Models for Documentary LinguisticsBaden Hughes
 
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect match
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect matchLinked Open (Geo)Data and the Distributed Ontology Language – a perfect match
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect matchChristoph Lange
 
Browser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeBrowser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeNicolaescu Petru
 
Informal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoNicolaescu Petru
 
WP3 Further specification of Functionality and Interoperability - Gradmann / ...
WP3 Further specification of Functionality and Interoperability - Gradmann / ...WP3 Further specification of Functionality and Interoperability - Gradmann / ...
WP3 Further specification of Functionality and Interoperability - Gradmann / ...Europeana
 
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...Ferdin Joe John Joseph PhD
 
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...Christoph Lange
 

What's hot (7)

Closing the Gap: Data Models for Documentary Linguistics
Closing the Gap: Data Models for Documentary LinguisticsClosing the Gap: Data Models for Documentary Linguistics
Closing the Gap: Data Models for Documentary Linguistics
 
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect match
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect matchLinked Open (Geo)Data and the Distributed Ontology Language – a perfect match
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect match
 
Browser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeBrowser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-Time
 
Informal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive Video
 
WP3 Further specification of Functionality and Interoperability - Gradmann / ...
WP3 Further specification of Functionality and Interoperability - Gradmann / ...WP3 Further specification of Functionality and Interoperability - Gradmann / ...
WP3 Further specification of Functionality and Interoperability - Gradmann / ...
 
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...
 
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
 

Similar to Generate Web Frontends from OpenAPI with IFML Modeling

Shared Editing on the Web: A Classification of Developer Support Frameworks
Shared Editing on the Web: A Classification of Developer Support FrameworksShared Editing on the Web: A Classification of Developer Support Frameworks
Shared Editing on the Web: A Classification of Developer Support FrameworksIstvanKoren
 
Supporting Professional Communities in the Next Web
Supporting Professional Communities in the Next Web Supporting Professional Communities in the Next Web
Supporting Professional Communities in the Next Web Ralf Klamma
 
A comparative study of laravel and symfony PHP frameworks
A comparative study of laravel and symfony PHP frameworksA comparative study of laravel and symfony PHP frameworks
A comparative study of laravel and symfony PHP frameworksIJECEIAES
 
Emotion recognition from facial expression using fuzzy logic
Emotion recognition from facial expression using fuzzy logicEmotion recognition from facial expression using fuzzy logic
Emotion recognition from facial expression using fuzzy logicFinalyear Projects
 
The Legacy and the Future of Research Networks in Technology-Enhanced Learning
The Legacy and the Future of Research Networks in Technology-Enhanced LearningThe Legacy and the Future of Research Networks in Technology-Enhanced Learning
The Legacy and the Future of Research Networks in Technology-Enhanced LearningRalf Klamma
 
BBA100 Business and SocietyGood Evening, everyone.T.docx
BBA100 Business and SocietyGood Evening, everyone.T.docxBBA100 Business and SocietyGood Evening, everyone.T.docx
BBA100 Business and SocietyGood Evening, everyone.T.docxgarnerangelika
 
Scaling Community Information Systems
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information SystemsRalf Klamma
 
Propelling Standards-based Sharing and Reuse in Instructional Modeling Commun...
Propelling Standards-based Sharing and Reuse in Instructional Modeling Commun...Propelling Standards-based Sharing and Reuse in Instructional Modeling Commun...
Propelling Standards-based Sharing and Reuse in Instructional Modeling Commun...Michael Derntl
 
Principles of object oriented programming
Principles of object oriented programmingPrinciples of object oriented programming
Principles of object oriented programmingAmogh Kalyanshetti
 
OBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docxOBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docxAleKi2
 
Word Tree Corpus Interface
Word Tree Corpus InterfaceWord Tree Corpus Interface
Word Tree Corpus InterfaceBen Showers
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Dhruv Gohil
 
Semantic Interoperability - grafi della conoscenza
Semantic Interoperability - grafi della conoscenzaSemantic Interoperability - grafi della conoscenza
Semantic Interoperability - grafi della conoscenzaGiorgia Lodi
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021Gérard Dupont
 
Putting the L in front: from Open Data to Linked Open Data
Putting the L in front: from Open Data to Linked Open DataPutting the L in front: from Open Data to Linked Open Data
Putting the L in front: from Open Data to Linked Open DataMartin Kaltenböck
 
Object Oriented Programming using C++.pptx
Object Oriented Programming using C++.pptxObject Oriented Programming using C++.pptx
Object Oriented Programming using C++.pptxparveen837153
 
Foss In Undergraduate Studies
Foss In Undergraduate StudiesFoss In Undergraduate Studies
Foss In Undergraduate Studiesguestec838a
 

Similar to Generate Web Frontends from OpenAPI with IFML Modeling (20)

Shared Editing on the Web: A Classification of Developer Support Frameworks
Shared Editing on the Web: A Classification of Developer Support FrameworksShared Editing on the Web: A Classification of Developer Support Frameworks
Shared Editing on the Web: A Classification of Developer Support Frameworks
 
Supporting Professional Communities in the Next Web
Supporting Professional Communities in the Next Web Supporting Professional Communities in the Next Web
Supporting Professional Communities in the Next Web
 
A comparative study of laravel and symfony PHP frameworks
A comparative study of laravel and symfony PHP frameworksA comparative study of laravel and symfony PHP frameworks
A comparative study of laravel and symfony PHP frameworks
 
Emotion recognition from facial expression using fuzzy logic
Emotion recognition from facial expression using fuzzy logicEmotion recognition from facial expression using fuzzy logic
Emotion recognition from facial expression using fuzzy logic
 
OOP ppt.pdf
OOP ppt.pdfOOP ppt.pdf
OOP ppt.pdf
 
The Legacy and the Future of Research Networks in Technology-Enhanced Learning
The Legacy and the Future of Research Networks in Technology-Enhanced LearningThe Legacy and the Future of Research Networks in Technology-Enhanced Learning
The Legacy and the Future of Research Networks in Technology-Enhanced Learning
 
BBA100 Business and SocietyGood Evening, everyone.T.docx
BBA100 Business and SocietyGood Evening, everyone.T.docxBBA100 Business and SocietyGood Evening, everyone.T.docx
BBA100 Business and SocietyGood Evening, everyone.T.docx
 
Scaling Community Information Systems
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information Systems
 
Propelling Standards-based Sharing and Reuse in Instructional Modeling Commun...
Propelling Standards-based Sharing and Reuse in Instructional Modeling Commun...Propelling Standards-based Sharing and Reuse in Instructional Modeling Commun...
Propelling Standards-based Sharing and Reuse in Instructional Modeling Commun...
 
Principles of object oriented programming
Principles of object oriented programmingPrinciples of object oriented programming
Principles of object oriented programming
 
OBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docxOBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docx
 
Word Tree Corpus Interface
Word Tree Corpus InterfaceWord Tree Corpus Interface
Word Tree Corpus Interface
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical
 
Python Programming
Python ProgrammingPython Programming
Python Programming
 
Semantic Interoperability - grafi della conoscenza
Semantic Interoperability - grafi della conoscenzaSemantic Interoperability - grafi della conoscenza
Semantic Interoperability - grafi della conoscenza
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
Putting the L in front: from Open Data to Linked Open Data
Putting the L in front: from Open Data to Linked Open DataPutting the L in front: from Open Data to Linked Open Data
Putting the L in front: from Open Data to Linked Open Data
 
Object Oriented Programming using C++.pptx
Object Oriented Programming using C++.pptxObject Oriented Programming using C++.pptx
Object Oriented Programming using C++.pptx
 
Foss In Undergraduate Studies
Foss In Undergraduate StudiesFoss In Undergraduate Studies
Foss In Undergraduate Studies
 

More from IstvanKoren

A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL TranslationsA Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL TranslationsIstvanKoren
 
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...IstvanKoren
 
Augmented Reality Lernkontexte - Eine Europäische Perspektive
Augmented Reality Lernkontexte - Eine Europäische PerspektiveAugmented Reality Lernkontexte - Eine Europäische Perspektive
Augmented Reality Lernkontexte - Eine Europäische PerspektiveIstvanKoren
 
The BBC micro:bit - discover your inner maker!
The BBC micro:bit - discover your inner maker!The BBC micro:bit - discover your inner maker!
The BBC micro:bit - discover your inner maker!IstvanKoren
 
DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015IstvanKoren
 
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...IstvanKoren
 
Requirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the WebRequirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the WebIstvanKoren
 
Unpacking the Layers Box
Unpacking the Layers BoxUnpacking the Layers Box
Unpacking the Layers BoxIstvanKoren
 
Layers box agder docker
Layers box agder dockerLayers box agder docker
Layers box agder dockerIstvanKoren
 
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...IstvanKoren
 
Requirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning TalkRequirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning TalkIstvanKoren
 
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...IstvanKoren
 
Informatik-Kolloquium XMPP
Informatik-Kolloquium XMPPInformatik-Kolloquium XMPP
Informatik-Kolloquium XMPPIstvanKoren
 

More from IstvanKoren (13)

A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL TranslationsA Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
 
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...
 
Augmented Reality Lernkontexte - Eine Europäische Perspektive
Augmented Reality Lernkontexte - Eine Europäische PerspektiveAugmented Reality Lernkontexte - Eine Europäische Perspektive
Augmented Reality Lernkontexte - Eine Europäische Perspektive
 
The BBC micro:bit - discover your inner maker!
The BBC micro:bit - discover your inner maker!The BBC micro:bit - discover your inner maker!
The BBC micro:bit - discover your inner maker!
 
DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015
 
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
 
Requirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the WebRequirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the Web
 
Unpacking the Layers Box
Unpacking the Layers BoxUnpacking the Layers Box
Unpacking the Layers Box
 
Layers box agder docker
Layers box agder dockerLayers box agder docker
Layers box agder docker
 
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
 
Requirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning TalkRequirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning Talk
 
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
 
Informatik-Kolloquium XMPP
Informatik-Kolloquium XMPPInformatik-Kolloquium XMPP
Informatik-Kolloquium XMPP
 

Recently uploaded

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 

Recently uploaded (20)

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 

Generate Web Frontends from OpenAPI with IFML Modeling

  • 1. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 1 This slide deck is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. The Exploitation of OpenAPI Documents for the Generation of Web Frontends István Koren, Ralf Klamma Advanced Community Information Systems (ACIS) RWTH Aachen University, Germany koren@dbis.rwth-aachen.de The Web Conference, Developers‘ Track April 26, 2018 Lyon, France
  • 2. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 2 Agenda  Motivation  OpenAPI & Interaction Flow Modeling Language  Transformation Approach  Tool Presentation  Conclusion
  • 3. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 3 Motivation  APIs are ubiquitous in Web service and IoT worlds  Componentization leads to even more of them  ProgrammableWeb lists around 20,000 APIs; apis.guru indexes around 550 public OpenAPIs  But: How they work and what they do is hard to understand.  Our goal is to automate the time-consuming process from Web API to frontend.
  • 4. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 4 OpenAPI  OpenAPI (fka Swagger) is a specification for RESTful Web service documentation.  Governed by the OpenAPI Initiative  Human and machine readable  Use cases – code generation – test case automation – interactive documentation
  • 5. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 5 openapi: 3.0.0 servers: -description:Development Server url:http://127.0.0.1:3000 info: version: 1.0.0 title:AddressBookService description:The API ofthe AddressBookService. tags: -name: contact description:Everything about contacts. paths: "/contacts": get: tags: -contact description:Returnsallcontacts. operationId: getContacts responses: '200': description:Allthe contacts. content: application/json: schema: type: array items: "$ref": "#/components/schemas/Contact" "/contacts/{contactId}": get: tags: -contact description:Returnsa particularcontact. operationId: getContactById parameters: -in: path name: contactId description:ID ofa contact. required:true schema: type: integer format:int64 responses: '200': description:A specificcategory. content: application/json: schema: "$ref": "#/components/schemas/Contact" delete: tags: -contact description:Deletesa contact. operationId: deleteContactById parameters: -in: path name: contactId description:ID ofa contact. required:true schema: type: integer format:int64 responses: '200': description:Contactdeleted. '404': description:Contactnot found. components: schemas: Contact: type: object properties: id: type: integer format:int64 name: type: string lastname: type: string email: type: string
  • 6. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 6 Interaction Flow Modeling Language  The Interaction Flow Modeling Language (IFML) is a visual domain-specific modeling language for the design of abstract user interactions and data flows.  Standardized by Object Management Group  Platform-independent  Mappings to WPF and HTML available
  • 7. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 7 Address Book IFML Model
  • 8. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 8 Transformation Approach Step 1: Parsing OpenAPI Step 2: Designing Model Step 3: Generating HTML
  • 9. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 9 Live Demo
  • 10. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 10 Challenges  Synchronization between HTML, JavaScript & SVG  Web Component (Polymer!) versions and updates  Usability issues like information overload  Limitations – OpenAPI correctness – Nested JSON schemas are not supported (no longer…) – Interaction patterns like pagination are missing
  • 11. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 11 Conclusion  APIs are ubiquitous, OpenAPI increasingly used  Our methodology enables generating Web frontends out of OpenAPI interface descriptions with an intermediary model-based representation.  Web components are a powerful foundation!  Future work – empirical evaluation with OpenAPIs “in the wild” – user management and awareness – component store – explore use cases in IoT & AR/VR
  • 12. Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke Prof. Dr. S. Decker 12 fin  Thank you for your attention!  Do you have any questions? koren@dbis.rwth-aachen.de @istinhere Ideas? Please contribute them on https://requirements- bazaar.org/projects/303/categories/439