The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Процессы, Треды, RPC)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Межпроцессное взаимодействие, goodfornothing (ok), 18-Ноя-11, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


2. "Межпроцессное взаимодействие"  +/
Сообщение от goodfornothingemail (ok), 19-Ноя-11, 14:39 
> Вы вероятно не захотите воспользоваться готовыми решениями...
> Тогда копать по ключевым словам soap, Service-Oriented Architecture.
> на ораклах этим занимается шина Oracle ESB, на виндовс - BizTalk Server
> на пальцах - все события регистрируются в одном месте, там есть табличка
> - от кого сигнал, состояние его, кому передать, и процесс который
> постоянно сканирует изменения - когда состояние измениться у кактогото события- он
> дергает соответствующий подпроцесс который что-то делает - считывает какието данны едополнительно,
> кому-то что-то посылает...

Спасибо) Почитав про концепции soap и Service-Oriented Architecture понял, что надо немного переформулировать вопрос. Меня не столько интересует логическая структура файла, при помощи которого осуществляется обмен информацией, сколько сам процесс обмена. SOAP - это логика создания и обработки информации переносимой xml-файлом. Service-Oriented Architecture - это модель, описывающая общие принцы созданий распределенных приложений, имеющих некий универсальный, не зависящий от языка интерфейс. Меня больше интересует вопрос о том, как два приложения, запущенные на ОДНОЙ машине могут обмениваться информацией через xml-файл. Какова логика обмена данными между приложениями через любой файл? Допустим, два приложения знают имя файла, через который ведется обмен. Как они "понимают", когда можно в него писать, когда можно из него считывать..? Каким образом можно максимально быстрый обмен таким способом?

Ответить | Правка | Наверх | Cообщить модератору

3. "Межпроцессное взаимодействие"  +/
Сообщение от Square (ok), 19-Ноя-11, 14:44 
>[оверквотинг удален]
> переформулировать вопрос. Меня не столько интересует логическая структура файла, при помощи
> которого осуществляется обмен информацией, сколько сам процесс обмена. SOAP - это
> логика создания и обработки информации переносимой xml-файлом. Service-Oriented Architecture
> - это модель, описывающая общие принцы созданий распределенных приложений, имеющих некий
> универсальный, не зависящий от языка интерфейс. Меня больше интересует вопрос о
> том, как два приложения, запущенные на ОДНОЙ машине могут обмениваться информацией
> через xml-файл. Какова логика обмена данными между приложениями через любой файл?
> Допустим, два приложения знают имя файла, через который ведется обмен. Как
> они "понимают", когда можно в него писать, когда можно из него
> считывать..? Каким образом можно максимально быстрый обмен таким способом?

делать лок. лок можно сделать либо выставление атрибута на файл либо созданием специального лок-файла. лок-файл это файл нулевой длинны заранее известного имени, факт наличия которого говорит что рабочий файл -занят.  когда процесс собирается начать писать в файл - он делает лок. закончил писать -снял лок.
другой процесс - проверяет есть ли лок- если есть - на случайный промежуток вермени откладывает попытку записи... и как только лок снимится- делает аналогично -ставит лок, пишет, снимает лок.

считывание рабочего файла-делать по дате последней модификации файла. читающий процесс запоминает время последней модификации (это атрибут файла на уровне файловой системы),и как только оно поменяется- значит стоит считать какието обновленные данные.

вобще, обмен через файлы - имхо самый медленный. через сокеты -и быстрее и универсальнее.

Ответить | Правка | Наверх | Cообщить модератору

4. "Межпроцессное взаимодействие"  +/
Сообщение от goodfornothingemail (ok), 19-Ноя-11, 15:01 
>[оверквотинг удален]
> начать писать в файл - он делает лок. закончил писать -снял
> лок.
> другой процесс - проверяет есть ли лок- если есть - на случайный
> промежуток вермени откладывает попытку записи... и как только лок снимится- делает
> аналогично -ставит лок, пишет, снимает лок.
> считывание рабочего файла-делать по дате последней модификации файла. читающий процесс
> запоминает время последней модификации (это атрибут файла на уровне файловой системы),и
> как только оно поменяется- значит стоит считать какието обновленные данные.
> вобще, обмен через файлы - имхо самый медленный. через сокеты -и быстрее
> и универсальнее.

Ваша мысль мне ясна)Я понимаю, что обмен через файл - штука сама по себе медленная, но файл универсален. Я достаточно хорошо знаком с C и C++, а о других языках имею весьма поверхностное представление. Все ли они поддерживают сокеты??? Могу ли я быть уверен, что с моим приложением через сокеты сможет общаться приложение, написанное на любом другом языке (широко применяемом? Скажем так, нужно выбрать наиболее быстрый вариант обмена с сохранением универсальности

Ответить | Правка | Наверх | Cообщить модератору

6. "Межпроцессное взаимодействие"  +1 +/
Сообщение от pavlinux (ok), 19-Ноя-11, 22:31 
> Скажем так, нужно выбрать наиболее быстрый вариант обмена с сохранением универсальности

Сначала делаешь на файлах, полгода получаешь зарплату.
Потом, случайно так, выясняется что это тормоза...
Придумываешь делать на сигналах иль пайпах,... ещё пол года получаешь зарплату
Когда чувствуешь, что начальство уже начинает сомневаться... , ты победоносно,
за пару недель делаешь на TCP/IP ...

Пох...ю на проблему, годовая зарплата освоена. :)


Ответить | Правка | Наверх | Cообщить модератору

7. "Межпроцессное взаимодействие"  +/
Сообщение от elvenic (??), 20-Ноя-11, 02:09 
>> Скажем так, нужно выбрать наиболее быстрый вариант обмена с сохранением универсальности
> Сначала делаешь на файлах, полгода получаешь зарплату.
> Потом, случайно так, выясняется что это тормоза...
> Придумываешь делать на сигналах иль пайпах,... ещё пол года получаешь зарплату
> Когда чувствуешь, что начальство уже начинает сомневаться... , ты победоносно,
> за пару недель делаешь на TCP/IP ...

Внемлите! Внемлите словам мудрого!

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру