Building and Using Web Services with ASP.NET Rob Howard Program Manager.NET Framework Team Microsoft Corp.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Intesar G Ali IT DepartmentPalestinian Land Authority Web services Prepared by: Intesar Ali IT Department PLA August 2010.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
1 Understanding Web Services Presented By: Woodas Lai.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
XML Web Services in Visual Studio ®.NET NameTitleCompany.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
What is.NET?. The Clients of.NET a) A new generation of connected application b) Microsoft.NET Framework managed execution c) Allows PCs and other smart.
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
Introduction to ASP.NET, Second Edition2 Chapter Objectives.
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
XML Web Services ASP.NET. Overview of Web Services (Page 1) Web Service – Part or all of a Web application that is publicly exposed so that other applications.
Chapter 12 Extending Web Applications. ASP.NET 2.0, Third Edition2.
INTRODUCTION TO WEB SERVICES CS 795. What is a Web Service ? Web service is a means by which computers talk to each other over the web using HTTP and.
Web service testing Group D5. What are Web Services? XML is the basis for Web services Web services are application components Web services communicate.
1 Simple Object Access Protocol (SOAP) by Kazi Huque.
TP2653 Adv Web Programming SOAP and WSDL. SOAP Simple Object Access Protocol – Lightweight XML-based messaging protocol – A protocol for accessing a Web.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
XML Web Services in Visual Studio.NET Peter Ty Developer Evangelist.NET and Developer Group.
CIS 451: Web Services Dr. Ralph D. Westfall March, 2009.
Introduction to .NET Rui Ye.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Web Services (SOAP, WSDL, and UDDI)
Microsoft ® ASP.NET Presented by Joseph J. Sarna Jr. JJS Systems, LLC.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
Lecture 15 Introduction to Web Services Web Service Applications.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Semantic Web Technologies Research Topics and Projects discussion Brief Readings Discussion Research Presentations.
Introduction to Web Services Instructor: Dr. M. Anwar Hossain.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
1 Web Services Web and Database Management System.
XML and Web Services (II/2546)
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
1.Net Framework.Net Framework.NET Architecture and Security By Prasad Sundararajan Jan
Web Services An Introduction Copyright © Curt Hill.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
.NET Mobile Application Development XML Web Services.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
Introduction to.NET Building.NET Applications Mike Taulty Developer & Platform Group Microsoft Ltd
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Introduction to Web Services Srinath Vasireddy Support Professional Developer Support Microsoft Corporation.
6.2 XML Web Services Vinod Unny Enterprise InfoTech Microsoft Regional Director, North India.
Jim Fawcett CSE681 – SW Modeling & Analysis Spring 2005
A Web Services Journey on the .NET Bus
WEB SERVICES.
Web Service Interview/VIVA
ASP.NET Web Forms and Web Services
INTRODUCTION TO WEB SERVICES CS 795. What is a Web Service ? Web service is a means by which computers talk to each other over the web using HTTP and.
Implementing a service-oriented architecture using SOAP
The future of distributed systems architecture
Presentation transcript:

Building and Using Web Services with ASP.NET Rob Howard Program Manager.NET Framework Team Microsoft Corp.

Agenda Overview Overview Standards Based Standards Based Building Web Services Building Web Services Using Web Services Using Web Services Beyond the Basics Beyond the Basics Web Service Security Web Service Security Summary Summary

What is a Web Service? Browser is the most common tool for accessing information on the Internet Browser is the most common tool for accessing information on the Internet  Web browser is not enough…  Devices, etc. A web service is programmable application logic accessible via standard Web protocols A web service is programmable application logic accessible via standard Web protocols  Programmable…  Available to a variety of clients (platform independent)  Standard protocols…  Network level interoperability

Common Questions/Issues How do you publish the location of a web service? How do you publish the location of a web service? How do you describe a web service? How do you describe a web service?  What protocols does it support?  What data types does it use? Challenges Challenges  Programming model  Understanding of protocols, serialization, discovery, etc. Solutions today still have complexities: Solutions today still have complexities:  Microsoft SOAP Toolkit  IBM (SOAP Toolkit)

Standards Based SOAP (Simple Object Access Protocol) SOAP (Simple Object Access Protocol)  Explicit serialization (HTTP + XML description) protocol used in service exchanges WSDL (Web Service Description Language) WSDL (Web Service Description Language)  XML document describing the location and interfaces a particular service supports – the client's contract DISCO (Discovery) DISCO (Discovery)  XML document describing (URI) of service UDDI (Universal Description Discovery and Integration) UDDI (Universal Description Discovery and Integration)  Yellow pages directory for services

Discovery Let me talk to you (SOAP) Web Services (In Practice) Design-Time or Dynamic Runtime HTML or XML with link to WSDL How do we talk? (WSDL) XML with service descriptions XML/SOAP BODY WebService WebServiceConsumer UDDI Find a Service Link to DISCO or WSDL document

