Лучшие практики серверных сценариев или веб-сервисов - PullRequest
0 голосов
/ 13 ноября 2009

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

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

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

Ответы [ 3 ]

1 голос
/ 13 ноября 2009

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

RSTanvir

1 голос
/ 13 ноября 2009

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

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

1 голос
/ 13 ноября 2009

Я смотрю на это так:

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

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

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

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

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

Поскольку это иногда сбивает с толку, и передовой опыт, я предлагаю следующее:

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

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

Лучший, Lance

...