|
REST интерфейс для 1С | ☑ | ||
---|---|---|---|---|
0
bazvan
23.12.13
✎
12:40
|
||||
1
Fragster
гуру
23.12.13
✎
12:41
|
вебрасширение и так не нужно было
|
|||
2
dj_serega
23.12.13
✎
12:41
|
а как же "тыкать" по кнопочкам в 1с? ых...
|
|||
3
mikecool
23.12.13
✎
12:42
|
и пусть хоронят, если есть что то более новое и лучшее
|
|||
4
Fragster
гуру
23.12.13
✎
12:42
|
вообще круть
|
|||
5
Fragster
гуру
23.12.13
✎
12:42
|
еще бы json прикрутили
|
|||
6
dj_serega
23.12.13
✎
12:43
|
вот оно че (может кто не дочитает =) ):
Поэтому развитие и поддержку web-расширения мы планируем прекратить. |
|||
7
Fragster
гуру
23.12.13
✎
12:44
|
(6) а ты его юзал?
|
|||
8
Fragster
гуру
23.12.13
✎
12:44
|
(7)+ я ни одного человека не знаю, кто бы юзал.
|
|||
9
dj_serega
23.12.13
✎
12:47
|
(7) я разрабатывал :) а юзали пользователи :)
как по мне лучше бы и REST и web развивали дальше. Не хочу ничего стороннего покупать/устанавливать если нужно с web-а в 1С достучаться. |
|||
10
Волшебник
модератор
23.12.13
✎
12:48
|
(9) веб-сервер по-любому нужен
|
|||
11
dj_serega
23.12.13
✎
12:50
|
(10) а Web-расширение жалко.
|
|||
12
Fragster
гуру
23.12.13
✎
12:51
|
(9) дык соап же.
в тренде json (по крайней мере, безгеморно в обе стороны). А тут какая-то заляпуха, позволяющая напрямую изменять данные в 1ске вместо публикации методов как в случае с вебсервисами. |
|||
13
Fragster
гуру
23.12.13
✎
12:51
|
сделали бы REST над веб сервисами, я бы понял
|
|||
14
Лодырь
23.12.13
✎
12:53
|
(5) А зачем? Неужели честно скопипасченных функций от BigB недостаточно? Или скорость неустраивает?
|
|||
15
Fragster
гуру
23.12.13
✎
12:54
|
(14) чтобы юзать напрямую из пхп/жабаскрипта
|
|||
16
Лодырь
23.12.13
✎
12:55
|
(15) О другой стороне я и не подумал.
|
|||
17
pumbaEO
23.12.13
✎
12:57
|
RLS, RLS и еще раз RLS надо будет включать.
|
|||
18
SUA
23.12.13
✎
13:02
|
интересно а обычный тонкий клиент следом полетит?
|
|||
19
SUA
23.12.13
✎
13:04
|
и будет ли конфигуратор веб-приложений от 1С (отдельно от конфигуратора БД)?
|
|||
20
dj_serega
23.12.13
✎
13:04
|
(17) если оно туда смотреть будет :)
|
|||
21
Лодырь
23.12.13
✎
13:05
|
(18) Обычный клиент не полетит. Ибо он дефакто основной клиент 1С вообще.
|
|||
22
AaNnDdRrEeYy
23.12.13
✎
13:18
|
(18) уж очень этот тонкий клиент стремный, такси вообще ужас.
|
|||
23
sapphire
23.12.13
✎
13:26
|
(0) Пасиб
|
|||
24
dj_serega
23.12.13
✎
13:29
|
(0) ах да :) спасибо =)
|
|||
25
acsent
23.12.13
✎
13:31
|
(22) думаешь кто-то осилит написать норм клиент?
|
|||
26
sikuda
23.12.13
✎
13:32
|
(0) Движение правильное, но если опять уровень поддержки стандартов так-же как с вэб-сервисами, то опять как всегда...
|
|||
27
xReason
23.12.13
✎
13:35
|
Молодцы, верное направление выбрали
|
|||
28
AaNnDdRrEeYy
23.12.13
✎
13:43
|
(25) на wpf можно что то попробовать сделать, там контролы очень гибко настраивать можно. в (26) правильно заметили, если поддержка урезанная то опять только для галочки "у нас REST есть"
|
|||
29
xReason
23.12.13
✎
13:53
|
(10) Правильно ли я понял, что для этого REST все равно нужен Web-сервер, для того, что бы 1С принимала (получала) запросы. Т.е. когда идет передача (стороний софт) ---> 1C REST
? |
|||
30
Dunemaster
23.12.13
✎
14:03
|
Да, правильно
|
|||
31
Necessitudo
23.12.13
✎
14:06
|
(29) Ну как бы логично - слава богу пока фирма 1С свой веб-сервер писать не стала.
|
|||
32
xReason
23.12.13
✎
14:10
|
(31) А что им мешает, взять опенсорсный и вкарячить )))
|
|||
33
daniyar5436
23.12.13
✎
14:15
|
чет я не понял была 1С стала БД в скул и морда 1С сейчас морду заберут нафиг тогда вообще нужна 1С если можно на прямую в Скуль лезть? ну надеюсь поняли направление мысли
|
|||
34
badboychik
23.12.13
✎
14:17
|
ВААААУ
круто же ) я давно об этом мечтал |
|||
35
xReason
23.12.13
✎
14:17
|
(33) В скуль может только 1С лезть ))
ну и сама 1С это фронтэнд и бизнес-логика |
|||
36
xReason
23.12.13
✎
14:18
|
Вот только интересно, не надо ли будет клиентская доп. лицензия под это
|
|||
37
badboychik
23.12.13
✎
14:18
|
(33) 1С становится сервером приложений, обрабатывающем бизнес-логику, как в нормальных системах на яве например, стандартная практика в корпоративных приложениях
|
|||
38
dj_serega
23.12.13
✎
14:19
|
(36) да наверно нужно будет. web-сервер то нужен же.
|
|||
39
badboychik
23.12.13
✎
14:20
|
теперь ждем расцвета альтернативных оболочек-клиентов на веб-фреймворках
|
|||
40
Asmody
23.12.13
✎
14:21
|
(0) это просто праздник какой-то! можно выкидывать всякие левые прокладки
|
|||
41
badboychik
23.12.13
✎
14:21
|
интеграция с сайтами теперь с полпинка делаться будет, никакие веб-сервисы не надо городить
|
|||
42
daniyar5436
23.12.13
✎
14:22
|
мне тоже начинает нравиться )))
|
|||
43
badboychik
23.12.13
✎
14:24
|
сделали бы еще выгрузку форм в XML, вообще песня была бы - нарисовал форму в конфигураторе, а она в твоем веб-интерфейсе преобразовалась в HTML с каким хочешь оформлением
|
|||
44
Dunemaster
23.12.13
✎
14:27
|
(41) Так просто все не бывает) Наружу, по сути, выставлены потроха конфигурации и выбрать из них информацию нужную для конкретной интеграции может быть не так просто.
Для того, чтобы отдать данные сложного отчета все равно придется программировать на стороне 1С |
|||
45
xReason
23.12.13
✎
14:30
|
(38) жаль, несколько раз попадал на ситуацию, когда уперлись в потолок кол-ва лицензий и из-за этого веб-сервис не срабатывал или COM-подсоединение
|
|||
46
badboychik
23.12.13
✎
14:30
|
(44) это понятно. Просто там ничего не сказано про вызов любых экспортных процедур общих модулей, если это будет, то никаких проблем.
|
|||
47
Necessitudo
23.12.13
✎
14:33
|
Объясните нубу, в чем принципиальная разница между веб-сервисами и вот этой REST?
|
|||
48
Ювелир
23.12.13
✎
14:34
|
Да, интересный поворот.
|
|||
49
badboychik
23.12.13
✎
14:34
|
+(46) а хотя логику клиента можно будет писать прямо на JavaScript, общие модули останутся только серверные в идеале, это даже плюс
|
|||
50
Necessitudo
23.12.13
✎
14:35
|
Аха, то есть для веб-сервисов мы изначально сами в коде описываем поведением, а в REST будут любые возможности без необходимости нам писать код на встроенном языке?
|
|||
51
IamAlexy
23.12.13
✎
14:36
|
правильно ли я понимаю что можно тогда написать своего "тонкого клиента" на пыхыпы и не платить за клиентские лицензии ?
|
|||
52
xReason
23.12.13
✎
14:36
|
(50) да, это все проще, быстрее и лаконичные
|
|||
53
badboychik
23.12.13
✎
14:39
|
(52) и REST отлаживать можно в любом браузере, не надо ставить/покупать soapUI
|
|||
54
Dunemaster
23.12.13
✎
14:40
|
(46) Этот интерфейс ориентирован на CRUD-операции, я бы не стал ждать в нем вызовов экспортных процедур общих модулей в ближайшее время.
|
|||
55
Asmody
23.12.13
✎
14:45
|
(47) веб-сервисы (которые были) — это SOAP, целое дело. REST — это тоже веб-сервисы, но работать с ними проще
|
|||
56
Asmody
23.12.13
✎
14:46
|
(46) для этого уже есть SOAP
|
|||
57
acsent
23.12.13
✎
14:46
|
Запросы то можно будет передавать?
|
|||
58
badboychik
23.12.13
✎
14:46
|
(54) тогда промежуточный сервер можно свой написать хоть на яве хоть на РНР, хотя бы например для автоматического тестирования - прогонять документы и проверять их результаты в пакетном режиме или для автоматической записи данных в несколько баз - 1С и на сайт например
|
|||
59
acsent
23.12.13
✎
14:47
|
(57) судя по описанию - нет. Тогда кому они нужны эти рест сервисы?
|
|||
60
xReason
23.12.13
✎
14:47
|
(57) какие запросы?
Эх еще бы 1С объект JSON - хотя это по сути просто сложная структура. |
|||
61
Asmody
23.12.13
✎
14:48
|
самое чудо там — ExecuteTask()
теперь 1Ску можно "дернуть за волосы" без танцев вокруг |
|||
62
IamAlexy
23.12.13
✎
14:49
|
так я не понял - потенциально АРМ на рестсервисах сделать можно ?
|
|||
63
Asmody
23.12.13
✎
14:50
|
(60) хороший JSON (де)сериализатор на 1С есть (на ИСе лежит), осталось только встроить его в платформу
|
|||
64
pumbaEO
23.12.13
✎
14:50
|
(63) по скорости хороший?
|
|||
65
badboychik
23.12.13
✎
14:51
|
(63) у 1С есть библиотека для работы с JSON - "Internet Connection Library", я же скачивал с http://www.1c-dn.com, только они ее убрали сразу
|
|||
66
Serginio1
23.12.13
✎
14:51
|
(47) wiki:REST
(55) Кому проще? Для примера в SOAP есть WS-ReliableMessaging. Но в итоге В REST нет отслеживания из коробки. Так приходится самому строить защиту от повторной записи. Ты и с SOAP можешь работать через REST. Никто не запрещает. |
|||
67
Asmody
23.12.13
✎
14:51
|
(64) для небольших объемов достаточный
|
|||
68
Asmody
23.12.13
✎
14:53
|
(66) для реализации REST в текущем варианте приходится делать "прокладку", которая REST-запросы конвертирует в вызовы SOAP.
|
|||
69
Serginio1
23.12.13
✎
14:59
|
(68) Так объясни на счет легкости. SOAP запрос это тот же Get только с данными отформатированными в XML, где сериализация десериализация автоматическая. Заметь в 1С данные все равно передаются через XML только десериализовывать нужно вручную.
Единственный плюс от REST это коды возврата и ручная работа с данными ответа |
|||
70
Asmody
23.12.13
✎
15:01
|
(69) легкость в том, что 1Ска построит за тебя интерфейсы со всеми чебурашками по нажатию 1 галки.
|
|||
71
badboychik
23.12.13
✎
15:01
|
(69) Что непонятного то? Для SOAP надо писать узконаправленные веб-сервисы с определенным набором параметров и одной функцией на каждый веб-сервис. При REST ты получаешь доступ КО ВСЕМ данным, не написав ничего!
|
|||
72
pumbaEO
23.12.13
✎
15:02
|
(70) вопрос в том, что даст ли возможность отключить для некоторых объектов автогенерацию API...
|
|||
73
badboychik
23.12.13
✎
15:05
|
короче - вебсервисы пишутся каждый под свою задачу, а REST - универсальный доступ ко всей системе
|
|||
74
Asmody
23.12.13
✎
15:05
|
все таки не надо путать. SOAP — это протокол. http при этом — лишь один из возможных транспортов (теоретически, можно и по smtp, например, SOAP-вызовы посылать. на практике я такого не видел). REST — это, скорее, паттерн, и он напрямую завязан на http.
|
|||
75
Asmody
23.12.13
✎
15:06
|
(72) пока известно только [В конфигураторе вы публикуете REST интерфейс - флажок Публиковать стандартный интерфейс OData;
После этого объекты прикладного решения становятся доступны через этот интерфейс;] |
|||
76
Asmody
23.12.13
✎
15:08
|
там в примере интересные пространства имен используются: xmlns:georss=http://www.georss.org/georss и xmlns:gml=http://www.opengis.net/gml
это они тонко намекают, или я чего-то пропустил? |
|||
77
Serginio1
23.12.13
✎
15:09
|
(71) Угу. Возьмем для примера
Создание нового элемента данных выполняется POST-запросом. В качестве значения ссылки передается нулевой GUID. При создании и модификации объектов значения свойств передаются в теле запроса в формате XML (здесь текст запроса приведён полностью): POST /OData_Tests_Infobase/odata/standard.odata/Catalog_Goods HTTP/1.1 Content-Type: application/atom+xml DataServiceVersion: 3.0;NetFx MaxDataServiceVersion: 3.0;NetFx Accept: application/atom+xml,application/xml Accept-Charset: UTF-8 User-Agent: 1C-Enterprise Host: test-host:8090 Content-Length: 1610 <?xml version="1.0" encoding="utf-8"?> <entry xmlns=http://www.w3.org/2005/Atom xmlns:d=http://schemas.microsoft.com/ado/2007/08/dataservices xmlns:m=http://schemas.microsoft.com/ado/2007/08/dataservices/metadata xmlns:georss=http://www.georss.org/georss xmlns:gml=http://www.opengis.net/gml> <category term="EnterpriseV8.CatalogGoods" scheme=http://schemas.microsoft.com/ado/2007/08/dataservices/scheme /> <id /> <title /> <updated>2013-08-12T11:48:25Z</updated> <author> <name /> </author> <content type="application/xml"> <m:properties> <d:Code>157</d:Code> <d:DeletionMark>false</d:DeletionMark> <d:Description>Майка синяя</d:Description> <d:IsFolder>false</d:IsFolder> <d:Parent_Key m:null="true" /> <d:Ref_Key m:type="Edm.Guid">00000000-0000-0000-0000-000000000000</d:Ref_Key> <d:Артикул m:null="true" /> <d:Поставщик_Key>F400322D-7AE8-4803-A7BE-0D80E525E8C2</d:Поставщик_Key> </m:properties> </content> </entry> Разбираем различие между методом SOAP ЗаписатьЭлементСправочника(СериализаторXDTO.ЗаписатьXDTO(Объект)) Тоже из Коробки. При этом ты описание получаешь из XDTO итд. Единственный минус это тяжеловесность, но никак не сложность на уровне программирования |
|||
78
Dunemaster
23.12.13
✎
15:11
|
(76) Это стандартные пространства, используемые OData, т.к. этот протокол поддерживает передачу геолокационных данных
|
|||
79
Dunemaster
23.12.13
✎
15:12
|
(77) Пока да. А потом будет JSON
А если писать на .NET там вообще с XML работать не надо, просто объект руками собираешь |
|||
80
badboychik
23.12.13
✎
15:14
|
(77) вот и надо будет тебе писать огромную SOAP-прослойку в 1С которая будет состоять из функций ЗаписатьЭлементСправочника, ПрочитатьЭлементСправочника, ЗаписатьДокумент, ПрочитатьДокумент, ПрочитатьРегистр, ЗаписатьВРегистр и т.д.
|
|||
81
Serginio1
23.12.13
✎
15:18
|
(79) Ну у JSONа есть куча недостатков. Но это не суть. в Net. можно по разному сериализовывать. Вот чего не хватает в сериализации объекта то это представление ссылки, что бы на клиенте вообще по минимуму заморачиваться. А может есть?
|
|||
82
badboychik
23.12.13
✎
15:19
|
(81) В 8.3 можно представление свое формировать давно
|
|||
83
pumbaEO
23.12.13
✎
15:20
|
(80) ну да с REST все проще, пока не поменяется структура, и дохера клиентов не рухнут, т.к. не обновили код у себя ибо фиг ты сможешь 2 версии держать, даже если одна depricated
|
|||
84
Serginio1
23.12.13
✎
15:21
|
81+ Ну никто и не занимается сериализацией вручную
В SOAP это легко делается через WSDL, для модели REST есть WADL, но он пока слабо поддержан инструментально. |
|||
85
Serginio1
23.12.13
✎
15:24
|
(80) Зачем одного хватит.
Объект=СериализаторXDTO.ПрочитатьXDTO(ОбъектXDTO); прекрасно все преобразует. Ну а Get?POST запросы к святому духу что ли обращаются? |
|||
86
badboychik
23.12.13
✎
15:25
|
(83) ну это проблема не REST а разработчиков, внешние интерфейсы в любой системе рухнут если серверный API поменять.
|
|||
87
Serginio1
23.12.13
✎
15:25
|
85 Вернее хвати 2
ПрочитатьОбъект(Тип) ЗаписатьОбъект(AnyRef) |
|||
88
Asmody
23.12.13
✎
15:30
|
блин, хочу теперь асинхронные вызовы в 1С
|
|||
89
Asmody
23.12.13
✎
15:30
|
и многопоточность :)
|
|||
90
pumbaEO
23.12.13
✎
15:30
|
(86) ну да расскажи, как ты будешь разработчикам документацию генерить, как один новый реквизит положит половину клиентов, как сможешь за неделю предупредить, что поменялось API и т.д.
Если по старинке - ща обновим базу, потом посмотрим кто отвалился, если много воя, тогда вернем обратно. |
|||
91
Asmody
23.12.13
✎
15:31
|
и функции первого порядка
|
|||
92
pumbaEO
23.12.13
✎
15:31
|
(88) 5 модальных диалогов подряд сделай :) но только там процедуры.
|
|||
93
Asmody
23.12.13
✎
15:32
|
(90) с чего-бы новый реквизит положит половину клиентов?
|
|||
94
Dunemaster
23.12.13
✎
15:33
|
(90) Вообще говоря, OData предполагает, что новый реквизит не должен портить других клиентов, если он не является обязательным. И реализовать это не клиентской стороне очнеь не сложно, в отличие от SOAP, скажем
|
|||
95
Asmody
23.12.13
✎
15:33
|
(92) на клиенте не интересно
|
|||
96
badboychik
23.12.13
✎
15:33
|
Веб-сервис это заранее оговоренная встроенная "единица" системы с прописанными параметрами и названием, и WSDL нужен чтобы разные внешние системы могли эти характеристики прочитать и проверить. А REST слабо регламентирован, зато зная небольшой набор правил, можно совершать любые операции с данынми в системе.
Короче цели у них разные. Веб-сервисы для конкретных сложных действий типа обменов, команд, а REST - для универсального доступа к любому отдельному объекту данных типа COM-соединения. |
|||
97
GunKata
23.12.13
✎
15:54
|
для каких платформ будет актуально это? только 8.3 ?
|
|||
98
badboychik
23.12.13
✎
15:54
|
это все наверно в 8.3.5 будет или где? Анонсируют но не говорят когда ждать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |