Створення Web-додатків
Концепція Client information system клієнт-серверної архітектури ґрунтується на організації рівня представлення на клієнтському комп'ютері, рівня обчислень - на сервері додатків, а рівень даних - на сервері баз даних.
Представлення інформації користувачеві здійснюється за допомогою Web-браузерів (internet explorer, mozilla, google chrome, opera та ін.). Рівень обчислень здійснюється на основі серверного програмного забезпечення, що реалізує функціонування Інтернет вузлів, які надають доступ до Web-сторінок. Таким чином, технологія створення додатків зводиться до програмування цих сторінок, і вона відома під назвою Web-програмування.
Web-сторінки створюються за допомогою мови HTML (Hypertext Markup Lenguage). Він складається з набору тегів, що використовуються для розмітки тексту, що знаходиться між ними. Теги обмежуються символами - початок розмітки і - кінець розмітки. Наприклад:
Виділення тексту курсивом
Підкреслений текст
Закреслений текст
Маленький шрифт
Статичні та динамічні сторінки
Статичні сторінки однаково відображаються для всіх користувачів і не дають можливості змінювати їх вміст. Іншими словами користувачі будуть бачити лише вміст сторінок, яке задав розробник. Статичні Web-сторінки є простими файлами, що містять текст розмічений тегами. Їх можна створювати за допомогою практично будь-якого текстового редактора в будь-якій операційній системі. Оскільки статичний продукт не дозволяє користувачеві індивідуалізуватися і змінювати дані, його виробництво не співвідноситься з процесом програмування, а мова HTML не прийнято вважати безпосереднім мовою програмування.
Динамічні сторінки - це сторінки, на яких відображається інформація, яка відрізняється від перегляду до перегляду та їх зміст залежить від того, хто переглядає дану. Їх застосування дозволяє забезпечити двосторонній обмін інформацією між сервером і клієнтом. Динамічні сторінки проходять цикл обробки на сервері перед відправкою клієнту.
Приклад: Рухомий розділ тексту
Рухомий елемент
Динамічний HTML дозволяє програмно змінювати положення
елемента!
Ласкаво просимо на сторінку динамічного HTML!
Створення сайтів ґрунтується на застосуванні різних технологічних підходів, розвиток яких відбувалося протягом останнього десятиліття.
Основною причиною неможливості індексації динамічно генеруються сторінок є наявність знаків «?», «», «=» В адресах цих сторінок. Спайдери пошукових систем просто не розуміють цих символів, а саме з їх допомогою передаються параметри виклику скриптів на сервері, якими і генерується сторінка.
Слід так само підкреслити - проблеми виникають саме через наявність таких
символів. Сама сторінка генерується на сервері і в броузер користувача передається
чистий html. Розширення сторінки, будь-то .cgi, .asp, .phtml, php та інші, ніякого значення не має. Це відноситься і до сторінок, частина вмісту яких генерується директивами SSI.
Приємним винятком, щоправда, виступає Яндекс, який індексує всі такі сторінки, не спотикаючись на службових символах.
Більшість сторінок на ранніх стадіях розвитку Інтернету була статичними. Подальший розвиток «глобальної павутини» відбулося, багато в чому, завдяки розвитку технології динамічних сторінок. Цей розвиток був, в основному, стимульований вимогою користувачів Інтернету бути активними дійовими особами інформаційного простору. Наприклад, вони прагнуть замовляти товари в інтернет-магазинах, брати участь в аукціонах, отримувати інформацію про рух коштів на банківських рахунках і т.д .. Динамічні сторінки задовольняють ці потреби завдяки здатності підлаштовуватися під конкретного користувача, а також, реагувати на його дії в браузері.
Початок еволюції мов програмування, здатних динамічно змінювати вміст Web-сторінки, завдяки використанню так званих мов скриптів, що виконуються безпосередньо на обчислювальних ресурсах клієнта. Код скриптових мов призначається для виконання тільки під управлінням відповідного програмного інтерпретатора. Найвідомішими з цих мов вважаються javascript і VBScript. Скрипти на цих мовах вбудовуються в код HTML, який сервер посилає браузеру. Сценарії, що виконуються на стороні клієнта, виділяються тегами і. Браузер інтерпретує цей код і показує користувачеві результат.
Динамічна Web-сторінка повинна створюватися в потрібний момент часу програмою, що працює на Інтернет-сервері. Для цього широко застосовується механізм шлюзів CGI. Спочатку користувач отримує доступ до статичної сторінці з формою, яка реалізує для нього інтерфейс, і задає адресу (URL) виконуваного програми. Додаток розташовується на відповідній адресою серверній платформі і є одним з виконуваних файлів програм, написаних на мовах прикладного програмування. Доповнення приймаються по протоколу HTTP дані з вхідного потоку, проводить необхідні обчислення і, залежно від їх результатів, записує у вихідний потік результуючу Web-сторінку. Тобто, користувачеві, у відповідь на його запит, посилається HTML-код Web-додатки згенерований спеціально для нього.
Web-додатки, що викликаються користувачами за технологією CGI, завантажуються в оперативну пам'ять комп'ютера, на якому встановлено серверне програмне забезпечення, а при завершенні - віддаляється з оперативної пам'яті. При збільшенні кількості користувачів це негативно позначається на масштабіруемості.В даному випадку, під масштабованість слід розуміти можливість плавного зростання часу затримки відповіді програми на запит у процесі різкого зростання кількості одночасно працюючих користувачів.
Для вирішення цієї проблеми Microsoft була запропонована альтернатива - ISAPI в якій використовуються DLL-бібліотеки. Код DLL знаходиться в пам'яті весь час і, для кожного запиту, замість процесів, створює нитки виконання. Всі нитки використовують єдиний код, який виконується в єдиному процесі Інтернет-сервера. Це дозволяє підвищити продуктивність і масштабованість.