Size: a a a

Архитектура ИТ-решений

2021 January 14

F

Fagor in Архитектура ИТ-решений
Yuri Geronimus
Это так делается (опять же из практики моих команд, которые в псевдокоде проектируют): псевдокод сам пишется на русском, но по факту это классы на каком-нибудь JS, и есть кнопка «скомпилировать и запустить».
В классах уже на нормальном языке прописаны правила и «загоняние экземпляров классов в графовую бд neo4j».
А в конце кода функции проверки, которые делают нужные проверки к модели через запросы к этой neo4j и выдают прямо отчет ошибок модели. Ну это помимо классического «не скомпилировалось - значит ошибка где-то в модели».

Проверки соответственно любые: требование поменялось - по зависимостям пройтись; целостность чего-то; у каких функций нет модулей и т.д.; и самое главное - проход по дереву и графу который без графовой бд вообще ногу сломишь проверки делать, а запрос к графовой БД любой студент или консультант))); и покажи мне все серверы на которые смотрят серверы на которых стоит инстанс Oracle на который смотрят Sharepoint версии не более xxx, на серверы с которыми установлены патчи такие-то…
вы только про модель, а тулы проектирования модели? каждый раз переписывать код всей модели (не диаграммы, а модели того что будет и какие диаграммы будут в ней) не вариант. В общем я понимаю про что вы, но все чуточку сложнее, для обеспечения того что хотелось бы видеть мне.
источник

YG

Yuri Geronimus in Архитектура ИТ-решений
Я бы добавил, что у меня есть ощущение что в современной архитектуре связанных и целостных архитектур не бывает… Все так быстро меняется и с разных viewpoint чуть по-разному видится, поэтому разрывы это вообще у нас всегда ок в проектах… Мы эти отчеты расхождений смотрим и просто ставим в своих task teacker либо «ну и ладно» (и это в нашей практике и ок), либо task создаем на устранение (подглядели подход в ITIL Change & Config).

P.S. Здесь я не говорю про критические системы и вообще наверное говорю про какой-то класс, но сейчас он стал большим
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Yuri Geronimus
Я бы добавил, что у меня есть ощущение что в современной архитектуре связанных и целостных архитектур не бывает… Все так быстро меняется и с разных viewpoint чуть по-разному видится, поэтому разрывы это вообще у нас всегда ок в проектах… Мы эти отчеты расхождений смотрим и просто ставим в своих task teacker либо «ну и ладно» (и это в нашей практике и ок), либо task создаем на устранение (подглядели подход в ITIL Change & Config).

P.S. Здесь я не говорю про критические системы и вообще наверное говорю про какой-то класс, но сейчас он стал большим
По-моему, это единственное возможное решение - взаимодействие при разрешении конфликтов между разными viewpoints (группами стейкхолдеров).

То есть, таски, да. Но в рамках конструктивного взаимодействия, а не пинг-понга.
источник

Y

Yury in Архитектура ИТ-решений
Gennadiy Kruglov
Мы это обсуждали в другом чате. Даже не хочется комментировать этот вопрос
Подскажите, в каком чате, плз
источник

F

Fagor in Архитектура ИТ-решений
Yuri Geronimus
Это так делается (опять же из практики моих команд, которые в псевдокоде проектируют): псевдокод сам пишется на русском, но по факту это классы на каком-нибудь JS, и есть кнопка «скомпилировать и запустить».
В классах уже на нормальном языке прописаны правила и «загоняние экземпляров классов в графовую бд neo4j».
А в конце кода функции проверки, которые делают нужные проверки к модели через запросы к этой neo4j и выдают прямо отчет ошибок модели. Ну это помимо классического «не скомпилировалось - значит ошибка где-то в модели».

Проверки соответственно любые: требование поменялось - по зависимостям пройтись; целостность чего-то; у каких функций нет модулей и т.д.; и самое главное - проход по дереву и графу который без графовой бд вообще ногу сломишь проверки делать, а запрос к графовой БД любой студент или консультант))); и покажи мне все серверы на которые смотрят серверы на которых стоит инстанс Oracle на который смотрят Sharepoint версии не более xxx, на серверы с которыми установлены патчи такие-то…
Перечитал, на свежую голову. В принципе идея иетересная, задействовать еще и графовую базу для модельки(имею в виду всю модель, а не части). Все что над моделькой, в реляционке. Скорость сократится. Осталось ide "парсить" в real time (таги на лету имеются в виду), и раскладывать в базу. Ну а нотации и правила того же псевдокода для шаблона для в yaml описывать. Потом текстовый процессор научить отражать графы по тегу, добавлять теги на лету. Докрутить визуал графиков в ide и vault для самих файлов продумать. Что бы базу исполнителю не тащить всю. В общем еще раз спасибо, на подумать мне как можно сконструировать вот это вот все.
источник

АЛ

Алексей Лосев... in Архитектура ИТ-решений
pragus
В такой парадигме вообще все становится монолитом. Тот же Google, у которого отсох auth и дальше по цепочке отсохло все остальное - это тоже тогда монолит
есть вещи, которые очень дорого дублировать, да, они могут стать для вас точной отказа. Это как правила аутентификация, авторизация (если она у вас в той или иной мере централизована), система которую вы используете для асинхронного взаимодействия (kafka, nats, rabbit). Что-то из этого вы можете дублировать, что-то, как написал выше, можете, но дорого. У того-же гугла в этом инциденте ютуб продолжал работать, правда, только для неаутентифицированных пользователей. Т.е. это не монолит :)
источник

