Лучшие практики Серверные сценарии или веб-службы

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

В настоящее время я работаю над приложением Flex и все больше и больше не понимаю, когда использовать серверные сценарии, а когда разрабатывать веб-сервисы. Для большинства функций, над которыми я работаю, я беру различные файлы у пользователя (клиента), загружаю на сервер для обработки / преобразования, а затем отправляю обратно клиенту в новом формате.

Я выполняю большую часть этого, используя файлы общих обработчиков asp.net (ashx), но не очень уверен, что это лучшая практика. Но в то же время имеет ли смысл создание веб-сервисов? Что для этого будет считаться лучшей практикой? Любые предложения будут ценны.


person user163757    schedule 13.11.2009    source источник


Ответы (3)


Я смотрю на это следующим образом:

  1. Веб-службы означают установленную передовую практику.

Для большей части нашей разработки нам не нужно создавать «веб-службы» или то, что я думаю, когда я думаю о REST, SOAP и Twitter API. Вам нужно только начать это делать, когда у вас есть то, что вы собираетесь использовать каждый день в течение многих лет.

  1. Чистый и СУХИЙ код приведет вас к созданию веб-службы

Если вы потратите время на четкое определение частей своей архитектуры загрузки-процесса-рендеринга и обнаружите, что ее можно применить практически ко всему, что вы делаете, тогда все, что вам нужно сделать, чтобы сделать ее веб-службой, - это определить четкую , 1-2-3 свод правил использования системы (данные GET / POST и т. Д.). Пока вы сознательно строите архитектуру на всем пути, вы в конечном итоге создаете веб-службу, если она того стоит. Иначе в этом нет необходимости.

Похоже, у вас четкий рабочий процесс, но я ничего не знаю об asp.net.

Что касается того, что иногда сбивает с толку, и передовых методов, я предлагаю следующее:

  1. Создайте проект библиотеки Flex для классов Flex «общей обработки файлов ashx». Дайте ему классное простое имя.
  2. Создайте проект библиотеки .NET, который инкапсулирует всю логику обработки файлов на стороне сервера. Разместите его в Интернете и сделайте его открытым. Рекомендую github. Проверяйте его по ходу работы и документируйте его, его цель и теорию, лежащую в основе этого.
  3. Если на этом этапе вам больше не нужно работать, а это просто «подключи и пихай», значит, вы, вероятно, пришли к чему-то, что могло бы стать веб-службой, хотя это, вероятно, произойдет через несколько лет.

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

С уважением, Лэнс

person Lance Pollard    schedule 13.11.2009

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

Р.С.Танвир

person RSTanvir    schedule 13.11.2009

Flash / Flex использует простой подход HTTP POST для загрузки файлов, поэтому попытка сделать это с помощью веб-служб SOAP будет проблематичной. Ваш подход к использованию ASHX здесь кажется мне разумным.

Чтобы отправлять / получать данные, не основанные на файлах (например, список файлов, загруженных пользователем ранее), я бы рекомендовал посмотреть открытый исходный код Библиотека Fluorine FX. Fluorine использует AMF, который является высокопроизводительным способом передачи данных с помощью Flash. Он также полностью основан на конфигурации, что означает, что вам не нужно кодировать какой-либо из его API, просто настройте Fluorine для предоставления ваших классов служб .NET. Вы можете легко добавить атрибуты к тем же классам, чтобы представить их как веб-службы SOAP через WCF, если вам это понадобится в будущем. Однако я бы не рекомендовал использовать SOAP с Flex из-за потери производительности, а также из-за того, что реализация SOAP Flex имеет историю ошибок и проблем совместимости.

person cliff.meyers    schedule 13.11.2009
comment
Спасибо за отзыв о Flourine FX. Похоже, это может быть хорошим решением для того, что мне нужно. - person user163757; 14.11.2009