Перевожу программы в терминальный режим. Будут ли проблемы?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
optron
Активист
Сообщения: 114
Зарегистрирован: 29 Март 2006, 10:53
Откуда: Саранск
Контактная информация:

Перевожу программы в терминальный режим. Будут ли проблемы?

Сообщение optron »

Clarion 5.5

Господа, система пока работает в режиме файл-серверного приложения. Базы растут и, естественно, скорость работы приложения падает и падает... :( В связи с этим, сейчас встал вопрос о создании терминального сервера. Пользователей будет 5 человек.

Вопрос вот какого характера - есть н-ное количество вспомогательных баз данных, которые формируются из основных баз при формировании отчетов. То есть, сделали выборку из основной, закинули её во вспомогательную и вывели эту вспомогательную базу на просмотр и печать. Так вот не будет ли проблем, если 2-3 пользователя запустят один и тот же отчет?

Пока организую так - на вспомогательные базы жестко прописываю пути в Full PuthName справочника таблиц. Например, C:\Temp\RabAm.tps В результате этого, эти вспомогальные файлы формируются на локальной машине каждого конкретного пользователя. Естественно, что при этом совместного доступа нет. В терминале так, конечно, не выйдет.

Есть надежда, что данная проблема ничтожна, так как может быть решена разработчиками клашки. Или же нет?

Заранее спасибо.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение kreator »

Не специалист по терминалам, но сдается мне - это не поможет. Файлы БД открываются в монопольном режиме? И во-вторых, если было бы так просто, стали бы люди покупать дорогущие SQL сервера, переделывать под них программы и т.д.
Я в свое время столкнулся с этим (файл-сервер не тянет). И у меня сложилось мнение, что дело не столько в размере БД, сколько в количестве пользователей. Как проверял. Входит в программу один пользователь. Запускает большую долгую аналитику. Засекаю время. Входит в программу второй пользователь. Первый запускает ту же аналитику, а второй ничего не запускает, а только добавляет новые записи и редактирует старые. Засекаю время. Оно существенно увеличивается. Потом с третьим пользователем также. и т.д. После пятого можно аналитику не запускать. Причем, что интересно, добавление и редактирование записей проходит довольно комфортно.
И еще. Знаю человека, которому кто-то сказал, что Linux работает с файл-серверной БД существенно лучше. БД (1С) была лихо туда перенесена. Скорости особо не прибавило это. Только через три месяца по неизвестной причине слетел partition Линуха. Достать БД не удалось (хорошо копии БД делали). Попыток больше никаких не предпринимали, стали копить деньги на MS SQL.
We are hard at work… for you. :)
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение Admin »

Поддержу. Лучше переводить сразу на SQL. Сразу рывок будет в надежности и скорости!
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение StillZero »

optron писал(а):Есть надежда, что данная проблема ничтожна...
У нас для входа для каждого терминала используется свой пользователь, таким образом если ты будешь писать не в C:\Temp а в C:\Users\userXXX\AppData\Local... или даже просто создав уникальное имя таблицы типо MyTable_1289364091283472309874 для каждого пользователя (т.е. не жестко как сейчас, а изменяя путь при создании файла любым способо, хоть через переменную хоть через PROP:Name)... все будет ОК.
Все сайты закрыты...
optron
Активист
Сообщения: 114
Зарегистрирован: 29 Март 2006, 10:53
Откуда: Саранск
Контактная информация:

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение optron »

Пользователи также будут разграничены. И естественно нужно создавать рабочий файл в Темповской папке данного пользователя. Просто пока не соображу как к ней прицепиться. Как я понимаю, если я в Full PuthName справочника таблиц опишу путь к файлу
%USERPROFILE%\Local Settings\Temp\RabAm.tps, то это не сработает. Видимо, ловить нужно в самих шаблонах.
optron
Активист
Сообщения: 114
Зарегистрирован: 29 Март 2006, 10:53
Откуда: Саранск
Контактная информация:

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение optron »

Переводить на SQL, конечно же самый оптимальный вариант. Но даже если отбросить затраченное на перевод время, то интересно, на чем лучше всего писать клиентскую часть?
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение Admin »

IMHO по скорости разработки Clarion 6 + MAV + MS SQL вне конкуренции!
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
optron
Активист
Сообщения: 114
Зарегистрирован: 29 Март 2006, 10:53
Откуда: Саранск
Контактная информация:

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение optron »

Хм... Заинтригован )) Спасибо.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение kreator »

Переходить с 5.5 на 6 сейчас в конце 11 года? Я пошел бы такими путями. Перевел бы приложение, написанное на 5.5, на SQL, а потом бы на 8-ку, если к тому времени не появится 9-ка. А еще лучше - перевел бы приложение на 5.5 сначала на 8-ку, а потом бы на SQL.
We are hard at work… for you. :)
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение Admin »

