SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
GRAPHQL ADVANCED
LeanIX,	
  2017
What	
  you	
  will	
  learn
2
• Quick	
  recap	
  from	
  Part	
  1
• Deep	
  Dive:	
  Filter,	
  Paging,	
  Patches,	
  Revisions
• How	
  to	
  embed	
  GraphQL in	
  Swagger,	
  curl,	
  Java
• Concrete	
  use	
  case	
  (based	
  on	
  Python)
Recap	
  (1/3):	
  How	
  the	
  way	
  to	
  embed	
  LeanIX	
  is	
  evolving
3
Data	
  input
!
Upload
Web	
  UI
Survey
Data	
  usage
Download
Web	
  UI
Mobile	
  App
ITSM
BPM
Vendor	
  Lifecycles
Metrics
BPM
ITSM
Universe	
  of	
  	
  
modern	
  IT	
  
management	
  
tools
Universe	
  of	
  
modern	
  
reporting	
  
solutions
Single	
  
source	
  of	
  
truth
Out-­‐of-­‐
the-­‐box	
  
inte-­‐
grations
Integrated	
  
information	
  
hub
"
Recap	
  (2/3):	
  Basic	
  Concepts	
  -­‐ Query	
  and	
  Mutation
4
query
Retrieve	
  Fact	
  Sheet	
  data,	
  
Subscriptions,	
  Tags,	
  ….
mutation
Create,	
  Update	
  or	
  Delete	
  Fact	
  
Sheets,	
  Subscriptions,	
  Tags,	
  …
Recap (3/3): How to use the integrated GraphQL IDE from
your LeanIX workspace
5
1
2
3
5
4
1
Access	
  GraphiQL from	
  the	
  
admin	
  area
2
Use	
  auto-­‐completion	
  and	
  
prettify	
  to	
  formulate	
  and	
  run	
  
your	
  query
3
Optional:	
  Use	
  variables	
  to	
  
better	
  structure	
  your	
  query
4
Access	
  the	
  results	
  directly,	
  
iterate	
  until	
  you	
  have	
  got	
  all	
  
data	
  you	
  need
5
Use	
  the	
  built-­‐in	
  reference	
  	
  for	
  
details
Advanced	
  Concepts:	
  Filter,	
  Paging,	
  Patches,	
  Revisions
6
Filter
How to formulate your
queries to get precisely your
result?
Paging
How to query
large	
  amounts of data in	
  
productive settings?
Patches
How to leverage
mutations for different	
  type	
  
of changes?
Revisions
How to support a	
  stable
productive environment with
concurrent changes?
Advanced	
  Concepts:	
  Filter,	
  Paging,	
  Patches,	
  Revisions
7
Filter
How to formulate your
queries to get precisely your
result?
Paging
How to query
large	
  amounts of data in	
  
productive settings?	
  
Patches
How to leverage
mutations for different	
  type	
  
of changes?
Revisions
How to support a	
  stable
productive environment with
concurrent changes?
8
Filter:	
  Overview
Filter:	
  By	
  Fact	
  Sheet	
  IDs
9
Filter:	
  By	
  External	
  IDs
10
Pro	
  Tip:	
  Get	
  the	
  
exact	
  Path	
  by	
  
including	
  the	
  
external	
  ID	
  in	
  the	
  
results	
  and	
  using	
  
autocomplete.
Filter:	
  By	
  exact	
  Display	
  Name
11
Attention:	
  There	
  
are	
  different	
  
display	
  name	
  rules	
  
by	
  Fact	
  Sheet	
  
types,	
  e.g.	
  
including	
  hierarchy	
  
or	
  release.
Filter:	
  By	
  Quick	
  Search
12
Attention:	
  
Optimized	
  for	
  
performance,	
  
descriptions	
  etc.	
  
are	
  not	
  included.
Filter:	
  By	
  Full	
  Text	
  Search
13
14
Filter:	
  By	
  Filter	
  Facet
15
Filter:	
  By	
  Filter	
  Facet
16
Filter:	
  By	
  Filter	
  Facet
17
Filter:	
  By	
  Filter	
  Facet
Pro	
  Tip:	
  Use	
  Browser	
  Developer	
  Tools	
  as	
  reference	
  for	
  Facet	
  
Keys	
  and	
  Values	
  
18
See	
  e.g.	
  
https://developers.google.com/
web/tools/chrome-­‐devtools/
or	
  
https://docs.microsoft.com/en-­‐
us/microsoft-­‐edge/devtools-­‐
guide
Advanced:	
  Use	
  a	
  subfilter (“show	
  all	
  applications	
  that	
  uses	
  an	
  
IT	
  Component	
  of	
  Provider	
  Microsoft”)
19
Advanced:	
  Use	
  a	
  filter	
  on	
  relations	
  to	
  limit	
  the	
  result	
  set	
  
(“show	
  all	
  applications	
  …	
  and	
  only	
  the	
  Microsoft	
  relations”)
20
Advanced	
  Concepts:	
  Filter,	
  Paging,	
  Patches,	
  Revisions
21
Filter
How to formulate your
queries to get precisely your
result?
Paging
How to query
large	
  amounts of data in	
  
productive settings ?
Patches
How to leverage
mutations for different	
  type	
  
of changes?
Revisions
How to support a	
  stable
productive environment with
concurrent changes?
Paging:	
  Retrieve	
  large	
  amount	
  of	
  Fact	
  Sheets
22
1.	
  Include	
  
pageinfo {}	
  in	
  your	
  
query
2.	
  Obtain	
  a	
  cursor
3.	
  Use	
  “after”	
  with	
  
the	
  cursor
4.	
  Repeat	
  until	
  
“hasNextPages”	
  is	
  
false
Advanced	
  Concepts:	
  Filter,	
  Paging,	
  Patches,	
  Revisions
23
Filter
How to formulate your
queries to get precisely your
result?
Paging
How to query
large	
  amounts of data in	
  
productive settings?	
  
Patches
How to leverage
mutations for different	
  type	
  
of changes?
Revisions
How to support a	
  stable
productive environment with
concurrent changes?
Patches	
  Recap	
  (1/2):	
  Attributes
24
Use “validateOnly“	
  to test your
query before executing it.
Patches	
  Recap	
  (2/2):	
  Relations
25
Learn more about patches in	
  
Part	
  2	
  of the Webinar	
  Series.
Patches:	
  Summary
26
Operator
Path
Value
• Add
• Replace	
  
• Remove
A
B
C
• /attributeName
• /relationName/new_<idx>	
  for	
  new	
  relations
• /relationName/<relationId>	
  for	
  existing	
  relations
• String	
  for	
  attribute
• JSON	
  Object	
  for	
  Relations	
  or	
  ExternalIDs
• Array	
  for	
  Tag	
  /	
  Multi-­‐Select
-­‐ It’s	
  always	
  good	
  practice	
  to	
  work	
  with	
  multiple	
  patches	
  in	
  one	
  API	
  call
-­‐ Use	
  the	
  browser	
  developer	
  tools	
  as	
  reference	
  for	
  exact	
  syntax	
  if	
  unsure
Advanced	
  Concepts:	
  Filter,	
  Paging,	
  Patches,	
  Revisions
27
Filter
How to formulate your
queries to get precisely your
result?
Paging
How to query
large	
  amounts of data in	
  
productive settings?
Patches
How to leverage
mutations for different	
  type	
  
of changes?
Revisions
How to support a	
  stable
productive environment with
concurrent changes?
28
Revisions:	
  Clear	
  conflict	
  resolution	
  strategy
1.	
  Start	
  to	
  edit	
  a	
  
Fact	
  Sheet	
  in	
  the	
  
UI
2.	
  Retrieve	
  the	
  
Fact	
  Sheet	
  via	
  
GraphQL =>	
  
revision:	
  23
3.	
  Update	
  the	
  
Fact	
  Sheet	
  via	
  
GraphQL =>	
  
revision:	
  24
4.	
  Save	
  in	
  the	
  UI	
  
– user	
  will	
  get	
  a	
  
conflict
Embedding	
  GraphQL:	
  Beyond	
  the	
  inline	
  IDE
29
Swagger	
  /	
  curl
How to call GraphQL via	
  REST
Java
Quick	
  Walkthrough
Python
Edit	
  application costs with
GraphQL
Embedding	
  GraphQL:	
  Beyond	
  the	
  inline	
  IDE
30
Swagger	
  /	
  curl
How to call GraphQL via	
  REST
Java
Quick	
  Walkthrough
Python
Edit	
  application costs with
GraphQL
Embedding	
  GraphQL:	
  Call	
  GraphQL via	
  REST
31
Create	
  an	
  API	
  Token	
  before opening
Swagger
Embedding	
  GraphQL:	
  Call	
  GraphQL via	
  REST
32
Insert	
  your API	
  Token	
  and press	
  
„Explore“
33
Embedding	
  GraphQL:	
  Call	
  GraphQL via	
  REST	
  -­‐ Query
Insert	
  your Query	
  and
press	
  „Try	
  it out“
Get your response
Get the curl
command.	
  See	
  
https://dev.leanix.
net/v4.0/docs/aut
hentication as well.
34
Embedding	
  GraphQL:	
  Call	
  GraphQL via	
  REST	
  -­‐ Mutation
Insert	
  your
Mutation	
  and
press	
  „Try	
  it
out“
Get your
response
Get the curl
command.	
  See	
  
https://dev.leanix.
net/v4.0/docs/aut
hentication as
well.
Embedding	
  GraphQL:	
  Beyond	
  the	
  inline	
  IDE
35
Swagger	
  /	
  curl
How to call GraphQL via	
  REST
Java
Quick	
  Walkthrough
Python
Edit	
  application costs with
GraphQL
Embedding	
  GraphQL:	
  Call	
  GraphQL from	
  Java
36
1
2
3
4
1 Get	
  dependencies	
  via	
  Maven
2 Connection	
  with	
  help	
  of	
  SDK
3 Get	
  a	
  Fact	
  Sheet	
  (details	
  follow)
4 Update	
  a	
  Fact	
  Sheet	
  (details	
  follow)
See	
  https://dev.leanix.net/v4.0/docs/graphql-­‐in-­‐java
Embedding	
  GraphQL:	
  Call	
  GraphQL from	
  Java	
  –
Get	
  Fact	
  Sheet	
  By	
  Id
37
1
5
3
2
4
5
Use	
  an	
  abstract	
  base	
  class	
  for	
  efficiency1
Use	
  standard	
  JSON	
  libraries2
Build	
  the	
  query3
Execute	
  the	
  query4
Handle	
  errors
Embedding	
  GraphQL:	
  Call	
  GraphQL from	
  Java	
  –
Update	
  Fact	
  Sheet	
  
38
Same	
  base	
  class	
  as	
  before1
Create	
  the	
  required	
  patches2
Helper	
  method	
  to	
  handle	
  mutations3
1
2
3
Embedding	
  GraphQL:	
  Beyond	
  the	
  inline	
  IDE
39
Swagger	
  /	
  curl
How to call GraphQL via	
  REST
Java
Quick	
  Walkthrough
Python
Edit	
  application costs with
GraphQL
Embedding	
  GraphQL:	
  Editing	
  application	
  cost	
  in	
  Python	
  
– Create	
  the	
  connection
40https://dev.leanix.net/v4.0/docs/graphql-­‐example-­‐application-­‐costs
Embedding	
  GraphQL:	
  Editing	
  application	
  cost	
  in	
  Python	
  
– Initial	
  import
41
Use	
  https://pandas.pydata.org/ to	
  read	
  the	
  CSV1
Use	
  multiline	
  strings	
  to	
  represent	
  the	
  queries	
  /	
  mutations2
Use	
  Python	
  standard	
  JSON	
  processing	
  for	
  dealing	
  with	
  
the	
  results
3
1
2
3
Embedding	
  GraphQL:	
  Editing	
  application	
  cost	
  in	
  Python	
  
– Update
42
Use	
  https://pandas.pydata.org/ to	
  read	
  the	
  CSV1
Use	
  multiline	
  strings	
  to	
  represent	
  the	
  queries	
  /	
  mutations2
Use	
  Python	
  standard	
  JSON	
  processing	
  for	
  dealing	
  with	
  
the	
  results
3
1
2
3
Summary:	
  What	
  you’ve	
  learnt	
  and	
  where	
  to	
  learn	
  more	
  
43
What	
  have	
  you	
  
learnt?
Where	
  to	
  learn	
  more?
Webinar	
  Part	
  3	
  –
Custom	
  Reports
• Advanced	
  concepts	
  (filter,	
  paging,	
  patches,	
  revisions)
• How	
  to	
  embed	
  GraphQL (via	
  Swagger,	
  curl,	
  Java,	
  Python)
A
B
C
• Check	
  https://dev.leanix.net or	
  https://graphql.org
• Reach	
  out	
  to	
  support@leanix.net for	
  feedback,	
  questions	
  and	
  
ideas
• Learn	
  how	
  to	
  upload	
  your	
  own	
  JavaScript	
  reports	
  based	
  on	
  
GraphQL into	
  LeanIX
44
“You	
  can’t	
  build	
  your	
  IT	
  architecture	
  today	
  with	
  
