Что выбрать в качестве middleware для distributed MVP?
От: Lexandiy  
Дата: 29.11.07 13:42
Оценка:
Что выбрать в качестве middleware для cross-platform distributed MVP (with Passive View) ?
(нужно поженить между собой C#/VB.NET/VB6/Java)
COM+ — ограничиваем себя платформой Microsoft,
CORBA — (AFAIK) дорого, тяжеловесно, сложновато в освоении (последнее — субъективно, конечно; я не считаю себя спецом в distributed applications ни в коей мере!),
ICE — посмотрел, понравилось, но... вроде там у событий не м.б. OUT-параметров, а это, имхо, неудобно. Да и вроде организовать подписку там сложно... это не C#, где это делается в одну строчку. Если б не события, то я бы сказал, что ICE мне очень понравился ("Hello World" приложение взлетело за 10 минут)... правда, они по-имейлу задолбали меня пытать, что за контору я представляю, а потом и вовсе отшили, сказав, что консультируют по и-мейлу только своих коммерческих клиентов! хотя вопрос был банальный — нет ли у них примера работы в Айсе с событиями (в их шарповом понимании).

В общем, хотелось бы получить совет, что же выбрать.
Сам MVP pattern юзаю давно и успешно. Мега-удобно. Небольшой овер-хед при кодинге — зато тонкий и "тупой" клиент, простота тестирования и отладки, размещение бизнес-логики в одном месте. Но тут возникло две проблемы — (1) надо вынести Презентеры на отдельный комп (сервер приложений), и (2) при этом (возможно) этот сервер приложений будет реализован на другой платформе (скорее всего Java). Вот я и забуксовал



29.11.07 19:37: Перенесено модератором из 'Пользовательский интерфейс: проектирование, usability' — Хитрик Денис
Re: Что выбрать в качестве middleware для distributed MVP?
От: stump http://stump-workshop.blogspot.com/
Дата: 29.11.07 18:58
Оценка:
Здравствуйте, Lexandiy, Вы писали:


L>Сам MVP pattern юзаю давно и успешно. Мега-удобно. Небольшой овер-хед при кодинге — зато тонкий и "тупой" клиент, простота тестирования и отладки, размещение бизнес-логики в одном месте. Но тут возникло две проблемы — (1) надо вынести Презентеры на отдельный комп (сервер приложений), и (2) при этом (возможно) этот сервер приложений будет реализован на другой платформе (скорее всего Java). Вот я и забуксовал


Я так понимаю, проблемма не в выборе платформы для бизнес логики а в выборе механизма межплатформенной коммуникации в ситуации когда презентационный уровень выполнен на одной платформе а уровень бизнес логики на другой.
COM+ и CORBA свое пожили, скажем им спасибо и прощай.
Наиболее удобно и наименее затратно использовать для этих целей web сервисы. Большинство платформ сегодня в той или иной степени их поддерживают. Главное чтобы обеспечивалась поддержка в объеме WS-I basic profile 1.0 (1.1). Например Axis (Java) и ASP.NET 1.1 прекрасно взаимодействуют друг с другом посредством web сервисов.
Понедельник начинается в субботу
Re: Что выбрать в качестве middleware для distributed MVP?
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 29.11.07 18:59
Оценка:
Здравствуйте, Lexandiy, Вы писали:

L>(нужно поженить между собой C#/VB.NET/VB6/Java)

SOAP?

[skipped]
Сумбурную смесь рассуждений одновременно и про уровень доступа к данным (DAL) и про презентационный уровень (PL, конкретно MVP), честно говоря, не понял.
Re[2]: Что выбрать в качестве middleware для distributed MVP
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 29.11.07 19:02
Оценка:
Здравствуйте, stump, Вы писали:

S>Я так понимаю, проблемма не в выборе платформы для бизнес логики а в выборе механизма межплатформенной коммуникации в ситуации когда презентационный уровень выполнен на одной платформе а уровень бизнес логики на другой.

Хм... интересно.

S>COM+ и CORBA свое пожили, скажем им спасибо и прощай.

Первому — да (да и то, еще долго с ним здороваться придется, не выкинешь же кучу софта просто так), а вот по поводу второго — это вы зря.

S>Наиболее удобно и наименее затратно использовать для этих целей web сервисы. Большинство платформ сегодня в той или иной степени их поддерживают. Главное чтобы обеспечивалась поддержка в объеме WS-I basic profile 1.0 (1.1). Например Axis (Java) и ASP.NET 1.1 прекрасно взаимодействуют друг с другом посредством web сервисов.

+1
Re[2]: Что выбрать в качестве middleware для distributed MVP
От: Lexandiy  
Дата: 30.11.07 05:29
Оценка:
Здравствуйте, stump, Вы писали:

S>Я так понимаю, проблемма не в выборе платформы для бизнес логики а в выборе механизма межплатформенной коммуникации в ситуации когда презентационный уровень выполнен на одной платформе а уровень бизнес логики на другой.


В десятку! Лучше и не скажешь.

S>COM+ и CORBA свое пожили, скажем им спасибо и прощай.


"Корбовцы" с этим не согласны, AFAIK

S>Наиболее удобно и наименее затратно использовать для этих целей web сервисы. Большинство платформ сегодня в той или иной степени их поддерживают. Главное чтобы обеспечивалась поддержка в объеме WS-I basic profile 1.0 (1.1). Например Axis (Java) и ASP.NET 1.1 прекрасно взаимодействуют друг с другом посредством web сервисов.


Слышал, что веб-сервисы — штука не быстрая, и что при использовании их в UI наблюдаются неслабые тормоза. Так ли это?
Re: Что выбрать в качестве middleware для distributed MVP?
От: alexandrST  
Дата: 30.11.07 05:35
Оценка:
быть может WCF ?
(сам недавно начал использовать, все просто и понятно, никаких значительных трудностей не возникало пока что)
учебник
Re[3]: Что выбрать в качестве middleware для distributed MVP
От: stump http://stump-workshop.blogspot.com/
Дата: 30.11.07 06:07
Оценка:
Здравствуйте, Lexandiy, Вы писали:

S>>COM+ и CORBA свое пожили, скажем им спасибо и прощай.


L>"Корбовцы" с этим не согласны, AFAIK


Они же ее и похоронили. А теперь чего уж...

L>Слышал, что веб-сервисы — штука не быстрая, и что при использовании их в UI наблюдаются неслабые тормоза. Так ли это?


Есть такое дело. Это надо учитывать при проектировании интерфейсов и протоколов взаимодействия. Специально по этому поводу придумана такая штука как coarse grained remote interface pattern. Суть в том чтобы минимизировать количество удаленных вызовов за счет увеличения размера передаваемых данных за один вызов (уменьшение грануляции).
Понедельник начинается в субботу
Re[2]: Что выбрать в качестве middleware для distributed MVP
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 30.11.07 06:29
Оценка:
Здравствуйте, alexandrST, Вы писали:

ST>быть может WCF ?

ST>(сам недавно начал использовать, все просто и понятно, никаких значительных трудностей не возникало пока что)
А Java-то кто познакомит с WCF, а?
Re: Что выбрать в качестве middleware для distributed MVP?
От: Ziaw Россия  
Дата: 30.11.07 06:50
Оценка:
L> Но тут возникло две проблемы — (1) надо вынести Презентеры на отдельный комп (сервер приложений), и (2) при этом (возможно) этот сервер приложений будет реализован на другой платформе (скорее всего Java). Вот я и забуксовал

чем продиктованы такие решения, если не секрет?
каждое из них по отдельности еще как-то может работать, но в сумме боюсь получите склад граблей.

1. вынесение презентеров на сервер при одной платформе, в критических по перфомансу случаях всегда можно перетащить исполняемый код презентера на клиента одним вызовом, избавившись от большого количества RPC.

2. клиент и сервер на разных платформах могут работать, но надо максимально уменьшать их связность, что невозможно при качественной реализации презентера в моем понимании.
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[3]: Что выбрать в качестве middleware для distributed MVP
От: stump http://stump-workshop.blogspot.com/
Дата: 30.11.07 07:32
Оценка:
Здравствуйте, rsn81, Вы писали:

R>Здравствуйте, alexandrST, Вы писали:


ST>>быть может WCF ?

ST>>(сам недавно начал использовать, все просто и понятно, никаких значительных трудностей не возникало пока что)
R>А Java-то кто познакомит с WCF, а?

WCF поддерживает WS-I basic profile, поэтому специально знакомить не надо. Только это надо явно указать, и в таком режиме не доступны многие из его дополнительных фич.
Понедельник начинается в субботу
Re[3]: Что выбрать в качестве middleware для distributed MVP
От: alexandrST  
Дата: 30.11.07 08:14
Оценка: 5 (1)
2 rsn81:

"WCF is Microsoft's implementation of a set of industry standards defining service interactions, type conversion, marshaling, and various protocols' management".
Т.е. насколько я понимаю с Java проблем не будет (вроде есть группа товарищей которые занимаются интеграцией с Sun's Java Web Services).

Другое дело что по всей видимости разрабатывать с использованием WCF несложно и недорого в плане времени (пока такое мнение).
Например декларативное программирование распределенных транзакций в WCF меня лично впечатлило.
(Там есть просто сервисы и сервисы которые всем рулят — транзакциями и т.п.
Имхо, программирование этих рульных сервисов на Java может быть затруднительным если нет
инструмента подобного WCF)

Правда как я уже писал, с WCF я только разбираюсь (и могу не знать всех подводных камней)
— но плюсов вижу пока гораздо больше чем минусов (хотя и минусы есть, и на мой взгляд достаточно существенные...)
Re[3]: Что выбрать в качестве middleware для distributed MVP
От: FlevelEx Россия  
Дата: 30.11.07 09:43
Оценка:
R>А Java-то кто познакомит с WCF, а?

есть ещё такая тема, как WSIT


Project Tango develops and evolves the codebase for Web Services Interoperability Technologies (WSIT) that enable interoperability between the Java platform and Windows Communication Foundation (WCF) (aka Indigo).



What is WSIT?
Sun is working closely with Microsoft to ensure interoperability of web services enterprise technologies such as message optimization, reliable messaging, and security. The initial release of WSIT is a product of this joint effort. WSIT is an implementation of a number of open web services specifications to support enterprise features. In addition to message optimization, reliable messaging, and security, WSIT includes a bootstrapping and configuration technology.

Re[4]: Что выбрать в качестве middleware для distributed MVP
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 30.11.07 10:07
Оценка:
Здравствуйте, alexandrST, Вы писали:

Интересен такой момент. Насколько вообще оправдано применение WCF в данный момент? Многие ли уже его используют? И чем обосновывают выбор или переход на него? Сильно не разбирался, читал только обзоры... насколько понял, WCF пришел с .NET 3.0, который вроде бы как (ХЗ, может просто не в курсе как) еще не интегрирован с MSVS2005 и, как понял, не будет, так как в начале следующего года уже выходит MSVS2008 Oscar, но до того времени... То есть просто спрашиваю, эта технология уже достаточно объезжена, не несет ли она рисков использования новых непроверенных временем технологий?
Re: Что выбрать в качестве middleware для distributed MVP?
От: Lexandiy  
Дата: 30.11.07 10:14
Оценка:
М-да... чувствую, что тут без поллитры не разберёсси...
Re[5]: Что выбрать в качестве middleware для distributed MVP
От: alexandrST  
Дата: 30.11.07 20:31
Оценка: 10 (1)
Здравствуйте, rsn81, Вы писали:

R>Интересен такой момент. Насколько вообще оправдано применение WCF в данный момент? Многие ли уже его используют? И чем обосновывают выбор или переход на него? Сильно не разбирался, читал только обзоры... насколько понял, WCF пришел с .NET 3.0, который вроде бы как (ХЗ, может просто не в курсе как) еще не интегрирован с MSVS2005 и, как понял, не будет, так как в начале следующего года уже выходит MSVS2008 Oscar, но до того времени... То есть просто спрашиваю, эта технология уже достаточно объезжена, не несет ли она рисков использования новых непроверенных временем технологий?


Насчет обзоров — рекомендую, скачайте лучше книжку, на мой взгляд толково и лаконично написано.

Насчет оправданности — по-моему да, оправданно для SOA. Я грубо говоря рассматриваю WCF как настройку над вебсервисами (вообще говоря транспортные схемы там настраиваются): т.е. вебсервисы + "advantage of built-in features such as service hosting, instance management, asynchronous calls, synchronization, reliability, transaction management, disconnected queued calls and security to build best in class applications".

Да, насколько я понимаю WCF использует библиотеки 3-го фреймворка + надо поставить extension соответствующий.
Интеграция со студией 2005 — пока я там единственное что нашел такого что есть в Оркасе (кстати недавно был релиз) и нет в 2005 — так это пункта меню Add Service Reference (для генерации прокси на клиенте). Но это легко настраивается в студии в том смысле что просто прописывается использовать svcutil.exe и прокси также генерится одним кликом.
А больше никакой интеграции не нужно — код там пишется совершенно обыкновенный, помечается атрибутами (декларативное программирование) на языке C# 2.0
Т.е. это не фреймворк 3.5;
Сам фреймворк равно как и extensions можно скачать, установить и работать с ними из 2005 студии (в 2008 они встроены).
Технологии уже где-то год насколько я знаю. Она достаточно простая и удобная чтобы быть успешной имхо.
Включена в релиз. Т.е. риск всплытия каких-то стремных вещей невелик по моему скромному мнению.
Ну и к тому же Микрософт как правило делает хорошие продукты, которые с энтузиазмом используются
(А даже если и плохие — все равно ведь используются...)
Re[5]: Что выбрать в качестве middleware для distributed MVP
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.11.07 21:49
Оценка: 10 (1)
Здравствуйте, rsn81, Вы писали:

R>Интересен такой момент. Насколько вообще оправдано применение WCF в данный момент?


Если серверный софт планируется на .NET, то для распределенных коммуникаций что то более лучшее вряд ли существует.

R> Многие ли уже его используют?


Статистики нет. Есть одна засада — не работает под W2K.

R>насколько понял, WCF пришел с .NET 3.0, который вроде бы как (ХЗ, может просто не в курсе как) еще не интегрирован с MSVS2005


Для WCF особо никакой интеграции не нужно.

R> и, как понял, не будет, так как в начале следующего года уже выходит MSVS2008 Oscar


Во-первых Orcas, во-вторых уже вышла 19 числа.

R>, но до того времени... То есть просто спрашиваю, эта технология уже достаточно объезжена, не несет ли она рисков использования новых непроверенных временем технологий?


Что я точно знаю, в самом МС она весьма тщательно тестировалась. Еще один момент — она на порядок гибче всех альтернатив, так что на крайний случай можно руками подкрутить. Единственное что может помешать — технология весьма и весьма непростая, особенно если речь о коробочных решениях на ее основе.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.