Способы реализации клиентской активности
Клиентские сценарии VBScript
Помимо JScript, браузер MSIE способен работать с языком клиентских сценариев VB Script, который представляет собой подмножество Microsoft Visual Basic и функционально равноценен языку JavaScript.
Преимуществом его применения для создания сценариев является возможность использования, с небольшими корректировками, ранее написанных процедур на языках Visual Basic и Visual Basic for Application.
VBScript используется для написания сценариев клиента (в этом случае браузер должен иметь встроенный интерпретатор этого языка), а также для написания сценариев на сервере (в этом случае сервер должен поддерживать язык VBScript). Для создания сценариев клиента используется набор объектов, аналогичный набору объектов JavaScript.
Применение VB Script для создания страниц Web-серверов, расположенных в Интернете, нецелесообразно, так как не все пользователи используют IE. Однако если технологии Интернета применяются в корпоративной интрасети и можно установить на компьютеры всех пользователей IE, то применение VBScript вместо JavaScript программистами VB заметно сокращает сроки и стоимость разработки.
Аплеты Java
Технология Java
Технология Java включает в себя язык программирования и платформу, для обозначения которых используется одно название — Java.
Java – это объектно-ориентированный, распределенный, интерпретируемый, защищенный, архитектурно-независимый, переносимый, высокопроизводительный, многопоточный, динамический язык программирования высокого уровня.
Программа на языке Java транслируется компилятором в специальный байтовый код — Java bytecode, называемый также J-кодом, для выполнения которого требуется интерпретатор Java. Таким образом, язык Java является одновременно компилируемым и интерпретируемым. Интерпретатор Java - это приложение, предназначенное для конкретной аппаратно-программной платформы: PC-Windows, PC-Linux, Mac, UNIX-машины. J-код не зависит от платформы.
Это обеспечивает архитектурную независимость и переносимость программ на языке Java. Байтовый код Java можно рассматривать как набор машинных команд для некоторой виртуальной машины, реализуемой интерпретатором. Он может исполняться в любой среде, в которой выполняется виртуальная машина Java.
Классы Java
Основными единицами, из которых строится программа Java, являются классы. Классы образуют иерархическую древовидную структуру, лежащую в основе объектно-ориентированной модели языка. Класс представляет собой совокупность данных и методов для их обработки. Метод в терминологии объектно-ориентированной модели является синонимом процедуры или функции. На базе уже существующего класса может быть определен новый класс, являющийся подклассом своего предшественника. Исходный класс является родительским классом или надклассом для своего подкласса. Подкласс наследует у родительского класса коллекцию данных и методов. Кроме них он может содержать собственные данные и методы.
Класс определяет целый тип данных. Конкретный экземпляр этого типа называется объектом. Написание Java-программы заключается в создании нового класса или совокупности связанных между собой классов, то есть в определении набора данных, описывающих решаемую задачу, и в конструировании методов, реализующих обработку этих данных. При этом для порождения новых классов может использоваться существующая базовая коллекция классов. Исходный текст на языке Java, составляющий описание класса, сохраняется в файле, имя которого имеет расширение JAVA. Этот файл компилируется в J-код и сохраняется в файле с тем же именем и расширением CLASS. Скомпилированные классы Java в виде J-кода могут храниться локально на компьютере или распределенно в сети и динамически загружаться выполняющимися приложениями по мере необходимости.
Платформа Java
Платформа Java состоит из виртуальной машины и интерфейса прикладного программирования Java API. Виртуальная машина предназначена для выполнения J-кода на различных платформах. Интерфейс прикладного программирования Java представляет собой большую коллекцию классов в формате J-кода, сгруппированных по своему назначению в отдельные пакеты. Список имеющихся пакетов занимает несколько страниц текста, и каждый из пакетов содержит коллекцию классов. Для работы с такой сложной структурой используется специальная схема именования пакетов и классов, напоминающая доменную систему имен Интернета (DNS). Например, имя java.lang определяет пакет, содержащий базовые классы самого языка Java. Имя java.lang.object определяет класс object внутри этого пакета. Пакеты, имена которых начинаются со слова java, составляют основу интерфейса прикладного программирования и входят в состав любой платформы Java. Кроме основной части API существуют стандартные расширения для работы с трехмерной графикой, анимацией и т. д.
Инструменты создания Java-приложений
Для создания Java-программ необходим набор средств разработчика Java Development Kit (JDK), включающий в себя базовую коллекцию классов, компилятор javac, отладчик jdb, виртуальную машину java для выполнения готовых приложений и программу просмотра аплетов appietviewer. Существуют варианты набора JDK от фирм Sun и Microsoft и, кроме того, визуальные средства разработки фирм Microsoft, Borland, Symantec.
Использование аплетов Java для создания динамических HTML-документов
В среде Java существуют два основных типа программ: приложения (application) и аплеты (applets). Приложение — это самостоятельная программа, для выполнения которой требуется только наличие виртуальной машины Java. Аплет — это программа, которая предназначена для выполнения в составе Web-браузера или специальной программы просмотра аплетов. Java-аплеты — это еще один метод создания динамических HTML-документов.
Аплет создается, компилируется и сохраняется на Web-сервере. В HTML-документ, публикуемый на сервере, при помощи специального тэга помещается ссылка на местоположение аплета. При получении документа с сервера браузер загружает аплет и начинает его выполнять. Такой подход к созданию динамических документов прямо противоположен подходу, который используется в программировании интерфейсов CGI: апплет выполняется на стороне клиента, а CGI-сценарий — на стороне сервера.
Аплеты Java, используются наряду с клиентскими сценариями для организации активности на стороне клиента. Аплеты Java применяются для организации визуальных и звуковых эффектов, а также ввода и предварительной обработки данных перед отправкой их на сервер, а также для представления полученных от сервера данных в графическом, табличном или каком-либо другом виде.
Безопасность аплетов
Аплеты выполняются под управлением браузера и не имеют доступа к локальным ресурсам компьютера. Однако они способны взаимодействовать с расширениями сервера CGI и ISAPI, а также читать файлы с того Web-сервера, с которого они были загружены.
- осуществлять операции чтения-записи в локальной файловой системе, то есть читать и изменять файлы, просматривать содержимое каталогов, создавать, удалять, переименовывать файлы и каталоги;
- устанавливать сетевые соединения с другими компьютерами, кроме компьютера, с которого он был загружен;
- запускать на выполнение другие программы на компьютере, на котором он выполняется;
- использовать библиотеки других языков программирования,
- изменять системные параметры.
Для проверки соблюдения правил безопасности существует специальный класс java.lang.SecurityManager. Экземпляр этого класса выполняется в составе виртуальной Java-машины браузера.