3. Billie
We are an innovative financial platform, focused on working capital financing.
Some numbers:
● Start: 01.12.2016
● Closed Beta: 01.05.2017
● Public Launch: 01.06.2017
● Team: 36
● Engineering Crew: 18
4. Frontend/Backend communication process at Billie
4
Frontend BackendPush Server
1.WebSocket Connection
5. WebSocket Push 4. API Endpoint Push
3. Change2. WebSocket Authorization
8. What makes it possible
8
● Backend is a Provider of data
● Frontend is a Consumer of data
● Push Server is a unit, responsible for communication. Same as Mock Server
● FE/BE Pact is a collection of two Interactions
○ WS Connection/Authorization
○ Backend - Frontend Push
9. What else makes it possible. Erlang Worldview *
9
● Everything is a process
● Processes have unique names
● If you know the name of a process you can send it a message
● Processes do what they are supposed to do or fail
* as Joe Armstrong, co-inventor of Erlang, summarized in his PhD thesis
10. Contract Testing of WebSockets
10
Consumer (Process) Test (Process)Push Server (Process)
3. Interaction 1
5. Interaction 2
1. Start
2. Start
4. Verification 1
6. Verification 2
12. What if not «Everything is a process»? E.g. PHP
12
Consumer (Object) Test (Process)Push Server (Process)
3. Interaction 1
5. Interaction 2
1. Start
2. Create
4. Verification 1
6. Verification 2