powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Межпроцесное взаимодействие с Ява приложением или кодом.
16 сообщений из 41, страница 2 из 2
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38337476
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНо CORBA почему-то сейчас стала немодной, от неё все шарахаются как чёрт от ладанаДык - "Сложно" :)

P.S. Сегодня долго вкуривал helper-ы и holder-ы, но зато стало ясно как улучшить то, что есть.
Может даже и "быстрее" будет, чем прежний вариант рефакторинга, хотя ощущение некоторой замороченности - осталось :)
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38337791
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kT_________,

Я бы выбрал SOAP. Во всяком случае, если ты задумываешься о масштабируемости (например, предполагаешь, что возникнет в будущем необходимость разнести клиента (Java) и сервис (С++)), то файлы будут сдерживающим фактором.

Для реализации SOAP сервиса на С++ можешь посмотреть в сторону gSOAP ( http://gsoap2.sourceforge.net/).
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38337817
sherzod_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kT_________Добрый день.
Прошу поделиться опытом решения таких задач.

С одной стороны ява_код либо ява приложение, с другой стороны С++_код либо С++ приложение. Требуется со стороны С++ обрабатывать данные с потока вывода и передавать Яве(коду или приложению) и принимать данные от Ява (кода или приложения) всё надо делать асинхронно и кроссплатформенно(желательно) но можно и просто под Посикс.

В Ява ветке пишут что нет возможности использовать Буст::Спирит из JNI, (да, со стороны С++ либо код Спирита, либо скомпилинный код), т.е. если код не вызвать (и нужно ли? там наверно жудкие тормоза) значить компилить парсеры, считывать поток вывода и как то его отдавать Ява приложению, варианты:

1.WSDL поделитесь историями успеха? есть библиотеки или как это прикрутить?
2. Через БД, был опыт исопльзования МуСКЛ С++ АПИ, впечатление оставил неизгладимое, с учетом того что парсеров не мало, между собой они не связаны, придется писать ЦУП с пулами, которому каждый парсер будет отдавать/принимать инфу, но прогресс не стоит на месте, новые стандарты.. м б ОРМы есть, но чувствую это не самый простой вариант.
3.Доменные сокеты Посикса, тсп-айпи, очереди.. и прочие артефакты из книг Стивенса)))

Коллеги, подскажите что в тренде, как передать данные межды С++ и Явой, асинхронно, кроссплатформенно, и без голавников со стороны плюсов. Благодарю!

Какое сборище модно-бесполезных терминов. Еще не хватает обязательного слова "энтерпрайз". И совершенно не понятно какое boost::spirit (библиотека DSL для создания не самых быстрых, простых парсеров) имеет отношение к ipc. Еще судя по вашему посту, не понятно что вы хотите, какое именно взаимодействие. Поэтому вам начали советовать совершенно различные вещи начиная от пайпов, файлов заканчивая SOAP-ом.

То что вы называете "передавать данные между двумя приложениями" может иметь абсолютно различные виды. Например сюда можно засунуть следующие: browser<->webserver, dbclient <->dbserver, главный процесс - порожденные процессы для обслуживания подключений, и уйма других видов, каждый из которых имеет свои требования (скорость, надежность, персистентность, сессионность, кол-во подключений, транзакционность, и мн. др.)

Чтобы получить правильные советы, нужно дать четкую постановку задачи.
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38337887
MasterZivВ тренде -- я наверное посоветовал бы SOAP или Messaging.
А в чем вообще преимущества этого SOAP помимо тренда по сравнению с передачей по TCP-IP данных сериализованных любым способом?
SOAP по сути это передача данных в XML-формате поверх прикладного протокола. Чем это лучше, чем передача XML по TCP-IP или чем передача не-XML по TCP-IP, тем что обеспечивается прямая совместимость при добавлении новых параметров в XML?
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38337909
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в чем преимущества SOAP?,

Ну, во-первых это стандарт, во-вторых при написании клиента тебе остается сгенерить STUB по WSDL для целевой платформы, чтобы система "заиграла". А так, конечно, можно и самопал - никто не запрещает.
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38337989
kT_________
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий Широковв чем преимущества SOAP?,

Ну, во-первых это стандарт, во-вторых при написании клиента тебе остается сгенерить STUB по WSDL для целевой платформы, чтобы система "заиграла". А так, конечно, можно и самопал - никто не запрещает.
согласен, с сетью кода больше руками писать, даже если его и генерить а не писать ;)

Мне понравился вариант через очереди ActiveMQ либы для плюсов прикрутил, ночью хелловорд попробую в яву отправить. Файлы во временной ФС как план Б)))
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38338509
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kT_________Анатолий Широковв чем преимущества SOAP?,

Ну, во-первых это стандарт, во-вторых при написании клиента тебе остается сгенерить STUB по WSDL для целевой платформы, чтобы система "заиграла". А так, конечно, можно и самопал - никто не запрещает.
согласен, с сетью кода больше руками писать, даже если его и генерить а не писать ;)

Мне понравился вариант через очереди ActiveMQ либы для плюсов прикрутил, ночью хелловорд попробую в яву отправить. Файлы во временной ФС как план Б)))

Там примеров дофига в библиотеках AMQ-шных.
Доаументация как бы не очень хорошая, но зато примеры правильные и много.
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38338512
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в чем преимущества SOAP?MasterZivВ тренде -- я наверное посоветовал бы SOAP или Messaging.
А в чем вообще преимущества этого SOAP помимо тренда по сравнению с передачей по TCP-IP данных сериализованных любым способом?
SOAP по сути это передача данных в XML-формате поверх прикладного протокола. Чем это лучше, чем передача XML по TCP-IP или чем передача не-XML по TCP-IP, тем что обеспечивается прямая совместимость при добавлении новых параметров в XML?

Совместимость чего с чем ? Старой версии программы с новой ? Её не будет даже в SOAP, на сколько я помню.

А так, HTTP даёт дополнительно возможность шифрации и сжатия, задаёт собственно протокол обмена (при работе через TCP его нужно делать самому или брать готовый, типа STOMP или XMPP), возможности задавать параметры и возможность аутентификации.

SOAP сверху по сравнению с голым XML даёт в общем мало чего, там какие-то общесистемные служебные возможности, не помню.
Но главное от SOAP -- это возможность генерации автоматической кода по маршалингу/демаршалингу XML-я. Хотя её наверное можно прикрутить руками и в случае использования чистого XML, только вот вопрос -- зачем?
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38339011
kT_________
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АктивМКу, ода! Примеров много, документацию особо не глядел. Примеры душевные, но установка долгоиграющая. Ставил активмку-спп часть много зависимостей ..пути к заголовкам, библиотекам - сурово для Убунту(((, сам сервис - пользователи, права, папки..куча конфигов. Норм, работает.Спасибо за совет.
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38339015
kT_________
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kT_________АктивМКу, ода! Примеров много, документацию особо не глядел. Примеры душевные, но установка долгоиграющая. Ставил активмку-спп часть много зависимостей ..пути к заголовкам, библиотекам - сурово для Убунту(((, сам сервис - пользователи, права, папки..куча конфигов. Норм, работает.Спасибо за совет.

Больше одного конфига уже куча;)
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38339546
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovkT_________нет в Яве такого простого и гибкого решения. А! и быстрого)))

В яве вообще нет ничего быстрого. По определению.


Это миф из девяностых.

По определению ява как раз может работать быстрей, речь конечно о серверной jvm, т.к. она делает оптимизацию вместе с либами, основываясь при этом на профиле исполнения и конкретном железе. Напрмиер, тривиальные геттеры-сеттеры внутри либы она может заинлайнить, чего плюсы не могут сделать даже теоретически.

Сегодняшняя ява идентичный с плюсами код компилит в идентичный же асм, в этом можно убедиться, запустив jvm с плагином hdis. Единственное большое отличие си - соглашения о передаче параметров через стек. Изза этого в си сильно убивается производительность на рекурсивных программах типа факториала и ява работает раза в 3 быстрей. Во всех остальных случаях асм весьма оптимален -> скорость идентична. Т.е. я хочу сказать, что на сегодня 99% тормозов связаны с говнокодом, который есть и в плюсовых и в явовских либах.

и мой реальный опыт это подтверждает. Написав говняную либу "правильно" ее можно разгнать во много раз. Лично я порвал json_spirit раз в 100 по производительности своим парсером на яве.
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38339842
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это миф из девяностых.

Ну в общем да...

По определению ява как раз может работать быстрей, речь конечно о серверной jvm, т.к. она делает оптимизацию вместе с либами, основываясь при этом на профиле исполнения и конкретном железе. Напрмиер, тривиальные геттеры-сеттеры внутри либы она может заинлайнить, чего плюсы не могут сделать даже теоретически.


Почему же не могут? Могут, и делают...
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38340574
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapok,

плюсы умеют инлайнить больше чем ты просишь, в том числе и тела библиотечных функций.
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38341136
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий Широковплюсы умеют инлайнить больше чем ты просишь, в том числе и тела библиотечных функций.JIT может не только встроить то, что можно встроить "прям щас", но и отменить встраивание, если ситуация изменилась. Прямо в процессе исполнения.
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38341292
kamre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chabapokНаписав говняную либу "правильно" ее можно разгнать во много раз.
А можно для примера какую-нибудь не "говняную" либу (или уже разогнанную) для комплексных чисел (или там двух/трехмерных векторов)? Чтобы операции с большими массивами этих комплексных чисел (векторов) по скорости не уступали C++, где все данные будут одним куском лежать без лишней косвенности.
...
Рейтинг: 0 / 0
Межпроцесное взаимодействие с Ява приложением или кодом.
    #38341336
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
холивор "Производительность Java vs C++" - заканчиваем.
Следующие сообщения на эту тему будут убиваться.
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Межпроцесное взаимодействие с Ява приложением или кодом.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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