Curs 9

13
Apelarea aplicațiilor LabVIEW din pagini Web Utilizând mediul de programare grafică LabVIEW, împreună cu pachetul suplimentar de funcții Internet Toolkit, se pot realiza, printre alte aplicații cu facilități de comunicații prin Internet, și aplicații ce pot fi accesate prin intermediul paginilor Web. Practic, instalarea mediului de programare grafică LabVIEW și a pachetului Internet Toolkit al acestuia pe un computer conectat la Internet vor transforma computerul respectiv într- un server Web capabil să gazduiască atât pagini în format HTML statice cât și Instrumente Virtuale LabVIEW ce vor genera, atunci când vor fi apelate, pagini HTML în regim dinamic. Instalarea Adăugarea la mediul de programare grafică LabVIEW a pachetului Internet Toolkit va determina apariția în paleta de funcții LabVIEW a unui meniu suplimentar (fig. 1). Pentru ca aplicațiile ce vor fi realizate să poată fi accesate din pagini Web, este necesară configurarea (fig. 2) și lansarea unui server HTTP disponibil în pachetul Internet Toolkit. Configurarea server- ului HTTP implică, printre altele, stabilirea unui port prin care comunicațiile vor fi realizate și definirea unei căi Figura 1 Figura 2

description

9

Transcript of Curs 9

Page 1: Curs 9

Apelarea aplicațiilor LabVIEW din pagini Web

Utilizând mediul de programare grafică LabVIEW, împreună cu pachetul suplimentar de funcții Internet Toolkit, se pot realiza, printre alte aplicații cu facilități de comunicații prin Internet, și aplicații ce pot fi accesate prin intermediul paginilor Web.

Practic, instalarea mediului de programare grafică LabVIEW și a pachetului Internet Toolkit al acestuia pe un computer conectat la Internet vor transforma computerul respectiv într-un server Web capabil să gazduiască atât pagini în format HTML statice cât și Instrumente Virtuale LabVIEW ce vor genera, atunci când vor fi apelate, pagini HTML în regim dinamic.

InstalareaAdăugarea la mediul de programare grafică LabVIEW a pachetului Internet Toolkit

va determina apariția în paleta de funcții LabVIEW a unui meniu suplimentar (fig. 1).Pentru ca aplicațiile ce vor fi realizate să poată fi accesate din pagini Web, este

necesară configurarea (fig. 2) și lansarea unui server HTTP disponibil în pachetul Internet Toolkit.

Configurarea server-ului HTTP implică, printre altele, stabilirea unui port prin care comunicațiile vor fi realizate și definirea unei căi de pe calculatorul gazdă drept rădăcină a server-ului Web (fig. 3).

Pot fi definite de asemenea o serie de drepturi de acces, referitoare atât la diversele foldere și fișiere din calea rădăcină a server-ului cât și la diverși utilizatori, identificați fie prin adresa IP, fie prin nume și parole.

Lansarea server-ului HTTP va fi urmată de deschiderea unei ferestre proprii a acestuia și confirmată de apariția unui mesaj “Server ... Running...” ce va conține IP-ul calculatoruluigazdă și numărul portului utilizat pentru comunicație (fig. 4).

Figura 1

Figura 2

Page 2: Curs 9

Figura 3

Figura 4

Verificarea modului în care server-ul HTTP asigură comunicația se poate realiza, dintr-un browser Web, prin accesarea calculatorului gazdă pe portul configurat.

Dacă, la momentul verificării, calculatorul gazdă nu dispune încă de conexiune Internet, sau dacă nu este disponibil un alt calculator pentru accesare, se poate realiza o accesare chiar de pe calculatorul gazdă, utilizând IP-ul propriu (localhost). În urma accesării sale, server-ul HTTP de pe calculatorul gazdă va răspunde cu pagina index.htm din calea sa rădăcină.

În cazul în care pachetul Internet Toolkit a fost instalat în configurația propusă implicit, iar calea sa rădăcină a fost stabilită de asemenea la valoarea implicită, pagina Web cu care server-ul va răspunde va fi cea din figura 5, conținând o serie de informații introductive.

Page 3: Curs 9

Figura 5

Programarea aplicațiilorO aplicație ce urmează a fi accesată dintr-o pagină Web, utilizând protocolul de

comunicație CGI, va trebui să conțină trei funcții esențiale pentru desfășurarea comunicației, funcții prezente în meniul Internet Toolkit / CGI VIs / CGI Template VIs al paletei de funcții (fig. 6). Aplicația va trebui de asemenea să fie salvată în sub-directorul cgi-bin al căii declarate drept cale rădăcină a server-ului HTTP.

Figura 6

Page 4: Curs 9

Modul de dispunere a celor trei funcții în diagrama viitoarei aplicații este prezentat în figura 7.

Figura 7

Funcția CGI Read Request (fig. 8) sesizează accesarea aplicației și oferă, printre altele, în variabila cgi connection info (fig. 9), informații despre locația Web de la care s-a efectuat accesarea și parametrii conexiunii HTTP ce urmează a fi utilizată pentru comunicație.

Figura 8

Figura 9

Informațiile respective sunt transmise funcției CGI Write Reply (fig. 10), împreună cu o valoare alfanumerică (string). Aceasta va transmite valoarea alfanumerică, prin intermediul conexiunii HTTP specificate, la locația de la care s-a efectuat accesarea.

