|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
оффтоп HoBTIDВ каких технологиях, например? www.google.com нажимаешь кнопочки, а там выпадающий список обновляется. Устроит? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2014, 17:16 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Не устроит, уж очень специфическая предметная область. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2014, 17:47 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsevоффтоп HoBTIDВ каких технологиях, например? www.google.com нажимаешь кнопочки, а там выпадающий список обновляется. Устроит? Вы, видимо, про AJAX говорили? Ну, так и в этом случае нажатие кнопок обрабатывает JavaScript на клиенте , который принимает решение: когда и как реагировать, что отсылать на сервер, как отрисовывать. Вот если бы у вас при каждом нажатии клавиши на сервер отсылался http-запрос с полной перерисовкой страницы... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2014, 17:55 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Вот же русским по белому. Код может быть выполнен как сервере, так и на клиенте. Так, как данные на сервере, то манипулировать ими мы можем только там, а на клиенте можем манипулировать только тем, что есть на клиенте. Там есть еще и другие директивы, позволяющие снизить снизить нагрузку например на сеть. P. S. В websharper например, тоже есть такое разделение, функции в зависимости от того, где будут исполняться помечаются атрибутами [<JavaScript>] или [<Rpc>]. В последнем случае код(например доступ к БД) будет выполнен на сервере, но этот вызов скрыт и программисту не придется возиться со всякими там AJAX, JOSN и прочими WebApi. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2014, 18:46 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
ЕвгенийВ Вот же русским по белому. Код может быть выполнен как сервере, так и на клиенте. Так, как данные на сервере, то манипулировать ими мы можем только там, а на клиенте можем манипулировать только тем, что есть на клиенте. Там есть еще и другие директивы, позволяющие снизить снизить нагрузку например на сеть. P. S. В websharper например, тоже есть такое разделение, функции в зависимости от того, где будут исполняться помечаются атрибутами [<JavaScript>] или [<Rpc>]. В последнем случае код(например доступ к БД) будет выполнен на сервере, но этот вызов скрыт и программисту не придется возиться со всякими там AJAX, JOSN и прочими WebApi. Еще раз для тех кто в танке. Речь не о том что не нужно разделение методов по месту выполнения, речь о том что непонятно зачем делить процедуры на клиентские и серверные. Делиться должны МЕТОДЫ - например ВыполнитьЗапрос() должен вызываться на сервере, но это еще не значит что его нужно вызов данного метода выносить в отдельную процедуру, система и так знает и понимает, что он должен выполняться на сервере. Ну если такая великая и всем известная система как вебшарпер делит процедуры (спасибо что дали ссылку на что это такое), то тогда и все остальные системы должны делиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2014, 22:24 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
ЙосяЕще раз для тех кто в танке. Речь не о том что не нужно разделение методов по месту выполнения, речь о том что непонятно зачем делить процедуры на клиентские и серверные. Делиться должны МЕТОДЫ - например ВыполнитьЗапрос() должен вызываться на сервере, но это еще не значит что его нужно вызов данного метода выносить в отдельную процедуру, система и так знает и понимает, что он должен выполняться на сервере. Еще раз для тех, кто в бронепоезде. Видимо 1С имеет одинаковые движки для клиента и сервера. Некоторые вычисления целесообразно/возможно выполнять в одном месте, другие в другом, как например и в ASP.NET. Но в последнем серверная часть на c#/vb.net, клиентская на JS. Из JS напрямую серверную часть не дернешь, приходится использовать различные дополнительные средства. Вам же одинэсникам дали механизм позволяющий делать это напрямую. Возрадуйтесь же! ЙосяНу если такая великая и всем известная система как вебшарпер делит процедуры (спасибо что дали ссылку на что это такое), то тогда и все остальные системы должны делиться. Вебшарпер - крутейшая система, но там F#, если на c# или 1с можно научить писать обезьяну, то в F# порог вхождения много выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2014, 22:54 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Йося, для тех кто на паровозе: http://ru.wikipedia.org/wiki/Метод_(программирование) авторМетод в объектно-ориентированном программировании — это функция или процедура, принадлежащая какому-то классу или объекту. найдите отличия: Код: sql 1. 2. 3. 4.
и Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
т.е. как бы написали вы? (Программист?) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2014, 23:01 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
ЕвгенийВВебшарпер - крутейшая система, но там F#, если на c# или 1с можно научить писать обезьяну, то в F# порог вхождения много выше. )) действительно, 1С и ЯП высокого уровня - разные по задачам. Там уже архитектура впрягается. Простейший пример для программиста 1С - дать ему 2 ведра краски. Зелёная - аннотация процуры клиента. Красная - серверной ( и не факт что СУБД). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2014, 23:07 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Petro123ЙосяТем более что программа сама определяет методы, выполняющиеся на сервере, программист не может этим управлять. этот посыл неверный. Отсюда и весь пост. Абсолютно правильный посыл! Почему, например в Delphi, по технологии DataSnap я имею компонент с запросом на клиенте, но исполняется он в серверной части. И мне абсолютно прозрачно, каким образом он на сервер попадает. Это делает технология DataSnap. В нормальных системах, JavaBeans насколько я слышал, тоже такая же. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 01:27 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
1С до нормальной системы ещё пилить и пилить. А учитывая, что они наплодили кучу поддерживаемых субд (в случае 1с каждая из которых работает по-своему херово), для каждой из которых есть своя прослойка в платформе, генерирующая совершенно адовые запросы - то до нормальной производительности там ещё очень и очень далеко. Правильные подвижки есть в 8.3 - веб-интерфейсы, тонкие клиенты, более цивильный sql-транслятор - но старые конфигурации от 8.2 и ниже со всем этим великолепием решительно не совместимы, надо переписывать, и переписывать серьезно. Ну а кто вмазался в самописные или сильно подпиленные конфигурации - страдать, терпеть, кушать кактусы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 03:15 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
IMHO, Разделение на клиентскую и серверную часть надо было делать на уровне модулей, вызовом серверных процедур через "сервер.". ЗЫ А вот как реализована передача данных между клиентом и сервером при вызовах функций - просто пипец. Сколько конф переписывалась повторно под управляемые формы из-за тормозов на этих вызовах... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 08:19 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Ra72, "Delphi, по технологии DataSnap" нигде не применяется. Это не веб проект. Найди другой пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 10:40 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Ra72 мы же говорим шире, чем Command.RunSQL('запрос'). Мы говорим о БЛ, который пишет программист. Т.е. как пометить кусок кода с исполнением на сервере и с исполнением на клиенте. - либо пометить краской, либо писать в разных окнах\файлах ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 10:48 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Ra72... В нормальных системах, JavaBeans насколько я слышал, тоже такая же. Вы слышали неправильно. JavaBeans работают только на сервере, найдите другой пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 11:35 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Petro123Ra72 мы же говорим шире, чем Command.RunSQL('запрос'). Мы говорим о БЛ, который пишет программист. Т.е. как пометить кусок кода с исполнением на сервере и с исполнением на клиенте. - либо пометить краской, либо писать в разных окнах\файлах Либо система знает, что персистентные сущности должны обрабатываться на сервере, все остальное можно на клиенте. ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 11:47 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
mad_nazgul, банальные сущности - Пол, Имя, Рождение = CRUD - неинтересно. Мы о БЛ говорим. Ведь, ни один бухгалтер, не выдержит мата из слов "персистентные сущности" )) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 12:28 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Йося... реальный пример кода из конфигурации 1С, для одного действия создано две процедуры по одной строке кода каждая: &НаКлиенте Процедура КомандаЧО01Меню(Команда) ОткрытьЗакрытьМенюПрочихОпераций(); КонецПроцедуры &НаСервере Процедура ОткрытьЗакрытьМенюПрочихОпераций() Элементы.ГруппаПрочихОпераций.Видимость = НЕ Элементы.ГруппаПрочихОпераций.Видимость; КонецПроцедуры ... (0) вчера в БП 3.0 бух словила глюк в документе Поступление на расчётный счёт, и мне пришлось попрыгать по отладчику в обработке проведения... скажу честно: желание изучать УФ нет! я прошёл более 50 модулей и больше половины с одной строчкой. такое удручает Давайте не будем смешивать УФ в целом и их использование в конкертных конфигурациях? Проблема качества кода в типовых - отделаная тема. ЙосяНасколько я понимаю в .Net такого нет. .Net здесь каким боком? Где здесь 3-х звенка? Сравните уже лучше с вебом: html+js на клиенте, php/perl/что угодно на сервере (приложений). ЙосяЕще раз для тех кто в танке. Речь не о том что не нужно разделение методов по месту выполнения, речь о том что непонятно зачем делить процедуры на клиентские и серверные. Делиться должны МЕТОДЫ - например ВыполнитьЗапрос() должен вызываться на сервере, но это еще не значит что его нужно вызов данного метода выносить в отдельную процедуру, система и так знает и понимает, что он должен выполняться на сервере. То есть, если у вас в одной процедуре 100500 вызовов серверных методов, то и сервер приложений должен дергаться 100500 раз? И вы серьезно недовольны тем, что нельзя в обработчиках событий написать запрос к БД? Вы так пишете код в свох проектах? И вот на закуску: Код: vbnet 1. 2. 3. 4.
Скажите, на клиенте или на сервере выполняться этот код? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 12:36 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Если речь идет о программах типа "Управление предприятием", то "технология" нужна только одна, - терминальный доступ. В режиме терминального доступа та же 1С хорошо работает и с планшета и с телефона. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 12:41 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Petro123mad_nazgul, банальные сущности - Пол, Имя, Рождение = CRUD - неинтересно. Мы о БЛ говорим. Ведь, ни один бухгалтер, не выдержит мата из слов "персистентные сущности" )) Мы же не про бухгалтеров говорим, а про программистов. Вот есть у нас БЛ. БЛ - это набор действий. Так вот БЛ прописана тем или иным образом в программе. Если это толстый клиент, то в основном на стороне клиента, если тонкий клиент, то в основном на стороне сервера. Так вот по большому счету прикладному программисту должно быть все равно где будет исполняться его код. На сервере или на толстом клиенте. Он должен, например. 1) Создать документ 2) Дать пользователю ввести данные 3) Сохранить документ 4) На основании документа сделать проводки Например в том же ADempiere есть толстый и тонкий клиент. Пункты 1) 2) 3) - могут выполняться как на стороне клиента (если он толстый), так и на стороне сервера (если он тонкий) А вот пункт 4) только на стороне сервера. Кстати пункт 3) для толстого клиента может выполняться и на сервере, зависит от типа документа. Так вот в ADempiere большую часть того, где и как будет выполняться берет на себя платформа. Программист только пишет БЛ, причем в понятных для бухгалтера терминах - документ, проводка, справочник и т.д. Естественно, когда нужно "что-то странное", то нужно углубляться в дебри и явно указывать, что вот здесь нужно выполнять данный метод только на сервере, а здесь можно и на клиенте. Но таких случаев не много. На нашем проекте было 1 раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 12:54 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
mad_nazgulЕсли это толстый клиент, то в основном на стороне клиента, если тонкий клиент, то в основном на стороне сервера. Так вот по большому счету прикладному программисту должно быть все равно где будет исполняться его код. для этого условия (программисту пофигу) должно быть условие - программа умнее своего программиста. Может ADempiere и такая, я в это не верю imho 2. Программист часто пишет ещё сожнее. У него КУСКИ кода в процедуре должны исполняться в разных местах. (это не ASM вставки в код паскаля) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 13:15 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Petro123mad_nazgulЕсли это толстый клиент, то в основном на стороне клиента, если тонкий клиент, то в основном на стороне сервера. Так вот по большому счету прикладному программисту должно быть все равно где будет исполняться его код. для этого условия (программисту пофигу) должно быть условие - программа умнее своего программиста. Может ADempiere и такая, я в это не верю imho 2. Программист часто пишет ещё сожнее. У него КУСКИ кода в процедуре должны исполняться в разных местах. (это не ASM вставки в код паскаля) Еще раз. Это платформа, у которой есть API. Например, есть команда "сделай_проводку (дебет, кредит, сумма)" Так вот программисту не дают лезть напрямую БД, он работает с "прослойкой" API, которая знает, что данная команда выполняется только на сервере. Где программист вставил эту команду (сервер или клиент) для него должно быть все равно. API понимая контекст либо выполнить напрямую, либо передаст команду на сервер. Соответственно когда прикладной программист пишет обработчик для кнопки, он не думает, что вот здесь эта команда должны выполняться на сервере, поэтому мне нужно ЯВНО указать это. Он просто вставляет "сделай_проводку (дебет, кредит, сумма)". Все остальное делает за него платформа. Т.к. мы говорим об учетных системах, то команд, которые обязаны выполняться только на сервере не много. Все остальное может выполняться на толстом клиенте. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 16:08 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
mad_nazgulAPI понимая контекст либо выполнить напрямую на клиенте, либо передаст команду на сервер. расшифруй эту главную фразу. Т.к. выше ты сказал, "что данная команда выполняется только на сервере". Т.е. есть список процедур\объектов выполняемых только на сервере. Всё остальное идёт на клиенте. Так? Или можно проще - как мой код выше написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 16:43 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
mad_nazgulНапример, есть команда "сделай_проводку (дебет, кредит, сумма)" разбери второй случай. Программист САМ пишет подобную "команду" ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 16:53 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
mad_nazgulЕще раз. Это платформа, у которой есть API. Например, есть команда "сделай_проводку (дебет, кредит, сумма)" Так вот программисту не дают лезть напрямую БД, он работает с "прослойкой" API, которая знает, что данная команда выполняется только на сервере. Где программист вставил эту команду (сервер или клиент) для него должно быть все равно. API понимая контекст либо выполнить напрямую, либо передаст команду на сервер. До чего тупые пошли программисты! Если этот недоумок так напишет, то у него через строчку будут серверные вызовы. А программист должен РАЗДЕЛИТЬ КОД на клиентский и серверный так, чтобы было МИНИМАЛЬНОЕ КОЛИЧЕСТВО серверных вызовов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2014, 18:51 |
|
Клиент-серверная технология и 1С
|
|||
---|---|---|---|
#18+
Petro123mad_nazgulAPI понимая контекст либо выполнить напрямую на клиенте, либо передаст команду на сервер. расшифруй эту главную фразу. Т.к. выше ты сказал, "что данная команда выполняется только на сервере". Т.е. есть список процедур\объектов выполняемых только на сервере. Всё остальное идёт на клиенте. Так? Да. Точнее сказать методов. Например. Создаете объект "документ_чего-то_там" наследник от "документа". В нем переопределяете метод "создать_проводку" Так вот данный метод будет выполняться на сервере. А на клиенте вызываете метод "провести", который вызывает на сервере ваш переопределенный метод "создать_проводку", с передачей данных с вашего объекта. Опять же это платформа для создания учетных систем, где многие вещи "жестко заданы". Для общих случаев скорее всего не подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2014, 07:35 |
|
|
start [/forum/topic.php?fid=33&startmsg=38703173&tid=1547555]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
143ms |
get topic data: |
17ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 287ms |
total: | 540ms |
0 / 0 |