|
Платформа CUBA — реальная «убийца 1С» | ☑ | ||
---|---|---|---|---|
0
Asmody
06.12.13
✎
00:45
|
Статья на Хабре http://habrahabr.ru/company/haulmont/blog/204834/
Сайт https://www.cuba-platform.com/ru (есть бесплатная версия) Кратко: CUBA.Platform — платформа для разработки бизнес-приложений на java. Имеет свою IDE, однако работа в других IDE (Eclipse, Idea и т.д.) поддерживается. Самое главное — платформа содержит много готовых компонентов. Веб и десктоп приложения получаются из одного кода. В общем, судя по видео, может получиться действительно дельная вещь. Понятно, что дело за конечными решениями (типовыми), но как платформа выглядит очень интересно. Лично я собираюсь попробовать на этом что-нибудь накидать в свободное время |
|||
210
_Demos_
08.12.13
✎
01:47
|
(209) нет, я не из кубы
как есть так и ответил, что те не нравиться |
|||
211
milan
08.12.13
✎
01:47
|
(208) по поводу 3: ведь есть механизм внешних источников данных, правда, там же мышкой настраивается объектная модель?
|
|||
212
milan
08.12.13
✎
01:49
|
(210) не нравится некомпетентность
|
|||
213
MadHead
08.12.13
✎
01:51
|
(208)
1. падение узла в кластере не приводит к остановке системы и сессии пользователей не теряются. 2. ввод нового узла в кластер не приводит к остановке системы Да 3. установка новой версии решения (включая изменения схемы БД) не приводит к остановке системы В большинстве случаев требуется остановка, в последних версиях 1с обещали минимизировать время до минимального, по мути в базу надо пере зайти. 4. узлы кластера должны поддерживать переключение между Master и Stand By БД (когда Master БД падает) . Хочется заметить, что для хороший отказоустойчивости решение «кластер БД с общим SAN» не самое лучшее так как например при устаревании/разрушении индекса БД встает. Мы применяем подход когда данные с Master реплицируются на Stand By , поэтому имеется 2 копии БД. Если я правильно понял, то тут уже дело лишь СУБД 1с тут не причем. В большинстве случаев используется MS SQL и данное поведение можно реализовать |
|||
214
MadHead
08.12.13
✎
01:53
|
(211) во внешних можно но потом не так просто данные обрабатыват. Мне показалось автор не совсем об этом спрашивал. Внешние Источники действительно для внешних баз
|
|||
215
MadHead
08.12.13
✎
01:55
|
(208) Еще 1с сама агрегирует данные, в БД совещается OLTP и OLAP подходы.
В целом в 1с немного гибкости, многое делается платформой автоматически, что дает очень высокую скорость разработки |
|||
216
milan
08.12.13
✎
01:57
|
(214) можно сделать вьюху на свою же базу и получать данные более оптимально. Полноценно работать с данными не получится изза кеширования как раз.
|
|||
217
_Demos_
08.12.13
✎
01:58
|
(212) так все таки что я не так написал)?
так и есть же |
|||
218
MadHead
08.12.13
✎
01:59
|
(217) в постах было 0 ответов на вопросы.
|
|||
219
MadHead
08.12.13
✎
02:01
|
(216) можно конечно, я не стараюсь вас в чем-то разубедить. Но у меня как-то такой потребности не было. Наверное из за регистров так как они агрегируют данные и все тоже самое что можно сделать через вьюху, можно сделать через регистр
|
|||
220
MadHead
08.12.13
✎
02:02
|
(219) + может не все но многое
|
|||
221
_Demos_
08.12.13
✎
02:02
|
(218) приехали...
я писал так чтоб автор вопросов, немного понял что такое 1С |
|||
222
_Demos_
08.12.13
✎
02:03
|
+(221) и не строил иллюзий о его крутости
|
|||
223
AlexZotkin
08.12.13
✎
02:04
|
(213)
Михаил, Спасибо за ответы. Хотелось бы понять поглубже 1. что происходит с БД когда ставиться новая версия (она доступна на чтение,запись или переходит в офф лайн)? 2. как накатываются скрпиты изменения (автоматически или вы сами вручную запускаете один за другим )? |
|||
224
MadHead
08.12.13
✎
02:05
|
(221) опять же не хочу обидеть. Но в часто 1с-ники не интересуются как устроена 1с. А На мой взгляд 1с очень крутая платформа для своих задач. Это говорю как человек в данный момент активно изучающий джаву
|
|||
225
_Demos_
08.12.13
✎
02:06
|
кстати люди с кубы понимают что у них есть хорошие шансы потеснить 1С в деле автоматизации управленческого учета
|
|||
226
MadHead
08.12.13
✎
02:08
|
(225) сомневаюсь, как я писал в начале ветки есть шансы потеснить только в индивидуальных решениях. Управленческий учет это не сказка написанная на каждом конкретном предприятии, а набор правил ведения учета подобных регламентному. И для этого надо с продуктом продавать бизнес процессы
|
|||
227
_Demos_
08.12.13
✎
02:10
|
(224) как изучать закрытую платформу?
>>На мой взгляд 1с очень крутая платформа для своих задач да ну его)) я тоже джаву изучаю |
|||
228
AlexZotkin
08.12.13
✎
02:10
|
(208)
Для обеспечения быстрой работы высоконагруженной системы возникает необходимость явно кэшировать данные и читать их напрямую из кэша ср. слоя . Интенсивность доступа к этим данным бывает на столько высока что даже на уровне кэша ср. слоя возникают локи (когда потоки ждут друг друга) и нам приходилось даже строить кэши 2-ого и 3-его уровня. не очень понятно как это делается на 1с (кэширование, синхронизация потоков и репликация такого самописного кэша) |
|||
229
milan
08.12.13
✎
02:10
|
(215) через это имеем проблемы с масштабируемостью ( я имею ввиду высокую скорость разработки)
А по большому счету из-за закрытости системы внедрение крупных проектов даже на типовых решениях имеет немало проблем как по производительности так и по надежности. Ну и с типовыми конфами - совсем не все гладко, внедряем сейчас бух3 - некоторые вещи не реализованы, некоторые работают только в воспаленном воображении разработчиков конфы. И это мы говорим о регламентированном учете. |
|||
230
Никола_
Питерский 08.12.13
✎
02:11
|
(225) Нет у них таких шансов и целей таких нет !
Вопрос представителям CUBA, кого Вы считаете своим основным конкурентом ? |
|||
231
milan
08.12.13
✎
02:13
|
(228) на 1с не пишут высоконагруженных систем, 1000 пользователей только на стендах запускают
|
|||
232
AlexZotkin
08.12.13
✎
02:14
|
(225) я думаю что Управленческий Учет лучше делать на 1с (мы свой на 1с написали и очень довольны). В данный момент в платформе CUBA нет регистров (хотя можно добавить), а это сами понимаете очень важно
|
|||
233
wertyu
08.12.13
✎
02:18
|
(230) точно, это как Байтовская бизнес-студио
|
|||
234
wertyu
08.12.13
✎
02:19
|
+(233) я для сравнения
|
|||
235
_Demos_
08.12.13
✎
02:28
|
когда законодательство более менее устаканится, предприятия не смогут ввести черный учет потому как деньги будут только электронные, как следствие этого 1С-ка превратиться в монолитную программу. Тогда у программистов 1С наступят черные дни. Кто выживет, кто - нет, а кто-то пойдет майданить здание на Савелевской
Да здравствует бардак в бухгалтерском, налоговом и каком там еще?.. законодательстве))) (так мысли в слух) |
|||
236
Никола_
Питерский 08.12.13
✎
02:29
|
(235) Футуролог ?
|
|||
237
etc
08.12.13
✎
02:33
|
(226) вот кстати очень правильные слова: "для этого надо с продуктом продавать бизнес процессы".
|
|||
238
etc
08.12.13
✎
02:36
|
(235) даже если все устаканится и все будет "по белому" очумелые головы в компаниях (которые обожают перестраивать внутренние процессы) никуда не денутся.
Автоматизацию нельзя завершить, её можно только приостановить. |
|||
239
_Demos_
08.12.13
✎
02:37
|
да сам подумайте все к этому идет
т.е. 1С со временем превратиться в одно приложение без необходимости программировать |
|||
240
etc
08.12.13
✎
02:40
|
(239) не будет такого. Вот смотри, Adobe клепает свой основной продукт уже много лет. Казалось бы весь функционал какой только можно уже могли бы сделать. Нет, выходят же новые версии и всегда находятся причины по которым их покупают.
|
|||
241
GIGABYTE
08.12.13
✎
02:40
|
(239) >> все к этому идет
Несколько сотен лет к этому всё идет. Жизнь не стоит на месте, всё меняется. |
|||
242
_Demos_
08.12.13
✎
02:41
|
(240) но клепает-то только Adobe. Вся фишка в этом и есть)
|
|||
243
Никола_
Питерский 08.12.13
✎
02:41
|
(240) Он имеет ввиду не в техническом плане, а в глобальном, изменится методология учета как такового, наверное. ИМХО.
|
|||
244
wertyu
08.12.13
✎
02:43
|
(239) даже если всё "устаканится", эволюцию юзабилити остановить нельзя
|
|||
245
etc
08.12.13
✎
02:43
|
(242) ну это да. Тут сторонним разработчикам только фильтры оставили.
|
|||
246
AlexZotkin
08.12.13
✎
02:45
|
Управленческий Учет всегда останется. так как бухгалтерия никогда не будет считать такие вещи как например прибыльность по проектам
|
|||
247
etc
08.12.13
✎
02:53
|
Я вот не понимаю на самом деле как может такое быть "установка новой версии решения (включая изменения схемы БД) не приводит к остановке системы". Если ты например поменял логику приложения и для неё тебе нужно расширить набор полей таблиц, а еще хуже изменить сами данные то в любом случае ты так или иначе на момент "обновления" для обработки таблиц должен блокировать к ним доступ. Иначе "старая" логика поназапишет туда некорректных записей. Соответственно в любом случае будет промежуток когда пользователям будет запрещено вводить какие-то данные. 2 копии БД? А если в момент реструктуризации идет активный ввод данных?
Не верится что на деле нет множества "условностей". |
|||
248
etc
08.12.13
✎
02:58
|
Да банально, поменяется протокол взаимодействия узлов кластера и все. Не смогут 2 узла работать параллельно.
|
|||
249
wertyu
08.12.13
✎
03:07
|
(246) конечно, это не её задача, это больше к финансам, но зачастую бухи подчинены финикам
|
|||
250
Reaper_1c
08.12.13
✎
03:22
|
(204) В 1С есть несколько уровней кэширования:
1. Объектный кэш, служит для оптимизации работы с объектными сущностями платформы (элементы документов/справочников/etc.). Разработчиком не управляется, платформа следит за ним сама. 2. Механизм повторного использования возвращаемых значений. Позволяет организовать кэш результатов вычислений. Разработчик должен просто определить необходимость использования механизма и вариант поддержки этого кэша. Вариантов 2 - на время вызова сервера, либо "на время сеанса" (На самом деле в этом случае система отслеживает 2 таймаута: время с момента создания и с момента последнего обращения. Если хотя бы один из них истек - кэш очищается, и будет обновлен при следующем обращении к функционалу). 3. Параметры сеанса - уровень кэширования полностью управляемый разработчиком. Что касается репликации - этим 1С разработчику голову не забивает, и берет все это на себя. Запросы, не устраивающие по производительности, нужно переписывать в самой 1С, тут здоровых альтернатив нет. Версионирование реализуется, уже довольно давно поставляется в составе типовых решений. Кулибины своих реализаций тоже наплодили достаточно. |
|||
251
wertyu
08.12.13
✎
03:28
|
+(250) план запроса в субд не управляется из 1с
|
|||
252
MadHead
08.12.13
✎
03:30
|
1. что происходит с БД когда ставиться новая версия (она доступна на чтение,запись или переходит в офф лайн)?
при изменении структуры БД создается новая таблицы нужной структуры затем в нее переливаются данные из старой на это время вся база захвачена монопольно (вроде как в последних версиях платформы монопольный доступ нужен только на момент подмены таблиц) 2. как накатываются скрпиты изменения (автоматически или вы сами вручную запускаете один за другим )? Обновления накатываются прямо из 1с-ной IDE подключенной к нужной базе 1с. Все делается автоматически. В целом процесс обновления очень простой |
|||
253
MadHead
08.12.13
✎
03:30
|
(232) -> (252)
|
|||
254
wertyu
08.12.13
✎
03:32
|
(252) 1. это зависит от способа обновления я бы сказал
|
|||
255
Reaper_1c
08.12.13
✎
03:32
|
(251) И это хорошо. Учитывать при разработке архитектуру 4-х разных СУБД было бы... не стоит в общем.
|
|||
256
wertyu
08.12.13
✎
03:34
|
(255) некоторые это считают минусом ) некоторые - это не я )
|
|||
257
MadHead
08.12.13
✎
03:38
|
(250) все эти "кэши" работают в разрезе сеанса. Параметры сеанса вообще для кэша не рекомендуется использовать. К сожаления в 1с нет возможности построить общий кэш на уровне звена сервера приложений.
|
|||
258
wertyu
08.12.13
✎
03:42
|
(257) да лажа это всё, основное кэширование идёт на уровне субд
|
|||
259
MadHead
08.12.13
✎
03:42
|
(256) это действительно больше на фантастику похоже. На сколько я знаю подобного нету даже в том же hibernate а это наверное флагман ORM подхода
|
|||
260
Reaper_1c
08.12.13
✎
03:44
|
(257) И что же класть в такой кэш? Картинки что ли? На самом деле и такой кэш есть - в нем живет p-код и прочая инфраструктура. А вот необходимость такого кэша для элементов бизнес логики еще придумать надо.
|
|||
261
wertyu
08.12.13
✎
03:46
|
(259) тут по тарссировке надо смотреть, когда одноэс попадает, когда нет
|
|||
262
wertyu
08.12.13
✎
03:46
|
трассировке*
|
|||
263
etc
08.12.13
✎
03:47
|
может еще что и рабочий процесс кэширует для всех сеансов, но врятли. А уж между собой рабочие процессы с вероятностью 99% вообще ничего не кешируют. "Эй вась, че ты к BD домогаешся? я тут для тебя уже закешировал".
|
|||
264
wertyu
08.12.13
✎
03:48
|
+(261) поэтому не слишком доверяю гипернакрученным запросам
|
|||
265
MadHead
08.12.13
✎
04:02
|
(260) да что угодно можно добавить. Хоть остатки хранить. Вот к примеру бывают очень накрученные АРМы где человеку показывается результат довольно сложного запроса и вычисления. Одновременно таким АРМами могут пользоваться очень много человек. А ведь можно избежать многих запросов к БД, если будет общий кеш. Через этот кеш можно было бы между сеансами обмениваться данными, а сейчас можно только через СУБД. Это так что первое в голову пришло, но я сам многократно в процессе оптимизации узких мест жалел что нет такой возможности.
|
|||
266
wertyu
08.12.13
✎
04:06
|
(265) в том то и дело, что кэш накапливает субд, сначала проверяет его, а потом уже начинает действовать
|
|||
267
wertyu
08.12.13
✎
04:09
|
+(266) конечно же, сам план запроса остаётся
|
|||
268
MadHead
08.12.13
✎
04:13
|
(266) субд конечно накапливает, с этим никто не спорит, но СУБД производит кэширование довольно грубо. И в примере с АРМами этого недостаточно будет. Нужны хотя бы вьюхи на уровне СУБД и очень было бы не плохо их аналог на уровне сервера 1с. Вот элементарный пример с многократным выполнением одного и того же запроса в консоле. Время выполнения запроса не так уж сильно меняется, а с общим кэшем можно было бы на порядки ускорят узкие места
|
|||
269
wertyu
08.12.13
✎
04:16
|
(268) хм, с одним и тем же меняется, если использовать разные условия
|
|||
270
Reaper_1c
08.12.13
✎
04:19
|
(265) Смысла - ноль. Кэшировать все остатки проще каким-нибудь ioDrive'ом. А если посмотреть внимательнее на работу пользователей - окажется, что одними и теми же остатками они не оперируют, а только по своему складу/товарной группе. И количество реальных пересечений настолько незначительно, что внимания не заслуживает. С сотней пользователей и СУБД справится. А тысяча пользователей не будет торговать с одного склада...
|
|||
271
MadHead
08.12.13
✎
04:37
|
(269) Виноват не предметно выразился и без примера. Вот зашел в рабочую базу и выполнил простой запрос
ВЫБРАТЬ СУММА(РеализацияТоваровУслуг.СуммаДокумента) КАК СуммаДокумента, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваровУслуг.Ссылка) КАК Ссылка ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг в итоге запрос выполнялся 12 секунд первый раз и по 4 последующие. А мог выполнятся 0 все последующие разы. (270) Сложно конечно вести диалог когда ты говоришь, что я сейчас сижу на стуле, а тебе говорят что на самом деле ты сидишь голой попой на асфальте. Я специально упомянул слово АРМ. Там могут быть остатки с продажами, ценами и кучей прочей дополнительной информации. я не говорю что оно не работает, оно то работать будет и без всяких кэшей, другое дело как с этими лагами мириться. Теже доп права пользователей и настройки обмена могли лежать в общем кэше |
|||
272
wertyu
08.12.13
✎
04:42
|
(271) странно, у тебя что-то с базой, у меня всё норм )
|
|||
273
Reaper_1c
08.12.13
✎
04:44
|
(271) Сложно разговаривать не предметно. Если бы у тебя был в практике реальный случай, когда тебе понадобился бы такой кэщ - ты бы уже рассказал об этом а я бы впечатлился. А на деле ты просто говоришь: "хочу кэш, чтобы был". А зачем он тебе понадобился - пытаешься высосать из пальца.
|
|||
274
wertyu
08.12.13
✎
04:45
|
+(271) http://clip2net.com/s/6kZu4d
|
|||
275
AlexZotkin
08.12.13
✎
10:35
|
по поводу кэша.
Reaper_1c правильно написал кэши бывают разные. и чаще всего это просто НСИ (справочники) хранящиеся на ср. слое. Но есть и другие случаи. Пример из реальной жизни, система Такси - более 3000 конкурентных пользователей - данные в БД сильно связанны (сущность "заказ машины" хранится в более чем 25 таблицах) - высокая update activiy (в секунду примерно 250 новых записей, 450 изменений. кол-во чтений никто не считал) экраны диспетчеров должны обновляться каждые 2с (очень много всякой быстро изменяющейся инфы надо запрашивать с сервера). Для этого пишется кэш который объявляться раз в 2с а все клиентские сессии читают данные из него. |
|||
276
wertyu
08.12.13
✎
10:39
|
(275) у вас система какой-то свой кэш делает? помимо субд?
|
|||
277
Эмбеддер
08.12.13
✎
10:46
|
(271) не могу представить, когда требуется сумма чего-то по всей базе. обычно это или по клиенту или за период. но не все клиенты за все время
|
|||
278
wertyu
08.12.13
✎
10:49
|
(277) см (274)
|
|||
279
AlexZotkin
08.12.13
✎
11:09
|
(247) Для установки новой версии без остановки системы , мы используем следующий подход
1. накатываем скрипты изменения БД (БД должна быть совместима с новой и старой версией софта). Это наиболее ответственный момент который выполняется в ручную. 2. устанавливаем новую версию на запасной кластер 3. пересаживаем 10-20 пользователей на запасной кластер и ждем примерно 1 день 4. если дефектов в новой версии не обнаружилось , то переводим всех пользователей на запасной кластер (так называемая осушка основного кластера) 5. как только активных сессий на основном кластере не осталось , обновляем его 6. переводим пользователей с запасного кластера на основной по вопросу изменение данных при обновлении 1. просто запустить update на всю таблицу нельзя так как пойдут локи. Для этого пишется хранимая процедура которая меняет записи пакетами по 1000 штук. 2. изменение тип поля. Использовать ”alter table …. alter column” тоже нельзя. Поэтому Создается новое поле с новым типом данные между старым полем и новым синхронизируются с помощью триггера. Новая версия работает с новым полем а старая со старым. После обновления триггер удалятся |
|||
280
AlexZotkin
08.12.13
✎
11:10
|
(276) да свой кэш
|
|||
281
wertyu
08.12.13
✎
11:18
|
(280) чего не заполнишь, что из Самары
|
|||
282
wertyu
08.12.13
✎
11:22
|
(279) а если надо ключи добавить?
|
|||
283
MadHead
08.12.13
✎
12:36
|
(273) в (275) в тоже самое написано, что и я написал.
(272) реализаций 8 миллионов, база 1.7 ТБ. |
|||
284
wertyu
08.12.13
✎
12:40
|
(283).2 дефрагай
|
|||
285
MadHead
08.12.13
✎
12:40
|
(273) про рабочие места менеджеров был реальный случай
|
|||
286
MadHead
08.12.13
✎
12:40
|
(284) да все регламентные процедуры СУБД регулярно проводятся
|
|||
287
glaschenko
08.12.13
✎
12:45
|
(279) хотел бы уточнить что это просто пример высоконагруженной системы которая должна работать 24/7. Ее просто нельзя останавливать. В простых случаях - когда базу можно остановить - все эти навороты естественно не обязательны.
|
|||
288
glaschenko
08.12.13
✎
12:56
|
(255) По поводу оптимизации запросов. В CUBA тоже по умолчанию все делает ORM (OpenJPA), в этом случае ты планом не управляешь.
Но бывают случаи когда запрос очень часто выполняется, или очень тяжелый, или ORM строит запрос не оптимально. Таких запросов наверное менее 1%, но они могут быть критичными для производительности приложения. В этом случае мы можем использовать нативный SQL и мапить данные на объектную модель с помощью MyBatis. Как я понимаю в 1С можно хранимки для этого использовать? Но в этом случае как быть с именованием полей? |
|||
289
MrStomak
08.12.13
✎
13:03
|
(288) хранимки использовать нельзя без нарушений лиц. соглашения и потенциальных косяков при реструктуризации.
Но читающие запросы в 1с очень близки к нативному sql, есть возможности по оптимизации через индексируемые временные таблицы, там только нет возможности использовать хинты по блокировкам и ступеням оптимизации. Что же касается кэша - в указанном примере, когда огромному числу пользователей нужна определенная сложновычисляемая инфа, то её помещают в отдельные таблицы - регистры, таким образом обпеспечивая аналог OLAP, а кеширование регистров и скорость получения этих данных обеспечиваются субд. |
|||
290
glaschenko
08.12.13
✎
13:13
|
(202) обязательно передам! :)
|
|||
291
MadHead
08.12.13
✎
13:18
|
(288) я про MyBatis только читал когда-то. И думаю что при чтении данных (язык запросов 1с) на много ближе в этой технологии. Язык запросов 1с - это очень похожий на нативный SQL с некоторыми ограничениями.
|
|||
292
glaschenko
08.12.13
✎
13:23
|
(289) Понятно. Возможно ORM в 1С сильно более продвинутая по сравнению с Hibernate/OpenJPA, но последние далеко не всегда строят хороший запрос в сложных случаях - когда есть с десяток join'ов и необязательно просто по ключу.
По поводу кэша - согласен, хорошее решение. Но все равно получается лишнее звено (средний слой - БД), и дополнительная нагрузка на базу, которая всегда будет узким местом. С другой стороны в большинстве случаев это будет некритично. И еще - эти таблицы (регистры) в нашем примере нужно будет обновлять каждые 2 секунды. Не будет ли база лочить запросы на чтение в этом случае? Низкий уровень изоляции транзакций нельзя использовать. |
|||
293
MrStomak
08.12.13
✎
13:26
|
(292) В 1с используется read committed, что на версионниках не создаст блокировок на чтение, на mssql также не создаст, так как с 8.3 там используется read committed snapshot. Кроме того, если мы говорим о данных для вывода на форму пользователя, то есть не получаемые в процессе записи объекта, то они получаются в read uncommitted, если разработчик явно не указывал другое.
|
|||
294
MrStomak
08.12.13
✎
13:35
|
(292) план запросов с десятками джоинов по неиндексируемым полям или не по эквивалентности будет также непредсказуем, да. Хинтов на использование того или иного способа соединения для планироващика передать нельзя. В 1с для таких случаев пользуются функциональностью временных таблиц, разбивая такой один сложный запрос на несколько запросов более простых. Возможность использовать прямой запрос или хранимку есть, но это уже использование ado/odbc вместо встроенных средств и является нарушением лиц. политики.
|
|||
295
glaschenko
08.12.13
✎
13:55
|
(293) логично
|
|||
296
glaschenko
08.12.13
✎
13:58
|
(294) да, это тоже вариант решения. В общем понятно что проблемы схожие и механизмы их решения должны быть, иначе платформа (и 1С и CUBA) просто не могла бы использоваться в больших проектах.
|
|||
297
AlexZotkin
08.12.13
✎
18:25
|
(289)
Алексей, Ваш вариант очень хороший , но не всегда применим. у нас немного другой случай и регистры здесь применять нет смысла (у нас агрегация как таковая не требуется). - кэш это набор из примерно 30 000 записей которые получаются в результате очень сложных запросов к БД (нет никакой агрегации , просто много хитрых условий ) - каждые 2 сек он обновляться. В это время пока идет обновления читать его нельзя (будут не консистентные данные). Думаю на 1с лучше сделать так - создать вымышленный справочник (скажем "кэш заказов"). - каждые 2 секунды удалять все данные из него и заполнять новыми данными (можно попытаться сделать процедуру которая сравнивает кэш с новыми данными и вносить только изменения , но это тоже не просто ) . - На время заполнения справочника "кэш заказов" блокировать его от чтений. минусом такого решения будет а) излишняя нагрузка на БД (в принципе не страшно , но и хорошего ничего нету) б) высокая update activity (15 000 удалений 15 000 добавлений в секунду ) . Что для Highly Available конфигурации БД, построенной на репликации, очень не хорошо (растет replication queue) |
|||
298
kot275
08.12.13
✎
18:36
|
(297)AlexZotkin, доброго дня, я так пониманию Вы переставляете на форуме разработчиков платформы CUBA. Скажите какие требования предъявляются к программисту и какими навыками он должен обладать, чтоб уверено разрабатывать нечто уровня ТиС(это простая торговля и учет ТМС, без бухгалтерии). Заранее спасибо.
|
|||
299
AlexZotkin
08.12.13
✎
18:52
|
(298)
Для разработки на платформе CUBA требуются: - знания JSE (Java Standard Edition), в дальнейшем придется разобраться с работой ORM, но это не сложно - начальные знания БД (DDL и DML). |
|||
300
_Demos_
08.12.13
✎
19:00
|
триста
|
|||
301
kot275
08.12.13
✎
20:11
|
(299)Знание какой именно ORM? Их же много и на любой вкус. Я вот, к примеру, знаком с Hibernate. Этого хватит?
|
|||
302
Злопчинский
08.12.13
✎
21:12
|
вас ист дас ОРМ - оперативно-разыскные мероприятия?
. и заметим, что речь идет об обсуждении каких-то сферических программистских знаний. . мое глубокое убеждение - если в предметке не варился или нет рядом внятного и грамотного объясняльщика/постановщика задач/ТЗшника - то все ОРМЫ, ДДЛ, и особенно джава идут лесом - бо ничего путного хоть на Кубе, хоть на сильверлайте хоть на чем - не выйдет. . как тупой пример - работают уменя девки через один сетевой портал - к программистам пртетензий нет. просто работать противно и неудобно. |
|||
303
AlexZotkin
08.12.13
✎
21:58
|
(301) в платформе CUBA используется OpenJPA. Если Вы знаете Hibernate то у вас проблем с OpenJPA не будет.
|
|||
304
Neg
08.12.13
✎
22:04
|
а где русския язык?
|
|||
305
kot275
08.12.13
✎
22:12
|
(302)wiki:ORM
ORM (англ. Object-relational mapping, рус. Объектно-реляционное отображение) — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». Существуют как проприетарные, так и свободные реализации этой технологии. В 1С она тоже есть. (303)OpenJPA с этим у меня как раз проблемно, не освоил, как-то сложней Hibernate. Ладно, пойду вашу студию дальше изучать. Пробую на ней нечто вроде ТиС изобразит. |
|||
306
Asirius
08.12.13
✎
23:20
|
(235) На панель пойдут студенты-обновляльщики. Для крутых спецов 1С наступят золотые времена. Их перестанут отвлекать тупыми заданиями, приносящие только одни расходы для предприятий. Бюджеты предприятий будут тратится на достойные проекты => эти проекты будут приносить неплохой профит => бюджеты будут расти вместе с зарплатами спецов.
|
|||
307
glaschenko
09.12.13
✎
09:27
|
(185) "я не нашел, как cuba подружить с ActiveDirectory (в 1С из коробки);"
Интеграция с AD в CUBA есть: http://docs.cuba-platform.com/cuba/latest/security/ru/webhelp/section_AD.html |
|||
308
glaschenko
09.12.13
✎
09:38
|
(304) В CUBA поддерживается локализация - каждый пользователь может выбрать язык, с которым он хочет работать, при условии что вы задали локализованные сообщения для ваших экранов.
Стандартные экраны CUBA имеют локализацию на английском, русском и французском языках. Если вы про разработку, то код естественно на англ. Студия сейчас тоже на английском, но ее не сложно локализовать, если увидим реальную потребность - сделаем. |
|||
309
bizon2008
09.12.13
✎
13:56
|
(305)Не ТиС не получится, там регистров нет. Это типа Дельфи, только для Джавы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |