Автор | Сообщение |
alkresin
|
| moderator
|
Пост N: 31
Зарегистрирован: 06.07.06
|
|
Отправлено: 31.01.08 11:36. Заголовок: Leto DB Server (продолжение)
Только что открыл на Sourceforge новый проект - Leto DB Server - https://sourceforge.net/projects/letodb Это мультиплатформенный ( Windows, Unix/Linux ) сервер баз данных, предоставляющий клиентским программам доступ к dbf/cdx файлам, находящимся на удаленном сервере ( можно и на локальном компьютере запускать - в отладочных целях ). В общем, как ADS :). Проект - на стадии разработки, не все даже базовые функции еще реализованы, до оптимизации дело еще не дошло. Но работает :). Крутится у меня на сервере несколько дней, подключал до 15 клиентов, пока не падает. Мои программы работают с ним нормально. Преимущества по сравнению с обычным файл-сервером: 1) Безопасность - базы могут быть в каталоге, недоступном для клиентских компьютеров - никто их случайно не удалит и не повредит. 2) Поскольку базы открываются серверной программой, а не клиентской, ее целостности ничего не грозит при случайном отключении клиентского компьютера. 3) значительное уменьшение сетевого траффика. 4) Должен быть, по идее, выигрыш в скорости. 5) Возможность контроля за пользователями с помощью утилиты manage ( можно придумать и другие формы контроля ). 6) Можно будет сделать транзакции, stored procedures на Харборе, ... и вообще все в наших руках :). Кто хочет участвовать в разработке, тестировании - пишите.
|
|
|
Ответов - 193
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|
Pasha
|
| Администратор
|
Пост N: 1075
Зарегистрирован: 23.05.05
|
|
Отправлено: 27.01.09 16:27. Заголовок: Коннект устанавливае..
Коннект устанавливается не с определенным каталогом, а с сервером, поэтому leto_connect и возвращает .t. Что касается leto_isdir(), то не хотелось бы загромождать сервер несвойственными ему операциями. Можно проверять наличие нужного файла в этом каталоге функцией leto_file() Если добавить leto_isdir(), то потом захочется еще и создавать/удалять каталоги :)
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 49
Зарегистрирован: 15.09.05
|
|
Отправлено: 27.01.09 22:58. Заголовок: Ну размечтался я :)
Ну размечтался я :) , Вы уж простите Паша! Я с Вами согласен на все 100 . Я вообще то мечтаю об Aplication Server но к сожалению в языке C не сильно соображаю. Надо наверное изучить работу с библиотекой SOCKET . Написать похожую на LetoDB программу и посылать ей команды на выполнение на серверном компе. Спасибо за Внимание !
|
|
|
Петр
|
| постоянный участник
|
Пост N: 608
Зарегистрирован: 09.10.06
|
|
Отправлено: 28.01.09 10:05. Заголовок: Не в тему..
Мечтать не вредно. ;) Год назад не было LetoDB, а теперь посмотрите harbour\contib\examples\uhttpd uHTTPD (Micro HTTP server) - http сервер написанный на Harbour, позволяющий запускать на исполнение предварительно откомпилированные hrb модули, использовать технологию AJAX. Почему б тогда о сервере приложений не помечтать ;) P.S. Судя по наличию ifdef _XHARBOUR_ с XHARBOUR автор сервер тоже тестировал.
|
|
|
gfilatov
|
| модератор
|
Пост N: 941
Зарегистрирован: 25.05.05
|
|
Отправлено: 06.02.09 14:14. Заголовок: Pasha пишет: Только..
Pasha пишет: цитата: | Только теперь, я думаю, возникнет проблема сборки letodb для старых версий Харборов. |
| После вчерашних исправлений А.Кресина сервер перестал собираться для новых SVN версий Харбора. Предлагаемое решение проблемы состоит в замене используемой Александром константы HB_VERSION_MT на !defined( HB_LEGACY_LEVEL )
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 810
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.03.09 11:08. Заголовок: 1) Подскажите пожалу..
1) Подскажите пожалуйста, потянет ли LetoDB 100 пользователей одновременно ? 2) Как реализовать работу LetoDB, если нужно 20 баз на отдельные предприятия ? Нужно будет запускать 20 СЕРВЕРОВ LetoDB на СЕРВЕРЕ ? А обычный 4-ядерник потянет столько задач одновременно ? 3) А как с защитой информации ? Взломать СЕРВЕР LetoDB смогут ли ? Заранее спасибо за ответы.
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 51
Зарегистрирован: 15.09.05
|
|
Отправлено: 07.04.09 11:28. Заголовок: LetoDB Ver 0.8
|
|
|
gfilatov
|
| модератор
|
Пост N: 977
Зарегистрирован: 25.05.05
|
|
Отправлено: 07.04.09 17:55. Заголовок: Выложил компактную с..
Выложил компактную сборку Harbour Leto RDD build 0.8 (by Alexander S. Kresin) updated for Harbour 1.1.0dev по адресу: http://minigui.mylivepage.ru/file/?fileid=6953 Что нового: - введено частичное шифрование траффика (команда CRYPT_TRAFFIC=1 в ini файле) - добавлена аутентификация при подключении/работе к серверу: серверный ini файл может теперь иметь такие команды: PASS_FOR_LOGIN = 1 ( 0, если отключено ), если сервер требует аутентификация при подключении; PASS_FOR_MANAGE = 1, если соответствующие права необходимы для работы с данными; PASS_FOR_DATA = 1, если соответствующие права необходимы для записи данных. PASS_FILE - путь и имя файла аутентификации, по умолчанию "leto_users". - исправления для совместимости с различными версиями компилятора Harbour (до версии 1.0 или после версии 1.01)
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 834
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.04.09 21:07. Заголовок: Блин, так и никто не..
Блин, так и никто не ответил ! Ну хоть предположения свои выскажите .... 1) Подскажите пожалуйста, потянет ли LetoDB 100 пользователей одновременно ? 2) Как реализовать работу LetoDB, если нужно 20 баз на отдельные предприятия ? Нужно будет запускать 20 СЕРВЕРОВ LetoDB на СЕРВЕРЕ ? А обычный 4-ядерник потянет столько задач одновременно ? 3) А как с защитой информации ? Взломать СЕРВЕР LetoDB смогут ли ? Заранее спасибо за ответы.
|
|
|
Pasha
|
| Администратор
|
Пост N: 1091
Зарегистрирован: 23.05.05
|
|
Отправлено: 15.04.09 08:20. Заголовок: 1. Этот вопрос надо ..
1. Этот вопрос надо выяснить эмпирическим способом 2. Нет, достаточно запустить один сервер letodb 3. Александр совсем недавно добавил шифровку пакетов в letodb с помощью криптоалгоритма blowfish
|
|
|
alkresin
|
| moderator
|
Пост N: 169
Зарегистрирован: 06.07.06
|
|
Отправлено: 22.04.09 13:45. Заголовок: 1) Подскажите пожалу..
цитата: | 1) Подскажите пожалуйста, потянет ли LetoDB 100 пользователей одновременно ? |
| Работать-то будет, а вот насколько хорошо - зависит от характера работы пользователей. Если они в основном в Контакте сидят и только время от времени введут какой-нибудь документ, то, думаю, проблем не будет, а вот если все 100 или хотя бы половина из них все время кучу данных перемалывают, то, боюсь, будут задержки. цитата: | 2) Как реализовать работу LetoDB, если нужно 20 баз на отдельные предприятия ? Нужно будет запускать 20 СЕРВЕРОВ LetoDB на СЕРВЕРЕ ? |
| Один, конечно. цитата: | 3) А как с защитой информации ? Взломать СЕРВЕР LetoDB смогут ли ? |
| Хм... Сама концепция сервера позволяет хранить данные в месте, защищенном от посторонних, т.е. в каталоге, куда доступ ограничен - в этом случае безопасность хранения на сервере обеспечивается ОС и системным администратором. Доступ к данным при этом можно получить только из клиентских программ, скомпилированных для работы с letodb. Если использовать недавно реализованную систему аутентификации, то защита есть и с этой стороны. Сами пароли передаются зашифрованными. На мой взгляд, система достаточно надежна, хотя я не специалист в криптографии и говорить наверняка не могу.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 837
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.04.09 15:01. Заголовок: alkresin пишет: Дос..
alkresin пишет: цитата: | Доступ к данным при этом можно получить только из клиентских программ, скомпилированных для работы с letodb. |
| А если кто-то на letodb создаст модуль работы с базами, сможет ли он испортить мои базы ? alkresin пишет: цитата: | Если использовать недавно реализованную систему аутентификации, то защита есть и с этой стороны. Сами пароли передаются зашифрованными. |
| А вот здесь поподробней пожалуйста ! И примеры тоже дайте пожалуйста... И еще САМАЯ БОЛЬШАЯ ПРОБЛЕМА !!! Можно ли организовать шифрование БД на сервере и передачу хотя бы текстовых данных через Интернет ЗАШИФРОВАННЫМИ, чтоб их потом можно было на клиенте РАСШИФРОВЫВАТЬ и использовать ???
|
|
|
|
alkresin
|
| moderator
|
Пост N: 170
Зарегистрирован: 06.07.06
|
|
Отправлено: 23.04.09 09:10. Заголовок: Andrey пишет: А есл..
Andrey пишет: цитата: | А если кто-то на letodb создаст модуль работы с базами, сможет ли он испортить мои базы ? |
| Если не использовать систему аутентификации, то сможет. Если же вы поставите в letodb.ini на сервере PASS_FOR_DATA = 1, то изменить данные может только тот, кто вошел под своим именем и паролем и имеет права на запись. А если поставите PASS_FOR_LOGIN = 1, то и подсоединиться к серверу можно только указав правильные имя и пароль. Добавлять пользователей, менять пароли и права доступа можно из клиентской программы, используя функции: LETO_USERADD( cUser, cPassword [, cAccess] ) LETO_USERPASSWD( cUser, cPassword ) LETO_USERRIGHTS( cUser, cAccess ) Права доступа ( cAccess ) на данный момент включают в себя 3 позиции: административные ( права на добавление/изменение пользователей ), право на использование management функций ( программы manage.exe ) и право на запись; они задаются в виде строки из 3-х символов, каждый из которых - Y или N: "NNY", например, дает права на запись и отказывает в других правах. Прежде чем ставить PASS_FOR_ ... в letodb.ini, надо завести хотя бы одного пользователя с административными правами. Кстати, добавлять пользователей можно, используя консольную утилиту utils/manager/comsole.prg, там же можно посмотреть и примеры использования этих функций. Если система аутентификации работает, то в клиентской программе необходимо сначала присоединиться к серверу: leto_connect( cAddress, cUsername, cPassword ) Andrey пишет: цитата: | И еще САМАЯ БОЛЬШАЯ ПРОБЛЕМА !!! Можно ли организовать шифрование БД на сервере и передачу хотя бы текстовых данных через Интернет ЗАШИФРОВАННЫМИ, чтоб их потом можно было на клиенте РАСШИФРОВЫВАТЬ и использовать ??? |
| Над шифрованием БД надо думать, я не уверен, что средства Harbour позволяют это сделать. Такое шифрование должно быть встроено в RDD DBFCDX, ведь входящие в ядро RDD функции работы с индексами должны уметь расшифровывать данные. Но лично мне шифрование самой БД не представляется таким уж важным - поскольку данные можно поместить в каталог, доступный только администратору, посторонние без него не смогут до них добраться. Что касается шифрации траффика, то это уже есть. Просто добавьте CRYPT_TRAFFIC = 1 в letodb.ini. На данный момент шифруются данные, передаваемые с сервера клиенту. Данные от клиента к серверу я еще не шифровал - просто из-за лени :).
|
|
|
wad1
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.04.09 08:01. Заголовок: Шифрование таблиц ср..
Шифрование таблиц средствами Harbour нормально работает при использовании SIXCDX. В Clipper мы применяли шифрованные таблицы на протяжении нескольких лет, и при переходе на Harbour критических затруднений не было.
|
|
|
alkresin
|
| moderator
|
Пост N: 172
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.04.09 08:49. Заголовок: wad1 пишет: Шифрова..
wad1 пишет: цитата: | Шифрование таблиц средствами Harbour нормально работает при использовании SIXCDX. |
| Я как-то пробовал шифровать таблицу средствами SIXCDX под Harbour, но что-то не получалось. А вот прямо сейчас - все вышло нормально. Так что, действительно, можно будет это дело использовать.
|
|
|
alkresin
|
| moderator
|
Пост N: 173
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.04.09 08:51. Заголовок: Вопрос вдогонку: ес..
Вопрос вдогонку: есть ли какие-нибудь особенности при использовании SIXCDX по сравнению с DBFCDX в Harbour, или все точно так же работает + какие-то дополнительные возможности ?
|
|
|
Pasha
|
| Администратор
|
Пост N: 1104
Зарегистрирован: 23.05.05
|
|
Отправлено: 24.04.09 09:15. Заголовок: alkresin пишет: ест..
alkresin пишет: цитата: | есть ли какие-нибудь особенности при использовании SIXCDX по сравнению с DBFCDX в Harbour, или все точно так же работает + какие-то дополнительные возможности ? |
| SIXCDX - это тот же DBFCDX, собранный с #define HB_SIXCDX Как правило, при такой сборке добавлены дополнительные возможности. ИМХО, не стоит шифровать БД непосредственно на сервере средствами SIXCDX. Только клиент letodb, имеющий права доступа к БД, будет иметь возможность получить данные из таблиц DBF. А уж какими средствами сервер это обеспечивает - это дело сервера. Шифрование таблиц здесь излишне.
|
|
|
wad1
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.04.09 09:16. Заголовок: Дополнительных возмо..
Дополнительных возможностей пока не обнаружили (не особенно искали), а по поводу особенностей: 1 - В Clipper'е ПЕРЕДоткрытием таблицы нужно было установить Sx_setPass(), а в Harbоur'е - ПОСЛЕ открытия. 2 - В Harbour'е не получилось заставить работать функцию Sx_SetScope(). Все заработало после замены этой функции на OrdScope(). Хотя к шифрованию это отношения конечно не имеет.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 839
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.04.09 11:09. Заголовок: wad1 пишет: Шифрова..
wad1 пишет: цитата: | Шифрование таблиц средствами Harbour нормально работает при использовании SIXCDX. В Clipper мы применяли шифрованные таблицы на протяжении нескольких лет, и при переходе на Harbour критических затруднений не было. |
| А можно пример простой показать ? И будет ли под хХарбором это работать ? Заранее спасибо !
|
|
|
alkresin
|
| moderator
|
Пост N: 174
Зарегистрирован: 06.07.06
|
|
Отправлено: 24.04.09 13:20. Заголовок: Andrey пишет: А мож..
Andrey пишет: цитата: | А можно пример простой показать ? |
| Вот так шифруется таблица : Function Main REQUEST SIXCDX RDDSETDEFAULT( "SIXCDX" ) sx_SetPass( "Test" ) use joupk new exclusive sx_DBFEncrypt() reindex return В xHarbour RDD такое же, как в Harbour, так что должно и там работать.
|
|
|
alkresin
|
| moderator
|
Пост N: 191
Зарегистрирован: 06.07.06
|
|
Отправлено: 02.06.09 10:02. Заголовок: Вышел очередной релиз
Выложен очередной релиз - build8. Он содержит несколько исправлений, в том числе важных. Добавлена обработка internal error - такие возникают иногда при повреждении данных. Теперь сервер при таком событии закрывает все таблицы и записывает в letodb_crash.log информацию о том, какой >pth это натворил и с каким файлом. В management утилитах теперь еще больше статистики. Добавлена функция leto_IsFltOptim() - она возвращает .T., если текущий фильтр исполняется на сервере.
|
|
|
Ответов - 193
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|