GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup
-
Upload
leanix-gmbh -
Category
Software
-
view
173 -
download
0
Transcript of GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup
![Page 1: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/1.jpg)
GraphQL @ LeanIX
Patrick Surrey & Dr. Niklas Henrich
![Page 2: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/2.jpg)
2
Patrick Surrey
• At LeanIX for about a year
• Frontend Developer
![Page 3: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/3.jpg)
3
Niklas Henrich
• At LeanIX for about half a year
• Frontend Developer
![Page 4: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/4.jpg)
Namhafte Unternehmen vertrauen bei ihrenHerausforderungen in der IT bereits auf LeanIX
4
Merger&Acquisition
Risiko-Management
ITKomplexitätsreduktion
DigitaleTransformation
Energie
Versicherung
Industrie
E-Commerce
Gesundheit
Logistik
Chemie&Pharma
Medien
![Page 5: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/5.jpg)
TOOL DEMO
5
![Page 6: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/6.jpg)
Document ITArchitecture
Collaborate withinIT Community
Analyze, Design andExecute Roadmaps
![Page 7: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/7.jpg)
Key Focus: Document complex IT Landscapes
7
![Page 8: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/8.jpg)
LEANIX 4.0:“PATHFINDER”
8
![Page 9: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/9.jpg)
LeanIX Data Model – Overview
9
Interface
Application
Provider
ITComponent
Project
UserGroup
DataObject
Tech.Stack
BusinessCapability
Process
![Page 10: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/10.jpg)
LeanIX Data Model – Overview
10
ITComponent
CustomFactSheets
CustomRelations
CustomAttributesA
B
C
LeanIXEAMDataModel LevelsofFlexibility
A
![Page 11: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/11.jpg)
LeanIX Data Model – Overview
11
ITComponent
CustomFactSheets
CustomRelations
CustomAttributesA
B
C
LeanIXEAMDataModel LevelsofFlexibility
Project
B
![Page 12: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/12.jpg)
LeanIX Data Model – Overview
12
CustomFactSheets
CustomRelations
CustomAttributesA
B
C
LeanIXEAMDataModel LevelsofFlexibility
Product
C
![Page 13: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/13.jpg)
13
![Page 14: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/14.jpg)
Pathfinder is a complete rewrite of the LeanIX Core
14
Elastic&Graph
View
Controller
Model
DB
SinglePage App
API
DB
API
Frontend Services
BackendMicro Services
InfrastructureServices
![Page 15: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/15.jpg)
REST APIs are great – but have limitations
15
/capabilities /applications
GET GET
![Page 16: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/16.jpg)
16
“A query language for your API”
http://graphql.org/
![Page 17: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/17.jpg)
17
History
• 2012nativemobileclientforNewsFeed
• Early2015announcedpublicly(https://www.youtube.com/watch?v=9sc8Pyc51uU)
• Sep.2015officiallyopensourced
• Nov.2016:Manymoreusers
![Page 18: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/18.jpg)
18
Basic idea
Server
WHATisavailable
Client
WHICHdataisneeded
1.Schema
2.Datarequirements
Java,Node,Ruby,PHP,Go,Scala,.NET… SimpleHTTP-Client
http://graphql.org/code/
![Page 19: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/19.jpg)
LIVE DEMO
19
![Page 20: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/20.jpg)
20
Angular 2 architecture
HttpService
AuthHttpService
GraphqlService
CommentsServiceCommentsComponent
httpreq.
WriteComment CommentsList
UserInfo UserInfo Comment
loadComments()
toJSON &checkforerrors
BuildGraphQLquery
![Page 21: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/21.jpg)
21
Angular 2: Improvements
• String concatenation for query building
• Hard to unit test
• Hard to manipulate and combine
è Abstraction: Query, Fields, Parameters (utilize TypeScript)
![Page 22: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/22.jpg)
Backend Architecture -Read Data
22
Arbiter(Domain-Level)
(Requestparsing)
TransitiveQueries SearchRetrieval
![Page 23: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/23.jpg)
Backend Architecture -Write Data
23
Arbiter(Domain-Level)
(Requestparsing)
![Page 24: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/24.jpg)
Backend Architecture -Write Data
24
Arbiter(Domain-Level)
(Requestparsing)
![Page 25: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/25.jpg)
Backend Architecture -Write Data
25
Arbiter(Domain-Level)
(Requestparsing)
EventBus
![Page 26: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/26.jpg)
Lessons learned
26
• Use GraphiQL early on (no need for cURL or Postman)
• No dead ends – it’s all a graph
• Be prepared to redesign
• Be prepared to discuss (generic vs. specific)
• No best practices / patterns available yet
![Page 27: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/27.jpg)
Summary
27
![Page 28: GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup](https://reader031.fdocuments.in/reader031/viewer/2022022203/586fdcdf1a28ab18428b667f/html5/thumbnails/28.jpg)
Summary
28
Thanks!Questions?