简体   繁体   中英

How do we implement a technology independent web interface to our software?

We have a piece of web software that users log in and administrate. We need to provide a way for them to write scripts that can automate the tasks that they do so they don't need to log in using web forms.

We use ASP.net and c# as a technology. We want to provide web services to allow them to connect and performs basic manipulations getusers(), updateListring() etc.

What I'm wondering is when you write a webservice in c# can any client access this? Is it just technology independent? Could they write a site in php or a script in python or even c++ and using a soap kit call the web service?

If not what are my options to allow people to access our .net software technology independent?

What about WCF? I take it this only .net.

The degree of interoperability depends to a large degree on the data types that are passed in and out - if you stick to simple types / primitives such as strings / integers etc then it is easier for other clients to access it. If you return .net specific objects such as datasets it will be difficult to interoperate.

Also you need to consider if you will secure these. If you use WCF for example this implements WS-Security 1.1 and SOAP 1.2 - the clients will need to be conversant in these standards

In principle web-services should be interoperable across clients, although in reality you can enounter vendor specific issues that can cause problems (eg the .net datasets example).

I'd suggest building a simple prototype and creating a number of test clients in the expected client technologies to prove the interoperability (to quote 'The pragmatic programmer' to fire some tracer bullets )

i'd add that the best universal solution would be for the webservice to produce either xml or json data. this then cuts across the technology boudaries, allowing the data to be consumed by php, java, .net or any other independent platform. If security/logins weren't an issue and it was a public API, then you could use asp.net mvc as purely a RESTFul webservice with no security credentials being required. This would be VERY simple to setup and monitor.

your end game should be to achieve an 'open-standard', thereby not tying consumers into a particular technology.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM