ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (http://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (http://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   AutoGRAPH.Service (http://forum.tk-chel.ru/showthread.php?t=6907)

MartynenkoES 13.12.2023 05:33

Цитата:

Сообщение от Romanches (Сообщение 206379)
Доброго времени суток, коллеги. Возвращаясь к прошлой ситуации с невозможностью получения данных по HTTP API предоставляемого AutoGRAPH.NET service - проблема крылась в версионности программного обеспечения. Исходно, схемы на сервер загружались из клиентского ПО AutoGRAPH 5 2016. Но данная версия ПО не работает с современным API картографических сервисов. После того, как меня закрепили за сопровождением системы, я проверил возможность работы последнего доступного релиза клиентского ПО с существующим сервером, пришел к выводу, что система работоспособна. Эта же версия использовалась для редактирования схемы. Выяснилось, что компонент AutoGRAPH.NET Service не поддерживает работу с новым форматом схемы.
Собственно, устаревание ПО и сподвигло меня прорабатывать варианты модернизации системы. Я запросил КП на обновление серверного по и переход с толстых клиентов на web-приложение, созванивался с менеджером ЕВРААСа, присылал развернутое описание объекта автоматизации на почту техотдела. Прошло пол года, КП мы так и не получили. За это время я набросал простенькое MVP web-приложения, презентовал руководству и получил карт-бланш на разработку web-ui для существующей системы спутникового мониторинга.
Прошу извинить за столь длинную прелюдию к следующему вопросу. Имеем версию серверного по 5.2.53 и версию службы Autograph.NET Service 2016.9.15. HTTP API работает так, как описано в документации, за исключением методов GetReport и GetReports. В первом случае возникает исключение
Нажмите для просмотра содержимого...

Код:

xx:xx:xx ERROR JSON        192.168.xx.xx:xxxxxx        Схема1        GetReport        SD=08.12.2023 08:00:00        ED=08.12.2023 10:00:00        IDs=xxxx94f8f-7bb1-49d4-a72a-18a6408cxxxx        Report=coordinates.frx        Split=        Format=PDF
Exception[DryIoc.ContainerException]: Unable to resolve DBDomain.Interfaces.IReportFactory.
Where no service registrations found
  and number of Rules.FallbackContainers: 0
  and number of Rules.UnknownServiceResolvers: 0
xx:xx:xx ERROR JSON        192.168.xx.xx:xxxxxx        Схема1        GetReport        SD=08.12.2023 08:00:00        ED=08.12.2023 10:00:00        IDs=xxxx94f8f-7bb1-49d4-a72a-18a6408cxxxx        Report=coordinates.frx        Split=        Format=PDF
Exception[DryIoc.ContainerException]:    в DryIoc.Throw.It(Int32 error, Object arg0, Object arg1, Object arg2, Object arg3)
  в DryIoc.Container.ThrowUnableToResolve(Request request)
  в DryIoc.Container.DryIoc.IContainer.ResolveFactory(Request request)
  в DryIoc.Container.ResolveAndCacheDefaultDelegate(Type serviceType, Boolean ifUnresolvedReturnDefault, IScope scope)
  в AutoGRAPHService.AutoGRAPHSvcCommon.(GlobalSettings , REnumDevices , String , String , Guid[] , DateTime , DateTime , Int32 , ReportFormat        )
  в AutoGRAPHService.AutoGRAPHSvcBase.
.()


Во втором случае всегда возвращается пустой массив. Понимаю, что прошу помощи с EOL продуктом, и скорее всего сломался DI внутри приложения и починить его не имея исходника невозможно. Но может кто то сталкивался с подобным или есть способы обхода ошибки "малой кровью" путем регистрации или установки недостающих компонентов. Спасибо всем откликнувшимся!

Вы используете устаревшую версию, причём из периода времени, когда для ПО активно искались направления развития. С тех пор сменилась программная платформа (с .NET на .NET Core), произошли глобальные изменения в основных модулях программы, производительность расчетного ядра выросла, наверное, на порядок. Появилась официальная поддержка внешних модулей, заметно изменился диалект API.
Ну и изменилась схема лицензирования ПО.

На данный момент мне кажется, что вы проделали большую, но очень бесперспективную работу.

Вы не думали над тем, чтобы обратиться к другому дилеру или производителю за помощью в этой ситуации? Или этому есть препятствия в действующем договоре?

Из самого приложения отчёты вызываются корректно?

Romanches 13.12.2023 07:31

Цитата:

Сообщение от MartynenkoES (Сообщение 206383)
Цитата:

Сообщение от Romanches (Сообщение 206379)
Доброго времени суток, коллеги. Возвращаясь к прошлой ситуации с невозможностью получения данных по HTTP API предоставляемого AutoGRAPH.NET service - проблема крылась в версионности программного обеспечения. Исходно, схемы на сервер загружались из клиентского ПО AutoGRAPH 5 2016. Но данная версия ПО не работает с современным API картографических сервисов. После того, как меня закрепили за сопровождением системы, я проверил возможность работы последнего доступного релиза клиентского ПО с существующим сервером, пришел к выводу, что система работоспособна. Эта же версия использовалась для редактирования схемы. Выяснилось, что компонент AutoGRAPH.NET Service не поддерживает работу с новым форматом схемы.
Собственно, устаревание ПО и сподвигло меня прорабатывать варианты модернизации системы. Я запросил КП на обновление серверного по и переход с толстых клиентов на web-приложение, созванивался с менеджером ЕВРААСа, присылал развернутое описание объекта автоматизации на почту техотдела. Прошло пол года, КП мы так и не получили. За это время я набросал простенькое MVP web-приложения, презентовал руководству и получил карт-бланш на разработку web-ui для существующей системы спутникового мониторинга.
Прошу извинить за столь длинную прелюдию к следующему вопросу. Имеем версию серверного по 5.2.53 и версию службы Autograph.NET Service 2016.9.15. HTTP API работает так, как описано в документации, за исключением методов GetReport и GetReports. В первом случае возникает исключение
Нажмите для просмотра содержимого...

Код:

xx:xx:xx ERROR JSON        192.168.xx.xx:xxxxxx        Схема1        GetReport        SD=08.12.2023 08:00:00        ED=08.12.2023 10:00:00        IDs=xxxx94f8f-7bb1-49d4-a72a-18a6408cxxxx        Report=coordinates.frx        Split=        Format=PDF
Exception[DryIoc.ContainerException]: Unable to resolve DBDomain.Interfaces.IReportFactory.
Where no service registrations found
  and number of Rules.FallbackContainers: 0
  and number of Rules.UnknownServiceResolvers: 0
xx:xx:xx ERROR JSON        192.168.xx.xx:xxxxxx        Схема1        GetReport        SD=08.12.2023 08:00:00        ED=08.12.2023 10:00:00        IDs=xxxx94f8f-7bb1-49d4-a72a-18a6408cxxxx        Report=coordinates.frx        Split=        Format=PDF
Exception[DryIoc.ContainerException]:    в DryIoc.Throw.It(Int32 error, Object arg0, Object arg1, Object arg2, Object arg3)
  в DryIoc.Container.ThrowUnableToResolve(Request request)
  в DryIoc.Container.DryIoc.IContainer.ResolveFactory(Request request)
  в DryIoc.Container.ResolveAndCacheDefaultDelegate(Type serviceType, Boolean ifUnresolvedReturnDefault, IScope scope)
  в AutoGRAPHService.AutoGRAPHSvcCommon.(GlobalSettings , REnumDevices , String , String , Guid[] , DateTime , DateTime , Int32 , ReportFormat        )
  в AutoGRAPHService.AutoGRAPHSvcBase.
.()


Во втором случае всегда возвращается пустой массив. Понимаю, что прошу помощи с EOL продуктом, и скорее всего сломался DI внутри приложения и починить его не имея исходника невозможно. Но может кто то сталкивался с подобным или есть способы обхода ошибки "малой кровью" путем регистрации или установки недостающих компонентов. Спасибо всем откликнувшимся!

Вы используете устаревшую версию, причём из периода времени, когда для ПО активно искались направления развития. С тех пор сменилась программная платформа (с .NET на .NET Core), произошли глобальные изменения в основных модулях программы, производительность расчетного ядра выросла, наверное, на порядок. Появилась официальная поддержка внешних модулей, заметно изменился диалект API.
Ну и изменилась схема лицензирования ПО.
На данный момент мне кажется, что вы проделали большую, но очень бесперспективную работу.
Вы не думали над тем, чтобы обратиться к другому дилеру или производителю за помощью в этой ситуации? Или этому есть препятствия в действующем договоре?
Из самого приложения отчёты вызываются корректно?

Вопрос необходимости поиска нового системного интегратора был мной озвучен, но пока это вопрос отдаленной перспективы. То, что продукт развивается мне тоже известно, но, к сожалению, работаю с тем, что было унаследовано. Производительность существующего решения при текущем количестве ТС и пользователей узким местом не является. Во всяком случае не являлась. По поводу бесперспективности проделанной работы - не соглашусь, большей части наших пользователей требуется 5% функциональности толстого клиента, а именно посмотреть где находится закрепленное за подразделением ТС, зафиксировать факт посещения определенных геозон, получить итоговые данные по рейсу. И эта информация им будет доступна с любого рабочего места посредством корпоративного портала. Отчеты - вишенка на торте, можно и без них. То, что меняется схема API от версии к версии - по заветам дедушки Фаулера выносим бизнес логику работы с API в отдельный слой, описываем интерфейсы обработчиков и возвращаемых объектов, пишем реализации под конкретные версии API, указываем используемую версию в переменной окружения при старте контейнера с приложением. Этот архитектурный паттерн уже реализован. Я бегло потыкал в сваггер текущей версии API по адресу demo.tk-nav.com и не увидел каких либо препятствий реализовать его поддержку в нужном нам объеме, тем самым переход на актуальную версию серверного ПО не "хоронит" наработки. Что касается отчетов, отчеты полностью работоспособны на толстых клиентах AutoGRAPH 5 в версиях 2016 и 2020.

plex 13.12.2023 09:34

Romanches, Сразу скажу та версия веба куда вы тыкали в сваггер она совместима с десктоп версией 7.2 и работаботают синхронно только при обновлении обоих частей системы

SK 13.12.2023 16:11

Цитата:

Сообщение от Romanches (Сообщение 206379)
Autograph.NET Service 2016.9.15

К сожалению, поддержка и техподдержка этой версии очень давно прекращена.
В службе ТП уже нет столь старой версии ПО.
Насколько мне известно, ранее такой проблемы с этими методами не наблюдалось.
Возможно, дело в устаревших версиях библиотек модуля отчетов (они взаимодействуют с системными DLL).

Romanches 14.12.2023 01:38

Хорошо, спасибо и на этом. Значит, пока выгружаемые отчеты придется отложить до обновления серверного ПО. Товарищи интеграторы, мы открыты к предложениям!

SK 14.12.2023 11:39

Romanches, думаю, Ваш интегратор свяжется с Вами в ближайшее время.

Zircool 24.02.2024 19:44

Подскажите, есть ли возможность с помощью AutoGRAPH Service API расшифровывать данные с карт тахографа? данные с карт считаны и хранятся в формате .ddd

NickolaDed 27.02.2024 16:45

Цитата:

Сообщение от Zircool (Сообщение 206548)
Подскажите, есть ли возможность с помощью AutoGRAPH Service API расшифровывать данные с карт тахографа? данные с карт считаны и хранятся в формате .ddd

Так вроде в АвтоГРАФ 7ПРО есть модуль по расшифровке ддд файлов


Текущее время: 15:29. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot