Нет опыта в использовании ADO-шного DataSet-a в качестве передаваемого
обьекта между удаленным сервером и клиентом .
Насколько является правильной сама идея использования датасета
как передаваемого обьекта при получении данных с application-сервера
и возвращения изменений отклиента ?
У нас тут 2 точки зрения по этому вопросу дни ратуют
за использование ADO-шного DataSet-а в качестве передаваемого обьекта .
Лично я - за использование самописных контейнеров и против использования датасетов .
Мои аргументы :
1. Ремоутинг-канал предьявляет жесткие ограничения по трафику ,
и я пока не знаю , как поведёт себя DataSet , который наверняка будет
"таскать" между клиентом и сервером весь свой набор данных .
2. Контейнер позволит максимально оптимизировать потоки данных
по ремоутинг-каналам и снизить траффик в силу того , что
он есть конечный фиксированный набор типизированных двнных .
3. Непонятно , как будет работать DataSet-овский механизм
"возвращения" изменений с клиента на сервер ,
который является его основной "изюминкой" .
Кстати , в нашем случае клиент вообще не имеет доступа к SQL-серверу .
Я подозреваю , что снижение затрат при разработке системы с
использованием датасетов ( что не является еще фактом )
будет компенсироваться дополнительными затратами на оптимизацию траффика .
.NET Remoting : DataSet или контейнер .
-
- Уже с Приветом
- Posts: 469
- Joined: 31 Jul 2002 13:09
- Location: Москва
-
- Уже с Приветом
- Posts: 11332
- Joined: 30 Mar 2000 10:01
- Location: Ice Storm Town
Re: .NET Remoting : DataSet или контейнер .
ListenMeNow wrote:Нет опыта в использовании ADO-шного DataSet-a в качестве передаваемого
обьекта между удаленным сервером и клиентом .
Насколько является правильной сама идея использования датасета
как передаваемого обьекта при получении данных с application-сервера
и возвращения изменений отклиента ?
Не совсем понятно что вы называете ADO DataSet. DataSet в .Net не привязан к конкретной технологии. В том числе и к ADO.
У нас тут 2 точки зрения по этому вопросу дни ратуют
за использование ADO-шного DataSet-а в качестве передаваемого обьекта .
Лично я - за использование самописных контейнеров и против использования датасетов .
Мои аргументы :
1. Ремоутинг-канал предьявляет жесткие ограничения по трафику ,
и я пока не знаю , как поведёт себя DataSet , который наверняка будет
"таскать" между клиентом и сервером весь свой набор данных .
DataSet умеет использовать DiffGram XML что бы передавать ТОЛьКО изменения.
2. Контейнер позволит максимально оптимизировать потоки данных
по ремоутинг-каналам и снизить траффик в силу того , что
он есть конечный фиксированный набор типизированных двнных.
Тут как всегда - противоречие между еффективностью и гибкостью. Если протоколы тщательно прописаны и редко меняются может самодельные контейнеры и лучше будут. Но с DataSet часто работать проще.
3. Непонятно , как будет работать DataSet-овский механизм
"возвращения" изменений с клиента на сервер ,
который является его основной "изюминкой" .
DataSet очень гибкий механизм. Можете вручную получить изменения как DiffGram XML, послать его на сервер и там превратить его в набор SQL команд.
Кстати , в нашем случае клиент вообще не имеет доступа к SQL-серверу .
Я подозреваю , что снижение затрат при разработке системы с
использованием датасетов ( что не является еще фактом )
будет компенсироваться дополнительными затратами на оптимизацию траффика .
DataSet тоже подлежат оптимизации. Можно передавать только изменения, можно не передавать схему, можто использовать двоичную сериализацию или ZIP фильтр .
В общем трудно рекомендовать что-то одно, не зная деталей.
-
- Уже с Приветом
- Posts: 469
- Joined: 31 Jul 2002 13:09
- Location: Москва
Re: .NET Remoting : DataSet или контейнер .
Gennadiy wrote:DataSet тоже подлежат оптимизации. Можно передавать только изменения, можно не передавать схему, можто использовать двоичную сериализацию или ZIP фильтр .
В общем трудно рекомендовать что-то одно, не зная деталей.
Спасибо . Будем разбираться .
-
- Уже с Приветом
- Posts: 394
- Joined: 12 Feb 2001 10:01
- Location: USA
Re: .NET Remoting : DataSet или контейнер .
Почитайте еще и тут - http://www.rsdn.ru/article/dotnet/DotNetSerial.xmlListenMeNow wrote:Будем разбираться .