
- •.Аналіз інформаційного середовища та розподілених інформаційних систем
- •1.1. Структура інформаційного простору
- •1.2Структура розподіленої інформаційної системи організації
- •1.3. Характеристики розподіленої інформаційної системи організації
- •Розділ 2. Технології побудови розподілених інформаційних систем
- •2.1. Об’єктні технології в інформаційних системах
- •2.2. Технології rmi, corba, dcom
- •2.3. Побудова розподілених паралельних обчислювальних систем.
- •Розділ 3. Технології віддаленого доступу до розподілених інформаційних ресурсів
- •3.1 Класична архітектура " клієнт- сервер"
- •3.2 Архітектура "клієнт -сервер », заснована на веб- технології
- •3.3 Розподілені технології на основі мігруючих програм
3.2 Архітектура "клієнт -сервер », заснована на веб- технології
Багато недоліків властиві комп'ютерним мережам з класичної архітектурою «клієнт-сервер», знімаються в обчислювальних системах нової архітектури, які сконцентрували і об'єднали в собі кращі якості централізованих систем «клієнт-сервер». Нова архітектура комп'ютерних мереж була названа як інтранет-архітектура. Її часто називають також веб-архітектурою чи архітектурою "клієнт-сервер", заснованої на веб-технології. Ця архітектура стала підсумком багаторічніних досліджень і розробок в області програми глобальних мережних технологій Інтернет до локальних мереж .
Відповідно до веб-технологій на сервері розміщуються так звані веб-документи, які візуалізуються й інтерпретуються програмою навігації, що функціонує на робочій станції (рис.3.8 ).Комп'ютер-клієнт, на якому повинна виконуватися програма навігації, може бути повністю стандартизованою.
\
Рис. 3.8. Архитектура "клиент-сервер" по Web-технології
Викладене дозволяє виділити наступні відмітні риси інтранет- архітектури:
На сервері породжується кінцева інформація, призначена для представлення користувачу програмої навігації, а не напівфабрикатів, як у системах із класичною архітектурою "клієнт сервер»;
Всі інформаційні ресурси, а також прикладна система сконцентрована на сервері;
Для обміну даними між клієнтами і сервером використовуються протоколи відкритого стандарту TCP / IP, що застосовуються в Інтернет;
Полегшено централізоване управління не тільки сервером, а й комп'ютер-клієнтами, так як вони стандартизовані з точки зору програмного забезпечення (на кожній робочій станції досить наявності тільки стандартної програми навігації);
На робочих станціях крім своїх програм можуть виконуватися програми з інших комп'ютерів мережі.
Використання для обміну даними між комп'ютерами мережі протокола відкритого стандарту (TCP / IP) призводить до уніфікації всіх способів взаємодії між робочими станціями та сервером.
Сучасні інформаційні мережеві технології
Інтерпретація веб-документів, що зберігаються на сервері, а також для доступу до інших окремих сервісів:
Сервісу копіювання файлів з сервера (FTP -сервісу);
Сервісу управління сервером (Telnet -сервісу);
Сервісу багаторівневих меню з доступу до комп'ютерних ресурсів
Рис . 3.9 . Обробка запиту від веб -клієнта
3.3 Розподілені технології на основі мігруючих програм
Однією з головних особливостей inteanet-архітектури є розподілена обробка інформації на основі мігруючих програм. Програма навігації, виконувана на робочій станції, може не тільки візуалізувати веб-сторінках і виконувати переходи до інших ресурсів, але й активізувати програми на сервері, а також інтерпретуватися і запускати на виконання програми, що відносяться до веб-документу, які передаються разом з цим документом з сервера. Такий вид розподіленої обробки інформації дозволяє сконцентрувати всю прикладну систему безпосередньо на сервері.
Існує три основних види програм, які можуть бути зв’язані з веб-документом і передаватися на робочу станцію для виконання:
Java - аплети, підготовлені і використовувані за технологією Java;
Програми, написані на мові сценаріїв JavaScript, VBScript (Visual Basic Scripting) або VRML;
Програмні компоненти управління ActiveX, відповідні технології ActiveX.
Java- технологія
Технологія Java була розроблена у зв'язку з виникненням гострої необхідності в комп'ютерних програмах, орієнтованих на використання в мережевому середовищі та інтеграцію з веб-сервісом. До таких програм спочатку були пред'явлені вимоги щодо мобільності, що припускають незалежність від апаратних та операційних платформ, а також безпеку і надійність обробки інформації.
Транслювальні Java-програми, призначені для виконання на робочій станції в середовищі Веб-навігатора, називають Java-аплетами або просто аплетами. За своєю структурою кожен аплет передставляє собою невелику програмку, в якій повинно бути визначенно кілька обов'язкових функцій. Аплет завантажується по мережі з сервера і виконується в середовищі Web-навігатора.
Технології, засновані на використанні мов сценаріїв
Паралельно з потужною Java-технологією з'явилися технології застосування мігруючих програм, засновані на виконання мов сценаріїв. Найбільш важливою відмінністю таких технологій від Java-технології є покомандно інтерпретація вихідних текстів програм, що виключає необхідність їх компіляції перед виконання.
Рис.3.10 . Схема виконання машинно- незалежних Java- програм
Технології ActiveX
Під ActiveX розуміється набір технологій від Microsoft, спрямованих на додаток, інтеграцію та уніфікацію існуючих методів подання та обробки інформації в комп'ютерних мережах, побудованих по веб- архітектурі. Основна ідея ActiveX- технологій полягає у використанні однакового способу доступу до всіх інформаційних ресурсів мережі (рис.3.11). В якості основи такого уніфікованого способу доступу обрана веб-технологія.
Веб- навігатор
Рис . 3.11 . Схема доступу до інформаційних ресурсів мережі
Відповідно до ActiveX Веб-навігатор повинен стати частиною операційної системи. Більш того, методи доступу до будь-якої інформації на власному комп'ютері. На сервері локальної мережі або в Інтернет повинні бути абсолютно однакові і прозорі для користувача.
ActiveX підтримує такі типи мобільних програм, які можуть бути пов'язані з веб-документом і передаватися на робочу станцію для виконання (рис.3.12):
Програмні компоненти ActiveX Controls;
Аплети Java;
Програми, написані на мовах сценаріїв JavaScript, VBScript (Visual Basic Scripting) і VRML.
Т
ехнології
щодо створення і використання профаммних
компонентів управління ActiveX, а також
програм, написаних на макромові VBScript,
є власними розробками Microsoft.
Рис . 3.12 . Міграція програм в технології ActiveX
На сервері для дієвості технологій ActiveX повинні функціонувати загальносистемні профаммних кошти від Microsoft: операційна система Windows NT Server і веб-сервер США (Internet Information Servеr). Взаємодія веб-сервера з іншими додатками, наприклад, з системою управління базами даних (СКБД), забезпечується за рахунок реалізованних в ньому інтерфейсів ISAPI (Internet Server API) і CGI (Common Gateway Interface).
Доступ до реляційних баз даних
В архітектурі "клієнт- сервер, заснованої на веб- технології, веб-сервер виступає в якості інформаційного концентратора,який доставляє інформацію з різних джерел, а потім однорідним чином за допомогою веб-навігатора надає її користувачеві. Безпосередня інтеграція різнорідної інформації виконується при візуалізації та інтерпретації веб-документів, яку реалізує веб-навігатор при взаємодії з веб-сервером, а також іншими серверами з надання інформаційних ресурсів.
Взаємодія веб-навігатора з сервером системи управління базами даних (сервером СУБД) може здійснюватися двома основними способами:
Доступ до сервера СУБД через веб- сервер;
Доступ до сервера СУБД безпосередньо.
Доступ до сервера СУБД через веб -сервер
Для доступу веб-навігатора до сервера СУБД через веб-сервер використовується система програмних шлюзів. Програмний шлюз, отримавши запит від веб-сервера, виступає в якості посередника між сервером Web і сервером СУБД. Програмні шлюзи розробляються відповідно до визначених стандартів, визначальними способи виклику веб-сервером прикладних програм або функцій динамічних бібліотек, а також способи обміну інформацією з цими програмними об'єктами.
Одними з найбільш поширених стандартів даного типу є інтерфейс CGI (Common Gateway Interface - загальний інтерфейс шлюзів), а також його вдосконалена специфікація, названа як FastCGI (прискорений CGI).
Для доступу веб-навігатора до сервера СУБД через веб-сервер за стандартом CGI необхідна відповідна CGI -програма (рис. 3.13) .
Рис . 3.14. Схема доступу до СУБД через CGI – програму
Доступ до сервера СУБД безпосередньо
Для доступу веб-навігатора до сервера СУБД безпосередньо можуть ис- користуватися як управління Java- аплети і програмні компоненти ActiveX, так і підключаються до навігатора спеціалізовані пропрограмні модулі (плагіни).
Для використання Java-аплетів з доступу до різних серверів СУБД розроблений стандартний інтерфейс JDBC (Java Data Base підключення надпровідності) (рис. 3.15.). Даний інтерфейс орієнтований на забезпечення взаємодії дії з сервером СУБД не тільки Java-аплетів, що виконують на клієнтских станціях, але і Java-програм, що запускаються на сервері.
Рис . 3.15 . Схема доступу до СУБД за допомогою Java- аплета
Доступ веб-навігатора до сервера СУБД за допомогою програмних компонентів управління ActiveX (рис. 3.16) передбачає, як і у випадку Java- аплетів, запит і передачу відповідної програми на робочу станцію, а також її подальше виконання на робочій станції. У цьому випадку взаємодія з сервером СУБД повинно виконуватися через інтерфейс ODBC. Якщо врахувати, що в Java виповнюється веб-навігатором в режимі інтерпретації мобільного коду, то вимоги до апаратури робочої станції по продуктивності і об'єму оперативної пам'яті сущеного зростають.
Рис.3.16 . Схема доступу до СУБД
Управління компонента ActiveX
Використання для доступу веб- навігатора до сервера СУБД підключає навігатору спеціалізованих програмних модулів (плагінів) вимагає попередньої установки відповідно программного доповнення на робочій станції. Після цього взаємодія з сервером СУБД здійснюватиме встановлений програмний засіб, який отримує управління з веб-навігатора при обробці відповідного виклику в веб- документі.
Для уникнення несумісності взаємодія підключених програмних модулів з сервером СУБД, як і у випадку програмних компонентів управління ActiveX, повинно виконуватися через інтерфейс ODBC.
Вbбір системи управління базами даних
У даний час використовується наступна стратегія вибору програмного забезпечення: робиться акцент на вільно поширюване ПЗ, перевага віддається ПЗ з відкритим кодом, крім того, програмне забезпечення повинне забезпечувати високий рівень інформаційної безпеки.
Саме з цієї заподій в якості серверної операційної системи була обрана FREEBDS, стійка і досить захищена ОС. Вібір саме цієї ОС накладає деякі вимоги на інші програмні продукти. Напріклад, з усього спектру СУБД, доступних на ринку програмного забезпечення, здатних функціонувати під керуванням цієї ОС не так вже й багато.
Обрана СУБД повинна забезпечувати виконання таких функцій:
Керування даними у зовнішній пам'яті. Ця функція включає в собі забезпечення необхідних структур зовнішньої пам'яті, як для зберігання даних БД, так і для службових цілей.
Управління буферами оперативної пам'яті.
Журналізація і відновлення БД після збоїв. СУБД повинна бути в змозі відновити останній узгоджений стан БД після будь-якого апаратного або програмного збою.
Підтрімка мов БД. Мається на увазі підтримка найбільш поширеного нині мови реляційних СУБД SQL (StructuredQueryLanguage).
У результаті в якості СУБД, що функціонує під керуванням цієї ОС і задовольняє перерахованим вище вимогам, був обраний MYSQL. MYSQL підтримує SQL і застосовується як SQL-сервера. Це означає, що сервер сам робить обробку запитів, а не перекладає цей обов'язок на клієнтську частину програми.
Так само істотним плюсом MYSQL є ті, що це ПЗ з відкритим кодом, тобто його можна вільно вивчати та змінювати. Данії програмний продукт можна безкоштовно завантажити з Internet [14].
До недоліків MYSQL можна віднести брак деяких функцій: транзакції і збережені процедури. Хоча слід відзначити ті, що за рахунок відмови від даних функцій, даний пакет вийшов швидким, пробачимо і надійним. Саме тому MYSQL зарекомендував собі як відмінний засіб для створення динамічних web-сторінок.
Далі перераховані основні можливості MYSQL:
Підтримка декількох одночасних запитів;
Оптимізація зв'язків з приєднанням багатьох даних за один прохід;
Записи фіксованої і змінної довжини;
ODBC драйвер в комплекті з вихідним кодом програмного продукту;
Гнучка система привілеїв і паролів;
До 16 ключів в таблиці, кожен ключ може мати до 15 полів;
Підтримка чисел довжиною від 1 до 4 байт (ints, float, double, fixed), рядків змінної довжини і міток годині;
Інтерфейс з мовами C і Perl;
Заснована на потоках, швидка система пам'яті;
Утиліта перевірки і ремонту таблиці (isamchk);
Легкість управління таблицею, включаючи додавання і видалення ключів і полів.
Аналіз можливостей MYSQL дозволивши переконатися в тому, що дана СУБД володіє інструментарієм, необхідним для реалізації системи автоматизованого структурування інформації корпоративного порталу.
Вибір web-сервера
Ринок web-серверів поділений в основному між Apache і Microsoft Information Server (IIS). Розподіл сайтів, що функціонують під керуванням того чи іншого web-сервера за даними Netcraft[2] (http://www.netcraft.com/survey/) - найавторитетнішого джерела в галузі дослідження ринку web-серверів:
APACHE - 10411000 сайтів.
Microsoft -4476022 сайтів.
iPlanet -247051 сайтів.
Zeus -214498 сайтів.
На рисунку 3.20 представлена діаграма використання web-серверів, а в таблиці 3.21 розподіл активних сайтів
Рис. 3.20. Графік статистики використання провідних web-серверів
Таблиця 3.21.
Провідні розробники web-серверів
Розробник |
Лютий2014 |
Відсотки |
Березень 2014 |
Відсотки |
Зміна |
Apache |
31703884 |
67.21 |
32280582 |
67.20 |
-0.01 |
Microsoft |
9849971 |
20.88 |
10099760 |
21.02 |
0.14 |
SunONE |
1657295 |
3.51 |
1651575 |
3.44 |
-0.07 |
Nginx |
755227 |
1.60 |
762716 |
1.59 |
-0.01 |
Як видно з наведеної таблиці, сервер Apache займає лідируючі позиції.
Віходіть, що вибір web-сервера полягає у виборі між Apache і Microsoft Information Server (IIS).
IIS пристосований для роботи під управлінням Windows, таким чином web-серверу Apache немає конкурентів на юнікс платформах. Цим і обумовлений вибір саме цього web-сервера для реалізації системи автоматичного структурування інформації корпоративного порталу.
Вибір системи програмування web-додатків.
Важливим моментом у функціонуванні системи автоматизованого структурування інформації є процес формування web-сторінки:
На основі даних, наданих користувачем, браузер формує запитий і посилає його серверу.
Сервер обробляє запитий, формує відповідь і відсилає його браузеру.
Браузер певним чином інтерпретує відповідь сервера і показує результат користувачеві.
На іншому етапі сервер може вести собі одним із двох способів: виступаючи як просте сховище файлів, а може сформувати динамічну web-сторінку, накладаючи на цей процес будь-які правила. Найважлівішу роль у формуванні web-сторінок на даному етапі відіграє серверна система програмування.
Існує велика кількість приблизно рівних за можливостями засобів програмування на стороні сервера: PHP, Perl, ASP.
Microsoft Active Server Pages є скоріше не мовою програмування, а якоїсь технології, що дозволяє легко розробляти програми для Internet. ASP працює на Windows платформах, використовуючи IIS. Основа успіху ASP - проста мова (VisualBasicScript або JavaScript) і можливість використання зовнішніх COM-компонентів.
ASP був відхилений для подальшого використання в цьому проекті, через те, що ASP прив'язаний до web-серверу IIS.
PERL - інтерпретована мова, пристосований для обробки текстових файлів великих розмірів, витяги з них необхідної інформації і видачі повідомлень.
Щодо не так давно, Расмуследорф написавши програму для обробки своїх web-сторінок, яка за 6 років існування стала одним з найпоширеніших гіпертекстових процесорів, потіснивши Perl. З Perl-а, C і Java і узяте більшість правив синтаксису мови PHP.
PHP (PHP: HypertextPreprocessor) - один з найбільш потужних мов програмування для Internet, доступних в даний годину на ринку програмного забезпечення.Багато що з його синтаксису, як було зазначено вище, була запозичена з C, Java і Perl з додаванням деяких унікальних особливостей. Головною метою мови є надання web-розробникам швидкого створення динамічних сторінок.
Серед головних можливостей PHP можна відзначити наступні:
Підтрімка великої кількостіСУБД, серед яких: mSQL, Postgres, MYSQL, Solid, Sybase, Oracle, Illustra, MS SQL, Adabas, Filepro інтерфейсу ODBC. Завдяки цьому з'являється можливість писати динамічні web-сторінки, що автоматичний витягують дані з СУБД.
Більше того, web-сторінки, що використовують PHP, можуть містити будь-які SQL інструкції, які будуть виконані до того, як сторінка буде послана браузеру. З PHP можна виконувати запити в різних СУБД, об'єднувати дані, зберігати ту ж інформацію.
СУБД різних виробників і у кінці відправляти результат в браузер .
PHP забезпечує підвищений рівень безпеки. Використання PHP надає web-серверу ще один рівень між користувачем і сервером (рис. 3.22), що зменшує можливість користувачам втрутитися в роботові сервера. PHP має безліч можливостей, які дозволяють програмісту будувати безпечні програми: робота з жорстким кодом в директорії під година компіляції PHP, можливість фільтрувати параметри введення, можливість ігнорувати дані, послані GET методом.
Рис. 3.22. Взаємодія клієнтської і серверної частини програми.
Таким чином, серед вище перерахованих рішень Internet-програмування, для реалізації даного проекту був обраний PHP.
Підсумком описаного вище аналізу засобів, необхідних для реалізації системи автоматичного структурування інформації корпоративного порталу, послуживши вибір конкретних програмних рішень. А зокрема: у якості системи управління базами даних був обраний MYSQL - швидкий і надійний SQL сервер, для програмування на стороні сервера було вибрано надійне і сучасне рішення –PHP, а в якості web-сервера був обраний–Apache.
Серед особливостей реалізації системи можна відзначити ті, що основні механізми більшості реалізованих модулів є дуже схожими. Наприклад, в модулях з необхідністю доступу до БД використовується загальна бібліотека функцій. Її фрагмент наведено нижче:
<?
/ / Функція з'єднання з базою даних
functiondb_connect ($ str)
{
/ / Необхідні параметри: адреси хоста, логін, пароль
returnmysql_connect ("localhost", "root", "password");
}
/ / Функціявиконаннязапиту
functiondb_exec ($ str $ conn)
{
returnmysql_query ($ str $ conn);
}
/ / ЗавершеннясеансуроботизБД
functiondb_close ($ conn)
{
returnmysql_close ($ conn);
}
/ / Вібірка потрібного запису із загального масиву
functiondb_fetch_row ($ res)
{
returnmysql_fetch_row ($ res);
}
/ / Кількістьрядківумасивізаписів
functiondb_numrows ($ res)
{
returnmysql_num_rows ($ res);
}
?>
Також слід відзначитити, що при написанні модулів доводитися оперувати мовою HTML, так як весь інформаційний висновок виробляється в браузер, що використовує саме цієї мови розмітки.
Побудова модуля реєстрації та ідентифікації користувачів.
Для пояснення вищеперелічених особливостей реалізації системи розглянемо побудову модуля реєстрації та ідентифікації користувачів.
Для успішного функціонування корпоративного порталу необхідно організувати на порталі підтримку роботи користувачів і груп користувачів, а також систему їх ідентифікації.
Слід зазначити, що всі дані про групи користувачів зберігаються в єдиній БД, що забезпечує цілісність інформації. Ніжче описується приклад створення такої таблиці на мові SQL, який підтримується MYSQL:
createtableusers (
User_id int
Loginvarchar (20)
Passwordvarchar (20)
Department_id int
First_name varchar (30)
Second_name varchar (30)
Surnamevarchar (30)
emailvarchar (100)
Telephonevarchar (20)
Describevarchar (100)
);