Сравнение между Sun Metro и Apache CXF для разработки веб-сервисов?
-
05-07-2019 - |
Вопрос
Каковы относительные сильные и слабые стороны между Sun Metro и Apache CXF для разработки веб-сервисов на Java. Есть ли еще какие-то рамки, на которые мне следует обратить внимание?
Решение
Я был на вашем месте несколько месяцев назад и в итоге стал присматриваться к метро.
Для меня особенность убийства заключалась в том, что Metro использует стандартные аннотации, чтобы представить данный метод в виде веб-службы и , чтобы весь связующий код мог генерироваться автоматически во время выполнения. То есть никаких дополнительных шагов при сборке, развертывании и работе в стандартном контейнере сервлетов (я полагаю, 2.5) в Java 5, которая является нашей текущей платформой развертывания, не требуется.
Это очень хорошо сработало для нас. Р>
Причина, по которой я обратился к стандартным аннотациям , заключается в том, что наши приложения, как правило, живут буквально в течение десятилетий, после чего требуется некоторая поддержка. Кодируя интерфейс вместо реализации, мы можем поменять все леса под кодом без изменения кода, реализующего веб-сервис. Через десять лет (или более) любая конкретная реализация, возможно, засохла и умерла, но с тех пор другие реализации могли подняться и быть немедленно подключаемыми.
Просто посмотрите, сколько вариантов у вас есть сегодня для контейнера сервлета ... В этом сила хорошего API!
<Ч>Редактировать: очевидно, среда выполнения Java 6 включает в себя стек Metro и минимальный веб-сервер. Другими словами, одна JRE может быть заменой лесов, упомянутых выше: D
Другие советы
И Metro, и CXF являются стеками веб-служб, совместимыми с JAX-WS, и с точки зрения времени выполнения между ними очень мало выбора.
Однако CXF обладает значительно лучшей документацией, а также гораздо большей гибкостью и дополнительной функциональностью, если вы хотите выйти за пределы спецификации JAX-WS. На основании только документации я бы выбрал CXF в течение каждого метрополитена.
Однако я бы выбрал Spring WebServices вместо Metro или CXF. Он не совместим с JAX-WS, но я не считаю это проблемой. Это также значительно проще и значительно более гибко, чем любой из них. Настоятельно рекомендуется.