The Exploitation of OpenAPI Documents for the Generation of Web Frontends

IstvanKoren
IstvanKorenResearch Assistant at RWTH Aachen University
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
1 of 12

Recommended

Core Public Event Vocabulary - italian Application profile by
Core Public Event Vocabulary - italian Application profileCore Public Event Vocabulary - italian Application profile
Core Public Event Vocabulary - italian Application profileGiorgia Lodi
39 views9 slides
View Based Near Real Time Collaborative Modeling for Information Systems Engi... by
View Based Near Real Time Collaborative Modeling for Information Systems Engi...View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...Nicolaescu Petru
1.1K views18 slides
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web by
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebSyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebNicolaescu Petru
2K views20 slides
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types by
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesYjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesNicolaescu Petru
2.4K views1 slide
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap... by
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...Dejan Kovachev
4.6K views13 slides
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario by
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioPrototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioNicolaescu Petru
2.6K views21 slides

More Related Content

What's hot

Closing the Gap: Data Models for Documentary Linguistics by
Closing the Gap: Data Models for Documentary LinguisticsClosing the Gap: Data Models for Documentary Linguistics
Closing the Gap: Data Models for Documentary LinguisticsBaden Hughes
741 views21 slides
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect match by
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
3.2K views45 slides
Browser-Based Collaborative Modeling in Near Real-Time by
Browser-Based Collaborative Modeling in Near Real-TimeBrowser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeNicolaescu Petru
2.2K views19 slides
Informal Learning at the Workplace via Adaptive Video by
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoNicolaescu Petru
987 views19 slides
WP3 Further specification of Functionality and Interoperability - Gradmann / ... by
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
260 views24 slides
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu... by
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
223 views55 slides

What's hot(7)

Closing the Gap: Data Models for Documentary Linguistics by Baden Hughes
Closing the Gap: Data Models for Documentary LinguisticsClosing the Gap: Data Models for Documentary Linguistics
Closing the Gap: Data Models for Documentary Linguistics
Baden Hughes741 views
Linked Open (Geo)Data and the Distributed Ontology Language – a perfect match by Christoph Lange
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
Christoph Lange3.2K views
Browser-Based Collaborative Modeling in Near Real-Time by Nicolaescu Petru
Browser-Based Collaborative Modeling in Near Real-TimeBrowser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-Time
Nicolaescu Petru2.2K views
Informal Learning at the Workplace via Adaptive Video by Nicolaescu Petru
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive Video
Nicolaescu Petru987 views
WP3 Further specification of Functionality and Interoperability - Gradmann / ... by Europeana
WP3 Further specification of Functionality and Interoperability - Gradmann / ...WP3 Further specification of Functionality and Interoperability - Gradmann / ...
WP3 Further specification of Functionality and Interoperability - Gradmann / ...
Europeana260 views
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu... by Ferdin Joe John Joseph PhD
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... by Christoph Lange
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 Lange1.3K views

Similar to The Exploitation of OpenAPI Documents for the Generation of Web Frontends

Shared Editing on the Web: A Classification of Developer Support Frameworks by
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
1.8K views25 slides
Supporting Professional Communities in the Next Web by
Supporting Professional Communities in the Next Web Supporting Professional Communities in the Next Web
Supporting Professional Communities in the Next Web Ralf Klamma
20.6K views23 slides
A comparative study of laravel and symfony PHP frameworks by
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
217 views9 slides
Emotion recognition from facial expression using fuzzy logic by
Emotion recognition from facial expression using fuzzy logicEmotion recognition from facial expression using fuzzy logic
Emotion recognition from facial expression using fuzzy logicFinalyear Projects
6.3K views62 slides
OOP ppt.pdf by
OOP ppt.pdfOOP ppt.pdf
OOP ppt.pdfArpitaJana28
32 views16 slides
The Legacy and the Future of Research Networks in Technology-Enhanced Learning by
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
1.4K views24 slides

Similar to The Exploitation of OpenAPI Documents for the Generation of Web Frontends(20)

Shared Editing on the Web: A Classification of Developer Support Frameworks by IstvanKoren
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
IstvanKoren1.8K views
Supporting Professional Communities in the Next Web by Ralf Klamma
Supporting Professional Communities in the Next Web Supporting Professional Communities in the Next Web
Supporting Professional Communities in the Next Web
Ralf Klamma20.6K views
A comparative study of laravel and symfony PHP frameworks by IJECEIAES
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
IJECEIAES217 views
Emotion recognition from facial expression using fuzzy logic by Finalyear Projects
Emotion recognition from facial expression using fuzzy logicEmotion recognition from facial expression using fuzzy logic
Emotion recognition from facial expression using fuzzy logic
Finalyear Projects6.3K views
The Legacy and the Future of Research Networks in Technology-Enhanced Learning by Ralf Klamma
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
Ralf Klamma1.4K views
BBA100 Business and SocietyGood Evening, everyone.T.docx by garnerangelika
BBA100 Business and SocietyGood Evening, everyone.T.docxBBA100 Business and SocietyGood Evening, everyone.T.docx
BBA100 Business and SocietyGood Evening, everyone.T.docx
garnerangelika3 views
Scaling Community Information Systems by Ralf Klamma
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information Systems
Ralf Klamma2.1K views
Propelling Standards-based Sharing and Reuse in Instructional Modeling Commun... by Michael Derntl
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 Derntl454 views
Principles of object oriented programming by Amogh Kalyanshetti
Principles of object oriented programmingPrinciples of object oriented programming
Principles of object oriented programming
Amogh Kalyanshetti1.5K views
OBJECT ORIENTED PROGRAMMING.docx by AleKi2
OBJECT ORIENTED PROGRAMMING.docxOBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docx
AleKi29 views
Word Tree Corpus Interface by Ben Showers
Word Tree Corpus InterfaceWord Tree Corpus Interface
Word Tree Corpus Interface
Ben Showers309 views
Nautral Langauge Processing - Basics / Non Technical by Dhruv Gohil
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical
Dhruv Gohil666 views
Semantic Interoperability - grafi della conoscenza by Giorgia Lodi
Semantic Interoperability - grafi della conoscenzaSemantic Interoperability - grafi della conoscenza
Semantic Interoperability - grafi della conoscenza
Giorgia Lodi19 views
Putting the L in front: from Open Data to Linked Open Data by Martin Kaltenböck
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
Martin Kaltenböck1.7K views
Foss In Undergraduate Studies by guestec838a
Foss In Undergraduate StudiesFoss In Undergraduate Studies
Foss In Undergraduate Studies
guestec838a558 views
Mobile Multimedia Cloud Computing and the Web by Dejan Kovachev
Mobile Multimedia Cloud Computing and the WebMobile Multimedia Cloud Computing and the Web
Mobile Multimedia Cloud Computing and the Web
Dejan Kovachev1.4K views

More from IstvanKoren

A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations by
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
156 views20 slides
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation... by
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
284 views10 slides
Augmented Reality Lernkontexte - Eine Europäische Perspektive by
Augmented Reality Lernkontexte - Eine Europäische PerspektiveAugmented Reality Lernkontexte - Eine Europäische Perspektive
Augmented Reality Lernkontexte - Eine Europäische PerspektiveIstvanKoren
99 views14 slides
The BBC micro:bit - discover your inner maker! by
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
1.2K views7 slides
DevOps Gamification Workshop at JTEL Summer School 2015 by
DevOps Gamification Workshop at JTEL Summer School 2015DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015IstvanKoren
1.5K views27 slides
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ... by
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
714 views16 slides

More from IstvanKoren(13)

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

Recently uploaded

Bootstrapping vs Venture Capital.pptx by
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptxZeljko Svedic
14 views17 slides
Fleet Management Software in India by
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
12 views1 slide
Dapr Unleashed: Accelerating Microservice Development by
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice DevelopmentMiroslav Janeski
12 views29 slides
Ports-and-Adapters Architecture for Embedded HMI by
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMIBurkhard Stubert
26 views19 slides
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...TomHalpin9
6 views29 slides
HarshithAkkapelli_Presentation.pdf by
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdfharshithakkapelli
12 views16 slides

Recently uploaded(20)

Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic14 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable12 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski12 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert26 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin96 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app9 views
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation by HCLSoftware
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook AutomationDRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
HCLSoftware6 views
How Workforce Management Software Empowers SMEs | TraQSuite by TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuiteHow Workforce Management Software Empowers SMEs | TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuite
TraQSuite5 views
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta7 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ10 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino6 views
FOSSLight Community Day 2023-11-30 by Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan6 views

The Exploitation of OpenAPI Documents for the Generation of Web Frontends

  • 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