С выработкой требований в общих чертах разобрался, если вкратце, то необходимо:
3D Web приложение, отображающее модель Земли практически все, что с ней связано (ландшафт, облака, статические и динамические объекты и т.д.)
Трудности возникли с тем, как эти все данные распределить. В данный момент идея в следующем:
разбить приложение на модули и службы
Модулями будет само 3D приложение, пользовательский редактор, аналитика и сопутствующие приложению небольшие компоненты, с которыми напрямую взаимодействует пользователь (они же используются в 3D приложении, а именно: фотографии, растения, животные, дороги).
Далее, как мне показалось более корректным, вынес функционал, не взаимодействующий напрямую с пользователем, как отдельные службы:
Метеоролог: генерирует и отдает карту облаков, предоставляет данные о погоде и различных природных явлениях Топограф: хранит данные о рельефе и текстуры поверхности Земли Растения: соответственно содержит данные о животных и их 3D модели (изначально назвал как Зоолог, но возникли сомнения по поводу того, стоит ли называть все службы как исполнителя, а не то что внутри, как лучше? ) Животные: тот же принцип
Кроме этого есть еще предостаточно необходимого функционала, который хотелось бы разместить более удачным образом. Например, это данные о дороогах, городах, размещенных в 3D сцене объектов.
Как это сделать более правильно? Стоит посмотреть примеры подобных сервисов или приблизить роли компонентов к реальным областям науки (как уже приводил пример, служба Зоолог), посоветуйте книгу по архитектуре ПО, если есть, желательно на русском))