SlideShare a Scribd company logo
06 | HTTP Services with Web API 
Bruno Terkaly | Technical Evangelist 
Bret Stateham | Technical Evangelist
Module Overview 
• Service Frameworks Review 
• Creating Web API Services 
• Consuming Web API Services 
• Configuring Routes
Service Frameworks Review
Web Services “Through the Years” 
WCF “Brand” 
• WCF “Classic” 
• WCF Data Services 
• WCF RIA Services 
• WCF Web HTTP 
ASP.NET “Brand” 
• ASP.NET Web Services (ASMX) 
• ASP.NET MVC 
• ASP.NET Web API 
• ASP.NET Web API Odata 
• ASP.NET SignalR 
Blatantly stolen from Daniel Roth’s Tech Ed 2013 “Serious Web Services” Session
SOAP vs. REST 
? 
SOAP REST 
• XML Based Messaging 
• Contains Envelopes, Headers, Body 
• Can be sent over any transport 
• WS* added Security, Reliability, Transactions… 
• WCF is a full SOAP/WS* Framework 
• REpresenation State Transfer 
• Matches Architecture of the web 
• REST Service =<usually>= HTTP Service 
• Leverage HTTP methods (GET,POST,DELETE…) 
• Web API is a way to create an HTTP Service
SOAP Client Support 
Proxy Generator No Simple Proxy Generator
REST Client Support 
HTTP Client
Creating Web API Services
ASP.NET Web API 
• Open source: aspnetwebstack.codeplex.com 
– Nightly builds 
• Web API 2 shipped with VS2013 
• Learn more at asp.net/web-api
Creating a Web API 
• Derive from ApiController 
• Implement Actions 
• Actions map to HTTP methods (GET, POST, PUT, DELETE) 
– Either prefix your action method name with HTTP verb: GetCustomer 
– Use Attributes if you want to name your action methods differently 
• [HttpGet] 
• [HttpPost] 
• [HttpPut] 
• [HttpDelete]
DEMO 
Creating Web API Services
Consuming Web API Services
Consuming HTTP Clients 
• Build your client side models (optional) 
• Use the HttpClient to call REST Service URLs 
– Set headers 
– Query String 
– Body (for POST and PUT) 
• Use a JSON Serializer / Deserializer (Like Json.NET) 
– Map objects to JSON (Serializer) 
– Map JSON to Objects (Deserializer)
DEMO 
Consuming Web API Services
Configuring Web API Services
Configuring Routes 
• Routes map URI templates to ApiControllers 
– Default Route: api/{controller}/id 
– {controller} + “Controller” = ApiContoller type name 
– HTTP Verb (Get, Post, Put, Delete) is used to determine action 
– {id} is passed as an argument to the action method 
• For example: 
– An HTTP GET to http://mysite.com/api/customer/1 
– {controller} = “customer” => CustomerController class 
– HTTP GET implies method that starts with the word “Get” 
– {id} value looks for a Get(object id) method and passes {id} as arg
DEMO 
Configuring Routes
©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in 
the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because 
Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information 
provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot

MSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure FunctionsMSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure Functions
Marc Obaldo
 
EXPERTALKS: Feb 2013 - Rise of the Single Page Application
EXPERTALKS: Feb 2013 - Rise of the Single Page ApplicationEXPERTALKS: Feb 2013 - Rise of the Single Page Application
EXPERTALKS: Feb 2013 - Rise of the Single Page Application
EXPERTALKS
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4Jon Galloway
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NET
Marcin Tyborowski
 
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...
Sencha
 
AWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWS
AWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWSAWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWS
AWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWS
AWS Chicago
 
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep DiveGIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
probertdaniel
 
Angular 2 with typescript
Angular 2 with typescriptAngular 2 with typescript
Angular 2 with typescript
Tayseer_Emam
 
Tips and Tricks for Building Visual Studio Workflows
Tips and Tricks for Building Visual Studio WorkflowsTips and Tricks for Building Visual Studio Workflows
Tips and Tricks for Building Visual Studio Workflows
Malin De Silva
 
Understanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsUnderstanding SharePoint Framework Extensions
Understanding SharePoint Framework Extensions
BIWUG
 
A Simpler Web App Architecture (jDays 2016)
A Simpler Web App Architecture (jDays 2016)A Simpler Web App Architecture (jDays 2016)
A Simpler Web App Architecture (jDays 2016)
Gustaf Nilsson Kotte
 
Angular js firebase-preso
Angular js firebase-presoAngular js firebase-preso
Angular js firebase-preso
Avinash Kondagunta
 
Using RESTFUL APIs in ANGULARJS
Using RESTFUL APIs in ANGULARJSUsing RESTFUL APIs in ANGULARJS
Using RESTFUL APIs in ANGULARJS
Mindfire Solutions
 
Building Office 365 solutions with React
Building Office 365 solutions with ReactBuilding Office 365 solutions with React
Building Office 365 solutions with React
Waldek Mastykarz
 
SPSBE18: New era of customizing site provisioning
SPSBE18: New era of customizing site provisioningSPSBE18: New era of customizing site provisioning
SPSBE18: New era of customizing site provisioning
Olli Jääskeläinen
 
Featfures of asp.net
Featfures of asp.netFeatfures of asp.net
Featfures of asp.net
DivyaDev9
 
Angular4 kickstart
Angular4 kickstartAngular4 kickstart
Angular4 kickstart
Foyzul Karim
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NET
Marcin Tyborowski
 
Blazor certification training - Dot Net Tricks
Blazor certification training - Dot Net TricksBlazor certification training - Dot Net Tricks
Blazor certification training - Dot Net Tricks
Gaurav Singh
 
Angularjs & REST
Angularjs & RESTAngularjs & REST
Angularjs & REST
Corley S.r.l.
 

What's hot (20)

MSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure FunctionsMSDN Sessions 032817 - Azure Functions
MSDN Sessions 032817 - Azure Functions
 
EXPERTALKS: Feb 2013 - Rise of the Single Page Application
EXPERTALKS: Feb 2013 - Rise of the Single Page ApplicationEXPERTALKS: Feb 2013 - Rise of the Single Page Application
EXPERTALKS: Feb 2013 - Rise of the Single Page Application
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NET
 
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...
 
AWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWS
AWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWSAWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWS
AWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWS
 
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep DiveGIB2021 - Dan Probert - BizTalk Migrator Deep Dive
GIB2021 - Dan Probert - BizTalk Migrator Deep Dive
 
Angular 2 with typescript
Angular 2 with typescriptAngular 2 with typescript
Angular 2 with typescript
 
Tips and Tricks for Building Visual Studio Workflows
Tips and Tricks for Building Visual Studio WorkflowsTips and Tricks for Building Visual Studio Workflows
Tips and Tricks for Building Visual Studio Workflows
 
Understanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsUnderstanding SharePoint Framework Extensions
Understanding SharePoint Framework Extensions
 
A Simpler Web App Architecture (jDays 2016)
A Simpler Web App Architecture (jDays 2016)A Simpler Web App Architecture (jDays 2016)
A Simpler Web App Architecture (jDays 2016)
 
Angular js firebase-preso
Angular js firebase-presoAngular js firebase-preso
Angular js firebase-preso
 
Using RESTFUL APIs in ANGULARJS
Using RESTFUL APIs in ANGULARJSUsing RESTFUL APIs in ANGULARJS
Using RESTFUL APIs in ANGULARJS
 
Building Office 365 solutions with React
Building Office 365 solutions with ReactBuilding Office 365 solutions with React
Building Office 365 solutions with React
 
SPSBE18: New era of customizing site provisioning
SPSBE18: New era of customizing site provisioningSPSBE18: New era of customizing site provisioning
SPSBE18: New era of customizing site provisioning
 
Featfures of asp.net
Featfures of asp.netFeatfures of asp.net
Featfures of asp.net
 
Angular4 kickstart
Angular4 kickstartAngular4 kickstart
Angular4 kickstart
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NET
 
Blazor certification training - Dot Net Tricks
Blazor certification training - Dot Net TricksBlazor certification training - Dot Net Tricks
Blazor certification training - Dot Net Tricks
 
Angularjs & REST
Angularjs & RESTAngularjs & REST
Angularjs & REST
 

Viewers also liked

04 data accesstechnologies
04 data accesstechnologies04 data accesstechnologies
04 data accesstechnologiesBat Programmer
 
02 hosting servicesinwindowsazure
02 hosting servicesinwindowsazure02 hosting servicesinwindowsazure
02 hosting servicesinwindowsazureBat Programmer
 
1. WCF Services - Exam 70-487
1. WCF Services - Exam 70-4871. WCF Services - Exam 70-487
1. WCF Services - Exam 70-487Bat Programmer
 

Viewers also liked (6)

05 entity framework
05 entity framework05 entity framework
05 entity framework
 
03 data storage
03 data storage03 data storage
03 data storage
 
07 advanced topics
07 advanced topics07 advanced topics
07 advanced topics
 
04 data accesstechnologies
04 data accesstechnologies04 data accesstechnologies
04 data accesstechnologies
 
02 hosting servicesinwindowsazure
02 hosting servicesinwindowsazure02 hosting servicesinwindowsazure
02 hosting servicesinwindowsazure
 
1. WCF Services - Exam 70-487
1. WCF Services - Exam 70-4871. WCF Services - Exam 70-487
1. WCF Services - Exam 70-487
 

Similar to 06 web api

Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
BlueMetalInc
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
Tiago Knoch
 
SFDC Inbound Integrations
SFDC Inbound IntegrationsSFDC Inbound Integrations
SFDC Inbound Integrations
Sujit Kumar
 
Cert05 70-487 - developing microsoft azure and web services
Cert05   70-487 - developing microsoft azure and web servicesCert05   70-487 - developing microsoft azure and web services
Cert05 70-487 - developing microsoft azure and web servicesDotNetCampus
 
Externalizing Authorization in Micro Services world
Externalizing Authorization in Micro Services worldExternalizing Authorization in Micro Services world
Externalizing Authorization in Micro Services world
Sitaraman Lakshminarayanan
 
AWS Summit Barcelona 2015 - Introducing Amazon API Gateway
AWS Summit Barcelona 2015 - Introducing Amazon API GatewayAWS Summit Barcelona 2015 - Introducing Amazon API Gateway
AWS Summit Barcelona 2015 - Introducing Amazon API Gateway
Vadim Zendejas
 
Web Development using ASP.NET MVC at HEC
Web Development using ASP.NET MVC at HECWeb Development using ASP.NET MVC at HEC
Web Development using ASP.NET MVC at HECAdil Mughal
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
Kashif Imran
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...Liam Cleary [MVP]
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
John Calvert
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
Madhaiyan Muthu
 
Windows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside worldWindows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside world
Prabhakaran Soundarapandian
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
Talbott Crowell
 
ADO.NET Data Services
ADO.NET Data ServicesADO.NET Data Services
ADO.NET Data Services
ukdpe
 
SharePoint and Office Development Workshop
SharePoint and Office Development WorkshopSharePoint and Office Development Workshop
SharePoint and Office Development Workshop
Eric Shupps
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech Day
TechMaster Vietnam
 
Web API with ASP.NET MVC by Software development company in india
Web API with ASP.NET  MVC  by Software development company in indiaWeb API with ASP.NET  MVC  by Software development company in india
Web API with ASP.NET MVC by Software development company in india
iFour Institute - Sustainable Learning
 
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
BIOVIA
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
Mark Roden
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
Mark Leusink
 

Similar to 06 web api (20)

Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
SFDC Inbound Integrations
SFDC Inbound IntegrationsSFDC Inbound Integrations
SFDC Inbound Integrations
 
Cert05 70-487 - developing microsoft azure and web services
Cert05   70-487 - developing microsoft azure and web servicesCert05   70-487 - developing microsoft azure and web services
Cert05 70-487 - developing microsoft azure and web services
 
Externalizing Authorization in Micro Services world
Externalizing Authorization in Micro Services worldExternalizing Authorization in Micro Services world
Externalizing Authorization in Micro Services world
 
AWS Summit Barcelona 2015 - Introducing Amazon API Gateway
AWS Summit Barcelona 2015 - Introducing Amazon API GatewayAWS Summit Barcelona 2015 - Introducing Amazon API Gateway
AWS Summit Barcelona 2015 - Introducing Amazon API Gateway
 
Web Development using ASP.NET MVC at HEC
Web Development using ASP.NET MVC at HECWeb Development using ASP.NET MVC at HEC
Web Development using ASP.NET MVC at HEC
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
Windows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside worldWindows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside world
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
 
ADO.NET Data Services
ADO.NET Data ServicesADO.NET Data Services
ADO.NET Data Services
 
SharePoint and Office Development Workshop
SharePoint and Office Development WorkshopSharePoint and Office Development Workshop
SharePoint and Office Development Workshop
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech Day
 
Web API with ASP.NET MVC by Software development company in india
Web API with ASP.NET  MVC  by Software development company in indiaWeb API with ASP.NET  MVC  by Software development company in india
Web API with ASP.NET MVC by Software development company in india
 
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 

06 web api

  • 1. 06 | HTTP Services with Web API Bruno Terkaly | Technical Evangelist Bret Stateham | Technical Evangelist
  • 2. Module Overview • Service Frameworks Review • Creating Web API Services • Consuming Web API Services • Configuring Routes
  • 4. Web Services “Through the Years” WCF “Brand” • WCF “Classic” • WCF Data Services • WCF RIA Services • WCF Web HTTP ASP.NET “Brand” • ASP.NET Web Services (ASMX) • ASP.NET MVC • ASP.NET Web API • ASP.NET Web API Odata • ASP.NET SignalR Blatantly stolen from Daniel Roth’s Tech Ed 2013 “Serious Web Services” Session
  • 5. SOAP vs. REST ? SOAP REST • XML Based Messaging • Contains Envelopes, Headers, Body • Can be sent over any transport • WS* added Security, Reliability, Transactions… • WCF is a full SOAP/WS* Framework • REpresenation State Transfer • Matches Architecture of the web • REST Service =<usually>= HTTP Service • Leverage HTTP methods (GET,POST,DELETE…) • Web API is a way to create an HTTP Service
  • 6. SOAP Client Support Proxy Generator No Simple Proxy Generator
  • 7. REST Client Support HTTP Client
  • 8. Creating Web API Services
  • 9. ASP.NET Web API • Open source: aspnetwebstack.codeplex.com – Nightly builds • Web API 2 shipped with VS2013 • Learn more at asp.net/web-api
  • 10. Creating a Web API • Derive from ApiController • Implement Actions • Actions map to HTTP methods (GET, POST, PUT, DELETE) – Either prefix your action method name with HTTP verb: GetCustomer – Use Attributes if you want to name your action methods differently • [HttpGet] • [HttpPost] • [HttpPut] • [HttpDelete]
  • 11. DEMO Creating Web API Services
  • 12. Consuming Web API Services
  • 13. Consuming HTTP Clients • Build your client side models (optional) • Use the HttpClient to call REST Service URLs – Set headers – Query String – Body (for POST and PUT) • Use a JSON Serializer / Deserializer (Like Json.NET) – Map objects to JSON (Serializer) – Map JSON to Objects (Deserializer)
  • 14. DEMO Consuming Web API Services
  • 16. Configuring Routes • Routes map URI templates to ApiControllers – Default Route: api/{controller}/id – {controller} + “Controller” = ApiContoller type name – HTTP Verb (Get, Post, Put, Delete) is used to determine action – {id} is passed as an argument to the action method • For example: – An HTTP GET to http://mysite.com/api/customer/1 – {controller} = “customer” => CustomerController class – HTTP GET implies method that starts with the word “Get” – {id} value looks for a Get(object id) method and passes {id} as arg
  • 18. ©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Editor's Notes

  1. 1