Cursul Service Applications Development

Service Applications Development reprezintă o componentă indispensabilă a platformelor web. Acesta este motivul pentru care li se acordă o atenție specială și un curs special. Cursul Service Applications Development explică exact conceptele aplicațiilor de serviciu, logica și implementarea lor.

Sunteţi interesat de acest curs? Îl puteţi parcurge în cadrul acestor programe LINK Academy: Python Development Program.

Descrierea și obiectivele cursului Service Applications Development

În prima parte, cursul explică serializarea în programare și importanța sa mare în contextul independenței platformei. Se confirmă cunoașterea formatelor JSON și XML și manipularea documentelor care le conțin. Sunt identificate și concepte de programare în rețea, ceea ce este un factor important de infrastructură în programarea serviciilor.

Cursul explică apoi conceptul de SOAP. Acest protocol bazat pe XML este utilizat în diferite medii și în diferite tipuri de proiect. Este dominant în situațiile în care este necesar să se tipteze riguros și să furnizeze în siguranță datele transportate.

În continuare, cursul abordează aplicații RESTful. Acest concept, cel mai popular în prezent, se bazează pe protocolul HTTP, astfel încât este foarte ușor de asimilat alături de materia altor cursuri.

Se explică modalitățile de creare și utilizare a serviciilor REST, dar și modalitățile de securizare a acestora, introduce conceptul de conținut criptat, cheie API și autorizare folosind JSON Web Token (JWT) și prezintă conceptul de API în contextul aplicațiilor web client bogate, care, combinat cu o varietate de tehnologii client, face unitatea finală atractivă și foarte căutată pe piețele actuale.

După finalizarea cursului, cursantul va ști ce este un serviciu web și ce tipuri de servicii web există, precum și modul în care sunt utilizate, va putea identifica diferite tipuri de servicii și le va folosi cu succes folosind aplicații client auto-scrise.

De asemenea, el va putea expune funcționalitatea propriei sale aplicații într-o manieră de serviciu, folosind câteva dintre standardele de serviciu studiate în lecțiile acestui curs. Acesta va putea oferi funcționalitatea creată a unor tehnici de securitate prezentate în acest curs și în alte, cum ar fi utilizarea cheilor API, tokenului JWT sau criptarea conținutului. Va putea crea propria sa platformă de servicii în orice scop, cum ar fi un serviciu de tranzacții, un serviciu de autentificare sau un API complet pentru a sprijini aplicația sau orice parte a acesteia.

Cursul Service Application Development vă răspunde la următoarele întrebări:

1. Ce este XML (Extensible Markup Language)?

XML (Extensible Markup Language) este un limbaj de marcare a textului rezultat din limbajul de marcare standard SGML (Standard Generalized Markup Language). Tagurile XML identifică datele și se folosesc pentru a le depozita și organiza, iar limbajul HTML de marcare se folosește pentru afișarea datelor. XML nu va înlocui HTML în viitorul apropiat, dar introduce posibilități noi prin adoptarea mai multor caracteristici de succes ale HTML-ului. XML are trei carcateristici de bază care îl fac mai util în sisteme și soluții diferite, și anume: posibilitatea de extindere, transmiterea datelor, standard public. 

Spre deosebire de alte limbaje de programare formate din reguli gramaticale și vocabular propriu ca să creeze programele de calculator, XML nu se califică ca limbaj de programare, deoarece nu face calcule sau algoritmi. De obicei, acest limbaj este salvat într-un fișier text simplu procesat de un software special, capabil să interpreteze XML. 

2. Ce este serviciul web?

Serviciul web este un mediu standardizat pentru extinderea comunicării dintre clienți și aplicațiile server pe internet. Serviciul web este un modul software proiectat pentru procesarea unui anumit set de cereri, respectiv livrarea funcționalității unui client care apelează serviciul. 

Aceste cereri sunt trimise sub forma unui așa-numit apel de proceduri de la distanță. Serviciile web oferă o platformă comună care permite aplicațiilor multiple create în limbaje de programare diferite să poată să comunice între ele. Principala componentă a unui serviciului web sunt datele care se transmit între client și server. Deci, când aplicațiile comunică între ele, de fapt, ele discută în XML sau în alt format. Acest lucru asigură o platformă unică care permite aplicațiilor dezvoltate în diferite limbaje de programare să comunice între ele.

3. Care este diferența dintre SOAP și REST?

SOAP (Simple Object Access Protocol) oferă un șablon pentru trimiterea mesajelor serviciului web prin internet, folosind HTTP (HyperText Transfer Protocol). În general, mesajele sunt în format XML. Cel mai mare avantaj al utilizării serviciului web SOAP este securitatea. Simplu spus, SOAP este o tehnică cu care trimitem cereri XML prin internet cu ajutorul protocolului HTTP, care primește în schimb răspunsul XML. Șablonul acestor cereri este alcătuit din antet și corp. 

Antetul este un sublement opțional al șablonului SOAP și se folosește pentru a transmite informații legate de aplicația editată de SOAP, iar corpul este un subelement obligatoriu al șablonului SOAP și conține informații intenționate pentru destinatarul final al mesajului. Componenta obligatorie a corpului este WSDL (Web Service Description Language), care descrie unde este pus serviciul web și cum se folosește. De asemenea, acesta descrie toate metodele disponibile în serviciul web, împreună cu tipurile de cereri și răspunsuri. 

Pe de altă parte, REST (Representative State Transfer) nu este un set de standarde sau reguli, ci un stil de arhitectură proprie. Aplicațiile care urmează această arhitectură se numesc RESTful. Spre deosebire de SOAP, care targetează acțiunile, REST se ocupă cu resursele. REST localizează resursele folosind un URL în funcție de tipul de protocol de transport pentru activitățile care se vor executa pe resurse (GET, POST, PUT, DELETE…). Serviciul REST localizează sursa pe baza URL-ului și face acțiunea pe baza acțiunii de transport stabilite. Acest serviciu se bazează pe stilul arhitectural și pe convenții. 

Service Applications Development

4. Ce biblioteci Python folosim în lucrul cu SOAP?

Câteva dintre bibliotecile Python pentru lucrul cu SOAP sunt spyne și zeep. Zeep scanează documentul WSDL și generează codul corespunzător pentru utilizarea serviciului și a tipurilor în document. Acest lucru simplifică utilizarea interfeței de programare a serverului SOAP. 

Zeep oferă și suport pentru conectarea, descărcarea și publicarea HTTP. Separarea documentelor XML se face cu ajutorul bibliotecii lxml. Momentan, aceasta este cea mai eficientă și mai compatibilă bibliotecă Python XML disponibilă, deoarece are avantajul vitezei de procesare a răspunsurilor SOAP mari. 

Bibilioteca spyne a fost creată pentru a simplifica implementarea protocolului RPC pentru conectarea funcțiilor de la distanță și returnarea rezultatelor. Cu alte cuvinte, Spyne este un cadru de construire a soluțiilor distribuite care respectă cu strictețe modelul MVC, unde Model = spine.model, View = spine.protocol și Controller = user code. Spyne vine cu implementările standardelor populare pentru transport și protocol, cu standardele documentate ale interfeței și cu API-ul bine definit care permite upgradarea funcționalităților existente.

5. Ce este JSON?

JSON (JavaScript Object Notation) este un standard deschis bazat pe text, creat pentru a face schimb de date lizibile omului. JSON reprezintă limbajul JavaScript extins. Convențiile folosite de JSON sunt știute de către programatori și se aplică tuturor limbajelor de programare - C, C++, Java, Python, Perl etc. 

În general, JSON se folosește la scrierea aplicațiilor bazate pe JavaScript, serializarea datelor, transferul de date între server și aplicație și asigurarea de date prin serviciul web API. O schemă JSON este o specificație pentru un format bazat pe JSON, care se folosește pentru a defini structura datelor JSON.

Caracteristicile lui JSON:

  • simplu de citit și scris;
  • reprezintă un format ușor de schimb bazat pe text;
  • independent din punct de vedere lingvistic.

JSON și XML se deosebesc după următoarele caracteristici:

  • XML este mai detaliat decât JSON, așadar pentru programatori JSON se scrie mai rapid;
  • XML se folosește pentru a descrie date structurate, care nu includ șiruri, în timp ce JSON include șiruri. 

6. Ce este JWT?

JSON Web Token (JWT) este un standard deschis care definește un mod compact și independent de a transfera în siguranță informații între obiectele JSON. Aceste informații sunt considerate fiabile deoarece sunt semnate digital. JWT-urile pot fi semnate cu ajutorul unei chei secrete sau a unei perechi de chei publice-private în funcție de algoritmul folosit, despre care vom vorbi mai multe în continuare. 

Tokenurile semnate pot să verifice integritatea cererilor conținute în el, în timp ce tokenurile codificate ascund aceste cereri de terțe părți. Când tokenurile sunt semnate cu ajutorul perechilor de chei publice-private, semnătura confirmă că este semnat doar de partea care deține cheia privată.

7. Ce tipuri de securitate putem să aplicăm serviciilor web REST?

Ca să implementăm fluxurile cu API-uri REST, de obicei, resursele se creează, se citesc, se actualizează și se șterg. Pentru fiecare dintre aceste apeluri REST, punctul final trebuie să verifice dacă apelantul este autorizat să solicite operația cerută. 

Serviciul REST de securitate trebuie să ofere doar punctele finale HTTPS. Acesta protejează datele de autentificare confidențiale în tranzit, de exemplu parole, API keys sau tokenurile web JSON. De asemenea, permite clienților să confirme identitatea serviciului și garantează integritatea datelor transmise. 

Serviciile REST care nu sunt publice trebuie să controleze accesul la fiecare punct final API. Serviciile web din aplicații implementează aceasta prin autentificarea utilizatorului, logica de autorizare și gestionarea sesiunilor. 

Planul și programa cursului:

1. XML și introducere în servicii web

  • Regulile de bază ale limbajului XML
  • Scheme XML și definițiile documentelor
  • Noțiunea și tipuri de servicii web 

2. Servicii web SOAP

  • Web Service Definition Language
  • Mesaje SOAP
  • Implementarea serviciului și a clientului SOAP

3. Aplicații RESTful 

  • Retrospectiva JSON
  • Lucrul cu tokenurile JSON Web (JWT)
  • Reguli și metode HTTP
  • Protecția aplicației REST

Participanți la cursul Service Applications Development

3 moduri de a obține un job bine plătit

Am pregătit un document în care puteţi descoperi trei moduri de a obţine un job bine plătit pentru profesioniştii care lucrează pe calculator. Descărcați raportul aici

Înscrierea pentru generaţia 2021/22 se face aici.

Pentru a afla totul despre înscriere, click aici.