|
OData, REST, POST, GET и прочие похожие слова | ☑ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
PR третий
27.08.15
✎
11:17
|
Сначала в 1С появилось http://v8.1c.ru/o7/201312rest/index.htm (Автоматически генерируемый REST интерфейс прикладных решений 1С:Предприятия).
Я даже одному клиенту тут же быстренько состряпал нехитрый обмен НСИ и документами между базами раз в пять секунд. Потом этому же клиенту понадобилось через REST получить бухитоги с отбором по субконто, а тут раз и выяснилось, что 1С не поддерживает фильтр по реквизитам составного типа o_O. Теперь 1С написала http://v8.1c.ru/o7/201508odata/index.htm (Расширение поддержки протокола OData), в котором в том числе это предполагается когда-то сделать. Ну что, граждане, REST идет в массы? :)) Кто знает еще какие методы что-то сделать с 1С из другой программы, не 1С. Создать объект в 1С, обменяться с чем-нить данными, выполнить какой-нить код и т. д. Ну то есть не в самой 1С проверять периодически, не пора ли что-нить сделать, потому что где-то появился какой-нить файл или на почту упало письмо и т. д., а когда другая программа в самой 1С что-то делает. Ну то есть как OLE, но без OLE. Кто что еще ждет от REST? Я, например, хотел бы получение результата произвольного запроса, когда запрос передается строковым параметром, чтобы иметь возможность формирования по REST полноценных запросов. |
|||||||||||||
8
PR третий
27.08.15
✎
11:31
|
Еще вещь, которую бы хотелось — более широкий список возможных действий.
Ну то есть, кроме получения, создания, обновления и удаления объектов, а также проведения документов, например выполнение обработок. Хочу от REST |
|||||||||||||
9
ДенисЧ
27.08.15
✎
11:33
|
(8) Устройся на работу в 1с, отдел разработки платформы. И реализуй свои хотелки.
|
|||||||||||||
10
gigi789
27.08.15
✎
11:44
|
1)Если бы 1с чуть более быстрая была, да еще чуть менее дорогая, чтоб реально было работать с 5000-10000 пользователей.....
2) А Как вы это себе представляете?? Хоть примерно опишите Как Создаете объект который не существует в пользовательском... Для разграничения действий с ресурсами на уровне HTTP-методов и были придуманы следующие варианты: GET — получение ресурса POST — создание ресурса PUT — обновление ресурса DELETE — удаление ресурса В принципе и все. Свое мнение |
|||||||||||||
11
PR третий
27.08.15
✎
11:46
|
(9) Я не низкоуровневый программист
|
|||||||||||||
12
PR третий
27.08.15
✎
11:49
|
(10) По поводу быстрая могу сказать, что с нуля можно написать вполне шустро, были бы мозги и желание.
По поводу цены еще проще, для REST клиенты можно же на чем угодно бесплатные писать. |
|||||||||||||
13
PR третий
27.08.15
✎
11:50
|
(10) А что значит не существует?
Обработка - это вполне себе объект. |
|||||||||||||
14
PR третий
27.08.15
✎
11:52
|
+(13) Запрос к виртуальной таблице через функцию возможен же
|
|||||||||||||
15
itlikbez
27.08.15
✎
11:53
|
(12) Клиенты-то бесплатные. Работа клиентов платная.
|
|||||||||||||
16
PR третий
27.08.15
✎
11:55
|
(15) В смысле, что нужны лицензии 1С на сервере на такие клиенты?
|
|||||||||||||
17
itlikbez
27.08.15
✎
12:00
|
(16) Именно. Посмотри у 1С в прайсе - сколько стоит лицензия на 10 000 пользователей.
|
|||||||||||||
18
PR третий
27.08.15
✎
12:04
|
(17) 35 с половиной лимонов, да.
На месте 1С я бы цену лицензии на REST снизил бы раз в десять и отожрал бы часть ниши таких приложений. |
|||||||||||||
19
Снежный человек
27.08.15
✎
12:15
|
(18) > На месте 1С я бы цену лицензии на REST снизил бы раз в десять
а разработчиков чем кормить, титькой? |
|||||||||||||
20
PR третий
27.08.15
✎
12:18
|
(19) Отожранной частью ниши?
|
|||||||||||||
21
Снежный человек
27.08.15
✎
12:21
|
(20) У кого отжирать, расскажи. Напиши бизнес-план.
|
|||||||||||||
22
PR третий
27.08.15
✎
12:23
|
(21) Спроси у (10) :))
|
|||||||||||||
23
Гёдза
27.08.15
✎
12:30
|
Строить нагруженные веб приложения на ресте все равно не получится
|
|||||||||||||
24
Гёдза
27.08.15
✎
12:30
|
Ибо слишком длинная цепочка серверов
|
|||||||||||||
25
PR третий
27.08.15
✎
12:32
|
(23) Никто и не предлагает на ресте второй фэйсбук нарисовать.
А вот большинство бизнес-приложений - легко. |
|||||||||||||
26
Гёдза
27.08.15
✎
12:59
|
(25) Но какой в этом смысл то? Или веб приложения будут делать те, кто в этом не бум бум, а только в 1с?
|
|||||||||||||
27
Гёдза
27.08.15
✎
13:00
|
рест нужен для интеграции 1с с чем то еще, не более
|
|||||||||||||
28
PR третий
27.08.15
✎
13:00
|
(26) Смысл в том, что 1С - это годная вещь. Вы даже не знаете насколько.
|
|||||||||||||
29
PR третий
27.08.15
✎
13:20
|
(27) А я разве не про интеграцию говорю?
Вообще, на мой взгляд, REST как минимум очень интересен, когда идет речь про необходимость что-либо сделать в 1С. Не через час, не через минуту, а именно сейчас. И когда требуется без серьезных заморочек получить что-то из 1С. |
|||||||||||||
30
itlikbez
27.08.15
✎
14:00
|
(18) Это равносильно тому, чтобы просто снизить стоимость всех лицензий в 10 раз. Все будут работать через REST.
|
|||||||||||||
31
gigi789
27.08.15
✎
14:01
|
(22) если с меня бизнес план от вас будет финансирование??
|
|||||||||||||
32
PR третий
27.08.15
✎
14:03
|
(30) Да ну конечно.
Все так и бросились тонкий клиент 1С сами рисовать. |
|||||||||||||
33
PR третий
27.08.15
✎
14:04
|
(31) Бизнес-план подо что? :))
Под хороший БП я финансирование найду :)) |
|||||||||||||
34
rsv
27.08.15
✎
14:05
|
(29) Скорее один из способов обмена между приложениями . Кстати и web-сервисы из этой же серии.
|
|||||||||||||
35
rsv
27.08.15
✎
14:07
|
+(34) и без web - сервера так же ничего не взлетает.
|
|||||||||||||
36
PR третий
27.08.15
✎
14:08
|
(34) Не не не, основная прелесть не в том, что так можно обмениваться.
Основная прелесть в том, что в 1С не нужно ничего мутить, чтобы ловить какие-то телодвижения со стороны клиентов. События генерятся клиентами и обрабатываются платформой. |
|||||||||||||
37
PR третий
27.08.15
✎
14:09
|
(35) В смысле, что нужно публиковать базу 1С?
Ну да, логично. Ничего страшного :)) |
|||||||||||||
38
rsv
27.08.15
✎
14:09
|
(37) Мутить все равно придется ?
|
|||||||||||||
39
PR третий
27.08.15
✎
14:11
|
(38) Это не мутить, это нормально.
А вот вешать на 1С регламентное задание раз хотя бы в пять секунд — это хрень. |
|||||||||||||
40
rsv
27.08.15
✎
14:12
|
(39) Зачем ? Пусть дергают сервисы внешние потребители . Это их проблемы .
|
|||||||||||||
41
rsv
27.08.15
✎
14:13
|
Так в чем же цимус реста и .... тех же сервисов ?
|
|||||||||||||
42
gigi789
27.08.15
✎
14:15
|
(32) по факту например кассиру в магазине типо ашана все возможности тонкого клиента не нужны. Вот клиент северное приложение где сервер на 1с, а клиент на чем угодно.
|
|||||||||||||
43
PR третий
27.08.15
✎
14:16
|
(41) В том, что (29).
|
|||||||||||||
44
PR третий
27.08.15
✎
14:18
|
(42) Логично. Как вариант применения в принципе.
Но там и купить тонкий клиент не проблема, что такое купить по одной лицензии на кассира? Тьфу. |
|||||||||||||
45
gigi789
27.08.15
✎
14:39
|
(44) а на несколько тысяч кассиров?? А если "цену лицензии на REST снизил бы раз в десять" и запрячь прогера написать клиент за пару недель
|
|||||||||||||
46
SUA
27.08.15
✎
14:46
|
(45)что такое полляма долларов для ашана?
|
|||||||||||||
47
gigi789
27.08.15
✎
14:50
|
(46) что такое 100 тысяч долларов для программиста который напилит функционал за пару недель, а остальное отдаст откатом))
|
|||||||||||||
48
Котокот
27.08.15
✎
14:51
|
(0) "Я, например, хотел бы получение результата произвольного запроса, когда запрос передается строковым параметром, чтобы иметь возможность формирования по REST полноценных запросов."
Про запросы пока не делал, но вызвать произвольную функцию 1С с сайта могу. Вот тут, например, http://v-can.ru/test/ при открытии страницы выполняется функция ТекущаяДата(). Можно вызвать любую функцию общего модуля, или выполнить произвольный код 1С, он выполнится и возвратится на сайт, в место, откуда была дернута 1С. Сейчас на основе этого делаем CMS и интернет-магазин. |
|||||||||||||
49
ДенисЧ
27.08.15
✎
14:52
|
(48) Произвольный заданный кем и откуда?
С сайта или в конфигурации? |
|||||||||||||
50
PR третий
27.08.15
✎
14:53
|
(45) Да фигня для Ашана несколько лимонов заплатить
|
|||||||||||||
51
Котокот
27.08.15
✎
14:54
|
(49) С сайта
|
|||||||||||||
52
ДенисЧ
27.08.15
✎
14:55
|
(51) ТО есть я могу грубо говоря, выполнить код ("документы.Реализация.НайтиПономеру(10).ПолучитьОбъект().Удалить()") ?
|
|||||||||||||
53
Котокот
27.08.15
✎
14:58
|
(52) Да
<? require($_SERVER["DOCUMENT_ROOT"].'/v-can_render.php'); echo(vcan_render_execute('exec=ТекущаяДата()')); ?> После exec можно написать все что угодно. Ясен пень, чтобы такого не делали (удаления документов), в настройках модуля в 1С указан перечень функций, который можно выполнять. Грубо говоря, сайт может выполнить всего 3 функции в общем модуле, а в них написан только кошерный код, который не позволит ничего удалить или сломать. |
|||||||||||||
54
itlikbez
27.08.15
✎
15:14
|
(50) Может и фигня. Только Ашан предпочитает бесплатный Odoo (Open ERP). Там стоимость лицензий - ноль.
|
|||||||||||||
55
Гёдза
27.08.15
✎
15:16
|
(48) выполнение произвольного кода - это дыра номер 1 по классификации самых опасных дыр
|
|||||||||||||
56
oleg_km
27.08.15
✎
15:17
|
+(55) ну да - а безопасность? format c: тоже можно запустить?
|
|||||||||||||
57
Котокот
27.08.15
✎
15:23
|
(55)(56) "Ясен пень, чтобы такого не делали (удаления документов), в настройках модуля в 1С указан перечень функций, который можно выполнять. "
|
|||||||||||||
58
oleg_km
27.08.15
✎
15:35
|
(57) Если ты приводишь пример вызова функции =ТекущаяДата(), то это значит, что доступны все функции глобального контекста, включая например ЗапуститьПриложение.
|
|||||||||||||
59
MM
27.08.15
✎
15:37
|
(58) Так для этого в кластере сервера 1С есть профили безопасности.
http://v8.1c.ru/o7/201303sp/index.htm |
|||||||||||||
60
Котокот
27.08.15
✎
15:46
|
(58) Нет
|
|||||||||||||
61
Котокот
27.08.15
✎
16:46
|
+(60) Функция выполняется в модуле http сервиса через Выполнить(). Перед тем как выполнять, можно проверить, что именно нас просят выполнить, отфильтровать лишнее, оставить нужное. Для особо наглых, которые хотят выполнить формат цэ, можно в качестве результата фигу на экране рисовать.
|
|||||||||||||
62
rsv
27.08.15
✎
16:59
|
Имхо как вариант - это работа с типовыми конфигурациями через рест. В принципе удобно . Никаких доп.сущностей в виде сервисов и прочее.
|
|||||||||||||
63
MM
27.08.15
✎
17:24
|
(61) Вы можете оценить фантазию того кто вызывает эту функцию?
Там должно отрезаться всё, кроме очень ограниченного набора функций, а это делает механизм не универсальным. Если разрешить чуть больше, то появится куча дыр. |
|||||||||||||
64
Котокот
27.08.15
✎
17:30
|
(63) А там в 100% случаев и нужен ограниченный набор функций. Поверьте мне, даже для организации полноценного интернет-магазина их понадобится не более пяти.
|
|||||||||||||
65
MM
27.08.15
✎
17:33
|
(64) тогда лучше обойтись без Выполнить и Вычислить, выдав наружу эти функции с проверкой прав.
|
|||||||||||||
66
Котокот
27.08.15
✎
17:39
|
(65) Зачем их выдавать наружу и для каждой функции делать свой URL, если намного проще задать наименование функции в параметре одного URLа и определить в настройках модуля список разрешенных функций? Содержится функция в этом списке - делаем Выполнить, не содержится возвращаем еррор.
|
|||||||||||||
67
PR третий
28.08.15
✎
10:59
|
Мне вот вообще интересно, можно ли REST использовать как генератор событий, ну то есть чтобы в 1С посылать событие, что что-то произошло или что-то нужно сделать?
|
|||||||||||||
68
ДенисЧ
28.08.15
✎
11:01
|
(67) Если ты можешь вызвать функцию - значит, у тебя уже сообщение послано
|
|||||||||||||
69
Адинэснег
28.08.15
✎
11:08
|
рваная гармонь
[:\\\\\ //:] |
|||||||||||||
70
Котокот
28.08.15
✎
11:15
|
+(68) При этом в параметрах вызываемого URL можно указать какое именно событие наступило и передать этому событию произвольные данные.
|
|||||||||||||
71
Гёдза
28.08.15
✎
11:16
|
(70) кстати само соединение с 1с у тебя как происходит?
|
|||||||||||||
72
Гёдза
28.08.15
✎
11:17
|
OLE? вебсервис?
|
|||||||||||||
73
Котокот
28.08.15
✎
11:40
|
(71) HTTPСервис
|
|||||||||||||
74
Котокот
28.08.15
✎
11:41
|
(71) Есть клиент, который в соображениях безопасности сделал двухзвенку: сайт дергает промежуточную базу через HTTPСервис, а она через OLE основную. Работает быстро, замедления в открытии страницы сайта не замечено.
|
|||||||||||||
75
PR третий
28.08.15
✎
11:59
|
(74) Сейчас одному клиенту так же делать буду, кстати :))
|
|||||||||||||
76
vhl
28.08.15
✎
12:31
|
(67) Я не возражаю, посылай
|
|||||||||||||
77
rozer76
28.08.15
✎
13:50
|
+(74) соглашусь... в свое время http://catalog.mista.ru/public/302876/ в конторе внедрил плюс допилил чтобы через Ajax работало и все пашет оч. шастро и красиво )
|
|||||||||||||
78
vhl
28.08.15
✎
15:12
|
(77) У тебя ОЛЕ не было, на подключениях по ОЛЕ - большие задержки
|
|||||||||||||
79
rozer76
28.08.15
✎
16:12
|
(78) ну да, вместо оле - дком
|
|||||||||||||
80
rozer76
28.08.15
✎
16:16
|
(78) ну я думаю вообще на веб-сервис переписать и результат возвращать в ValueStorage думаю быстрее будет
|
|||||||||||||
81
PR третий
02.09.15
✎
10:44
|
(68) Не понял. Ты про что?
|
|||||||||||||
82
ДенисЧ
02.09.15
✎
10:44
|
(81) про "можно ли REST использовать как генератор событий"
|
|||||||||||||
83
PR третий
02.09.15
✎
10:45
|
(82) Эээ..., ну так это на уровне системы обрабатывается же.
|
|||||||||||||
84
ДенисЧ
02.09.15
✎
10:51
|
(83) "Когда вы говорите, такое ощущение, что вы бредите" (с)
|
|||||||||||||
85
MaxisUssr
02.09.15
✎
11:21
|
Народ, я помню ,что в лицензионном соглашении сказано: "Вам нужно покупать столько лицензий, сколько у вас будет одновременных подключений к базе". Это не круто. Особенно при запросах на чтение, т.е если 100 клиентов однвоременно будут получать некие данные (а 100 это не много совсем) - ради этого покупать 100 лицензий?? Это отрубает половину функций REST - ужно этот пункт как-то скорректировать.
Дальше - вопрос - если те же 100 клиентов подключаются по REST и получают какие-то данные с параметрами, скажем (например таблицу физ лиц с отбором по какому-то реквизиту) - выдержит ли такое чтение сервер 1С? (SQL сервер я думаю выдержит). По-моему он загнется (на веб-сервисах - загибается). Кто-нить нагружал REST? Поэтому как инструмент для изменения данных в базе - REST по-моему - хорошая вещь, а вот на чтение данных - сомневаюсь (и это отрубает от него половину функционала). Хочу от REST |
|||||||||||||
86
itlikbez
02.09.15
✎
11:24
|
(85) Так чего же ты хочешь?
|
|||||||||||||
87
MaxisUssr
02.09.15
✎
11:44
|
(86)
1. Отмены или корректировки пункта про лицензии (пусть придумают какую-то особую лицензию для REST и веб-HTTP-сервисов - а то очень ограничены получаемся мы в правах) 2. Если тормозит сервер про более 100 запросах к нему (при условии, что код в конфигурации написан правильный и не кривой) - улучшить сервер для таких случаев. |
|||||||||||||
88
itlikbez
02.09.15
✎
11:47
|
(87) Особую лицензию не придумают. Это бессмысленно.
|
|||||||||||||
89
MaxisUssr
02.09.15
✎
12:09
|
(88)
Ну 100 лицензий опять же покупать - накладно очень. А как ограничить |
|||||||||||||
90
itlikbez
02.09.15
✎
12:14
|
(89) Никак. Здесь предел, в который упирается бизнес-модель 1С.
|
|||||||||||||
91
Serginio1
02.09.15
✎
14:21
|
(85) Одновременно у тебя будут получать согласно пулу работающих потоков. Остальные будут ждать в очереди если конечно у тебя не 100 ядерный http://regfordev.blogspot.de/2010/12/thread-pool.html
Для вэб сервисов можно настроить размер пула, но он все равнод зависит от количества ядер. |
|||||||||||||
92
Serginio1
02.09.15
✎
14:23
|
А вот соединение держится только на период запроса. При новом подключении новая авторизация и увеличение числа соединений
|
|||||||||||||
93
Serginio1
02.09.15
✎
14:25
|
(8) SignalR тебе в помощь.
Использование веб-сервиса для опроса с регулярной высокой периодичностью |
|||||||||||||
94
SUA
02.09.15
✎
14:28
|
(47) и еще столько же на внедрение, и еще столько же на исправление ошибок, и пожизненно зарплату на поддержку велосипеда
|
|||||||||||||
95
tridog
02.09.15
✎
14:47
|
(48) Вы настолько больны, что выставили в интернет сервис, который все пришедшее на вход пихает в Выполнить()?
Дайте урлы реальных интернет-магазинов на этой штуке, я там УдалитьДанныеИнформационнойБазы() вызову) |
|||||||||||||
96
Котокот
02.09.15
✎
22:33
|
(95) Вы настолько тупы, что не прочитали следующие посты, где содержится пояснение по этому вопросу?
|
|||||||||||||
97
tridog
02.09.15
✎
22:52
|
(96) Покажи, как проверяется сигнатура метода)
|
|||||||||||||
98
Котокот
02.09.15
✎
23:11
|
(97) А за пивом не сбегать? Пойди сначала мозги на место поставь и научись не хамить, тогда с тобой, возможно, захотят общаться.
|
|||||||||||||
99
oleg_km
03.09.15
✎
09:46
|
(97) Там на входе планируется мега-CASE, который типа отфильтрует все опасные команды. Что-то типа движка Касперского
|
|||||||||||||
100
Котокот
04.09.15
✎
21:40
|
(99) Прошло 36 часов, сайт до сих пор в строю, база не упала. Судя по всему, мега-CASE отлично работает.
|
|||||||||||||
101
oleg_km
05.09.15
✎
00:20
|
(100) А, неуловимый Джо...
|
|||||||||||||
102
Котокот
05.09.15
✎
09:00
|
(101) Недохакеры
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |