390 likes | 529 Views
XML Web Services in Visual Studio.NET Peter Ty Developer Evangelist .NET and Developer Group. Agenda. Web Service Infrastructure Web Services in Visual Studio .NET Hardcore Web Services. Agenda. Web Service Infrastructure Web Services in Visual Studio .NET Hardcore Web Services. ASMX.
E N D
XML Web Services in Visual Studio.NET Peter Ty Developer Evangelist .NET and Developer Group
Agenda • Web Service Infrastructure • Web Services in Visual Studio .NET • Hardcore Web Services
Agenda • Web Service Infrastructure • Web Services in Visual Studio .NET • Hardcore Web Services
ASMX Web Service InfrastructureWhat makes a Web Service? • Web Service (ASMX in ASP .NET) • Invoke Web Service methods
ASMX WSDL Web Service InfrastructureWhat makes a Web Service? • Web Service (ASMX in ASP.NET) • Invoke Web Service methods • Web Service Description Language (WSDL) • Describe Web Services • Describes dependencies (e.g., DataSets / XSD) XSD
ASMX WSDL WSDL DISCO Web Service InfrastructureWhat makes a Web Service? • Web Service (ASMX in ASP.NET) • Invoke Web Service methods • Web Service Description Language (WSDL) • Describe Web Services • Describes dependencies (e.g., DataSets / XSD) • Discovery Documents (DISCO) • Publish Web Services XSD
ASMX WSDL WSDL DISCO DISCO UDDI Web Service InfrastructureWhat makes a Web Service? • Web Service (ASMX in ASP.NET) • Invoke Web Service methods • Web Service Description Language (WSDL) • Describe Web Services • Describes dependencies (e.g., DataSets / XSD) • Discovery Documents (DISCO) • Publish Web Services • UDDI XSD
Web Service InfrastructureProtocols • Basic: HTTP Get and HTTP Post • Primitives (integers, strings, etc) • Arrays of primitives • Default: Simple Object Access Protocol (SOAP) • Structures • Enumerations • Classes • XML DataSets • Arrays of anything
Agenda • Web Service Infrastructure • Web Services in Visual Studio .NET • Hardcore Web Services
Web Services in Visual Studio .NETTools • On the Server Side • Generates WSDL • Generates .vsdisco • Generates HTML text page • Supports breakpoints, tracing, etc. • On the Client Side • Generates proxy class with sync and async calls • Supports “Step-Into” across web service call
Build Your First Web Service • Define a vision • Brainstorming ideas • Set Deliverables (what to expose) • Imagine how much people will love it • Let’s build it !!
Two Quick Steps to your first Web Service • Step 1. Create a project • Choose your favorite programming language • Choose the web service project type • Give it a Name
…Two Quick Steps to your first Web Service • Step 2. Add a Web Service to the Project • Name the Web Service • Code a Function • Add an attribute keyword <WebMethod()> to turn that function into a Web Service method !! • That’s it !!
Build Web Services using Visual Studio.NET • Expose functionality as service • No need to learn XML • Interface is automatically generated • Seamless deployment • Reuse existing Web Services • VS.NET generates the plumbing • Full IntelliSense support • Build and consume with any VS language
Build Your Web Service Clients • Web based (Browser) or Windows Based • Unified programming model • Just Drag and Drop and a little code • Imagine how you will love it • Let’s build it !!
Three Quick Steps to your first Web Service Client • Step 1. Create a project • Choose your favorite programming language • Choose the correct project type (ASP.NET web applications) • Give it a Name • Step 2. Add a Web Reference to the Project • Locating a web service • Add the reference for the target web service • And…
…Quick Steps to your first Web Service Client • Step 3. Drag and Drop your way to a web form client (plus a little coding…) • Use the tool box and drag and drop elements to the form • Click on a control (a button usually) to open the code behind page • Implement any code to take action (call the web service!!) • That’s it !!
Test that Web Service Client • Run Solution Build • Right click the aspx page and choose to view in browser • Test out the web service through this web client you built !!
Agenda • Web Service Infrastructure • Web Services in Visual Studio .NET • Hardcore Web Services
Hard Core Web ServicesASP .NET Intrinsics • Request • Server Variables (Host Address, Host Name) • Cookies • Security (Client Certificate, Authentication, Encryption) • User • Identity • Role • Session and Application • State • Response • Cookies • Cache
Hard Core Web ServicesSecurity • Basic, Digest, Passport, Kerberos, and Windows authentication • “Roll your own” authentication • HTTPS / SSL encryption • Supports many business models • Secure ecommerce transactions • Pay per use • Subscription
Hard Core Web ServicesAsynchronous Calls • Synchronous Programming Model • Foo(Param1, Param2) As String • Asynchronous Programming Model • BeginFoo(Param1, Param2, Callback) • Callback(AsyncResult) • EndFoo(AsyncResult) As String
Hard Core Web ServicesSOAP Headers - Server • Make a Class That Inherits SoapHeader • Add Custom Properties • Associate This With Your Web Service Public Class MyHeader : Inherits SoapHeader Public Username As String Public Password As String End Class
Hard Core Web ServicesSOAP Headers - Client • Create Instance of the Header Class • Populate With Values • Attach To Web Service Object • Call Method WebServ ws = new WebServ(); MyHeader a = new MyHeader(); a.Username = "admin"; a.Password = "password"; ws.MyHeader = a; ws.DoSomething();
Hard Core Web ServicesSoapExtension • Used for More Advanced Functionality • Intercept Calls to a Web Service • Pre and Post Processing
Session Summary • Web Services Are The Building Blocks For The Next Generation Of The Internet • Gives Client Access to any kind of Data • Make Business-to-Business Easy • Visual Studio .NET Provides Great Tools
Resources • MSDN Web site at • msdn.microsoft.com • External Sites • www.gotdotnet.com • Looking for ideas?: Web Service Search Engine • http://www.salcentral.com/salnet/webserviceswsdl.asp