identification and evaluation of a process for … › file › gedmwsmngegs › sebis...2020/04/27...

12
Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München wwwmatthes.in.tum.de Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL APIs in the context of microservice architecture Berke Gözneli Master Thesis Kick-off Presentation Supervisor: Gloria Bondel 27.04.2020, München

Upload: others

Post on 06-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Chair of Software Engineering for Business Information Systems (sebis)

Faculty of Informatics

Technische Universität München

wwwmatthes.in.tum.de

Identification and evaluation of a process for transitioning from REST

APIs to GRAPHQL APIs in the context of microservice architectureBerke Gözneli – Master Thesis Kick-off Presentation

Supervisor: Gloria Bondel

27.04.2020, München

Page 2: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

▪ Overview

▪ Motivation

▪ Research Questions

▪ Use Case

▪ Current Architecture

▪ Proposed Change

▪ Challenges

▪ Expert Interview

▪ Next Steps

▪ Timeline

Outline

© sebis 2Master Thesis Kickoff Gözneli - Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL

APIs in the context of microservice architecture

Page 3: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Overview

© sebis 3

Overall Goal

▪ Supporting organizations with microservice-based architectures in their transition to GraphQL by providing a process and lessons learned.

Motivation

• GraphQL provides various advantages

Use Case

▪ Collaboration with Check24

▪ GraphQL gateway implementation on top of an API layer that is used by the internal developer teams.

Master Thesis Kickoff Gözneli - Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL

APIs in the context of microservice architecture

Page 4: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Motivation – What is GraphQL?

© sebis 4Master Thesis Kickoff Gözneli - Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL

APIs in the context of microservice architecture

GraphQL is a query language for APIs and a server-side runtime for executing queries.

Designed by Facebook.

Designed by the front-end developers for the front-end developers.

Language agnostic.

Has a formal specification.

✓ No over-fetching / under-fetching

✓ Validation through strong typing

✓ Product Iterations and Versioning made easy

✓ Documentation comes by default via Introspection

Advantages

Page 5: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Motivation – Comparing REST Request to GraphQL Request

© sebis 5Master Thesis Kickoff Gözneli - Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL

APIs in the context of microservice architecture

Page 6: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Research Questions

© sebis 6

RQ1

RQ2

RQ3

What are the existing approaches for GraphQL transition?

What could be a process for transitioning including stakeholders, activities and

artifacts?

What are the lessons learned for a transition from REST APIs to a GraphQL gateway?

• Literature Review

• Literature Review

• Experimentation

• GraphQL Gateway

• Hackathon

• Expert Interviews

• Evaluation

• Conceptual Process

• Conceptual Model

• Process Improvements

• Potential Pitfalls

Master Thesis Kickoff Gözneli - Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL

APIs in the context of microservice architecture

Page 7: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Use Case – Current Architecture

© sebisMaster Thesis Kickoff Gözneli - Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL

APIs in the context of microservice architecture 7

Dashboard Application

Dashboard Service

60 REST

Endpoints

Monitoring Service

Other Individual

Services

18 tables

5 DB Connections

11 REST

Endpoints

8 REST

Endpoints

8 REST

Endpoints

Page 8: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Use Case – Proposed Change

© sebisMaster Thesis Kickoff Gözneli - Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL

APIs in the context of microservice architecture 8

Dashboard Application

18 tables

5 DB Connections

87 Other REST

Endpoints

GraphQL Gateway

1 Query Endpoint

Page 9: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Expert Interview – Requirements and Challenges

© sebis 9Master Thesis Kickoff Gözneli - Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL

APIs in the context of microservice architecture

Schema generation

• Automatic vs. manual

Handling different refresh frequencies

• Subscription

• Cache hit & cache miss

Authentication and authorization

• Authentication in the GraphQL gateway

• Authorization in the REST endpoints

Organization

• Tech talks

• Handholding

Page 10: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Literature Review

• Current REST to GraphQL transition best practices

Continue With Interviews

• Developers from different teams

Implementation and Evaluation

• Design the schema

• Implement the GraphQL Gateway

• Ask the front-end developers to use it!

• Evaluate the results

Next Steps

© sebisMaster Thesis | Kevin Baumer 10

Page 11: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Timeline

© sebis 11

February March April May June July August

Approach

Literature Review

Requirements Anly.

Developer Interviews

Implementation

Process Evaluation

Writing Thesis

Writing

Review

Registration Date: 01.03.2020 Submission Date: 31.08.2020

Master Thesis Kickoff Gözneli - Identification and evaluation of a process for transitioning from REST APIs to GRAPHQL

APIs in the context of microservice architecture

Page 12: Identification and evaluation of a process for … › file › gedmwsmngegs › Sebis...2020/04/27  · Implementation Process Evaluation Writing Thesis Writing Review Registration

Technische Universität München

Faculty of Informatics

Chair of Software Engineering for Business

Information Systems

Boltzmannstraße 3

85748 Garching bei München

Tel +49.89.289.

Fax +49.89.289.17136

wwwmatthes.in.tum.de

Berke Gözneli

M.Sc.

17132

[email protected]