SlideShare a Scribd company logo
Turning code into wine
Access control, wine dispensing and process
management with PHP and JS.
by Ralf Schwoebel (@orgaralf) #APIcon18
Don‘t drink and root...
212:28
What is going on?
312:28
wineBANK Palma
412:28
wineBANK
• It is a club
• It is a location to store wine
• It is a location to drink wine
• It is an eCommerce platform
• It is technology driven
• Its success is depending (partially) on APIs
wineBANK smart card
512:28
Impressions worldwide
A club and...
...event location...
... storage facility...
... gastronomy ...
... technology based!
612:28
wineBANK.club
And why is that worth a talk on a conference?
712:28
wineBANK General Web
812:28
wineBANK eCommerce
912:28
wineBANK eCommerce
1012:28
wineBANK User Interface
1112:28
wineBANK User Interface
1212:28
wineBANK admin Interface
1312:28
wineBANK admin Interface II
1412:28
Obstacles and learnings
1512:28
1 location:
1 problem
1612:28
2 Locations:
100 Problems
eg: CHF, Taxes, outside
EU, 2 languages more,
special handling of
signups, promotioncodes
1712:28
wineBANK technology
MariaDB
PHP5 on Symphony
Linux Servers
(cloud)
(PHP)
Scripts
API
Connectors
• Invoicing
• Mailings
• Up/Downgrades
• Cancellations
website
PHP + JS = HTML5
Member Area
PHP + JS = HTML5
Franchisee
PHP + JS = HTML5
Franchisor
PHP + JS = HTML5
Master Admin
PHP + JS = HTML5
1812:28
wineBANK – Kung Fu Squad
From „one man band“ to development team...
PHP
Server-Config
Database
APIs
QA
Design
Info-Updates
Monolith Code Symfony based
services & classes
Localize
1912:28
wineBANK Code style
2012:28
wineBANK – the need of the many...
Migration with „Symphony Proxy“: do not throw the code away!
2112:28
wineBANK Code Explosion
• 2 languages
• 5+ tax regions (eg. Austria has something special)
• PDF, XML, CSV generation
• Cross border invoicing with 5x5 cases
(Eg: invoice from Palma to London wineBANKer for BTG)
• 2 evolving APIs, third to come
• Upgrades / Downgrades / Missing Cards, etc.
2212:28
Integration Example
2312:28
Let‘s start simple: Opening Doors
• Cards are produced in bulk: RFID+PIN (card has a number on it)
• Cards are delivered to wineBANK with XLS file
• Membership is sold: card is assigned to contract
• 1 contract can have N cards in X locations (think spouse / team)
• Card code is transferred to all BOSCH systems
• Card is mailed to member: working!
2412:28
Opening Doors with code
• Backend = proprietary Java Pages in German
2512:28
Opening Doors: the obstacles
• Manual card registration in 2 systems
• FTP pull system, no condition reporting (we have to check FTP log)
2612:28
real API
2712:28
Now more seriously: Code, give me wine (BTG)!
• Embedded Windows (sigh) machines
• Connected via local network (Cable, DSL, LTE) to Czech
server
• Franchisee needs to administer the machine CLEANLY!
• Each „click“ converts into a database entry
• Cards are supposed to work globally
• A spanish wineBANKer receives an invoice from London
after drinking there: tax and legal!
2812:28
2912:28
Code, give me wine (BTG)!
1
Sign Up
for the club
2
wB picks a card
enters it manually
3
FTP to doors
Push to BtG
4
Card mailed
to you
5
You fly to Palma
and drink a glass
6
Dataset pushed
to BtG
7
Dataset pulled to
backend
8
Invoice created
eMailed to you
3012:28
Code
3112:28
Obstacles
• 3rd party has different views on how to code
• There is no real staging, because the state differs (always)
• There is no Sandbox from the BtG side
• The franchisee names the wine list: AN2
• Time and deadlines: 4 entities on 1 process!
3212:28
Working on an open heart
3312:28
Obstacles
3412:28
Learnings
The customer has the idea,
but you need to design much more than code:
• Anticipate future expansion: cut your functionality in services!
• Basic project management: external APIs change without warning!
• Testing and automation: come up with a solid test scenario!
• International process design: fix the characteristics before typing!
3512:28
Thank you!
Thank you for your time and attention...
Have a great conference!
Next - 12.15:
• Securing APIs and Microservices with OAuth and OpenID
Connect – Room C
• Micro Frontends – Auditorium
Ralf Schwoebel, CEO
orga.zone AG
rs@orga.zone
https://orga.zone/
3612:28

More Related Content

Similar to APIconference London 2018: Turning code into wine

LA Micro Stock Report 18th March 2014
 LA Micro Stock Report 18th March 2014 LA Micro Stock Report 18th March 2014
LA Micro Stock Report 18th March 2014
LA Micro Group UK Ltd
 
LA Micro Stock Report 4th March 2014
 LA Micro Stock Report 4th March 2014 LA Micro Stock Report 4th March 2014
LA Micro Stock Report 4th March 2014
LA Micro Group UK Ltd
 
LA Micro Stock Report 5th March 2014
 LA Micro Stock Report 5th March 2014 LA Micro Stock Report 5th March 2014
LA Micro Stock Report 5th March 2014
LA Micro Group UK Ltd
 
LA Micro Stock Report 17th March 2014
 LA Micro Stock Report 17th March 2014 LA Micro Stock Report 17th March 2014
LA Micro Stock Report 17th March 2014
LA Micro Group UK Ltd
 
La micro stock report
La micro stock reportLa micro stock report
La micro stock report
LA Micro Group UK Ltd
 
La micro stock report
La micro stock reportLa micro stock report
La micro stock report
LA Micro Group UK Ltd
 
LA Micro Stock Report 26th February 2014
 LA Micro Stock Report 26th February 2014 LA Micro Stock Report 26th February 2014
LA Micro Stock Report 26th February 2014
LA Micro Group UK Ltd
 
LA Micro Stock Report 3rd March 2014
 LA Micro Stock Report 3rd March 2014 LA Micro Stock Report 3rd March 2014
LA Micro Stock Report 3rd March 2014
LA Micro Group UK Ltd
 
La micro stock report
La micro stock reportLa micro stock report
La micro stock report
LA Micro Group UK Ltd
 
How to develop a homebrew application for Nintendo Wii
How to develop a homebrew application for Nintendo WiiHow to develop a homebrew application for Nintendo Wii
How to develop a homebrew application for Nintendo Wii
Pongsakorn U-chupala
 
LA Micro Stock Report 6th March 2014
 LA Micro Stock Report 6th March 2014 LA Micro Stock Report 6th March 2014
LA Micro Stock Report 6th March 2014
LA Micro Group UK Ltd
 
LA Micro Stock Report 7th March 2014
 LA Micro Stock Report 7th March 2014 LA Micro Stock Report 7th March 2014
LA Micro Stock Report 7th March 2014
LA Micro Group UK Ltd
 
LA Micro Stock Report 10th March 2014
 LA Micro Stock Report 10th March 2014 LA Micro Stock Report 10th March 2014
LA Micro Stock Report 10th March 2014
LA Micro Group UK Ltd
 
LA Micro Stock Report 24th February 2014
 LA Micro Stock Report 24th February 2014 LA Micro Stock Report 24th February 2014
LA Micro Stock Report 24th February 2014
LA Micro Group UK Ltd
 
How to Easily Upgrade to a Next-Generation Transit Payment System
How to Easily Upgrade to a Next-Generation Transit Payment SystemHow to Easily Upgrade to a Next-Generation Transit Payment System
How to Easily Upgrade to a Next-Generation Transit Payment System
FEIG Electronics
 
LA Micro Stock Report 21st February 2014
 LA Micro Stock Report 21st February 2014 LA Micro Stock Report 21st February 2014
LA Micro Stock Report 21st February 2014
LA Micro Group UK Ltd
 
Hitcon badge 2018
Hitcon badge 2018 Hitcon badge 2018
Hitcon badge 2018
Alan Lee
 
LA Micro Stock Report 14th March 2014
 LA Micro Stock Report 14th March 2014 LA Micro Stock Report 14th March 2014
LA Micro Stock Report 14th March 2014
LA Micro Group UK Ltd
 
Tài liệu hướng dẫn sử dụng bộ điều khiển Siemens Simatics LOGO!
Tài liệu hướng dẫn sử dụng bộ điều khiển Siemens Simatics LOGO!Tài liệu hướng dẫn sử dụng bộ điều khiển Siemens Simatics LOGO!
Tài liệu hướng dẫn sử dụng bộ điều khiển Siemens Simatics LOGO!
Công ty công nghệ tự động hóa Hoàng Gia
 
LA Micro Stock Report 25th February 2014
 LA Micro Stock Report 25th February 2014 LA Micro Stock Report 25th February 2014
LA Micro Stock Report 25th February 2014
LA Micro Group UK Ltd
 

Similar to APIconference London 2018: Turning code into wine (20)

LA Micro Stock Report 18th March 2014
 LA Micro Stock Report 18th March 2014 LA Micro Stock Report 18th March 2014
LA Micro Stock Report 18th March 2014
 
LA Micro Stock Report 4th March 2014
 LA Micro Stock Report 4th March 2014 LA Micro Stock Report 4th March 2014
LA Micro Stock Report 4th March 2014
 
LA Micro Stock Report 5th March 2014
 LA Micro Stock Report 5th March 2014 LA Micro Stock Report 5th March 2014
LA Micro Stock Report 5th March 2014
 
LA Micro Stock Report 17th March 2014
 LA Micro Stock Report 17th March 2014 LA Micro Stock Report 17th March 2014
LA Micro Stock Report 17th March 2014
 
La micro stock report
La micro stock reportLa micro stock report
La micro stock report
 
La micro stock report
La micro stock reportLa micro stock report
La micro stock report
 
LA Micro Stock Report 26th February 2014
 LA Micro Stock Report 26th February 2014 LA Micro Stock Report 26th February 2014
LA Micro Stock Report 26th February 2014
 
LA Micro Stock Report 3rd March 2014
 LA Micro Stock Report 3rd March 2014 LA Micro Stock Report 3rd March 2014
LA Micro Stock Report 3rd March 2014
 
La micro stock report
La micro stock reportLa micro stock report
La micro stock report
 
How to develop a homebrew application for Nintendo Wii
How to develop a homebrew application for Nintendo WiiHow to develop a homebrew application for Nintendo Wii
How to develop a homebrew application for Nintendo Wii
 
LA Micro Stock Report 6th March 2014
 LA Micro Stock Report 6th March 2014 LA Micro Stock Report 6th March 2014
LA Micro Stock Report 6th March 2014
 
LA Micro Stock Report 7th March 2014
 LA Micro Stock Report 7th March 2014 LA Micro Stock Report 7th March 2014
LA Micro Stock Report 7th March 2014
 
LA Micro Stock Report 10th March 2014
 LA Micro Stock Report 10th March 2014 LA Micro Stock Report 10th March 2014
LA Micro Stock Report 10th March 2014
 
LA Micro Stock Report 24th February 2014
 LA Micro Stock Report 24th February 2014 LA Micro Stock Report 24th February 2014
LA Micro Stock Report 24th February 2014
 
How to Easily Upgrade to a Next-Generation Transit Payment System
How to Easily Upgrade to a Next-Generation Transit Payment SystemHow to Easily Upgrade to a Next-Generation Transit Payment System
How to Easily Upgrade to a Next-Generation Transit Payment System
 
LA Micro Stock Report 21st February 2014
 LA Micro Stock Report 21st February 2014 LA Micro Stock Report 21st February 2014
LA Micro Stock Report 21st February 2014
 
Hitcon badge 2018
Hitcon badge 2018 Hitcon badge 2018
Hitcon badge 2018
 
LA Micro Stock Report 14th March 2014
 LA Micro Stock Report 14th March 2014 LA Micro Stock Report 14th March 2014
LA Micro Stock Report 14th March 2014
 
Tài liệu hướng dẫn sử dụng bộ điều khiển Siemens Simatics LOGO!
Tài liệu hướng dẫn sử dụng bộ điều khiển Siemens Simatics LOGO!Tài liệu hướng dẫn sử dụng bộ điều khiển Siemens Simatics LOGO!
Tài liệu hướng dẫn sử dụng bộ điều khiển Siemens Simatics LOGO!
 
LA Micro Stock Report 25th February 2014
 LA Micro Stock Report 25th February 2014 LA Micro Stock Report 25th February 2014
LA Micro Stock Report 25th February 2014
 

More from Ralf Schwoebel

Pagespeed SEO 2018: Google Mobile Index Optimization
Pagespeed SEO 2018: Google Mobile Index OptimizationPagespeed SEO 2018: Google Mobile Index Optimization
Pagespeed SEO 2018: Google Mobile Index Optimization
Ralf Schwoebel
 
HTML5 AppCache: The Manifest
HTML5 AppCache: The ManifestHTML5 AppCache: The Manifest
HTML5 AppCache: The Manifest
Ralf Schwoebel
 
Updated: NW.js - Desktop Apps with Javascript
Updated: NW.js - Desktop Apps with JavascriptUpdated: NW.js - Desktop Apps with Javascript
Updated: NW.js - Desktop Apps with Javascript
Ralf Schwoebel
 
Anatomy of mobile App development
Anatomy of mobile App developmentAnatomy of mobile App development
Anatomy of mobile App development
Ralf Schwoebel
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
Ralf Schwoebel
 
Mobile Convergence: Trends for Online Marketeers
Mobile Convergence: Trends for Online MarketeersMobile Convergence: Trends for Online Marketeers
Mobile Convergence: Trends for Online Marketeers
Ralf Schwoebel
 
Technologie und SEO: Cloud, Big Data und Mobile First angeschaut
Technologie und SEO: Cloud, Big Data und Mobile First angeschautTechnologie und SEO: Cloud, Big Data und Mobile First angeschaut
Technologie und SEO: Cloud, Big Data und Mobile First angeschaut
Ralf Schwoebel
 
Mastering On-Site Search / Custom Site Search
Mastering On-Site Search / Custom Site SearchMastering On-Site Search / Custom Site Search
Mastering On-Site Search / Custom Site Search
Ralf Schwoebel
 
German: SMX Munich - Twitter Marketing
German: SMX Munich - Twitter MarketingGerman: SMX Munich - Twitter Marketing
German: SMX Munich - Twitter Marketing
Ralf Schwoebel
 
German Online Roundtable Frankfurt (OSF)
German Online Roundtable Frankfurt (OSF)German Online Roundtable Frankfurt (OSF)
German Online Roundtable Frankfurt (OSF)
Ralf Schwoebel
 
International and European SEO - Pubcon 2008
International and European SEO - Pubcon 2008International and European SEO - Pubcon 2008
International and European SEO - Pubcon 2008
Ralf Schwoebel
 
SEOkomm 2012: Beyond SEO in German - Mehr Traffic ohne Google
SEOkomm 2012: Beyond SEO in German - Mehr Traffic ohne GoogleSEOkomm 2012: Beyond SEO in German - Mehr Traffic ohne Google
SEOkomm 2012: Beyond SEO in German - Mehr Traffic ohne Google
Ralf Schwoebel
 
German Intro: Strategische Markenberatung
German Intro: Strategische MarkenberatungGerman Intro: Strategische Markenberatung
German Intro: Strategische Markenberatung
Ralf Schwoebel
 
German: Frankfurt im Überblick für Buchmesse-Besucher
German: Frankfurt im Überblick für Buchmesse-BesucherGerman: Frankfurt im Überblick für Buchmesse-Besucher
German: Frankfurt im Überblick für Buchmesse-Besucher
Ralf Schwoebel
 
MySQL Install for Replication - Real Life Tutorial
MySQL Install for Replication - Real Life TutorialMySQL Install for Replication - Real Life Tutorial
MySQL Install for Replication - Real Life Tutorial
Ralf Schwoebel
 
Seven steps to great PC health (Windows)
Seven steps to great PC health (Windows)Seven steps to great PC health (Windows)
Seven steps to great PC health (Windows)
Ralf Schwoebel
 
How to make your website IPv6 ready (quickly)
How to make your website IPv6 ready (quickly)How to make your website IPv6 ready (quickly)
How to make your website IPv6 ready (quickly)
Ralf Schwoebel
 
Simple Site Speed Improvements (SMX 2010)
Simple Site Speed Improvements (SMX 2010)Simple Site Speed Improvements (SMX 2010)
Simple Site Speed Improvements (SMX 2010)
Ralf Schwoebel
 
Hosting Issues and SEO
Hosting Issues and SEOHosting Issues and SEO
Hosting Issues and SEO
Ralf Schwoebel
 
Pubcon 2012 Blog and Site performance
Pubcon 2012 Blog and Site performancePubcon 2012 Blog and Site performance
Pubcon 2012 Blog and Site performance
Ralf Schwoebel
 

More from Ralf Schwoebel (20)

Pagespeed SEO 2018: Google Mobile Index Optimization
Pagespeed SEO 2018: Google Mobile Index OptimizationPagespeed SEO 2018: Google Mobile Index Optimization
Pagespeed SEO 2018: Google Mobile Index Optimization
 
HTML5 AppCache: The Manifest
HTML5 AppCache: The ManifestHTML5 AppCache: The Manifest
HTML5 AppCache: The Manifest
 
Updated: NW.js - Desktop Apps with Javascript
Updated: NW.js - Desktop Apps with JavascriptUpdated: NW.js - Desktop Apps with Javascript
Updated: NW.js - Desktop Apps with Javascript
 
Anatomy of mobile App development
Anatomy of mobile App developmentAnatomy of mobile App development
Anatomy of mobile App development
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
 
Mobile Convergence: Trends for Online Marketeers
Mobile Convergence: Trends for Online MarketeersMobile Convergence: Trends for Online Marketeers
Mobile Convergence: Trends for Online Marketeers
 
Technologie und SEO: Cloud, Big Data und Mobile First angeschaut
Technologie und SEO: Cloud, Big Data und Mobile First angeschautTechnologie und SEO: Cloud, Big Data und Mobile First angeschaut
Technologie und SEO: Cloud, Big Data und Mobile First angeschaut
 
Mastering On-Site Search / Custom Site Search
Mastering On-Site Search / Custom Site SearchMastering On-Site Search / Custom Site Search
Mastering On-Site Search / Custom Site Search
 
German: SMX Munich - Twitter Marketing
German: SMX Munich - Twitter MarketingGerman: SMX Munich - Twitter Marketing
German: SMX Munich - Twitter Marketing
 
German Online Roundtable Frankfurt (OSF)
German Online Roundtable Frankfurt (OSF)German Online Roundtable Frankfurt (OSF)
German Online Roundtable Frankfurt (OSF)
 
International and European SEO - Pubcon 2008
International and European SEO - Pubcon 2008International and European SEO - Pubcon 2008
International and European SEO - Pubcon 2008
 
SEOkomm 2012: Beyond SEO in German - Mehr Traffic ohne Google
SEOkomm 2012: Beyond SEO in German - Mehr Traffic ohne GoogleSEOkomm 2012: Beyond SEO in German - Mehr Traffic ohne Google
SEOkomm 2012: Beyond SEO in German - Mehr Traffic ohne Google
 
German Intro: Strategische Markenberatung
German Intro: Strategische MarkenberatungGerman Intro: Strategische Markenberatung
German Intro: Strategische Markenberatung
 
German: Frankfurt im Überblick für Buchmesse-Besucher
German: Frankfurt im Überblick für Buchmesse-BesucherGerman: Frankfurt im Überblick für Buchmesse-Besucher
German: Frankfurt im Überblick für Buchmesse-Besucher
 
MySQL Install for Replication - Real Life Tutorial
MySQL Install for Replication - Real Life TutorialMySQL Install for Replication - Real Life Tutorial
MySQL Install for Replication - Real Life Tutorial
 
Seven steps to great PC health (Windows)
Seven steps to great PC health (Windows)Seven steps to great PC health (Windows)
Seven steps to great PC health (Windows)
 
How to make your website IPv6 ready (quickly)
How to make your website IPv6 ready (quickly)How to make your website IPv6 ready (quickly)
How to make your website IPv6 ready (quickly)
 
Simple Site Speed Improvements (SMX 2010)
Simple Site Speed Improvements (SMX 2010)Simple Site Speed Improvements (SMX 2010)
Simple Site Speed Improvements (SMX 2010)
 
Hosting Issues and SEO
Hosting Issues and SEOHosting Issues and SEO
Hosting Issues and SEO
 
Pubcon 2012 Blog and Site performance
Pubcon 2012 Blog and Site performancePubcon 2012 Blog and Site performance
Pubcon 2012 Blog and Site performance
 

Recently uploaded

Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
Figma AI Design Generator_ In-Depth Review.pdf
Figma AI Design Generator_ In-Depth Review.pdfFigma AI Design Generator_ In-Depth Review.pdf
Figma AI Design Generator_ In-Depth Review.pdf
Management Institute of Skills Development
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
Priyanka Aash
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
Safe Software
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
CEPTES Software Inc
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
aakash malhotra
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Nicolás Lopéz
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
Axel Rennoch
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
Edge AI and Vision Alliance
 
CiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.pptCiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.ppt
moinahousna
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 

Recently uploaded (20)

Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
Figma AI Design Generator_ In-Depth Review.pdf
Figma AI Design Generator_ In-Depth Review.pdfFigma AI Design Generator_ In-Depth Review.pdf
Figma AI Design Generator_ In-Depth Review.pdf
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
 
CiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.pptCiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.ppt
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 

