Цитата:
Сообщение от
LETTO
Да и не должно быть известно. В сервисах есть открытый контракт. Все что внутри - не должен туда лезть никто, кроме владельца. Для клиента должны быть точка расширения. Как в 365 сейчас (но плохо что это расширения в том же монолите). Пусть пишет расширения клиент и сам за них отвечает.
Та же пресловутая разноска заказа на продажу. Там контракт и не менялся практически с версии 2.5. Клиент, Договор, Налоги. Строки - номенклатура, кол-во-цена. Все остальные приблуды для стран/клиентов должны идти как расширения к сервису с неизменным базовым контрактом.
У нас сейчас на реальном проекте настроена синхронизация (штатными средствами) таблицы клиентов в D365FO и D365CE. Если поменять ОДНО синхронизируемое поле, то синхронизация через стандартный веб-сервис требует примерно 2 секунд. (Юзеры жалуются в общем). Если какая-то из компонент системы холодная - синхронизация может до 7-8 секунд длиться.
Теперь представим себе расширение облачного MRP. Допустим мне, по требованиям бизнеса, нужно приделать расширение, которое при сопоставлении чистых потребностей проверяет - подходит ли этот плановый приход к этому плановому расходу по каким-то дополнительным требованиям (специфичным для клиента). Это значит, после поиска каждого кандидата на сопоставление, микросервис должен вызвать другой микросервис (уже не микрософтом, а мной написаный). И это потребует 2 секунды. Типичное число чистых потребностей для при планировании (для средней руки производственного предприятия) - это где-то 100-200K. Множим 2*150000 = 300000 секунд, то есть - порядка 85 часов на одну сессию планирования. В старом X++овском коде времен DAX2012 обработка этой дополнительной проверки занимала порядка 50-100ms (пара запросов в БД + еще какая-то логика) и планирование для всех этих 200000 чистых потребностей отрабатывало в параллельном режиме часа за 2-3.