WCF - Главный "Маршрутизатор" - PullRequest
       10

WCF - Главный "Маршрутизатор"

0 голосов
/ 18 августа 2011

Мое задание - создать приложение для мобильного устройства (например, iphone / android / BB / etc ..), цель этого приложения - сообщить пользователям, что на сайте есть что-то новое, а затем показать список (внутри приложения) показывая последние обновления.

Компания настояла на том, чтобы я использовал ASP.NET/C#/Visual Studio и использовал протокол SOAP.

Я начал работать с C # и затем использовал так называемый WCF.

У меня уже кое-что работает.(Например, «поглощение» WCF из приложения для Android и получение данных обратно).

Мой вопрос - с какой «Архитектурой» лучше всего работать для разработки мобильных приложений?Я думал о том, чтобы иметь только 1 WCF, а затем вызвать общую функцию, такую ​​как Do () (или другое имя :)), а затем добавить заголовок мыла, где вы можете определить, что вы хотите, чтобы служба выполняла.Как получение записи из базы данных или пинг, или что-то еще, все, что может понадобиться компании в будущем :)

Как это будет работать:

Клиент (мобильное приложение) сделаетвызов WCF, и в заголовке мыла есть состояния, скажем, он хочет зарегистрировать телефон с идентификатором устройства.WCF получит запросы на мыло, извлечет заголовок и использует какой-то переключатель, чтобы решить, что ему нужно сделать.Как только он узнает, что для выполнения WCF будет, например, доступ к некоторым локальным классам для вставки / извлечения данных базы данных или что-то еще, и когда это будет сделано, он просто вернет то, что нужно.(Как знак ОК или данные или что-то еще ..:)).

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

Извините, если это запоздалый вопрос, но я новичок в WCF и разработке мобильных приложений, и я пытаюсь предоставить отличный продукт в конце моей стажировки.Мне просто интересно, какую «архитектуру» вы, ребята, предлагаете использовать для такого рода заданий.


РЕДАКТИРОВАТЬ

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

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

-Можно, как один файл WCF, который «расходуется», который содержит все различные операции?

-Можно ли аутентифицировать клиента (С использованием заголовков Soap Обязательно) в начале WCF и после этого вызвать нужную операцию?

1 Ответ

1 голос
/ 19 августа 2011

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

Вы можете использовать общую операцию (MessageAction = "*"), но затем вам придется самостоятельно обрабатывать сериализацию / десериализацию сообщений.Однако, если у вас нет веских причин для этого, я бы предложил, чтобы правильно структурированные операции были лучшим способом.Они гораздо более ремонтопригодны.Вы по-прежнему можете вносить изменения в реализацию на сервере, не влияя на клиента, до тех пор, пока контракт сообщений не изменится.Реальность такова, что если вы хотите изменить сообщение или контракты на работу, вам все равно придется вносить изменения в клиентов.После рассмотрения этого подхода, основанного на «контракте», есть только положительные и отрицательные стороны.

...