Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Технологии
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.10.2010, 10:57
leucopsis leucopsis вне форума
Прохожий
 
Регистрация: 28.10.2010
Сообщения: 4
Репутация: 10
По умолчанию Помогите определиться с архитектурой приложения

Добрый день!

Погите, пожалуйста, определиться с архитектурой приложения. Задача такая:

1) сервер - принимает данные от внешнего источника, сохраняет их в БД, производит выборку из БД с параметрами, полученными от клиента, производит некоторые математические расчеты, отправляет результаты (таблицы, сформированные по запросу, результаты математических расчетов) клиенту;

2) клиентские приложения - запускается несколько копий клиентов. Задача клиента - формирование параметров запроса, отправка их серверу на обработку, прием результатов от сервера.

С помощью какой технологии лучше и проще организовать такое приложение? Ипользуемая БД в силу специфики решаемой задачи - SQLite. Больше никаких ограничений нет. Третий день рою Инет, так и не нашел ничего подходящего. Подскажите, плиз, в каком направлении копать?
Ответить с цитированием
  #2  
Старый 28.10.2010, 11:07
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А вы уверены, что вам нужен SQL-сервер. Как я понял из описания задачи, у вас на сервере будут производится расчеты, а не выборки. Тогда зачем вам SQL? Если объем вычислений очень велик, то вам лучше мне кажется для этой задачи смотреть в сторону распределенных вычислений. Возможно будет в тему Windows HPC Server 2008.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 28.10.2010 в 11:15.
Ответить с цитированием
  #3  
Старый 28.10.2010, 11:55
leucopsis leucopsis вне форума
Прохожий
 
Регистрация: 28.10.2010
Сообщения: 4
Репутация: 10
По умолчанию

Расчеты несложные, просто они однотипные. И выборки также однотипные, поэтому хочу реализовать это все отдельной программой-сервером. А к этому серверу будут подключаться клиенты, отправлять параметры запросов и получать результаты выборки. По этим результатам у клиентов должны строится графики. И вот мне неясно, как осуществить передачу таблицы результата поиска от сервера к клиенту?

Почему нельзя организовать это в виде одной программы без разделения на сервер и клиент? Потому что в таком случае будут приходить данные и формироваться базы данных для каждой запущенной копии программы. Но все эти базы одинаковые, и мне не нужно их несколько копий. Поэтому хочу сделать программу-сервер, которая бы получала данные и формировала базу, а клиенты подключались бы к этой программе-серверу и через нее работали с БД.
P.S. Наверное, непонятно объясняю, сорри...
Ответить с цитированием
  #4  
Старый 28.10.2010, 12:25
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ага, т.е. выборки все-же предполагаются, тогда конечно надо SQL-сервер использовать, Ну а таблица-результат, это по сути и есть результат выполнения запроса. Выглядит этот процесс обычно так:
На сервере пишется хранимая процедура, допустим для получения координат построения графика функции sin(x). В процедуру передаются значение Х, шаг с которым считать, можно еще сразу передавать размер области отрисовки графика, что-бы вообще только рисовать по полученным координатам. Итогом выполнения хранимки будет таблица с координатами Х,У для построения графика. Если вы будете использовать готовый компонент построения графиков типа TChart, то там уже можно не расчитывать Х,У в хранимке, а просто массив значений передать, а компонент уже сам все красиво нарисует.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 28.10.2010, 12:58
leucopsis leucopsis вне форума
Прохожий
 
Регистрация: 28.10.2010
Сообщения: 4
Репутация: 10
По умолчанию

Угу, вы все верно понимаете и верно описали алгоритм, который я хочу реализовать. Но проблема в том, что, опять же, в силу специфики решаемой задачи, я работаю с SQLite, которая является встраиваемой БД, не использует парадигму клиент-сервер, и функции сервера придется реализовывать самому. Допустим, я напишу процедуру, которая будет осуществлять выборку по параметрам. А как потом передать результат (таблицу) в клиентское приложение?
Ответить с цитированием
  #6  
Старый 28.10.2010, 18:10
leucopsis leucopsis вне форума
Прохожий
 
Регистрация: 28.10.2010
Сообщения: 4
Репутация: 10
По умолчанию

Подумал, поискал, решил, что оптимальным будет DCOM, вот только опыта работы с ним нет. Поделитесь, пожалуйста, ссылкой, примером?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:58.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter