Стратегия SOAP to Restlets для нескольких методов - PullRequest
0 голосов
/ 08 июня 2011

Я работал с библиотекой Restlet последние пару недель, и, насколько я вижу, это довольно впечатляюще.Способность определять общий интерфейс для потребления как клиентом, так и сервером превосходит любые грязные мыльные структуры, с которыми я работал.

Однако, что-то беспокоило меня, что я просто могу пройти:

Есть ли хороший способ определить Рестлеты множеством методов?

Мой основной пример использования заключается в том, что у меня есть мыльный веб-сервис, содержащий около 10-15 методов.Как я понимаю, если я хочу перевести это в Restlet, мне нужно будет разделить это на 8-15 интерфейсов в зависимости от того, какие методы становятся методами get, а не post или put - я не думаю, что вы можете иметь более одногометод глагола (get, post, put и т. д.) для интерфейса.Это похоже на громоздкое и неуклюжее решение.

Я думал об использовании некоторой техники фабрики \ карты, чтобы смягчить это - но я хотел убедиться, что сначала я не пропустил что-то лучшее.

Спасибо

Ответы [ 2 ]

3 голосов
/ 10 июня 2011

Даже если исходить из SOAP-фона, может быть удивительно, что вы замечаете, что это действительно хорошо, потому что ваш веб-API становится все более и более RESTful.

В REST / HTTP методы являются стандартными иограничено (по замыслу) и чтобы компенсировать это, мы создаем столько ресурсов / URis, сколько необходимо.

Что касается JAX-RS, он не имеет одинаковой клиент-серверной однородности.Я бы порекомендовал остаться с основным API Restlet в целом, так как он более мощный / расширяемый.

Если бы вы могли перечислить имена ваших методов, это помогло бы предложить правильное сопоставление с ресурсом и методами HTTP, я неуверен, что вам нужно столько интерфейсов в конце.Даже в этом случае реализация на стороне сервера будет проще и удобнее в обслуживании, что также имеет свои преимущества.

Надеюсь, это поможет

1 голос
/ 08 июня 2011

Для Restlet имеется расширение JAX-RS . JAX-RS предоставляет аннотацию @Path, которая используется для идентификации URI ресурса. Пути могут быть привязаны либо к типу, либо к методу. Затем контейнер должен выполнять маршрутизацию вместо явного определения правил маршрутизатора.

...