|
|
|
|
|
|
Tworzenie usług internetowych ASP.NET z wykorzystaniem XML
|
|
|
Co to jest usługa sieciowa...
Jako że najlepiej tłumaczy się na przykładzie, dlatego ja również nim się posłużę.
Wyobraźmy sobie taką sytuację, gdzie dokonujemy transakcji płatniczych przy pomocy
karty kredytowej. Potrzebna jest metoda sprawdzania tej karty. Oczywiście można
taką metodę umieszczać w każdej aplikacji dla każdego sklepu, stacji benzynowej
czy restauracji. Jednak aplikacje te nie mają i najprawdopodobniej nigdy nie będą
miały ze sobą nic wspólnego, dlatego ten sam algorytm należałoby umieścić w każdej
z nich. Kolejny przykład: co jakiś czas Narodowy Bank Polski publikuje kursy walut.
Jak w odpowiednim czasie powiadomić wszystkie kantory i inne banki o zmianie ceny
waluty? Właśnie tutaj z pomocą przychodzą usługi sieciowe (usługi internetowe).
Są to metody udostępniane w sieci, z których mogą korzystać inne aplikacje. W powyższych
przykładach usługa taka umieszczona byłaby na serwerze banku.
Wtedy pisząc aplikację kliencką jedyne co musimy zrobić to odwołać się do
tej metody. Odwołanie następuje poprzez sieć (Internet). Takie rozwiązanie ma wiele
zalet, jedną z nich jest fakt, że wszelkie zmiany (np. zmiana algorytmu walidacji
karty) dokonywane będą tylko w jednym miejscu. Drugą zaletą jest to, że programiści
aplikacji klienckich nie muszą znać algorytmów wykorzystanych w usłudze.
Jak zacząć
Aby móc korzystać z usług internetowych, należy mieć odpowiednią ilość dostępnego
miejsca na dysku jakiegoś serwera WWW, na którym umieścimy naszą aplikację świadczącą
usługi poprzez Internet. W artykule zarówno usługa jak i aplikacja kliencka będzie
umieszczona na lokalnym komputerze (localhost), na którym wcześniej uruchomiono
usługę WWW. W systemie Windows można taką usługę uruchomić instalując Internet Information
Services (IIS), Internetowe Usługi Informacyjne. Po skonfigurowaniu i uruchomieniu
serwera WWW konieczne jest również zarejestrowanie ASP.NET w wersji 1.1 w usłudze
WWW. Jednym ze sposobów jest uruchomienie instalatora znajdującego się w domyślnym
katalogu instalacyjnym Microsoft .NET Framework
Technologia
Pierwszym etapem tworzenia usługi internetowej jest wybór sposobu komunikacji
pomiędzy serwerem świadczącym tę usługę a klientem. Najlepszym kanałem byłby kanał
bezpołączeniowy, stąd też technologie takie jak DCOM, CORBA czy JAVA RMI nie nadają
się do tego. Protokołami w pełni dostosowanymi do pracy w sieci są HTTP (Hypertext Transfer Protocol) oraz SMTP
(Simple Mail Transfer Protocol).
Ten pierwszy działa na zasadzie żądanie/odpowiedź, natomiast drugi zapewnia rutowalny
protokół wymiany informacji w ramach komunikacji asynchronicznej. Kolejnym problemem
w dzisiejszym Internecie jest problem zabezpieczeń. Oba wspomniane protokoły z reguły
są udostępniane w przedsiębiorstwach oraz administratorzy pozostawiają otwarte porty
do pracy dla tych protokołów. HTTP zapewnia komunikację bezpołączeniową, tzn. nie
korzysta z nieprzerwanego połączenia z klientem. Natomiast SMTP będąc asynchronicznym
w przypadku niepowodzenia w transmisji danych dokonuje próby jej wznowienia.
Kolejnym krokiem jest wybór schematu kodowania dla przesyłanych danych. Doskonale
nadaje się do tego XML (Extensible
Markup Language). Jest on niezależny od platformy, oferuje obsługę wspólnego
systemu typów oraz standardowych zbiorów znaków. W XML oferującym kodowanie tekstowe
uniknięto problemów z konwencją kodowania liczb na różnych platformach (little endian na Intelu,
czy big endian na innych). Z problemami tymi muszą borykać się wspomniane
wcześniej technologie DCOM, CORBA czy JAVA RMI. Ponadto niektóre protokoły, jak
np.: SMTP korzystają tylko z tekstowych schematów kodowania.
Dalej potrzebna jest jednolita konwencja formatowania. Konieczne stało się uniezależnienie
treści wiadomości od zastosowanego protokołu. Jeśli bowiem wysyłając wiadomość do
wielu miejsc przeznaczenia, wiadomość ta musiałaby być transportowana przez wiele
różnych protokołów, to informacje o routingu, zawarte np.: w nagłówku HTTP musiały
by być przetłumaczone do nagłówka SMTP etc. Aby tego uniknąć należy zawrzeć dane
o wiadomości razem z jej treścią, w nagłówku wiadomości. Dlatego stworzono protokół
SOAP (Simple Object Access Protocol). Wiadomość SOAP zawiera kopertę Envelope,
która składa się z sekcji Head będącej nagłówkiem oraz Body zawierającej
treść wiadomości.
Na potrzeby opisywania usług sieciowych stworzono specjalny język WSDL (Web Services Description Language).
Dokumentacja usługi stworzona w tym języku zapewnia informacje na temat wzorców
wiadomości przesyłanych od i do klienta, użytego protokołu, czy w końcu adresu usługi.
Dokument WSDL jest zapisany na dysku w formacie XML.
Ostatnim problemem jest lokalizacja usługi. Jeśli jest to sieć lokalna to należy
poinformować potencjalnych użytkowników o miejscu jej przechowywania, jeśli usługa
ma być udostępniona w Internecie to sprawa wygląda nieco bardziej skomplikowanie.
Wykorzystuje się tutaj mechanizm ogłaszania usług zawarty w specyfikacji UDDI (Universal
Description, Discovery, and Integration). Tym jednak nie będziemy się tu zajmować.
Testowanie usługi
Dokumentacja WSDL udostępnia nam mechanizmy do testowania usługi. Klikając
nazwę metody ValueQuery otwieramy
stronę zawierająca pole na wpisanie wartości.
Wykorzystanie usługi we własnej aplikacji webowej
Aby móc korzystać z usługi udostępnianej poprzez WWW konieczne jest
dodanie do niej odniesienia. W tym celu klikamy Add Web Reference z menu
Project. W polu URL możemy podać adres do naszej usługi, lub jeśli go nie
znamy klikamy odpowiedni link w oknie Start Browsing for Web Services. Programista
jest zwolniony z konieczności studiowania specyfikacji protokołów transportowych
oraz całego zaplecza implementacyjnego usługi internetowej. Jego zadaniem pozostała
jedynie strona merytoryczna, czyli to co faktycznie usługa ma robić. Drugą ważną
sprawą jest to, że usługi tworzone na platformie .NET, wykorzystujące protokół SOAP
oparty o kodowanie w formacie XML są uniezależnione od platformy sprzętowej, działają
w dowolnym systemie operacyjnym obsługującym podstawowe protokoły transportowe,
takie jak HTTP czy SMTP. Z tego też względu usługi nie wymagają otwierania dodatkowych
portów dla danych, lecz korzystają z tych, na których pracują wyżej wymienione protokoły.
Zwyczajowo są to odpowiednio port 80 i 25. Pierwszy z nich obsługuje strony WWW,
drugi pocztę elektroniczną, czyli w większości przypadków administratorzy pozostawiają
je otwarte. Zagadnienie usług sieciowych jest rozległe. W artykule starałem się
jedynie pokazać podstawowe pojęcia związane z ich tworzeniem. |
|
|
źródło: www.codeguru.pl |
|
|
Technologia Microsoft Asp.Net (aspdotnet)
|
|
|

