Re[4]: WCF 4.0 vs Java what?
От: vladimir.vladimirovich США  
Дата: 06.06.10 00:17
Оценка:
Здравствуйте, henson, Вы писали:

VV>>А вы с какой целью интересуетесь?

H>Очевидно это провокация

Я так и подумал.
Re[4]: WCF 4.0 vs Java what?
От: vladimir.vladimirovich США  
Дата: 06.06.10 00:19
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ну таки да. Что именно умеет WCF — я тебе (почти) всё сделаю с помощью этой комбинации. Ты учти, что туда можно ещё всякий Mule воткнуть и прочие извращения.


С помощью TCP вообще можно то же самое сделать. ага...
Re[9]: WCF 4.0 vs Java what?
От: Cyberax Марс  
Дата: 06.06.10 01:12
Оценка:
Здравствуйте, gandjustas, Вы писали:

C>>Mule — http://www.mulesoft.org/documentation/display/MULE2USER/Available+Transports

C>>Ещё от Апача:
C>>http://servicemix.apache.org/home.html
C>>http://fusesource.com/products/enterprise-servicemix/
G>Это не то, это продукты enterprise уровня. В своем приложении такое не захостишь.
Эээ... А кто мешает-то? Mule — это что-то около 5Мб jar-ников в не очень навороченной конфигурации. Тупо подключаешь их через Spring и вперёд с песней.

G>>>2)Transport-level и message level serurity

C>>Это противоречивое требование с пунктом 1). Фиг у тебя будет message-level security поверх JSON. Если транспорт позволяет — может быть и то, и другое...
G>Все виды security должны работать если поддерживаются каналом.
Как ты подпишешь сообщение JSON?

Для XML это делается без проблем (http://java.sun.com/webservices/xmldsig/index.jsp), а вот для JSON — увы.

G>>>3)Workflow c возможностью "засыпания" в backend.

C>>И Мул и ServiceMix/FUSE поддерживают подключаемые движки сценариев, чаще всего юзают JBoss BPM.
G>См выше.
G>Мул кстати платный.
Кстати нет: http://www.mulesoft.org/mule-community-vs-mule-enterprise — у них определённая часть платная только.

G>>>4)Какой-нить универсальный хостинг для всего этого, с широкими возможностями управления и мониторинга

C>>Стандартный JEE. Управление — через JMX.
G>Не, я хочу красивую консольку.
Умм... А что в JMX некрасивого? Это просто стандарт на обобщённую систему управления и мониторинга.

А клиентом к ней может быть как гламурное приложение: http://sourceforge.net/dbimage.php?id=8061 , так и утиллита командной строки: https://launchpad.net/jmxterm

Это просто для .NET нет нормального обобщённого API для мониторинга (WMI must die).

C>>Да вот только в CORBA есть возможность давать удалённые ссылки. Т.е. я могу клиенту отдать объект, у которого поля — это ссылки на объекты на другом хосте.

G>WCF — фреймворк, он не знает об "объектах". С помощью конфига можно сделать похожим на remote objects, но это крайне не рекомендуется.
G>А ссылки в нем — обычные URI
Добавь сюда гетерогенные сети и станет интересно

C>>А ещё в CORBA есть возможность callback'ов. Т.е. вызовов с сервера на клиент. Как ты это будешь отображать в JSON-API, работаюшее поверх REST?

G>Никак, просто контракт, не поддерживающий callback. Хотя никто не мешает тот же JSON гонять по net.tcp с callback.
Так вот в том-то и проблема.

C>>А ещё есть вопросы с типами данных. В JSON, к примеру, нет стандартного mapping'а для timestamp'ов с наносекундным разрешением. А ещё есть душевный стандарт ASN.1, там типы "последовательность" и "последовательность_из_строго_пяти_элементов" — это разные вещи. И если у тебя тип потеряется во время передачи (а он один фиг потеряется, у других форматов нет такого кретинизма) — результат не будет валидным для нужной схемы.

G>Это ты о чем? На обоих концах .NET приложение — пох что там потеряется, на сервере .NET, на клиенте javascript — тоже отлично работает.
Endpoint может быть не .NET-овым. И WCF предоставляет возможности роутинга сообщений и проксики. И там оно всё начинается...
Sapienti sat!
Re[5]: WCF 4.0 vs Java what?
От: Cyberax Марс  
Дата: 06.06.10 04:03
Оценка:
Здравствуйте, vladimir.vladimirovich, Вы писали:

C>>Ну таки да. Что именно умеет WCF — я тебе (почти) всё сделаю с помощью этой комбинации. Ты учти, что туда можно ещё всякий Mule воткнуть и прочие извращения.

VV>С помощью TCP вообще можно то же самое сделать. ага...
Ты мне задачу опиши, а я расскажу как на Java сделать.
Sapienti sat!
Re[10]: WCF 4.0 vs Java what?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.06.10 08:14
Оценка: -1
Здравствуйте, Cyberax, Вы писали:

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


C>>>Mule — http://www.mulesoft.org/documentation/display/MULE2USER/Available+Transports

C>>>Ещё от Апача:
C>>>http://servicemix.apache.org/home.html
C>>>http://fusesource.com/products/enterprise-servicemix/
G>>Это не то, это продукты enterprise уровня. В своем приложении такое не захостишь.
C>Эээ... А кто мешает-то? Mule — это что-то около 5Мб jar-ников в не очень навороченной конфигурации. Тупо подключаешь их через Spring и вперёд с песней.
Примеры есть?

G>>>>2)Transport-level и message level serurity

C>>>Это противоречивое требование с пунктом 1). Фиг у тебя будет message-level security поверх JSON. Если транспорт позволяет — может быть и то, и другое...
G>>Все виды security должны работать если поддерживаются каналом.
C>Как ты подпишешь сообщение JSON?
Буду использовать HTTPS, если уже очень надо, то можно расширение протокола http забабахать, хотя смысла в этом не вижу.
Так или иначе логика сервера и клиента не поменяется.


G>>>>3)Workflow c возможностью "засыпания" в backend.

C>>>И Мул и ServiceMix/FUSE поддерживают подключаемые движки сценариев, чаще всего юзают JBoss BPM.
G>>См выше.
G>>Мул кстати платный.
C>Кстати нет: http://www.mulesoft.org/mule-community-vs-mule-enterprise — у них определённая часть платная только.
Community Edition — Evaluation or pre-production use...
Для продакшена — платный.


G>>>>4)Какой-нить универсальный хостинг для всего этого, с широкими возможностями управления и мониторинга

C>>>Стандартный JEE. Управление — через JMX.
G>>Не, я хочу красивую консольку.
C>Умм... А что в JMX некрасивого? Это просто стандарт на обобщённую систему управления и мониторинга.
C>А клиентом к ней может быть как гламурное приложение: http://sourceforge.net/dbimage.php?id=8061 , так и утиллита командной строки: https://launchpad.net/jmxterm
C>Это просто для .NET нет нормального обобщённого API для мониторинга (WMI must die).
WMI позволяет управлять и мониторить все, а JMX — то что на жабе написно, кагбе разная мощность технологий.

C>>>Да вот только в CORBA есть возможность давать удалённые ссылки. Т.е. я могу клиенту отдать объект, у которого поля — это ссылки на объекты на другом хосте.

G>>WCF — фреймворк, он не знает об "объектах". С помощью конфига можно сделать похожим на remote objects, но это крайне не рекомендуется.
G>>А ссылки в нем — обычные URI
C>Добавь сюда гетерогенные сети и станет интересно
А какая разница?

C>>>А ещё в CORBA есть возможность callback'ов. Т.е. вызовов с сервера на клиент. Как ты это будешь отображать в JSON-API, работаюшее поверх REST?

G>>Никак, просто контракт, не поддерживающий callback. Хотя никто не мешает тот же JSON гонять по net.tcp с callback.
C>Так вот в том-то и проблема.
В чем? Пока клиенты json сервисов, а это на 99% javascript, не научится работать с callback, то смысла в таком решении нету.
Надо реальные проблемы решать, а не абстрактные.

C>>>А ещё есть вопросы с типами данных. В JSON, к примеру, нет стандартного mapping'а для timestamp'ов с наносекундным разрешением. А ещё есть душевный стандарт ASN.1, там типы "последовательность" и "последовательность_из_строго_пяти_элементов" — это разные вещи. И если у тебя тип потеряется во время передачи (а он один фиг потеряется, у других форматов нет такого кретинизма) — результат не будет валидным для нужной схемы.

G>>Это ты о чем? На обоих концах .NET приложение — пох что там потеряется, на сервере .NET, на клиенте javascript — тоже отлично работает.
C>Endpoint может быть не .NET-овым.
Если не .NET, значит js — см выше.

C>И WCF предоставляет возможности роутинга сообщений и проксики. И там оно всё начинается...

