Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Джентльмены, кто работал с COM+ на VB / 25 сообщений из 45, страница 1 из 2
11.04.2006, 17:54
    #33659294
Джентльмены, кто работал с COM+ на VB
Может кто просветит, почему столь мощная технология COM+ столь редко используется в VB и ASP - проектах? В чем ее слабость - в сложностях настройки компонентов или в ограничениях бейсика (поддержке событий, например). Взял несколько раритетных книг по данной тематике - пытаюсь разобраться и применить. Может зря трачу время и силы? Буду рад любой информации от уважаемых Гуру ;)
...
Рейтинг: 0 / 0
11.04.2006, 18:08
    #33659335
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Дан Эпплман, известный как Гуру, еще 5 лет назад заявил, что и COM, и COM+, и др. подобные технологии не только устарели, не успев толком прижиться, но и гавно полное.
Если интересно подробнее, сделай запрос в поисковике по "Appleman" и "COM"... я лично в подробности не вдавался...
:))
...
Рейтинг: 0 / 0
11.04.2006, 18:23
    #33659389
Один1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Абросов ЮрийМожет кто просветит, почему столь мощная технология COM+ столь редко используется в VB и ASP - проектах? Собственно, а с чего вы взяли что "редко используется" ? Там где надо, там и используется :)
Может просто не так часто находил лись задачи, где это было надо ? Абросов Юрий Взял несколько раритетных книг по данной тематике - пытаюсь разобраться и применить. Может зря трачу время и силы? Вы же сами написали "раритетных". Вот вам и ответ
...
Рейтинг: 0 / 0
12.04.2006, 11:09
    #33660445
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
COM+ имеет смысл использовать при большой нагрузке на сервер. В asp смысла использовать нет - IIS и так под COM+ крутится. А насчет сложности настройки - в саму точку. Поддержку событий тоже можно сделать, но ее еще сложнее настроить. Мне, например, так и не удалось даже на одном и том же компе. Кроме того многие файерволлы блокируют Remote Procedure Call, необходимый для com+.
...
Рейтинг: 0 / 0
12.04.2006, 11:23
    #33660507
Джентльмены, кто работал с COM+ на VB
Letter_D:
Вот именно, что не вдавался в подробности. Я читал его (Эпплмана) "Guide" - там ничего нет по использованию COM+. Так что где он выражал свое отношение к данной технологии и какие аргументы приводил? И особенно удивляет, по Вашему высказыванию, его отрицательное отношение к COM, на котором весь VB и построен. Будьте добры приводить первоисточник после столь громких заявлений.

Один1 :
Не согласен с Вами - таких задач немеряно. Технология же COM+ предполагается для использования в распределенных приложениях и Интернет посредством ASP. Возможно эта технология вытесняется JAVA, котроый изначально ориентирован на создание таких приложений. И кроме того набирает обороты нетовские WEB-сервисы.
И насчет раритетов. Раритетами становятся не только неиспользуемые издания, но и не модные, т.е. не бестселлеры.

И вообще, джентльмены, почему такая низкая активность - неужели топик неинтересный ;)
...
Рейтинг: 0 / 0
12.04.2006, 12:13
    #33660736
Джентльмены, кто работал с COM+ на VB
Antonariy:
Вот это уже похоже на серьезные аргументы. А насчет ASP я не понял - почему не нужно использовать COM+? Компоненты же вызываются как объекты ASP. Может имеется ввиду не обязательностьиспользования именно ASP для интернет-приложений, скажем PHP или Perl?
...
Рейтинг: 0 / 0
12.04.2006, 12:18
    #33660761
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
В книге "Переход на VB.NET" Дан Эплман долго и старательно объясняет что .NET - это не есть очередное новое название для давно устаревшей вещи (как любит это делать микрософт). При этом "нечаянно" забрасывает камнями всю СОМ.
Все знают как трудно освоить СОМ в дельфи или С++. И, мне кажется, лишь эта сложность заставляет произносить фразы о "мощности СОМ".
Наверно словосочетание "столь мощная технология СОМ" все же не более чем клише.
В VB6 очень просто создавать СОМ-компоненты. Есть соблазн этим воспользоваться.
Но есть пара оговорок, пара риторических вопросов:
"а как с сопровождением проекта другими программистами?"
и "а каково соотношение (усилия_на_освоение/эффективность) COM в сравнении с дотнет?"
...
Рейтинг: 0 / 0
12.04.2006, 12:18
    #33660763
Один1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Абросов Юрий Один1 :
Не согласен с Вами - таких задач немеряно. Технология же COM+ предполагается для использования в распределенных приложениях и Интернет посредством ASP. Возможно эта технология вытесняется JAVA, котроый изначально ориентирован на создание таких приложений. И кроме того набирает обороты нетовские WEB-сервисы. Я не готов дать сколь либо приемлемую оценку слову "немеряно", п.є. спорить не буду. Немеряно, значит немеряно.

Вы правы, говоря, что COM+ создавался для применения в распределенных приложениях (фактич. являлся развитием DCOM + MTS). Сейчас MS предлагает совсем другие решения для этих задач: Remoting (к-й тоже уже уступает Indigo свое место) и те же Web сервисы.

Т.о. даже если не говорить о степени распространенности приложений использующих COM+, в градации MS эта технология - (поза)вчерашний день.
...
Рейтинг: 0 / 0
12.04.2006, 12:56
    #33660931
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Абросов Юрий А насчет ASP я не понял - почему не нужно использовать COM+? Компоненты же вызываются как объекты ASP. Может имеется ввиду не обязательностьиспользования именно ASP для интернет-приложений, скажем PHP или Perl?Имеется ввиду, что Internet Information Server, обрабатывающий asp-скрипты, сам работает под COM+, соответственно vb-компоненты, которые он может использовать, автоматически попадают в контекст COM+, и дополнительно для этого ничего не нужно делать.
...
Рейтинг: 0 / 0
12.04.2006, 13:21
    #33661053
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Абросов Юрий Технология же COM+ предполагается для использования в распределенных приложениях и Интернет посредством ASP.Неверно. Технология DCOM предназначена для вызова методов com-классов, установленных на другом компьютере, а MTS занимается обработкой пула соединений с базой данных и упорядочиванием транзакций. А COM+ - это два в одном.

Например, подключаются к SQL серверу 200 клиентов. Без COM+ сервер должен поддерживать 200 соединений да еще выстраивать их транзакции, а каждое соединение отжирает приличную долю ресурсов. При наличии серверной библиотеки, заточенной под COM+, вся эта деятельность переклатывается на нее. COM+ сам решает сколько соединений открыть и как выстроить транзакции, чтобы оптимально использовать ресурсы компьютера.

К интернету и распределенным приложениям COM+ отношения не имеет, он работает только в локальной сети.
...
Рейтинг: 0 / 0
12.04.2006, 13:36
    #33661134
Джентльмены, кто работал с COM+ на VB
Antonariy:
К интернету и распределенным приложениям COM+ отношения не имеет, он работает только в локальной сети.
Ага, так вот где собака порылась. Стало быть, это и есть "узкое" место данной технологии ;)
...
Рейтинг: 0 / 0
12.04.2006, 13:41
    #33661155
Джентльмены, кто работал с COM+ на VB
Worobjoff:
А вот где, интересно, этот самый "Переход на VB.NET" Дана Эплмана можно найти? Не подскажете ли, может есть сылка где на форуме ;)
...
Рейтинг: 0 / 0
12.04.2006, 14:03
    #33661248
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
авторСтало быть, это и есть "узкое" место данной технологии ;)Дело не в узости, а в области применения. COM+ разрабатывался как средство уменьшения нагрузки на сервер при работе клиентских приложений в локальной сети, интенсивно его нагружающих. web-клиенты по определению не предназначены для такой работы, они подключаются по протоколу http через web-сервер, который опять-таки работает под com+.

Ты лучше в консерватории разберись - нафига тебе вообще сдался com+. Мощь современных серверов позволяет поддерживать пару сотен клиентов без всяких плюсов, а судя по вопросам ты еще не дорос до приложений, рассчитанных на несколько тысяч подключений.
...
Рейтинг: 0 / 0
12.04.2006, 21:18
    #33662760
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Абросов Юрий
Уже ответили. Я там же прочитал. Причем не сказал, что согласен, не надо фыркать в мою сторону.
...
Рейтинг: 0 / 0
13.04.2006, 12:29
    #33663920
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Antonariy Абросов Юрий Технология же COM+ предполагается для использования в распределенных приложениях и Интернет посредством ASP.Неверно. Технология DCOM предназначена для вызова методов com-классов, установленных на другом компьютере, а MTS занимается обработкой пула соединений с базой данных и упорядочиванием транзакций. А COM+ - это два в одном.

Например, подключаются к SQL серверу 200 клиентов. Без COM+ сервер должен поддерживать 200 соединений да еще выстраивать их транзакции, а каждое соединение отжирает приличную долю ресурсов. При наличии серверной библиотеки, заточенной под COM+, вся эта деятельность переклатывается на нее. COM+ сам решает сколько соединений открыть и как выстроить транзакции, чтобы оптимально использовать ресурсы компьютера.

К интернету и распределенным приложениям COM+ отношения не имеетон работает только в локальной сети. , Строго говоря, распределенные приложения могут быть и в пределах лок. сети.
С остальным согласен.

2 Абросов Юрий - если уж взялись "ворошить былое", советую начать с DCOM и MTS. Тогда стенет понятно откуда пошел COM+
...
Рейтинг: 0 / 0
13.04.2006, 13:39
    #33664289
Джентльмены, кто работал с COM+ на VB
Alexey Kudinov
В том-то и дело, что я к COM+ пришел через DCOM и MTS. Предысторию я смотрел. Повторюсь, меня интересует почему эта технология не прижилась.
Как кто-то здесь сказал, очень велик соблазн построения распределенных приложений (пусть и в локальной сети или Интранет) с помощью компонентов, настраиваемых на поддержку транзакций, активацию по требованию и пр.
Однако отказ от этих возможностей в большинстве приложений оказался для меня столь неожиданным что послужил созданию данного топика.

Letter_D
Надеюсь, в ближайшее время ознакомлюсь с доводами Эпплмана против COM+, тогда извинюсь за "фырканье в Вашу сторону" ;) Все-таки переход на VB.NET столь трудоемок, что хочется выжать максимум из возможностей VB и COM, в особенности для распределенных приложений и Интранет.

Всем
Собственно идея использования COM+ и возникла в связи с разработкой корпоративного сайта и необходимостью снижения нагрузки на сервер.
Вот и рою, и вас беспокою, уважаемые Гуру ;)
Спасибо за участие в обсуждении. Надеюсь оно будет интересным и другим участникам форума :)
...
Рейтинг: 0 / 0
17.04.2006, 09:42
    #33670186
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Как идет ваше освоение COM+, Юрий?
У меня свой вопрос: где найти инсталляцию MTS?
В моей работе очень бы пригодилась распределенная архитектура. Но по другой причине: Бизнес-логика сложная.
Реализовать бизнес-логику в моделях предметной области и вынести ее из клиента выглядит очень заманчиво. Плюрализм мнений (изрядно надоевший) относительно построения клиентских приложений размывает логику и сильно затрудняет повторное использование кода в работе.
...
Рейтинг: 0 / 0
17.04.2006, 09:55
    #33670215
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
MTS ставится вместе с SQL Server'ом, в SQL Service Manager'е виден под названием "Координатор распределенных транзакций"
...
Рейтинг: 0 / 0
17.04.2006, 12:14
    #33670677
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
WorobjoffВ моей работе очень бы пригодилась распределенная архитектура. Если (вдруг :) ) встанет вопрос о переходе на .Net и использовании распределенной архитектуры в .Net, советую прочитать этот тред про Enterprise Services (это фактич. обертка над COM+ для .Net) и потом этот
...
Рейтинг: 0 / 0
17.04.2006, 12:28
    #33670723
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Абросов ЮрийКак кто-то здесь сказал, очень велик соблазн построения распределенных приложений (пусть и в локальной сети или Интранет) с помощью компонентов, настраиваемых на поддержку транзакций, активацию по требованию и пр.
Однако отказ от этих возможностей в большинстве приложений оказался для меня столь неожиданным что послужил созданию данного топика. Соблазн то велик, но ... Здесь можно легко "съехать" в оффтоп, который активно обсуждается в Проектировании БД или Построении инф. систем.
Если вкратце, то IMO уже выросло поколение программистов "наигравшихся" в подобного рода архитектурные изыски и знающих к чему они ведут.
С другой стороны, как правильно заметил Antonariy
Antonariy Мощь современных серверов позволяет поддерживать пару сотен клиентов без всяких плюсов, а в интранете редко бывает больше.
Т.е., грубо говоря, обычный клиент-сервер оказывается вполне подходящим для решения большинства задач.

Итого:
1 COM+ хорош сам по себе, но для большинства задач просто не нужен
2 А те задачи, где он нужен, сейчас решают другими средствами.
...
Рейтинг: 0 / 0
17.04.2006, 12:36
    #33670746
Джентльмены, кто работал с COM+ на VB
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 умрет вместе с традиционным васиком, а васик, как я понимаю, умирать не собирается ;)
...
Рейтинг: 0 / 0
17.04.2006, 18:02
    #33671926
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
Alexey Kudinov WorobjoffВ моей работе очень бы пригодилась распределенная архитектура. Если (вдруг :) ) встанет вопрос о переходе на .Net и использовании распределенной архитектуры в .Net, советую прочитать этот тред про Enterprise Services (это фактич. обертка над COM+ для .Net) и потом этотА есть ли возможность написать COM+ сервер на дотнет?
Клиентское приложение на дотнет врядли позволят писать (разве что работу сменить ;).
А вот сервер приложений - может быть да.
...
Рейтинг: 0 / 0
17.04.2006, 18:37
    #33672030
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
WorobjoffА есть ли возможность написать COM+ сервер на дотнет?
Клиентское приложение на дотнет врядли позволят писать (разве что работу сменить ;).
А вот сервер приложений - может быть да. Теоретически (теоретически !) да, возможность есть. .Net-овские сборки могут быть опубликованы как Com интерфейсы. Только, боюсь, что смысла в этом нет.
Для .Net Com - не родная технология. .Net может работать с .Com, но ... не любит :)

Наверняка будет много странных проблем. Посмотрите хотя бы на мучения Magnus23 с Enterprise services.

IMO:
При разработке под .Net есть простое правило: надо писать под .Net все и сразу. "кусочек" переписать не получится, что бы там не говорилось в статьях по миграции и как бы не хотелось начальству и программистам. Соответственно старые проеткты продолжаем вести на VB, новые - на .Net
...
Рейтинг: 0 / 0
18.04.2006, 10:38
    #33672750
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
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.
...
Рейтинг: 0 / 0
18.04.2006, 11:07
    #33672850
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто работал с COM+ на VB
AntonariyПоставив где нужно галочку Expose to COM, можно прозрачненько юзать такой сервер из VB6.Дай бы бог что бы так!
Я уже создавал модели предметной области на VB6. Намучился с поддержкой событий и борьбой с циклическими ссылками! Даже если не надо закладывать поддержку интерактивности клиентов, пользующихся библиотекой классов, с событиями все равно иметь дело придется. А еще недостатки VB6-шного ООП...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Джентльмены, кто работал с COM+ на VB / 25 сообщений из 45, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]