|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Vladimir Dozen 2:5020/400 11 Feb 2001 21:46:17 To : Boris Tobotras Subject : Re: Аналоги ActiveX, OLE, COM технологий -------------------------------------------------------------------------------- Второй раз отвечаю -- fido7.ru глотает письмо и как в /dev/null :((( Уже не первый раз замечаю. > А чем dcom лучше corba? 1. Встроенным reference-counting; в .NET MS отказалась и от этого, пользуясь time lease -- если объект не хотят N минут, то убиваем его -- но в CORBA этого просто нет: создаем объект, он кушает гиг рамы и все четыре процессора, а убить его -- никак. Автор сервера может предусмотреть что-то вроде kill(), но и это в силу специфики CORBA может не помочь -- пока есть ongoing requests, сервант не убьют. 2. Цельностью; спецификация CORBA -- это много-много (~800) страниц, где описаны только базовые вещи; еще есть масса сервисов, многие из которых дублируют друг друга и ни один не обязателен к реализации; перенося продукт на новый ORB, никогда не знаешь, что там есть и чего нету. 3. Оптимизацией; в COM вызов объекта in-process происходит другим способом, нежели вызов объекта в другом адресном пространстве, а именно прямым вызовом метода. В CORBA генерится полноценный вызов удаленного объекта с маршаллингом и демаршаллингом -- so-called collocated call; в результате чуть ли не основной задачей разработчика становится избегание вызова одного объекта другим. Кстати, и размер reference -- "указателя" на объект в CORBA типично занимает несколько сотен байт, и пересылается при каждом вызове. 4. Размером библиотек; я не могу сейчас посмотреть на размер *com.dll, но размер библиотеки Orbacus под linux -- полтора десятка метров, под HPUX -- две сотни (sic!) метров. Такими же становятся и приложения. В дебаггер, кстати, иногда не лезут. 5. DCOM таки тоже есть под unices, под какие-то коммерческие. 6. CORBA имеет до ужаса кривой маппинг в C++: например, вместо std::string или его derivative, используется свой примитивный CORBA::String, который еще и освобождать надо руками, как в C; Про представление sequence<smth> как vector<smth> я уже и не говорю -- имеем CORBA::*, которые опять же неудобны. 7. Если посмотреть на описание некоторых сервисов, то становится понятно, что способы мышления несовместимы с жизнью: Name Service, например, вместо привычной древовидной структуры предлагает как бы дерево, но и не дерево, а нечто странное, что я словами описать не берусь -- берегу голову. Во-всяком случае, пользоваться этим неудобно. > Lev> больше, чем MS'овские поделки, валится и глючит. Hу, "валится и глючит" -- это проблемы реализации. > VisiBroker и Orbacus пробовал? Они у нас в работе. Мелкие проблемы несовместимости есть, но в целом (исключая все вышенаписанное ;) ) жалоб нет. -- dozen @ home --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/144899f5135fe.html, оценка из 5, голосов 10
|