Data architecture using observables and services
In a reactive application Services play 2 roles:
1. Provide streams of data that our application can subscribe to
2. Provide operations to add or modify data
At a high level, the application data architecture is straightforward:
• The services maintain streams which emit models (e.g. Messages)
• The components subscribe to those streams and render according to the most recent values