Отправка данных
Top  Previous  Next

Для запуска процесса формирования и отправки данных в закладке "Отправка данных" сначала необходимо отметить нужных адресатов. На следующей иллюстрации в списке "Подготовить данные для отправки" есть одна фирма "Полюс", отметим ее:

clip0141

Формирование и отправка сообщений адресату зависит от выбранного способа Формирования отправляемых сообщений, но в общем случае состоит из двух этапов:
   1) формирование исходящего сообщения (сообщений);
   2) собственно отправка исходящих сообщений.

1. Этап 1 - Формирование исходящего сообщения

1.1. Формирование исходящего сообщения во внутреннем формате

В этом разделе рассмотрим формирование исходящих сообщений во внутреннем формате (в следующем разделе будет рассмотрен формат XML+ZIP).

Допустим, что правила отправки сообщений адресату "Полюс" следующие:

clip0089

Для запуска процесса формирования исходящего сообщения нажимаем на кнопку "Старт". В зависимости от объема отправляемых данных формирование сообщения может занять большее или меньшее время:

clip0034

По окончании этого процесса программа предложит сразу же отправить e-mail сообщения, если таковые имеются среди исходящих:

clip0035

Нажатие на кнопку "Да" будет эквивалентно нажатию на кнопку "Отправить сообщения по e-mail" в главном окне (см. "Этап 2").

Общий вид главного окна после завершения процесса формирования исходящих (сформировано сообщение из двух частей - 100Кб и 15 Кб):

clip0142

Поясним формат имен формируемых файлов сообщений. В следующей таблице в первой строке приведена спецификация формата, во второй - пример для первого из файлов, сформированных в предыдущем примере:

№ узла-источника
-
№ узла-адресата
=
Год
Месяц
Дата
-
Час
Минута
.dat-
№ данной части
(
Всего частей в сообщении
)
47

48

2005
09
25

17
49

001

002



т.е. имя файла сообщения: 47-48=20050925-1749.dat-001(002)

Необходимо обратить внимание, что действия по обмену данными документируются в Журнале обмена данными, который можно использовать как для восстановления хронологии этих действий, так и для диагностики при возникновении затруднений. Со временем Журнал обмена данными будет увеличиваться в объеме, что будет приводить к замедлению его загруки при запуске программы. Для предотвращения этого нежелательного эффекта предусмотрена настройка "Создавать новый журнал при достижении размера, Кб". При достижении заданной величины текущий журнал (файл exchange.log, располагается рядом с исполняемым файлом программы realty.exe) переименовывается таким образом, чтобы его новое имя содержало дату и время переименования, и создается новый пустой файл exchange.log.


1.2. Формирование исходящего сообщения в формате XML+ZIP

Допустим, что фирма "Полюс" создала в Интернете свой сайт с именем www.polus.dom. На этом сайте организована база данных заявок и посетителям этого сайта предоставлена возможность искать в этой базе данных подходящие им предложения. Допустим также, что фирма "Полюс" решила использовать возможности программы "Агентство недвижимости" для отправки заявок из своего офиса сразу на web-сайт (вопросы приема данных на подобных web-сайтах рассмотрены в разделе Прием данных). Для этого в справочнике участников обмена данными был создан следующий участник:

clip0113

Аналогично тому, как это было описано выше, для запуска процесса формирования исходящих нужно выбрать адресат и нажать на кнопку "Старт", например:

clip0144

После формирования исходящего сообщения программа проинформирует об этом:

clip0039

Заметим, что если в группе "Справочные данные для отправки" отмечена опция "Отправлять все справочные данные", то, наряду с xml-файлом заявок, будут также формироваться и xml-файлы всех общеупотребительных справочников, имеющихся в базе данных отправителя.

1.3. Формирование исходящего сообщения в формате XML+Документы

Формат XML+Документы расширяет возможности формата XML+ZIP поскольку позволяет включать в состав данных документы, присоединенные к заявкам. Изменим в предыдущем примере формат на XML+Документы:

clip0091

Запуск процесса подготовки данных для отправки аналогичен тому, как было рассмотренно выше. Сделаем пояснения относительно наименований и форматов результирующих файлов. Все файлы формата XML+Документы можно разделить на 3 категории:

1) XML-файл параметров заявок (по структуре идентичен формату "XML+ZIP"). Название файла образуется по шаблону:
   <НомерЛицензииУзлаОтправителя>-qu.xml.zip
т.е. для нашего примера:
   47-qu.xml.zip

2) Набор файлов документов (в частности - иллюстраций) по объектам недвижимости. Название каждого из файлов-документов образуется по шаблону:
   <ПолныйНомерЗаявки>-<ПолныйНомерДокумента>-<НазваниеДокумента>.<РасширениеФайла>
в нашем примере это может быть:
   2000047-300047-Фасад.jpg
Напомним, что в полных номерах заявок и документов пять цифр справа означают номер лицензии (в нашем случае это 00047, т.е. номер лицензии равен 47). Указание полных номеров в именах файлов позволяет однозначно определять принадлежность заявки к тому или иному узлу.

3) Индексный-XML-файл для упрощения навигации по файлам двух предыдущих категорий. Название файла образуется по шаблону:
   <НомерЛицензииУзлаОтправителя>-idx.xml.zip
т.е. для нашего примера:
   47-idx.xml.zip
Структура этого XML-файла подробно рассмотрена в разделе Прием данных в части Прием сообщений в формате XML+Документы на web-сайтах.

1.4. Формирование исходящего сообщения в формате Дельта XML+Документы. Способ отправки: FTP

clip0098

При выборе этого варианта формирования отправляемых сообщений дополнительно к указанным в предыдущем разделе трем категориям файлов формируются еще 2 файла (т.н. "дельты"):

1) "Дельта"-XML-файл параметров заявок (по структуре идентичен файлу XXX-qu.xml.zip). Название файла образуется по шаблону:
   <НомерЛицензииУзлаОтправителя>-delta-qu.xml.zip
т.е. для нашего примера:
   47-delta-qu.xml.zip
В данном файле содержится информация о заявках, которые с момента прошлой отправки на сайт были добавлены либо в которых были изменены какие-либо параметры. При организации разбора скриптами поступивших на сайт сведений иногда проще обрабатывать меньший по объему "дельта"-файл, нежели полный файл XXX-qu.xml.zip.

2) "Дельта"-Индексный-XML-файл, содержащий произошедшие изменения в наборе заявок с момента прошлой отправки на сайт. Название файла образуется по шаблону:
   <НомерЛицензииУзлаОтправителя>-delta-idx.xml.zip
т.е. для нашего примера:
   47-delta-idx.xml.zip
Структура этого XML-файла подробно рассмотрена в разделе Прием данных в части Прием сообщений в формате XML+Документы на web-сайтах.

1.5. Формирование исходящего сообщения в формате Дельта XML+Документы. Способ отправки: Не отправлять

clip0112

Данный вариант полностью аналогичен варианту "Формат: Дельта XML+Документы. Вариант отправки: FTP" за исключением того, что все операции производятся на локальном компьютере.

2. Этап 2 - Отправка исходящих сообщений

2.1. Способ отправки: Не отправлять

При формировании отправляемых сообщений с признаком "Способ отправки: Не отправлять" подразумевается отправка данных вручную, т.е. простой перенос созданных файлов сообщений на нужный носитель данных (флэш-диск, CD-диск и т.д.) из каталога, в котором были сформированы экспортируемые данные.

2.2. Способ отправки: E-MAIL

Сообщения, сформированные с признаком "Способ отправки: E-MAIL", программа отправляет самостоятельно. Для этого необходимо подключиться к Интернету (в некоторых фирмах доступ в Интернет организован таким образом, что пользователям нет необходимости об этом заботиться) и нажать на кнопку "Отправить сообщения по e-mail". Отправка сообщений сопровождается прогрессором (обратите внимание - сообщение 100Кб при передаче по e-mail увеличилось до примерно 140Кб, данный эффект был рассмотрен в Настройки):

clip0038

В процессе отправки сообщений программа учитывается некоторые ограничения, которые могут быть установлены на почтовом сервере. Так, некоторые SMTP-сервера в целях борьбы со спамом (нежелательной электронной корреспонденцией) могут ограничивать число писем, передаваемых в одной SMTP-сессии. Программа осуществляет отправку писем таким образом, чтобы в рамках одной SMTP-сессии содержалось не более 5 писем; если их общее число больше 5, то после отправки 5 сообщений программа закрывает SMTP-сессию, открывает новую, отправляет следующие 5 сообщений и т.д. Другие SMTP-сервера ограничивают число писем, отправляемых в единицу времени (например, в минуту); в этом случае будут отправлены письма в разрешенном количестве и в Журнале обмена данными сохранится соответствующее сообщение почтового сервера; по истечении нужного интервала времени отправку сообщений следует возобновить и продолжать так до их полной отправки. Отметим, однако, что указанные трудности могут возникать, как правило, тогда, когда объем отправляемых данных велик и/или сообщения разбиваются на слишком мелкие части.

Если во время отправки не произошло никаких ошибок (указанных выше, обрыва подключения к Интернет и т.д.), то по окончании отправки будет отображено сообщение:

clip0040

Общий вид главного окна теперь будет таким:

clip0145

Обратите внимание на то, что очередь "Сообщения, готовые к отправке участникам обмена" теперь пуста, все отправленные сообщения были перемещены в подкаталог "\Отправленные" (см. Настройки).

Заметим также, что в описанном выше процессе отправляются по e-mail только те сообщения, для которых Способ отправки был задан как E-MAIL (см. в "Карточке участника обмена данными" параметр "Формирование отправляемых сообщений"), а сообщения, для которых Способ отправки был указан как Не отправлять, - остаются нетронутыми.

2.3. Способ отправки: FTP

Сообщения, сформированные с признаком "Способ отправки: FTP", программа также отправляет самостоятельно. Настройка параметров FTP рассмотрена в разделе Обмен данными.Настройки. Алгоритм отправки данных следующий:

1) Подключение к серверу FTP с указанными логином и паролем.
2) Закачка из Рабочего каталога сервера FTP индексного файла XXX-idx.xml.zip.
3) Разбор индексного файла и формирование исходящих файлов данных, включающих только "дельту" между текущим состоянием БД заявок (с учетом фильтров отправки) и тем состоянием, которое, иcходя из индексного файла, есть сейчас на сервере FTP. Все сформированные файлы помещаются в вспомогательный (автоматически создаваемый) каталог на компьютере.
4) Если указан скрипт "Перед отправкой" - его вызов. Код возврата сервера должен быть 200.
5) Отправка по FTP всех файлов из вспомогательного каталога на компьютере во "Временный каталог" на сервере FTP. Удаление вспомогательного каталога на компьютере.
6) Если указан скрипт "После отправки" - его вызов. Код возврата сервера должен быть 200.
7) Отключение от сервера FTP.

2.4. Способ отправки: "Не отправлять" для формата "Дельта XML+Документы"

Алгоритм данного способа аналогичен алгоритму, описанному разделе "2.3. Способ отправки: FTP", за исключением того, что все операции производятся на локальном компьютере:

Алгоритм для локальных каталогов следующий:
1) Закачка из Рабочего каталога индексного файла XXX-idx.xml.zip (если он есть).
2) Разбор индексного файла (если он есть) и формирование исходящих файлов данных, включающих только "дельту" между текущим состоянием БД заявок (с учетом фильтров отправки) и тем состоянием, которое, иcходя из индексного файла, есть сейчас в рабочем каталоге. Все сформированные файлы помещаются в вспомогательный (автоматически создаваемый) каталог на компьютере.
3) Если в блоке "Выполнить" в поле "Перед отправкой" указан исполняемый файл - вызов этого исполняемого файла.
4) Копирование всех файлов из вспомогательного каталога во "Временный каталог". Удаление вспомогательного каталога.
5) Если в блоке "Выполнить" в поле "После отправки" указан исполняемый файл - вызов этого исполняемого файла.