А можно поконкретнее задачу поставить? Я помню у Вас СВМ с tcp/ip... Самоделка?
Да, СВМ с tcp/ip, СВМ 4.13(vm/sp 5) Адабас 5. tcp/ip появилось, как я знаю, в 2000 году, когда ребята с Минска обновляли СВМ. Сейчас на СВМ на Геркулесе. Аналог Веб сервиса сейчас есть - это взаимодействие через машину пакетных заданий BATCH. Но там не известно когда выполнится задание, и надо потом забирать с диска результат, а запрос через веб-сервис сам бы ждал выполнения и автоматически получал результат.
Сообщение отредактировал LionLexXx - Ср, 30.10.2019, 08:42
Аналог Веб сервиса сейчас есть - это взаимодействие через машину пакетных заданий BATCH. Но там не известно когда выполнится задание, и надо потом забирать с диска результат, а запрос через веб-сервис сам бы ждал выполнения и автоматически получал результат.
Как бы это он сам ждал? Постоянной перезагрузкой страницы с выполнением CGI ??
Когда выполнится задание, можно на печать "нечто" послать... (также, как Вы вводите через RDR). Как "нечто" придет, тяните результат через FTP...
А что это за инструмент и как он работает? (простите за мое невежество )
Цитатаsmoker ()
Как бы это он сам ждал? Постоянной перезагрузкой страницы с выполнением CGI ??
Я не знаю, но я думал, что по аналогии с запросами к веб-сервису. Когда делается Http-запрос к веб сервису, то ожидается ответ в этой же сессии подключения. Возможно ли так сделать в СВМ?
Цитатаsmoker ()
Когда выполнится задание, можно на печать "нечто" послать... (также, как Вы вводите через RDR). Как "нечто" придет, тяните результат через FTP...
Как из вне прочитать RDR? А если на ридере несколько "нечто" по разным запросам? нужна тогда нумерация запросов и на ридере, тогда "нечто" должно содержать идентификатор запроса.
На текущий момент делается так, в геркулес на RDR отправляется задание, СВМ выполняет задание (процедура EXEC на REXX'е обращается к Адабас, затем выполняется нужная программа Адабас), результат сохраняется на минидиске, затем по FTP забирается результат.
Одно время хотел написать систему синхронизации с СВМ, потом потребность в этом отпала. Задумка была такая, если в Адабас вводишь новые данные или изменяешь, то во внешней базе 1С данные появляются или изменяются автоматически, и наоборот в другую сторону аналогично. В этой системе синхронизации тогда надо было бы вести учет отправленных запросов, учет нумерации запросов, учет нумерованных ответов по конкретным запросам, получен ли ответ по запросу.
Я не знаю, но я думал, что по аналогии с запросами к веб-сервису. Когда делается Http-запрос к веб сервису, то ожидается ответ в этой же сессии подключения. Возможно ли так сделать в СВМ?
А веб-сервис где ответ брать должен?? В vm/xа возможно... Для ответа на Ваш вопрос мне необходимо посмотреть на Ваш СВМ, что там есть и чего там нет...
ЦитатаLionLexXx ()
На текущий момент делается так, в геркулес на RDR отправляется задание, СВМ выполняет задание (процедура EXEC на REXX'е обращается к Адабас, затем выполняется нужная программа Адабас), результат сохраняется на минидиске, затем по FTP забирается результат.
Кроме сохранения результата на диске, его, или сообщение о его наличии (выполнении задания) можно отправить на печать и обработать этот ответ на ПК.
000F 1403 PRT00F.TXT crlf 000E 1403 127.0.0.1:1403 sockdev - и обрабатывайте на здоровье...
Сообщение отредактировал smoker - Чт, 31.10.2019, 08:45
А что это за инструмент и как он работает? (простите за мое невежество )
rexec - один из многочисленных сервисов удаленного выполнения, весьма похож на CGI, поддерживается TCP/IP. На пальцах: в клиентской среде (Windows, Linux ...) выполняется команда (процедура) VM, ожидается завершение и возвращается вывод. В VM и zVM поддерживается, в той реализации, что у Вас - не уверен, но скооре да, чем нет. Проверьте наличие VM REXECD в оглавлении
Cобественно, что rexec, что rsh, что rlogin, что cgi - с принципиальной точки зрения есть RPC. разница в аутентификации и среде выполнения, но все это "синхронные" способы запуска, то есть клиент стартует удаленный вызов и ждет его завершения
принципиально другой способ взаимодействия "асинхронный", когда клиент только инициириует удаленный запуск,а потом либо сам запрашивает результат, либо получает его от удаленого хоста. Предыдущий пост о взаимодействии в таком стиле. синхронный запуск легко превратить в "асинхронный", выполнив, например exec autolog для VM (exec submit z/OS)
например, обработка может быть реализована так - запуск cgi или rexec, а результат присылается по почте. все зависит от того, как долго выполлняется процесс. если это десятки минут, то синхронный запуск совершенно неприемлем
вполне себе хорош и "классический" способ взаимодействия в стиле RJE - задание на RDR, результат на PRT, получение клиентом в виде файла или в виде почты. И для этого при использовании Hercules TCP/IP в host системе вообще не нужен, так можно взаимодействовать даже с OS/370, это то, о чем smoker пишет,и hercrdr
Сообщение отредактировал Gregory - Вс, 03.11.2019, 00:01
Оффтоп. Прочитал всю тему. Испытал ужас и гордость одновременно. За старье тридцатилетней давности и людей, которые с этим работают.
Да, люди работают и некоторым привыкшим к этой системе даже нравится. Есть плюсы, быстрый переход по менюшкам и формам, быстрое формирование несложных отчетов, система писалась под пользователей с нуля, ничего лишнего.
ЦитатаAKonev ()
тридцатилетней давности
Так получилось, что бизнес не нашел денег в 2000-х гг. на развитие имеющегося, а потом не видел в этом смысла. Внедрение современной системы в 2006, из имеющихся систем на рынке подходящие на то время стоили дорого(SAP), а доступные по цене не имели необходимого функционала(1C), а задачу "переписать своими силами функционал на новой платформе/системе" никто не поставил. Вот так вот и дожила СВМ до настоящего времени, причем активно используется. У нас ведется учет сложного производства на СВМ-Адабас.