Мост между Java и C#
Мне дали задание создать мост между C# и Java. Было сказано, что если мы сейчас используем C#, а затем получаем файл Java откуда-то еще, мы должны иметь возможность преобразовать этот файл Java в.NET, чтобы он мог быть совместим с нашим программным обеспечением. Проблема в том, что я не знаю, что делать или как начать эту задачу. Любые предложения или советы?
Было сказано, что я первоначально должен сделать платформо-независимые классы, если это поможет.
* Изменить: Извините, если я не был ясен в первый раз, потому что я не до конца понимаю задачу, поэтому я здесь. Но из того, что я понимаю, мне нужно создать сам мост, где я могу вызывать исходный код Java из моего файла.NET. У меня есть несколько месяцев, чтобы закончить его, поэтому я предполагаю, что мне нужно сделать каждую библиотеку на Java совместимой с C#.
Я искал помощи и нашел несколько похожих проектов: JNBridge(оплата за использование), Tangible(бесплатная демоверсия) и Janett(открытый исходный код), так что именно на этом я основываю свое мнение.
** Редактировать: скажем, например, я создаю класс калькулятора в Java. Я хотел бы создать экземпляр этого класса в C#.
3 ответа
Я никогда не использовал это, IKVM.NET, возможно, стоит проверить.
IKVM.NET - это реализация Java для Mono и Microsoft .NET Framework. Включает в себя следующие компоненты:
- A Java Virtual Machine implemented in .NET - A .NET implementation of the Java class libraries - Tools that enable Java and .NET interoperability
Однажды я видел это недавно, когда работал с проприетарной CMS на основе.NET. Эта сборка использовалась, но я не уверен, в каком качестве.
Из вашего объяснения того, что вы хотите, чтобы ваш мост делал, JNBridge вполне может решить вашу проблему и сэкономить много времени, изобретая велосипед. Если у вас есть какие-либо вопросы, пожалуйста, свяжитесь с нами по JNBridge - есть контактная ссылка на сайте. (Раскрытие информации: да, я работаю на JNBridge.)
В зависимости от ситуации существует большое количество технологий интеграции, которые можно использовать для соединения двух систем. Фактически, существует целая парадигма архитектуры программного обеспечения, посвященная этой теме, которая называется Сервис-ориентированная архитектура. Любой из методов, используемых для межсервисной связи, может использоваться для интеграции любых двух систем, независимо от их размера. Конечно, есть и компромиссы, но всегда есть.
Без гораздо большей информации о задействованных системах и необходимом уровне интеграции будет очень трудно найти окончательный ответ на этот вопрос.