Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture_Marta.doc
Скачиваний:
53
Добавлен:
12.02.2016
Размер:
2.11 Mб
Скачать

8. Моделювання систем бдб і бдс

Бізнес-програми не обмежуються однією компанією; вони повинні мати вихід в інтернет. Це вимагає розробка особливого ПЗ. Програма грунтується на гнучкій архітектурі, яка може бути модифікована. Моделювання - найважливіша частина. Вона дозволяє зрозуміти систему і дає можливість її спростити.

Що таке модель? Це спрощення реальності; дає різні проекції і може бути загальною або дуже точною. Рівень абстракції визначає деталі, що відображаються. Розуміння системи можливе лише у разі створення багатьох моделей, які дають відображення різних аспектів реальності.

9. Багатошарова архітектура програм

При розробці програм для сервера слід враховувати безліч чинників, в основному, в багатозадачному середовищі:

  • надійність;

  • безпека;

  • продуктивність.

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

У хорошій програмі код повинен бути логічно розкладений на складові частини. Всі шари містять один або декілька програмних елементів. Розкладання ефективне, оскільки функціональність шарів може розроблятися незалежно.

Три шари коду:

1. Шар представлення : містить компоненти, що відповідають за зображення. Мережеве представлення складається з веб-сайтів, які використовують таку техніку, як JSP, ASP, PHP, аплети в Java.

2. Логічний шар : містить елементи, що вирішують конкретні програмні проблеми. У таких випадках вимоги жорсткіші. Реалізується на таких мовах, як Java або C++.

3. Шар даних : використовується, як логічний шар для зберігання даних. Звичайно це - база даних.

Ділення програми зазвичай відбувається зі зменшенням взаємозв'язків. У інтернет-бізнесі дуже важливо мати таке розділення.

За логічним розкладанням слідує фізична пргограма з багатошаровою архітектурою.

Є два головні підходи в створенні такого застосування:

  • дволанковий метод,

  • N-ланковий метод.

Межі визначаються межами процесів, машинами, корпораціями. Важлива технологія, а не тип фізичного походження.

Двошарова архітектура

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

Об'єднання логічного шару і шару представлення.

У цьому рішенні логічний шар відокремлений від шару даних. Шари є одними цілими. На цьому етапі головна частина системи (два об'єднаних шара) знаходяться на стороні клієнта. Тому клієнта називають "товстим", а сервер - "худим". Малюнок 9.9.1 відображає рішення:

Малюнок 9.9.1 Двошарова архітектура товстого клієнта.

Архітектура має декілька небажаних властивостей:

  • висока вартість установки - кожен комп'ютер-клієнт повинен мати драйвер бази даних;

  • висока вартість оновлення - заміна драйвера бази даних вимагає таку ж заміну у всіх комп'ютерах;

  • висока вартість зміни схеми бази даних - клієнти використовують безпосередньо саму базу даних;

  • висока вартість зміни структури бази даних;

  • висока вартість заміни логічного шару на кожному комп'ютері;

  • зменшення продуктивності із-за великого трафіку - кожен запит повинен оброблятися.

Об'єднання логічного шару і шару даних

Рішення дозволяє позбавитися від недоліків попереднього рішення.

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

Збільшується розширність установки програми.

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

Малюнок 9.9.2. Двошарова архітектура, об'єднання логічного шару і шару даних.

Багатошарова архітектура

Зараз найефективнішим рішенням вважається фізичне розділення логічних шарів. Тришарове рішення - установка тільки інтерфейсу на стороні клієнта, що робить його "худим". Логічний шар і шар даних залишаються на стороні сервера. Приклад такої архітектури показаний на малюнку 9.9.2.

Малюнок 9.9.3. Тришарова архітектура з худим клієнтом.

Переваги розробки тришарових програм

  • Зменшення установки - драйвери бази даних і ядро встановлюються на сторону сервера. Це зменшує робоче навантаження.

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

  • Безпека забезпечується установкою брандмауерів. Це дозволяє обмежити доступ до захищених даних.

  • Ресурси сервера доступні у вигляді так званої сукупність ресурсів, що прискорює доступ.

  • Застосування архітектури до бази даних зменшує з'єднання і кількість необхідних ліцензій.

  • Кожен шар може мінятися без звернення до інших.

  • Моніторинг вельми простий. Помилки і вразливі місця легко виявляються. Перевантаження одного шару не впливає на інше.

Недоліки тришарових програм

  • Велике перевантаження зв'язку. Фізичне розкладання вимагає додаткових зв'язків. Мережа переповнюється надлишком інформації, переданої між комп'ютерами.

  • Збільшена вартість підтримки програм.

  • Великий код.

  • Останній недолік - реалізація взаємозв'язку шарів.

  • Всі завдання вимагають великих витрат і робочого навантаження. Реалізація таких програм складна, тому створюються серверні програми.

Серверні програми - завдання і ролі

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

Головними ролями серверних програм є:

  • забезпечення стандартами безпеки;

  • забезпечення мережевими ресурсами;

  • багатозадачність;

  • обслуговування розподілених систем.

Вони є невід'ємною частиною багатошарової архітектури. Вони підтримують технологію технологій, створених з компонентів. Сервер - контейнер для компонентів.

Таблиця 9.9.4. представляє декілька серверних програм:

Таблиця 9.9.4. Серверні програми.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]