Zapis arhitekturne odločitve: programski jezik Java
Naslov: Izbira programskega jezika Java za projekt
Odločitev: Po vrednotenju več programskih jezikov smo se odločili, da za svoj projekt uporabimo Javo.
Ozadje
Nameravali smo zgraditi spletno aplikacijo, ki bi lahko delovala v več operacijskih sistemih. Naš projekt je zahteval jezik, ki bi lahko zagotavljal močne varnostne funkcije, obravnaval sočasnost, podpiral velike kodne baze in bil dovolj vsestranski za izpolnitev naših prihodnjih zahtev glede rasti. Preden smo se odločili za Javo, smo ovrednotili več jezikov in upoštevali njihove prednosti in omejitve.
Premisleki
Varnost: Java zagotavlja odlične varnostne funkcije z dobro opredeljenimi varnostnimi politikami in nadzorom dostopa. Vključuje tudi funkcije, kot je preverjanje bajtne kode, ki pomaga preprečiti izvajanje zlonamerne programske opreme v sistemu.
Sočasnost: Java ima vgrajeno podporo za večnitnost, ki aplikacijam omogoča hkratno izvajanje več opravil. Zaradi te funkcije je Java odlična izbira za razvoj velikih, zapletenih aplikacij z več funkcijami in funkcionalnostmi.
Velike kodne baze: Java podpira objektno usmerjeno programiranje, zaradi česar je primerna izbira za razvoj velikih kodnih baz. Njena modularna narava ter uporaba vzorcev enkapsulacije in abstrakcije še dodatno olajšata proces razvoja programske opreme.
Vsestranskost: Java je vsestranska in omogoča uporabo širokega nabora knjižnic in ogrodij, zaradi česar je odlična izbira tako za spletne kot podjetniške aplikacije.
Izid odločitve
Odločili smo se, da za svoj projekt uporabimo programski jezik Java, ob upoštevanju njegovih varnostnih funkcij, podpore sočasnosti, zmožnosti obvladovanja velikih kodnih baz in vsestranskosti. Ta odločitev se ujema z zahtevami našega projekta in verjamemo, da bo izbira Jave zagotovila njegov uspeh.
Posledice
Potrebovali bomo razvijalce, ki imajo izkušnje z Javo in jo znajo spretno uporabljati.
Vsa koda, napisana v tem jeziku, mora biti združljiva z virtualnim strojem Java (JVM).
Vključevanje novih funkcij, funkcionalnosti ali ogrodij lahko predstavlja nekaj izzivov.
Veliki, zapleteni projekti v Javi lahko zahtevajo več časa in virov za razvoj.