Дипломна робота Розробка бази даних з архітектурою "клієнт-сервер"



Сторінка1/18
Дата конвертації26.12.2016
Розмір1.03 Mb.
  1   2   3   4   5   6   7   8   9   ...   18



Дипломна робота

Розробка бази даних з архітектурою “клієнт-сервер”. Розробка серверної та клієнтської частини.

ЗМІСТ


ВСТУП 3

1. ОГЛЯД І АНАЛІЗ РОЗГЛЯДУВАНОЇ ПРОБЛЕМИ І ІСНУЮЧИХ МЕТОДІВ І ЗАСОБІВ ЇЇ ВИРІШЕННЯ 7

1.1 Огляд архітектури “КЛІЄНТ-СЕРВЕР” 7

1.1.2 Клієнти та сервери локальних мереж. 8

1.1.3 Системна архітектура “клієнт-сервер” 10

1.1.4 Сервери баз даних 13

1.1.5 Принципи взаємодії між клієнтськими й серверними частинами 13

1.1.6 Переваги протоколів віддаленого виклику процедур 14

1.1.7 Типовий поділ функцій між клієнтами й серверами 15

1.1.8 Архітектури процесора бази даних. 15

1.2 Трирівнева архітектура “КЛІЄНТ-СЕРВЕР” 16

1.2.1 Персональні СУБД. 20

1.3 INTRANET і архітектура “КЛІЄНТ-СЕРВЕР” 22

1.3.1 Дворівнева архітектура “клієнт-сервер” 22

1.3.2 Трирівнева архітектура “клієнт-сервер” 23

Рисунок 6. Трирівнева архітектура “клієнт-сервер” 23

1.3.3. Програми розширення серверної частини 24

1.4 Технологія JAVA. 24

1.4.1 Технологічний цикл обробки JAVA-програм. 24

1.4.2 JAVA-машина 27

1.4.3 Типи даних які підтримує JAVA-машина 28

1.4.4 Регістри 29

1.4.5 Вказівники 30

1.4.6 “Збір сміття” 31

1.4.7 Система команд JAVA-машини 32

1.5 Взаємодія з серверами баз даних – JDBC 34

1.5.1 Використання JDBC 35

1.5.2 Принципи використання JDBC 35

3.4 Нетривіальні можливості JDBC 38

3.5 Використання JDBC 363 40

1.4 Робота з запитами в MS Access 44

1.5.1 Створення запитів на вибірку 45

1.5.2 Вибір даних з однієї таблиці 46

1.5.3 Встановлення властивостей полів 48

1.5.4. Введення умов відбору 49

1.5.5 Умови відбору для дат і часу 50

1.5.6 Багатотабличні запити 51

1.5.7 Створення запиту на основі іншого запиту 53

2. МАТЕМАТИЧНО-ІНФОРМАЦІЙНА СИСТЕМА НА ОСНОВІ АРХІТЕКТУРИ “КЛІЄНТ-СЕРВЕР” 57

2.1 Основні поняття формальної моделі 57

2.2 Модель системи 58

3.ІМПЛЕМЕНТАЦІЯ ПРОГРАМИ З АРХІТЕКТУРОЮ “КЛІЄНТ-СЕРВЕР” ЗАСОБАМИ МОВИ JAVA2 EE 64

3.1 Постановка задачі 64

Для демонстрації архітектури “клієнт-сервер”, засобами мови JAVA2 EE, я вирішив створити програму для запису слухачів на семінари. 64

Програма повинна вміти робити наступне: 64

Вести облік семінарів; 64

Переглядати, додавати, редагувати та знищувати записи про людей, які вирішили прослухати обраний семінар; 64

3.2 Реалізація клієнтської частини 64

Отже, після дослідження питаннь підключення до серверів та інших мережевих сервісів а програмі “клієна” було розроблені наступні основні методи: 68

Метод підключення до сервера 68

Метод для отримання списку слухачів; 68

Метод для отримування інформації про слухача; 68

Метод для додавання інформації про слухачів до бази даних; 68

Метод для редагування інформації про слухачів; 68

Метод для знищення слухачів з бази даних; 68

Та ряд допоміжних: метод, який викликається, коли втрачається зв'язок із сервером, в цьому випадку всі назви семінарів видаляються і створюються, умови для повторного підключення до сервера (активується відповідна кнопка та пункт меню), метод, який центрує вікно програми при її запуску, методи реалізації технології Drag’n’Drop, що дозволяє змінювати семінар слухача простим перетягуваням мишки з таблиці до спику семінарів у вікні програми. 68

Рисунок 6. Вигляд готової програми клієнта 68

68


3.3 Реалізація серверної частини 69

Рисунок 7. Вигляд завершеного сервера 74

4. ВИЗНАЧЕННЯ ЕКОНОМІЧНОЇ ЕФЕКТИВНОСТІ РОБОТИ СИСТЕМИ 75

4.1 Економічна доцільність розробки програмного забезпечення та його впровадження 75

4.2 Побудова мережевого графа 75

4.3 Економічне обґрунтування розробки та впровадження програми 82

4.4 Розрахунок витрат на розробку програмного забезпечення 82

4.5 Розрахунок капітальних вкладень 83

4.6 Розрахунок експлуатаційних витрат 85

4.7 Розрахунок зведених економічних показників 85

5. ОХОРОНА ПРАЦІ 87

5.1 Аналіз небезпечних та шкідливих виробничих факторів 87

5.2 Заходи для забезпечення нормальних умов праці та розрахунок природної освітленості 89

5.3 Забезпечення безпеки експлуатації ЕОМ 97

ВИСНОВКИ 102

ВСТУП


Архітектура клієнт-сервер сьогодні являє собою домінуючу концепцію у створенні розподілених мережних застосувань і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти: набір серверів, які надають інформацію або інші послуги програмам, які звертаються до них; набір клієнтів, які використовують сервіси, що надаються серверами; мережа, яка забезпечує взаємодію між клієнтами та серверами. Сервери є незалежними один від одного. Клієнти також функціонують паралельно і незалежно один від одного. Немає жорсткої прив'язки клієнтів до серверів. Більш ніж типовою є ситуація, коли один сервер одночасно обробляє запити від різних клієнтів; з іншого боку, клієнт може звертатися то до одного сервера, то до іншого. Клієнти мають знати про доступні сервери, але можуть не мати жодного уявлення про існування інших клієнтів.

Дуже важливо ясно уявляти, хто або що розглядається як “клієнт”. Можна говорити про клієнтський комп'ютер, з якого відбувається звернення до інших комп'ютерів. Можна говорити про клієнтське та серверне програмне забезпечення. Нарешті, можна говорити про людей, які бажають за допомогою відповідного програмного та апаратного забезпечення отримати доступ до тієї чи іншої інформації.

Загальноприйнятим є положення, що клієнти та сервери – це перш за все програмні модулі. Найчастіше вони знаходяться на різних комп'ютерах, але бувають ситуації, коли обидві програми – і клієнтська, і серверна, фізично розміщуються на одній машині; в такій ситуації сервер часто називається локальним.

Типовим прикладом клієнт-серверної взаємодії є WWW. Існує величезна кількість веб-серверів, на яких розміщується та чи інша інформація. У найпростішому випадку ця інформація являє собою набір веб-сторінок, які можуть зберігатися на сервері у вигляді файлів, розмічених за допомогою мови розмітки HTML. Але ситуація, як правило, є більш складною; значна частина веб-ресурсів на сучасному етапі є динамічними, тобто вони не існують в заздалегідь підготовленому вигляді, а створюються безпосередньо в процесі обробки запиту від користувача.

Для того, щоб людина, яка працює в Інтернет, могла переглянути ту чи іншу сторінку, на її комп'ютері повинно бути встановлено відповідне програмне забезпечення. Програми для перегляду веб-сторінок називаються броузерами; найпоширенішим броузером є Internet Explorer.

Але, крім броузерів, до серверів можуть звертатися і інші клієнти, а саме – автономні програми. Вони можуть передбачати взаємодію з людиною, а можуть працювати в цілком автоматичному режимі. Типовим класом таких програм є роботи, призначені для автоматичного перегляду веб-ресурсів. Зокрема, роботи є важливим елементом пошукових систем і використовуються ними для перегляду сторінок і збору інформації про них.

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

Модель клієнт-серверної взаємодії визначається перш за все розподілом обов'язків між клієнтом та сервером. Логічно можна виокремити три рівні операцій: рівень представлення даних, який по суті являє собою інтерфейс користувача і відповідає за представлення даних користувачеві і введення від нього керуючих команд; прикладний рівень, який реалізує основну логіку застосування і на якому здійснюється необхідна обробка інформації; рівень управління даними, який забезпечує зберігання даних та доступ до них. Дворівнева клієнт-серверна архітектура передбачає взаємодію двох програмних модулів – клієнтського та серверного. В залежності від того, як між ними розподіляються наведені вище функції, розрізняють : модель тонкого клієнта, в рамках якої вся логіка застосування та управління даними зосереджена на сервері. Клієнтська програма забезпечує тільки функції рівня представлення; модель товстого клієнта, в якій сервер тільки керує даними, а обробка інформації та інтерфейс користувача зосереджені на стороні клієнта. Тонкими клієнтами часто також називають пристрої з обмеженою потужністю: кишенькові комп’ютери, мобільні телефони та ін.

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

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

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

Найчастіше веб-сервер і серверні модулі проміжного рівня розміщуються на одному комп'ютері, хоч і являють собою окремі і логічно незалежні програмні модулі.

На сучасному етапі для програмування модулів проміжного рівня використовується мова серверних сценаріїв РНР, а для управління даними – СУБД MySQL. Таким чином, зв'язку PHP-MySQL слід розглядати як стандартний інструмент для створення порівняно простих інтерактивних веб-сайтів та систем електронної комерції; близько 90% комерційних систем сьогодні створюється саме на цій основі. Водночас як засоби управління даними, так і middleware-засоби можуть бути найрізноманітнішими. Так, для створення серверних застосувань, крім РНР, широко застосовуються Java, Perl, Python. Взагалі, технології створення розподілених, зокрема веб-застосувань, стрімко розвиваються. Слід згадати про технології EJB (Enterprise Java Beans), CORBA, а також про .NET – порівняно нову ініціативу компанії Microsoft. Для зберігання даних та їх передачі часто використовується так звана розширена мова розмітки XML (Extensible Markup Language).

  1   2   3   4   5   6   7   8   9   ...   18


База даних захищена авторським правом ©lecture.in.ua 2016
звернутися до адміністрації

    Головна сторінка