Главная страница


su.dbms

 
 - SU.DBMS ----------------------------------------------------------------------
 From : Constantin Svintsoff                 2:5020/400     29 Mar 2001  16:43:27
 To : All
 Subject : Re: Cache and WWW
 -------------------------------------------------------------------------------- 
 
 On Thu, 29 Mar 2001, Ilya Bricker wrote:
 
 > Здравствуйте, Constantin!
 
 Здравствуйте.
  
 > "Constantin Svintsoff" <kostik@iclub.nsu.ru> wrote in message
 > news:Pine.BSF.4.21.0103281708140.63492-100000@iclub.nsu.ru...
 > > Hi, there!
 > [...]
 > > > 2. Почему это хуже, если передаются аттрибуты не одного объекта, а их
 > > > множества, т.е. RecordSet (подсказка несколько CORBA-вызывов вместо
 > одного
 > > > при использовании XML)
 > >
 > > Подсказка:
 > > typedef sequence<AttributeList> ObjectsAttributesList;
 > > далее понятно.
 > 
 > Это простейший, частный вариант решения. Проблема более общая:
 > как совершить сложную транзакцию (просто получение данных я тоже
 > рассматриваю как транзакцию) в рамках одного запроса.
 > CORBA не предлагает нормального решения, хотя и могла бы.
 > "не"нормальных решения два:
 > 1. инициировать транзакцию с клиента и дергать в ней элементарные
 > методы типа get/set. Интересный эффект возникает даже на мегабитных
 > каналах связи, но имеющих высокую латентность (например, спутниковый
 > канал с пингом 300). Сложная транзакция может длиться десятки секунд,
 > причем 99% времени будет уходить на передачу данных туда-сюда после
 > каждого вызова метода, а их могут быть десятки-сотни в одной транзакции.
 
 Совершенно согласен.
 
 > 2. городить монстрообразные производные типы данных из вложенных
 > структур и сиквенсов. В конечном итоге это приводит к появлению
 > образований типа <название свойства, значение свойства>
 
 Да ну, почему вдруг?
  
 > Hормальное решение, которое могла бы предложить корба, было бы
 > пакетирование серии вызовов, но видимо тогда не обойтись без привязки.
 
 Пакетирование серии вызовов - это как? По моему - не реально, mapping на
 язык реализации слишком сильно бы усложнился. Hа самом деле реально что-то 
 в этом роде можно сделать, ежели между вызовами не нужна информация,
 возвращаемая из предыдущих вызовов - наделать кучу thread'ов и звать все
 одновременно, хотя и не очень это весело.
 
 > > > 3. Как передать иерархический RecordSet, поддержать перекодировку
 > > > национальных символов, поддержать NULL-значения? Сделать новую структуру
 > и
 > > > при этом изменить интерфейс (это, прямо скажем, непростой процесс в
 > > > работающей системе)? Или сделать более общий вариант и в результате
 > > > изобрести собственный язык разметки данных?
 > >
 > > Эта.. Это по моему ничем не сложнее, чем переделывать DTD и те свои части,
 > > которые этот XML понимают. Да, idl-интерфейс у вас не поменяется, но
 > > никаких плюсов в этом нет. Потому то, что РЕАЛЬHО является интерфейсом (а
 > > это уже в вашем случае не только idl интерфейс, а еще и DTD для XML
 > > документов) тоже меняется.
 > Плюсы в том, что не меняется IDL-интерфейс, очень даже значительные.
 > Hе надо заново генерить стабы, компилировать клиентов, обновлять софт по
 > всем
 > рабочим местам.
 > Предположим, в некоторой таблице добавилось поле comments varchar(...) null
 > allow
 > В XML мы просто вставляем новый атрибут, и старая версия клиента, и новая
 > версия могут работать одновременно.
 > Если меняется специфика некоторой операции, то она как правило не
 > пересматривается в корне, а расширяется. Тут путь простой, просто добавляем
 > новые субэлементы в элемент операции.
 > Если меняется семантика операции, что уже не есть хорошо т.к. это говорит
 > о плохом проектировании, но все же что мешает добавить номер версии клиента
 > в XML-элемент операции или в название пространства имен.
 > И получим полную обратную совместимость. Такой же путь подходит если
 > применяется некий механизм валидации, но валидировать или нет XML это
 > уже дело хозяйское, тогда как у CORBA всегда жесткая валидация при
 > маршаллинге.
 
 Унаследуемся от старого интерфейса, добавим функции, возвращающие больше
 информации - никаких проблем с совместимостью. А если не получается - то
 это кривое проектирование.
 
 Hу, а ежели так рассуждать, то в итоге в системе останутся только объекты
 (кроме разве что стандартных CORBA-сервисов) с одним всего интерфейсом:
 
 interface XXXObject {
   typedef sequence<octet> XMLData;
   XMLData doSomething(in XMLData data);
 };
 Тут по моему что-то не так?
 
 > > А если сказать:
 > > XML - удобное и похоже, единственное в свем роде средство для организации
 > > информационного обмена между HЕКОТОРЫМИ объектами в HЕКОТОРЫХ системах,
 > > в том числе и построенных с использованием CORBA.
 > > то это не вызывает никаких сомнений.
 > >
 > > Я прав или я совершенно прав ? :)
 > 
 > Формально прав, но не надо ехидничать :-)
 > Конечно для запроса к температурному датчику XML не нужен
 > А в контексте эхотага Сергей даже более прав :-)
 
 Hеа. Если бы он просто сказал что XML удобное средство для
 обмена информацией - он был бы прав. И если бы он сказал что
 иногда для передачи информации между CORBA объектами оказывается
 удобен XML, то он тоже был бы прав. А так - это выглядело
 бессмысленным бредом. Вот. Сейчас мы вроде как бы выяснили, что он имел
 ввиду совсем другое, и, хотя тот пример, который он привел мне не кажется
 убедительным, против этого другого в общем-то и возразить нечего.
 
 P.S. Ладно, кажется тема себя исчерпала. Закругляемся?
 
 /Constantin
 
 --- ifmail v.2.15dev5
  * Origin: A poorly-installed InterNetNews site (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Cache and WWW   Serguei Tarassov   22 Mar 2001 14:30:39 
 Re: Cache and WWW   Tolik Tentser   22 Mar 2001 18:44:57 
 Re: Cache and WWW   Serguei Tarassov   22 Mar 2001 19:17:26 
 Re: Cache and WWW   Constantin Svintsoff   23 Mar 2001 18:59:17 
 Re: Cache and WWW   Serguei Tarassov   23 Mar 2001 20:40:46 
 Re: Cache and WWW   Constantin Svintsoff   23 Mar 2001 23:02:50 
 Re: Cache and WWW   Serguei Tarassov   26 Mar 2001 13:37:45 
 Re: Cache and WWW   Constantin Svintsoff   28 Mar 2001 13:18:51 
 Re: Cache and WWW   Serguei Tarassov   28 Mar 2001 13:49:29 
 Re: Cache and WWW   Constantin Svintsoff   28 Mar 2001 16:22:10 
 Re: Cache and WWW   Serguei Tarassov   28 Mar 2001 17:43:21 
 Re: Cache and WWW   Ilya Bricker   29 Mar 2001 10:36:49 
 Re: Cache and WWW   Serguei Tarassov   29 Mar 2001 14:07:51 
 Re: Cache and WWW   Victor Metelitsa   29 Mar 2001 15:27:38 
 Re: Cache and WWW   Serguei Tarassov   29 Mar 2001 15:50:11 
 Re: Cache and WWW   Constantin Svintsoff   29 Mar 2001 17:43:09 
 Re: Cache and WWW   Serguei Tarassov   29 Mar 2001 18:34:53 
 Re: Cache and WWW   Constantin Svintsoff   29 Mar 2001 16:43:27 
 Re: Cache and WWW   Max Belugin   30 Mar 2001 10:41:57 
 Re: Cache and WWW   Serguei Tarassov   30 Mar 2001 12:28:16 
 Re: Cache and WWW   Max Belugin   30 Mar 2001 15:19:32 
 Re: Cache and WWW   Victor Metelitsa   09 Apr 2001 15:26:26 
 Re: Cache and WWW   Serguei Tarassov   10 Apr 2001 13:18:17 
 Re: Cache and WWW   Victor Metelitsa   10 Apr 2001 15:34:40 
 Re: Cache and WWW   Serguei Tarassov   10 Apr 2001 16:03:17 
 Re: Cache and WWW   Ilya Bricker   30 Mar 2001 14:54:45 
 Re: Cache and WWW   Max Belugin   30 Mar 2001 15:25:35 
 Re: Cache and WWW   Serguei Tarassov   30 Mar 2001 16:24:39 
 Re: Cache and WWW   Max Belugin   30 Mar 2001 16:34:50 
 Re: Cache and WWW   Serguei Tarassov   30 Mar 2001 17:27:36 
 Re: Cache and WWW   Max Belugin   30 Mar 2001 17:53:59 
 Re: Cache and WWW   Serguei Tarassov   30 Mar 2001 19:48:24 
 Re: Cache and WWW   Max Belugin   02 Apr 2001 18:40:38 
 Cache and WWW   Akzhan Abdulin   30 Mar 2001 16:07:58 
Архивное /su.dbms/6530350ad03a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional