Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по летней практике на 4,5.doc
Скачиваний:
8
Добавлен:
21.12.2018
Размер:
805.89 Кб
Скачать

Netscape изобрела JavaScript, и JavaScript впервые был использован в браузерах Netscape.

3.5.Обзор ajax

Технология AJAX (Асинхронный JavaScript + XML), являющаяся одной из основных технологий, лежащей в основе, так называемого, WEB 2.0, была известно еще, чуть ли не, со времен каменного века. Однако, благодаря появлению термина AJAX, который ввел Джис Джеймс Гаррет (Jesse James Garrett), она стала необычайно модной. И если раньше, о ней могли говорить только наиболее продвинутые программисты, то теперь, благодаря появлению специального термина, сказать о ней может каждый, кому не лень. Достаточно просто произнести «AJAX», и ты уже о ней говоришь.

Суть технологии AJAX заключается в изменении содержимого загруженной веб-страницы без ее полной перезагрузки, благодаря чему достигается высокая динамичность сайтов. Технология основывается на разделении данных и подзагрузки тех или иных компонентов по мере необходимости.

Окончательное формирование всех вариаций технологии AJAX произошло в 1998 году, когда в браузере Internet Explorer 5.0 появился новые объекты ActiveX – XMLHttpRequest, DTC, RDC и другие. Однако именно XMLHttpRequest приобрел наибольшую популярность и поддержку в других браузерах.

XMLHttpRequest приобрел популярность благодаря тому что, значительно ускорял загрузку данных, позволяя включать в уже загруженную страницу данные любого типа. Его применение позволяло без особых ухищрений вставлять в страницу ответы сервера и, таким образом, использовать технологию AJAX смогли даже люди, не отличающиеся особыми талантами (LAYER от Netscape позволял делать это с еще большей легкостью, но, поскольку последний проиграл войну браузеров, победили именно стандарты Микрософта). Эта популярность вынудила производителей других браузеров включить поддержку XMLHttpRequest в свои продукты (Mozilla Firefox, начиная с версии 1.0, Opera, начиная с версии 8.0, Safari…) и применение AJAX стало повсеместным.

Преимущества

  • Экономия трафика

Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только изменившуюся часть, как правило, довольно небольшую.

  • Уменьшение нагрузки на сервер

AJAX позволяет несколько снизить нагрузку на сервер. К примеру, на странице работы с почтой, когда вы отмечаете прочитанные письма, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции без необходимости повторно создавать страницу и передавать её клиенту.

  • Ускорение реакции интерфейса

Поскольку нужно загрузить только изменившуюся часть, пользователь видит результат своих действий быстрее.

Недостатки

  • Отсутствие интеграции со стандартными инструментами браузера

Динамически создаваемые страницы не регистрируются браузером в истории посещения страниц, поэтому не работает кнопка «Назад», предоставляющая пользователям возможность вернуться к просмотренным ранее страницам, но существуют скрипты, которые могут решить эту проблему.

Другой недостаток изменения содержимого страницы при постоянном URL заключается в невозможности сохранения закладки на желаемый материал. Частично решить эти проблемы можно с помощью динамического изменения идентификатора фрагмента (части URL после #), что позволяют многие браузеры.

  • Динамически загружаемое содержимое недоступно поисковикам (если не проверять запрос, обычный он или XMLHttpRequest)

Поисковые машины не могут выполнять JavaScript, поэтому разработчики должны позаботиться об альтернативных способах доступа к содержимому сайта.

  • Старые методы учёта статистики сайтов становятся неактуальными

Многие сервисы статистики ведут учёт просмотров новых страниц сайта. Для сайтов, страницы которых широко используют AJAX, такая статистика теряет актуальность.

  • Усложнение проекта

Перераспределяется логика обработки данных — происходит выделение и частичный перенос на сторону клиента процессов первичного форматирования данных. Это усложняет контроль целостности форматов и типов. Конечный эффект технологии может быть нивелирован необоснованным ростом затрат на кодирование и управление проектом, а также риском снижения доступности сервиса для конечных пользователей.

  • Требуется включенный JavaScript в браузере

Альтернативы

В хронологическом порядке:

  • Java-апплеты, позднее технология JavaFX;

  • Стек технологий Flash в виде ActionScript 3, Adobe Flex и Flash Remoting составляет технологическую основу RIA (Rich Internet Applications) активно продвигаемых Macromedia (теперь часть Adobe);

  • Технология Silverlight фирмы Microsoft;

  • Протокол WebSocket.

  1. РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ

Структурная схема программы.

Главный модуль

Модуль основного запроса к БД

Программа расхождения остатков

Блок проверки ошибок ввода

Блок дополнительного запроса к БД

Блок AJAX

Рис.1.

Функциональная схема программы.

Программа расхождения остатков

Блок проверки ошибок ввода

Блок дополнительного запроса к БД

Главный модуль

Модуль основного запроса к БД

Блок AJAX

Рис.2.

  1. РАЗРАБОТКА ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ

Входные и выходные данные для каждого модуля.

Таблица 1.

Название модуля

Входные данные

Выходные данные

Главный модуль

Код завода (integer)

Код цеха (integer)

Минимальный остаток (float)

Таблица со столбцами номер изделия, номенклатура, код размерности, разница в остатках

Флаг проверки ошибок (boolean)

Таблица со столбцами номер изделия, номенклатура, код размерности, разница в остатках

Блок проверки ошибок ввода

Минимальный остаток (float)

Флаг проверки ошибок (boolean)

Блок дополнительного запроса к БД

____

Коды заводов (integer)

Коды цехов (integer)

Блок AJAX

Код завода (integer)

Код цеха (integer)

Минимальный остаток (float)

Таблица со столбцами номер изделия, номенклатура, код размерности, разница в остатках

Таблица со столбцами номер изделия, номенклатура, код размерности, разница в остатках

Модуль основного запроса к БД

Код завода (integer)

Код цеха (integer)

Минимальный остаток (float)

Таблица со столбцами номер изделия, номенклатура, код размерности, разница в остатках

Таблица со столбцами номер изделия, номенклатура, код размерности, разница в остатках