1 / 17

9. Web Services

9. Web Services. Objectives. “Web Services are poised to change the future of software development...” WebServices. obj. Web services?.

maxim
Download Presentation

9. Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 9. Web Services

  2. Objectives “Web Services are poised to change the future of software development...” • WebServices

  3. obj Web services? “Web services are web apps that return data, not presentation. Since applications are typically about accessing data, web services are poised to become the next evolutionary step in distributed software development...” • Why? • cross-platform application development • legacy system integration Web server obj obj XML obj

  4. obj Overview • Web services involve many technologies: • WSDL to learn about web service • to call: proxy objects, SOAP, XML, HTTP and .ASMX pages web service Web server WSDL client app obj obj method call method call .asmx proxy SOAP msg (XML) HTTP request

  5. Example • Google • A great search engine • www.google.com • but what if I want my own GUI?

  6. Google web service • Google offers a web service that performs searches for you • Why? • clients can build custom GUIs • google.com can make money! // ask google to search for us... google = new GoogleSearchService(); result = google.doGoogleSearch("4a8/TvZQFHID0WIWnL1CMmMx0sNqhG8H", txtSearch.Text, 0, 10, false, "", false, "", "", ""); // display resulting URLs... foreach (ResultElement re in result.resultElements) lstURLs.Items.Add(re.URL);

  7. Working with web services • Two steps: • build a web service • build clients to use it

  8. (1) Building a web service • Start by creating a project of type “ASP.NET Web Service”

  9. A web service is… • One or more objects that respond to web-based method calls • there is no GUI design to a web service • only raw classes with methods… public class Service1 : System.Web.Services.WebService { . . . }

  10. Example • Looks like C#, but keep in mind these are web-based methods • client could be calling from any platform • parameters passed using XML inherit public class Service1 : System.Web.Services.WebService { [WebMethod] public int Add(int x, int y) { return x + y; } [WebMethod] public string[] Attendees() { <<open DB, read attendees into array, return it>> } } attribute

  11. (2) Building a client • Start by creating a client… • WinForm, WebForm, console-based, anything you want! • for fun, let's use VB…

  12. Reference the component • As usual, we need to reference component • this will activate IntelliSense • this will make sure we call it correctly • this will enable underlying XML + SOAP communication • How? • project references, right-click, Add web reference… • type URL for web service, e.g. • http://localhost/WebService/Service1.asmx classname web server service name

  13. Program against component • Treat web service like any other class! • use new to create instances • make method calls • pass parameters Private Sub Button1_Click(...) Handles Button1.Click Dim i, j, k As Integer i = CInt(TextBox1.Text) j = CInt(TextBox2.Text) Dim obj As localhost.Service1 obj = New localhost.Service1() k = obj.Add(i, j) MessageBox.Show("Sum = " + k.ToString()) End Sub

  14. obj Underlying execution… • Here's what the call to Add() actually looks like: web service Web server client app obj.Add(10, 20); obj.Add(i, j); .asmx proxy <Add> <n1>10</n1> <n2>20</n2></Add> HTTP request: Service1.asmx

  15. Summary • Pretty powerful stuff! • Lots of technology be used underneath: • XML for parameter-passing • SOAP as protocol • HTTP • ASP.NET • IIS

  16. References • Books: • Y. Shohoud, "Real World XML Web Services: for .NET and VB .NET Developers" • Web sites: • http://msdn.microsoft.com/webservices

  17. Lab? • Work on lab #6, "Web Services"…

More Related