Sărbătorim SysAdmin Day: Reducere de peste 605€ pentru toți viitori administratori

Cursul Java Data Access

Java este un limbaj de programare care are cea mai largă aplicație din lumea tehnologiei informației, motiv pentru care se consideră și cel mai căutat pe piață de câțiva ani. Experții care dețin cunoștințe pentru cel puțin una din numeroasele posibilități oferite de Java, ajung foarte repede la un job bine plătit, iar acest curs vă oferă posibilitatea de a vă extinde abilitățile și de a adăuga în CV alte tehnici importante pentru lucrul în limbajul de programare menționat. 

Participanții la acest curs vor avea posibilitatea de a afla totul despre problemele de salvare a datelor cu ajutorul limbajului de programare Java și de a se familiariza cu cele mai diferite moduri de depozitare. Este cert faptul că există numeroase modalități prin care o aplicație să salveze anumite date fără să fie salvate în memoria de lucru, dar acest curs se va ocupa exclusiv cu folosirea bazelor de date relaționale în scopurile menționate. 

După finalizarea cu succes a cursului, participanții vor fi pregătiți pentru a utiliza Hibernate ORM Framework și integrarea sa în aplicații software Java. Pe lângă asta, cunoștințele dobândite le vor oferi posibilitatea de a lucra la dezvoltarea aplicațiilor scalabile profesionale după modelul arhitecturii software moderne. 

Având în vedere că acest curs face parte din planul și programa pe care le frecventează viitori programatori Java, se presupune că participanții vor avea anumite cunoștințe care le vor facilita formarea ulterioară. Abilitățile practice de la acest curs, dar și de la altele din programul menționat, vă vor califica drept programator Java care are toate cunoștințele necesare și este pregătit să îndeplinească numeroase responsabilități complexe în cel mai răspândit limbaj de programare. 

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

Descrierea și scopul cursului Java Data Access

Acest curs se ocupă cu problemele persistenței, dar și cu maparea relațională orientată pe obiecte în limbajul de programare Java. În timpul cursului, vor fi prezentate și abordate bazele modelului obiectual și relațional, precum și problemele de incompatibilitate care apar între acestea. Cursul pune accent în mod special pe instrumentul Hibernate pentru maparea relațională orientată pe obiecte, unul dintre cele mai importante instrumente de acest tip. 

Participanții de la acest curs vor avea posibilitatea de a afla multe despre problemele de depozitare a datelor folosind limbajul de programare Java și de a se familiariza cu cele mai diferite tipuri de depozitare. Este cert faptul că există numeroase modalități prin care o aplicație salvează anumite date, și nu este vorba despre stocarea în memoria de lucru, dar acest curs se va ocupa exclusiv de folosirea bazelor de date relaționale în scopuri menționate. 

După finalizarea cu succes a cursului, participanții vor fi pregătiți pentru a utiliza Hibernate ORM Framework și integrarea sa în aplicații software Java. Pe lângă asta, cunoștințele dobândite le vor oferi posibilitatea de a lucra la dezvoltarea aplicațiilor profesionale scalabile după modelul arhitecturii software moderne. 

Principalul scop al cursului este ca toți participanții să se pregătească pentru folosirea diferitor tipuri de persistență, cu accent deosebit pe utilizarea lui Hibernate ORM Framework și integrarea sa în aplicațiile software Java. Pe lângă asta, frecventând acest curs, participanții vor avea posibilitatea de a se pregăti pentru dezvoltarea aplicațiilor profesionale scalabile după modelul arhitecturii software moderne.

Numeroasele cunoștințe utile și abilitățile practice oferite cursanților de acest curs, vor fi asimilate prin intermediul a patru module gândite în așa fel încât procesul complet de studiu să le fie cât mai simplu. 

Primul modul este dedicat persistenței, unde se va prezenta noțiunea de persistență și li se vor oferi cunoștințe necesare despre NoSQL și baze de date relaționale. Apoi, urmează a doua parte din curs, care se va ocupa de maparea relațională orientată pe obiecte și pregătirea cursanților pentru folosirea instrumentului ORM. 

Apoi, vor învăța ce este JPA – specificația care definește reguli după care se face persistența obiectelor. În aceste lecții, participanții vor afla ce este entitatea și cum se definește și se vor familiariza cu tehnicile necesare pentru gestionarea entității. Ultimul modul va pune accent pe obținerea cunoștințelor referitoare la instrumentul Open Source pentru maparea relațională orientată pe obiecte în limbajul de programare Java, respectiv Hibernate. 

În aceste lecții, cursanții se vor familiariza cu configurația și cu arhitectura obiectuală a instrumentului menționat. De asemenea, vor învăța tot ce este necesar despre mapare, adică marcarea datelor astfel încât să fie recunoscute și folosite în mod corect. Cunoștințele dobândite le vor putea folosi pentru maparea relațiilor folosind XML sau adnotarea. Pe lângă asta, această parte din curs le va prezenta și alte noțiuni importante, precum CRUD, Hibernate Query Language și lazy loading.

Cursul Java Data Access va răspunde la următoarele întrebări:

1. Ce este data și ce este informația?

În vorbirea de zi cu zi, dar și în anumite texte de specialitate, se folosește des termenul de dată și informație aproape cu aceeași semnificație, sinonime. Totuși, este vorba despre două noțiuni care deseori sunt complet diferite. 

Data este noțiunea care se referă la un fapt organizat sau o valoare care pentru consumator nu are o semnificație specială. De exemplu, un set de date poate fi: 15 16 20 17 17 20 19.

Pentru cititor, deci, acest set de date nu are nicio semnificație specială. Totuși, dacă am spune că aceste numere sunt temperaturile zilnice prognozate pentru săptămâna următoare, acest set de date ar avea deja o semnificație pentru cititor. Atunci, acesta ar ști că numărul 15 reprezintă temperatura prognozată pentru lunea următoare, numărul 16 va fi temperatura pentru marți etc. 

Datele astfel interpretate, acum devin informații pentru cititor. De aceea, se spune că informația este o dată procesată, organizată, structurată și prezentată. Informația este, așadar, o dată care are o semnificație utilizabilă pentru consumator. 

De asemenea, data devine informație și proces de editare. Setul datelor numerice prezentat astfel, care reprezintă temperaturile pentru săptămâna următoare, se poate edita obținând astfel o informație. De exemplu, setul prezentat de date se poate folosi pentru calcularea temperaturii medii pentru săptămâna următoare. Un astfel de calcul ar prezenta editarea. În această situație, setul de numere prezentate ar fi date, iar valoarea 17,7 va fi o informație care ar reprezenta temperatura medie așteptată pentru săptămâna următoare.  

2. Ce este persistența?

Noțiunea de persistență se referă la posibilitatea de a salva datele și apoi încetarea execuției aplicației. Aproape toate aplicațiile păstrează datele pentru o utilizare ulterioară. Motivele pentru asta sunt numeroase. Aplicația se poate ocupa de datele angajaților, de date de configurare ale aplicației, date despre statistica utilizării etc… Se poate spune că aceste nevoi sunt, practic, nelimitate. 

Aplicațiile pentru gestionarea resurselor umane se vor folosi pentru păstrarea datelor despre angajați. Astfel de aplicație va păstra o mulțime de obiecte ale angajaților, iar unele date tipice pentru salvare pot fi numele, prenumele, funcția, câștigul etc. Toate aceste date din obiectele angajaților trebuie salvate într-o formă de memorie persistentă. În timpul executării aplicației, aceste date există în cadrul memoriei de lucru, care este așa-numita memorie transient sau volatile, așadar, se poate spune că astfel de date sunt salvate doar temporar. 

În caz de pană de curent, aceste memorii nu au posibilitatea de a-și salva starea, așadar, se ajunge la pierderea datelor. Pe de altă parte, există memorii care pot salva datele chiar și după o pană de curent. Acestea sunt așa-numitele memorii non-volatile. La final, se poate concluziona că principalul rol al persistenței este salvarea datelor astfel încât acestea să supraviețuiască executării aplicației. 

3. Ce este NoSQL?

Există diferite tipuri de baze de date, în funcție de modul în care sunt organizate datele și cum se accesează. Momentan, cele mai răspândite sunt bazele de date de tip relațional. Aici, datele sunt stocate în tabele legate prin relații. Totuși, în ultimii ani a apărut un șir de tehnologii pentru stocarea datelor în altă manieră, care corespund cererilor aplicațiilor moderne. 

NoSQL este abrevierea pentru Not Only SQL. Este vorba despre mecanisme de gestionare a datelor care sunt modulate astfel încât să nu folosească tabelele, relațiile lor și dependențele.  

Simplu, un anumit scenariu, adică aplicarea anumitor aplicații se descurcă mai bine cu altfel de mecanisme de stocare a datelor. Având în vedere acest lucru, este ușor de înțeles importanța filosofiei care stă în spatele noțiunii NoSQL. 

Există câteva tipuri de sisteme pentru gestionarea bazelor de date care pot fi considerate bazele NoSQL (Document, Graph, Key-Value, Column, baze de date obiectuale). Clasificarea se bazează pe modalitatea de stocare a datelor.

Java Data Access

4. De ce bazele de date sunt cele mai răspândite?

În timpul dezvoltării intensive a sistemului pentru stocarea și gestionarea datelor (DBMS – database management system), programarea orientată pe obiecte nu a fost foarte răspândită. Acesta este unul dintre motivele pentru care dezvoltarea sistemelor pentru gestionarea datelor a folosit modelul relațional. 

Un alt motiv pentru dominația de astăzi a bazelor de date relaționale este limbajul cu care se manipulează datele în astfel de sisteme. Desigur, este vorba despre SQL. SQL este unul dintre cele mai populare limbaje din prezent pentru gestionarea bazei de date relaționale. Instrumentele bazate pe SQL sunt disponibile, practic, pentru fiecare combinație a sistemului de operare, platforme și baze de date. De asemenea, aproape fiecare programator sau profesionist IT deține cel puțin cunoștințe de bază de SQL. 

Bazele de date relaționale sunt tehnologia matură dovedită în practică. Aproape fiecare dintre sistemele relaționale populare în prezent pentru gestionarea bazelor de date are în spate o dezvoltare de lungă durată și o utilizare activă. 

De asemenea, bazele de date relaționale se bazează pe standarde acceptate pe plan larg. Migrarea dintre două sisteme relaționale pentru gestionarea bazelor de date (RDBMS – relational database management system) nu prezintă un efort prea mare.

Există multe RDBMS-uri (MySQL, Microsoft SQL Server, SQLite, Apache Derby, Oracle RDBMS). În acest curs, vă veți familiariza în detaliu cu cel mai utilizat sistem pentru gestionarea bazelor de date – MySQL. Unele dintre cele mai mari și cele mai cunoscute sisteme software folosesc MySQL ca sistem pentru gestionarea bazelor de date; printre acestea se află și Facebook, Twitter, YouTube, Flickr, Wikipedia etc.

5. Ce este maparea relațională orientată pe obiecte?

Pentru efectuarea, respectiv asigurarea persistenței unui obiect Java, avem la dispoziție numeroase tehnici. Asta nu se întâmplă automat. Trebuie dezvoltată logica care introduce caracteristicile și starea obiectului în mod adecvat în baza de date, așadar, citirea și reutilizarea obiectului este posibilă. Pentru acest lucru, trebuie respectate regulile stabilite în avans. Autorii acestor drepturi trebuie să fie programatori; de asemenea, oricine vrea să lucreze cu obiecte trebuie să știe regulile după care este efectuată persistența în bază. Caracteristica Java este existența claselor, în timp ce caracteristica bazei de date este existența tabelului. Cum se trece golul dintre ele?

Procesul de depășire a golului dintre modelul relațional și cel orientat pe obiecte se numește mapare orientată pe obiecte. Acronimul acestui proces este ORM (object-relational mapping). Maparea relațională orientată pe obiecte poate fi un proces complex, luând în considerare compatibilitatea incompletă dintre sistemul obiectual și cel relațional. 

Scopul nostru este de a gestiona datele prin obiecte Java, care este văzut din punct de vedere al unei aplicații. 

Deseori, se poate estima nejustificat procesul de convertire a claselor Java în tabelele bazei de date și invers.

6. Ce este baza de date?

Baza de date este o colecție de informații structurate. Rolul principal al bazei de date este gestionarea unei cantități mari de date și permiterea utilizatorului să gestioneze datele în mod organizat și structurat. 

Baza de date are mecanisme diferite care permit ca o mare cantitate de date să se organizeze logic, respectiv să se structureze, și astfel de date să se verifice, filtreze și sorteze ușor. De asemenea, baza de date oferă mecanisme simple pentru efectuarea operațiilor de bază asupra datelor, care presupun crearea, ștergerea, actualizarea și citirea. La final, baza de date deține și mecanisme avansate de securitate și diferite alte funcționalități. 

Datele din baza de date se organizează în tabel. Tabelele sunt alcătuite din coloane și rânduri, care prin intersectare reciprocă formează celule. Fiecare tabel al bazei de date se folosește pentru salvarea datelor într-o entitate. De fapt, entitățile sunt noțiuni din lumea reală, a căror date se modelează cu baza de date. De exemplu, în bază se pot salva date despre unele persoane. În astfel de situație, entitatea este Persoana.

7. Ce este Hibernate?

Hibernate este un instrument open-source pentru maparea relațională orientată pe obiecte în limbajul de programare Java. Acesta permite dezvoltarea claselor persistente folosind conceptele generale ale limbajului Java, precum: asocierea, moștenirea, polimorfismul, compoziția, manipularea colecțiilor de date etc. Toate acestea arată că Hibernate susține paradigma orientată pe obiecte. 

Pe lângă faptul că ține cont de maparea relațională orientată pe obiecte a claselor și a tabelelor Java în baza de date, Hibernate permite și crearea interogării, așadar, influențează împreună reducerea timpului necesar dezvoltării acelei părți de software care se referă la scrierea codului SQL și JDBC. Deci, Hibernate folosește clase și obiecte, în opoziție față de Result SET și interogarea SQL. Hibernate are grijă de întrebări, adică le generează, indiferent de sistemul pentru gestionarea bazei de date folosit de aplicația în sine. Aceste interogări  pot fi scrise cu limbajul interogativ SQL sau Hibernate, care este orientat pe obiecte (HQL – Hibernate Query Language). 

Hibernate este o soluție ORM proiectată special pentru Java; în prezent, este una dintre cele mai populare proprietăți de acest tip.

Planul și programa cursului

Modulul 1: Persitența

  • Introducere în persistență
  • NoSQL
  • Baze de date relaționale 

Modulul 2: Mapare relațională orientată pe obiecte 

  • Introducere în mapare relațională orientată pe obiecte
  • Instrumente ORM

Modulul 3: JPA

  • Introducere în JPA
  • Gestionarea entităților 

Modulul 4: Hibernate

  • Introducere în Hibernate
  • Configurarea și arhitectura obiectuală
  • Maparea
  • CRUD
  • Maparea relațiilor folosind XML
  • Maparea relațiilor folosind adnotări
  • Hibernate Query Language
  • Lazy loading

Software necesar și condiții tehnice:

Este nevoie de un calculator cu sistemul de operare Windows/Linux/Mac OS, Oracle OpenJDK, mediul de dezvoltare IntelliJ IDEA Community și MySQL Workbench. 

Cunoștințe necesare:

Se presupune că participantul are cunoștințe din cursurile Core Java Programming, Advanced Java Programming și Programarea și administrarea MySQL. 

Competențe:

Persistență 

  • cunoașterea utilizării bazelor de date în aplicația Java, precum și a diferitor modalități de aplicare a persistenței în limbajul de programare Java

Maparea relațională orientată pe obiecte

  • cunoașterea principiilor de bază ale modelului obiectual și relațional, precum și maparea relațională orientată pe obiecte

JPA

  • utilizarea specificației JPA pentru gestionarea entităților

Hibernate

  • utilizarea cadrului Hibernate ca soluție pentru stratul persistent

Cursul Java Data Access

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.