Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: разработка клиент-серверного приложения в delphi  (Прочитано 20729 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Fatal_Error
Участник

ru
Offline Offline
Пол: Мужской

« : 07-12-2005 08:32 » 

Здравствуйте. Я решил создать приложение с архитектурой клиент-сервер..у меня уже разработана прога..но в локальном вариенте..с использованием локальной базы парадокс...подскажите с чего мне начать переход?
Записан
Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 07-12-2005 17:48 » 

По сути у тебя уже готовая клиент - серверная программа.
Клиент - это Дельфи-программа.
Сервер - это СУБД. Просто файлы БД лежат локально, а можно вынести на другой комп.

Вопрос на какую БД ориентируешся?
Если не "сетевую", т.е. выделяется копьютер на котором работает сервер БД, то одно, если на "Акцесс" - немного другое.

А начинать я думаю нужно с подключения к серверу БД, точнее к БД. Например для Oracle нужно ставить клиент БД, который уже сам весит немало. Далее подходлят-ли стандартные компоненты для работы с этим сервером БД? хотя 99% подходят.

Дошло тут, что возможно нужно определиться с постановкой задачи. Если клиент-серверное приложение, то опять-же 99% вероятности, что ее будет пользовать несколько клиентов. Т.е. нужно так поставить задачу, чтобы один пользователь не стирал только-что созданное другим. А поскольку это не 3-х звенная система, то вся эталогика ложится на клиента.

Уфф.. что -то меня пронесло.. Улыбаюсь) Извиняюсь если непонятно написал.
Записан

Ёжики, это не только ценные шкурки...
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 07-12-2005 21:19 » 

К счастью, не все так просто как описал Igel. Улыбаюсь Иногда и проще, и дешевле реализовать совершенно новый клиент-серверный проект, чем осуществить переход с локальных баз. Собственно написание клиента в Delphi, мало чем будет отличаться как для одной так и для другой технологии, но манипуляции данными могут разниться значительно. Поэтому, основные усилия скорее всего придется приложить на адаптацию данных под новые условия их использования, частичный или полный перенос бизнес-логики с клиента на сервер, а так-же изменение способов манипулирования данными клиентами.  Чем ближе исходные базы по своей организации подходили к возможности применения SQL, тем легче будет перейти на клиент-сервер. (Imho)   
Записан

С уважением, Oldy.
Fatal_Error
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 08-12-2005 01:26 » 

Здравствуйте Oldy. Для доступа к базе данных PARADOX я использовал компанент TQuery. т.е управлял базой данных через SQL запросы.. По постановки задачи мне нужно разработать SQL сервер. Тоесть как я понял сначало надо разработать эту базу, например в MS SQL server 2000? Да? А если говорить о том чтобы скинуть базу на один комп...то здесь в качесте этой базы может выступать и база данных PARADOX..хоть она и локальная посути..но обший досуп к данным обеспечивает..конечно при этом идёт большая нагрузка на сеть при большом количестве клиентов..да и если пути незаданы по канстанте то тож могут быть проблемы..посути..у меня разработан файл-сервер..то.есть база данных PARADOX уже находится на одной машине(сервер)..а другие клиенты..просто указывают к ней путь..по константе..и работают с ней..Но в данном случае..нельзя наверное разграничить права доступа?...да ещё целый вагон недостатков:)
« Последнее редактирование: 08-12-2005 01:44 от Fatal_Error » Записан
RomCom
Опытный

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 08-12-2005 02:27 » 

PARADOX лучше вообще не применять для клиент-серверной архитектуры (imho).
Полностью согласен с Oldy, нужно перенести базу на действительно серверную (Oracl, Interbase, MSSQL).
Выбор SQL-сервера зависит от сложности структуры, величины базы и требуемой сложности запросов к ней. Самый простой вариант для разработки клиента на Delphi, как мне кажится, использовать Interbase.
Записан

R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
Fatal_Error
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 08-12-2005 02:44 » 

Здравствуйте! RomCom..я и не собираюсь применять базу данных PARADOX для разработки клиент-сервера..я применил уже её для разработки файл-сервера..я лишь хочу уточнить с чего именно начать переход на базу данных MSSQL??  с базы данных PARADOX. С чего начать, с разработки самой базы? Хотел уточнить основные моменты? И трудности связанные с таким преходом?
P/s... А насчёт того что бы взять за основу Interbase..я с вами согласен. я хочу взять за основу MSSQL  так как вся наша кантора основывается на нём..и нет смысла..бросать иголку в стог сена..)) типо IB в MSSQL..
« Последнее редактирование: 08-12-2005 03:24 от Fatal_Error » Записан
Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 08-12-2005 04:33 » 

"..Но в данном случае..нельзя наверное разграничить права доступа?..."
Можно.
1. На уровне клиента. Есть ряд недостатков, но можно где-то хранить учетные записи, например в той-же БД.
2. На уровне БД. Когда доступ к таблицам ограничен на уровне СУБД. Администрирование та еще штучка. И клиент не должен вылетать, когда СУБД возвращает отказ к использованию.
3. ИМХО самое приемимое на уровне 3-х звенной архитектуры. Есть клиент, сервер и СУБД. Клиент работает с сервером например без запросов, а на уровне объектов. Сервер на основе объектов, бизнес-логики и прав формирует запросы и возвращает клиенту результат.  Нагрузка на сеть при правильной организации уменьшается в разы. Основная часть данных фигурирует между сервером и СУБД, которые могут быть на одной машине.
Записан

Ёжики, это не только ценные шкурки...
Fatal_Error
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 08-12-2005 05:02 » 

Ребята..я не про то талкую..я хочу перейти с базы PARADOX на базу MSSQL SERVER...с чего начать?
Записан
Fatal_Error
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 08-12-2005 05:06 » 

Igel . я стабой согласен..особенно с пунктом 3...это реалиционный доступ к данным...он у меня и организован через компанент TQuery. тока я хочу перейти с PARADOXа на SQL SERVER.. Что я должен взять во внимание?

Тока хочу дополнить..пункт три..вернее сказать проще..ты предлогаешь реализовать обработку данных через хранимые процедуры? я так понял?
« Последнее редактирование: 08-12-2005 05:12 от Fatal_Error » Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 08-12-2005 07:46 » 

Fatal_Error, начните с переноса данных из локальных баз в БД SQL-сервера. По ходу переноса продумывайте какие функции управления данными и бизнес-логики следует отдать серверу. 
Записан

С уважением, Oldy.
Fatal_Error
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 08-12-2005 07:59 » 

Oldy...а вот ещё одно в чём я сомниваюсь..позволяет ли delphi///работать с SQL серверной базой нетолько посредствам языка SQL...может там есть какиенибудь компаненты? Чтобы не писать муторные запросы)
Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 08-12-2005 11:13 » 

Хмм...
Вообще-то многое зависит от того какой сервер Вы выберете, и как намерены с ним работать. К примеру с MS SQl сервером можно работать через ODBC, ADO, BDE, API ну и наконец - огромное количество всевозможных компанентов, которые буквально "валяются" в интернете. Каждый из перечисленных интерфейсов иммет различные возможности в том числе и Query Builder: например TQuery (BDE). Компаненты сторонних разработчиков лучше не обсуждать, ибо здесь "кто во что горазд". Улыбаюсь 
Записан

С уважением, Oldy.
Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 08-12-2005 16:45 » 

Igel . я стабой согласен..особенно с пунктом 3...это реалиционный доступ к данным...он у меня и организован через компанент TQuery.
Хмм, не слышал такого термина "реляционный доступ к данным". Кто знает - просветите.
Может это синоним 3-х звенной архитектуры, но вроде одним TQuery не организовать.
Система состоит из 3-х частей:
1- клиент - пользовательская часть
2- сервер - реализует бизнес логику, доступы и пр...
3- сервер БД  (собственно СУБД)
1 - и второе могут связываться как угодно, как я сказал могут объектами обмениваться. А вот 2 и 3, как правило, насколько позволяет СУБД

тока я хочу перейти с PARADOXа на SQL SERVER.. Что я должен взять во внимание?

Oldy наверное лучше раскажет. Я со SQL SERVER не работал, специфики не знаю. Хотя, если ты не админ. базы данных, а просто разработчик, то тебе много и не нужно знать (я вот не знаю, хотя по чуть-чуть расширяю горизонты).
Значит так, самое простое - просто перенести базы из одной среды в другую. (тут уже много подводных камней)
А вот на что обратить внимания пока не знаю... Как-то, не обращал наверное! Улыбаюсь)

Записан

Ёжики, это не только ценные шкурки...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines