IE 2018
0. alex_bitti 90 07.08.18 15:43 Сейчас в теме

Мой опыт небольшого проекта с веб-сервисами (Часть 1)

Хочу поделиться своим опытом использования веб-сервисов на небольшом проекте, который в принципе расширяем до чего-нибудь более существенного.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. pallid 185 08.08.18 13:45 Сейчас в теме
А почему web а не http сервис? Это же приводит к тому что при изменении параметров или операций в сервисе приходится делать изменения и в клиентской части
2. alex_bitti 90 08.08.18 14:36 Сейчас в теме
потому что http сервисы появились относительно недавно, и с целью интеграции мобильных приложений, насколько мне известно, если честно не пробовал их использовать, но что то мне подсказывает что плане времени обработки запроса там могут возникнуть вопросы, а может и нет
3. dsdred 789 08.08.18 14:55 Сейчас в теме
(2)
http сервисы появились относительно недавно

4 года назад это
относительно недавно
?

но что то мне подсказывает что плане времени обработки запроса там могут возникнуть вопросы, а может и нет

Никаких вопросов там не возникнет.

А вообще тут и OData может сгодится, хотя...
4. pallid 185 08.08.18 15:36 Сейчас в теме
(3) OData монструозен ))) хотя как единственный выход в некоторых случаях
5. pallid 185 08.08.18 15:53 Сейчас в теме
Одна из опасностей OData - это невозможность контролировать генерируемый объем возвращаемой информации, нельзя установить максимальное количество. И если в базе данных много и кто-то решил забрать разом все, это может повлиять на работу...всех ))))
6. alex_bitti 90 08.08.18 16:42 Сейчас в теме
(5) стойте, odata вообще мимо, задача не как-то, а нормально по человечески сделать, да через апач, да на пыхе, но это нормальные теххнологии масштабируемые, odata это боль, причем ребята не 1С-ники "не поймут" выбор, если захотят участвовать в разработке клиента))

что имелось ввиду под "вопросами" по http -сервису, как бы вопрос немного раньше чем нужно, потому что речь про самопального веб-клиента пойдет во второй части, но почему мне предложенный способ больше нравится, я ставлю отдельный веб сервер и далаю на нем сайт, сайт посылает запрос получает ответ парсит его выдает результат на страницу, в случае с http-сервисом, ответ передается уже распаренный, получается 1С получает дополнительную нагрузку по ресурсу к серверу 1С на обработку, результата, правильно я понял? роль веб-сервера выполняет сам сервер 1С, ну вы понимаете к чему это я?
7. pallid 185 08.08.18 18:31 Сейчас в теме
(6)
ответ передается уже распаренный


вот тут не понятно, в смысле уже готовая страница?

при использовании http сервиса можно в принцепи и отдавать уже страницу, но обычно отдают xml или json

принцип почти тот же что и с web-сервисом и даже больше, только в случаи с web клиент завязан на soap
10. alex_bitti 90 09.08.18 08:38 Сейчас в теме
(7)
при использовании http сервиса можно в принцепи и отдавать уже страницу, но обычно отдают xml или json


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


У меня как раз наоборот. Изменять сервис мне не захочется, как раз пока вебщики не придумают чего нибудь еще,
13. pallid 185 09.08.18 09:07 Сейчас в теме
(10)
чем Вам не угодил SOAP?


привязкой к xml, связанность клиента и сервиса

в случаи с http сервисом есть возможность выбора что и как отдавать
9. dsdred 789 08.08.18 21:52 Сейчас в теме
(6)
в случае с http-сервисом, ответ передается уже распаренный, получается 1С получает дополнительную нагрузку по ресурсу к серверу 1С на обработку, результата, правильно я понял? роль веб-сервера выполняет сам сервер 1С, ну вы понимаете к чему это я?


Вообще то у веб-сервисов и http-сервисов результат может быть одинаковый, только http-сервисы менее ресурсо-прожорливые.

