1. Основні принципи побудови розподілених інформаційних додатків
1.1 Клієнт-серверна система
Клієнт-сервер - це вид розподіленої системи, в якій є сервер, що виконує запити клієнта, причому сервер і клієнт спілкуються між собою з використанням того чи іншого протоколу.
Під клієнтом розуміється програма, що використовує ресурси, а під сервером - програма, яка обслуговує запити клієнтів на отримання ресурсів певного виду. Настільки широке визначення включає в себе практично будь-яку програмну технологію, в якій беруть участь більше однієї програми, функції між якими розподілені асиметрично.
Поняття архітектури клієнт-сервер в системах управління підприємством пов'язане з поділом будь прикладної програми на компоненти або шари. Найбільш часто така архітектура має три компоненти
· компонент подання (візуалізації) даних;
· компонент прикладної логіки;
· компонент управління базою даних.
Дійсно, будь-яка програма, комп'ютеризуються виконання тієї чи іншої прикладної задачі, повинна обмінюватися інформацією з користувачем, здійснювати власне обробку цієї інформації в рамках автоматизації того чи іншого бізнес-процесу, і, нарешті, зберігати дані використовувані в програмі, на тому чи іншому постійному носії.
Для локальних додатків, повністю працюють на ПЕОМ (наприклад, Word або Excel), всі ці компоненти зібрані разом і не можуть бути розподілені між різними комп'ютери. Така програма є монолітною і використовує для виконання ресурси тільки того комп'ютера, на якому виконується.
В файл-серверних додатках частина компоненти зберігання переноситься на файловий сервер, проте, всі маніпуляції зі структурами даних виконуються на клієнтській машині, і код користувача програми теж працює тільки на ній.
Критерієм, що дозволяє віднести прикладну програми до архітектури клієнт-сервер, є те, що хоча б один із трьох її компонентів повністю виконується на іншому комп'ютері, і взаємодія між компонентами на різних комп'ютерах здійснюється через ту чи іншу мережеву середу допомогою передачі запитів на отримання того чи іншого ресурсу.
Оскільки архітектура клієнт-сервер є окремим випадком технології клієнт-сервер, в ній обов'язково є клієнт і сервер. Відповідно, виділяють клієнтську і серверну боку програми. Клієнтська сторона додатка функціонує на робочому місці користувача, в ролі якого в переважній кількості випадків виступає персональний комп'ютер. Серверна сторона функціонує на спеціалізованому комплексі, що включає в себе потужні апаратні засоби, необхідний набір стандартного програмного забезпечення, систему управління базами даних і власне структури даних.
Взаємодія клієнтської і серверної частин додатка здійснюється через мережу - локальну або глобальну. При цьому з точки зору клієнта і сервера взаємодія здійснюється прозоро, відповідно мережевий компонент тут включає в себе сукупність необхідного мережевого обладнання, набір програмних технологій, що забезпечують передачу даних між вузлами мережі, а також власне протокол або протоколи для обміну запитами та результатами їх виконання.
Компонент візуалізації пр...