Кто-нибудь портировал WebMachine (написанный на Erlang) на Java? - PullRequest
2 голосов
/ 16 марта 2012

Я был бы удивлен, если бы никто не портировал инструментарий Basho WebMachine, написанный на Erlang (http://wiki.basho.com/Webmachine.html), на Java, но, похоже, я не могу его найти!

Я знаю, что существуют различные попытки использования Java REST toolkits (JAX-RS, RESTlets, 1060 NetKernel и т. Д.), Но мне не нужна чья-то интерпретация стиля REST - я просто хочу «исполняемую модель HTTP», это именно то, чем кажется WebMachine, но я хочу это в Java (то есть не в Ruby, Python, Clojure и т. д. портах ...!). Конечно, WebMachine не настолько «функционален», что его нелегко перенести на Java, но, возможно, я ошибаюсь (я подозреваю, что это действительно так)…?

Для справки, я реализовал свою собственную попытку WebMachine в Java много лет назад (построенную на основе Apache HTTPClient), но он реализовал только очень маленькое подмножество спецификации HTTP, и я действительно не хочу воскрешать этот код (написанный с JDK 1.4) и расширяющий его для всех функций HTTP, которые я никогда не удосужился понять или реализовать.

Ответы [ 5 ]

0 голосов
/ 29 июля 2015

JAX-RS 2.0 - это «исполняемая модель HTTP», или как вы хотите ее называть. Иди с Джерси Glassfish, вы не будете разочарованы. Это определенно RESTfulness и стиль агностик. Я утверждаю, что основанный на аннотациях подход JAX-RS / Jersey гораздо более мощный, чем основанный на интерфейсе подход Webmachine.

0 голосов
/ 20 сентября 2013

Я написал порт на основе порта Ruby Webmachine, он называется Bishop и по большей части остается довольно близко к порту.

Страница проекта GitHub

0 голосов
/ 29 марта 2012

В веб-машине у вас есть много обратных вызовов, которые вы можете определить и экспортировать, например resource_exists, to_json, to_html и т. Д., И делать то же самое в java не будет наилучшим образом, потому что вы получите многостандартный код.

В Java вы можете использовать такие вещи, как spring mvc framework для создания веб-ресурсов.

0 голосов
/ 09 июля 2012

Взгляните на веревку для белья . Он написан на Clojure, но в описании говорится, что он доступен для всех языков JVM.

0 голосов
/ 16 марта 2012

Я не знаю ничего подобного в Java, но как насчет Netty ?

Как они его обозначают:

Netty - платформа сетевых приложений, управляемых асинхронными событиями. для быстрой разработки поддерживаемого высокопроизводительного протокола серверы и клиенты.

Он построен на основе NIO и позволяет переключаться между протоколами без необходимости изменения остальной части вашего приложения.

...