![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
БД + сеть, посоветуйте! [D7]
Suslik © (2005-10-14 14:38:00)Всем респект! Хочу посоветоваться как лучше делать, это мои первые шаги в делфи, поэтоум буду рад если не обойдете вниманием.
Такая ситуация, мне нужно написать распределенное приложение: серверная часть, клиентаская и БД. Это программа для тестирования. Я вижу схему такой:
1. Каждый клиент имеет доступ к БД. А сервер лишь играет роль настройщика и через него заносятся новые данные (тесты...) в БД.
2. Только сервер имеет доступ к БД и поэтому все изменения делаются только им, в зависимости от приходящих клиентских запросов.
Скажиете какой вариант лучше или если они оба неудачны, то посоветуйте как можно это сделать лучше. Мне конечно больше нравится 2 вариант, но возможно это будет слишком сложно для первого раза.
Если все-таки 1 вариант, то:
1. с пом-ю какой технологие лучше осуществлять доступ (BDE, ADO, либо еще как)?
2. какуб БД лучше использовать
3. как тогда должен осуществляться доступ к БД по сети, видимо здесь уже обчными локальными базами не обойтись?
Если же 2 вариант, то:
1. каким образом лучше связывать две программы по сети?
2. какуб БД лучше использовать
Ну и если я незматели каких-то камней еще, то скажите, либо весьма возможно где-то просто бред написал, но это все вновинку, так что можете осуждать.
Я не прошу приводить программный код, хотя бы укажите в каком напрвлении нужно копатьи изучать информацию.
Зарание блогадарю.
Anatoly Podgoretsky (2005-10-17 10:34:00) [1]Осталось только спички достать
msguns (2005-10-17 09:40:00) [2]Ну вот, уже и шпалы привезли..
Sergey13 (2005-10-17 09:27:00) [3]2[10] Suslik (14.10.05 16:45)
> просто сервером я называю ту часть через которую учитель будет вносить новые задания, проверять результаты и определять тему теста.
Это наверное самое "интересное" определение сервера. 8-)
Плюнь ты нафик на эту 3-х звенку. Ничего сверхестественного она тебе не даст кроме гемороя. 8-)
Поставь БД (мой голос за ФайрБерд) и напиши 2 клиента - преподавательский и студенческий.
Все исключительно ИМХО.
Anatoly Podgoretsky (2005-10-14 18:30:00) [4]Suslik © (14.10.05 18:14) [25]
База, сервер приложений могут быть на одной машине, общение с базой стандартное, как в обычном приложение, результатом работы должна быть веб страница. Для этого достаточно выше указаных способов.
Вот посмотри пример использования Дельфи для веб проектов
http://www.ismart.ee/Books.dll/html?fn=index
Среда - Win2000, MSSQL, IIS, Delphi с ее веб средствами.
Suslik (2005-10-14 18:19:00) [5]Вот сам и получил ответ на свой вопрос :)
Прощу прощения за флуд
Suslik (2005-10-14 18:15:00) [6]И еще на этом форуме бывает переход на другую страницу в ветке, или он так все на одну страницу и выводит? Если так то довольно неудобно мне кажется.
Suslik (2005-10-14 18:14:00) [7]Вобщем что понял, как один из хороших вариантов:
1. На главной машине устанавливаем СУБД (Еще стоит выбрать какую).
2. Пишем программу "сервер" - только она работает с базой.
3. Чрез средсва делфи пишем веб прилоджение которое обращается к "серверу", и передает результаты тестирования.
Если что не так понял, то попровьте.
Из всего этого самым непонятным для меня осталось: как связываются между собой веб приложение и "сервер" (просто если честно, ниразу не видел), ка принимает параметры, как в веб указывается куда слать? Но думаю все прояснится когда найду материалы по этой теме. Возможно у вас есть уже подобные ссылки, то буду рад если поделитесь
Anatoly Podgoretsky (2005-10-14 18:02:00) [8]Suslik © (14.10.05 17:54) [22]
Можно конечно, но сложнее и все равно трехзвенка, нельзя давать доступа до БД, участники должны работать только с данными, наибольшую изолированость дает ВЕБ, все делается только на сервере, на клиенте любой браузер, любая ОС. Данные вводятся в форму и отсылаются серверу приложений. Например данный форум типичный представитель данной технологии, никакого прямого доступа к базе.
ANB (2005-10-14 17:59:00) [9]
> Suslik © (14.10.05 17:54) [22]
Сам оракл можно использовать как Web сервер. И в хранимках генерит странички прямо на PL/SQL.
Suslik (2005-10-14 17:54:00) [10]
> Anatoly Podgoretsky© (14.10.05 17:29) [18]
> Делай тонкого клиента, доступ только через Вед интерфейс,
> а то ваши ученики оставят от базы рожки да ножки.
Ну да таким его и хочу сделать, но почемуименно веб интерфейс? Разве в приложении нельзя все сделать осторожно, чтобы базу не повредить? Разве что только это наверное проще будет.
> ANB© (14.10.05 17:33) [19]
> Вот млин. Опять тестирование увидел - и решил, что кто то
> тоже автоматизацией тестирования софта занимается.
теперь видимо разговоры в асе по этому поводу отменяются :)
> Для сего случая достаточно просто на оракле Web интерфейс
> нарисовать и не мучится. И клиента писать не надо.
Кк сожалению с Ораклом знаком только по слухам, неразу не провобал и не видел :( Нужно почитать, а что это действительно такая удобная вещь? А запросы к ней также на языке SQL организуются?
Anatoly Podgoretsky (2005-10-14 17:51:00) [11]Предлагаю не мучаться с MySQL, а приментить что ни будь более промышленное. Но при построении трехзвенки, совсем не важно, что будет использоваться в роли базы, хоть тотже преслоутый Парадокм.
В Дельфи есть неплохая поддержка для разработки Веб приложений, в лице WebSna[, DataSnap, BizSnap начни изучение с TWebModule
Suslik (2005-10-14 17:40:00) [12]
> evvcom© (14.10.05 17:20) [16]
> Есть опыт работы
> с MySQL, значит сойдет и он. Ну а чтобы преподу постоянно
> не рефрешить наборы, действительно можно организовать трехзвенку.
Т.е. все таки предлагаете сервер (MySQL) отдельный запустить и через драйвер к нему коннектиться?
И если трехзвенку использовать, то через что подключаться к "серверу"? На басике я это пробовал через winsocket, и устанавливал постоянное соединение с "сервером". Здесь ход такой же, либо есть более лучшие способы для этого?
ANB (2005-10-14 17:33:00) [13]Вот млин. Опять тестирование увидел - и решил, что кто то тоже автоматизацией тестирования софта занимается.
Для сего случая достаточно просто на оракле Web интерфейс нарисовать и не мучится. И клиента писать не надо.
Anatoly Podgoretsky (2005-10-14 17:29:00) [14]Делай тонкого клиента, доступ только через Вед интерфейс, а то ваши ученики оставят от базы рожки да ножки.
evvcom (2005-10-14 17:20:00) [15]
> в каком-нибудь ini-файле ЛОКАЛЬНО
Ты плохо думаешь об учениках. Думаешь никто из них не сообразит подправить этот файлик в блокноте?
> Suslik
Нагрузка тут конечно небольшая и в качестве СУБД подойдет все, что угодно, хоть локальные, хоть серверные, хоть XML. Вот только удобнее все же работать с SQL. Есть опыт работы с MySQL, значит сойдет и он. Ну а чтобы преподу постоянно не рефрешить наборы, действительно можно организовать трехзвенку.
Suslik (2005-10-14 17:20:00) [16]
> Курдль© (14.10.05 16:51) [11]
> Для такой хрени идеально бы подошла VS + .NET Remoting с
> хранением данных в XML (если уж на любую СУБД - табу).
есть у меня Delphi8 с .NET. Но поставил 7 т.к. по нему материала больше да и попроще он вроде. Хотя эт интересно нужно посмотреть об этом. Но чувствую это уже будет совсем другая область программирования.
> msguns© (14.10.05 16:56) [13]
> Вся эта хрень легко реализуется средствами самого акцеса.
>2. Прога-клиент. В режиме только чтения дает преподавателю выбрать тест и >показывает вопросы. Ученик вводит ответы, которые запоминаются в >переменных проги или (на случай многосеансовых тестов) в каком-нибудь >ini-файле ЛОКАЛЬНО. По завершению теста выдает оценку.
Согласен, но преподователю, нужно хранить всю информацию о результатах всех тестов - т.е. вести базу учеников по каждому обучаемому классу. Плюс возможно каждый ученик здает тест на отдельном компе (вот об этом четсно забыл у него спросить). Можно конечно потом все эти ini файлы собирать и чтобы "сервер" собранную из них инфу заносил в базу, но опять же - это не удобно и не безопасно (ученики сейчас по части компов продвинутые).
Курдль (2005-10-14 17:02:00) [17]
> msguns © (14.10.05 16:56) [13]
> Вся эта хрень легко реализуется средствами самого акцеса.
Не вся хрень, а только ее самая не интересная часть :)
А самая интересная - в подглядывании за процессом тестирования! Ее-то аццесс и не осилит!
Андрей Жук (2005-10-14 17:00:00) [18]
>ВСЕ !!!!
>
> Никаких серверов, никаких мидасов, никаких
> доп.установок.
Шо все? Нифига не все. Еще, думаю, пригодится -
клиенты должны начать работу в некоторое определенное время, закончить - тоже в определенное время (до и после - запрещено). Или же зачем потом вносить данные об оценках? Она должна заноситься в центральную базу (возможно, в общую базу учебного заведения). Как ты себе представляешь такое в твоем варианте?
msguns (2005-10-14 16:56:00) [19]Вся эта хрень легко реализуется средствами самого акцеса.
Но если хоцца делфи, то канешна ;))
msguns (2005-10-14 16:54:00) [20]>Suslik (14.10.05 16:45) [10]
>А написать по возможности хотелось бы как можно проще. т.к. тетирование всего наверное 20 человек, да и мой уровень в этом деле ограничивает.
Самое простое (для школы):
1. В акцессе пишешь БД вопросов и ответов. К ней программу редактирования этой БД для препода. Режим редактирования - строго однопользовательский.
2. Прога-клиент. В режиме только чтения дает преподавателю выбрать тест и показывает вопросы. Ученик вводит ответы, которые запоминаются в переменных проги или (на случай многосеансовых тестов) в каком-нибудь ini-файле ЛОКАЛЬНО. По завершению теста выдает оценку.
ВСЕ !!!!
Никаких серверов, никаких мидасов, никаких доп.установок.