Другим достижением поздних 90-х является механизм для удаленного выполнения программ через Всемирную Паутину (World-Wide Web).
Первые Веб-браузеры сделали не только возможным, но и весьма удобным использование информации, хранящейся на удаленных компьютерах, расположенных по всему миру, и переходы по логическим связям или гиперссылкам с помощью одного щелчка мыши. Но это был пассивный механизм: некто готовит некоторую информацию, а все остальные получают к ней доступ в режиме чтения.
Следующим шагом был переход к достижению активности, когда щелчок по ссылке вызывает выполнение некоторой операции. Это предполагает наличие внутри браузера некоторой машины выполнения, распознающей загружаемую информацию как выполняемый код и выполняющей его. Эта машина может быть встроенной частью браузера или динамически присоединяется к нему в ответ на запрос соответствующего типа. Последнее известно как подключаемый (plug-in) механизм и предполагает доступность бесплатной загрузки его из Интернета.
Эта идея впервые сделалась популярной благодаря Java, когда машина исполнения Java-программ стала общедоступной. С тех пор появилась возможность подключения и других механизмов. Другим направлением стала трансляция исходных языков в код широко распространенной машины такой, например, как машина исполнения Java; действительно, несколько производителей компиляторов начали создавать генераторы "байт-кода" языка Java (это переносимый код низкого уровня, который может исполняться Java-машиной).
Для нотации, используемой в этой книге, работа шла в двух направлениях: у фирмы ISE имеется свободно распространяемая машина исполнения программ в этой нотации и в то же время разрабатывается проект порождения байт-кода языка Java. |
При любом из этих подходов возникают проблемы безопасности: насколько можно доверять чужому приложению? Неосторожный щелчок по невинно выглядящей гиперссылке способен запустить нехорошую программу, портящую файлы компьютера или крадущую личную информацию. Следует самому быть осторожным, хотя ответственность лежит на поставщике исполняющей машины.