Преобразование служб Java в службы.NET 4.0 (WCF)
Мы должны конвертировать около 100+ сервисов, написанных на Java, в.NET (C#) 4.0 . Мы пытаемся оценить усилия для этой работы. Я пытаюсь выяснить, доступны ли какие-либо инструменты для этого преобразования / миграции, и есть ли опыт использования этих инструментов в реальных проектах.
Нам нужен некоторый указатель для оценки различных возможных способов выполнения этой работы.
- Любые инструменты конвертера или контрольные списки для преобразования сервисов Java в сервисы WCF
- С помощью средств автоматизации, сколько кодов конвертируется? Любая статистика, например, X % усилий, может быть сохранена и т. Д.
- Каким будет качество сгенерированного кода? Мы ищем.NET/C# 4.0 с WCF
- Был ли инструмент удобным для пользователя? Сколько стоит обучение?
- Если есть какой-либо опыт выполнения конвертации вручную, пожалуйста, поделитесь какими-либо рекомендациями, используемыми для конвертации, и любыми советами для оценки усилий.
Я гуглил, чтобы узнать список доступных инструментов конвертации. Пожалуйста, поделитесь любым опытом использования любого из следующих преобразований Java в.NET / C#
Помощник по преобразованию языка Java 2.0 - Помощник по преобразованию языка Java - это инструмент, который автоматически преобразует существующий код языка Java в Visual C#
Janett - Переводчик Java в.Net - Janett переводит синтаксис Java, конструирует и вызывает библиотеки Java для аналогов C# / .Net.
CSharpJavaMerger Framework - бесплатный и открытый инструмент преобразования C# и Java
Java 2 CSharp Translator для Eclipse - этот инструмент позволяет автоматически переводить Java-проекты Eclipse в проекты Visual Studio. Сгенерированный код может быть напрямую скомпилирован и выполнен без каких-либо пользовательских изменений.
Tangible Softwaresolutions - не бесплатная, но выглядит полезной.
Sharpen - руководство по Sharpen - отличному инструменту для преобразования Java в C# ( http://www.pauldb.me/post/14916717048/a-guide-to-sharpen-a-great-tool-for-converting-java)
1 ответ
Из преобразователей Java в C#, перечисленных в исчерпывающем резюме выше, несколько проектов активно не поддерживаются в течение нескольких лет.
- Помощник по преобразованию языка Java был поставлен с Visual Studio 2003 и 2005 и с тех пор прекращен
- Последний выпуск Janett, который я смог найти, был в 2007 году.
- CSharpJavaMerger Framework - более свежий проект, но с ограниченной документацией для его поддержки.
- Java 2 CSharp Translator для Eclipse активно разрабатывался еще в 2011 году. Тем не менее, ограниченная документация для его поддержки требует интеграции с Eclipse.
Таким образом, два наиболее многообещающих проекта - это, вероятно, коммерческий Конвертер Java в C# от Tangible Software Solutions и альтернатива с открытым исходным кодом Sharpen (первоначально разработанная Versant). Оба этих продукта довольно хорошо справляются с задачей преобразования Java в код C#, но в любом случае вам следует ожидать значительного ручного просмотра и исправления преобразованного кода.
Sharpen необходимо подключить к Eclipse, а также необходимо выполнить предварительную настройку вручную, чтобы запустить преобразование. Конфигурация описана более подробно здесь. Самый простой способ начать работу с Sharpen - это получить готовый подключаемый модуль Eclipse из репозитория NGit Github. Sharpen, как было доказано, делает довольно внушительную конверсионную работу; например, он используется для преобразования JGit в NGit. Sharpen "on steriods" также используется для преобразования исходного кода JVM для Android / Dalvik в C# в проекте XobotOS. К сожалению, версия XobotOS Sharpen не легко применима к другим конверсионным проектам.
Я также попробовал демонстрационный конвертер Tangible, и он, кажется, тоже неплохо справляется с конвертацией. В частности, я оценил простой в использовании графический интерфейс с хорошими отчетами о конверсиях. Еще одним преимуществом является то, что он может работать автономно, то есть не существует Eclipse или другой зависимости IDE. Продукт также активно поддерживается (последний выпуск выпущен в июле 2012 года), и с коммерческим продуктом вы также должны ожидать хотя бы некоторой технической поддержки.
Независимо от вашего выбора, вы должны быть готовы к серьезному пересмотру и исправлению кода. Я рекомендую начать с тестирования обоих этих продуктов на нескольких сервисах, подлежащих конверсии, чтобы получить приблизительную оценку того, действительно ли (полу) автоматизированное преобразование Java в C# действительно стоит усилий и инвестиций.