Aplikacja internetowa, sklep internetowy - jak to działa?
Sieć www była pierwotnie używana wyłącznie do dostarczania statycznych stron
zawierających tekst i obrazki. Oprogramowanie serwera www było stosunkowo
proste, wystarczyło że odbierał on żądania stron identyfikujące adres URL pliku,
pobierał plik o wskazanej nazwie z dysku serwera i zwracał go do klienta. Takie
rozwiązanie było wystarczające w czasach prehistorycznych, kiedy wszytskie dane
na stronach www były statyczne (treść stron się nie zmieniała, nie było potrzeb
pobierania danych wejściowych, algortymów itp. oraz strony www miały być
dostępne dla wszystkich. W celu rozwiązania problemów statycznych stron www,
wymyślono że na serwerze musi pracować aplikacja, która dynamicznie generuje
strony dla klienta. Serwer www musi zapewnić też metodę pobierania od
użytkownika danych wejściowych na potrzeby algorytmów działającyh po stronie
serwera wraz z metodą wysyłania wyników z powrotem do użytkownika. Ponieważ
niektóre dane (albo ogromna ich większość w przypadku aplikacji biznesowych) są
prywatne - czyli dostęp musi być ograniczony, serwer www musi sprawdzić, kim
jest użytkownik
żródło: David S.Platt "Podstawy Microsoft .NET" |
|
|
|
|
|
|
|
|
|
|
|
|
Dokumenty .net
Klasyczne metody przechowywania dokumentów w postaci papierowej stawiają wiele ograniczeń wynikających z natury papierowej dokumentu. Podstawowym problemem jest długi czas dotarcia do żądanego dokumentu, oraz przeszukiwanie zbioru dokumentów. Dodatkowo, w przypadku dużej ilości dokumentów, ich składowanie staje się problematyczne i wymaga ...
|
Pozycjoner .net
Pozycjonowanie stron internetowych jest zajęciem żmudnym, w celu zwiększenia łatwości dostępu do wybranej witryny www stosuje się zabiegi zwane pozycjonowaniem , w celu ułatwienia pracy i zwiększenia efektywaności tych działań stworzyliśmy oprogramowanie, które pozwala uzyskiwać lepsze wyniki wyszukiwania. ...
|
Dokumenty Framework
Klasyczne metody przechowywania dokumentów w postaci papierowej stawiają wiele ograniczeń wynikających z natury papierowej dokumentu. Podstawowym problemem jest długi czas dotarcia do żądanego dokumentu, oraz przeszukiwanie zbioru dokumentów. Dodatkowo, w przypadku dużej ilości dokumentów, ich składowanie staje się problematyczne i wymaga ...
|
Small Bussines Studio .net (SBS .net)
Aplikacja dla firm handlowych zawierająca szereg modułów do obsługi handlu, księgowości, magazynu, rozrachunków i wiele innych. Obsługa pełnej księgowości (księgi handlowe). Zintegrowany system informatyczny (ang. integrated system) – najbardziej merytorycznie i technologicznie zaawansowana klasa systemów informatycznych wspomagających za ...
|
ERP.net
Sprawne zarządzanie firmą humansoft HermesSQL wspomaga i koordynuje pracę osób zatrudnionych na różnych stanowiskach w firmie. Operacje wykonywane przez poszczególnych użytkowników rejestrowane są w jednej wspólnej bazie danych, co jest bezpośrednio związane z pełną integracją wszystkich modułów wchodzących w skład programu.
Oferta firm ...
|
Narzędziownia Framework
Studio Narzędziownia Framework to wersja Windows programu do prowadzenia magazynu narzędzi. Narzędziownia 2008 asp.net jest to program przeznaczony do komputerowego wspomagania zarządzania gospodarką narzędziami. Program umożliwia ewidencję narzędzi określając ich atrybuty oraz definiując ich dowolny podział zarówno ze względu na grupy, l ...
|
CRM .net
Zarządzanie kontaktami z klientami, ewidencja pracy handlowców i ich rozliczanie, premiowanie. Za pomoca aplikacji CRM.net handlowcy z dowolnego miejsca przez inetrnet rejestrują swoje wizyty u klientów, wprowadzają zamówienia, sprawdzają stan rozrachunków. Na podstawie wprowadzonych informacji tworzone są raporty rozlicvzające handlowców ...
|
Studio CMMS.net
Trudno sobie wyobrazić nowoczesne przedsiębiorstwo produkcyjne lub zakład przemysłowy bez dobrze zorganizowanego działu zajmującego się utrzymaniem ruchu. W pracy takiego działu potrzebne jest niezawodne, wydajne oprogramowanie wspomagające prace związane z utrzymaniem ruchu, dlatego SoftwareStudio opracowało rozwiązanie w nowoczesnej tec ...
|
ENOVA ERP
ENOVA ERP - zintegrowany system zarządzania dla firmy - producent Soneta Sp. z o.o. Kraków.
Patrząc od strony technicznej, enova jest zgrabną, elegancką konstrukcją, zaprojektowaną tak, aby optymalnie wypełniała swoje funkcje. Program wyposażyliśmy w przyjazny, intuicyjny i wygodny w użyciu interfejs, który powoduje, że po wdrożeniu nie ...
|
Magazyn WMS.net
Trudno sobie wyobrazić zarządzanie nowoczesnym magazynem wysokiego składowania bez wdrożonego programu do jego obsługi. Program magazynowy Studio Magazyn WMS .net przeznaczony jest do ewidencji ilościowo wartościowej w magazynie wydzielonym jako magazyn wysokiego składowania. Istotą programu jest możliwość prowadzenia w nim ewidencji oper ...
|
|
|
|