ASP.NET Technology for building web applications Technology for building web applications  ASP defined web development (PHP, JSP, etc.)  ASP.NET will set the new standard Core themes for ASP.NET Core themes for ASP.NET  Making it easier to build web apps  Making it easier to deploy web apps  Making it easier to operate web apps  Providing great performance and scalability

ASP.NET Web Services Goal: Make building web services easy Goal: Make building web services easy  Compiled on first request or pre-compiled  First class feature of ASP.NET  File extension is.asmx Write application logic Write application logic  Use features of.NET to enable SOAP  We’re doing the interop work…

ASP.NET Web Services Part of the ASP.NET application model Part of the ASP.NET application model  Web Service is represented by an URL  Access to common objects: Request, Session, Application, etc. The web service emits no UI The web service emits no UI  SOAP is for applications  However…. Supports multiple protocols Supports multiple protocols  Including SOAP  Extensible…

Demo: Simple and Complex Demo 1 – Writing a simple service Demo 1 – Writing a simple service  Add Demo 2 – Comparing VB and C# Demo 2 – Comparing VB and C#  Fibonacci Demo 3 – Writing a more complex service Demo 3 – Writing a more complex service  Data Access

3 Mandatory additions, 1 optional addition  Names the class and/or language used Imports System.Web.Services Imports System.Web.Services  Required namespace [WebMethod] or [WebMethod] or  Method is ‘web callable’ WebService base class WebService base class  Access ASP.NET intrinsic objects.asmx Deconstructed

Http-Get / Http-Post Http-Get / Http-Post  Html forms name/value SOAP (Simple Object Access Protocol) SOAP (Simple Object Access Protocol)  Simple, lightweight XML protocol for exchanging structured and typed information on the Web  W3C note (May 8, 2000)  Supported by Microsoft, IBM, and others  Data is sent via POST (or M-POST)  Extensible XML document (Envelope, Encoding Rules, RPC) Protocols

Using Web Services Proxy characteristics Proxy characteristics  Classes are strongly typed  Supports both async and sync Visual Studio.NET Visual Studio.NET  Add Web Reference to a Project WebServiceUtil.exe WebServiceUtil.exe  Classes can be created in any.NET language  WSDL file from a given.NET class  Defined server.NET class from an WSDL

Demo: Building Proxies Demo 1 – Building a Proxy with VS.NET Demo 1 – Building a Proxy with VS.NET  Data Access Demo 2 – Building a Proxy with Command line tool Demo 2 – Building a Proxy with Command line tool  Data Access

Beyond the Basics Soap Headers Soap Headers  Great way to send out of band data  Not part of the body  Similar to HTTP Headers XML Attributes XML Attributes  Shape the XML to the format you need  XmlAttribute, XmlElement, XmlArray  SoapAttribute, SoapElement, SoapArray Screen Scrape Screen Scrape  Turn any HTML site into a web service*

Demo: Beyond the Basics Demo 1 – Working with SOAP Headers Demo 1 – Working with SOAP Headers  Simple Demo 2 – Shaping an XML document Demo 2 – Shaping an XML document  Order Details Demo 3 – Screen Scraping Demo 3 – Screen Scraping  Barnes and Noble

Built-in Security Features Data hiding (encryption): Data hiding (encryption):  Supports HTTPS  Use.NET Crypto classes ‘roll your own’  Beta 1 does not support certificates Authentication / Authorization Authentication / Authorization  Supports Forms authentication  Supports Windows authentication  Supports ‘roll your own’

Design Suggestions Know and understand the supported data types Know and understand the supported data types Don't send unnecessary data (such as an image) when you can send a URL Don't send unnecessary data (such as an image) when you can send a URL Eliminate latency in the server first Eliminate latency in the server first Use caching where possible Use caching where possible Build the service to be asynchronous if the potential exists to block other work Build the service to be asynchronous if the potential exists to block other work

Design Suggestions Handle client errors when the server is unavailable Handle client errors when the server is unavailable Cache data from the service where possible, rather than requesting the same data 100 times Cache data from the service where possible, rather than requesting the same data 100 times Be efficient about the number of requests for dynamic data - collapse multiple web service methods into one Be efficient about the number of requests for dynamic data - collapse multiple web service methods into one Read the SOAP, DISCO, and WSDL specs Read the SOAP, DISCO, and WSDL specs

Summary Building and using web services is.NET Building and using web services is.NET Microsoft provides the leading platform for building web applications and services Microsoft provides the leading platform for building web applications and services  Great support for XML, HTTP, HTML  Full extensibility enables developers to support the latest protocols ASP.NET technology makes writing web services simple ASP.NET technology makes writing web services simple  Share application logic  Use existing skills and knowledge  Consistent development framework  Tool support is incredible!

Resources Microsoft ASP.NET Web Site Microsoft ASP.NET Web Site  Books Books  Wrox - “Preview of ASP+“  Others definitely on the way Additional Sites Additional Sites     

Web Services Adopters