Посты
avatar

Рабочий процесс может завершиться идеально, но при этом внешний мир останется в неверном состоянии. Представьте, что автономное приложение для коммерции, связанное с @RialoHQ, получает заказ на последний товар на складе. Рабочий процесс завершается успешно: платеж зачислен, заказ подтверждён, клиент получил чек. С точки зрения блокчейн-приложения, всё выглядит завершённым. Но API склада никогда не получает обновление о состоянии запасов. Ончейн-состояние теперь говорит, что товар был продан. Склад по-прежнему сообщает, что доступен 1 товар. Через несколько минут другая система считывает данные о запасах на складе и пытается продать тот же товар снова. Ничего не сломалось внутри исходной транзакции. Проблема в том, что две системы, которые должны отражать одну и ту же реальность, расхо́дились. Вот здесь и начинает проявляться важность идеи сверки при разработке приложений вокруг Rialo. Когда программное обеспечение взаимодействует с внешними API, базами данных, системами оплаты и другими реальными сервисами, успешное выполнение не всегда гарантирует, что все связанные системы оказались в ожидаемом состоянии. Следовательно, приложению может потребоваться выйти за рамки вопроса «Удалось ли моё действие?» и в конечном итоге задать вопрос: «Отражает ли внешний мир теперь то, что должно было произойти?» Если приложение ожидало, что запасы переместятся с 1 на 0, оно может сравнить это ожидаемое значение с состоянием, сообщённым внешней системой. Если склад по-прежнему сообщает о наличии 1 товара, несоответствие становится чем-то, что приложение может обнаружить и обработать, а не молча предполагать, что всё остаётся синхронизированным. Та же проблема возникает в платежах, бронировании, логистике и многих других рабочих процессах, где ончейн-выполнение взаимодействует с системами за пределами блокчейна. Это создаёт важное различие. Исполнение говорит вам, что сделало приложение. Сверка говорит вам, достигла ли реальность того состояния, в котором приложение ожидало её увидеть. Для приложений, которые всё чаще связывают выполнение в блокчейне с внешним миром, оба аспекта могут иметь значение. Потому что завершение рабочего процесса — это одно. А обеспечить согласованность всех связанных систем относительно того, что произошло — это другое.

Этот контент предназначен исключительно для информационных и образовательных целей. Он может содержать информацию от третьих лиц, спонсорский контент или рекламные материалы, за которые креатор может получить вознаграждение. Ничто в этой ленте не является инвестиционным советом или гарантией прибыли. Вы несете полную ответственность за свои собственные инвестиционные решения. Всегда проводите самостоятельные исследования и проявляйте осторожность перед торговлей. Мы не гарантируем точность информации третьих лиц и не несем ответственности за понесенные убытки. Прошлые результаты не являются показателем будущих. Пожалуйста, ознакомьтесь с нашими Условиями сообщества и Заявлением о раскрытии информации о рисках для получения подробной информации.

avatarОставьте свой ответ

Комментарий