повна адреса буде мати вигляд: . SQL-сервер – це система управління базами даних, яка розташовується на сервері. На сервері також зберігаються бази даних з якими працює SQL-сервер. В розробленій системі в якості SQL-сервера використовується система управління розподіленими базами даних – MySQL.
За результатами аналізу продуктивності даної СУРБД вона вважається однією із найшвидших у роботі, правда це досягається за рахунок того, що в даному сервері відсутні деякі можливості, які дуже суттєво впливають на продуктивність роботи системи [2].
Для того, щоб можна було використовувати інформацію з бази даних тестової системи необхідно їх звідти якимось чином викликати. Для цього використовується технологія CGI.
Користувач викликає за допомогою клієнтської програми сервер тестової системи, на початковій сторінці якого є форма в якій користувач вводить свої персональні дані, за якими він ідентифікується в системі.
2.3 Аналіз існуючих засобів для розробки CGI-програм.
В якості мови програмування для написання CGI-програм може бути використана практично будь-яка, але найбільшої популярності здобув Perl. Через те, що Perl – це інтерпретатор, швидкість розробки програм на ньому значно вище, ніж наприклад в С. Звісно, що швидкість виконання програм менша ніж на С, але для невеликих сценаріїв, які застосовуються у Web-сайтах, це не було критичним.
При формуванні складної динамічної сторінки (а вона, як правило, складається з декількох фрагментів) потрібний механізм, який дозволяє вставляти результат роботи зовнішньої програми в код сторінки. Першою технологією, яка дозволяла попередню обробку коду сторінки на сервері, була SSI – Server Site Includes – підключення на стороні сервера.
Сторінка, яка розроблялась за допомогою цієї технології, використовувала всередині свого коду спеціальні SSI-теги, які Web-сервер замінював на реальні дані безпосередньо перед видачею його браузеру. Для того, щоб сервер легко знаходив такі включення, їм передувала спеціальна конструкція:
<!--#command param -->
З цієї інструкції видно, що серверний код розміщався всередині HTML-коментаря, так що навіть у випадку помилки браузер діставав коректний код і не обробляв команди сервера, приймаючи їх за звичайний коментар. Після цього, спосіб включення серверних команд прямо в HTML-код став загальноприйнятим, хоча і розрізняється в різних технологіях.
Для написання CGI-програм можна використати практично будь-яку мову програмування від спеціалізованих таких як: Perl, PHP до потужних корпоративних засобів: Borland Delphi i C++ Builder.
Основними критеріями вибору засобу для розробки CGI-програм в інформаційній системі є: швидкість, якість, простота, надійність. Також немалу роль відіграє те, яка система управління баз даних використовується в системі.
2.3.1 Інтерфейси АРІ для СУБД MySQL
Для полегшення розробки програм СУБД MySQL, має бібліотеку написану на мові програмування С, яка дозволяє проводити доступ до баз даних з будь-якої програми, яка написана на мові програмування С. клієнтська бібліотека надає програмний інтерфейс для клієнтських програм (application programming interface - API), який забезпечує з’єднання і обмін даними між клієнтом і сервером.
Однак розробник в якості засобу розробки програмного забезпечення може використовувати не тільки С. Більшість трансляторів або самі написані на С, або мають можливість підключати бібліотеки, які написані на С. Таким чином клієнтська бібліотека СУБД MySQL надає вище згадане з’єднання і для таких мов програмування. Це дає велике поле діяльності для написання програм, які здатні працювати із сервером MySQL. Існують клієнтські API для таких мов програмування як Perl, PHP, Java, Phyton, C++, Tcl, Delphi i інших.
Підключення кожної мови характеризується своїм власним інтерфейсом, який визначає правила доступу до баз даних СУБД MySQL. Зупинимось на описі трьох найпопулярніших.
Бібліотека для клієнта С. Це самий перший і основний інтерфейс СУБД MySQL.
DBI (Database Interface - інтерфейс бази даних) АРІ для універсальної мови написання сценаріїв Perl. DBI реалізований як модуль Perl, який здійснює інтерфейс з іншими модулями на рівні DBD (драйвера баз даних), кожний з яких забезпечує доступ до специфічного механізму бази даних.
РНР АРІ. РНР є мовою для написання сценаріїв, яка є зручною для включення програм в тіло Web-сторінки. Така сторінка обробляється РНР перед тим як буде відіслана клієнту, що дозволяє таким сценаріям генерувати динамічні Web-сторінки, які включають в себе результат SQL-запиту до бази даних.
Інтерфейс АРІ для мови С. Інтерфейс АРІ для мови С використовується в контексті компільованих С-програм. Ця клієнтська бібліотека забезпечує інтерфейс самого нижчого з відомих рівнів обміну даними з сервером СУБД MySQL, який надає всі можливості для з’єднання і обміну даними з сервером. Клієнтська бібліотека для мови С, служить основою для підключення СУБД MySQL до інших мов програмування, за виключенням інтерфейсу для мови Java. Наприклад драйвер СУБД MySQL для модуля Perl i РНР-коду "знає" про підключення до СУБД MySQL, якщо до коду підключена С-бібліотека для СУБД MySQL.
Інтерфейс Perl DBI API. Інтерфейс DBI API використовується в контексті програм, написаних на мові програмування сценаріїв Perl. Цей інтерфейс є найбільш універсальним інтерфейсом, він може працювати з багатьма базами даних.
DBI реалізований за допомогою модулів Perl, в яких використовується дворівнева архітектура.
Рівень DBI (інтерфейсу баз даних). Забезпечує інтерфейс для сценаріїв клієнта. Цей рівень абстрагований від конкретного механізму бази даних.
Рівень DBD (драйверів баз даних). Підтримка різноманітних механізмів баз даних проводиться на цьому рівні.
Підтримка інтерфейсу DBI MySQL забезпечується модулем Msql-Mysql-modules. Цей модуль працює на рівні драйверів баз даних. Як видно з назви на рисунку 2.2 драйвер може забезпечувати підтримку декількох СУБД. Модуль Msql-Mysql-modules спочатку був створений для роботи з СУБД mSQL, а потім його можливості були розширені до рівня MySQL, тому АРІ інтерфейси