ign="justify"> Об'єкти синхронізації
Як не дивно, об'єкти синхронізації теж можна віднести до механізмів IPC. Звичайно, обсяг переданих даних в даному випадку дуже невеликий. Але саме ці об'єкти слід використовувати, якщо одному процесу потрібно передати іншому щось на зразок я закінчив роботу або я починаю працювати із загальною пам'яттю .
Message Queue (MSMQ)
Розшифровується це як Message Queuing (MSMQ) або Сервер черг повідомлень Microsoft. Черга повідомлень створена для взаємодії додатків в розподіленому середовищі (на різних комп'ютерах). Ми вже розглядали подібні механізми, наприклад, socket або DCOM. Особливість MSMQ в тому, що комп'ютери не обов'язково повинні бути одночасно в мережі. Тобто можна відправити повідомлення, можна отримати, а за всім цим стежить сервер MSMQ.
Є кілька деталей, які відрізняють черги повідомлень від інших механізмів обміну даними в розподіленій системі.
Доставка між клієнтами водночас не підключеними
Черга повідомлень підтримується операційною системою
Черга повідомлень підтримує транзакції
MSMQ 1.0 використовується в Windows NT 4.0, Windows 95, and Windows 98.
MSMQ 2.0 використовується в Microsoft® Windows® 2000.
Цей протокол дійсно виправдовує свою назву - він забезпечує посилку повідомлень між додатками за допомогою черги повідомлень. Основна його відмінність від стандартної черги повідомлень Windows у тому, що він може працювати з віддаленими процесами і навіть з процесами, які на даний момент недоступні (наприклад, не запущені). Доставка повідомлення за адресою гарантується. Воно ставиться в спеціальну чергу повідомлень і знаходиться там до тих пір, поки не з'являється можливість його доставити.
Віддалений виклик процедур (Remote Procedure Call, RPC)
Строго кажучи, це не зовсім технологія IPC, а скоріше спосіб значно розширити можливості інших механізмів IPC. За допомогою цієї технології спілкування через мережу стає совешенно прозорим як для сервера, так і для клієнта. Їм обом починає здаватися, що їх співрозмовник розташований локально по відношенню до них.
Віддалений виклик процедур (або Виклик віддалених процедур) (від англ. lt; # justify gt; Ідея виклику віддалених процедур (Remote Procedure Call - RPC) полягає у розширенні добре відомого і зрозумілого механізму передачі управління і даних усередині програми , що виконується на одній машині, на передачу управління і даних через мережу. Засоби віддаленого виклику процедур призначені для полегшення організації розподілених обчислень і створення розподілених клієнт-серверних інформаційних систем. Найбільша ефективність використання RPC досягається в тих додатках, в яких існує інтерактивна зв'язок між віддаленими компонентами з невеликим часом відповідей і відносно малою кількістю переданих даних. Такі додатки називаються RPC-орієнтованими.
Характерними рисами виклику віддалених процедур є:
· Асиметричність, тобто одна з взаємодіючих сторін є ініціатором;
· Синхронність, тобто виконання викликає процедури призупиняється з моменту видачі запиту і відновлюється тільки після повернення з викликається процедури.
Реалізація віддалених викликів істотно складніше реалізації викликів локальних процедур. Можна визначити такі проблеми і завдання, які необхідно вирішити при реалізації RPC:
· Оскільки викликав і викликає процедури виконуються на різних машинах, то вони мають різні адресні простори, і це створює проблеми при передачі параметрів і результатів, особливо якщо машини перебувають під управлінням різних операційних систем або мають різну архітектуру (наприклад, використовується прямий або зворотний порядок байтів lt; # justify gt; Розробка способу взаємодії 2х додатків
В якості способу взаємодії додатків була вибрана технологія поділюваних файлів. У нашому прикладі один додаток формуватиме XML файл, і записувати в нього дані, необхідні для роботи іншої програми. Другий додаток зчитує вихідний XML файл першого застосування і обробляє містяться в ньому значення. Дана технологія була обрана в першу чергу на увазі простоти її реалізації.
Наші програми працюють на одному локальному комп'ютері та необхідність їх мережевої взаємодії відсутня. У випадку, коли програми повинні будуть працювати на різних комп'ютерах, буде неважко організувати взаємодію із застосуванням технології веб-сервісів. У цьому випадку повідомлення так само матимуть структуру XML з невеликими змінами, що вносяться специфікацією SOAP. Головною відмінністю буде те, що о...