SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
How GraphQL influences your product
development on all levels
Business Process
Product Engineering
Aleksandr Obukhov
Lead Backend Engineer at AMBOSS GmbH
AMBOSS 1.5 year ago
Web app
Mobile API
Admin
Engineering vs business impact
Engineering vs business impact
It’s cool
suitability?
costs?
scalability?
risks
Why It’s cool?
GraphQL as a communication language
GraphQL Schema declaration
"Represents user profile"
type User {
id: ID!
firstName: String!
lastName: String!
friends: [User!]
invitedBy: User
}
"Mutations"
type Mutation {
inviteUser(inviteeEmail: String!): Boolean
...
1. User has first and last name
2. User can have multiple friends, or not
3. User can be invited by other user and
this connection is kept
4. You can invite another user by email
Schema declaration can be
- Compiled in interactive documentation (GraphiQL)
- Visualized (GraphQL Voyager, GraphQL editor)
How can we use it?
Visualized (GraphQL Voyager)
GraphQL Documentation Explorer
https://www.npmjs.com/package/graphql-docs
Value of GraphQL as a communication language
+ Better understanding of business
logic use cases (onboarding,
working with old features)
ProcessProduct
+ Communication language
between backend development
team and client (web, app) team
+ Async development of features
GraphQL - one API to rule them all
Before GraphQL
I know what “user” is,
Here you go!
Wow! How many fields
I need only two of them
Hey server!
Give me the user id 1!
Before GraphQL
Webapp API
API for iOS app
API for Android app
API for new Android app
V2
With GraphQL
Hey server!
Give me the name, age
and friends of user id 1!
I know what “user” can
be, here’s what you
need!
With GraphQL
V2
Value of on universal and live API
+ Reuse one API on different
platforms as much as it is
possible - reduce costs
+ Maintain only one version of API, easier to
guarantee quality / write tests
Business Process
Engineering
+ Develop API as you go, it is
easy to change
+ GraphQL – agile of API
GraphQL as an abstraction layer
GraphQL as an abstraction layer
Value of API as an abstraction layer
+ Save on rewriting old but stable
services
+ Ability to build scalable heterogeneous solutions
+ As an abstraction layer helps to decouple
implementation from clients
Business Process
Engineering
+ Encourages microservice
architecture, fosters small
independent teams
GraphQL and Open source community
GraphQL and Open source community
In addition to the GraphQL reference implementations in JavaScript,
server libraries include:
● C# / .NET
● Clojure
● Elixir
● Erlang
● Go
● Groovy
● Java
● JavaScript
● PHP
● Python
● Scala
● Ruby
Open source community benefits
+ Working on recent technologies in
community is good for engineer’s
motivation
+ Active open source community
means that majority of tasks in
the area are already solved
Business Engineering
Questions?
dclg_en
Aleksandr Obukhov
AMBOSS GmbH, Berlin

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

O que é GraphQl, e porque deveriamos cogitá-lo na nossa stack de desenvolvime...
O que é GraphQl, e porque deveriamos cogitá-lo na nossa stack de desenvolvime...O que é GraphQl, e porque deveriamos cogitá-lo na nossa stack de desenvolvime...
O que é GraphQl, e porque deveriamos cogitá-lo na nossa stack de desenvolvime...
 
Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)
 
APIOps: Automated Processes for Even Better APIs
APIOps: Automated Processes for Even Better APIsAPIOps: Automated Processes for Even Better APIs
APIOps: Automated Processes for Even Better APIs
 
What’s new in angular 12[highlights of angular 12 features]
What’s new in angular 12[highlights of angular 12 features]What’s new in angular 12[highlights of angular 12 features]
What’s new in angular 12[highlights of angular 12 features]
 
BPMN MIWG Capability Demonstration Berlin 2015
BPMN MIWG Capability Demonstration Berlin 2015BPMN MIWG Capability Demonstration Berlin 2015
BPMN MIWG Capability Demonstration Berlin 2015
 
Standing out as a new grad candidate
Standing out as a new grad candidateStanding out as a new grad candidate
Standing out as a new grad candidate
 
The Building Blocks of DX: K8s Evolution from CLI to GitOps
The Building Blocks of DX: K8s Evolution from CLI to GitOpsThe Building Blocks of DX: K8s Evolution from CLI to GitOps
The Building Blocks of DX: K8s Evolution from CLI to GitOps
 
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern AppsMeteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
 
20170509 bts coolblue_in_code
20170509 bts coolblue_in_code20170509 bts coolblue_in_code
20170509 bts coolblue_in_code
 
Web services in java
Web services in javaWeb services in java
Web services in java
 
Sandeep Chauhan | Explore the major differences between react js and react na...
Sandeep Chauhan | Explore the major differences between react js and react na...Sandeep Chauhan | Explore the major differences between react js and react na...
Sandeep Chauhan | Explore the major differences between react js and react na...
 
Maintaining an up to date application stack (in a containerized world)
Maintaining an up to date application stack (in a containerized world)Maintaining an up to date application stack (in a containerized world)
Maintaining an up to date application stack (in a containerized world)
 
Collaborative Contract Driven Development
Collaborative Contract Driven DevelopmentCollaborative Contract Driven Development
Collaborative Contract Driven Development
 
