В распределенных вычислениях , код по требованию любой технология , которая посылает исполняемый код программного обеспечения с компьютера - сервера на компьютер клиента по требованию программного обеспечения клиента. Некоторыми хорошо известными примерами парадигмы кода по запросу в Интернете являются апплеты Java , язык ActionScript Adobe для проигрывателя Flash и JavaScript . [1]
Программный код неактивен на веб-сервере до тех пор, пока пользователь (клиент) не запросит веб-страницу, содержащую ссылку на код, с помощью веб-браузера клиента . По этому запросу веб-страница и программа переносятся на машину пользователя по протоколу HTTP . Когда страница отображается, код запускается в браузере и выполняется локально на компьютере пользователя до тех пор, пока он не будет остановлен (например, пользователем, покидающим веб-страницу).
Код по запросу - это конкретное использование мобильного кода в области мобильности кода . [2]
Ограничения
Клиент-Сервер
Первое ограничение состоит в том, что система должна состоять из клиентов и серверов.
На серверах есть ресурсы, которые клиенты хотят использовать. Например, на сервере есть список цен на акции (т.е. ресурс), и клиент хотел бы отобразить эти цены в виде хороших графиков.
Между этими двумя проблемами существует четкое разделение. Сервер заботится о внутреннем материале (хранилище данных, бизнес-правила и т. Д.), А клиент обрабатывает внешний материал (пользовательские интерфейсы).
Без гражданства
Чтобы еще больше упростить взаимодействие между клиентами и серверами, второе ограничение заключается в том, что обмен данными между ними не должен иметь состояния.
Это означает, что вся информация о сеансе клиента хранится на клиенте, и сервер об этом совершенно не знает. Следствием этого является то, что каждый запрос должен содержать всю информацию, необходимую для выполнения запроса (т. Е. Он не может полагаться на какую-либо контекстную информацию).
Кеш
Последним ограничением взаимодействия клиент-сервер является то, что ответы от серверов должны быть помечены как кэшируемые или некэшируемые.
Эффективный кэш может уменьшить количество взаимодействий клиент-сервер, что положительно влияет на производительность системы. По крайней мере, с точки зрения пользователя.
Треска
Код по запросу (COD) - единственное необязательное ограничение в REST. Это позволяет клиентам улучшить его гибкость, потому что на самом деле именно сервер решает, как будут выполняться определенные действия. Например, с помощью Code-On-Demand клиент может загрузить javascript, java-апплет или даже флэш-приложение для шифрования связи, чтобы серверы не знали о каких-либо процедурах / ключах шифрования, используемых в этом процессе.
Однако использование COD снижает видимость, поэтому это ограничение является необязательным. Кроме того, не каждому API нужна такая гибкость.
Смотрите также
Рекомендации
- ^ Карзанига, Антонио; Джан Пьетро Пикко; Джованни Винья (2007). Код все еще движется? Оглядываясь назад на десятилетие мобильности кода . ICSE COMPANION '07 Сборник материалов 29-й Международной конференции по программной инженерии . Вашингтон, округ Колумбия, США: Компьютерное общество IEEE. С. 9–20. CiteSeerX 10.1.1.119.5295 . DOI : 10.1109 / ICSECOMPANION.2007.44 . ISBN 978-0-7695-2892-2.
- ^ Фуггетта, Альфонсо; Джан Пьетро Пикко; Джованни Винья (1998). «Понимание мобильности кода» . IEEE Transactions по разработке программного обеспечения . 24 (5): 342–361. CiteSeerX 10.1.1.20.3442 . DOI : 10.1109 / 32.685258 . ISSN 0098-5589 . Проверено 29 июля 2009 года .