Recommendations for .NET Restful Web Service - vb.net

I need to create a RESTful web service in VB.net. I can't find any code examples or information on this that isn't a few years old. What are my options? Are there 3rd party libraries most people use? Should I be using an MVC (5, 6?) project? The only information I can find is from 2010-2011 and I want to use the latest/greatest technology available.
Anything that can point me in the right direction or how to research this further would be helpful.

REST is a very old technique to implement webservices. Not as old as SOAP.
I created a webservice with Java on Tomcat a few weeks ago but had to watch some tutorials. Those are also 4 to 5 years old. You can use these tutorials as well because standards don't change that much.
If you would like to create a webservice in Java (JAX-RS) I can send you some good sites with tutorials. :)

Related

What framework should I choose to build a WCF Restful API

I am wanting to build a Restful API using WCF however I am struggling to make a decision on how to accomplish this.
The WCF Rest Starter Kit was developed for .Net 3.5 and has not progressed past Preview 2. Although it can be used within the current .NET Framework and within Visual Studio 2010 it seems from my research to be dead in the water and superseded by the new WCF Web API which is currently in Preview 5.
On the other hand the WCF Web API is only at preview stage and should not really be used in a production application as many things could possibly change before its release. There is also no indication if its nearing completion and if it’s going to be in the next .NET Framework release and when that is intended to be.
I find myself between rock and a hard place and look to the wider community to provide me with some guidance on this if at all possible.
You should regard this tweet from Glenn Block.
Using ASP.NET MVC for building a Restful API should be straight forward and easy way to do it.
However I've used WCF Web Api with WCF Rest Contrib in production without any problems.
See
Creating REST API with ASP.NET MVC that can speak both JSON and Plain Xml
RESTful Services With ASP.NET MVC
ASP.NET MVC – Create easy REST API with JSON and XML
Maybe OpenRasta is what you are looking for?
See also
RESTful framework alternatives to WCF
I depends on your application. If its a Website (also has views) that offers the REST API using ASP.NET MVC would be less technology, less effort, less know-how etc.
If its JUST an REST API choose what you like more from development style: ASP.NET MVC or WCF Web API

Is the WCF Web.API safe for production applications?

The WCF Web.API hasn't been incorporated into the .NET Framework as of the date of this post. Is it safe to use this library in production code or is it's only usefulness for testing at the moment ?
I'm using it in production.
Albeit it is not allowed at the moment to use it in production at your customers site.
But your customer can get the dependencies using Nuget...
And btw: Web API will be out of band release like ASP.NET MVC is.
While I personally have not implemented a production application with WCF web API, I know several people who have. I have not heard them report any issues that would cause me to question it's production readiness. That being said, WCF Web API is an open source project, so you can browse the code yourself to get a feeling for how sound the code is.

Is WCF the way to go for a RESTful webservice in MS environment

I want to learn doing RESTful webservices. I have surfed the web some hours and think that I have a good overview over what RESTful services are and now want to build my first service-application. I have a good small project that seems perfectly suited for doing it with a RESTful webservice.
I have seen that WCF has the ability to build RESTful webservices. My question is, if it is reasonable and efficient to write RESTful webservices with WCF or if there are better suited alternatives for writing such services in the Microsoft programing environment.
(As additional information, I already have experience in using WCF, but more in using it in a RPC-way. But I don't think that this is important for my question anyway).
WCF supports RESTful services via the webHttpBinding. This works but doesn't give you alot of control for working with the HTTP protocol itself (although some things got better in 4.0)
The next version is going to have a lot more support for RESTful services. The team are being very open about the new Web API so if you are not about to put something into production then I'd start with the new API
WCF is perfectly valid and very capable of handling REST services - you won't go wrong with that!
And there are a couple of alternatives out there, too - check them out and see which one suits your needs best:
RestSharp
OpenRasta
RestDotNet (clients only)
and probably quite a few more....

is WCF REST Starter Kit no longer the way to go ahead and creat Restful services?

maybe the question is so lame but this thing is confusing me a lot. there is a screencast series on http://msdn.microsoft.com/en-us/netframework/wcf-screencasts and WCF Starter kit in use there.
But the project was done on .net 3.5 and now I would love to create my restful wcf services on .net 4. when I install the wcf starter kit, the project templates are not on the project list on VS 2010. So, should I use wcf starter kit dll files on my .net projects or not?
The way I am doing now is to add the references manually which comes from wcf starter kit to my project.
Thanks.
The REST Starter kit ended in second preview version and it's not developed any more. You can still use it but it's beta version without any support.
WCF 4 included some parts from starter kit and made REST developement in WCF easier but it still don't have all features from the starter kit. There is also separate project taking other features from REST Starter Kit and including a lot more. It will probably be part of next major WCF release.

Guidance on .net web services

It's been a few years since I've done web services. I remember it to be fairly simply to create and consume one. In my current position, I work in a large organization and we use a lot of DB2 stored procedures the mainframe guy write for us to get at HR data.
I'm now starting on a new HR project and rather than having the same ol' data access code that is in most of our other HR apps, I suggested we write a code library DLL that did all this work and just use this DLL in our HR apps from here on out. Once I suggested this, my manager thinks this is a great idea, but he wants it done in web services.
My manager has now tasked me with researching options for securing these web services would be. He wants me to tell him if we should use WCF with this and if the Java developers in the organization will be able to use the web services I create.
I have done quite a few web searches and haven't found information that specifically answers these questions. Is there anyone here with experience in doing this and could answer the qeustions regarding the security, WCF (which I know little about), and interoperability with other platforms (Java)?
Thanks!
WCF is the current approach for building service end points in .NET apps. It's flexible in supporting different transport channels and protocols. You can certainly expose SOAP Web Services from WCF and use them from Java clients or anything else that supports XML.
The old way of doing that in .NET, simple ASMX Web services is deprecated in favor of WCF. It doesn't have all the bells and whistles of WCF but it's very simple to use. Personally, I still like it and use it in very simple Web services where WCF is an overkill.
As Mehrdad mentions (and I totally agree), WCF is the current offering my Microsoft for most cases.
ASMX is great and simple - but it's very limited in many ways:
you can only host your web services in IIS
you can only reach your web services over HTTP
security is very limited
WCF remedies this - and offer much more beyond that. You can host your WCF services in IIS - or self-host in a console app or Win NT Service, as need be. You can connect your WCF services using HTTP, TCP/IP, MSMQ, Peer-to-peer protocols, named pipes for on-machine communications and much more.
I'd definitely recommend you check out WCF and give it a spin. It's a tad more complex than ASMX, but it also offer just sooo much more capabilities and choices!
As for resoures: there's the MSDN WCF Developer Center which has everything from beginner's tutorials to articles and sample code.
Also, I would recommend you have a look at the Pluralsight screen casts on WCF - it's an excellent series going from "Creating your first WCF service" and "Creating your first WCF client" all the way to rather advanced topics. Aaron Skonnard very nicely explains everything in 10-15 minutes screencasts - highly recommended!