Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України


НазваЛекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Дата конвертації23.03.2013
Розмір445 b.
ТипЛекція


Лекція 11. Розподiленi системи документiв

  • Діденко Дмитро Георгійович

  • Старший викладач кафедри ММСА ННК «ІПСА»

  • Національний технічний університет України

  • «Київський політехнічний інститут»

  • м. Київ, Україна


Питання заняття

  • Розподiленi системи документiв на основi системи WWW.

  • Розподiлена система Lotus Notes.



1. Розподiленi системи документiв на основi системи WWW



1.1. Консорцiум World Wide Web

  • За стандартизацiю протоколiв удосконалення мiжоперацiйної взаємодiї та удосконалення систем на основi World Wide Web (WWW) з 1994 року вiдповiдає консорцiум World Wide Web, який є органом CERN i M.I.T.



1.2. Формат виклику документів

  • Система WWW є системою «клiєнт-сервер» iз мiльйонами серверiв, якi обробляють запити на отримання документiв i створення нових, мають унiфiкований вказiвник ресурсу URL (Uniform Resource Locator) за форматами:

  • протокол :// DNS - iм'я [:порт/файл файлової системи];

  • протокол :// IP адреса [:порт/файл файлової системи].



1.3. Мови реалізації документів

  • Документи створюють на основi мов HTML, XML, Java, Java-Script i читають на клiєнтському боцi за допомогою браузера. Браузер надає спектр методiв i засобiв надання iнформацiї, яка оброблялась Web-серверами i Web-клiєнтами.



1.4. Об'єктна модель документiв DOM

  • Документ пiсля синтаксичного розбору подається у браузерi у виглядi дерева синтаксичного розбору. Вузол дерева являє собою елемент документа i реалiзує стандартний iнтерфейс з методами доступу до змiсту, посилання на батькiвськi i дочiрнi вузли тощо згiдно з об'єктною моделлю документiв DOM (Document Object Model), яку називають динамiчною мовою HTML (DHTML). Iнтерфейс дозволяє визначити в документi сценарiї обходу дерева синтаксичного розбору, перегляду i модифiкацiї вузлiв, їх значення тощо. Сучасною мовою розмiтки гiпертексту є мова HTML (Hyper Text Markup Language).



1.5. Розширена мова розмiтки XML

  • Розширеною мовою розмiтки є мова XML (eXtensible Markup Language), у якiй, на вiдмiну вiд HTML, передбачено структурування документа i роботу з рiзними типами документiв. Правила форматування XML-документа реалiзуються, зокрема, за допомогою вбудовувану XML-документа в HTML-документ, або з використанням мови стилiв XSL (eXtensible Style Language).



1.6. Підключення мультимедіа

  • Мови XML i HTML пiдтримують входження елементiв мультимедiа, зокрема зображень, вiдеоклiпiв, аудiофайлiв, iнтерактивну анiмацiю. Тип документа часто визначають типом багаторольового розширення пам'ятi Iнтернету МIМЕ Style (Multypurpose Internet Mail Extensions). У MIME розрiзняють типи i пiдтипи.



1.7. Типи даних МIМЕ-документiв



1.8. Узагальнений iнтерфейс шлюзу CGI

  • Архiтектуру «клiєнт-сервер» WWW доповнено пiдтриманням взаємодiї з клiєнтами за допомогою узагальненого iнтерфейсу шлюзу CGI (Common Gateway Interface).



1.9. Використання CGI на боцi сервера



1.10. Обробка запитів на Web-сервері

  • Отримавши запит, сервер запускає вказану в запитi програму i передає їй параметри запиту. Результат повертаємся у виглядi HTML-документа, який вiдсилається браузеру клiєнта. Перед цим сервер може обробити документ, зокрема з використанням серверного сценарiю (server-side script), який виконується сервером у разi локального отримання документа. Сценарiй задається тегом HTML залежно вiд сервера. Клiєнту також можуть передаватись скомпiльованi аплети (applets) для виконання в просторi адрес браузера клiєнта. Сервернi аплети-сервлети (servlets) можна виконувати сервером iз застосовуванням методiв з комунiкацiйним протоколом передавання гiпертексту HTTP (Hypertext Transfer Protocol).



1.11. Схоронність зв’язку

  • В основу протоколу HTTP покладено протокол TCP. За запитом клiєнта до сервера, або навпаки, встановлюється з'єднання TCP, за яким надсилається сам запит. Сучаснi версiї HTTP пiдтримують схоронний зв'язок з'єднань (persistent connections), якi дозволяють передавати кiлька запитiв i виконувати конвеєризацiю (pipelining), тобто надсилати кiлька запитiв однiєю командою.



1.12. Операцiї клiєнта за протоколом HTTP



1.13. Структура повiдомлення-запиту



1.14. Структура повiдомлення-відповіді



1.15. Клієнтські та серверні процеси

  • У WWW використовують два типи процесiв: Web-браузери для доступу до документiв i Web-сервери для оброблення запитiв браузерiв. Для пiдтримання рiзних типiв документiв у браузерах застосовують модулi розширення (plug-ins). Цi модулi являють собою невеликi програми для оброблення документiв певного типу. Тип документа зазвичай здається як тип МIМЕ.

  • Для роботи з рiзними протоколами i локальним кешем використовують клiєнтськi процеси Web-замiсники (Web-proxy), якi вбудовуються в браузер.



1.16. Використання у Web-браузерi модуля розширення



1.17. Приклад роботи Web-сервера: Apache

  • Web-сервери обробляють HTTP-запити i повертають клiєнту вiдповiдi. Наприклад, для Web-сервера Apache на платформi UNIX створюються модулi пiд керуванням ядра.

  • Для HTTP-запиту модуль створює запис запиту з посиланням на документ, який мiститься в HTTP-запису. Довiльний модуль Apache працює з цим записом, змiнюючи поля. Пiсля завершення документ повертається клiєнту. Обробники (handlers) модуля отримують як єдиний параметр вказiвник на запис запиту. Вони викликаються модулем у певнiй фазi виконання: розв'язання посилань на документи в локальн iм'я файлу, автентифiкацiї клiєнта; контроль доступу клiєнта; контроль доступу запиту; визначення типу МIМЕ-вiдповiдi; загальна фаза оброблення; пересилання вiдповiдi; протоколювання даних про оброблення запиту.



1.18. Структура Web-сервера Apache



1.19. Кластери Web-серверів

  • Для розвантаження потоку запитiв у структурi Web передбачають кластери реплiкованих Web-серверiв. Зовнiшнiй iнтерфейс розподiляє HTML-запити мiж реплiками кластера серверiв.

  • Розподiляти запити можна за змiстом (content-aware request distribution) на пiдставi перегляду змiсту HTML-запиту, за яким з'єднання TCP прозоро для клiєнта перемикається безпосередньо на сервер. У результатi сервер безпосередньо вiдповiдає на запит клiєнта.



1.20. Iменування у WWW

  • Iменування у WWW реалiзовується на основi унiфiкованого iдентифiкатора ресурсiв URI (Uniform Resource Identifier), який має двi функцiї - унiфiкованого вказiвника ресурсiв URL (Uniform Resoarce Locator) й унiфiкованого iменi ресурсу URN (Uniform Resource Name), який є унiкальним i глобальним i не залежить вiд мiсцеположення ресурсу.

  • В URL для визначення мiсцеположення застосовують DNS-iмена або IP-адреси i, в разi потреби, - порт та iм'я документа. В URN вирiзняють три частини.



1.21. Структура iменi URN



1.22. Синхронiзацiя у WWW

  • Синхронiзацiя WWW стає дедалi актуальнiшою у зв'язку з пiдтриманням сумiсної роботи над Web-документами. Для цього HTTP розширено i розроблено протокол розподiленої пiдготовки документiв з контролем версiї Web DAV (Web Distributed Authoring and Versioning). Синхронiзацiя у Web DAV пiдтримується простим механiзмом блокування записiв. Блокування виключного записування може бути надано лише одному клiєнту. У блокуваннi сумiсного записування передбачено подiл документа на частини з використанням маркерiв блокувань клiєнтами, якi пiдтверджують їх права на запис.



1.23. Кешування даних

  • Кешування даних клiєнтом i реплiкацiї серверiв забезпечують у WWW пiдвищення продуктивностi. Кешування виконується через кеш браузера з використанням Web-замiсника, який може кешувати отриманi вiд сервера вiдповiдi. В останньому випадку можливе використання цих даних кiлькома клiєнтами, тобто кеш використовується так само, як i в разi розподiлу.



1.24. Реплiкацiя в Web

  • Реплiкацiю в Web використовують такими способами: iз використанням кластерiв Web-серверiв i дзеркальних серверiв; iз застосуванням мережi доставляння змiсту CDN (Content Delivery Network) або мережi розподiленого змiсту (Content Distribution Network) для колекцiй серверiв, розподiлених в Iнтернетi. У CDN застосовують рiзнi технологiї реплiкацiї i розподiлення документiв. Так, у службi RADAR реплiкацiя виконується за регiональним принципом. У CDN кожний документ має головну HTML-сторiнку iз вбудованими iншими документами (вiдео, аудiо тощо). За частотою запитiв до документiв на вбудований документ посилання за допомогою вказiвника URL змiнюється так, що вiн посилається на вiртуальний образ (virtual ghost) реального сервера CDN.



1.25. Принцип роботи мережi CDN



2. Розподiлена система Lotus Notes



2.1. Історія розвитку Lotus Notes

  • Систему Lotus Notes розроблено в 90-х роках. Вона орiєнтована на БД, працює пiд керуванням ОС Windows, UNIX. Система має архiтектуру «клiєнт-сервер» i спочатку її розробляли для локальних мереж.



2.2. Архітектура Lotus Notes

  • Сервер Domino (Domino servers) керує колекцiєю БД i надає доступ RPC до розподiлених БД вiддаленим клiєнтом на iнших серверах. Клiєнти, сервери i БД зв'язанi мiж собою компонентом промiжного рiвня, який називають службами об'єктiв Notes NOS (Notes Object Services), якi розмiщенi над базовими ОС. Це дозволяє використовувати розподiленi БД.



2.3. Структури системи Lotus Notes



2.4. Нотатка (note)

  • Основний елемент даних - нотатка (note), яка є списком елементiв (items). Елементом є комiрка для зберiгання нотатки даних, що має тип даних (наприклад, текстовий, числовий). Нотатки утворюють iєрархiю, яка мiстить початкову нотатку i вiдповiдь на неї. Розрiзняють нотатки за даними (data notes) та iншi типи нотаток. Нотатка за даними подiбна до Web-документiв з рiзними типами даних.



2.5. Категорії нотаток

  • Основними категорiями нотаток є конструкцiї, подiбнi до БД (типи Form - форма, Field - поле, View - структура для показу колекцiї документiв); данi (тип Document) та адмiнiстрування (типи ACL - список контролю доступу до БД; ReplPormula - реплiкацiя БД). Взаємопосилання мiж нотатками здiйснюється за допомогою посилань на нотатки (notelinks), якi мiстять БД i нотатку в нiй. На нотатку можна посилатись за домогою URL.



2.6. Використання RPC

  • Система RPC є частиною промiжного рiвня ОС (NDS). Взаємодiя процесiв, виконувана на рiзних машинах, має обмежений характер порiвняно з CORBA, DCOM i реалiзується за допомогою iнтерфейсiв системи RPC Notes. Поштовi повiдомлення надсилаються у форматi МIМЕ з використанням протоколiв SMTP, поштового протоколу Lotus Notes тощо. Система має засоби автоматичного надсилання електронних листiв для реагування на подiї в БД. Цi посилання можуть автоматично змiнювати змiст БД.



2.7. Робота клієнта

  • Чiтко розрiзняють машини-сервери i машини-клiенти. Клiєнт, крiм браузера i звичайних програм взаємодiї iз серверами, має програму для розроблення нотаток, форм, подiй тощо i програму виконання додаткiв. Програма розроблення подiбна до програм для БД.



2.8. Робота сервера Domino

  • Сервер обробляє запити за допомогою основної програми i завдань що до неї входять, вiдкриває i закриває локальнi БД, пiдтримує суперечнiсть даних i керує кластерами серверiв. Додатковi завдання сервера (server tasks) у виглядi процесiв виконуються на однiй машинi з головним сервером i перебувають пiд його повним контролем. Цей головний сервер i його завдання створюють сервер Domino.



2.9. Побудова кластерів

  • Сервери Domino можна об'єднувати у кластери з двох-шести машин з однаковими серверами й iдентичними копiями БД. Клiєнт може вибирати сервер для запиту на пiдставi наданого списку серверiв кластера.



2.10. Структура сервера Domino



2.11. Побудова кластерів

  • Iменуються нотатки за допомогою звичайних операцiй БД з використанням подань i посилань. Додатковi сутностi - користувачi, сервери, вiдкритi ключi тощо - зберiгаються у спецiальнiй БД - каталозi Domino (Domino directory).



2.12. Послiдовнiсть оброблення запитiв для кластера серверiв Domino



2.13. Іменування нотатків

  • Iменуються нотатки за допомогою звичайних операцiй БД з використанням подань i посилань. Додатковi сутностi - користувачi, сервери, вiдкритi ключi тощо - зберiгаються у спецiальнiй БД - каталозi Domino (Domino directory).



2.14. Види іменування

  • Iмена у виглядi рядка символiв пiдтримуються сервiсом розпiзнаних iмен (distinguished names), зокрема й iєрархiчних, вiдповiдно до протоколу LDAP за допомогою URL, який застосовують для доступу до Domino через Web. Адреса URL у Notes складається з DNS-iменi сервера Domino, шляху до БД Notes на тому самому серверi та частин з iдентифiкатора iменi операцiї та параметрiв операцiї (необов'язково). За виконання операцiї вiдповiдає сервер Domino.



2.15. Машинні iдентифiкатори

  • Бiльшiсть питань щодо iменувань розв'язують за допомогою машинних iдентифiкаторiв, серед яких виокремлюють:

  • глобальнi (глобальний унiкальний iдентифiкатор UNID (Universal Identifier) нотатки-iдентифiкатор нотатки з iсторiєю);

  • iдентифiкатори реплiк;

  • iдентифiкатор БД у межах сервера, який визначає час створення або останнього вiдновлення БД;

  • iдентифiкатор нотатки в межах БД.



2.16. Блокування в системі Lotus Notes

  • Система Notes пiдтримує кiлька механiзмiв блокування, якi гарантують виключний доступ до БД, а також до транзакцiї. Вони є нерозподiленими та обмеженi одним сервером Domino.



2.17. Реплiкацiя даних

  • Реплiкацiя здiйснюється нотатками зв'язувальних документiв (connection documents), якi мiстяться в каталозi сервера Domino i описують коли, як i що реплiкувати. Розрiзняють чотири схеми реплiкацiї:

  • вибирання-просування, за якою завдання на реплiкацiю зчитує змiни цiльового сервера i на нього передаються власнi змiни;

  • подвiйне вибирання, за яким зчитуються змiни iз сервера i вiдповiдають на запити, передаючи власнi змiни;

  • просування, за яким змiни передаються на сервер, iгноруючи iснуючi там змiни;

  • вибирання, яке передбачає зчитування змiн iз сервера, iгноруючи власнi змiни.

  • Для кластерiв змiни передаються на всi реплiки кластера.



2.18. Вiдмовостiйкiсть роботи

  • Вiдмовостiйкiсть забезпечується системою вiдновлення на пiдставi журналу з випереджуваним записом перед виконанням операцiї транзакцiї.



2.19. Безпека у системі

  • Автентифiкацiя грунтується на застосуваннi вiдкритих ключiв, якi мiстяться у сертифiкатах. Дiйснiсть сертифiкатiв забезпечується використанням посвiдчень для користувачiв, серверiв i сертифiкуючих органiзацiй. Посвiдчення реалiзовано у виглядi файлу з ключем i сертифiкатом. У разi реєстрацiї нового користувача вiн отримує два набори пар (вiдкритий ключ, закритий ключ). Перша пара з 512-бiтним ключем RSA використовується для шифрування даних за межами США, а друга пара з 630-бiтним ключем у межах США та для автентифiкацiї i пiдпису повiдомлень.

  • Створюється сертифiкат автентичною органiзацiєю i зберiгається у файлi користувача. Закритi ключi шифруються ключем користувача. Аналогiчно створюють файли для Domino.

  • Система Notes пiдтримує iєрархiю сертифiкатiв з додатковими можливостями обмiну ключами.



Питання заняття

  • Розподiленi системи документiв на основi системи WWW.

  • Розподiлена система Lotus Notes.



Питання?

  • Розподілені інформаційні системи

  • www.simulation.kiev.ua/dis/



Схожі:

Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 10. Система coda та iншi розподiленi файловi системи Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Прототипом системи є система afs на 10000 робочих станцiй I має ту ж саму afs virtue органiзацiю
Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 03. Програмне забезпечення проміжного рівня Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Концепції програмних рішень Основними програмними компонентами рiс є ос I системи промiжного рiвня
Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 07. Розподілена система dcom діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Використовується переважно у ос windows, хоча була реалізована на декількох платформах
Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 12. Моделi I системи узгодження Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Типи моделей узгоджень Системи узгодження передбачають вiддiлення обчислювальних процесiв вiд механiзмiв їх узгодження
Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 06. Промисловий стандарт corba діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Першi версiї специфiкацiї з'явились на початку 90-х рокiв. Поширеними є версiї 4 i 3
Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 04. Зв'язок процесів на рівні протоколів Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Т. к. Ріс побудовані з використанням принципа відкритості, то використовуються стандартні протоколи обміну даними між процесами
Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 01. Структура І основні задачі створення розподілених систем Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Визначення розподіленої системи Розподілена система це комплекс незалежних комп'ютерів, які користувач сприймає як єдину об'єднану...
Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 05. Зв'язок на основі повідомлень І потоків Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Зв'язок на основi повiдомлень Зв'язок на пiдставi повiдомлень дозволяє уникнути блокування клiєнта у процесi здiйснення операцiї,...
Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 15. Розподiлене пiдтвердження та вiдновлення процесiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
Розподiлене пiдтвердження (Distributed commit) являє собою бiльш загальне завдання порiвняно з атомарним груповим розсиланням i передбачає...
Лекція 11. Розподiленi системи документiв Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України iconЛекція 13. Процеси розподiлених систем Діденко Дмитро Георгійович Старший викладач кафедри ммса ннк «іпса» Національний технічний університет України
ОС. Вiдслiдковуються процеси за допомогою таблиць процесiв (process table), якi мiстять записи даних (значення регiстрiв, процесора,...

Додайте кнопку на своєму сайті:
dok.znaimo.com.ua


База даних захищена авторським правом ©dok.znaimo.com.ua 2013
звернутися до адміністрації
dok.znaimo.com.ua
Головна сторінка