вот кстати из недавних обсуждений https://forum.infostart.ru/forum34/topic188597/
11. alex_bitti 90 09.08.18 08:45 Сейчас в теме
(9) http-сервис выдает "более готовый" результат, увеличивая нагрузку на 1С-сервер, ну это логично если где-то мы сокращаем потребление ресурса, где-то его увеличиваем, закон сохранения. Может для мобильного приложения это актуально и то вопрос? Если делать движок под мобилу, все равно что возвращает сервис, мне кажется http-сервис еще одна избыточная технология интегрированная в 1С, пока еще точно не определили зачем
14. neikist 09.08.18 11:01 Сейчас в теме
(11) в каком смысле "более готовый" результат? Как раз с веб сервисами работа с xml и xdto как отображением xml ресурсы поедает, а в http можно работать с чистыми ЗаписьXML, ЗаписьJSON, да хоть csv передать.
Хотя в итоге узким местом все равно скорее всего работа с БД будет, а не soap.
15. alex_bitti 90 09.08.18 12:14 Сейчас в теме
(14) еще раз, задача стоит сделать не что-то, а так как будет максимально правильно, я не спорю что http-сервис может выдавать готовую страницу, но ни один вебщик не полезет в 1С, и ни один 1С ник не полезет в веб, правильно? Из того что вы предложили это даже не полуфабрикат, не хочу хейтить но файл xml- это не то, txt тоже не то, задача сделать коннектор. SOAP отлично для этого подходит, я могу заказать сайт хоть у индусов передав им только параметры, с вашим вариантом мне как предлагать индусам писать в 1С, или сказать что у меня есть xml, и надо мной будут смеяться все миллионеры из трущоб
16. neikist 09.08.18 12:24 Сейчас в теме
(15) вообще то SOAP - это тоже вполне себе xml, причем в 1с еще и не сказать что по стандарту сделанный, сталкивались мы с проблемами на этой почве, да, было дело.

Ну и никто не предлагает отдавать верстку и подобное из 1с, сейчас в тренде (и я понимаю почему) RestAPI отдающий JSON. Он гораздо проще и приятнее для потребителя API чем SOAP. В пределе можно вообще graphQL запилить, пусть и с некоторыми ограничениями, и отдать разрабам сторонней системы, тогда даже в некоторых случаях правки на стороне 1с при изменении потребностей пользователей не потребуются.
ArchLord42; pallid; +2 Ответить
17. pallid 185 09.08.18 15:07 Сейчас в теме
(15)
(16)
причем в 1с еще и не сказать что по стандарту сделанный, сталкивались мы с проблемами на этой почве, да, было дело.


Было, было

писали soap, со своей стороны тестили его 1ским клиентом, потребитель был не на 1с, из-за одной недолгядки целый день потратили на поиск проблемы почему потребитель не работает с нами анаш тестовый клиент нормально работает )))
19. alex_bitti 90 09.08.18 17:34 Сейчас в теме
(17) есть же SoapUI, тестится все отлично, аж интересно в чем беда?
21. pallid 185 09.08.18 17:37 Сейчас в теме
(19) детали не помню, но что-то было с xdto пакетом, точнее что-то со свойством было

1с клиенту было все равно, все работало, а вот другой клиент при приеме данных сходил сума, и отказывался понимать что ему пришло
22. alex_bitti 90 09.08.18 17:40 Сейчас в теме
(21) единственное что там может вызвать проблему это пространство имен, конечно на симплах все работает, пока не переключишь на стандарт какой нибудь формализованный
24. neikist 09.08.18 18:11 Сейчас в теме
(19) лично у нас была проблема с тем что 1с не умеет в soap header, причем как на запрос к 1с, так и при вызове из 1с системы которая это поддерживает. Плюс иногда бывает что обе системы имеют ограничения по возможности описания формата в wsdl, и при несовпадении таких возможностей тоже начинаются проблемы.
18. pallid 185 09.08.18 15:14 Сейчас в теме
(15)
я не спорю что http-сервис может выдавать готовую страницу


может, но такое ниразу не приходилось реализовывать

отдаем json, морда на реакте, профит
20. alex_bitti 90 09.08.18 17:36 Сейчас в теме
(18) я Вас понял, просто не любите xml))
25. pallid 185 09.08.18 18:33 Сейчас в теме
(20) Люблю
(20)
просто не любите xml))


я такого не говорил ))) просто чем хорош soap - так это валидация на основе xdto (сильная связанность). а в решении нет необходимости в такой опции.

тем более на дворе 2018 год, IoT и прочий хайп ))) там точно никакого soap
26. dsdred 789 09.08.18 18:42 Сейчас в теме
(11) Что такое "более готовый" результат?

Я понимаю Ваши ответы так: "Не читал, но презираю".
Вы же честно написали в самом начале:
если честно не пробовал их использовать



ни один вебщик не полезет в 1С

Я последнии полтора года очень плотно работаю с Веб программистом в крупной компании с большим документооборотом (там и производство и несколько розничных сетей и франшиза), он мне сам сказал отдавай мне JSON. За полтора года мы с ним хренову гору проектов сделали, при этом 65% данных он забирает по OData (с моей стороны только дать доступ к нужным ему объектам и нарисовать сам запрос), а остальные 35% я делаю ему http-сервисы (POST) и он подает некие параметры и получает JSON. Он доволен как "удав". Есть у нас и обратная взаимосвязь, он передает некие параметры и формирует через написанные мной http-сервисы некие объекты.
27. alex_bitti 90 10.08.18 08:45 Сейчас в теме
(26) у нас в организации нет веб- программистов, веб разработка заказывается, иногда даже не в нашей стране, потому что не все наши спецы по веб делают вещи, ваш ответ можно понимать "я знаю потому что спец", я читал изучал пробовал, но в серьезных проектах не считаю данную технологию применимой, odata это прозор, даже не о ней сейчас. мне почему то кажется я старше вас и с 2002 года занимаюсь 1С, с 1997 работаю программистом не надо искать в том что я пишу второй смысл
28. dsdred 789 10.08.18 11:54 Сейчас в теме
(27)
у нас в организации нет веб- программистов, веб разработка заказывается, иногда даже не в нашей стране, потому что не все наши спецы по веб делают вещи, ваш ответ можно понимать "я знаю потому что спец", я читал изучал пробовал, но в серьезных проектах не считаю данную технологию применимой, odata это прозор, даже не о ней сейчас. мне почему то кажется я старше вас и с 2002 года занимаюсь 1С, с 1997 работаю программистом не надо искать в том что я пишу второй смысл


Во первых я не хотел никого обидеть и не хотел чтобы мои ответы были восприняты так как Вы их восприняли.
Я лишь так и не смог понять Ваш ответ который Вы повторяли как мантру - "Более готовый".
И так как Вы часто говорили, что веб программисты не должны программировать в 1с в ответ на предложение использовать http-сервисы, я описал ситуацию с текущего места работы. Конкретно написал, что веб программист сам попросил http-сервисы+JSON. При этом я не сомневаюсь в его квалификации, так как он пишет как для нашего, так и для зарубежного рынка.

Во вторых, мы с Вами работаем не охранниками, не грузчиками и т.д, поэтому не важно с какого года мы в 1С. Наши знания частично устаревают, а получение новых знаний зависит только от нас самих. Да я не сразу пошел в программисты 1С, до этого был администратором систем в банке. Да я не программировал на 6 и 7.7, а только забирал данные с 7.7. Да я в 1С с 2012. Но если посмотреть с какой периодичностью платформа выходила до версии 8.3, ясно что до 2014 развитие платформы можно назвать "тихим периодом".

П.С. Беседа уже пошла не в продуктивные и никому не нужные русла.
pfilyk; neikist; +2 Ответить
8. dsdred 789 08.08.18 21:39 Сейчас в теме
(5)
Одна из опасностей OData - это невозможность контролировать генерируемый объем возвращаемой информации, нельзя установить максимальное количество. И если в базе данных много и кто-то решил забрать разом все, это может повлиять на работу...всех ))))


Порционно то кто запрещает выборку делать?

$count чтобы узнать количество записей. А далее $top и $skip

17.2.1.5.3. $top
Имеется возможность ограничить количество записей, возвращаемых при обращении к ресурсу. Для этого используется параметр $top.

17.2.1.5.5. $skip
Позволяет исключить из результата запроса первые несколько записей. Если параметры $top и $skip указываются одновременно, то параметр $skip будет применен раньше, чем параметр $top. Приоритет применения параметров не зависит от порядка их указания в теле запроса.
12. pallid 185 09.08.18 09:04 Сейчас в теме
(8)
Порционно то кто запрещает выборку делать?


я про то что никто не запрещает клиенту все сразу забрать - это опасность
23. dsdred 789 09.08.18 18:02 Сейчас в теме
(12)
я про то что никто не запрещает клиенту все сразу забрать - это опасность


Согласен. С любым инструментом нужно разумно работать. Как говорится раз в жизни и палка стреляет ))

Я исходил из запроса статьи. Там по сути простейшая выборка двух типов документов... причем ни пометка на удаления не проверяется, ни провенность... Да и документы по наименованию контрагента выбираются... Без периода выборки. И в запросе "top", а не "Первые", но это уже просто признаки плохого тона (Встречал как то обработки где на трех языках написано было, "очень читабельно").
Видно, что руку еще набивают.

Я так понимаю в конторе небольшой документооборот просто. Но убей не приложу почему именно Веб-сервисы?
29. badboychik 60 13.08.18 14:39 Сейчас в теме
(12) Можно минимальную прокладку сделать между клиентом и одатой, чисто для базового контроля
30. pallid 185 13.08.18 15:38 Сейчас в теме
31. badboychik 60 13.08.18 18:12 Сейчас в теме
(30) пользователь не напрямую обращается к одате а к отдельному http-сервису, передавая те же параметры, а сервис проверяет их и уже сам вызывает одату и отдает что получил
32. pallid 185 13.08.18 18:23 Сейчас в теме
(31) обращается к самому же себе только не напрямую в базу а по OData? Зачем?
33. badboychik 60 14.08.18 01:30 Сейчас в теме
(32) Напрямую в базу - это уже надо самому писать запросы, делать полноценное API, а так OData уже готовое, я же и говорю - легкий "прокси"-сервис.
То что к самому себе - какая разница, есть ведь обработки для тестирования http-сервисов, они тоже к той же базе делают запросы
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижний Новгород
зарплата от 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Системный аналитик
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Программист 1С
Казань
Полный день