2011-02-10 3 views
2

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

Мы используем ASP.net и C# в качестве технологии. Мы хотим предоставить веб-услуги, чтобы они могли подключаться и выполнять базовые манипуляции getusers(), updateListring() и т. Д.

Что мне интересно, когда вы пишете webservice в C#, может ли любой клиент получить доступ к этому? Это просто технология независимая? Могли ли они написать сайт в php или сценарии на python или даже C++ и использовать мыльный комплект для вызова веб-сервиса?

Если нет, то каковы мои варианты, позволяющие людям получить доступ к нашей программе .net-технологии независимо?

Что относительно WCF? Я принимаю это только .net.

ответ

1

Степень совместимости в значительной степени зависит от типов данных, которые передаются и выходят - если вы придерживаетесь простых типов/примитивов, таких как строки/целые числа и т. Д., Тогда другим клиентам легче получить к ним доступ. Если вы вернетесь. NET конкретных объектов, таких как наборы данных, будет трудно взаимодействовать.

Также вам нужно подумать, сможете ли вы их обеспечить. Если вы используете WCF, например, это реализует WS-Security 1.1 и SOAP 1.2 - клиенты должны быть знакомы с этими стандартами.

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

Я предлагаю строить простой прототип и создают ряд тестовых клиентов в ожидаемых клиентских технологиях, чтобы доказать совместимость (цитировать «Прагматический программист» уволить некоторые tracer bullets)

+0

+1 - хорошая четкая сводка –

0

я хотел бы добавить, что лучшим универсальным решением было бы для webservice создавать либо xml, либо json-данные. это затем разрезает технологию boudaries, позволяя данные потреблять php, java, .net или любую другую независимую платформу. Если безопасность/логины не были проблемой, и это был общедоступный API, то вы могли бы использовать asp.net mvc как чисто веб-сервис RESTFul без каких-либо учетных данных безопасности. Это было бы очень просто настроить и контролировать.

Ваша конечная игра должна заключаться в достижении «открытого стандарта», тем самым не связывая потребителей с определенной технологией.

+0

хорошо, если я разработал простой asp.net webservice, это может быть использовано php, java, .net и т. Д.? Его просто xml и мыло в конце дня, не так ли? – Exitos

+0

Пит, maxReceivedMessageSize - 65536 байт, будьте осторожны, сколько xml вы отправляете. вы можете настроить возвращаемые данные как xml/json/whatever. вы также можете увеличить предел maxReceivedMessageSize. посмотрите здесь: http://weblogs.asp.net/hajan/archive/2010/07/13/transferring-large-data-when-using-web-services.aspx. Тип возврата для веб-службы по умолчанию - SOAP (формат XML). вы можете изменить это, установив ** ResponseFormat ** (либо как объект JSON, либо структурированный XML). см. также: http://netindonesia.net/blogs/haritianp/archive/2010/08/22/consuming-json-web-service-with-asp-net-and-jquery.aspx –

Смежные вопросы