|
COM-соединение VS Web-сервис в одной локальной сети | ☑ | ||
---|---|---|---|---|
0
NikitaObitaev
31.07.19
✎
16:02
|
В одной локальной сети находятся 3 конфигурации: ERP, ДО и третья самописная, которая общается с внешним миром через http сервисы. В зависимости от того, что запросили у третьей базы, она обращается либо к ERP, либо к ДО. Соответственно не могу определиться, что же лучше использовать для связи между конфигурациями веб-сервис или ком-соединение? Какие плюсы\минусы будут?
Насколько помню из собственного опыта, ком-соединение дольше коннектит к базе приемнику, нежели обращение к веб-сервису. Но может это было конкретно в том случае. Еще из плюсов в сторону веб-сервисов, это, на мой взгляд, что их проще отлаживать. Ну и мелочи в виде требования к одинаковой платформе и вообще устаревшей технологии ком-соединения. Но может все таки я чего-то не знаю? ) |
|||
1
Garykom
гуру
31.07.19
✎
16:10
|
У тебя лицензий то хватит?
Представь что "запросили у третьей базы" одновременно аж 100 клиентов и "она обращается либо к ERP, либо к ДО" через COM. Вопрос: Сколько лицензий потребуется? |
|||
2
Nyoko
31.07.19
✎
16:12
|
ВЕБ! ептыть
|
|||
3
Garykom
гуру
31.07.19
✎
16:15
|
Имхо надо опубликовать http сервисы все три базы и делать на них отдельные запросы "из внешнего мира".
Для безопасности можно перед ними воткнуть nginx с авторизацией и чтобы только нужные запросы пропускал. И да он же может api запросов преобразовывать в нужные виды к разным базам. Например запрашивают /base/doc будет proxy_pass на ERP, /base/dir на ДО и т.д. |
|||
4
Garykom
гуру
31.07.19
✎
16:16
|
А запросы между конфами по запросу извне это имхо изврат редкостный.
Другое дело если данные нужны самописке в базу тогда дергать через сервисы другие конфы нормально. |
|||
5
NikitaObitaev
31.07.19
✎
16:23
|
(1) КОМ жрет лицензию, а веб-сервис не жрет?
(3) Простое преобразование не подойдет, есть, например, запрос из вне, который должен в одной базе что-то найти, в зависимости от того, что нашел, записать что-то в другую базу и ответить во вне. Есть запросы, которые идут только в ЕРП или только в ДО. Короче проще вынести логику в третью базу, которая будет рулить запросами. |
|||
6
lodger
31.07.19
✎
16:29
|
ну так повесь http сервисы на до и ерп. пусть нетленка решает и долбается в до и ерп. с улицы запросы все в нетленку.
|
|||
7
NikitaObitaev
31.07.19
✎
16:42
|
(6) Так и будет, все запросы с улицы в нетленку. Вопрос в том, как лучше общаться нетленке с ДО и ЕРП - через ком соединение или через веб-сервисы?
|
|||
8
Garykom
гуру
31.07.19
✎
16:49
|
(7) Тебе же сказали никак. Пусть снаружи сразу в ДО или ERP долбаются если нужны данные оттуда.
Или через веб-сервисы данные перетаскивай в нетленку нужные и уже наружу отдавай, а двойной запрос это не будет нормально работать. |
|||
9
hhhh
31.07.19
✎
16:49
|
(7) там программы идентичны полностью, никаких отличий нет. Оформляешь процедуру например, которая всё это делает, и ее включаешь или туда или сюда. Всё одинаково. Отличия те которые в (0), ну и насчет лицензий, всё в пользу вебсервиса.
|
|||
10
ptiz
31.07.19
✎
17:13
|
(5) "веб-сервис не жрет" - не жрет
|
|||
11
ptiz
31.07.19
✎
17:14
|
(0) COM - это гарантированные пляски с бубном при обновлении платформы.
|
|||
12
Garykom
гуру
31.07.19
✎
17:20
|
(5) >Простое преобразование не подойдет, есть, например, запрос из вне, который должен в одной базе что-то найти, в зависимости от того, что нашел, записать что-то в другую базу и ответить во вне. Есть запросы, которые идут только в ЕРП или только в ДО. Короче проще вынести логику в третью базу, которая будет рулить запросами.
Слишком сложная логика упрощай и разноси операции. Если самописка периодически обращается к ДО/ERP это нормально, внешние запросы к самописке тоже нормально. Но разнеси обращение извне к самописке и самописка дергает ДО/ERP, это разные потоки/процессы должно быть. Т.е. внешний клиент дернул самописку, она нечто записала у себя. Затем самописка планово начинает обработку записанного, обращается к ДО/ERP сохраняет у себя. При следующем обращении клиента ему выдают данные. Принцип понятен? Если запрашивается некий отчет, то он сначала формируется и как будет готов уже можно скачивать. А не так что ждемс пока отчет сформируется. |
|||
13
NikitaObitaev
31.07.19
✎
18:37
|
(12) Так и делаю на очередях )
|
|||
14
Immortal
31.07.19
✎
19:07
|
Забудьте про ком
|
|||
15
NikitaObitaev
01.08.19
✎
09:20
|
А между базами есть какая-то принципиальная разница http или web сервис использовать? Не будет ли http быстрее, так как там нету авторизации на клиенте?
|
|||
16
NikitaObitaev
01.08.19
✎
11:58
|
http://v8.1c.ru/o7/201312http/
По сравнению с имеющимися в платформе SOAP web-сервисами, HTTP-сервисы имеют ряд преимуществ: Простота программирования клиента таких сервисов; Потенциально меньший объем передаваемых данных; Потенциально меньшая вычислительная нагрузка; HTTP-сервисы ориентированы на «ресурсы», в то время как SOAP сервисы ориентированы на «действия». |
|||
17
NikitaObitaev
01.08.19
✎
12:03
|
(16) Что значит это загадочное "HTTP-сервисы ориентированы на «ресурсы», в то время как SOAP сервисы ориентированы на «действия»." ?
|
|||
18
breezee
01.08.19
✎
12:05
|
Делай веб-сервисы, полет нормальный
|
|||
19
Garykom
гуру
01.08.19
✎
12:13
|
(17) HTTP это запрос текстом (внутри текста может быть и xml и json и бинарные данные в Base64) и ответ текстом.
SOAP больше всего похоже на удаленное выполнение процедур/функций, вызов только разрешенных команд с передачей параметров и получение ответа. |
|||
20
Garykom
гуру
01.08.19
✎
12:15
|
(19)+ Для разделения "команд" в простом HTTP придумали REST.
Это когда GET/PUT/POST/DELETE и URL пути разные через / |
|||
21
NikitaObitaev
01.08.19
✎
12:17
|
(19) Ну так, что в веб-сервисе, что в хттп я могу вызвать только те процедуры и функции, которые объявлены. А параметры функций так же передаются простым текстом в POST запросе в случае веб-сервиса и POST либо GET, в случае хттп-сервиса
|
|||
22
Garykom
гуру
01.08.19
✎
12:21
|
(21) Назначение одно, реализация разная.
SOAP это строгий RPC. HTTP по REST это просто набор неких необязательных соглашений. |
|||
23
Garykom
гуру
01.08.19
✎
12:22
|
https://habr.com/ru/post/75248/ для общего развития
|
|||
24
Leksus
01.08.19
✎
12:27
|
(0) Интерфейс OData не рассматриваете?
|
|||
25
Garykom
гуру
01.08.19
✎
12:31
|
(24) ODATA это получение данных и их запись.
Оно сложные запросы/отчеты не умеет же, один хрен писать на 1С HTTP или ВЕБ-сервису и публиковать. |
|||
26
SalavatUlaev
01.08.19
✎
12:35
|
(24) OData еще сырая у 1С. Права на все объекты, которые опубликованы будут доступны всем пользователям полностью.
например есть Вася Пупкин, с правами на чтение одного справочника. Если он узнает адрес сервиса, он сможет зайти и записать все что хочешь в объекты, которые опубликованы |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |