Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup

716 views

Published on

Für die Realisierung ihrer neuen Plattform hat sich LeanIX für Facebooks’ GraphQL als API entschieden. In ihrem Vortrag erklären Niklas und Patrick die Vorteile ggü. klassischen REST APIs. Zudem zeigen sie, wie die Anbindung im Backend (Java) mit verschiedenen Storages funktioniert (u.a. Elasticsearch) und wie das Frontend (Angular 2) Queries und Mutations an die neue API sendet.
===
LeanIX offers an innovative software-as-a-service solution for Enterprise Architecture Management (EAM), based either in a public cloud or the client’s data center.

Companies like Adidas, Axel Springer, Helvetia, RWE, Trusted Shops and Zalando use LeanIX Enterprise Architecture Management tool.

Free Trial: http://bit.ly/LeanIXFreeTrial

Published in: Software
  • Be the first to comment

  • Be the first to like this

GraphQL in LeanIX Enterprise Architecture Management @ Bonnagile Meetup

  1. 1. GraphQL @ LeanIX Patrick Surrey & Dr. Niklas Henrich
  2. 2. 2 Patrick Surrey • At LeanIX for about a year • Frontend Developer
  3. 3. 3 Niklas Henrich • At LeanIX for about half a year • Frontend Developer
  4. 4. Namhafte Unternehmen vertrauen bei ihren Herausforderungen in der IT bereits auf LeanIX 4 Merger & Acquisition Risiko-Management IT Komplexitätsreduktion Digitale Transformation Energie Versicherung Industrie E-Commerce Gesundheit Logistik Chemie & Pharma Medien
  5. 5. TOOL DEMO 5
  6. 6. Document IT Architecture Collaborate within IT Community Analyze, Design and Execute Roadmaps
  7. 7. Key Focus: Document complex IT Landscapes 7
  8. 8. LEANIX 4.0: “PATHFINDER” 8
  9. 9. LeanIX Data Model – Overview 9 Interface Application Provider IT Component Project User Group Data Object Tech. Stack Business Capability Process
  10. 10. LeanIX Data Model – Overview 10 IT Component Custom Fact Sheets Custom Relations Custom AttributesA B C LeanIX EAM Data Model Levels of Flexibility A
  11. 11. LeanIX Data Model – Overview 11 IT Component Custom Fact Sheets Custom Relations Custom AttributesA B C LeanIX EAM Data Model Levels of Flexibility Project B
  12. 12. LeanIX Data Model – Overview 12 Custom Fact Sheets Custom Relations Custom AttributesA B C LeanIX EAM Data Model Levels of Flexibility Product C
  13. 13. 13
  14. 14. Pathfinder is a complete rewrite of the LeanIX Core 14 Elastic & Graph View Controller Model DB Single Page App API DB API Frontend Services Backend Micro Services Infrastructure Services
  15. 15. REST APIs are great – but have limitations 15 /capabilities /applications GET GET
  16. 16. 16 “A query language for your API” http://graphql.org/
  17. 17. 17 History • 2012 native mobile client for News Feed • Early 2015 announced publicly (https://www.youtube.com/watch?v=9sc8Pyc51uU) • Sep. 2015 officially open sourced • Nov. 2016: Many more users
  18. 18. 18 Basic idea Server WHAT is available Client WHICH data is needed 1. Schema 2. Data requirements Java, Node, Ruby, PHP, Go, Scala, .NET … Simple HTTP-Client http://graphql.org/code/
  19. 19. LIVE DEMO 19
  20. 20. 20 Angular 2 architecture HttpService AuthHttpService GraphqlService CommentsServiceCommentsComponent http req. WriteComment CommentsList UserInfo UserInfo Comment loadComments() toJSON & check for errors Build GraphQL query
  21. 21. 21 Angular 2: Improvements • String concatenation for query building • Hard to unit test • Hard to manipulate and combine è Abstraction: Query, Fields, Parameters (utilize TypeScript)
  22. 22. Backend Architecture - Read Data 22 Arbiter (Domain-Level) (Request parsing) Transitive Queries SearchRetrieval
  23. 23. Backend Architecture - Write Data 23 Arbiter (Domain-Level) (Request parsing)
  24. 24. Backend Architecture - Write Data 24 Arbiter (Domain-Level) (Request parsing)
  25. 25. Backend Architecture - Write Data 25 Arbiter (Domain-Level) (Request parsing) Event Bus
  26. 26. 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
  27. 27. Summary 27
  28. 28. Summary 28 Thanks! Questions?

×