3 ms·
Indeed, but if you are building in microservices, a new level is introduced. If you can get your service boundaries and APIs fully defined and correct, then th
by abraae 10y ago
Indeed, but if you are building in microservices, a new level is introduced.
If you can get your service boundaries and APIs fully defined and correct, then the relational database models (underpinning each of those services) just fall from the tree for you.
And then as you say the screens and elements are obvious.
- wvenable 10y agoHonestly I'd still prefer to go other way -- from the relational database models you get your APIs defined and correct and then the screens and elements are obvious. I find if you start at the database model layer you much less likely to screw up the API design. The database model forces a bit of rigor that you can't get going the other direction.
- abraae 10y agoIMO it's dead easy to create APIs from a database schema, where that schema underpins your monolith and you're opening said monolith up to the outside world, and you don't really care too much what goes on out there. But if you're building a system which is not a monolith, and instead is made of up of, say, 20 services, then putting good boxes around those services and defining the lines that connect them (the APIs) is an essential prereq to designing the databases that sit inside the boxes. (Though really what's happening, as always, is you're doing it all in parallel, just with more emphasis on the higher level stuff).
- wvenable 10y agoI can't really disagree with that. I usually design micro-services the same as do monoliths; it's just the client is different (another service).