yesterday’s	
  tools	
  and	
  stay	
  in	
  business	
  tomorrow”

Contenu connexe

Tendances

Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Hafiz Ismail
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQLRodrigo Prates
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQLTomasz Bak
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQLAppier
 
REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQLSquareboat
 
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentationVibhor Grover
 
How to GraphQL: React Apollo
How to GraphQL: React ApolloHow to GraphQL: React Apollo
How to GraphQL: React ApolloTomasz Bak
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQLMuhilvarnan V
 
GraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsGraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsSashko Stubailo
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL IntroductionSerge Huber
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...luisw19
 
Introduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & BahrainIntroduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & BahrainNeo4j
 
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL StackSashko Stubailo
 
GraphQL vs REST
GraphQL vs RESTGraphQL vs REST
GraphQL vs RESTGreeceJS
 

Tendances (20)

Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Intro to GraphQL
 Intro to GraphQL Intro to GraphQL
Intro to GraphQL
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQL
 
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentation
 
How to GraphQL: React Apollo
How to GraphQL: React ApolloHow to GraphQL: React Apollo
How to GraphQL: React Apollo
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 
GraphQL
GraphQLGraphQL
GraphQL
 
GraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsGraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer tools
 
GraphQL Fundamentals
GraphQL FundamentalsGraphQL Fundamentals
GraphQL Fundamentals
 
Sql Antipatterns Strike Back
Sql Antipatterns Strike BackSql Antipatterns Strike Back
Sql Antipatterns Strike Back
 
RESTful API - Best Practices
RESTful API - Best PracticesRESTful API - Best Practices
RESTful API - Best Practices
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL Introduction
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
 
GraphQL
GraphQLGraphQL
GraphQL
 
Introduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & BahrainIntroduction to Neo4j for the Emirates & Bahrain
Introduction to Neo4j for the Emirates & Bahrain
 
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
 
GraphQL vs REST
GraphQL vs RESTGraphQL vs REST
GraphQL vs REST
 

Similaire à GraphQL Advanced

PyCon Korea - Real World Graphene
PyCon Korea - Real World GraphenePyCon Korea - Real World Graphene
PyCon Korea - Real World GrapheneMarcin Gębala
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...NETWAYS
 
CIP Developing Curator Tool Wizards
CIP Developing Curator Tool WizardsCIP Developing Curator Tool Wizards
CIP Developing Curator Tool WizardsEdwin Rojas
 
Custom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQLCustom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQLLeanIX GmbH
 
بررسی چارچوب جنگو
بررسی چارچوب جنگوبررسی چارچوب جنگو
بررسی چارچوب جنگوrailsbootcamp
 
An introduction to Microsoft Graph for developers
An introduction to Microsoft Graph for developersAn introduction to Microsoft Graph for developers
An introduction to Microsoft Graph for developersMicrosoft 365 Developer
 
API Management for GraphQL
API Management for GraphQLAPI Management for GraphQL
API Management for GraphQLWSO2
 
Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...
Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...
Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...Andrew Ly
 
Using Compass to Diagnose Performance Problems
Using Compass to Diagnose Performance Problems Using Compass to Diagnose Performance Problems
Using Compass to Diagnose Performance Problems MongoDB
 
Using Compass to Diagnose Performance Problems in Your Cluster
Using Compass to Diagnose Performance Problems in Your ClusterUsing Compass to Diagnose Performance Problems in Your Cluster
Using Compass to Diagnose Performance Problems in Your ClusterMongoDB
 
Partner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - AprilPartner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - Aprilconfluent
 
Big Data projects.pdf
Big Data projects.pdfBig Data projects.pdf
Big Data projects.pdfssuserf0a206
 
Software Portfolio - SetFocus
Software Portfolio - SetFocusSoftware Portfolio - SetFocus
Software Portfolio - SetFocusAlexander Vogel
 
New GRIN-Global tools developed by CIP in 2020
New GRIN-Global tools developed by CIP in 2020New GRIN-Global tools developed by CIP in 2020
New GRIN-Global tools developed by CIP in 2020Edwin Rojas
 
Learn to Effectively Script in ACL – The Keys To Getting Started and Fully Au...
Learn to Effectively Script in ACL – The Keys To Getting Started and Fully Au...Learn to Effectively Script in ACL – The Keys To Getting Started and Fully Au...
Learn to Effectively Script in ACL – The Keys To Getting Started and Fully Au...Jim Kaplan CIA CFE
 
