Архітектура клієнт-сервер

Автор: Пользователь скрыл имя, 11 Ноября 2010 в 02:23, реферат

Описание работы

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

Содержание

. Архітектура "клієнт-сервер"

1.1. Відкриті системи

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

1.3. Системна архітектура "клієнт-сервер"

1.4. Сервери баз даних

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

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

1.7. Типове розділення функцій між клієнтами і серверами

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

2. Трирівнева архітектура "клієнт-сервер"

3. Програмні засоби розробки

3.1. Універсальні засоби

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

4. Intranet та архітектура "клієнт-сервер".

4.1. Дворівнева архітектура "клієнт-сервер"

4.2. Трирівнева архітектура "клієнт-сервер"

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

Работа содержит 1 файл

Архітектура.doc

— 141.00 Кб (Скачать)

     Міністерство  освіти і науки України

     Івано-Франківський національний технічний університет  нафти і газу 
 
 
 
 
 
 
 

     Кафедра ПЗАС 
 
 
 
 
 
 
 

     Реферат на тему:

«Архітектура клієнт-сервер» 
 
 
 
 

Виконав:

ст. гр. ПЗм-06-1

Микитинський  Т.В.

Перевірив:

Тимків  Д.Ф. 
 
 
 
 
 
 

м. Івано-Франківськ

2010 р.

Зміст

1. Архітектура "клієнт-сервер"

1.1. Відкриті системи

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

1.3. Системна архітектура "клієнт-сервер"

1.4. Сервери баз даних

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

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

1.7. Типове розділення функцій між клієнтами і серверами

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

2. Трирівнева архітектура "клієнт-сервер" 

3. Програмні засоби розробки

3.1. Універсальні засоби

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

4. Intranet та архітектура "клієнт-сервер".

4.1. Дворівнева архітектура "клієнт-сервер"

4.2. Трирівнева архітектура "клієнт-сервер"

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

 

   1. Архітектура "клієнт-сервер"

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

   1.1. Відкриті системи

   Реальне розповсюдження архітектури "клієнт-сервер" стало можливим завдяки розвитку і широкого впровадження в практику концепції відкритих систем. Тому ми почнемо з короткого вступу у відкриті системи. 

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

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

   Практичної  опорою системних і прикладних програмних засобів відкритих систем є стандартизована  операційна система. В даний час такою системою є UNIX. Фірмам-постачальникам різних варіантів ОС UNIX в результаті тривалої роботи вдалося прийти до угоди про основні стандартах цієї операційної системи. Зараз всі поширені версії UNIX в основному сумісні по частині інтерфейсів, що надаються прикладним (а в більшості випадків і системним) програмістам. Як здається, незважаючи на появу претендує на стандарт системи Windows NT, саме UNIX залишиться основою відкритих систем у найближчі роки. 

   Технології  та стандарти відкритих систем забезпечують реальну і перевірену практикою можливість виробництва системних і прикладних програмних засобів з властивостями мобільності (portability) і інтероперабельності (interoperability). Властивість мобільності означає порівняльну простоту перенесення програмної системи в широкому спектрі апаратно-програмних засобів, які відповідають стандартам. Інтероперабельність означає спрощення комплексування нових програмних систем на основі використання готових компонентів зі стандартними інтерфейсами. 

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

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

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

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

   Робоча  станція призначена для безпосередньої роботи користувача або категорії користувачів і володіє ресурсами, відповідними локальним потребам даного користувача.  

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

   Прикладами  сервером можуть служити:

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

   • обчислювальний сервер, що дає можливість виробляти обчислення, які неможливо виконати на робочих станціях;

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

   • файловий сервер, що підтримує загальне сховище файлів для всіх робочих  станцій;

   • сервер баз даних фактично звичайна СУБД, приймаюча запити по локальній  мережі і повертає результати. 

   Сервер  локальної мережі надає ресурси (послуги) робочим станціям і / або інших серверів. 

   Прийнято  називати клієнтом локальної мережі, запитувач послуги у деякої сервера  і сервером - компонент локальної  мережі, який надає послуги деяким клієнтам. 

   1.3. Системна архітектура "клієнт-сервер"

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

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

   Інтерфейс серверної частини визначений і  фіксований. Тому можливе створення нових клієнтських частин існуючої системи (приклад інтероперабельності на системному рівні). 

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

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

   Спільним  рішенням проблеми мобільності систем, заснованих на архітектурі "клієнт-сервер" є опора на програмні пакети, що реалізують протоколи віддаленого виклику процедур (RPC - Remote Procedure Call). При використанні таких коштів звернення до сервісу в віддаленому вузлі виглядає як звичайний виклик процедури. Засоби RPC, в яких, природно, міститься вся інформація про специфіку апаратури локальної мережі і мережевих протоколів, переводить виклик в послідовність мережевих взаємодій. Тим самим, специфіка мережного середовища і протоколів прихована від прикладного програміста. 

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

   Якщо  система реалізована  на основі стандартного пакета RPC, вона може бути легко перенесена в будь-яку відкриту середу. 

   Технологія "клієнт-сервер" стосовно до СУБД зводиться до поділу системи на дві частини - додаток-клієнт (front-end) і сервер бази даних (back-end). Ця архітектура поєднує кращі риси обробки даних на мейнфреймах і технології "файл-сервер". Від мейнфреймів технологія "клієнт-сервер" запозичила такі риси, як централізоване адміністрування, безпека, надійність. Від технології "файл-сервер" успадковані низька вартість та можливість розподіленої обробки даних, використовуючи ресурси комп'ютерів-клієнтів. Зараз графічний інтерфейс користувача став стандартом для систем "клієнт-сервер". Крім того, архітектура "клієнт-сервер" значно спрощує і прискорює розробку додатків за рахунок того, що правила перевірки цілісності даних знаходяться на сервері . Неправильно працює клієнтське додаток не може призвести до втрати чи спотворення даних. Всі ці можливості, раніше властиві лише складним і дорогим системам, зараз доступні навіть невеликим організаціям. Вартість обладнання, програмного забезпечення і обслуговування для персональних комп'ютерів в десятки разів нижче, ніж для мейнфреймів.

   Особливості обробки даних у різних архітектурах показані на рис.1. 

 

    Локальний комп’ютер

   

                    Локальна програма  

     

             СУБД

     

   

                               Дані 
 

   Архітектура “файл-сервер”

   

              Клієнт    

         Файл-сервер    

            Мережева програма

       Дані

   

                                                   СУБД     

Информация о работе Архітектура клієнт-сервер