RSS    

   Дипломная работа: Технічне створення Web-додатків

Другий та третій пункти вже доволі широко використовується на сайтах, побудованих за допомогою концепції Web 2.0.

Спосіб, вказаний в першому пункті ще мало вивчений, тому майже не зустрічається на сайтах. Реалізація цього способу призведе до створення базового набору засобів, за допомогою якого розробники web-програм зможуть більш ефективно та з меншими витратами часу створювати web-програми, що матимуть багаті можливості та звичний для користувачів інтерфейс.

3.6 Альтернативна взаємодія у Web за допомогою Java Апплетів

Цей метод схожий на попередній, лише замість JavaScript-об’єкта XMLHttpRequest об’єкта використовується Java Апплет.

HTML

сторінка

Java

Applet

PHP

скрипт

Ця заміна на перший погляд може здатися незначною — JavaScript (за допомогою об’єкту XMLHttpRequest) та Java Апплет мають схожі можливості для створення запитів, передачі їх на сервер та обробки отриманої відповіді. Але Java Апплет має набагато ширші можливості для обробки отриманої інформації.

Також перевагою Апплетів над сценаріями JavaScript є їх значно вища швидкодія та значно менші проблеми з розробкою та налагодженням — для Java існують досить потужні інтегровані середовища розробки та налагодження. Вони містять можливості, які відсутні в програмах для розробки сценарії JavaScript (які в більшості є простими текстовими редакторами з підсвіткою синтаксису та мінімальними функціональними можливостями) :

·  вбудований налагоджувач;

·  інструменти для рефакторингу (повного або часткового перетворення внутрішньої структури програми при збереженні її зовнішньої поведінки);

·  проектування UML діаграм (графічний опис для об’єктного моделювання в сфері розробки програмного забезпечення);

·  система керування версіями (програмне забезпечення для полегшення роботи з інформацією, що часто змінюється, основне застосування — слідкування за розробкою програм)

·  колекція шаблонів коду та бібліотек, що дозволяють позбавитися рутинних операція при розробці Апплетів.

Для практичної реалізації цього методу взаємодії був розроблений базовий набір засобів (Framework). За допомогою нього була створена демонстраційна програма, що ілюструє основні можливості та переваги. За допомогою цієї web-програми було проаналізовано переваги та недоліки базового набору засобів.

Демонстраційна web-програма складається з таких елементів:

Java Апплет (AJavaX.class)

HTML сторінка (AJavaX.html)

PHP скрипт (AJavaX.php)

3.6.1 Java Апплет

Виконує роль зв’язкової ланки між сервером та сторінкою. Коли користувач активізує елементи керування користувацього інтерфейсу, за допомогою JavaScript викликаються відповідні функції Апплету, які генерують запит і відправляють його на сервер. Сервер відправляє відповідь Апплету, який оброблює його і за допомогою JavaScript команд модифікує сторінку без перезавантаження.

Java Апплет може обмінюватись даними лише з тим сервером, з якого він був завантажений. Але якщо створити відповідну серверну програму (за допомогою Java Server Pages або Servlets) то можливе з’єднання з будь-яким іншим сервером. Таким чином у Web-програмі можна використовувати Web-служби від інших розробників.

Для виклику функція Апплету з HTML-сторінки використовуються JavaScript-об’єкт document.applets[“AJavaX”], який автоматично створюється після завантаження Апплету з ім’ям AJavaX. Це працює в будь-якому браузерів, на відміну від JavaScript-об’єкта XMLHttpRequest

Для модифікації сторінки в Апплеті використовується клас JSObject з пакету netscape.javascript, який реалізує спосіб виклику методів JavaScript та перевірку властивостей JavaScript.

Якщо об’єкт JavaScript передається в Java, віртуальна машина створює Java-оболонку типу JSObject, коли JSObject передається в JavaScript, віртуальна машина знімає оболонку і розгортає об’єкт в об’єкт оригінального типу JavaScript.

Будь-які дані JavaScript, перенесені в Java, конвертуються в типи даних Java. Коли JSObject передається назад в JavaScript, оболонка з об’єкта знімається і він може використовуватись в коді JavaScript.

Перетворення типів від Java до JavaScript:

Java типи byte, char, short, int, long, float та double перетворюються в числа JavaScript

Java тип boolean перетворюється в boolean JavaScript

Java тип JSObject перетворюється у відповідний об’єкт JavaScript

Інші Java об’єкти перетворюються у об’єкти-надбудови JavaScript для доступу до полів та методів. Java-об’єкти можуть бути перетворені в рядок (викликається метод toString), число (метод floatValue), логічний тип (метод booleanValue) та псевдо-масиви JavaScript (які поводять себе так само, як і JavaScript масиви — як індекс використовується цілі числа, але вони влаштовані по іншому)

Перетворення типів від JavaScript до Java:

Об’єкти-надбудови для Java об’єктів перетворюються в об’єкти Java

Решта об’єктів перетворюється в JSObject

Рядки, числа і логічний тип перетворюється в Java об’єкти String, Float та Boolean

При ініціалізації Апплету створюється екземпляр об’єкта JSObject win, що є об’єктом-надбудовою до JavaScript об’єкту вікна браузера, та визначається адреса сторінки сервера, з якою буде відбуватися взаємодія.

При виклику функція send або get Апплету передається параметри — текст, що набраний у вікні редагування та пароль для шифрування/дешифрування тексту.

За допомогою методу libSendRequest формується запит, відправляється на сервер та отримується відповідь.

Отримані дані можна модифікувати чи оброблювати — тут можливості Java майже необмежені. Наприклад можна реалізувати криптостійке шифрування на клієнті і передавати на сервер дані в зашифрованому вигляді.

Для модифікації сторінки викликається метод libReturnValue, який дозволяє динамічно модифікувати вміст сторінки, виконавши спеціальний JavaScript код. Таким чином відбувається модифікація сторінки за допомогою конструкції:


win.eval("document.getElementById('"+id+"').innerHTML='"+value+"'")

Змінна id містить ідентифікатор обє’кту HTML, куди буде вставлений HTML код, що міститься в змінній value.

При потребі JavaScript для динамічної модифікації сторінки можна суттєво розширити, використавши вже існуючі напрацювання в технології Ajax, лише найважчі операції будуть виконуватися Java Апплетом.

3.6.2 HTML сторінка

HTML сторінка є основою інтерфейсу користувача. Сторінка містить прихований Java Applet (він має розміри 0х0 пікселів але він завантажується та нормально функціонує) та код JavaScipt, що викликає функції з Апплету при активізації користувачем елементів керування.

Аплет підключається до сторінки за допомогою конструкції:

<applet code="AJavaX.class" name="AJavaX" width="0" height="0" mayscript="mayscript">

</applet>

що містить такі атрибути:

code — назва файлу, що містить аплет

name — ім’я аплету, використовується для виклику функцій апплету через об’єкт document.applets["AJavaX "].

width та height — ширина та висота апплету, в даному випадку вони мають значення нуль тобто апплет не відображається на сторінці (хоча він повністю завантажується і функціонує)

mayscript — цей атрибут потрібний, щоб Апплет міг виконувати функції JavaScript і динамічно модифікувати сторінку.

При використанні об’єкту XMLHttpRequest сторінка містила б додатковий код для ініціалізації цього об’єкту та роботу з ним (приклад такого коду показаний в розділі 1.3.). Але для функціонування Апплету він не потрібний — Апплет містить всі функціональні можливості, потрібні для асинхронного зв’язку з сервером та обробки отриманих даних.

3.6.3 PHP скрипт

Серверна частина системи, що отримує запити, виконує необхідні дії (запис/читання з бази, створення/видалення файлів і т.п.) та повертає відповідь клієнту. PHP скрипт використаний лише для демонстрації можливостей базового набору засобів, в реальних web-програмах серверна частина може бути реалізована за допомогою будь-якої технології (Python, Rubi, Perl, SSI, ASP, JSP та подібних)

При використанні класичного методу взаємодії у Web PHP скрипт має генерувати усю сторінку і відправляти її клієнту.

При використанні механізмів взаємодії у Web 2.0 скрипт має 2 режими роботи:

·  виконання потрібних дій, генерація сторінки та відправлення її клієнту в форматі HTML (як у класичному методі) — якщо браузер користувача не має підтримки JavaScript та Java Апплетів або це ініціалізація web-програми.

·  виконання потрібних дій, генерація лише тієї частини сторінки, що змінилася та відправлення її клієнту в форматі XML, JSON та подібних — якщо відбувається взаємодія за допомогою технології Ajax.

При використанні другого методу взаємодії навантаження на сервер та трафік між сервером та клієнтом зменшується, а реакція користувацького інтерфейсу та зручність роботи з Web-програмою — збільшується.

В цілому web-програма функціонує добре в будь-якому браузері, відгук на дії користувача та взаємодія між сервером та клієнтом відбувається досить швидко (завдяки швидкій роботі Java Апплету). Але основна перевага розробленої web-програми в тому, що її можна розширювати за допомогою зручних засобів розробки на мові Java.

Розроблений базовий набір засобів є доволі простим але він ефективно виконує взаємодію web-програми з сервером.

В рамках даної роботи запропонований новий підхід до створення Ajax-додатків, що полягає в застосуванні поруч з JavaScript-сценариями Java-аплетів. Задачі розподіляються так.

Java-аплет:

Обчислення, що потребують багато часу

Складні в реалізації алгоритми

Засоби асинхронної обробки даних

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.