Должен ли я придерживаться axis2c или перейти на Apache подмигнуть? - PullRequest
2 голосов
/ 03 февраля 2011

У нас есть встроенный веб-сервис Axis2 / c, в котором методы в свою очередь вызывают собственное приложение на сервере. Так как Axis2 / c был широко признан хорошим с точки зрения производительности и стабильности, мы придерживались его. Но теперь мы пытаемся сделать его RESTful [не полностью, хотя я больше стремлюсь сделать его действительно RESTful, на этот раз я не смог победить :(].

Я не смог найти хороших учебников по сервисам RESTful в axis2 / c. Но поиск по google & stackoverflow вызвал у меня интерес к apache. Должен ли я отойти от оси 2 / с? Если так, то это хороший выбор? Я разработчик точечной сети, так что я довольно новичок в этом мире, но какой из них будет отвечать потребностям? Пожалуйста, предложите также другие рамки.

Мои опасения:

  1. производительности
  2. безопасность
  3. делает сервис настолько простым, что разработка на стороне клиента становится довольно простой
  4. Используемый механизм аутентификации.

PS: я знаю, что задавал много вопросов, извините, но я просто любопытный новичок.

1 Ответ

3 голосов
/ 04 февраля 2011

Я постараюсь ответить на вопросы:

  1. Производительность: когда речь идет о REST (ну, на самом деле, то же самое и с SOAP), большая часть времени тратится на сериализацию / десериализацию объектов (при условии, что фактическая логика приложения очень быстрая). В SOAP вы должны сериализовать в xml, а в Axis2 у вас есть выбор, какой фреймворк использовать. Например, вы можете использовать JiBX, который, вероятно, делает это лучше всего.
    В REST вы можете решить, хотите ли вы сериализовать в xml или использовать другое представление (например, json), которое будет быстрее.
    Около 1,5 лет назад я провел некоторое сравнение сред REST, и фактически Wink показал лучшую производительность в большинстве сценариев (я сравнил его с Jersey, Restlet и Resteasy). Чтобы игнорировать часть сериализации, я заставил их всех использовать одну и ту же реализацию JAXB. Но опять же: большая часть времени уходит на сериализацию. Так что разница между фреймворками не так уж велика.

  2. Безопасность - Wink, как и любой другой веб-сервис RESTful, основан на HTTP. Это не обеспечивает никакой дополнительной безопасности. Вы можете использовать SSL / TSL или обычную / дайджест-аутентификацию. Вы можете использовать SAML, или как хотите. Просто каждый второй HTTP-вызов.

  3. Это ваш дизайн. Если вы сделаете это просто, это будет просто:)

  4. Опять же: это HTTP. Если у вас есть SSL / TSL, вы можете использовать обычную аутентификацию. Если нет, вы можете использовать дайджест.

Краткое резюме: лично я предпочитаю веб-сервисы RESTful SOAP. Хотя вы не получаете весь стек WS *, он лучше определен, более гибок и понятен.
Apache Wink - это отличный фреймворк, хорошо документированный с большим количеством примеров, и, вероятно, он удовлетворит все ваши потребности, но, честно говоря, Джерси тоже неплох.

...