On-line: Andrey, Pasha, гостей 1. Всего: 3 [подробнее..]
АвторСообщение
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 на Харборе, ... и вообще все в наших руках :).

Кто хочет участвовать в разработке, тестировании - пишите.



Спасибо: 0 
Профиль
Ответов - 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(), то потом захочется еще и создавать/удалять каталоги :)

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 49
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 27.01.09 22:58. Заголовок: Ну размечтался я :)


Ну размечтался я :) , Вы уж простите Паша! Я с Вами согласен на все 100 .
Я вообще то мечтаю об Aplication Server но к сожалению в языке C не сильно соображаю.
Надо наверное изучить работу с библиотекой SOCKET . Написать похожую на LetoDB программу и посылать ей команды на выполнение на серверном компе.

Спасибо за Внимание !



Спасибо: 0 
Профиль
Петр
постоянный участник


Пост 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 автор сервер тоже тестировал.

Спасибо: 0 
Профиль
gfilatov
модератор




Пост N: 941
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 06.02.09 14:14. Заголовок: Pasha пишет: Только..


Pasha пишет:

 цитата:
Только теперь, я думаю, возникнет проблема сборки letodb для старых версий Харборов.


После вчерашних исправлений А.Кресина сервер перестал собираться для новых SVN версий Харбора.
Предлагаемое решение проблемы состоит в замене используемой Александром константы HB_VERSION_MT на
!defined( HB_LEGACY_LEVEL )



Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 810
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.03.09 11:08. Заголовок: 1) Подскажите пожалу..


1) Подскажите пожалуйста, потянет ли LetoDB 100 пользователей одновременно ?

2) Как реализовать работу LetoDB, если нужно 20 баз на отдельные предприятия ?
Нужно будет запускать 20 СЕРВЕРОВ LetoDB на СЕРВЕРЕ ? А обычный 4-ядерник потянет столько задач одновременно ?

3) А как с защитой информации ? Взломать СЕРВЕР LetoDB смогут ли ?

Заранее спасибо за ответы.

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 51
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 07.04.09 11:28. Заголовок: LetoDB Ver 0.8


У меня получилось собрать LetoDB Ver 0.8
через Harbour 1.1.0dev (Rev. 10775) и BCC58

http://93.123.24.51/letodb.zip




Спасибо: 0 
Профиль
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)



Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 834
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.04.09 21:07. Заголовок: Блин, так и никто не..


Блин, так и никто не ответил !
Ну хоть предположения свои выскажите ....

1) Подскажите пожалуйста, потянет ли LetoDB 100 пользователей одновременно ?

2) Как реализовать работу LetoDB, если нужно 20 баз на отдельные предприятия ?
Нужно будет запускать 20 СЕРВЕРОВ LetoDB на СЕРВЕРЕ ? А обычный 4-ядерник потянет столько задач одновременно ?

3) А как с защитой информации ? Взломать СЕРВЕР LetoDB смогут ли ?

Заранее спасибо за ответы.


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1091
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.04.09 08:20. Заголовок: 1. Этот вопрос надо ..


1. Этот вопрос надо выяснить эмпирическим способом

2. Нет, достаточно запустить один сервер letodb

3. Александр совсем недавно добавил шифровку пакетов в letodb с помощью криптоалгоритма blowfish

Спасибо: 0 
Профиль
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. Если использовать недавно реализованную систему аутентификации, то защита есть и с этой стороны. Сами пароли передаются зашифрованными. На мой взгляд, система достаточно надежна, хотя я не специалист в криптографии и говорить наверняка не могу.

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 837
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.04.09 15:01. Заголовок: alkresin пишет: Дос..


alkresin пишет:

 цитата:
Доступ к данным при этом можно получить только из клиентских программ, скомпилированных для работы с letodb.


А если кто-то на letodb создаст модуль работы с базами, сможет ли он испортить мои базы ?

alkresin пишет:

 цитата:
Если использовать недавно реализованную систему аутентификации, то защита есть и с этой стороны. Сами пароли передаются зашифрованными.



А вот здесь поподробней пожалуйста ! И примеры тоже дайте пожалуйста...

И еще САМАЯ БОЛЬШАЯ ПРОБЛЕМА !!! Можно ли организовать шифрование БД на сервере и передачу хотя бы текстовых данных через Интернет ЗАШИФРОВАННЫМИ, чтоб их потом можно было на клиенте РАСШИФРОВЫВАТЬ и использовать ???

Спасибо: 0 
Профиль
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. На данный момент шифруются данные, передаваемые с сервера клиенту. Данные от клиента к серверу я еще не шифровал - просто из-за лени :).

Спасибо: 0 
Профиль
wad1



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 24.04.09 08:01. Заголовок: Шифрование таблиц ср..


Шифрование таблиц средствами Harbour нормально работает при использовании SIXCDX. В Clipper мы применяли шифрованные таблицы на протяжении нескольких лет, и при переходе на Harbour критических затруднений не было.

Спасибо: 0 
alkresin
moderator


Пост N: 172
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.09 08:49. Заголовок: wad1 пишет: Шифрова..


wad1 пишет:

 цитата:
Шифрование таблиц средствами Harbour нормально работает при использовании SIXCDX.


Я как-то пробовал шифровать таблицу средствами SIXCDX под Harbour, но что-то не получалось.
А вот прямо сейчас - все вышло нормально. Так что, действительно, можно будет это дело использовать.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 173
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.09 08:51. Заголовок: Вопрос вдогонку: ес..


Вопрос вдогонку:

есть ли какие-нибудь особенности при использовании SIXCDX по сравнению с DBFCDX в Harbour, или все точно так же работает + какие-то дополнительные возможности ?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1104
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.04.09 09:15. Заголовок: alkresin пишет: ест..


alkresin пишет:

 цитата:
есть ли какие-нибудь особенности при использовании SIXCDX по сравнению с DBFCDX в Harbour, или все точно так же работает + какие-то дополнительные возможности ?



SIXCDX - это тот же DBFCDX, собранный с #define HB_SIXCDX
Как правило, при такой сборке добавлены дополнительные возможности.

ИМХО, не стоит шифровать БД непосредственно на сервере средствами SIXCDX. Только клиент letodb, имеющий права доступа к БД, будет иметь возможность получить данные из таблиц DBF. А уж какими средствами сервер это обеспечивает - это дело сервера. Шифрование таблиц здесь излишне.


Спасибо: 0 
Профиль
wad1



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 24.04.09 09:16. Заголовок: Дополнительных возмо..


Дополнительных возможностей пока не обнаружили (не особенно искали), а по поводу особенностей:
1 - В Clipper'е ПЕРЕДоткрытием таблицы нужно было установить Sx_setPass(), а в Harbоur'е - ПОСЛЕ открытия.
2 - В Harbour'е не получилось заставить работать функцию Sx_SetScope(). Все заработало после замены этой функции на OrdScope(). Хотя к шифрованию это отношения конечно не имеет.

Спасибо: 0 
Andrey
постоянный участник




Пост N: 839
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.04.09 11:09. Заголовок: wad1 пишет: Шифрова..


wad1 пишет:

 цитата:
Шифрование таблиц средствами Harbour нормально работает при использовании SIXCDX. В Clipper мы применяли шифрованные таблицы на протяжении нескольких лет, и при переходе на Harbour критических затруднений не было.



А можно пример простой показать ?
И будет ли под хХарбором это работать ?
Заранее спасибо !

Спасибо: 0 
Профиль
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, так что должно и там работать.


Спасибо: 1 
Профиль
alkresin
moderator


Пост N: 191
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.06.09 10:02. Заголовок: Вышел очередной релиз


Выложен очередной релиз - build8.
Он содержит несколько исправлений, в том числе важных.
Добавлена обработка internal error - такие возникают иногда при повреждении данных. Теперь сервер при таком событии закрывает все таблицы и записывает в letodb_crash.log информацию о том, какой >pth это натворил и с каким файлом.
В management утилитах теперь еще больше статистики.
Добавлена функция leto_IsFltOptim() - она возвращает .T., если текущий фильтр исполняется на сервере.

Спасибо: 0 
Профиль
Ответов - 193 , стр: 1 2 3 4 5 6 7 8 9 10 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 331
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет