Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];
ВнизРабота с наборами записей в трехуровневом приложении. Найти похожие ветки
← →
mvg_first (2002-11-07 13:39) [0]Подскажите как можно передавать наборы записий от сервера приложений клиенту. Поясню на примере.
Есть у меня MSSQL Server - 1-е звено, сервер приложениий обрабатывающий бизнес-логику - 2-е звено и "тонкий клиент" занимающийся только отображением данных. Т.е. трехзвенная архитектура. Теперь моя проблема.
Когда я с клиента посылаю команду - определяющую выполнение бизнес функции, сервер приложений должен обработать данные и вернуть на клиент результат. Так?
Но что делать когда у сервер приложений должен вернуть набор записей? Т.е. например объединненые таблицы по правилам бизнес-логики, с отбором по правам просмотра для конкретного пользователя.
И при этом что бы данные отобразились на клиенте в DBGrid-e?
← →
mvg_first (2002-11-07 14:51) [1]Господа? Я задал тяжелый вопрос? У этого вопроса нет никаого решения? Не молчите плиз.
← →
mvg_first (2002-11-07 15:28) [2]меня игнорируют? Почему? Рассовая дискриминация? Или тому есть другие причины?
← →
Erik (2002-11-07 16:06) [3]А чем стандартный провайдер тебя несутраивает!? Он занимается передачей данных туда и изменений назад назад. Read Help Midas.
← →
mvg_first (2002-11-07 16:32) [4]Не знаю, мидас я еще не рассматривал, обязательно прочту, но на всякий случай спрошу сразу. Можно ли используя стандартный провайдер, на сервере приложений выполнить операции допустим умножить колонку во всей таблице на 2 и передать результат на клиент? Или убрать каждую вторую запись?
← →
Набережных С. (2002-11-07 16:41) [5]Посмотри в сторону интерфейса IStrings. Ну и про Variant не забывай.
>меня игнорируют? Почему? Рассовая дискриминация?
У тебя комплексы на рассовой почве?
← →
mvg_first (2002-11-07 17:01) [6]Istrings - позволит мне работать с наборами записей в содержащии поля разных типов данных? Т.е. если я на сервере приложений из Таблицы выберу 3000 записей а в таблице есть различные колонки, то смогу я через IStrings передать эти данные на клиент, так что бы клиент не задумывался о способе их преобразования?
Мой вопрос больше касается того как культурно отобразить данные на клиенте используюя DBGrid ориентированные компоненты.
------
Оффтоп.
Рассовых комплексов, нет но подумалось что они могут присутствовать у людей посещающих этот форум. Я сам из украины, а судя по форуму "Потрепаться" у некоторых предвзятое отношение к таким как я.
P.S. Не воспринимайте это как наезд, я никого не хотел обидеть.
← →
Набережных С. (2002-11-07 18:37) [7]mvg_first © (07.11.02 17:01)
Нет, чтобы не задумывался - не получится, если клинту не подойдет представление всех данных в строковом виде. Единственный способ этого добиться без компонентов MIDAS - писать собственный маршаллинг, стандартный или через IMarshal. Я думал написать небольшую статью по использования для этого IMarshal, даже пример подготовил, но не уверен, что тема будет интересна многим, все-таки она довольно специфична. Если хочешь - могу выслать, только надо чуть подчистить. Ну а в принципе, через MIDAS ты можешь отправлять что угодно и корректировать как угодно, надо только хорошо разобраться с этим самым MIDAS :) Еще вариант - свой интерфейс с идеологией IEnum, но тут будет много коротких сетевых пакетов при невозможности их оптимизации по размеру. Также можно использовать COM-объект в DLL для разбора пакета на клиенте, но клиенту придется этот объект подключать и использовать вручную. Ну и, наконец, можно написать обычный компонент, который клиенты будут использовать для связи и обмена с сервером.
← →
mvg_first (2002-11-07 20:25) [8]to Набережных С
Вышли пожалуйста с удовольствием, почитаю, может даже удасться разобраться. В любом случае смогу ведь задать уточняющий вопрос?
Мыло для посылки - под ником :)
← →
Набережных С. (2002-11-07 21:22) [9]Ушло. Будут вопросы - спрашивай. Правда, ответы могут быть с задержкой, по наличию времени, но будут:)
← →
asmith (2002-11-07 21:23) [10]Если необходимо передать табличные данные, самый простой способ - это использовать на сервере srvClientDataSet и передавать ClientDataSet.Data, на клиенте принять через Variant и присвоить cliClientDataSet.Data := VarData
← →
mvg_first (2002-11-08 12:24) [11]To Набережных С
Не получил я ничего, похожего, да и вообще никаких файлов не приходило (кроме рассылок) со вчерашнего дня. Может какие то проблемы ???
Попробуй кинуть еще на эти
mvg@0day.ru
mvgfirst@myrealbox.com
← →
Набережных С. (2002-11-08 14:01) [12]Проблемы, скорей всего, у тебя. Отправил еще на оба. 40 К в ZIP, могу еще куда-нибудь:) Обязательно сообщи получил-не получил.
← →
¤NoNaMe¤ (2002-11-08 14:31) [13]2 Набережных С.
Вышли мне тоже твою статью, плиз.
на nnm@sfothome.net или kde@gmx.net
← →
mvg_first (2002-11-08 15:03) [14]Получил, получил, на оба ящика получил :) Видимо пробелмы с NM.ru плугавый он какойто :(
To All
Да бы дискуссия не умерла, у меня еще один вопрос
Подскажите как можно шифровать пароль передаваемый при логине на Сервер приложений, и как организовывать безопасные каналы, в таких случаях? Т.е. что бы канал шифровался или ключем или еще как-нить защищался? Если подобные средства?
← →
Demon[DZ] (2002-11-08 15:09) [15]2 Набережных С.
Если не трудно то и мне вышли, плиз!
slava@wess.lv
← →
mvg_first (2002-11-08 15:15) [16]Как видно, не такая уж бесполезная тема оказалась.
Господа, не забрасывайте её пожалйста :). У меня еще много вопросов.
← →
Набережных С. (2002-11-08 15:21) [17]>¤NoNaMe¤ © (08.11.02 14:31)
Думать - не значит написать, особенно для меня:) Есть пример реализации, чисто демонстрационный, его отправил.
>mvg_first © (08.11.02 15:03)
Все средства есть в COM. Посмотри здесь:
http://rsdn.ru/article/?com/comsec.xml
← →
Набережных С. (2002-11-08 15:29) [18]>Demon[DZ] (08.11.02 15:09)
Ушло.
← →
mvg_first (2002-11-08 15:52) [19]
> Все средства есть в COM. Посмотри здесь:
А если я хочу использовать SoketConnection?
← →
Набережных С. (2002-11-08 16:42) [20]>mvg_first © (08.11.02 15:52)
>А если я хочу использовать SoketConnection?
Хочешь - используй, кто же запретит:). Я не очень знаком с SoketConnection, но в любом случае можно спуститься ступенькой ниже и работать напрямую с пакетами защиты. Копай в сторону SSPI, CryptoAPI. Честное слово, тема слишком велика для реального обсуждения в сети, одно цепляет за собой другое и так без конца. Найди книгу Рихтер, Кларк, "Программирование серверных приложений в Windows2000". Лучше я ничего не видел. И, кстати, не жди от сокетов какого-либо особого выигрыша, скорее наоборот, например проблемы при падении клиентов. Обычно ORPC использует UDP, и на то есть веские причины, связанные с балансом трафик/надежность/безопасность. Плюс, как я понимаю, BSS добавляет еще одно звено в цепи, что может только замедлить скорость, хотя, возможно, я ошибаюсь. Но зато с DCOM масса проблем при работе через Internet.
← →
Набережных С. (2002-11-08 16:56) [21]Еще одно. С BSS плотно работал Digitman, он тебе лучше про это раскажет.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.015 c