Зачем столько заморочек.
IMHO при переводе на скуль нужно держаться за 6-ку как за последнюю стабильную версию.
Все. Что тут говорить.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение Губин Игорь »

"Слушал я вас, слушал и ПОНЯЛ!" (дальше сами продолжите) :P

Ты же сам озвучил ответ на свой вопрос! :!: Файлы у тебя временные! Значит делается всё очень просто. в NAME файла кладёшь переменную. А потом этой переменной присваиваешь уникальное имя временного файла средствами Clarion или WinAPI. (GETTEMPFILENAME). Система сама найдёт куда кинуть файл и озаботится, чтобы никто больше не получил такое имя. И ей глубоко пилевать сколько копий приложения запущено. Всё будет работать.
Это я только кажусь дураком! На самом деле я полный идиот!
optron
Активист
Сообщения: 114
Зарегистрирован: 29 Март 2006, 10:53
Откуда: Саранск
Контактная информация:

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение optron »

Ну, в общем всё верно. Спасибо всем.

Сделал перед открытием файла в Global embeds вот такую конструкцию:

RabAm{PROP:Name}=clip(GLO:Login)&'RabAm.tps'

Теперь для каждого пользователя при запуске программы временные файлы переопределяются на свои с личным 3-х буквенным префиксом (GLO:Login), который у меня так и так присутствует в системе.

Ну это так, может еще какому нибудь неучу типа меня понадобится и можно будет найти на форуме.
Последний раз редактировалось optron 17 Октябрь 2011, 11:25, всего редактировалось 2 раза.
FinSoft
Посетитель
Сообщения: 49
Зарегистрирован: 21 Ноябрь 2006, 13:37

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение FinSoft »

У меня давно программы работают с tps в терминальном режиме. Проблем нет, все очень быстро и надежно, у sql серверов в данных вопросах преимуществ нет. Пять пользователей немного, на современном бытовом компьютере может 2-3 десятка спокойно работать. По поводу временных файлов рекомендовал бы не класть в стандартные виндовые каталоги пользователей, а сделать свои в корневой папке приложения. В этом случае мы все держим в одном месте, просто перемещать, обновлять, если будут другие программы, избегаем потенциальных конфликтов. Поскольку сейчас проблем с количеством оперативной памяти нет, то под отчеты вместо временных файлов можно использовать очереди. Получаем заметный выигрыш в скорости. Я часто отчеты формирую в локальные очереди, а для их просмотра стандартными средствами использую служебную таблицу с одним полем id, для которой устанавливаю range limit c 1 по количеству записей в очереди.
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение Admin »

FinSoft писал(а):Проблем нет, все очень быстро и надежно, у sql серверов в данных вопросах преимуществ нет.
Смеялся :)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
FinSoft
Посетитель
Сообщения: 49
Зарегистрирован: 21 Ноябрь 2006, 13:37

Re: Перевожу программы в терминальный режим. Будут ли пробле

Сообщение FinSoft »

А что вызывает улыбку? То, что прочитать информацию из оперативной памяти локально быстрее, чем извлечь из sql-сервера, или то, что серверные операционки работают надежно? Преимущества sql-серверов на данный момент иные. Это открытость решений, которая позволяет чать функций по разработке и технической поддержке делегировать другим людям (разработчикам в других средах, админам клиентов), наличие готового и хорошо протестированного функционала для администрирования, унифицированный доступ из разных инструментов. Между тем, сама концепция клиент-серверного доступа к базам данных стала довольно противоречивой в свете быстрого развития технологий. Если есть возможность организации централизованных вычислений, то какой смысл мучиться с распределенными? Аппаратные решения развиваются гораздо быстрее, чем программные, поэтому только недавно начали говорить, а может нам кроме sql поддерживать еще альтернативные средства доступа (noSQL). В самом Оракле заявили, что sql-сервера не являются оптимальными решениями для итерактивной работы с данными, но как-то быстро замяли.
Если вернуться к нашим "баранам", то пользовать tps+терминал или sql зависит от ряда причин. Прежде всего от того, является ли софт тиражным решением для конечных бизнес-пользователей или заказным. В первом случае я бы отдал предпочтение tps+терминал, во втором sql. Далее от опыта конкретных разработчиков и наличия готовых решений. Ну и учесть, что кларион разрабатывался как инструмент для работы со встроенными форматами баз данных и выглядит не очень убедительно при работе с sql-серверами. Я имею ввиду всю концепцию, начиная от использования словаря (по сути дублирующего функции sql-сервера), жесткой привязки к структуре данных, компилируемых деклараций окон и т.п.
Ответить