177

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

JAVA KAO JEZIK IZBORA U NASTAVI PROGRAMSKIH JEZIKA NA POSLOVNIM KOLAMA JAVA AS A CHOISE IN TEACHING PROGRAMMING LANGUAGES AT BUSINESS

SCHOOLS
Ninoslava Savi Via poslovna kola u Novom Sadu Sadraj - U radu je dat prikaz mogunosti i karakteristika programskog jezika Java koje su odluujue prilikom opredeljivanja za nastavni programski jezik na visokim kolama i fakultetima poslovnog usmerenja Pri tom se uzima u obzir predznanje i sklonost studenata poslovnog usmerenja kao i ciljevi osposobljavanja studenata koji se fokusiraju na primenu aplikacija elektronskog poslovanja . Abstract - This paper considers the capabilities and characteristics of Java programming language, which are important while choosing the appropriate programming language in teaching students of business. The knowledge and interests of such students are important in making good decision, also the goals of their ICT education which are focused on e-business applications. 1. UVOD Razvoj Interneta, najpopularnijeg proizvoda savremene tehnologije, uslovljava promene u svim oblastima ivota i rada, posebno u oblasti poslovanja. Internet u sferi poslovanja donosi nove metode upravljanja poslovima na globalnom planu. Elektronsko poslovanje, kao oblik primene Internet tehnologije u poslovnom svetu, predstavlja mono sredstvo za smanjenje cena transakcija, proirenje trita, poboljanje kvaliteta usluga kupcima, uvoenje jedinstvenog one to one marketinga itd. Proizvoai hardvera i softvera danas se takmie u pronalaenju novih, to adekvatnijih reenja koja bi olakala prodor elektronskog poslovanja. U tom smislu nastaju novi, sve moniji ali dostupni modeli hardvera, uz uoeni povratak na trite ve due potisnutih mainframe-ova koji se pokazuju pogodnim za aplikacije elektronskog poslovanja. Takoe, u domenu softvera nude se sve sofisticiraniji softverski alati, namenjeni kako profesionalcima za razvoj novih softverskih proizvoda, tako i sve brojnijim neprofesionalnim ICT korisnicima. Proizvoai softvera nude integrisana razvojna okruenja namenjena posebno za aplikacije elektronskog poslovanja. To su sloene platforme koje sadre kolekcije alata razliitih namena, od alata za odreivanje klasa korisnika i usluga, preko alata koji omoguavaju centralizovano upravljanje sistemom, mreom ili aplikacijom elektronskog poslovanja, alata sa naprednim grafikim mogunostima do alata za obezbeivanje sigurnosti mree [1]:. U svetlu irenja primene elektronskog poslovanja postavlja se pitanje izbora programskog jezika koji bi svojim osobinama odgovarao potrebama nastave iz oblasti programskih jezika na visokim kolama poslovnog usmerenja. Pri tom se uzimaju u obzir neke injenice koje znaajno utiu na konaan izbor adekvatnog programskog jezika. To su sledee injenice: Studenti poslovnog usmerenja obrazuju se iz oblasti raunarstva sa ciljem da postanu ili aktivni, obueni korisnici aplikacija elektronskog poslovanja, ili uesnici u timu za implementaciju i obuku korisnika aplikacija elektronskog poslovanja, ili odravaoci aplikacija elektronskog poslovanja. Predznanje i sklonosti studenata poslovnih usmerenja znatno se razlikuju u odnosu na studente tehnikih i matematikih usmerenja. Izbor u nastavi je ogranien na jedan jedini programski jezik zbog specifinosti nastavnog plana koje se odnose na ogranieni broj asova za oblast raunarstva. U ovom radu prednost u izboru jezika pogodnog za obrazovanje studenata poslovnog usmerenja daje se programskom jeziku JAVA. Ova odluka se zasniva na opredeljenju za jezik koji je predstavnik grupe objektnoorijentisanih jezika kao i na pogodnim karakteristikama koje JAVA poseduje analizirajui je u kontekstu potencijalnog standardnog nastavnog jezika, a koje e u nastavku biti detaljnije analizirane. 2. OBJEKTNA ORIJENTACIJA KAO OREDELJENJE Objektno-orijentisan pristup projektovanju i programiranju predstavlja modernu paradigmu u razvoju softvera. Svi programski jezici nastali u poslednjih dvadeset godina pretendovali su da dobiju karakteristiku objektni, to bi ih inilo pogodnim za razvoj novih generacija softvera. Razlog tome je to se smatra da softver nastao objektnom

metodologijom ima svojstvo reusability, dakle mogunost viestrukog korienja napisanog programskog koda. Time kreiranje softverskog proizvoda podraava kreiranje hardverskog proizvoda sastavljenog iz gotovih komponenti. (Smatra se da cena hardvera pada dok cena softvera raste zbog injenice da novi hardverski proizvodi nastaju kombinovanjem gotovih komponenti, dok u razvoju softvera takav pristup nikada nije potpuno uspeno primenjen, ve je ostao na nivou tendencije.) 3. PROGRAMSKI JEZIK JAVA

Programski jezik JAVA pojavio se 1995. godine kao rezultat rada na projektu razvoja softvera za kontrolu razliitih udaljenih elektronskoh ureaja za domainstvo. Kako raspoloivi programski jezici nisu dovoljno odgovarali potrebama projekta, James Gosling i tim razvijaju potpuno novi jezik. Cilj je bio da to bude jezik sa sledeim osobinama: pre svega platformski nezavisan, jednostavan za uenje, koncizan i time lako prenosiv kroz raunarsku mreu, siguran, sa visokim performansama, uz to objektno-orijentisan. Stvorivi takav jezik, ubrzo se shvatilo da on daleko prevazilazi svoje polazne namene i da je moda ba to programski jezik koji bi mogao postati standard u budunosti. To bi znailo da karakteristike takvog jezika ispunjavaju visoke zahteve koji se postavljaju pred savremeni alat za razvoj softvera najire namene u vreme ekspanzije informaciono-komunikacionih tehnologija [2]. 4. KARAKTERISTIKE JAVE POGODNE ZA NASTAVU PROGRAMSKIH JEZIKA 4.1. Objektna orijentacija Minimum ugraenih koncepata potrebnih da bi se programski jezik smatrao objektnim predstavljaju koncept klase i koncept nasleivanja. JAVA podrava gotovo sve osnovne koncepte objektnog programiranja (osim viestrukog nasleivanja, koje simulira pomou takozvanih interfejsa). To su: Klasa (sa promenljivim i metodama klase), Objekat (sa promenljivim i metodama instance), Nasleivanje (samo jednostruko), Enkapsulacija (ostvarena preko private specifikatora pristupa), Polimorfizam (ostvaren preko overriding metoda). 4.2. Mogunost prouavanja i struktuiranog i objektnog naina programiranja Situacija koju sreemo u praksi jeste da studenti esto nemaju nikakva predznanja iz oblasti programiranja na koja bi se mogla nadograditi nastava programskih jezika. Zbog toga je potrebno izabrati jezik koji bi bio dovoljno irok da

obuhvati sve moderne zahteve (metodoloke i funkcionalne) koji se od njega oekuju. Sveobuhvatna edukacija iz oblasti programiranja treba da poslui kao temelj za kasnije nadogradnje znanja u ovoj veoma ekspanzivnoj oblasti raunarskih nauka. Istovremeno, od tog programskog jezika se oekuje da bude dovoljno jednostavan za usvajanje (slino kao nekadanji standardni kolski jezik Pascal). Izabrani jezik bi trebalo da omogui postepenu izgradnju vetine programiranja, polazei od struktuirane metodologije, tek potom prelazei na objektnu, koja je danas standard. (Poto je struktuirana metodologija segment objektne metodologije, sadrana u razradi metoda u sastavu klasa, to ju je nemogue preskoiti). JAVA omoguava svojom jednostavnou i bogatstvom da se u prvom delu prouavanja studenti zadravaju samo na strukturama za kontrolu programskog toka, koristei, uz osnovne primitivne tipove podataka jo nekoliko izabranih klasa iz Javine biblioteke (recimo klasu String i klasu za rad sa nizovnim tipom [ ] ). Tako se struktuirani primeri mogu izvoditi relativno komforno, bez detaljnih znanja o objektnoj metodologiji i njenim osnovnim konceptima. U drugom delu nastave, prouava se na istom programskom jeziku objektna metodologija sa svojim osnovnim skupom koncepata. 4.3. Jednostavnost objektnih koncepata JAVA programerima je znaajno pojednostavljeno pisanje objektnih programa u odnosu na druge jezike sline funkcionalnosti iz sledeih razloga: Postoji automatsko upravljanje memorijom (Garbage collector) to oslobaa programera dela briga o iskorienoj memoriji (referencama). Postoji automatsko upravljanje izuzecima (klasa Exception sa svojim potklasama i try/catch naredba) ime se olakava razreavanje problema greaka. Koncept pokazivaa koji optereuje i programera i programski kod zamenjen je konceptom referenci iju aritmetiku JAVA automatizuje i time oslobaa programera dela programskog koda koji najee generie greke. Ovo je naroito znaajno za studente poslovnih usmerenja, koji esto ne poseduju temeljne matematike osnove i sklonosti. Oni iz tog razloga tee prihvataju apstraktne nastavne teme. Za razliku od studenata matematikih i tehnikih usmerenja, oni su prirodno vie okrenuti praksi i konkretnim praktinim primerima. Koncept niti (Thread) olakava pisanje modernih mrenih aplikacija kao i aplikacija sa grafikim korisnikim interfejsom koje simultano obavljaju vie poslova [3]. JAVA ima ugraen mehanizam za upoznavanje klasa i njihovih svojstava, poznat kao refleksija

klasa i implementiran preko paketa java.lang.reflect [2]. On pomae u savladavanju obimnosti Java biblioteke klasa koje nam stoje na raspolaganju (Java2 API Application Programming Interface). 4.4. Javina biblioteka klasa JAVA poseduje bogatu biblioteku gotovih klasa i paketa koje stoje na raspolaganju korisniku i poveavaju mogunosti programskog jezika. To je znaajno svojstvo jezika koji pretenduje da se primenjuje prilikom kreiranja sloenih mrenih aplikacija vieslojne arhitekture, namenjenih Internetu, kakve su obino aplikacije elektronskog poslovanja. Gotove JAVA klase grupisane su funkcionalno u pakete srodnih klasa. Ono to je potrebno za njihovo korienje je da programer proui koje su mu klase na raspolaganju, koje promenljive opisuju njihova stanja, koje metode su ugraene da opiu njihova ponaanja kao i koji konstruktori klase su na raspolaganju za kreiranje novih instanci klase (objekata). To je obiman posao, ali i dobra investicija koja donosi znaajno skraenje vremena potrebnog za razvoj buduih aplikacija. Najznaajniji paketi JAVA biblioteke su [4]: Paket java.lang sadri podatke i klase neophodne za realizaciju osnovnih funkcija jezika (klase Object, Class, String, Math itd), Paket za kreiranje komponenti grafikog korisnikog interfejsa (GUI Graphical User Interface) pod imenom java.awt (Abstract Window Toolkit) i novija verzija tog paketa, koja ipak nije iskljuila, ve korigovala i dopunila upotrebu starije), paket javax.swing, predstavljaju grupe klasa koje obrazuju apstraktnu okolinu za kreiranje grafikih korisnikih interfejsa nezavisnih od raunarske platforme, Paket za podrku mrenim funkcijama java.net, Paket za pristup relacionim bazama podataka java.sql, Paket za implementaciju razliitih struktura podataka java.util, Paket za kreiranje vienitnih aplikacija, koje koriste ve pomenuti koncept niti java.lang.Thread, Paket java.security, koji sadri korisne alate za realizaciju funkcija bezbednosti podataka (alate za digitalne potpis, obradu poruka, upravljanje kljuevima, za sertifikate, kriptografske kljueve, liste za kontrolu pristupa), Paket java.applet za kreiranje apleta, interaktivnih JAVA programa koji se izvravaju na Web-u, odnosno programa koji rade u okviru HTML pretraivaa koji podravaju JAVU, Paket java.rmi za udaljeno pozivanje metoda (Remote Method Invocation), tj. za pozivanje

metoda nad objektima koji su pokrenuti na drugim, udaljenim raunarima, Paket java.beans za pravljenje komponenti potrebnih korisniku, sastoji se od interaktivnih alata za generisanje komponenti konkretnog korisnikog sistema, uz potovanje odreenog ablona projekta.

4.5. Integrisana razvojna okruenja Na tritu postoji veliki izbor integrisanih razvojnih okruenja (IDE) za JAVA aplikacije, koje nude razliiti proizvoai softverskih alata. Takvi alati olakavaju i ubrzavaju izgradnju aplikacija, posredstvom razliitih generatora (ekrana, izvetaja,) kojima su snabdeveni. Pokazalo se da studenti odlino reaguju na prouavanje ovih razvojnih alata u delu nastave rezervisanom za laboratorijske vebe iz vie razloga: Dinamina i zanimljiva nastava, Brzo vidljivi efekti njihovih napora, tj. rezultati rada, Lako proverljivi rezultati rada, Omoguavaju efikasno ilustrovanje prouavanih koncepata i tema, to je bitno zbog ogranienog vremena u nastavi, Iskustvo pokazuje da studenti relativno lako i masovno savladavaju GUI Builder i Java Data Base Conectivity, tako da posle teorijske pripreme veoma brzo postaju sposobni za samostalnu realizaciju jedne poslovne Windows aplikacije koja komunicira sa relacionom bazom podataka. To je odlian osnov da u svom daljem radu samostalno nastave da nadograuju svoje osnovno znanje novim, sloenijim konceptima u praksi. Kako korporacija Sun Microsystems, proizvoa i distributer Java softvera, omoguava slobodno preuzimanje najnovijih verzija svih alata vezanih za JAVA programski jezik, to je za obrazovne institucije jo jedna olakica koja opredeljuje. IDE Net Beans ovog proizvoaa pokazao se u nastavi kao odlian izbor, koji studentima, pored nabrojanih pogodnosti u radu, olakava pripremu za ispit jer im omoguava da ga u svom kunom okruenju slobodno instaliraju. 4.6. Portabilnost Jezik JAVA je dizajniran po modelu pii jednom pa izvodi bilo gde, odnosno tako da bude nezavisan od raunarskih platformi. Ova njegova karakteristika ini ga gotovo jedinstvenim u klasi programskih jezika i izuzetno poveava njegove anse u borbi za prestino mesto programskog jezika standarda za razvoj aplikacija elektronskog poslovanja. Jasno je koliko razliitih raunarskih platformi (razliitih tipova procesora, proizvoaa, operativnih sistema itd.) moe da uestvuje u komuniciranju preko Interneta kao potencijalni vorovi jednog sistema

elektronskog poslovanja, ak i u okviru jedne jedine korporacije. Jezik koji ne bi bio platformski nezavistan, a stavljen u funkciju razvoja aplikacija elektronskog poslovanja, koje svojom vieslojnom arhitekturom podrazumevaju mrene transakcije, bio bi nona mora za programere. Kako u fazi razvoja, tako i u fazi odravanja ovih aplikacija, postojala bi hiperprodukcija verzija softvera sa istom namenom za razliite raunarske platforme. To bi, naravno, zahtevalo dodatne razvojne resurse (ljudske, hardverske, finansijske). Osobina nezavisnosti od raunarske platforme u jeziku JAVA ostvarena je uz pomo takozvane Java Virtuelne Maine (Java Virtual Mashine JVM). Tanije, JAVA kompajler prevodei Javin izvorni kod generie objekt kod nazvan bajtkod (bytecode), i dalje mainski nezavisan meukod, koji se u fazi pokretanja programa praktino interpretira na konkretnoj raunarskoj platformi [5]. To interpretiranje se izvodi od strane Java virtuelne maine, softvera koji se izvrava na vrhu razliitih operativnih sistema. Sve to je potrebno da bi se programi pisani negde u JAVI pravilno izvravali bez korekcija je da aktuelna raunarska platforma poseduje JVM i operativni sistem koji podrava JVM (drugim reima, da poseduje takozvano JAVA radno okruenje ili Java runtime environment). Iako je ova ideja i realizacija iste odlina, kao i uvek u raunarstvu, svaki dobitak nosi izvesni gubitak na drugoj strani. U ovom sluaju osobina portabilnosti je dobitak, a gubitak se ogleda u smanjenju performansi progama pisanih u JAVI u odnosu na neke sline jezike (recimo C++). Vreme izvoenja JAVA programa je produeno zbog interpretiranja svih onih instrukcija koje su platformski zavisne. Postoje naini za prevazilaenje ovih problema kao to su generisanje platformski zavisnog object koda koji je boljih performansi, optimizacija izvornog koda iskljuivanjem sporih tipova podataka, sporih instrukcija, definisanjem final klasa i metoda kad god je to mogue i sl. 4.7. Apleti i servlet JAVA ima ugraenu snanu podrku Web-u, jedinstvenu meu programskim jezicima. Preko klase Applet iz paketa java.applet, omogueno je pisanje interaktivnih programa koji se izvravaju u okruenju Web pretraivaa. Takvi programi, takozvani apleti, oivljavaju svojom pojavom stranice Interneta. Ova mogunost je idealna jednostavna alternativa za pisanje inae sloenih klijent delova aplikacije. to se tie server strane tipinih Web aplikacija, JAVA takoe ima reenje u vidu takozvanog servleta API. Korienjem API servleta, mogue je pisati programe koji obrauju podatke iz aplikacije klijenta a dostupni su preko Web pretraivaa. Pri radu sa API servletima koristi se JAVA mogunost pisanja vienitnih aplikacija koje razreavaju jednim procesom viestruke zahteve korisnika to je ogromna prednost u odnosu na alternativne alate [5].

5.

ZAKLJUAK

Analizirajui nastavu iz oblasti raunarskih nauka na poslovnim usmerenjima visokih kola i fakulteta, uoava se potreba da se studenti posebno edukuju za sve iru primenu aplikacija elektronskog poslovanja, iji e korisnici u najveem broju sluajeva oni biti. U tu svrhu, kao jezik izbora u nastavi programskih jezika predlae se programski jezik JAVA, smatrajui da je to jezik koji odlino odgovara prirodi i funkcijama aplikacija elektronskog poslovanja. Kao predstavnik moderne generacije objektno-orijentisanih jezika, sa bogatom bibliotekom klasa, pogodan za Internet programiranje, portabilan, jednostavan za savlaivanje i samostalno proirivanje znanja, sa komfornim i slobodno dostupnim IDE alatima za brz razvoj aplikacija, on studentima u nastavi omoguava brzo i efikasno savladavanje gradiva.

LITERATURA [1] Duane E. Sharp, Selecting Hardware and Operating System Software for E-Commerce, Architectures for EBusiness Systems: Building the Foundation for Tomorrows Success, Auerbach Publications, 2001. [2] L. Lemay, R. Cadenhead, Sams Teach Yourself Java 1.2 in 21 Days, Sams Publishing, 1998. [3] K. Arnold, J. Gosling, D. Holmes, The Java Programming Language, Third Edition, Addison Wesley, 2000. [4] H. Schildt, Java 2: The Complete Reference, McGraw-Hill, 2001. [5] R. Venkataraman, Java and Its Supporting Technologies, Architectures for E-Business Systems: Building the Foundation for Tomorrows Success, Auerbach Publications, 2001.

You might also like