Más contenido relacionado

Presentaciones para ti(20)

Similar a Flamingo presentation at code.talks commerce by Daniel Pötzinger(20)

Flamingo presentation at code.talks commerce by Daniel Pötzinger

  1. Daniel Pötzinger Flamingo Inspiring Commerce Frontend made in Go Application Development
  2. 20 years experience of building and scaling enterprise web applications
  3. Blazing fast commerce experience layer Open sources with from
  4. We open sourced Flamingo! Why? And what is it?
  5. Soooo.. you really created your own e-commerce framework ? Not really - its more the ”commerce” frontend application supposed to connect to your service architecture
  6. Ok but still there should be a lot solutions out there Yes… and No… .. in fact we also used a lot of active and reliable open source libs. But hear our complete story..
  7. Motivation Trends in e-commerce
  8. More Personalization More targeted Content Marketplaces & Collaborations
  9. Scaling with Microservices Headless Commerce FE 1 FE 2 API 1 API 2 Partner e commerce architecture
  10. Motivation Observations in the last years
  11. Big e-commerce / shop system
  12. PIM OrderMgmt Stockhandling Payment Campaign “Enterprise” Search Recommendation Customer data … Soomuch in itthat I don’t need I have thatalready
  13. Unflexibleand fixed High developer ramp up time
  14. HIGHTRAFFIC Need heavy caching
  15. After rolling out many of these monolithic systems…
  16. Frustrated development teams Spend lot of $$ in • Caching and performance • Building export and imports to other systems
  17. ..can we do better? Fundamental decisions
  18. How would you love to develop commerce applications? Is PHP still the right development language for this? ??
  19. How would you love to develop commerce applications? • Performance: Highly dynamic fast content rendering Individual Personalization and Context aware rendering • Clean architecture • Flexibility in a Microservice architecture: Flexible to use in microservice oriented individual architectures. Useable with „headless“ (commerce) services No Build and deploy overhead • Frontend development flexibility: Decouple frontend build pipeline from „backend“ logic • Testability • Developer Experience: Effective and Fun to use * low learning curve • Open Source
  20. Is PHP the right development language for this? • Webserver included • Compiled / Type Safe • Concurrency • Easy to learn - build to scale • Supported by Google • Increasing Interest and Success
  21. Lets build something new - with the experience we collected And go Open Source with it 2016 / 2017
  22. Ecosystem Carotene Flamingo is an open source framework written in Go. Use Flamingo Core to build sophisticated web applications with tailored frontends. Flamingo Commerce: Your head for headless e-commerce Npm modules that provide frontend build pipeline – featuring pug, sass, webpack and atomic design pattern
  23. Frontend Backend for Frontend web application architecture Other Services Other Services • Anti corruption layer for the (tightly) coupled frontend • Serverside logic • Data security and IT security • Experience / view layer • Can be MPA, SPA, PWA connect / resilience
  24. Frontend Backend for Frontend Core and Framework Modules Commerce Domains Product Cart … ComponentsTemplates Pages+ = Carotene
  25. Multi Page Application Single Page Application Progressive Web App • Serverside rendered • Still king for fast rendering times. • Still king for best SEO. • Usage of progressive enhancement • High user interaction • Usage of SPA frameworks (React/Vue) Enhance with offline features through service workers frontend architecture Despite the PWA hype - you will still need serverside rendering and MPA
  26. Clean architecture Domain Driven Design Ports and Adapters
  27. Flamingo commerce Bounded Contexts with its domain models Cart • Mutli delivery • Multi payment Product • Product Types • Simple • Configurable Search • SearchService • Documents …
  28. CartProduct Search … • Easy to use and decoupled • Potent models • Technology neutral domain model Flamingo commerce Bounded Contexts with its domain models
  29. Flamingo – Ports and Adapters Technology Free Domain Model Application Use Cases Adapters to the outside / Web Controllers Technical details (e.g. accessing a microservice)
  30. Domain of “Product” Context Application Layer Flamingo – Ports and Adapters <<interface>> ProductService .Get (id) Used as primary port: • The product service is called from the interface layer for example (in a ProductViewController) ProductController .ViewAction Product
  31. Domain of “Product” Context Application Layer Flamingo – Ports and Adapters <<interface>> ProductService .Get (id) ProductController .ViewAction Infrastructure Layer ProductServiceAdapter Get (id) {…} Used as secondary port: • The product service is implemented by a secondary adapter Product
  32. Flamingo commerce – Bounded Contexts CartProduct Search … Magento Adapter Module
  33. Flamingo commerce – Bounded Contexts CartProduct Search … Commercetools Adapter Module
  34. Flamingo commerce – Bounded Contexts CartProduct Search … Standalone Adapters (CSV, In Memory Cart)
  35. Try it out
  36. Register for the first training (40 seats) https://bit.ly/2UhQKfG Di., 27.08.2019, 09:00 Uhr – Mi., 28.08.2019, 17:00 Uhr MESZ Wiesbaden, AOE Headquarter
  37. Blazing fast commerce experience layer Open sourced with from www.flamingo.me @aoepeople @danpoetz

Hinweis der Redaktion

  1. Importance on culture Since over 10 years using agile methods And Continuous Delivery practices
  2. Headless: True omnichannel Rapid design Less risk when frequently changing Decoupled https://paulnrogers.com/introduction-to-headless-ecommerce/