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