powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Вопрос по архитектуре приложения (ASP.NET, C#)
21 сообщений из 46, страница 2 из 2
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373486
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulskyANAТС пишет: "Приложение будет проверять счета от поставщиков(например сверка кол-ва и цен)".

Это что за счёт такой должен быть, чтобы его больше минуты обрабатывать?

Не счет обрабатывается, а проверка.
Причем не понятно, с какая там будет задержка.
Хорошо если нет связи с внешними системами.
А если есть, а на "той стороне" оператор ручками делает проверку счета. :-)
Ну хорошо, хорошо :) Task.Run

Не вижу необходимость в какой-то очереди и воркере.
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373492
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как-то мы смело решили, что пользователь не готов ждать.

200-300 счетов в день, 20 пользователей. Они их явно не пачками проверяют: отдал одну, пошёл за следующей. :)

Хотя тут можно гадать, что из-за бизнес-процесса оно так.
И сейчас мы коллективно придумает систему, что позволит проверять 2000-3000 счетов в день силами 2-х пользователей (остальных уволить). :)
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373652
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulХорошо если нет связи с внешними системами.
А если есть, а на "той стороне" оператор ручками делает проверку счета. :-)
связь есть, но именно с системами. никаких операторов.
операторы это как раз те мои 20 пользователей, они будут нужны, когда не сходятся кол-ва в счете и в DWH
или цена в счете и в нашей системе закупок
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373655
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИ сейчас мы коллективно придумает систему, что позволит проверять 2000-3000 счетов в день силами 2-х пользователей (остальных уволить). :)
идея и есть в том, чтобы 70-80% счетов проверялась автоматом, без участия человека
и как можно больше счетов приходили электронно(на схеме это отмечено словом EDI)
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373659
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПри такой нагрузке никакой worker не нужен. Прилетел файл, сохранили, Task.Run. Всё.
так вопрос не в том, нужен Worker или нет, а в том, как хостить модуль обработки(я его обозвал BACKEND'ом).
Как уже было сказано, счета поступают по 2м каналам: электронно(будут импортированы в БД BACKEND'ом) и ручками в браузере.
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373665
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шеф кстати вообще настаивает на вот таком варианте
по идее она самое православное, только мне не хочется делать Мэппинг из Persistence объектов в Business сначала в Backend'е
и потом еще раз в ASP.NET
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373758
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yabs, таки в чём проблема сделать единый API, с которым будет работать и то, что Вы называете EDI и то, что у Вас отмечено как ASP.NET in IIS?

API на ASP.NET WebAPI + IIS
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373760
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yabs, на чём написан EDI?
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373838
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЧто-то на схеме нет внешних систем :)
ну вон же EDI, там либо документы хранятся (они оттуда поступают, либо их надо скачать), либо данные для сверки, и как вариант там может и не быть веб-клиента - тогда по идее некуда будет пихнуть web worker

yabsшеф кстати вообще настаивает на вот таком варианте
по идее она самое православное, только мне не хочется делать Мэппинг из Persistence объектов в Business сначала в Backend'е
и потом еще раз в ASP.NET
не будет такого двойного маппинга, бэк-енд отдает всем потребителям (и принимает от них) модели, которые внутри него мапятся один раз (но в обе стороны) на сущности ORM например

бэк-енд как уже сказали - можно в виде WebApi, а можно и wcf отдельный и только на публичные методы для EDI

а тут опять же, если EDI сам документы присылает - это одно, если надо их скачивать оттуда - другое
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39373860
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yabsтак вопрос не в том, нужен Worker или нет, а в том, как хостить модуль обработки(я его обозвал BACKEND'ом)
модуль обработки хостить как сервис (web-api или wcf)
можно сделать так, чтобы сайт тоже работал с сервисом, но там надо лезть глубже

но нужно еще средство вызова обработки, которое не давало бы сбой, тут три варианта:
1. не делать фоновой обработки вообще (если позволяет время ожидания и скорость алгоритмов и отклика внешних систем) - тогда как только документ поступает каким либо образом в систему - сразу же идет проверка
2. сделать планировщик на сервере (виндовая служба, либо воспользоваться внешним сервисом - hangfire)
3. сделать планировщик на клиенте (web worker), как предложили - но тут мне лично не понятно, а что если файл придет ночью, никто не работает в веб приложении - как воркер запуститься?
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374281
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77,

По пункту 3 - если документ приходит электронно, то вмешательство человека вообще не требуется.
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374283
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAyabs, на чём написан EDI?
EDI это стандарт передачи документов
https://ru.m.wikipedia.org/wiki/Электронный_обмен_данными
Парсер ещё не написан.
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374285
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77не будет такого двойного маппинга, бэк-енд отдает всем потребителям (и принимает от них) модели, которые внутри него мапятся один раз (но в обе стороны) на сущности ORM например

Может я чего-то не понимаю, но в варианте 3 у меня будут 3 набора классов:
1. Persistent
2. Business
3. ViewModels
Т.е. Для разработки минус это мэппинг в двух местах
Для быстродействия - лишняя сериализация/десериализация.
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374313
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yabs,
теоретически можно обойтись только одним набором моделей - типа объекты предметной области, их же использовать в качестве контрактов для сервисов и уровень сериализации/десериализации будет на границе между бэк-ендом и потребителями (EDI/ASP.NET)

эти же сущности можно замапить на таблицы БД через ОРМ, я видел однажды очень хороший пример - довольно сложные сущности, но с помощью замысловатых маппингов с тонкой настройкой это все отражалось в таблицы БД через nHibernate

но на практике постоянно возникают всякие проблемы, то с контекстом ORM, то сущности становятся слишком перегруженными, то с отображением на UI (когда одна сущность имеет несколько экранов с немного разным набором полей для разных ролей пользователей), и т.п.

поэтому делают два слоя - объекты (сущности) предметной области (они же маппятся на БД) и модели для отображения (они же контракты для сервисов), маппинг соответственно между сущностями и моделями, наружу отдают модели, третий по идее лишний
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374657
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yabsskyANAyabs, на чём написан EDI?
EDI это стандарт передачи документов
https://ru.m.wikipedia.org/wiki/Электронный_обмен_данными
Парсер ещё не написан.
Хм, а почему именно EDI? Что из себя счёт представляет?
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374703
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Насколько я понял, это распространённый формат у поставщиков.
Причём на него можно весь обмен информацией перевести: заказы, подтверждение, накладные и счета.
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374705
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yabs,

Счёт состоит из отправителя, получателя, позиций(кол-во, цена, ставка НДС), конечной суммы и банковских реквизитов.
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374729
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yabsyabs,

Счёт состоит из отправителя, получателя, позиций(кол-во, цена, ставка НДС), конечной суммы и банковских реквизитов.
у 1С более конкретно всё построено на CommerceXML
http://www.sql.ru/forum/319685-4/vybor-alternativy-1s?mid=2960843&hl=1c xml#2960843
а этот EDI что ода вода и одни слова менеджеров.
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374838
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123yabsyabs,

Счёт состоит из отправителя, получателя, позиций(кол-во, цена, ставка НДС), конечной суммы и банковских реквизитов.
у 1С более конкретно всё построено на CommerceXML
http://www.sql.ru/forum/319685-4/vybor-alternativy-1s?mid=2960843&hl=1c xml#2960843
а этот EDI что ода вода и одни слова менеджеров.
Во-первых, это оффтоп
Во-вторых, EDI это какой-никакой стандарт, в отличие от предложенного вами. Тут как в анекдоте "ради одного засранца трактор заводить не будут"
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39374987
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yabs, по ссылке, что Вы привели, перечислено 14 стандартов, 8 протоколов и 4 формата.
Вы всё это собираетесь поддерживать?

При том, что "Счёт состоит из отправителя, получателя, позиций(кол-во, цена, ставка НДС), конечной суммы и банковских реквизитов".
ИМХО проще последний распарсить и в электронном виде передать, чем с EDI заморачиваться.
...
Рейтинг: 0 / 0
Вопрос по архитектуре приложения (ASP.NET, C#)
    #39375093
yabs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
Из 14 стандартов наверняка используется этот
авторСтандарт EANCOM используется в торговле
Поддержек всех протоколов реализовать, думаю, не составит труда.

И вообще планы таковы, что формат EDIFACT скорей всего будет конвертироваться во что-то удобоваримое сторонней фирмой


авторПри том, что "Счёт состоит из отправителя, получателя, позиций(кол-во, цена, ставка НДС), конечной и банковских реквизитов".
ИМХО проще последний распарсить и в электронном виде передать, чем с EDI заморачиваться.
Только не парсить, а распознавать отсканированные счета. Удовольствие сомнительное.
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Вопрос по архитектуре приложения (ASP.NET, C#)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]