Figura 10

Dacă accesarea s-a realizat dintr-un browser Web, iar valoarea alfanumerică este un text ce respectă formatul unei pagini HTML, efectul va fi afișarea paginii respective în browser. Funcția CGI Release (fig. 11) specifică server-ului HTTP că aplicația a încheiat comunicația și poate fi eliberată din memoria calculatorului.

Figura 11

Page 5: Curs 9

Evident, aplicațiile CGI nu se justifică a fi utilizate în situația în care textul ce se transmite prin conexiunea HTTP are conținut constant. Într-o astfel de situație este suficientă crearea unui fișier HTML cu conținutul corespunzător.

Aplicațiile CGI sunt utilizate atunci când conținutul ce urmează a fi transmis nu este constant ci depinde, de exemplu, de locația de unde aplicația a fost accesată, de valorile unor parametri pe care cel ce a realizat accesarea i-a specificat, de conținutul unor fișiere (baze de date) de pe calculatorul server la momentul accesării sau chiar de starea unor sisteme fizice reale la momentul la care s-a realizat accesarea.

Informațiile privind locația de la care s-a realizat accesarea sunt stocate în variabila de ieșire env a funcției CGI Read Request (fig. 12).

Figura 12

Conținutul variabilei env, de tipul Keyed Array, poate fi procesat cu o serie de funcțiidedicate (fig. 13), dintre care, printre cele mai utilizate este funcția Keyed Array Index (fig. 14), ce permite extragerea unei valori a cărei cheie este specificată.

Figura 13

Figura 14

Page 6: Curs 9

Valoarea extrasă din variabila env cu funcția Keyed Array Index poate fi utilizată, de exemplu, pentru a decide conținutul paginii HTML ce va fi trimisă browser-ului din care s-a accesat aplicația (fig. 15 și 16).

Figura 15

Figura 16

Dacă accesarea se efectuează specificând, în adresa HTTP, un parametru după numeleaplicației (fig. 17), variabila env va conține suplimentar și parametrul respectiv, cu cheia QUERY_STRING (fig. 18).

Figura 18

La utilizarea unui parametru după numele aplicației, dacă acesta conține eventuale spații goale (blanc-uri) sau alte caractere speciale, trebuie ținut cont de faptul că parametrul va fi preluat de către aplicație în format URL, conform standardului RFC 1738 (fig. 19).

Figura 17

Page 7: Curs 9

Figura 19

Decodarea se poate realiza cu funcția CGI Unescape HTTP Param (fig. 20, ..., 22).

Figura 20 Figura 21

Figura 22

Funcția CGI Get Query Parameters poate fi utilizată pentru a efectua atât extragerea din variabila env a parametrului cu cheia QUERY_STRING cât și pentru decodarea acestuia din formatul URL (fig. 23 și 24).

Figura 23 Figura 24

Ieșirea query string a funcției CGI Get Query Parameters este utilizabilă doar în situațiile în care după numele aplicației urmează un singur parametru.

Ieșirea query params a funcției respective nu numai că realizează separarea parametrilor, dar identifică și eventualele valori ale acestora, precedate în adresa URL de caracterul =.

Ieșirea generează o valoare de același tip cu variabila env, un cluster conținând un array de chei și un array de valori corespunzătoare cheilor (fig. 25 și 26).

Page 8: Curs 9

Figura 25 Figura 26

Apelarea aplicațiilor din formulareO aplicație cu funcții CGI aflată în sub-directorul cgi-bin al căii declarată rădăcină a

server-ului HTTP poate fi apelată nu doar prin includerea numelui său într-o adresă URL, ci și prin trimiterea către aplicația respectivă a informațiilor dintr-un formular aflat într-o pagină Web. Fie, de exemplu, formularul din figura 27, a cărui sursă este descrisă în figura 28.

Figura 27

Figura 28

Apăsarea de către utilizator a butonului MASURARE va conduce la apelarea aplicației masurare.vi.

Când o aplicație cu funcții CGI este astfel apelată, ieșirea content a funcției CGI Read Request va conține, în format string (text), informațiile ce au fost introduse de către utilizator în câmpurile formularului din pagina Web.

Page 9: Curs 9

Transformarea valorii de la ieșirea content din format string într-un cluster cu două arrayuri, de chei și de valori, se poate realiza cu ajutorul funcției CGI Parse URL-Encoded Param String (fig. 29).

Figura 29

Un exemplu de diagramă a unei astfel de aplicații, care realizează o achiziție de date cu parametrii specificați de utilizator este prezentat în figura 30.

Figura 30

În pagina HTML pe care o trimite către browser-ul din care s-a efectuat accesarea, aplicația inserează o imagine a panoului său, după achiziția datelor și reprezentarea grafică a acestora (fig. 31).

Figura 31

Page 10: Curs 9

1) Common Gateway Interface (CGI) este un standard care defineste cum softurile tip server web pot delega generarea de pagini web de către aplicații care sunt bazate mai mult pe text decât pe grafică.

2) În World Wide Web, query string este o parte a unei adrese Uniform Resource Locator (URL) care conține date care vor fi transmise aplicațiilor web de genul programelor CGI.

The Mozilla URL location bar showing a URL with the query string title=Main_page&action=raw

3) RFC 1738 - Uniform Resource Locators (URL)