Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с наборами записей в трехуровневом приложении. [D6, Win2k, WinXP]


Страницы:   1 2

mvg_first ©   (2002-11-07 13:39:00) 

Подскажите как можно передавать наборы записий от сервера приложений клиенту. Поясню на примере.

Есть у меня MSSQL Server - 1-е звено, сервер приложениий обрабатывающий бизнес-логику - 2-е звено и "тонкий клиент" занимающийся только отображением данных. Т.е. трехзвенная архитектура. Теперь моя проблема.

Когда я с клиента посылаю команду - определяющую выполнение бизнес функции, сервер приложений должен обработать данные и вернуть на клиент результат. Так?
Но что делать когда у сервер приложений должен вернуть набор записей? Т.е. например объединненые таблицы по правилам бизнес-логики, с отбором по правам просмотра для конкретного пользователя.
И при этом что бы данные отобразились на клиенте в DBGrid-e?


Набережных С.   (2002-11-08 16:56:00) [1]

Еще одно. С BSS плотно работал Digitman, он тебе лучше про это раскажет.


Набережных С.   (2002-11-08 16:42:00) [2]

>mvg_first © (08.11.02 15:52)
>А если я хочу использовать SoketConnection?

Хочешь - используй, кто же запретит:). Я не очень знаком с SoketConnection, но в любом случае можно спуститься ступенькой ниже и работать напрямую с пакетами защиты. Копай в сторону SSPI, CryptoAPI. Честное слово, тема слишком велика для реального обсуждения в сети, одно цепляет за собой другое и так без конца. Найди книгу Рихтер, Кларк, "Программирование серверных приложений в Windows2000". Лучше я ничего не видел. И, кстати, не жди от сокетов какого-либо особого выигрыша, скорее наоборот, например проблемы при падении клиентов. Обычно ORPC использует UDP, и на то есть веские причины, связанные с балансом трафик/надежность/безопасность. Плюс, как я понимаю, BSS добавляет еще одно звено в цепи, что может только замедлить скорость, хотя, возможно, я ошибаюсь. Но зато с DCOM масса проблем при работе через Internet.


mvg_first   (2002-11-08 15:52:00) [3]


> Все средства есть в COM. Посмотри здесь:

А если я хочу использовать SoketConnection?


Набережных С.   (2002-11-08 15:29:00) [4]

>Demon[DZ] (08.11.02 15:09)
Ушло.


Набережных С.   (2002-11-08 15:21:00) [5]

>¤NoNaMe¤ © (08.11.02 14:31)
Думать - не значит написать, особенно для меня:) Есть пример реализации, чисто демонстрационный, его отправил.

>mvg_first © (08.11.02 15:03)
Все средства есть в COM. Посмотри здесь:
http://rsdn.ru/article/?com/comsec.xml


mvg_first   (2002-11-08 15:15:00) [6]

Как видно, не такая уж бесполезная тема оказалась.
Господа, не забрасывайте её пожалйста :). У меня еще много вопросов.


Demon[DZ]   (2002-11-08 15:09:00) [7]

2 Набережных С.
Если не трудно то и мне вышли, плиз!
slava@wess.lv


mvg_first   (2002-11-08 15:03:00) [8]

Получил, получил, на оба ящика получил :) Видимо пробелмы с NM.ru плугавый он какойто :(

To All
Да бы дискуссия не умерла, у меня еще один вопрос
Подскажите как можно шифровать пароль передаваемый при логине на Сервер приложений, и как организовывать безопасные каналы, в таких случаях? Т.е. что бы канал шифровался или ключем или еще как-нить защищался? Если подобные средства?


¤NoNaMe¤   (2002-11-08 14:31:00) [9]

2 Набережных С.

Вышли мне тоже твою статью, плиз.

на nnm@sfothome.net или kde@gmx.net


Набережных С.   (2002-11-08 14:01:00) [10]

Проблемы, скорей всего, у тебя. Отправил еще на оба. 40 К в ZIP, могу еще куда-нибудь:) Обязательно сообщи получил-не получил.


mvg_first   (2002-11-08 12:24:00) [11]

To Набережных С
Не получил я ничего, похожего, да и вообще никаких файлов не приходило (кроме рассылок) со вчерашнего дня. Может какие то проблемы ???

Попробуй кинуть еще на эти
mvg@0day.ru
mvgfirst@myrealbox.com


asmith   (2002-11-07 21:23:00) [12]

Если необходимо передать табличные данные, самый простой способ - это использовать на сервере srvClientDataSet и передавать ClientDataSet.Data, на клиенте принять через Variant и присвоить cliClientDataSet.Data := VarData


Набережных С.   (2002-11-07 21:22:00) [13]

Ушло. Будут вопросы - спрашивай. Правда, ответы могут быть с задержкой, по наличию времени, но будут:)


mvg_first   (2002-11-07 20:25:00) [14]

to Набережных С
Вышли пожалуйста с удовольствием, почитаю, может даже удасться разобраться. В любом случае смогу ведь задать уточняющий вопрос?
Мыло для посылки - под ником :)


Набережных С.   (2002-11-07 18:37:00) [15]

mvg_first © (07.11.02 17:01)
Нет, чтобы не задумывался - не получится, если клинту не подойдет представление всех данных в строковом виде. Единственный способ этого добиться без компонентов MIDAS - писать собственный маршаллинг, стандартный или через IMarshal. Я думал написать небольшую статью по использования для этого IMarshal, даже пример подготовил, но не уверен, что тема будет интересна многим, все-таки она довольно специфична. Если хочешь - могу выслать, только надо чуть подчистить. Ну а в принципе, через MIDAS ты можешь отправлять что угодно и корректировать как угодно, надо только хорошо разобраться с этим самым MIDAS :) Еще вариант - свой интерфейс с идеологией IEnum, но тут будет много коротких сетевых пакетов при невозможности их оптимизации по размеру. Также можно использовать COM-объект в DLL для разбора пакета на клиенте, но клиенту придется этот объект подключать и использовать вручную. Ну и, наконец, можно написать обычный компонент, который клиенты будут использовать для связи и обмена с сервером.


mvg_first   (2002-11-07 17:01:00) [16]

Istrings - позволит мне работать с наборами записей в содержащии поля разных типов данных? Т.е. если я на сервере приложений из Таблицы выберу 3000 записей а в таблице есть различные колонки, то смогу я через IStrings передать эти данные на клиент, так что бы клиент не задумывался о способе их преобразования?

Мой вопрос больше касается того как культурно отобразить данные на клиенте используюя DBGrid ориентированные компоненты.

------
Оффтоп.
Рассовых комплексов, нет но подумалось что они могут присутствовать у людей посещающих этот форум. Я сам из украины, а судя по форуму "Потрепаться" у некоторых предвзятое отношение к таким как я.
P.S. Не воспринимайте это как наезд, я никого не хотел обидеть.


Набережных С.   (2002-11-07 16:41:00) [17]

Посмотри в сторону интерфейса IStrings. Ну и про Variant не забывай.

>меня игнорируют? Почему? Рассовая дискриминация?
У тебя комплексы на рассовой почве?


mvg_first   (2002-11-07 16:32:00) [18]

Не знаю, мидас я еще не рассматривал, обязательно прочту, но на всякий случай спрошу сразу. Можно ли используя стандартный провайдер, на сервере приложений выполнить операции допустим умножить колонку во всей таблице на 2 и передать результат на клиент? Или убрать каждую вторую запись?


Erik   (2002-11-07 16:06:00) [19]

А чем стандартный провайдер тебя несутраивает!? Он занимается передачей данных туда и изменений назад назад. Read Help Midas.


mvg_first   (2002-11-07 15:28:00) [20]

меня игнорируют? Почему? Рассовая дискриминация? Или тому есть другие причины?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо