identification and evaluation of a process for … › file › gedmwsmngegs › sebis...2020/04/27...
TRANSCRIPT
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
▪ 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
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
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
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
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
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
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
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
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
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
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