APIconference London 2018: Turning code into wine

  • 1. Turning code into wine Access control, wine dispensing and process management with PHP and JS. by Ralf Schwoebel (@orgaralf) #APIcon18
  • 2. Don‘t drink and root... 212:28
  • 3. What is going on? 312:28
  • 5. wineBANK • It is a club • It is a location to store wine • It is a location to drink wine • It is an eCommerce platform • It is technology driven • Its success is depending (partially) on APIs wineBANK smart card 512:28
  • 6. Impressions worldwide A club and... ...event location... ... storage facility... ... gastronomy ... ... technology based! 612:28
  • 7. wineBANK.club And why is that worth a talk on a conference? 712:28
  • 17. 2 Locations: 100 Problems eg: CHF, Taxes, outside EU, 2 languages more, special handling of signups, promotioncodes 1712:28
  • 18. wineBANK technology MariaDB PHP5 on Symphony Linux Servers (cloud) (PHP) Scripts API Connectors • Invoicing • Mailings • Up/Downgrades • Cancellations website PHP + JS = HTML5 Member Area PHP + JS = HTML5 Franchisee PHP + JS = HTML5 Franchisor PHP + JS = HTML5 Master Admin PHP + JS = HTML5 1812:28
  • 19. wineBANK – Kung Fu Squad From „one man band“ to development team... PHP Server-Config Database APIs QA Design Info-Updates Monolith Code Symfony based services & classes Localize 1912:28
  • 21. wineBANK – the need of the many... Migration with „Symphony Proxy“: do not throw the code away! 2112:28
  • 22. wineBANK Code Explosion • 2 languages • 5+ tax regions (eg. Austria has something special) • PDF, XML, CSV generation • Cross border invoicing with 5x5 cases (Eg: invoice from Palma to London wineBANKer for BTG) • 2 evolving APIs, third to come • Upgrades / Downgrades / Missing Cards, etc. 2212:28
  • 24. Let‘s start simple: Opening Doors • Cards are produced in bulk: RFID+PIN (card has a number on it) • Cards are delivered to wineBANK with XLS file • Membership is sold: card is assigned to contract • 1 contract can have N cards in X locations (think spouse / team) • Card code is transferred to all BOSCH systems • Card is mailed to member: working! 2412:28
  • 25. Opening Doors with code • Backend = proprietary Java Pages in German 2512:28
  • 26. Opening Doors: the obstacles • Manual card registration in 2 systems • FTP pull system, no condition reporting (we have to check FTP log) 2612:28
  • 28. Now more seriously: Code, give me wine (BTG)! • Embedded Windows (sigh) machines • Connected via local network (Cable, DSL, LTE) to Czech server • Franchisee needs to administer the machine CLEANLY! • Each „click“ converts into a database entry • Cards are supposed to work globally • A spanish wineBANKer receives an invoice from London after drinking there: tax and legal! 2812:28
  • 30. Code, give me wine (BTG)! 1 Sign Up for the club 2 wB picks a card enters it manually 3 FTP to doors Push to BtG 4 Card mailed to you 5 You fly to Palma and drink a glass 6 Dataset pushed to BtG 7 Dataset pulled to backend 8 Invoice created eMailed to you 3012:28
  • 32. Obstacles • 3rd party has different views on how to code • There is no real staging, because the state differs (always) • There is no Sandbox from the BtG side • The franchisee names the wine list: AN2 • Time and deadlines: 4 entities on 1 process! 3212:28
  • 33. Working on an open heart 3312:28
  • 35. Learnings The customer has the idea, but you need to design much more than code: • Anticipate future expansion: cut your functionality in services! • Basic project management: external APIs change without warning! • Testing and automation: come up with a solid test scenario! • International process design: fix the characteristics before typing! 3512:28
  • 36. Thank you! Thank you for your time and attention... Have a great conference! Next - 12.15: • Securing APIs and Microservices with OAuth and OpenID Connect – Room C • Micro Frontends – Auditorium Ralf Schwoebel, CEO orga.zone AG rs@orga.zone https://orga.zone/ 3612:28

Editor's Notes

  1. Short introduction of who we are and how the tasks are split. We are talking about a start-up in the wine business with unique processes and clear budget limitations fighting in a global marketplace and a rapidly changing market. Coding is done by conlabz Project management for wineBANK done by orga.zone This basically means translating and priotizing..
  2. Short introduction of who we are and how the tasks are split. We are talking about a start-up in the wine business with unique processes and clear budget limitations fighting in a global marketplace and a rapidly changing market. Coding is done by conlabz Project management for wineBANK done by orga.zone This basically means translating and priotizing..