АЛ

Алексей Лосев... in Архитектура ИТ-решений
pragus
Но переписать на go вполне полезно 😂😂
как человек который за прошлый 2020 год больше всего кода написал именно на Go, ничего против него как языка не имею. Если мотивация для переписывания на Go - это стильно, модно и молодежно; то это, на мой взгляд, плохая мотивация. Те же Java, .Net Core не уступают по основным показателям для очень существенной части задач. Если система написана на устаревшем технологическом стеке (нет в достаточном количестве специалистов на рынке труда, нет готовых библиотек для работы с современными СУБД, брокерами и т.д.), то Go хорошая альтернатива.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Fagor
Текст. В целом давно вообще витает что делать все текстом, с связанными и пере используемыми блоками. есть даже ответ  (из архитектуры зданий и инженерии ее реализующей) - тагирование. Но для ИТ все никак и никто, дорого делать тулы, а спрос не очень что бы большой думаю. если посмотреть "гуру" оформления дата сетов табличных, там тоже советую таблицу минимум таблицей, даже строки не отделять цветами. черт возьми при правильном scale выглядит из результаты лучше чем мои попытки настроить таблицу с минимальными границами.
Ура, наконец-то )
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Gennadiy Kruglov
Ну не знаю)) визуальные образы вроде более информативны)

Левенчуку конечно виднее)) но я так точно делать не буду, имею ввиду псевдокод

Возьмём несложную схему. Она может поместиться на одном экране, а её псевдокод на десяти, а может и на ста

Интересно, Левечук сам так давно руками своими делал)
скорее наоборот )
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Fagor
не знаю, по мне как даже половины критериев нет, что нужно. Да и опять все в таблице, я устал от генерации сотого экселя, потому что нет ide, а кто то хочет и такой срез еще. Нужна нормальная IDE для текста и документов. не процессор текстовый. а полноценная ide + фронт вебовский.
это да, нужно очень
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Gennadiy Kruglov
С мой точки зрения псевдокод годится только для автогенерации. Для проектирования необходимы визуальные образы, не обязательно диаграммы
Это, мне кажется, сильно про привычку и индивидуальные особенности. Как начинающие dba любят картинки, а с некоторого момента быстрее читают DDL. Просто нужен выразительный язык описания.
источник

VN

V N in Архитектура ИТ-решений
Phil Delgyado
Это, мне кажется, сильно про привычку и индивидуальные особенности. Как начинающие dba любят картинки, а с некоторого момента быстрее читают DDL. Просто нужен выразительный язык описания.
Это скорей про высоту приложения взгляда - масштаб так сказать... по глобусу тоже не найдёшь какие то городов и дороги, но зато всех видно, а текстом это замучаешься описывать
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Phil Delgyado
Это, мне кажется, сильно про привычку и индивидуальные особенности. Как начинающие dba любят картинки, а с некоторого момента быстрее читают DDL. Просто нужен выразительный язык описания.
Не вполне так. Проектирование базы - индивидуальная работа.

Проектирование решения - совместная групповая.
источник

F

Fagor in Архитектура ИТ-решений
А кто мешает из текста в глобус? Или из глобуса, текст формировать/редактировать?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Gennadiy Kruglov
Не вполне так. Проектирование базы - индивидуальная работа.

Проектирование решения - совместная групповая.
Ну, что ты, проектированием базы тоже коллективная работа. Не меньше чем решения
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Phil Delgyado
Ну, что ты, проектированием базы тоже коллективная работа. Не меньше чем решения
Пожалуйста, проектируйте в коде.

Мне нужно рисовать. Когда я рисую, вижу недостатки.

Вспомни, как в чате по Data Mesh наши коллеги мгновенно недостатки нашли в схеме.

В псевдокод такой схемы пришлось бы вчитываться, да никто бы и не стал.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, смотря какой псевдокод )
источник

VN

V N in Архитектура ИТ-решений
Fagor
А кто мешает из текста в глобус? Или из глобуса, текст формировать/редактировать?
Ну так вопрос то в чем: в какой форме хранить данные (чтобы и версии и совместная обработка и вот это вот все) - ну тут вероятно текст, а вот в каком виде пользоваться, тут скорее зависит от задачи (если оценить - то картинка удобнее, если детали реализации и т.п. то код вероятно)
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Давайте вспомним эволюцию сред дизайна и разработки веб-интерфейсов

Сначала пытались делать визуальные конструкторы с генерацией кода

Когда стало много динамики, полностью ушли в код, и просмотр в браузере в собранном виде

Когда стало понятно, что невозможно так получить норм UX, стали для проектирования использовать мокапы, а потом уже делать вёрстку
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
V N
Ну так вопрос то в чем: в какой форме хранить данные (чтобы и версии и совместная обработка и вот это вот все) - ну тут вероятно текст, а вот в каком виде пользоваться, тут скорее зависит от задачи (если оценить - то картинка удобнее, если детали реализации и т.п. то код вероятно)
Идеальный вариант - генерация текста на основе визуальной модели и наоборот

В левом блоке пишу, в правом вижу. Блоки можно скрывать.
источник