Вопрос о шаблоне дизайна для начинающих (задействованы веб-службы)

Я нуб в мире веб-сервисов. Мне нужно разработать модуль проверки входа и предоставить его как услугу. Я хочу, чтобы он был независимым от службы, т.е. у меня должна быть возможность выставить его как службу SOAP или службу REST в будущем.

Какому шаблону я должен следовать? Извините, если я неясен в своих требованиях, я могу уточнить по мере необходимости.

Спасибо !!

Редактировать: я использую Eclipse в качестве библиотеки IDE и Джерси. Я не использую какие-либо рамки, просто использую шаблон MVC. Я нахожу много различий между методами SOAP и REST, поэтому я хочу, чтобы мои методы не зависели от реализации, т.е. я должен был легко использовать свой метод через вызов службы SOAP или REST по мере необходимости. Что я должен сделать для максимальной гибкости?


person zombie    schedule 11.01.2011    source источник


Ответы (2)


Выбор хорошей среды MVC и понимание того, как ее правильно использовать, могут помочь гарантировать, что ваша функция не зависит от службы. Большая часть документации, которую я прочитал для хороших фреймворков, предлагает вам хранить свою бизнес-логику отдельно от вашего контроллера.

Если вы прочитаете документацию по используемым вами инструментам и убедитесь, что между вашей бизнес-логикой и вашими контроллерами существует прослойка, то это значительно облегчит работу по переключению с SOAP на REST или какой-либо другой протокол.

Поскольку вы упомянули, что используете Eclipse в своем комментарии ниже, я предполагаю, что вы используете или хотите использовать Java:

Рестлеты http://www.restlet.org/

Spring 3.0 REST http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/

person jmort253    schedule 11.01.2011
comment
Спасибо jmort за ответ. Я использую Eclipse, но такого инструмента не встречал. Не могли бы вы помочь? - person zombie; 11.01.2011
comment
@Zombie - Spring 3.0 имеет действительно отличную архитектуру REST, но я бы также рекомендовал проект Restlets, поскольку их действительно легко настроить. Однако с Restlets будьте осторожны, чтобы сохранить слой между вашей бизнес-логикой и API Restlet, например, не передавайте объекты запроса или что-либо, специфичное для платформы, в ваших классах. - person jmort253; 11.01.2011
comment
Я хотел бы указать, что я уже использую трикотажную реализацию для REST. - person zombie; 11.01.2011
comment
@Zombie - что бы вы ни использовали, просто убедитесь, что ни один из классов из кода фреймворка не смешивается с вашим кодом службы проверки входа, и вы можете легко перенести его на любой интерфейс, который вы хотите. - person jmort253; 11.01.2011

  1. Развивайте свой сервис как POJO. Удостоверьтесь, что соблюдаете staless образец.
  2. Создайте класс EndPoint для каждого требуемого типа публикации (Soap, Rest, EJB, JMS и т. д.)
  3. Используйте соответствующий стандарт для раскрытия EndPoint. Для Soap and Rest API и реализации JAX-WS могут сделать это за вас, используя аннотации java на вашем EndPoint.

Вот и все !

person snowflake    schedule 11.01.2011