Taking Control of your Data with GraphQL
Taking Control of your Data with GraphQLTaking Control of your Data with GraphQL
Taking Control of your Data with GraphQL
 
React vs angular what to choose for your app
React vs angular what to choose for your appReact vs angular what to choose for your app
React vs angular what to choose for your app
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
 
Spring Cloud Contract And Your Microservice Architecture
Spring Cloud Contract And Your Microservice ArchitectureSpring Cloud Contract And Your Microservice Architecture
Spring Cloud Contract And Your Microservice Architecture
 
E031202024029
E031202024029E031202024029
E031202024029
 
What is Objective-j
What is Objective-jWhat is Objective-j
What is Objective-j
 
GraphQL @ Manc.JS (March 2018)
GraphQL @ Manc.JS (March 2018)GraphQL @ Manc.JS (March 2018)
GraphQL @ Manc.JS (March 2018)
 

Ähnlich wie How GraphQL influences your product development on all levels

Ähnlich wie How GraphQL influences your product development on all levels (20)

apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
 
Deploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIsDeploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIs
 
Graphql usage
Graphql usageGraphql usage
Graphql usage
 
Tutorial: Building a GraphQL API in PHP
Tutorial: Building a GraphQL API in PHPTutorial: Building a GraphQL API in PHP
Tutorial: Building a GraphQL API in PHP
 
Exposing GraphQLs as Managed APIs
Exposing GraphQLs as Managed APIsExposing GraphQLs as Managed APIs
Exposing GraphQLs as Managed APIs
 
API Management for GraphQL
API Management for GraphQLAPI Management for GraphQL
API Management for GraphQL
 
Implementing OpenAPI and GraphQL services with gRPC
Implementing OpenAPI and GraphQL services with gRPCImplementing OpenAPI and GraphQL services with gRPC
Implementing OpenAPI and GraphQL services with gRPC
 
GraphQL for Native Apps
GraphQL for Native AppsGraphQL for Native Apps
GraphQL for Native Apps
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
 
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
 
apidays LIVE Paris - GraphQL meshes by Jens Neuse
apidays LIVE Paris - GraphQL meshes by Jens Neuseapidays LIVE Paris - GraphQL meshes by Jens Neuse
apidays LIVE Paris - GraphQL meshes by Jens Neuse
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product Developers
 
quantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptxquantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptx
 
GraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-DevelopmentGraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-Development
 
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
APIdays Paris 2019 - Delivering Exceptional User Experience with REST and Gra...
 
APIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API LanguagesAPIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API Languages
 
10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection
 
GraphQL
GraphQLGraphQL
GraphQL
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

How GraphQL influences your product development on all levels

  • 1. How GraphQL influences your product development on all levels Business Process Product Engineering
  • 2. Aleksandr Obukhov Lead Backend Engineer at AMBOSS GmbH
  • 3. AMBOSS 1.5 year ago Web app Mobile API Admin
  • 5. Engineering vs business impact It’s cool suitability? costs? scalability? risks
  • 7. GraphQL as a communication language
  • 8. GraphQL Schema declaration "Represents user profile" type User { id: ID! firstName: String! lastName: String! friends: [User!] invitedBy: User } "Mutations" type Mutation { inviteUser(inviteeEmail: String!): Boolean ... 1. User has first and last name 2. User can have multiple friends, or not 3. User can be invited by other user and this connection is kept 4. You can invite another user by email
  • 9. Schema declaration can be - Compiled in interactive documentation (GraphiQL) - Visualized (GraphQL Voyager, GraphQL editor) How can we use it?
  • 12. Value of GraphQL as a communication language + Better understanding of business logic use cases (onboarding, working with old features) ProcessProduct + Communication language between backend development team and client (web, app) team + Async development of features
  • 13. GraphQL - one API to rule them all
  • 14. Before GraphQL I know what “user” is, Here you go! Wow! How many fields I need only two of them Hey server! Give me the user id 1!
  • 15. Before GraphQL Webapp API API for iOS app API for Android app API for new Android app V2
  • 16. With GraphQL Hey server! Give me the name, age and friends of user id 1! I know what “user” can be, here’s what you need!
  • 18. Value of on universal and live API + Reuse one API on different platforms as much as it is possible - reduce costs + Maintain only one version of API, easier to guarantee quality / write tests Business Process Engineering + Develop API as you go, it is easy to change + GraphQL – agile of API
  • 19. GraphQL as an abstraction layer
  • 20. GraphQL as an abstraction layer
  • 21. Value of API as an abstraction layer + Save on rewriting old but stable services + Ability to build scalable heterogeneous solutions + As an abstraction layer helps to decouple implementation from clients Business Process Engineering + Encourages microservice architecture, fosters small independent teams
  • 22. GraphQL and Open source community
  • 23. GraphQL and Open source community In addition to the GraphQL reference implementations in JavaScript, server libraries include: ● C# / .NET ● Clojure ● Elixir ● Erlang ● Go ● Groovy ● Java ● JavaScript ● PHP ● Python ● Scala ● Ruby
  • 24. Open source community benefits + Working on recent technologies in community is good for engineer’s motivation + Active open source community means that majority of tasks in the area are already solved Business Engineering