| ▲ | g-b-r 7 hours ago | |
So every app broadcasts all its data to every other internal app? Mandatory, irregardless of the data and the app? If so, the downsides I can see are: - If there really is absolutely no API / way to request data, an app can of course only work on the data generated since it was first run (nothing older), and while it was running (apps downtimes will result in data holes), and that was delivered successfully; inconsistencies and data divergences among the apps are practically guaranteed. But maybe it's allowed to issue events to request arbitrary data? - It's probably significantly easier to exfiltrate sensitive data - Increased workload of the apps for having to constantly broadcast every single datum - Probably a lot of wasted storage for the data's duplication - Data stagnation, if the broadcasts are not careful to include updates and deletions - Possibly significant unnecessary persistent network usage (which could also result in worse network performance) - Persistent data divergence in case of corruption of an app's local db The only advantage I can see is that an app's workload won't increase with the increase of the usage of its data by other apps, but the downsides are much more significant, in my opinion. Maybe they also think that broadcasting can reduce network usage, but when you're doing it for every single datum, even if no one needs it, it sure won't have that effect. And you can potentially broadcast/multicast even if you use APIs, with the big advantage that you can limit it to the data that's really used, and (with multicast) to the apps that do use it. It seems some ideological take, possibly by some architect that read about it on some book. It's probably a variation of Event-driven architectures; by reading about them you might have more success in convincing the higher-ups of changing something. Caching data and broadcasting events can sure be appropriate in some cases, but mandating it a priori for everything, maybe without even a way to request missing data, seems unreasonable to me. I do not have direct experience with something like this, though. | ||