Ćwiczenie 14
Temat:
Tworzenie i
wykorzystanie
usług sieciowych
Cel ćwiczenia:
W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi
sieciowej w technologii ASP.NET oraz nauczy się tworzyć aplikację kliencką
wykorzystującą usługę sieciową.
Tworzenie usług sieciowych WebService w ASP.NET
Usługa sieciowa to komponent programistyczny udostępniający pewną funkcjonalność aplikacjom
klienckim poprzez sieć internetową. Oparcie usług sieciowych o standardowe protokoły HTTP, SOAP,
XML pozwoliło na wzajemną komunikację usługi i klienta stworzonych na dowolnych platformach
systemowych i przy pomocy różnych narzędzi programistycznych.
Tworzenie usług sieciowych w oparciu o ASP.NET nie wymaga bezpośredniej znajomości standardów
HTTP, SOAP, XML skupiając uwagę programisty bezpośrednio na funkcjonalności usługi.
Główna definicja usługi sieciowej umieszczona jest w pliku .asmx. Kod skryptu serwerowego
odpowiedzialny za jej funkcjonalność może zostać umieszczony w pliku .asmx lub w osobnym pliku
kodu (np. cs) składowanym w katalogu App_Code.
Usługa sieciowa może być samodzielnym serwisem lub stanowić część standardowego serwisu
ASP.NET dostarczającego stron HTML.
W celu stworzenia samodzielnej usługi sieciowej w środowisku Visual Studio należy z głównego menu
wybrać opcję File New Web Site. Z dostępnych typów serwisów należy wybrać ASP.NET Web
Service. W nowoutworzonym serwisie automatycznie zostaje utworzona pierwsza usługa Service
(pliki Service.asmx i App_Code/Service.cs).
Plik Service.asmx zwiera jedynie definicję usługi:
<%@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" %>
Zasadniczy kod usługi zawiera plik App_Code/Service.cs:
using System;
using System.Web;
using System.Web.Services;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service () {}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
}
Definiowanie funkcjonalności usługi polega na tworzeniu metod realizujących jego zadania. Metoda
dostępna dla aplikacji zewnętrznych musi być publiczna (modyfikator public) i oznaczona
Tworzenie i wykorzystanie usług sieciowych 30
atrybutem [WebMethod]. Jedna usługa może udostępniać wiele metod. Wszystkie muszą być
zdefiniowane wewnątrz klasy usługi.
W jednym serwisie może znajdować wiele usług sieciowych. Dodajemy je przez wybranie w Solution
Explorer opcji Add New Item& a następnie pliku typu Web Service.
Środowisko ASP.NET daje możliwość szybkiego przetestowania działania usługi. Wystarczy w Solution
Explorer wskazać plik asmx usługi i wybrać opcję View in Browser. Zobaczymy wówczas interfejs
WWW umożliwiający testowanie poszczególnych metod usługi.
Zadanie 1
1. Utworzyć serwis typu ASP.NET Web Service o nazwie UslugaSieciowa
2. Zwrócić uwagę, że projekt serwisu został umieszczony w solucji o tej samej nazwie.
3. Zmienić nazwę solucji na AplikacjaRozporoszona.
4. W serwisie usunąć pliki domyślnej usługi Service (Service.asmx i App_Code/Service.cs).
5. Dodać do serwisu usługę JednostkiDlugosci wyłączając opcje rozdzielania kodu usługi na
oddzielne pliki asmx i cs.
6. Wewnątrz usługi JednostkiMiary utworzyć dwie metody zwracające i przyjmujące wartość
typu double:
a. PrzeliczCentymetryNaCale
b. PrzeliczCaleNaCenymetry
7. Dodać do serwisu usługę Kalkulator z opcją rozdziału kodu.
8. Wewnątrz usługi JednostkiObjetosci utworzyć dwie metody zwracające i przyjmujące wartość
typu int:
a. SumaTrzechLiczb
Tworzenie i wykorzystanie usług sieciowych 31
b. IloczynDwochLiczb
9. Przetestuj z poziomu Visual Studio działanie obu usług.
Tworzenie aplikacji klienckiej dla usługi sieciowej
Dowolny rodzaj aplikacji stworzonej w środowisku .NET (konsolowa, okienkowa lub webowa) może w
prosty sposób skorzystać z usługi sieciowej.
W typ celu należy utworzyć tzw. referencje webową. W środowisku Visual Studio w Solution Explorer
wybieramy opcję Add Web Reference a następnie wybieramy lokalizację usługi. Najprostszą opcją jest
wybór usługi znajdującej się w tej samej solucji, zwykle jednak w polu URL podaje się adres
internetowy pliku WSDL opisującego usługę.
Po wczytaniu informacji o usłudze tworzymy referencje webową nadając jej własną nazwę.
W efekcie w drzewie projektu pojawia się utworzona referencja.
Tworzenie i wykorzystanie usług sieciowych 32
Jej utworzenie oznacza zdefiniowanie klasy obiektu PROXY pośredniczącego pomiędzy aplikacją
kliencką a usługą. Klasa PROXY znajduje się w przestrzeni nazw o takiej samej nazwie, jak nazwa
utworzonej web referencji, a jej nazwa jest identyczna z nazwą usługi. Po utworzeniu tego obiektu
wykorzystując jego metody wywołujemy metody udostępnione przez usługę.
mojaReferencja.Service serv = new mojaReferencja.Service();
lblTekst.Text = serv.HelloWorld();
Zadanie 2
1. Do solucji AplikacjaRozproszona w Solution Explorer wybierając opcję Add& New
Web Site& dodaj serwis typu ASP.NET Web Site o nazwie Klient.
2. Oznacz projekt Klient jako projekt startowy wybierając opcję Set as StartUp Projekt.
3. Utwórz w serwisie Klient dwie referencje webowe do usług JednostkiDlugosci i
Kalkulator.
4. Utwórz stronę Cale.aspx z następującym interfejsem:
5. Funkcjonalność strony ma być realizowana w oparciu i usługę JednostkiDlugosci.
6. Utwórz stronę Obliczenia.aspx z następującym interfejsem:
Tworzenie i wykorzystanie usług sieciowych 33
7. Funkcjonalność strony ma być realizowana w oparciu i usługę Kalkulator.
8. Przetestuj działanie tak zrealizowanej aplikacji rozproszonej.
Tworzenie i wykorzystanie usług sieciowych 34
Wyszukiwarka
Podobne podstrony:
technologie internetowe cw HTMLtechnologie internetowe cw MasterPage Sitemap themestechnologie internetowe cw CSStechnologie internetowe cw UCtechnologie internetowe cw JS2technologie internetowe cw KontrolkiSerw1technologie internetowe cw Formularze Htmltechnologie internetowe cw KontrolkiSerw2technologie internetowe cw SkrSerwtechnologie internetowe cw JSTechnologie Internetowe 2Technologie Internetowe 1Technologie InternetoweInternational trade by technology intensityLab technologii ćw 5Lab technologii ćw 2 ogarnijtemat comwięcej podobnych podstron