Delphi6 și servicii web

În acest articol, revenim la subiectul serviciilor Web discutate de mai multe ori, care este o tehnologie pentru integrarea aplicațiilor Web. Astăzi, vom analiza modul în care puteți utiliza serviciile Web în aplicațiile Windows create cu Borland Delphi 6 și cum vă puteți crea propriile servicii Web folosind același instrument de dezvoltare. Rețineți că la momentul redactării acestui articol, când lansarea versiunii finale a Visual Studio .Net nu este încă de așteptat în viitorul apropiat, Delphi 6 este singurul instrument de dezvoltare care sprijină crearea de servicii Web.







Rețineți, totuși, că evoluția WWW nu sa oprit cu aplicațiile Web. Integrarea reciprocă a companiilor de diverse companii, care se desfășoară acum în întreaga lume, implică în mod inevitabil apariția unor tehnologii și standarde pentru integrarea aplicațiilor de deservire și a sistemelor de informații corporative. Tehnologia cea mai populară astfel de integrare este acum să fie numit schimbul de date în XML (Extensible Markup Language), prin intermediul SOAP (Simple Object Access Protocol) și crearea de servicii web care utilizează un astfel de schimb de date.

Deoarece serviciile Web reprezintă o tehnologie relativ nouă, acestea sunt încă prea devreme pentru a vorbi despre susținerea utilizării lor și în special pentru a crea la nivel de componente, clase sau experți pentru crearea lor, fără excepție, instrumente de dezvoltare. Rețineți, totuși, că astfel de instrumente de dezvoltare sunt deja disponibile sau ar trebui să apară în viitorul apropiat. În special, crearea de servicii web este susținută în Delphi 6, lansat în această vară. Mai jos, vom examina două exemple simple care ilustrează posibilitățile de a utiliza și de a crea servicii Web utilizând acest instrument de dezvoltare foarte popular în țara noastră. Se presupune că, odată cu crearea de aplicații folosind Delphi, cititorii sunt deja familiarizați.

Utilizarea serviciului Web din aplicație

Mai întâi, rulați Delphi 6 și creați un proiect pentru o aplicație Windows obișnuită. Apoi, selectând fila | Nou | Altele, deschideți depozitul de obiecte și selectați pictograma Web Sertvice Importer de pe pagina Servicii Web.

După cum se poate vedea, serviciul Web utilizat implementează șase metode care convertesc diferite scale de temperatură unul în celălalt. Noi folosim una dintre ele - FahrenheitToCelsius, hărți temperatura în grade Fahrenheit la valoarea corespunzătoare în grade Celsius (o sarcină favorit al cetățenilor ruși care studiază prognozele meteo cu ajutorul unor site-uri americane). Referindu-ne la modulul generat din modulul asociat formularului principal de aplicație folosind fișierul | | Utilizați unitatea.

Apoi trebuie să aveți grijă de prezența în aplicație a obiectului responsabil pentru activarea de la distanță a serviciului Web și, prin urmare, stocarea informațiilor despre locația sa. În acest scop, Paleta de componente pe pagina Servicii Web are o componentă numită THTTPRIO (RIO este un obiect invocabil de la distanță). Puneți această componentă pe formular și alocați-o proprietății WSDLLocation a adresei URL a descrierii serviciului Web WSDL. După aceea, încercați să stabilească valoarea unui serviciu de proprietate (această proprietate conține o listă de interfețe oferite de Web-service - numele lor sunt deja în modulul de interfață generat) sau proprietăți de port (include numele portului astfel cum este definit în WSDL-fișier și setează locația Web-serviciu, și protocol folosit pentru a se referi la acesta). Mediul de dezvoltare se va referi din nou la descrierea WSDL a serviciului Web, obținând pe bază de informații despre locația serviciului și a interfețelor sale. Iată un fragment al fișierului WSDL care conține aceste informații:







[a apărut o eroare în timpul procesării acestei directive]

După aceasta, proprietățile Service și Port pot fi selectate din listele derulante.

Rețineți că în unele cazuri nu puteți utiliza descrierea WSDL, ci pur și simplu specificați adresa URL a serviciului Web din proprietatea URL și introduceți proprietățile Service și Port manual.

Următorul pas este crearea unei interfețe de utilizator pentru aplicația noastră client. Este simplu: un câmp pentru introducerea valorii inițiale, o etichetă pentru afișarea rezultatelor și un buton care este apăsat pentru a iniția un apel către serviciul Web.

Managerul evenimentului asociat clicului unui buton conține codul pentru accesarea serviciului Web. Se pare ca aceasta:

Acum puteți salva proiectul, puteți compila aplicația și o puteți testa.

Deci, am învățat cum să creați aplicații care utilizează servicii Web. În următoarea secțiune a acestui articol, vom examina cum să creăm propriile servicii Web.

După selectarea tipului de aplicație, obținem un obiect TWebModule care conține trei componente:

  • THTTPSoapDispatcher, care este responsabil pentru primirea cererilor utilizând protocolul SOAP;
  • THTTPSoapPascalInvoker, care este responsabil pentru transformarea acestor interogări în apeluri metodice ale obiectelor aplicației noastre;
  • TWSDLHTMLPublish, responsabil pentru generarea de fișiere WSDL care conține o descriere a interfețelor implementate în serviciul Web, destinate dezvoltatorilor de aplicații client pentru acest serviciu Web.

Acum puteți începe să creați o descriere a interfeței de serviciu Web. Pentru a face acest lucru, vom crea un nou modul și vom descrie interfața IMult care conține metoda unică Multiply:

În cele din urmă, trebuie să creați un modul care să implementeze metoda Multiply:

Dacă faceți clic pe linkul care indică interfața IMult, puteți obține descrierea WSDL a interfeței noastre IMult, care este utilizată de aplicația client și, prin urmare, este plasată într-un loc accesibil pe Internet. În cazul nostru, îl salvăm într-un fișier.

Rămâne să încercăm serviciul nostru Web. Puteți face acest lucru în mai multe moduri, de exemplu, îl puteți accesa dintr-o pagină Web care conține codul într-una din limbile de scripting. Cu toate acestea, vom scrie aplicația client pe Delphi, deoarece deja știm cum să o facem. Ca și în prima parte a acestui articol, a crea un nou proiect, selectați din pagina Web Services obiecte de Repository Pictograma Servicii Web importatorul și punctul ca WSDL parametru sau XML Schema Locația (Nume fișier sau URL) din caseta de dialog Web Services calea de import la WSDL-fișier care tocmai am salvat. Apoi se face referire la modulul de interfață generat din modulul asociat cu forma principală a aplicației client. Punem componenta pe formularul THTTPRIO, setați valoarea numelui proprietăților sale WSDLLocation a WSDL-fișier, alegeți o valoare din drop-down listele de servicii și proprietățile Port și de a crea cea mai simpla interfata de utilizare a aplicației.

Funcționarul de eveniment asociat clicului pe buton este:

Prin rularea aplicației client, putem asigura că serviciul Web este complet funcțional.

Deci, am învățat cum să creăm serviciile noastre Web cu Delphi 6 și să le testăm.

În acest articol, am discutat despre crearea de aplicații Delphi 6 utilizând servicii Web, precum și despre crearea de servicii Web în sine și ne-am asigurat că acest lucru nu este prea dificil. În viața reală, probabil, nu este necesar să creați un serviciu Web care să înmulțească două numere - există multe alte sarcini mult mai interesante, soluția cărora ar trebui implementată sub forma unui serviciu Web. Cred că nu te vor face să aștepți.







Articole similare

Trimiteți-le prietenilor: