Click to edit Master title style • Click to edit Master text styles – Second level • Third level – Fourth level » Fifth level Liberate Your Apps! Philippe Leefsma Senior Developer Consultant Autodesk Developer Network Autodesk Confidential Information Click toGetting edit Master Started title style • Windows Click to edit Communication Master text styles Foundation (WCF) – Second http://msdn.microsoft.com/enlevel us/library/ms731082.aspx • Third level – Fourth level » Fifth level Cloud Hosting Providers http://www.windowsazure.com http://aws.amazon.com Autodesk Confidential Information Click to edit Master title style • Click to edit Master text styles WCF Web Services – Second level • Third level Migrate your Application logic – Fourth level to thelevelcloud… » Fifth Autodesk Confidential Information is WCFtitle ? style Click to What edit Master Windows Communication Foundation is • Click to edit Master text styles Microsoft's next-generation programming – Second level platform and runtime system for building, • Third level configuring and deploying network-distributed – Fourth level services » Fifth level (Source MSDN) Autodesk Confidential Information Click toWCF editUnification Master title style • Click to edit Master text styles – Second level • Third level – Fourth level » Fifth level Autodesk Confidential Information - ABC Click toWCF editBasics Master title style "ABC" is the key to understand how a WCF composed: • service Click toisedit Master text styles – Second level "A" stands for Address: • Third level Where is level the service? – Fourth » Fifth level "B" stands for Binding: How do clients talk to the service? "C" stands for Contract: What can the service do for a client? Autodesk Confidential Information Data Contract Click to edit Master title style [DataContract] public class AdnMaterial { [DataMember] public string Name { – Second level get; set;level • Third } • Click to edit Master text styles – Fourth level [DataMember] public double Price » Fifth level { get; set; } } [DataMember] public string Manufacturer { get; set; } Autodesk Confidential Information Service Contract Click to edit Master title style [ServiceContract] public interface IMaterialSrv • Click { to edit Master text styles [OperationContract] – Second level AdnMaterial[] GetMaterials(); • Third level –[OperationContract] Fourth level » Fifth level AdnMaterial GetMaterial( string materialName); } [OperationContract] bool PostMaterial( AdnMaterial material); Autodesk Confidential Information Implementing Services Click to edit Master title style public class MaterialSrv : IMaterialSrv • Click { to edit Master text styles public – Second level MaterialSrv() { • Third level //Constructor... – Fourth level } » Fifth level public AdnMaterial[] GetMaterials() { //Implementation... } //Implementation other methods... } Autodesk Confidential Information bindings Click toService edit Master title style A binding a service contract • Click to editbinds Master text styles implementation to an address. – Second level • Third level This includes: – Fourth level » Fifthan levelappropriate Choosing transport protocol Choosing how messages are encoded Defining how security works Autodesk Confidential Information a Service Click toHosting edit Master title style • The options arestyles available to host a Clickfollowing to edit Master text WCF Service: – Second level • Third level Self-hosting in any managed .NET application – Fourth level Winform, WPF, console Application, … » Fifth level Hosting in a Windows service Hosting in IIS ASP.Net Direct Hosting Autodesk Confidential Information Click to edit WCF Master Demotitle style • Click to edit Master text styles – Second level • Third level – Fourth level » Fifth level Autodesk Confidential Information Requests Click toHTTP edit Master title style • World Wide Web (WWW) Click to edit Master text styles Web of resources – Second level Resources reference each other • Third level Resources can be of many types Fourth level images, services, html pages) (e.g., –documents, » Fifth level URI identifies resources (Uniform Resource Identifier) HTTP used to access resources 9 methods (a.k.a. verbs): GET, PUT , POST , DELETE , … HEAD, OPTIONS, TRACE, CONNECT, PATCH Autodesk Confidential Information Click to edit SOAP Master title style • SOAP Click to stands edit Master for Simple textObject styles Access Protocol – Second level • Third for levelexchanging structured Protocol – Fourth level information through Web Services » Fifth level Relies on XML for its message format, and Application Layer protocols like HTTP or SMTP for message transmission Autodesk Confidential Information Click to edit REST Master title style • REST Representational Click stands to editfor Master text styles State Transfer – Second REST is anlevel architectural style that exploits HTTP • Third level protocol – Fourth level » Fifth level Provides an easier way of data access comparing with SOAP Good solution for interoperability between web services and mobile platforms or browsers Autodesk Confidential Information REST Services Click to editWeb Master title style Why REST? • Click to edit Master text styles REST is a lightweight alternative to SOAP – Second level • Third level SOAP: – Fourth level SOAP REST <?xml version="1.0"?> » Fifth level <soap:Envelope xmlns:soap="http://www.w3.org/2003/12/soapenvelope"> <soap:Body pb="http://www.adesk.com/memberdb"> <db:GetDeveloperDetails> <db:DeveloperID>12345</db:DeveloperID> </db:GetDeveloperDetails> </soap:Body> </soap:Envelope> http://www.adesk.com/memberdb/DeveloperDetails/12345 Autodesk Confidential Information SOAPMaster vs REST Click to edit title style SOAP • Supports Click to edit styles onlyMaster GET andtext POST – Second level All data is in the xml message • Thirdtolevel Resource access – Fourth level Function to execute » Fifth level REST Uses all HTTP verbs: GET, POST, PUT, DELETE, … Resource is identified by URI Function is identified by the HTTP verb Autodesk Confidential Information Click to edit JSON Master title style JSON (JavaScript Object Notation) is a • Click to editdata Master text styles lightweight exchange format – Second level JSON is a level text format easy for humans to read • Third – Fourth levelfast for machines to parse and and write and generate » Fifth level One of the most popular exchange format in web services at the moment Autodesk Confidential Information JSON vs XML Click to edit Master title style { "Manufacturer":"ADN", • Click to edit Master text styles –"Name":"Steel", Second level • Third level "Price":"100.0" – Fourth level } » Fifth level <?xml version="1.0" encoding="UTF-8" ?> <Manufacturer>ADN</Manufacturer> <Name>Steel</Name> <Price>100.0</Price> Autodesk Confidential Information Adding RESTMaster Support in WCF Click to edit title style • [ServiceContract] public interface IMaterialSrv { Click to edit Master text styles [OperationContract] [WebInvoke( – Second level = "GET", Method UriTemplate = "/Material/{materialName}", • Third level ResponseFormat = WebMessageFormat.Json)] – Fourth levelGetMaterial(string materialName); AdnMaterial » Fifth level [OperationContract] [WebInvoke( Method = "POST", UriTemplate = "/Material", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] bool PostMaterial(AdnMaterial material); } Autodesk Confidential Information Click to edit Master title style • Click to edit Master text styles Deployment – Second level on the Cloud • Third level Azure Example illustrated… – Fourth level » Fifth level Autodesk Confidential Information ClickStep to edit I - Azure Master project title style • Click to edit Master text styles – Second level • Third level – Fourth level » Fifth level Autodesk Confidential Information Click Step to2edit - Package MasterCreation title style • Click to edit Master text styles – Second level • Third level – Fourth level » Fifth level Autodesk Confidential Information Click Stepto3 edit - Azure Master Deployment title style • Click to edit Master text styles – Second level • Third level – Fourth level » Fifth level Autodesk Confidential Information Click to edit StepMaster 4 - Testtitle style • Click to edit Master text styles – Second level • Third level – Fourth level » Fifth level Autodesk Confidential Information Getting Started withtitle Android Click to edit Master style programming • Click to edit Master text styles – Second level Install Eclipse http://www.eclipse.org/downloads/ • Third level – Fourth level » Fifth level Install Android SDK http://developer.android.com/sdk/installing.html Get started with Android development http://developer.android.com/guide/index.html Autodesk Confidential Information Getting Started Click to edit Masterwith titleiOS style programming • Click to edit Master text styles – Second level Install Xcode Downloadable • Third level from App Store Mac application – Fourth Includes SDKlevel and iOS Simulator » Fifth level Get started with iOS development https://developer.apple.com/devcenter/ios/index.action Autodesk Confidential Information Click to edit Master title style • Click to edit Master text styles – Second level • Third level – Fourth level » Fifth level Autodesk Confidential Information