И что?
Re[6]: WCF 4.0 vs Java what?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.06.10 09:15
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, vladimir.vladimirovich, Вы писали:


C>>>Ну таки да. Что именно умеет WCF — я тебе (почти) всё сделаю с помощью этой комбинации. Ты учти, что туда можно ещё всякий Mule воткнуть и прочие извращения.

VV>>С помощью TCP вообще можно то же самое сделать. ага...
C>Ты мне задачу опиши, а я расскажу как на Java сделать.

Вот отличный пример
http://msdn.microsoft.com/en-us/magazine/ff646977.aspx
Re[7]: WCF 4.0 vs Java what?
От: Roman Odaisky Украина  
Дата: 06.06.10 12:21
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Вот отличный пример

G>http://msdn.microsoft.com/en-us/magazine/ff646977.aspx

Я чего-то не пойму, или это десятка полтора строк, заодно в полностью асинхронном варианте?
@defer.inlineCallbacks
def xmlrpc_process_submission(self, submission):
    if should_reject(submission):
        defer.returnValue({ "result": "rejected" })
    if should_resubmit(submission):
        defer.returnValue({ "result": "resubmit" })
    for v in self.vendors:
        result = yield remote_call(v, submission)
        if result.success:
            break
    else:
        defer.returnValue({ "result": "unapproved" })
    yield save_to_db(result.whatever)
    defer.returnValue({ "result": "accepted" })

Модный GUI — конечно, хорошо, но три поставщика отдельными блоками вместо цикла наводят на мысль о том, что оно просто не умеет оформлять циклы. О замене программирования перетаскиванием блоков туда-сюда говорят уже давно, но ничего дельного пока не замечено.
До последнего не верил в пирамиду Лебедева.
Re[8]: WCF 4.0 vs Java what?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.06.10 13:04
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

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


G>>Вот отличный пример

G>>http://msdn.microsoft.com/en-us/magazine/ff646977.aspx

RO>Я чего-то не пойму, или это десятка полтора строк, заодно в полностью асинхронном варианте?

RO>
RO>@defer.inlineCallbacks
RO>def xmlrpc_process_submission(self, submission):
RO>    if should_reject(submission):
RO>        defer.returnValue({ "result": "rejected" })
RO>    if should_resubmit(submission):
RO>        defer.returnValue({ "result": "resubmit" })
RO>    for v in self.vendors:
RO>        result = yield remote_call(v, submission)
RO>        if result.success:
RO>            break
RO>    else:
RO>        defer.returnValue({ "result": "unapproved" })
RO>    yield save_to_db(result.whatever)
RO>    defer.returnValue({ "result": "accepted" })
RO>

1)Действие Ask vendor работает гораздо интереснее, чем один remote call, оно во время запроса у вендору умеет отвечать на запросы пользователя о состоянии процесса?
2)Я не очень в курсе на чем работает приведенный тобой код, но есть сомнения что все вызовы, входящие и исходящие, можно будет произвольно настраивать, в том числе в рантайме?
3)Приведенный тобой код умеет выгружаться в случае простаивания по какой-либо причине, переживет ли перезагрузку сервера?
4)Как отследить потом работу сервиса?
5)Как клиентский api выглядеть будет?

RO>Модный GUI — конечно, хорошо, но три поставщика отдельными блоками вместо цикла наводят на мысль о том, что оно просто не умеет оформлять циклы.

Цикл будет гораздо менее нагляден. Вообще цикл — плохой инструмент для декларативной разработки.

RO>О замене программирования перетаскиванием блоков туда-сюда говорят уже давно, но ничего дельного пока не замечено.

Наоборот, существует тенденция замены блоков\xml на DSL или скриптовые языки. В WF тоже такое есть, но по наглядности блоки со стрелочками покачто рулят.
Re[7]: WCF 4.0 vs Java what?
От: Cyberax Марс  
Дата: 06.06.10 13:15
Оценка:
Здравствуйте, gandjustas, Вы писали:

C>>Ты мне задачу опиши, а я расскажу как на Java сделать.

G>Вот отличный пример
G>http://msdn.microsoft.com/en-us/magazine/ff646977.aspx
Только вот причём здесь WCF?..

http://www.infoq.com/articles/jboss-esb-jbpm
http://www.jboss.org/jbossesb/screens.html

Абсолютно стандартный use-case для ESB-систем.
Sapienti sat!
Re[4]: WCF 4.0 vs Java what?
От: Ночной Смотрящий Россия  
Дата: 06.06.10 13:27
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>Ну таки да. Что именно умеет WCF — я тебе (почти) всё сделаю с помощью этой комбинации. Ты учти, что туда можно ещё всякий Mule воткнуть и прочие извращения.


В очередной раз убеждаюсь, что ты плохо представляешь себе предмет спора. Надергал какие то обрывки из статей, а остальное додумал. Нет, WCF это не Spring+JMS даже близко.
Re[8]: WCF 4.0 vs Java what?
От: Ночной Смотрящий Россия  
Дата: 06.06.10 13:27
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>...и это только мои личные примеры...


А теперь посчитай количество абрривеатур и технологий, которые ты в своем сообщении помянул.
Re[11]: WCF 4.0 vs Java what?
От: Cyberax Марс  
Дата: 06.06.10 13:30
Оценка:
Здравствуйте, gandjustas, Вы писали:

C>>Эээ... А кто мешает-то? Mule — это что-то около 5Мб jar-ников в не очень навороченной конфигурации. Тупо подключаешь их через Spring и вперёд с песней.

G>Примеры есть?
Я так лично делал. Причём ещё с монитором распределённых транзакций (http://www.atomikos.com/). Всё полностью уместилось в 10Мб вместе с кучей дополнительных библиотек.

G>>>Все виды security должны работать если поддерживаются каналом.

C>>Как ты подпишешь сообщение JSON?
G>Буду использовать HTTPS, если уже очень надо, то можно расширение протокола http забабахать, хотя смысла в этом не вижу.
G>Так или иначе логика сервера и клиента не поменяется.
HTTPS — это канальный уровень, а не уровень сообщений. Вот XMLDSIG — это уровень сообщений, но не канальный.

G>>>Мул кстати платный.

C>>Кстати нет: http://www.mulesoft.org/mule-community-vs-mule-enterprise — у них определённая часть платная только.
G>Community Edition — Evaluation or pre-production use...
G>Для продакшена — платный.
Не, ну хватит бред нести.

Mule Community Edition доступен под http://en.wikipedia.org/wiki/Common_Public_Attribution_License , которая является weak copyleft-лицензией. Т.е. ты не обязан открывать исходный код своего приложения, но должен открыть исходный код Mule ESB и изменений в нём.

C>>Это просто для .NET нет нормального обобщённого API для мониторинга (WMI must die).

G>WMI позволяет управлять и мониторить все, а JMX — то что на жабе написно, кагбе разная мощность технологий.
Не всё. Мой Линуксовый сервер через WMI не получится мониторить, так же как и сетевой принтер и роутер.

Для общего мониторинга есть SNMP, с которым JMX стыкуется без проблем. Только нафиг это надо?

G>>>А ссылки в нем — обычные URI

C>>Добавь сюда гетерогенные сети и станет интересно
G>А какая разница?
Файрволы и всё такое.

G>>>Никак, просто контракт, не поддерживающий callback. Хотя никто не мешает тот же JSON гонять по net.tcp с callback.

C>>Так вот в том-то и проблема.
G>В чем? Пока клиенты json сервисов, а это на 99% javascript, не научится работать с callback, то смысла в таком решении нету.
G>Надо реальные проблемы решать, а не абстрактные.
Так проблема реальная. Пришлось делать Comet-подобный транспортный протокол.

G>>>Это ты о чем? На обоих концах .NET приложение — пох что там потеряется, на сервере .NET, на клиенте javascript — тоже отлично работает.

C>>Endpoint может быть не .NET-овым.
G>Если не .NET, значит js — см выше.
Вы можете выбрать машину любого цвета, при условии, что этот цвет — чёрный.

WCF стыкуется с кучей всего, по заявлением MS. А на практике...

C>>И WCF предоставляет возможности роутинга сообщений и проксики. И там оно всё начинается...

G>И что?
И то. Нету красоты.
Sapienti sat!
Re[5]: WCF 4.0 vs Java what?
От: Cyberax Марс  
Дата: 06.06.10 13:32
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

C>>Ну таки да. Что именно умеет WCF — я тебе (почти) всё сделаю с помощью этой комбинации. Ты учти, что туда можно ещё всякий Mule воткнуть и прочие извращения.

НС>В очередной раз убеждаюсь, что ты плохо представляешь себе предмет спора. Надергал какие то обрывки из статей, а остальное додумал. Нет, WCF это не Spring+JMS даже близко.
Ну так объясни что же это такое?

Только примеры по самому WCF приводи, а не по WF.
Sapienti sat!
Re[9]: WCF 4.0 vs Java what?
От: Cyberax Марс  
Дата: 06.06.10 13:32
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

C>>...и это только мои личные примеры...

НС>А теперь посчитай количество абрривеатур и технологий, которые ты в своем сообщении помянул.
И что? По сути возражений нет — иди лесом.
Sapienti sat!
Re[10]: WCF 4.0 vs Java what?
От: Ночной Смотрящий Россия  
Дата: 06.06.10 13:44
Оценка:
Здравствуйте, Cyberax, Вы писали:

НС>>А теперь посчитай количество абрривеатур и технологий, которые ты в своем сообщении помянул.

C>И что?

Поясню. Любая практически задача может быть решена пачкой библиотек и рукопашным кодированием. Вопрос в том, насколько качественно и какой ценой. Чем больше разноплановых библиотек (особенно таких монстров как Spring) вовлечено в решение задачи, тем означенная цель менее достижима. Все просто.

C> По сути возражений нет — иди лесом.


Это по сути. Лесники, кстати, очень часто в баньке бывают. Меня вот ни разу не банили, а тебя?
Re[6]: WCF 4.0 vs Java what?
От: Ночной Смотрящий Россия  
Дата: 06.06.10 13:44
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>Ну так объясни что же это такое?


Смысла не вижу тратить силы. Ты все равно никогда не слушаешь.
Re[11]: WCF 4.0 vs Java what?
От: Cyberax Марс  
Дата: 06.06.10 14:40
Оценка: -1
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>А теперь посчитай количество абрривеатур и технологий, которые ты в своем сообщении помянул.

C>>И что?
НС>Поясню. Любая практически задача может быть решена пачкой библиотек и рукопашным кодированием. Вопрос в том, насколько качественно и какой ценой. Чем больше разноплановых библиотек (особенно таких монстров как Spring) вовлечено в решение задачи, тем означенная цель менее достижима. Все просто.
Запустил Hello World. Посчитал сколько в этом участвовало аббревиатур: .NET, CLI, CLR, MSVS, C#, GC. Нее... На C# писать нельзя.

Всё твоё возражение сводится к: "а оно выглядит страшно, я с этим никогда не работал, оно работать не будет". Как всегда.

Который раз ты уклоняешься от точного ответа, когда к стенке фактами припрут.

C>> По сути возражений нет — иди лесом.

НС>Это по сути. Лесники, кстати, очень часто в баньке бывают. Меня вот ни разу не банили, а тебя?
А мне пофиг. Полезного на RSDN всё равно ничерта нет.
Sapienti sat!
Re[7]: WCF 4.0 vs Java what?
От: Cyberax Марс  
Дата: 06.06.10 14:40
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

C>>Ну так объясни что же это такое?

НС>Смысла не вижу тратить силы. Ты все равно никогда не слушаешь.
Слушаю. Ты, главное, факты приводи.
Sapienti sat!
Re[12]: WCF 4.0 vs Java what?
От: squid  
Дата: 06.06.10 16:19
Оценка: -1
Здравствуйте, Cyberax, Вы писали:

C>Запустил Hello World. Посчитал сколько в этом участвовало аббревиатур: .NET, CLI, CLR, MSVS, C#, GC.


И все из них прекрасны!

C>Нее... На C# писать нельзя.


Ну и не пиши, а то напишешь фигню какую-нить и потом из-за нее .Net на форумах ругать будут!

C>Всё твоё возражение сводится к: "а оно выглядит страшно, я с этим никогда не работал, оно работать не будет". Как всегда.


Помнишь эксперимент в Alien 4 и фразу "Убееееей меня"? Вот это про то как в линуксе разработка делается! Зверюшку лучше пристрелить штоб не мучалась!

C>Который раз ты уклоняешься от точного ответа, когда к стенке фактами припрут.


Ну эт не ко мне

C>А мне пофиг. Полезного на RSDN всё равно ничерта нет.


Есть! ЕСТЬ!
Re[13]: WCF 4.0 vs Java what?
От: Cyberax Марс  
Дата: 06.06.10 17:39
Оценка:
Здравствуйте, squid, Вы писали:

C>>Всё твоё возражение сводится к: "а оно выглядит страшно, я с этим никогда не работал, оно работать не будет". Как всегда.

S>Помнишь эксперимент в Alien 4 и фразу "Убееееей меня"? Вот это про то как в линуксе разработка делается! Зверюшку лучше пристрелить штоб не мучалась!
Странно, работаю в IntelliJ IDEA в Линуксе и всё ОК.
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.