Отдельная презентация / веб-сервисы - PullRequest
2 голосов
/ 15 января 2009

Является ли хорошей практикой разработка веб-сервиса и веб-сайта на двух разных языках на двух разных серверах? Например. сейчас я создаю веб-сервис Java, работающий на уровне представления Glassfish и Ruby on Rails, работающем на одном сервере.

Я бы хотел оставить веб-сервис на том же сервере, но использовать Ruby 1.9, работающий в Passenger.

Это хорошая идея? У меня нет опыта в архитектуре веб-приложений.

Ответы [ 4 ]

0 голосов
/ 06 сентября 2010

Зависит от того, насколько они похожи.

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

Примечание. Это не то же самое, что запутывание уровней, поскольку ваши представления по-прежнему отделены от вашей бизнес-логики.

С точки зрения Ruby-on-Rails, «веб-сервис» и «веб-сайт» часто взаимозаменяемы, поскольку они представляют собой один и тот же код, с отличающимися только шаблоном представления (HTML для веб-сайта, XML для веб-сервис). Если вы с самого начала создавали архитектуру RESTful, то этого можно добиться с минимальным дублированием и без правильного разделения всех прикладных уровней.

0 голосов
/ 15 января 2009

Технически, да, вы наверняка можете это сделать. Это одно из преимуществ использования WS. Они совместимы.

Тем не менее, я хотел бы рассмотреть эту мысль, если бы кто-то еще поддерживал ее и имел опыт работы только с одной из двух платформ (RoR или Java). Всегда лучше спросить: -)

0 голосов
/ 11 июня 2009

С точки зрения архитектуры системы, да, это «хорошая практика». Под добром я подразумеваю, что он достигает целей, не причиняет вреда и обеспечивает разделение интересов.

Я занимался разработкой архитектуры с аналогичной структурой. Пользовательский интерфейс .NET и использует веб-службы Java. Эти веб-службы затем отвечают за все взаимодействие с постоянными носителями, сторонними компонентами и т. Д.

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

Еще одна вещь; после использования двух разных технологий в пользовательском интерфейсе и WS в течение последних 8 лет я понял, что большинство проблем - организационные, а не технические. Например, труднее найти новых разработчиков, обладающих обоими навыками, необходимыми для поддержки вашего приложения. В конечном итоге вам нужно найти эксперта по одному, а затем обучить его другой технологии.

0 голосов
/ 15 января 2009

Если вы напишете первый веб-сервис по контракту, который использует и производит XML, вы можете общаться с любым клиентом, который может сделать HTTP-запрос GET или POST в соответствующем формате. МЫЛО или ОТДЫХ, не имеет значения.

Я написал веб-сервисы Java / Spring, которые начинались с XSD. Клиент Yahoo UI RIA взял WSDL, сделал HTTP POST для отправки документа запроса и отобразил ответ XML в красивой сетке данных.

...