SharePoint Saturday Atlanta 2015
SharePoint Saturday Atlanta 2015SharePoint Saturday Atlanta 2015
SharePoint Saturday Atlanta 2015Pushkar Chivate
 
MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...
MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...
MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...Jitendra Bafna
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Apigee | Google Cloud
 

Similaire à GraphQL Advanced (20)

PyCon Korea - Real World Graphene
PyCon Korea - Real World GraphenePyCon Korea - Real World Graphene
PyCon Korea - Real World Graphene
 
GraphQL Basics
GraphQL BasicsGraphQL Basics
GraphQL Basics
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
 
CIP Developing Curator Tool Wizards
CIP Developing Curator Tool WizardsCIP Developing Curator Tool Wizards
CIP Developing Curator Tool Wizards
 
Custom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQLCustom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQL
 
بررسی چارچوب جنگو
بررسی چارچوب جنگوبررسی چارچوب جنگو
بررسی چارچوب جنگو
 
An introduction to Microsoft Graph for developers
An introduction to Microsoft Graph for developersAn introduction to Microsoft Graph for developers
An introduction to Microsoft Graph for developers
 
API Management for GraphQL
API Management for GraphQLAPI Management for GraphQL
API Management for GraphQL
 
Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...
Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...
Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...
 
VINOD_6yrs
VINOD_6yrsVINOD_6yrs
VINOD_6yrs
 
Using Compass to Diagnose Performance Problems
Using Compass to Diagnose Performance Problems Using Compass to Diagnose Performance Problems
Using Compass to Diagnose Performance Problems
 
Using Compass to Diagnose Performance Problems in Your Cluster
Using Compass to Diagnose Performance Problems in Your ClusterUsing Compass to Diagnose Performance Problems in Your Cluster
Using Compass to Diagnose Performance Problems in Your Cluster
 
Partner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - AprilPartner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - April
 
Big Data projects.pdf
Big Data projects.pdfBig Data projects.pdf
Big Data projects.pdf
 
Software Portfolio - SetFocus
Software Portfolio - SetFocusSoftware Portfolio - SetFocus
Software Portfolio - SetFocus
 
New GRIN-Global tools developed by CIP in 2020
New GRIN-Global tools developed by CIP in 2020New GRIN-Global tools developed by CIP in 2020
New GRIN-Global tools developed by CIP in 2020
 
Learn to Effectively Script in ACL – The Keys To Getting Started and Fully Au...
Learn to Effectively Script in ACL – The Keys To Getting Started and Fully Au...Learn to Effectively Script in ACL – The Keys To Getting Started and Fully Au...
Learn to Effectively Script in ACL – The Keys To Getting Started and Fully Au...
 
SharePoint Saturday Atlanta 2015
SharePoint Saturday Atlanta 2015SharePoint Saturday Atlanta 2015
SharePoint Saturday Atlanta 2015
 
MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...
MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...
MuleSoft Surat Virtual Meetup#6 - MuleSoft Project Template Using Maven Arche...
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 

Plus de LeanIX GmbH

LeanIX Virtual Workspaces
LeanIX Virtual WorkspacesLeanIX Virtual Workspaces
LeanIX Virtual WorkspacesLeanIX GmbH
 
How to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual WorkspacesHow to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual WorkspacesLeanIX GmbH
 
Gartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven ArchitecturesGartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven ArchitecturesLeanIX GmbH
 
Application Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIXApplication Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIXLeanIX GmbH
 
Effective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutionsEffective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutionsLeanIX GmbH
 
Lean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio IntegrationLean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio IntegrationLeanIX GmbH
 
Next Level Enterprise Architecture
Next Level Enterprise ArchitectureNext Level Enterprise Architecture
Next Level Enterprise ArchitectureLeanIX GmbH
 
Integration Architecture with the Data Flow
Integration Architecture with the Data FlowIntegration Architecture with the Data Flow
Integration Architecture with the Data FlowLeanIX GmbH
 
LeanIX-ServiceNow Integration
LeanIX-ServiceNow IntegrationLeanIX-ServiceNow Integration
LeanIX-ServiceNow IntegrationLeanIX GmbH
 
Application Rationalization with LeanIX
Application Rationalization with LeanIXApplication Rationalization with LeanIX
Application Rationalization with LeanIXLeanIX GmbH
 
LeanIX Inventory: Import & Export
LeanIX Inventory: Import & ExportLeanIX Inventory: Import & Export
LeanIX Inventory: Import & ExportLeanIX GmbH
 
Survey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud TransformationSurvey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud TransformationLeanIX GmbH
 
The LeanIX Microservices Integration
The LeanIX Microservices IntegrationThe LeanIX Microservices Integration
The LeanIX Microservices IntegrationLeanIX GmbH
 
Ensure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIXEnsure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIXLeanIX GmbH
 
LeanIX-Signavio Integration
LeanIX-Signavio IntegrationLeanIX-Signavio Integration
LeanIX-Signavio IntegrationLeanIX GmbH
 
How to set up a Lean Standards Governance
How to set up a Lean Standards GovernanceHow to set up a Lean Standards Governance
How to set up a Lean Standards GovernanceLeanIX GmbH
 
Innovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX EnhancementsInnovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX EnhancementsLeanIX GmbH
 
Moving EA - from where we are to where we should be
Moving EA - from where we are to where we should beMoving EA - from where we are to where we should be
Moving EA - from where we are to where we should beLeanIX GmbH
 
Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?LeanIX GmbH
 
Beyond CIO - Will there still be Architecture Management in 2025
Beyond CIO - Will there still be Architecture Management in 2025Beyond CIO - Will there still be Architecture Management in 2025
Beyond CIO - Will there still be Architecture Management in 2025LeanIX GmbH
 

Plus de LeanIX GmbH (20)

LeanIX Virtual Workspaces
LeanIX Virtual WorkspacesLeanIX Virtual Workspaces
LeanIX Virtual Workspaces
 
How to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual WorkspacesHow to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual Workspaces
 
Gartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven ArchitecturesGartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven Architectures
 
Application Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIXApplication Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIX
 
Effective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutionsEffective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutions
 
Lean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio IntegrationLean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio Integration
 
Next Level Enterprise Architecture
Next Level Enterprise ArchitectureNext Level Enterprise Architecture
Next Level Enterprise Architecture
 
Integration Architecture with the Data Flow
Integration Architecture with the Data FlowIntegration Architecture with the Data Flow
Integration Architecture with the Data Flow
 
LeanIX-ServiceNow Integration
LeanIX-ServiceNow IntegrationLeanIX-ServiceNow Integration
LeanIX-ServiceNow Integration
 
Application Rationalization with LeanIX
Application Rationalization with LeanIXApplication Rationalization with LeanIX
Application Rationalization with LeanIX
 
LeanIX Inventory: Import & Export
LeanIX Inventory: Import & ExportLeanIX Inventory: Import & Export
LeanIX Inventory: Import & Export
 
Survey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud TransformationSurvey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud Transformation
 
The LeanIX Microservices Integration
The LeanIX Microservices IntegrationThe LeanIX Microservices Integration
The LeanIX Microservices Integration
 
Ensure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIXEnsure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIX
 
LeanIX-Signavio Integration
LeanIX-Signavio IntegrationLeanIX-Signavio Integration
LeanIX-Signavio Integration
 
How to set up a Lean Standards Governance
How to set up a Lean Standards GovernanceHow to set up a Lean Standards Governance
How to set up a Lean Standards Governance
 
Innovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX EnhancementsInnovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX Enhancements
 
Moving EA - from where we are to where we should be
Moving EA - from where we are to where we should beMoving EA - from where we are to where we should be
Moving EA - from where we are to where we should be
 
Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?
 
Beyond CIO - Will there still be Architecture Management in 2025
Beyond CIO - Will there still be Architecture Management in 2025Beyond CIO - Will there still be Architecture Management in 2025
Beyond CIO - Will there still be Architecture Management in 2025
 

