Технология DataSnap

  • Автор темы sunzh
  • 2652
  • Обновлено
  • 15, Jan 2011
  • #1
Заманчиво спроектировать распределенную инф.

систему построенную полностью на инструментарии Windows.

Т .е . без установки стороннего ПО. Рассматриваю такую связку (Delphi): На сервере: ADOconnection к локальному набору данных, datasetprovider. Клиент: DCOMconnection, clientdatasource.

компоненты отображения данных. С использованием модели BriefCase.

Вобщем технология DataSnap в чистом виде. Плюсом ко всему на стороне клиенты планируется реализовать связь с ГИС (геоинформационной системой) Есть-ли у кого-то опыт подобной реализации? з.ы. В разрезе использования в малой локальной сети.

sunzh


Рег
13 Jan, 2011

Тем
1

Постов
6

Баллов
16
  • 16, Jan 2011
  • #2
Многа умных букаф. А если серьёзно - задлянафига? Зачем BriefCase в распределённой системе? БД+репликация не вариант?
 

megaevgen


Рег
05 May, 2009

Тем
0

Постов
7

Баллов
7
  • 16, Jan 2011
  • #3
BriefCase для сессионной работы с данными.

BriefCase - это не только portable наборы данных.

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

Мое видение ситуации - эти некоторые (в том числе и я) скорее всего занимаются разработкой коммерческого ПО, поддержкой которого будет заниматься непосредственно пользователь.

А т.к. администрирование и настройка СУБД пока не входит в обязательную программу общего среднего образования , желательно на выходе получить инф.

систему с минимальным набором стороннего ПО (оптимально - вообще без) и интуитивно-понятным администрированием.

Преимущества Data Snap (ИМХО) - "все включено" в ОС и логику приложения, пусть она медленее чем ФБ к примеру, но использование BriefCase позволяет снизить нагрузку на сеть, т. к. работа идет с локальным набором данных в течение сеанса.

Задача - создать распределенную ИС на 2-10 рабочих станций с упомянутыми выше условиями.
 

sunzh


Рег
13 Jan, 2011

Тем
1

Постов
6

Баллов
16
  • 16, Jan 2011
  • #4
Что касается клиента: FB Embedded в помощь. Локальное хранилище и не требуется администрирование. Возможности настоящей СУБД никогда не лишние
 

megaevgen


Рег
05 May, 2009

Тем
0

Постов
7

Баллов
7
  • 17, Jan 2011
  • #5
Что касается клиента: FB Embedded в помощь. Локальное хранилище и не требуется администрирование. Возможности настоящей СУБД никогда не лишние


Спасибо за совет.

Но все же тема создана про DataSnap.

Давайте обсудим такую реализацию.

Приложение-сервер через ADO компонеты (например ADOquery и ADOCommand) связывается с локальным (для сервера) набором данных посредством SQL-запросов, т. е. сервер общается с локальной БД как с с SQL сервером.

Связывание таблиц и запросов тоже происходит через SQL.

(запросы типа: Select * from mastertable, detailtable where mastertable.id=detailtable.master_id) На стороне клиента ClientDataSource'ы получают эти данные через DCOMConnection. Это вроде как и не файл-серверная ИС, но и не полноценная распределенная трехуровневая ИС типа Клиент-Сервер.

Тем не менее клиенты получают только запршенную информация.

т. е. ИС функционирует как Клиент-Сервер.

Хотя бы просто теоретически - насколько это эффективно и быстро?

Обязательно-ли (с точки зрения эффективности) на сервере использовать query- компоненты и SQL-связывание, или можно использовать обычные компоненты доступа и определить связи между таблицами через object inspector? Как правильно настроить при этом компоненты?

Возможно-ли подключиться к данным через ODBC, без использования BDE (BDE позволяет использовать драйверы ODBC)?

Это опять же к теме построения ИС средствами Windows.

З. Ы. Извините если вопросы тупые.

Я не профи, только начинаю.
 

sunzh


Рег
13 Jan, 2011

Тем
1

Постов
6

Баллов
16
  • 23, Jan 2011
  • #6
Проштудировал тему

Да для малых сетей Data Snap - неплохой вариант.

Схема такая:

На сервере реляционный доступ к локальному набору данных (Access - ADO) +бизнес правила+методы COM-интерфейсов для расширения функциональности+callback's как механизм событий сервера.

На клиенте - clientdataset'ы и компоненты отображения.

Плюсы:

Никакого стороннего ПО (кроме своего)

Возможность использования BriefCase

Приступаю к реализации, модель БД почти готова.
 

sunzh


Рег
13 Jan, 2011

Тем
1

Постов
6

Баллов
16
  • 13, Jun 2016
  • #7
Зачем Вам вообще трехзвенка, возьмите UniDac, он позволяет подключиаться к СУБД без установленного клиента
 

dmitrypascal


Рег
30 Jul, 2010

Тем
0

Постов
6

Баллов
6
  • 28, Dec 2016
  • #8
Начиная с Delphi 2010 нет никаких проблем с созданием клиента и сервера, на клиенте размещаем компоненты dbExpress у которого провайдером БД служит DataSnap, а сервер строим как DataSnap сервер и тоже не имеем никаких проблем за исключением маршалинга собственных объектов, но и это решаемая проблема
 

StrikerLoner


Рег
24 Jul, 2009

Тем
0

Постов
8

Баллов
8
  • 04, Jan 2017
  • #9
Позвольте мне высказаться.

Если все равно планируете гонять по сети датасеты, нафига вообще уровень сервера приложений делать.

Лишнее звено (передаст) - это тормоз будет и по коду будет работы больше.

Это заманчиво и красиво вначале а потом, с ростом объема запрашиваемых данных.

(а в ГИС так и будет)
 

test1c


Рег
25 Jul, 2010

Тем
1

Постов
23

Баллов
33
  • 05, Jan 2017
  • #10
ИМХО: согласен с test1c, трех звенка в современном мире интересна только когда до основного сервера не быстрый канал связи.
 

Error_999


Рег
25 Dec, 2012

Тем
1

Постов
12

Баллов
22
  • 25, Jan 2017
  • #11
Error_999, post: 727668:
ИМХО: согласен с test1c, трех звенка в современном мире интересна только когда до основного сервера не быстрый канал связи.
Трёхзвенка удобна если клиент на разных платформах будет.
 

sashok74


Рег
24 Jul, 2013

Тем
2

Постов
14

Баллов
34
Тем
49554
Комментарии
57426
Опыт
552966

Интересно