Московський Авіаційний Інститут
(Державний Технічний Університет)
Курсова робота
по Пазі
по темі:
Розробити спосіб контролю легальності взаємодії двох додатків
Виконав:
студент гр. 4О - 304с
Поздняков Дмитро
Москва, 2 014
Введення
ООП і візуальне проектування дозволяють створювати прикладні програми самого різного призначення. Але в даний час додатки, що розробляються для різних підприємств та їх підрозділів, як правило, повинні функціонувати не самі по собі, а бути частиною деякої інформаційної системи. У цьому випадку один з основних питань - організація взаємного спілкування додатків один з одним і зі сховищами інформації - базами даних.
Як правило, додатки, що працюють у складі інформаційної системи, черпають інформацію з баз даних, до яких мають доступ і інші додатки. При цьому природним чином створюється можливість спілкування додатків через дані. Наприклад, один додаток може записати результати своєї роботи в БД, а інше - прочитати ці дані і використовувати їх у своїй роботі. Таке найпростіше спілкування вимагає тільки одного - уніфікації даних, форматів їх зберігання та мови запитів до БД. Останнє вирішується, найчастіше, за допомогою мови SQL.
У багатьох випадках подібного спілкування через дані недостатньо для ефективної роботи системи. Додаток-споживач даних не може чекати, поки хтось запустить додаток, що поставляє ці дані. Значить потрібна можливість запускати з однієї програми інші, передаючи в них якусь інформацію. Запуск зовнішнього додатки називається породженням процесу. Дочірній процес може виконуватися в адресному просторі батьківського процесу, тобто як би вбудовуватися в породив його процес, а може виконуватися в іншому, власному адресному просторі і в іншому паралельному потоці.
Запуск з однієї програми інших додатків дозволяє використовувати результат роботи дочірнього процесу, але й тільки. Часто цього мало. Потрібно обмін інформацією між додатками, що виконуються паралельно. Причому, треба, щоб цей обмін не залежав від того, якою мовою написано ту чи іншу програму. А при роботі в мережі комп'ютерів, що використовують різні платформи (Windows, Unix, Solaris та ін.), Бажано забезпечити і незалежність спілкування від платформи.
Найпростішими засобами спілкування, що з'явилися ще на зорі Windows, є колективні файли (файли, до яких одночасно можуть отримувати доступ різні додатки), буфер обміну Clipboard, доступний практично всім додаткам Windows, і технологія DDE - динамічного обміну даними. Використання поділюваних файлів, баз даних і буфера обміну досить актуальні і зараз як найпростіші засоби зв'язку додатків один з одним. А технологія DDE мабуть, поступилася місцем більш сучасним способам спілкування.
Пізніше з'явилася технологія зв'язування та впровадження об'єктів (Object Linking and Embedding) - OLE 1. Вона дозволяла створювати складені документи, включаючи, наприклад, в документ Word таблицю Excel. На зміну цій технології прийшла OLE 2, що дозволяла різними програмами надавати один одному свої функції. Користуючись цією технологією, один додаток може не просто викликати інше, а й звернутися до окремих його функцій, тобто керувати ним.
Наступним кроком на шляху вдосконалення способів взаємодії додатків один з одним з'явилася розробка COM (Component Object Model) - компонентної моделі об'єктів. Це стандартизоване опис функцій (служб) програми, до яких вона дає доступ іншим програмам. При цьому неважливо, на яких мовах написані програми і де вони виконуються: в одному потоці, в різних потоках, на різних комп'ютерах. Особливо розширює ці можливості розподілена модифікація СОМ - DCOM. Основою технології СОМ є поняття інтерфейсу. Кожен об'єкт СОМ має декілька інтерфейсів, що дають доступ до його функцій. Клієнту передається покажчик на необхідний йому інтерфейс, після чого клієнтське додаток може викликати описані в інтерфейсі функції.
Основна частина
Поняття процесами взаємодії
процесами взаємодії (англ. Inter-Process Communication, IPC) - набір способів обміну даними між безліччю потоків в одному або більше процесах. Процеси можуть бути запущені на одному або більше комп'ютерах, зв'язаних між собою мережею. IPC-способи поділяються на методи обміну повідомленнями, синхронізації, розділяється пам'яті і віддалених викликів (RPC). Методи IPC залежать в...