Dernier

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Dernier (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

GraphQL Advanced

  • 2. What  you  will  learn 2 • Quick  recap  from  Part  1 • Deep  Dive:  Filter,  Paging,  Patches,  Revisions • How  to  embed  GraphQL in  Swagger,  curl,  Java • Concrete  use  case  (based  on  Python)
  • 3. Recap  (1/3):  How  the  way  to  embed  LeanIX  is  evolving 3 Data  input ! Upload Web  UI Survey Data  usage Download Web  UI Mobile  App ITSM BPM Vendor  Lifecycles Metrics BPM ITSM Universe  of     modern  IT   management   tools Universe  of   modern   reporting   solutions Single   source  of   truth Out-­‐of-­‐ the-­‐box   inte-­‐ grations Integrated   information   hub "
  • 4. Recap  (2/3):  Basic  Concepts  -­‐ Query  and  Mutation 4 query Retrieve  Fact  Sheet  data,   Subscriptions,  Tags,  …. mutation Create,  Update  or  Delete  Fact   Sheets,  Subscriptions,  Tags,  …
  • 5. Recap (3/3): How to use the integrated GraphQL IDE from your LeanIX workspace 5 1 2 3 5 4 1 Access  GraphiQL from  the   admin  area 2 Use  auto-­‐completion  and   prettify  to  formulate  and  run   your  query 3 Optional:  Use  variables  to   better  structure  your  query 4 Access  the  results  directly,   iterate  until  you  have  got  all   data  you  need 5 Use  the  built-­‐in  reference    for   details
  • 6. Advanced  Concepts:  Filter,  Paging,  Patches,  Revisions 6 Filter How to formulate your queries to get precisely your result? Paging How to query large  amounts of data in   productive settings? Patches How to leverage mutations for different  type   of changes? Revisions How to support a  stable productive environment with concurrent changes?
  • 7. Advanced  Concepts:  Filter,  Paging,  Patches,  Revisions 7 Filter How to formulate your queries to get precisely your result? Paging How to query large  amounts of data in   productive settings?   Patches How to leverage mutations for different  type   of changes? Revisions How to support a  stable productive environment with concurrent changes?
  • 9. Filter:  By  Fact  Sheet  IDs 9
  • 10. Filter:  By  External  IDs 10 Pro  Tip:  Get  the   exact  Path  by   including  the   external  ID  in  the   results  and  using   autocomplete.
  • 11. Filter:  By  exact  Display  Name 11 Attention:  There   are  different   display  name  rules   by  Fact  Sheet   types,  e.g.   including  hierarchy   or  release.
  • 12. Filter:  By  Quick  Search 12 Attention:   Optimized  for   performance,   descriptions  etc.   are  not  included.
  • 13. Filter:  By  Full  Text  Search 13
  • 18. Pro  Tip:  Use  Browser  Developer  Tools  as  reference  for  Facet   Keys  and  Values   18 See  e.g.   https://developers.google.com/ web/tools/chrome-­‐devtools/ or   https://docs.microsoft.com/en-­‐ us/microsoft-­‐edge/devtools-­‐ guide
  • 19. Advanced:  Use  a  subfilter (“show  all  applications  that  uses  an   IT  Component  of  Provider  Microsoft”) 19
  • 20. Advanced:  Use  a  filter  on  relations  to  limit  the  result  set   (“show  all  applications  …  and  only  the  Microsoft  relations”) 20
  • 21. Advanced  Concepts:  Filter,  Paging,  Patches,  Revisions 21 Filter How to formulate your queries to get precisely your result? Paging How to query large  amounts of data in   productive settings ? Patches How to leverage mutations for different  type   of changes? Revisions How to support a  stable productive environment with concurrent changes?
  • 22. Paging:  Retrieve  large  amount  of  Fact  Sheets 22 1.  Include   pageinfo {}  in  your   query 2.  Obtain  a  cursor 3.  Use  “after”  with   the  cursor 4.  Repeat  until   “hasNextPages”  is   false
  • 23. Advanced  Concepts:  Filter,  Paging,  Patches,  Revisions 23 Filter How to formulate your queries to get precisely your result? Paging How to query large  amounts of data in   productive settings?   Patches How to leverage mutations for different  type   of changes? Revisions How to support a  stable productive environment with concurrent changes?
  • 24. Patches  Recap  (1/2):  Attributes 24 Use “validateOnly“  to test your query before executing it.
  • 25. Patches  Recap  (2/2):  Relations 25 Learn more about patches in   Part  2  of the Webinar  Series.
  • 26. Patches:  Summary 26 Operator Path Value • Add • Replace   • Remove A B C • /attributeName • /relationName/new_<idx>  for  new  relations • /relationName/<relationId>  for  existing  relations • String  for  attribute • JSON  Object  for  Relations  or  ExternalIDs • Array  for  Tag  /  Multi-­‐Select -­‐ It’s  always  good  practice  to  work  with  multiple  patches  in  one  API  call -­‐ Use  the  browser  developer  tools  as  reference  for  exact  syntax  if  unsure
  • 27. Advanced  Concepts:  Filter,  Paging,  Patches,  Revisions 27 Filter How to formulate your queries to get precisely your result? Paging How to query large  amounts of data in   productive settings? Patches How to leverage mutations for different  type   of changes? Revisions How to support a  stable productive environment with concurrent changes?
  • 28. 28 Revisions:  Clear  conflict  resolution  strategy 1.  Start  to  edit  a   Fact  Sheet  in  the   UI 2.  Retrieve  the   Fact  Sheet  via   GraphQL =>   revision:  23 3.  Update  the   Fact  Sheet  via   GraphQL =>   revision:  24 4.  Save  in  the  UI   – user  will  get  a   conflict
  • 29. Embedding  GraphQL:  Beyond  the  inline  IDE 29 Swagger  /  curl How to call GraphQL via  REST Java Quick  Walkthrough Python Edit  application costs with GraphQL
  • 30. Embedding  GraphQL:  Beyond  the  inline  IDE 30 Swagger  /  curl How to call GraphQL via  REST Java Quick  Walkthrough Python Edit  application costs with GraphQL
  • 31. Embedding  GraphQL:  Call  GraphQL via  REST 31 Create  an  API  Token  before opening Swagger
  • 32. Embedding  GraphQL:  Call  GraphQL via  REST 32 Insert  your API  Token  and press   „Explore“
  • 33. 33 Embedding  GraphQL:  Call  GraphQL via  REST  -­‐ Query Insert  your Query  and press  „Try  it out“ Get your response Get the curl command.  See   https://dev.leanix. net/v4.0/docs/aut hentication as well.
  • 34. 34 Embedding  GraphQL:  Call  GraphQL via  REST  -­‐ Mutation Insert  your Mutation  and press  „Try  it out“ Get your response Get the curl command.  See   https://dev.leanix. net/v4.0/docs/aut hentication as well.
  • 35. Embedding  GraphQL:  Beyond  the  inline  IDE 35 Swagger  /  curl How to call GraphQL via  REST Java Quick  Walkthrough Python Edit  application costs with GraphQL
  • 36. Embedding  GraphQL:  Call  GraphQL from  Java 36 1 2 3 4 1 Get  dependencies  via  Maven 2 Connection  with  help  of  SDK 3 Get  a  Fact  Sheet  (details  follow) 4 Update  a  Fact  Sheet  (details  follow) See  https://dev.leanix.net/v4.0/docs/graphql-­‐in-­‐java
  • 37. Embedding  GraphQL:  Call  GraphQL from  Java  – Get  Fact  Sheet  By  Id 37 1 5 3 2 4 5 Use  an  abstract  base  class  for  efficiency1 Use  standard  JSON  libraries2 Build  the  query3 Execute  the  query4 Handle  errors
  • 38. Embedding  GraphQL:  Call  GraphQL from  Java  – Update  Fact  Sheet   38 Same  base  class  as  before1 Create  the  required  patches2 Helper  method  to  handle  mutations3 1 2 3
  • 39. Embedding  GraphQL:  Beyond  the  inline  IDE 39 Swagger  /  curl How to call GraphQL via  REST Java Quick  Walkthrough Python Edit  application costs with GraphQL
  • 40. Embedding  GraphQL:  Editing  application  cost  in  Python   – Create  the  connection 40https://dev.leanix.net/v4.0/docs/graphql-­‐example-­‐application-­‐costs
  • 41. Embedding  GraphQL:  Editing  application  cost  in  Python   – Initial  import 41 Use  https://pandas.pydata.org/ to  read  the  CSV1 Use  multiline  strings  to  represent  the  queries  /  mutations2 Use  Python  standard  JSON  processing  for  dealing  with   the  results 3 1 2 3
  • 42. Embedding  GraphQL:  Editing  application  cost  in  Python   – Update 42 Use  https://pandas.pydata.org/ to  read  the  CSV1 Use  multiline  strings  to  represent  the  queries  /  mutations2 Use  Python  standard  JSON  processing  for  dealing  with   the  results 3 1 2 3
  • 43. Summary:  What  you’ve  learnt  and  where  to  learn  more   43 What  have  you   learnt? Where  to  learn  more? Webinar  Part  3  – Custom  Reports • Advanced  concepts  (filter,  paging,  patches,  revisions) • How  to  embed  GraphQL (via  Swagger,  curl,  Java,  Python) A B C • Check  https://dev.leanix.net or  https://graphql.org • Reach  out  to  support@leanix.net for  feedback,  questions  and   ideas • Learn  how  to  upload  your  own  JavaScript  reports  based  on   GraphQL into  LeanIX
  • 44. 44 “You  can’t  build  your  IT  architecture  today  with   yesterday’s  tools  and  stay  in  business  tomorrow”