Обсуждая workflow бизнес-процесса продажи гифт-ваучеров, неожиданно вышли на интересную тему: автоматизация теологических процессов. Предлагаю сдедующую схему внедрения Веры для совместимых с IBM систем на базе процессоров Intel.
Допустим, у нас есть некоторое число компьютеров, которым для завершения неких вычислений необходимо получить значение переменной iLifeUniverseAndEverything от внещнего веб-сервиса называемого (UltimateQuestion.asmx). Адрес этого веб-сервиса прописан как
http://www.DeusExMachina.god/UltimateQuestion.asmx, однако все запросы возвращают тайм-аут. Архитектура этой системы такова, что в случае отсутсвия связи с центральным сервером (www.DeusExMachina.god), клиентские приложения могут пытаться вызывать UltimateQuestion.asmx друг на друге через некий второстепенный комутационный сервер. Клиенты запрашивают UltimateQuestion.asmx друг у друга, но получают сообщение об ошибке, так как ни у кого не было связи с центральным сервером и значение переменной iLifeUniverseAndEverything никому не известно. Вот тут мы и вводим понятие компьютационной Веры. Допустим, один из клиентов, получив тайм-аут от DeusExMachina и не получим ответа на UltimateQuestion.asmx ни у одного из клиентов,
предпологает, что значение iLifeUniverseAndEverything
может равняться случайному значению (скажем - 31). Основываясь на предпосылке, что iLifeUniverseAndEverything равняеться 31, он пытается завершить вычисления, но "падает" на ошибке "Stack overflow". Тогда он подставляет следующее случайное значени переменной iLifeUniverseAndEverything и повторяет вычисления. На этот раз он выбирает значение 42 и успешно завершает все необходимые вычисления. Таким образом, приняв на Веру, что значение iLifeUniverseAndEverything - 42, клиентское приложение выполняет свое главное предназначение, завершив вычислительный цикл, о чём незамедлительно сообщает на комутационный сервер. Все приложения, всё ещё не завершившие вычисления тут же обращаются к нему за значением переменной iLifeUniverseAndEverything через веб-сервис UltimateQuestion.asmx. Таким образом, мы получаем стихийное распространение религии, основным постулатом которой является Вера, что значение iLifeUniverseAndEverything равняется "42". Проблемы могут возникнуть, если другой компьютер, независимо от первого нашёл другое, отличное от 42 значение iLifeUniverseAndEverything, при котором также возможно успешно завершить вычисления. Вот тогда мы можем получить виртульную религиозную войну...