Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
REST with Silverlight 5, WCF ASP.NET Web API, and a little MVC 4 (AKA: Let’s see how many product names will fit in a session title) (or, the live version of part of chapters 21 and 22 of Silverlight 5 in Action) Pete Brown Developer Community Program Manager, Microsoft http://10rem.net, Twitter: @pete_brown, [email protected] Where to find help Our Community Sites silverlight.net windowsclient.net asp.net dev.windows.com MSDN: msdn.microsoft.com My Blog: 10rem.net Will include any updated source/examples REST in a Nutshell REpresentational State Transfer Relies on verbs Primarily GET, PUT, POST, DELETE The architecture of the web The 6 REST Constraints Client-Server A clear separation of concerns Stateless The server should not store any client context information between requests. Each request is autonomous Cacheable Server indicates which content is cacheable, just as we do with pages and images today Layered Client is not concerned with whether or not it is connected to a specific server, a proxy, or something else Code on-demand Server can send logic to the client to execute. For example, Java applets or Silverlight apps Uniform interface URIs. Self-descriptive messages (media types, cacheability, etc.) What RESTful Services get you Instantly accessible to any client which can make web requests No need for client proxies, stubs, envelopes and the other stuff we have to deal with Especially important with the proliferation of connected microcontrollers Cacheable using normal web-aware mechanisms Scalable for the same reason Flexible if you go with a full hypermedia approach WCF ASP.NET Web API An API that supports you in building RESTful APIs Does not impose REST constraints Does not get in your way Architected to rely on and exploit HTTP fully, not just as a generic transport Written by the WCF Team at Microsoft. Now available as part of ASP.NET MVC 4 This Example Serves Silverlight Client Uses ASP.NET MVC Data ASP.NET Web API Primarily focus on the Silverlight client and Web API Server. Project Internal corporate application Shared across many divisions Control some, but not all, clients Goals and constraints Use RESTful approaches to make API available to as many clients as possible No fat Soap envelope No proprietary WCF formats Make it really easy for Silverlight (or other owned clients) to use the resources Don’t want to recreate entities For V1, don’t worry about security (Boy, was that convenient!) Stuff with semicolons and curly braces … and the occasional angle bracket DEMO Summary Web API for RESTful “services” Web API Now part of ASP.NET MVC Silverlight + MVC play together nicely Create a Razor helper for hosting Silverlight Linked files to share model definitions Conditional compilation or partial classes for platform-specific features My book has awesome demos Where to find help Our Community Sites silverlight.net windowsclient.net asp.net dev.windows.com MSDN: msdn.microsoft.com My Blog: 10rem.net Will include any updated source/examples Twitter: @pete_brown Mail [email protected]