Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекцій розробка.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
23.79 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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