Showing posts with label test. Show all posts
Showing posts with label test. Show all posts

Tuesday, April 18, 2023

Unapredite svoj razvoj Java aplikacija sa Spring radnim okvirom

Kada tek počnete da učite Java programiranje, obično kodirate manje programe kako biste se upoznali sa osnovnim konceptima i pravilima Java programskog jezika. Kada steknete malo više iskustva, počinjete da razvijate sopstvene projekte, ali shvatite da ima još mnogo toga što treba da naučite o Java programskom jeziku. Za razliku od drugih programskih jezika, Java je vrlo kompleksan programski jezik i koristi se za razvijanje velikih projekata, što može biti zbunjujuće i za najiskusnije programere. Java programski jezik nudi mnogo mogućnosti, ali kodiranje u ovom jeziku može zahtevati veliki broj linija koda i često dovodi do grešaka. Osim toga, proces testiranja i uključivanja drugih elemenata u projekat može biti vrlo spor i zahtevan. Ako niste upoznati sa radnim okvirima za Java programski jezik, može biti teško da se nosite sa svim ovim izazovima. Stoga, preporučuje se da čak i početnici u Java programiranju uče i koriste radne okvire koji olakšavaju razvoj projekata. Radni okviri za Java programski jezik; kao što su Spring, Hibernate i Apache Struts 1 nude mnoge funkcije koje olakšavaju razvoj veb aplikacija i mikroservisa, omogućavajući programerima da brzo razvijaju i skaliraju svoje projekte. Korišćenje radnih okvira takođe može pomoći u smanjenju količine koda koji je potrebno napisati i smanjiti broj grešaka u projektu, pre svega zbog bolje optimizacije i organizacije svih poslovnih i drugih procesa koji proističu iz vašeg projekta.


( Spring radni okvir, jedan od najpopularnijih Java radni okvira )

Pogledajmo koji se to najčešći frameworks – radni okviri koriste u Java projektima.

  • Spring – jedan od najpopularnijih Java radni okvira, koji se koristi za izgradnju veb aplikacija, mikroservisa i drugih aplikacija. Nudi mnoge korisne funkcionalnosti poput sigurnosni, obrada transakcija, kontrole pristupa i druge.
  • Hibernate – popularan radni okvir za rad sa bazama podataka, koji omogućava programerima da lako izvršavaju CRUD operacije, kao i upite i pretrage u bazama podataka.
  • Apache Struts 1 – je stariji radni okvir otvorenog koda za izgradnju veb aplikacija koji pruža odličnu podršku za MVC arhitekturu.
  • Apache Struts 2 – je noviji radni okvir otvorenog koda za izgradnju veb aplikacija koji pruža odličnu podršku za MVC arhitekturu ali i podršku za AJAX.
  • Play Framework – je moderni veb radni okvir koji se koristi za izgradnju brzih i skalabilnih veb aplikacija.
  • JSF – JavaServer Faces – je radni okvir za izgradnju veb aplikacija koji se oslanja na komponente, dok omogućava programerima da brzo i lako izgrađuju korisnički interfejse.
  • JavaFX – je radni okvir za izgradnju desktop aplikacija koji omogućava programerima da brzo i lako izgrade interaktivne aplikacije sa bogatim grafičkim interfejsom.
  • Apache Wicket – je radni okvir koji se koristi za izgradnju veb aplikacija i koji se oslanja na komponente i omogućava programerima da brzo i lako izgrade kompleksne aplikacije.
  • Dropwizard – je radni okvir koji se koristi za izgradnju mikroservisa.
  • Itd.
Postoji još i drugih radnih okvira za Java programski jezik koji se koriste u različitim aplikacijama i projektima, dok izbor radnog okvira isključivo zavisi od specifičnih zahteva projekta i preferencija programera. Imajte samo u vidu da vi možete da koristite više radni okvira u istom projektu, kad to ima smisla ili bolje rečeno kad su radni okviri kompatabilni kao npr. Spring i Hibernate. Mi ćemo se u ovom tutorijalu baviti Spring radnim okvirom i mogućnostima koje on pruža.

Spring radni okvir

Wednesday, March 16, 2016

Šta su sklopovi?


Još pre pojave .Net platforme, rad sa *.dll datotekama koje izvoze globalne funkcije i *.dll datoteke koje izvoze COM klase, su pravile ogromne probleme, da je Microsoft sa pravom uveo frazu „DLL pakao“ za navedenu problematiku. Aplikacije nisu radile ispravno jer bi novo instalirana aplikacija prebrisala *.dll datoteku koju je koristila druga aplikacija. Ponekad bi instalacija nove aplikacije zamenila novi *.dll starijom verzijom ili novi *.dll datoteka nije bila kompatibilna sa starijom verzijom. Tek od Windows 2000 se uvela mogućnost instaliranja *.dll datoteka u direktorijum aplikacije. Najveći problem je bio što konfiguracija COM komponente nije bila smeštena u samoj *.dll komponenti, nego u bazi Windows Registry. Za ovaj pakao, kao odgovor je stigao sklop.


( GAC - Global Assembly Cashe Folder )

Sklop je osnovna jedinica aplikacije .Net-a. Sklop je samoopisujuća kolekcija koda, resursa i meta podataka. Jednostavno govoreći, sklop je projekat koji se kompajlira u izvršnu datoteku *.exe ili u *.dll datoteku biblioteke. Sklopovi mogu biti privatni ili javni tj. deljeni. Sklop koji se nalazi u direktorijumu vaše aplikacije je privatan sklop, dok deljeni sklop je sklop smešteni u GAC - Global Assembly Cache pomoću alata Gacutil.exe ili Windows Installer-a. To su sklopovi smešteni u C:\Windows\Microsoft.NET\assembly\GAC_MSIL folderu. Deljene sklopove ili sklopove koje se nalaze u GAC-u može da koristi više aplikacija, dok privatni sklop može da koristi samo aplikacija koja sadrži sklop u svom direktorijumu. Da bi ste kreirali deljeni sklop neophodno je da vašem sklopu dodelite Strong name – strogo ime.

var assembly = Assembly.GetExecutingAssembly();
WriteLine(assembly.FullName);
// Result: AssemblyCS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

Kao što vidite strogo ime se sastoji od imena sklopa, verzije, kulture i parnog ključa. Navedena aplikacija u kodu AssemblyCS nema dodeljeno strogo ime, što definitivno ukazuje da je reč o privatnom sklopu. Najvažnija stvar za jedan sklop je deklaracija sklopa koja sadrži informacije o tome od čega se sastoji sklop. Sklop može da sadrži samo jednu deklaraciju sklopa i ona sadrži sve podatke opisa za sklop. Deklaracija sklopa može da se nalazi u svojoj odvojenoj datoteci ili da se nalazi unutar jednog od modula sklopa.

Šta sadrži sklop?