Гессен - это настраиваемый протокол двоичной сериализации (я думаю, с открытым исходным кодом), который формирует основу для двоичной кроссплатформенной инфраструктуры удаленного взаимодействия. Я хотел бы знать, использовал ли кто-нибудь его здесь, и если да, то какой производительности мы можем ожидать от решения, которое соединяет приложение Java с одной стороны с приложением C# с другой. (Допустим, мы сериализуем простые классы, а это могут быть массивы, списки, словари простых классов.)





Это проблема, для решения которой были разработаны веб-службы. Хотя формат SOAP уже не является простым, он позволяет вам сериализовать объекты в представление XML в приложении Java / C#, передавать их по сети и десериализовать их в соответствующем приложении Java / C# (Java / C# может быть заменен практически любым языком который может переводить XML-документ). Хотя здесь используется «сериализация», этот процесс также часто называют «маршалингом».
Однако в настоящее время многие рассматривают отказ от SOAP для веб-служб. Узнайте больше о веб-сервисах из Википедии: http://en.wikipedia.org/wiki/Web_services
Вы смотрели проект HessianC# (http://www.hessiancsharp.org/)?
Признание, что «мыло чрезмерно спроектировано», а затем похвала реализации, которая не является инженерной / реферативной, - это все равно, что я пишу эту статью на французском языке, а затем прошу вас использовать Google Translate, чтобы прочитать ее, а затем на английском хвалить Google Translate.
Бинарные протоколы - это путь в будущее. Если вы готовы написать «умный» код, вы будете благодарить себя за то, что он работает именно так, как был запрограммирован и разработан для работы.
Все, что требуется, - это одна скрытая служба Soap, чтобы перевести вашу архитектуру SOA в режим «исключений» ... Я называю это режимом «исключений», потому что компании с SOA, реализованными в мыле (READ: XML), реализуют исключения вокруг SOA всякий раз, когда они сталкиваются с транзакционный тип обмена данными, при котором очень большие записи могут считываться последовательно.
* (Я могу только представить себе разговоры о реализации SOAP после публикации)
Итак, у вас есть SOA? :Да Все? : Ну все, кроме наших критически важных для бизнеса транспортов ...
Проверьте веб-службы WSO2 и их ESB, пока вы это делаете - вы еще раз поблагодарите себя, если вы это сделаете. Есть причина, по которой Mule, а затем WSO2 оказали поддержку HESSIAN. Вы также можете прочитать: http://java.sun.com/developer/technicalArticles/WebServices/fastWS/
Я являюсь автором jni4net, межпроцессного моста с открытым исходным кодом между JVM и CLR. Он построен на базе JNI и PInvoke. Код C / C++ не требуется, и он должен быть относительно быстрым. Я не уверен, что сортировка по ссылке через границу решит вашу проблему.
+1 SOAP может быть чрезмерно спроектированным, но, к счастью, у нас есть другие чрезмерно спроектированные части программного обеспечения, которые могут упростить его использование. В .NET вызов функции SOAP так же прост, как вызов обычной функции.