|
|
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Может кто просветит, почему столь мощная технология COM+ столь редко используется в VB и ASP - проектах? В чем ее слабость - в сложностях настройки компонентов или в ограничениях бейсика (поддержке событий, например). Взял несколько раритетных книг по данной тематике - пытаюсь разобраться и применить. Может зря трачу время и силы? Буду рад любой информации от уважаемых Гуру ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 17:54 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Дан Эпплман, известный как Гуру, еще 5 лет назад заявил, что и COM, и COM+, и др. подобные технологии не только устарели, не успев толком прижиться, но и гавно полное. Если интересно подробнее, сделай запрос в поисковике по "Appleman" и "COM"... я лично в подробности не вдавался... :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 18:08 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Абросов ЮрийМожет кто просветит, почему столь мощная технология COM+ столь редко используется в VB и ASP - проектах? Собственно, а с чего вы взяли что "редко используется" ? Там где надо, там и используется :) Может просто не так часто находил лись задачи, где это было надо ? Абросов Юрий Взял несколько раритетных книг по данной тематике - пытаюсь разобраться и применить. Может зря трачу время и силы? Вы же сами написали "раритетных". Вот вам и ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 18:23 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
COM+ имеет смысл использовать при большой нагрузке на сервер. В asp смысла использовать нет - IIS и так под COM+ крутится. А насчет сложности настройки - в саму точку. Поддержку событий тоже можно сделать, но ее еще сложнее настроить. Мне, например, так и не удалось даже на одном и том же компе. Кроме того многие файерволлы блокируют Remote Procedure Call, необходимый для com+. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 11:09 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Letter_D: Вот именно, что не вдавался в подробности. Я читал его (Эпплмана) "Guide" - там ничего нет по использованию COM+. Так что где он выражал свое отношение к данной технологии и какие аргументы приводил? И особенно удивляет, по Вашему высказыванию, его отрицательное отношение к COM, на котором весь VB и построен. Будьте добры приводить первоисточник после столь громких заявлений. Один1 : Не согласен с Вами - таких задач немеряно. Технология же COM+ предполагается для использования в распределенных приложениях и Интернет посредством ASP. Возможно эта технология вытесняется JAVA, котроый изначально ориентирован на создание таких приложений. И кроме того набирает обороты нетовские WEB-сервисы. И насчет раритетов. Раритетами становятся не только неиспользуемые издания, но и не модные, т.е. не бестселлеры. И вообще, джентльмены, почему такая низкая активность - неужели топик неинтересный ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 11:23 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Antonariy: Вот это уже похоже на серьезные аргументы. А насчет ASP я не понял - почему не нужно использовать COM+? Компоненты же вызываются как объекты ASP. Может имеется ввиду не обязательностьиспользования именно ASP для интернет-приложений, скажем PHP или Perl? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 12:13 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
В книге "Переход на VB.NET" Дан Эплман долго и старательно объясняет что .NET - это не есть очередное новое название для давно устаревшей вещи (как любит это делать микрософт). При этом "нечаянно" забрасывает камнями всю СОМ. Все знают как трудно освоить СОМ в дельфи или С++. И, мне кажется, лишь эта сложность заставляет произносить фразы о "мощности СОМ". Наверно словосочетание "столь мощная технология СОМ" все же не более чем клише. В VB6 очень просто создавать СОМ-компоненты. Есть соблазн этим воспользоваться. Но есть пара оговорок, пара риторических вопросов: "а как с сопровождением проекта другими программистами?" и "а каково соотношение (усилия_на_освоение/эффективность) COM в сравнении с дотнет?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 12:18 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Абросов Юрий Один1 : Не согласен с Вами - таких задач немеряно. Технология же COM+ предполагается для использования в распределенных приложениях и Интернет посредством ASP. Возможно эта технология вытесняется JAVA, котроый изначально ориентирован на создание таких приложений. И кроме того набирает обороты нетовские WEB-сервисы. Я не готов дать сколь либо приемлемую оценку слову "немеряно", п.є. спорить не буду. Немеряно, значит немеряно. Вы правы, говоря, что COM+ создавался для применения в распределенных приложениях (фактич. являлся развитием DCOM + MTS). Сейчас MS предлагает совсем другие решения для этих задач: Remoting (к-й тоже уже уступает Indigo свое место) и те же Web сервисы. Т.о. даже если не говорить о степени распространенности приложений использующих COM+, в градации MS эта технология - (поза)вчерашний день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 12:18 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Абросов Юрий А насчет ASP я не понял - почему не нужно использовать COM+? Компоненты же вызываются как объекты ASP. Может имеется ввиду не обязательностьиспользования именно ASP для интернет-приложений, скажем PHP или Perl?Имеется ввиду, что Internet Information Server, обрабатывающий asp-скрипты, сам работает под COM+, соответственно vb-компоненты, которые он может использовать, автоматически попадают в контекст COM+, и дополнительно для этого ничего не нужно делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 12:56 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Абросов Юрий Технология же COM+ предполагается для использования в распределенных приложениях и Интернет посредством ASP.Неверно. Технология DCOM предназначена для вызова методов com-классов, установленных на другом компьютере, а MTS занимается обработкой пула соединений с базой данных и упорядочиванием транзакций. А COM+ - это два в одном. Например, подключаются к SQL серверу 200 клиентов. Без COM+ сервер должен поддерживать 200 соединений да еще выстраивать их транзакции, а каждое соединение отжирает приличную долю ресурсов. При наличии серверной библиотеки, заточенной под COM+, вся эта деятельность переклатывается на нее. COM+ сам решает сколько соединений открыть и как выстроить транзакции, чтобы оптимально использовать ресурсы компьютера. К интернету и распределенным приложениям COM+ отношения не имеет, он работает только в локальной сети. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 13:21 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Antonariy: К интернету и распределенным приложениям COM+ отношения не имеет, он работает только в локальной сети. Ага, так вот где собака порылась. Стало быть, это и есть "узкое" место данной технологии ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 13:36 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Worobjoff: А вот где, интересно, этот самый "Переход на VB.NET" Дана Эплмана можно найти? Не подскажете ли, может есть сылка где на форуме ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 13:41 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
авторСтало быть, это и есть "узкое" место данной технологии ;)Дело не в узости, а в области применения. COM+ разрабатывался как средство уменьшения нагрузки на сервер при работе клиентских приложений в локальной сети, интенсивно его нагружающих. web-клиенты по определению не предназначены для такой работы, они подключаются по протоколу http через web-сервер, который опять-таки работает под com+. Ты лучше в консерватории разберись - нафига тебе вообще сдался com+. Мощь современных серверов позволяет поддерживать пару сотен клиентов без всяких плюсов, а судя по вопросам ты еще не дорос до приложений, рассчитанных на несколько тысяч подключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 14:03 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Абросов Юрий Уже ответили. Я там же прочитал. Причем не сказал, что согласен, не надо фыркать в мою сторону. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 21:18 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Antonariy Абросов Юрий Технология же COM+ предполагается для использования в распределенных приложениях и Интернет посредством ASP.Неверно. Технология DCOM предназначена для вызова методов com-классов, установленных на другом компьютере, а MTS занимается обработкой пула соединений с базой данных и упорядочиванием транзакций. А COM+ - это два в одном. Например, подключаются к SQL серверу 200 клиентов. Без COM+ сервер должен поддерживать 200 соединений да еще выстраивать их транзакции, а каждое соединение отжирает приличную долю ресурсов. При наличии серверной библиотеки, заточенной под COM+, вся эта деятельность переклатывается на нее. COM+ сам решает сколько соединений открыть и как выстроить транзакции, чтобы оптимально использовать ресурсы компьютера. К интернету и распределенным приложениям COM+ отношения не имеетон работает только в локальной сети. , Строго говоря, распределенные приложения могут быть и в пределах лок. сети. С остальным согласен. 2 Абросов Юрий - если уж взялись "ворошить былое", советую начать с DCOM и MTS. Тогда стенет понятно откуда пошел COM+ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2006, 12:29 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov В том-то и дело, что я к COM+ пришел через DCOM и MTS. Предысторию я смотрел. Повторюсь, меня интересует почему эта технология не прижилась. Как кто-то здесь сказал, очень велик соблазн построения распределенных приложений (пусть и в локальной сети или Интранет) с помощью компонентов, настраиваемых на поддержку транзакций, активацию по требованию и пр. Однако отказ от этих возможностей в большинстве приложений оказался для меня столь неожиданным что послужил созданию данного топика. Letter_D Надеюсь, в ближайшее время ознакомлюсь с доводами Эпплмана против COM+, тогда извинюсь за "фырканье в Вашу сторону" ;) Все-таки переход на VB.NET столь трудоемок, что хочется выжать максимум из возможностей VB и COM, в особенности для распределенных приложений и Интранет. Всем Собственно идея использования COM+ и возникла в связи с разработкой корпоративного сайта и необходимостью снижения нагрузки на сервер. Вот и рою, и вас беспокою, уважаемые Гуру ;) Спасибо за участие в обсуждении. Надеюсь оно будет интересным и другим участникам форума :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2006, 13:39 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Как идет ваше освоение COM+, Юрий? У меня свой вопрос: где найти инсталляцию MTS? В моей работе очень бы пригодилась распределенная архитектура. Но по другой причине: Бизнес-логика сложная. Реализовать бизнес-логику в моделях предметной области и вынести ее из клиента выглядит очень заманчиво. Плюрализм мнений (изрядно надоевший) относительно построения клиентских приложений размывает логику и сильно затрудняет повторное использование кода в работе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 09:42 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
MTS ставится вместе с SQL Server'ом, в SQL Service Manager'е виден под названием "Координатор распределенных транзакций" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 09:55 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
WorobjoffВ моей работе очень бы пригодилась распределенная архитектура. Если (вдруг :) ) встанет вопрос о переходе на .Net и использовании распределенной архитектуры в .Net, советую прочитать этот тред про Enterprise Services (это фактич. обертка над COM+ для .Net) и потом этот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 12:14 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Абросов ЮрийКак кто-то здесь сказал, очень велик соблазн построения распределенных приложений (пусть и в локальной сети или Интранет) с помощью компонентов, настраиваемых на поддержку транзакций, активацию по требованию и пр. Однако отказ от этих возможностей в большинстве приложений оказался для меня столь неожиданным что послужил созданию данного топика. Соблазн то велик, но ... Здесь можно легко "съехать" в оффтоп, который активно обсуждается в Проектировании БД или Построении инф. систем. Если вкратце, то IMO уже выросло поколение программистов "наигравшихся" в подобного рода архитектурные изыски и знающих к чему они ведут. С другой стороны, как правильно заметил Antonariy Antonariy Мощь современных серверов позволяет поддерживать пару сотен клиентов без всяких плюсов, а в интранете редко бывает больше. Т.е., грубо говоря, обычный клиент-сервер оказывается вполне подходящим для решения большинства задач. Итого: 1 COM+ хорош сам по себе, но для большинства задач просто не нужен 2 А те задачи, где он нужен, сейчас решают другими средствами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 12:28 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Worobjoff Совершенно верно, MTS устанавливается с SQL Server. Настраивать компоненты нужно в Сomponent Manager. А устанавливать части распределенного приложения - где угодно в пределах сети. Я сделал пару простых приложений, такого состава: 1. клиент - IE + ASP-файлы; 2. сервер приложений - наборы COM+ компонентов двух уровней: уровня баз данных и уровня бизнесс-логики; 3. сервер баз данных - база данных на MSSQL Server. Все эти части распределенного приложения размещались на разных серверах в различных конфигурациях. Например, ASP-страницы и база данных - на одном, а COM+ компоненты - на другом и т.п. Источник: Скот Хильер "Создание приложений COM+ в среде Visual Basic", www.williamspublishing.com PS: Да, кстати, я прочитал Дена Эпплмана. В действительности, он очень осторожно подводит к мысли, что COM - устаревшая технология, перечисляя ее серьезные недостатки. Но весь традиционный VB построен на ней, да и в .NET сохраняется возможность использования COM. Даже глава у него так и называется "COM умер - да здравствует COM". Так что COM умрет вместе с традиционным васиком, а васик, как я понимаю, умирать не собирается ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 12:36 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov WorobjoffВ моей работе очень бы пригодилась распределенная архитектура. Если (вдруг :) ) встанет вопрос о переходе на .Net и использовании распределенной архитектуры в .Net, советую прочитать этот тред про Enterprise Services (это фактич. обертка над COM+ для .Net) и потом этотА есть ли возможность написать COM+ сервер на дотнет? Клиентское приложение на дотнет врядли позволят писать (разве что работу сменить ;). А вот сервер приложений - может быть да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 18:02 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
WorobjoffА есть ли возможность написать COM+ сервер на дотнет? Клиентское приложение на дотнет врядли позволят писать (разве что работу сменить ;). А вот сервер приложений - может быть да. Теоретически (теоретически !) да, возможность есть. .Net-овские сборки могут быть опубликованы как Com интерфейсы. Только, боюсь, что смысла в этом нет. Для .Net Com - не родная технология. .Net может работать с .Com, но ... не любит :) Наверняка будет много странных проблем. Посмотрите хотя бы на мучения Magnus23 с Enterprise services. IMO: При разработке под .Net есть простое правило: надо писать под .Net все и сразу. "кусочек" переписать не получится, что бы там не говорилось в статьях по миграции и как бы не хотелось начальству и программистам. Соответственно старые проеткты продолжаем вести на VB, новые - на .Net ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 18:37 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov"кусочек" переписать не получится, Это почему же не получится переписать один из кусочков классической трехзвенной системы? Вообще-то разбиение на звенья придумано заодно и для того, чтобы при изменениях не переделывать всё разом. А если в архитектуру системы заложены интерфейсы, на основании которых реализуются классы взаимодействия между компонентами, то переделать такой класс можно и на .NET Alexey KudinovТеоретически (теоретически !) да, возможность есть. .Net-овские сборки могут быть опубликованы как Com интерфейсы. Только, боюсь, что смысла в этом нет. Для .Net Com - не родная технология. .Net может работать с .Com, но ... не любит :)Автор совсем запутался в различиях между COM как таковым и COM+ как частным случаем ;) C COM+ в .NET дела обстоят еще лучше, чем в VB6. MSDNIn the .NET Framework, you can still use all of the services that COM+ offers, as long as your classes derive from the System.EnterpriseServices.ServicedComponent class. Any class that derives from the ServicedComponent class will be hosted by COM+ services and can use any of the available COM+ services. MSDNWhen creating components in .NET that you want to interact with COM+ Services, you perform the following steps. Table 2 includes an explanation of each step. 1. Create a Class Library. 2. Create all classes so they inherit from the System.EnterpriseServices.ServicedComponents class. 3. Create an assembly. 4. Create a strong name. Table 2. Definition of terms used in creating a .NET component Term Description Class Library A .dll project type that contains classes. There is generally no user interface with this type of project. System.EnterpriseServices.ServicedComponents A class in the .NET Framework that is required for you to be able to interact with COM+ Services Assembly A description of all of the classes and interfaces within your project Strong Name Generates a GUID from your assembly so that your component can be registered with COM+ Services Поставив где нужно галочку Expose to COM, можно прозрачненько юзать такой сервер из VB6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 10:38 |
|
||
|
Джентльмены, кто работал с COM+ на VB
|
|||
|---|---|---|---|
|
#18+
AntonariyПоставив где нужно галочку Expose to COM, можно прозрачненько юзать такой сервер из VB6.Дай бы бог что бы так! Я уже создавал модели предметной области на VB6. Намучился с поддержкой событий и борьбой с циклическими ссылками! Даже если не надо закладывать поддержку интерактивности клиентов, пользующихся библиотекой классов, с событиями все равно иметь дело придется. А еще недостатки VB6-шного ООП... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 11:07 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33659294&tid=2161400]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 379ms |

| 0 / 0 |
