POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

Similar documents
Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54

Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig

Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js)

» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije

Hitra rast hranjenih podatkov

Prirejanje in preverjanje tipov

Q: Do You made a backup before upgrade? A: Only cowards make backups!

Navodila za uporabo izdelkov programske opreme Microsoft

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA

VISOKOŠOLSKI STROKOVNI ŠTUDIJ RAČUNALNIŠTVO IN TEHNOLOGIJE KOMUNICIRANJA

IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK

DB2 podatkovna baza v praksi

Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja

Selitev aplikacije iz Oracle Forms v Oracle ADF (Application migration from Oracle Forms to Oracle ADF)

Spletna aplikacija za urejanje vadbenih programov v fitnesu

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

sodobne poslovnoinformacijske rešitve Birokrat Kratka navodila za namestitev demo verzije programa Birokrat

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5

Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Četrtek, 2. junij 2016 SPLOŠNA MATURA

Navodila za nastavitev varne povezave po protokolu SSH

Twitter Bootstrap in razvoj spletnega repozitorija za Cacti

Transakcije v MariaDB/MySQL (transakcija A)

Calculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode

Sistemske zahteve za SAOP

Strukturirani poizvedovalni jezik SQL

Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov

RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO GREGOR IVANŠEK

New Media & Language Technologies Jozef Stefan International Postgraduate School January Speech apps. Jerneja Žganec Gros

Prometno načrtovanje xdsl

Časovno omejevanje dostopa do interneta

TEHNIČNA DOKUMENTACIJA -URESK APRIL 2013

How we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF

Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x

SPLETNA REŠITEV ZA POTREBE DRUŠTVA UPOKOJENCEV

Poročilo praktičnega izobraževanja v Unior d.d.

Razvoj spletne trgovine z vključitvijo naprednih storitev

Izdelava hibridnih mobilnih aplikacij z ogrodjem Ionic

Postavitev in upravljanje zasebnega oblaka z uporabo Microsoft System Center 2012 R2 in Windows Azure Pack za ponudnike storitev

formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike

VISOKOŠOLSKI STROKOVNI ŠTUDIJ. Računalništvo in informacijske tehnologije POROČILO PRAKTIČNEGA IZOBRAŽEVANJA. HAKL IT, d.o.o.

Aplikacija za podporo delovanja svetovalcev

APLIKACIJE ZA SOCIALNA

UPORABA SILVERLIGHT 4 ZA PODPORO PRI ELEKTRONSKEM PREVERJANJU ZNANJA

Šolski center Novo mesto Srednja elektro šola in tehniška gimnazija Šegova ulica 112, 8000 Novo mesto. Maturitetna seminarska naloga

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

Primerjava izvornega in hibridnega razvoja mobilne aplikacije

Session:E07 GALIO - DB2 index advisor, how we implemented it and what we get from self-made expert tool

RAZVOJ SPLETNE APLIKACIJE ZA NAJEM APARTMAJEV PO METODOLOGIJI RUP

Uporaba strežnika SharePoint za vodenje poteka dela pri izvajanju kompleksnih projektov

Navodila za namestitev CREO 3.0 in Audax nastavitev

Programski jezik Java

Kosovnica. Marko Obid. Kosovnica. Marko Obid

Aplikacija za prikaz prostorskih podatkov

Razvoj aplikacij na platformi Google App Engine

Povezava DEQ v omrežje

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

Povezava regulatorja DEQ v omrežje

Preregistracija 2013

Spletna aplikacija za izdelavo in urejanje spletnih vsebin

Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server

Primož Hadalin IZDELAVA SPLETNEGA PORTALA POSLOVNE APLIKACIJE Z UPOŠTEVANJEM RAZLIK MED SPLETNIMI BRSKALNIKI

RAZVOJ ENOSTAVNE SPLETNE APLIKACIJE Z UPORABO FLEKSIBILNEGA OGRODJA NA ODPRTOKODNIH KNJIŢNICAH

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

CSE 510 Web Data Engineering

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY

Razvoj orodja za centralni nadzor posodobitev v platformi WordPress

PRISOTNOST PRI POUKU S POMOČJO RFID

DINAMIČNO DODELJEVANJE NAVIDEZNIH KRAJEVNIH OMREŽIJ V BREZŽIČNIH OMREŽJIH

POSTAVITEV SPLETNEGA SISTEMA ZA PRIKAZ NAČRTA PROIZVODNJE

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5

Primerjava orodij za razvoj mobilnih aplikacij

Izdelava spletne aplikacije za video klepet

Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku

Navodila za uporabo sprejemnika Cisco PDS2120

PREGLED MOBILNIH REŠITEV ZA IZOBRAŽEVANJE UPRAVLJANJA INFORMATIKE

SPLETNA APLIKACIJA ZA SPREMLJANJE PODATKOV O FILMIH

Mobilna aplikacija za pregled informacij o prometu v Sloveniji

Navodila za namestitev in uporabo medprogramja HID ActivClient za Windows

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

Razvoj spletne aplikacije za urejanje datotek JSON z ogrodjem Django

Navodila za interaktivne naloge Bober

SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI

D I P L O M S K A N A L O G A

MOTO Payment Center Uporabniški priročnik Verzija 1.0 Avtor: Milan Čulibrk MOTO Payment Center

ANALIZA IN UPORABA TEHNOLOGIJ ZA IZVEDBO SPLETNE TRGOVINE

Uvod v svetovni splet

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM

UDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi

Testno voden razvoj v programskem ogrodju Symfony2

A Generic Timing Receiver for Event-Driven Timing Systems

Razširitve CMS z lastnimi moduli

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v Amis d.o.o., Maribor

Vmesnik za vodenje sistema Lego Mindstorms v razvojnem okolju Siemens Step7

Univerza v Ljubljani Fakulteta za računalništvo in informatiko. Mitja Petan Pospeševanje prodaje preko spletne trgovine

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Dean Črnigoj. Izdelava odjemalca NFS za Windows DIPLOMSKO DELO

Tehnike programiranja PREDAVANJE 2 Uvod v JavaScript

Transcription:

VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in informacijske tehnologije POROČILO PRAKTIČNEGA IZOBRAŽEVANJA v Nova KBM d.d. Čas opravljanja: od 21.6.2010 do 20.8.2010 Mentor v GD: Jure Kobal, univ.dipl. ing. rač. Študent: Marko Avguštin Vpisna številka: E1000753 E pošta: marko.avgustin@uni-mb.si Telefon: 041 417 654

Kazalo KAZALO... 1 1. UVOD... 2 2. OPIS GOSPODARSKE DRUŽBE IN PROJEKTOV... 2 3. OPIS PRAKTIČNEGA IZOBRAŽEVANJA... 3 3.1. OPIS UPORABLJENIH TEHNOLOGIJ... 3 4. OPIS PROJEKTA... 4 5. SKLEP... 20 Slika 1: Plačilni nalog... 4 Slika 2: UPN primer 1... 5 Slika 3: UPN primer 2... 5 Slika 4: primer 3- izbran obrazec... 6 Slika 5: Oracle SQL Developer... 8 Slika 6: GlassFish nastavitev... 9 Slika 7: Nastavitve... 9 Slika 8: Leto iger... 10 Slika 9: Dropdown meni... 11 Slika 10: Prijave... 11 Slika 11: Izbira podružnice... 11 Slika 12: Urejanje osebe... 12 Slika 13: Pregled ekip... 13 Slika 14: Ekipa podrobno... 13 Slika 15: Iskalnik oseb... 13 Slika 16: Rezultat oseba še ni dodana... 14 Slika 17: Rezultat oseba je že dodana... 14 Slika 18: Dodaj osebe v ekipo... 14 Slika 19: Dodaj novo ekipo... 15 Slika 20: Oblika aplikacije SIBS... 15 Slika 21:NetBeans Source Packages... 18 Slika 23: jspx dokument... 19 Slika 22: Prikaz izvorne kode v brskalniku... 19 1

1. UVOD Praktično izobraževanje sem opravljal na podjetju Nova KBM d.d. v Mariboru. Družba se deli na več sektorjev eden iz med njih je sektor informatike v katerem sem delal tudi sam. V tem sektorju se razvijajo spletne storitve in aplikacije za rabo Nove KBM.d.d.. V času praktičnega izobraževanja sem s pridom uporabljal pridobljeno znanje v času študija in pridobil veliko novega znanja in izkušnje iz prakse, kjer so bili v veliko pomoč mentor in sodelavci. Nadgradil sem svoje znanje iz poznavanja spletnih aplikacij JSF, programski jezik Java ter upravljanje podatkovnih baz Oracle SQL. 2. OPIS GOSPODARSKE DRUŽBE IN PROJEKTOV Nova KBM je univerzalna banka z najdaljšo tradicijo bančništva v Sloveniji ter močnim ugledom doma in po svetu. Njihova osnovna dejavnost je zagotavljati kakovostne, sodobne, varne in donosne finančne rešitve za uresničevanje osebnih in poslovnih ciljev. Deli se na več sektorjev v katerih so specializirani delavci za določeno področje. Nekateri sektorji nove KBM: Finančni trgi Komerciala banke o Področje podpore poslovanja banke o Sektor informatike Oddelek programske opreme Oddelek sistemov in produkcije o Sektor tehnološke podpore Področje Skupine Nove KBM Spremljava in kontrola poslovanja banke Spremljava komerciale Uprava banke Sektor informatike se ukvarja z razvojem programske opreme za rabo Nove KBM. V glavnem se uporablja programski jezik JAVA, nekaj storitev razvijajo v programskem jeziku C# za podatkovne baze pa se uporabljajo orodja Oracle. Imajo veliko število različnih projektov kateri so načrtovani po različno dolgih časovnih obdobjih. Eden izmet teh je zamenjava plačilnega naloga z univerzalnim plačilnim nalogom, kateri se bo uporabljal za Bank@Net. 2

3. OPIS PRAKTIČNEGA IZOBRAŽEVANJA V času prakse v Novi KBM sem osvojil veliko novega in uporabnega znanja. Prve tri tedne sem se uvajal in spoznaval tehnologijo JSF katera se uporablja za izdelavo spletnih aplikacij. Z to tehnologijo sem nato tudi izdelal spletno aplikacijo SIBS katero bom opisal v nadaljevanju. Zaupali so mi tudi izdelavo UPN (univerzalni plačilni nalog) obrazca kateri bo zamenjal na Bank@Net-u obstoječi plačilni nalog. Tako sem moral pripraviti digitalno obliko obrazca z pomočjo HTML-ja in CSS-a. Kot sem že omenil sem delal na projektu SIBS (športne igre bančnikov Slovenije), kjer je bilo potrebo izdelati spletno aplikacijo. Aplikacija se bo uporabljala za interno rabo Nove KBM. Aplikacija omogoča prijavo delavcev Nove KBM na športne igre, ker je več različnih disciplin iz katerih nato nastanejo različne ekipe. Prav tako se vodijo različni podatki o tekmovalcih kot so GSM številka, številka konfekcije, številka dokumenta, tip dokumenta itd.. Glavni cilj aplikacije je bil doseči, da se glavni uporabnik razreši vseh papirjev in prijavnic, katere so bile potrebne za prijavo na tekmovanja. Za aplikacijo smo imeli sestanek z glavnim uporabnikom (administratorjem) kjer smo se pogovorili kaj sploh naj aplikacija omogoča in kakšne naj bodo glavne funkcionalnosti. Spletno aplikacijo sem izdelal z pomočjo tehnologije JSF in JAVA, ker je to glavna raba tehnologij v Novi KBM. 3.1. Opis uporabljenih tehnologij Spletna aplikacija: je programska oprema, do katere dostopamo preko omrežja, kot odjemalec uporabljamo spletni brskalnik. JavaServer Faces (JSF) temelji na JAVA okvirju spletnih aplikacij za poenostavitev razvoja vključevanja spletnih uporabniških vmesnikov. JDK (Java Development Kit) programsko razvojno okolje za pisanje programčkov in programov v Javi. JAVA objektno usmerjen programski jezik ki ga je razvil Sun Microsystems GlassFish je odprtokodni aplikacijski strežnik katerega je izdelal Sun Microsystems za platformo Java EE NetBeans se nanaša na okvir platforme namiznih aplikacij Jave in integrirano razvojno okolje (IDE) za razvoj z Javo, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala in Clojure. 3

4. OPIS PROJEKTA Na prvem projektu sem izdelal digitalno obliko UPN obrazca kateri bo zamenjal navadni plačilni nalog. UPN sem izdelal s pomočjo HTML-ja in CSS-ja v pomoč mi je bil dokument kjer je opisan standard in lastnosti UPN obrazca. Zaradi lažjega in preglednejšega vnašanja podatkov sem izdelal več obrazec kjer se je nato vodstvo odločilo katerega bo uporabilo. Slika 1: Plačilni nalog 4

Slika 2: UPN primer 1 Slika 3: UPN primer 2 5

Slika 4: primer 3- izbran obrazec Izbran je bil obrazec na Sliki 4 katerega bodo vključili na spletni strani Banka@Net. Obrazec je narejen s ugnezdenimi tabelami in vnosnimi polji. Primer CSS za rotacijo napisov plačnik in prejemnik:.rotation { float:left; font-size:13px; font-weight: bold; margin-right:-25px; -webkit-transform: rotate(-90deg); -moz-transform:rotate(-90deg); filter: progid:dximagetransform.microsoft.basicimage(rotation=3); 6

Primer oblike tabel v CSS-u: table#placnik_prejmnik{ border-width: 0px; width: 600px; font-size: 10px; color: #FF8C00; font-family: Arial, Verdana, Tahoma; margin-bottom: 5px td#placnik{ background-image: url('img/bg-placnik.gif'); background-repeat:repeat td#prejemnik{ background-image: url('img/bg-prejemnik.gif'); background-repeat:repeat Primer HTML-ja: <table border="0px" width="500px" > <tr> <td title="predel plačnika" id="placnik"> <table id="placnik_prejmnik"> <tr> <td rowspan="10" width="57px"> <span class="rotation"> PLAČNIK </span> </td> <td>iban</td> <td width="300px"></td> <td width="70px"> Polog / Dvig </td> <td rowspan="6"></td> </tr> <tr> <td colspan="2"> <input type="text" maxlength="19" class="inputfield" id="pl_iban"> </td> <td> <input type="checkbox" checked="true" disabled="true"> <input type="checkbox" checked="true" disabled="true" style="margin-left: 16px"> </td> </tr> Izdelavo UPN obrazca sem naredil v programu NetBeans kjer sem urejal HTML kodo in tudi CSS datoteko za obliko pisav in ostalih prikazanih elementov. 7

Drugi projekt na katerem sem delal ostali del prakse je bil SIBS za prijavo oseb na športne igre. Kot prvo sem si moral pripraviti nekaj svojih tabel. To sem naredil s programom Oracle SQL Developer kjer sem uporabil grafični vmesnik za izdelavo tabel. V tem programu sem prav tako testiral vse SQL stavke, kateri so mi služili v JAVA kodi za poizvedbe in posodabljanje podatkov. Ustvaril sem 6 novih tabel vse so se začele z imenom SIBSImeTabele, ker je na banki predpis kjer se ustvarjajo nove tabele za novo aplikacijo moramo uporabiti kratki naziv aplikacije ter logično ime tabele. SIBSOSB se je imenovala tabela kjer sem shranjeval podatke o osebah (tekmovalcih). Slika 5: Oracle SQL Developer Za izdelavo spletne aplikacije sem uporabil osnovno kodo dummy aplikacije. Ta aplikacija je nekakšen okvir za izdelavo novih aplikacij saj se v njej že nahajajo določeni razredi in funkcije, ki skrbijo za pravilno izvedbo SQL stavkov, sortiranje podatkov po kriterijih, osnovno obliko strani in podobno. Aplikacija je tekla na GlassFish strežniku na katerem je bilo potrebno najprej še nastavit povezavo na podatkovno bazo, da sem lahko pravilno dostopal do vseh potrebnih tabel. 8

Slika 6: GlassFish nastavitev SIBS aplikacija se deli na tri dele to so administratorske nastavitve, pregledi in vnosi. Pod administratorskih nastavitvah se nahaja opcija nastavitve kjer se nam prikaže tabela za določene nastavitve (slika7). V letu iger nastavimo tekoče leto iger za katero se lahko prijavijo ekipe, samodejno pa preverimo katere ekipe so bile v preteklem letu prijavljene in jih dodamo v tekoče leto. Prav tako ne moremo nastaviti leta manjšega od tekočega leta. Slika 7: Nastavitve 9

Za prijaznejši vnos leta iger se nam prikaže koledar kjer si izberemo določeno leto, mesec in dan pa zanemarimo v kodi. Vnos potrdimo na gumbu shrani. Slika 8: Leto iger Primer SQL stavka, ki prebere vse ekipe, ki so bile prijavljene v preteklem letu in del kode kjer izvedemo SQL poizvedbo ter vpišemo nove ekipe v tekočo leto: private String soesql = "SELECT OE.* FROM SIBSOSBEKP OE, SIBSOSB O WHERE OE.EKP_LT =? AND O.AKT = 'Y' AND O.OSB_ID = OE.OSB_ID"; private String ioesql = "INSERT INTO SIBSOSBEKP VALUES(?,?,?,?,?)"; pstmt = getconnection().preparestatement(soesql); pstmt.setint(1, (getleto() - 1)); pstmt.executequery(); rs = pstmt.executequery(); while (rs.next()) { OsebaEkipaBean osebaekipabean = new OsebaEkipaBean(); osebaekipabean.setekpid(rs.getint(1)); osebaekipabean.setosbid(rs.getint(2)); osebaekipabean.setleto(rs.getint(3)); osebaekipabean.setvodja(rs.getstring(4)); osebaekipabean.setstdres(rs.getint(5)); osebaekipabeans.add(osebaekipabean); for (int i = 0; i < osebaekipabeans.size(); i++) { pstmt = null; pstmt = getconnection().preparestatement(ioesql); pstmt.clearparameters(); pstmt.setint(1, osebaekipabeans.get(i).getekpid()); pstmt.setint(2, osebaekipabeans.get(i).getosbid()); pstmt.setint(3, getleto()); pstmt.setstring(4, osebaekipabeans.get(i).getvodja()); pstmt.setint(5, osebaekipabeans.get(i).getstdres()); int res = pstmt.executeupdate(); 10

Naslednje tri opcije so urejanje oseb, urejanje ekip in prepovedano izvajanje sprememb, tukaj bo administrator glede na določeno obdobje dodelil pravice katere spremembe so še možne. Vse tri opcije imajo dropdown meni kjer se lahko izbira med DA in NE, ko bo administrator izbral NE opcijo pod urejanje ekip ali oseb bo s tem onemogočil spreminjanje podatkov oseb ali ekip. V primeru prepovedano izvajanje sprememb kadar se izbere DA onemogočimo vsa spreminjanja podatkov od takrat naprej ni več možno delati nobenih sprememb. Slika 9: Dropdown meni Druga opcija izbire za administratorja je Prijave kjer lahko administrator vidi koliko ekip in oseb je prijavljenih v tekočem letu. Slika 10: Prijave Primer SQL stavkov kjer preštejemo osebe in ekipe v tekočem letu. private String epsql = "SELECT COUNT (EKP_ID) FROM SIBSEKP WHERE AKT = 'Y'"; private String opsql = "SELECT COUNT(OSB_ID) FROM SIBSOSB WHERE AKT = 'Y'"; Naslednje možnosti so pregledi kjer imamo pregled prijavljenih oseb in ekip. Tukaj pa še delimo ekipe in sobe glede na podružnico banke kjer imamo Novo KBM-MB (Maribor) in Novo KBM-NG(Nova Gorica). Zato moramo kot prvo izbrani želeno podružnico banke nato pa lahko za to podružnico izvajamo vse na daljne možnosti. Slika 11: Izbira podružnice Ko izberemo želeno podružnico banke shranimo njen ID v http session kjer je podatek shranjen tako dolgo dokler traja seja uporabnika. Ta podatek kličemo večkrat, da lahko pridobimo podatke o določeni podružnici. 11

Primer funkcije kjer shranimo ID banke in funkcija kjer pridobimo podatek. public void setbanka(long bankaid) { FacesContext context = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession) context.getexternalcontext().getsession(true); session.setattribute("banka", bankaid); public String getbanka() { FacesContext context = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession) context.getexternalcontext().getsession(true); if ((session.getattribute("banka"))!= null) { Object ob = session.getattribute("banka"); banka = ob.tostring(); else { banka = "0"; return banka; Pod opcijo pregledi osebe se nam izpišejo vse osebe katere so prijavljene v aplikaciji SIBS pod izbrano podružnico banke. Tukaj se nam izpišejo sledeči podatki: Naziv, konfekcijska številka, vrsta dokumenta, številka dokumenta Član športnega društva, član sindikata, gsm, leto prve prijave, slika, aktiven in možnost urejanja podatkov posamezne osebe in odstranitev osebe. V primeru kjer podatek ni definiran oziroma ga uporabnik ni določil se nam prikaže znak?. Pod opcijo urejanja osebe se nam prikaže obrazec kjer lahko podatke izbiramo ali pa jih vnesemo ročno. Če želimo osebo izbrisati nas pred tem opozori sporočilo ali resnično želimo izbrisati osebo in imamo možnost za potrditev ali preklic. Slika 12: Urejanje osebe Naslednji pregled je pregled ekip kjer se nam izpišejo vse ekipe preteklih in tekočega leta. Tukaj imamo možnost sortiranja ekip po letu za lepši pregled. Nato lahko izbiramo pod podrobni pregled kjer lahko vidimo katere osebe so člani izbrane ekipe in kateri član je vodja ekipe. Če smo izbrali ekipo za tekoče leto lahko to ekipo tudi urejamo, brišemo lahko njene člani ali nastavimo če je ekipa aktivna ali neaktivna v tekočem letu. 12

Slika 13: Pregled ekip Slika 14: Ekipa podrobno Zadnja opcija v aplikacijo so vnosi kjer imamo možnost vnosa novih oseb, dodajanje oseb v ekipe in dodajanje novih ekip. Prva možno izbira je dodajanje oseb, kjer vnesemo ime in priimek v vnosno polje nato se nam prikažejo zadetki. Možen je vnos samo imen ali samo priimkov ali obeh podatkov hkrati. Ko se nam prikažejo zadetki lahko vidimo ime in priimek ter datum rojstva osebe prav tako vidimo ali je oseba že dodana ali ne po slikici zeleni plus kjer osebo dodamo ali rdeči minus kjer lahko izbrano osebo tudi odstranimo iz aplikacije SIBS. Iskane osebe iščemo v tabele kjer se nahajajo vsi komitenti Nove KBM saj so tudi vsi zaposleni komitenti nove KBM. Slika 15: Iskalnik oseb 13

Slika 16: Rezultat oseba še ni dodana Slika 17: Rezultat oseba je že dodana V možnosti dodaj osebe v ekipo se nam prikažejo ekipe katere so v tekočem letu aktivne tukaj lahko dodajo in brišemo osebe iz ekipe ter določimo katera oseba bo vodja ekipe. Ko dodajmo osebe v ekipo lahko izbiramo samo med osebami katere so vpisane v aplikaciji SIBS in so aktivna. Druga omejitev pri dodajanju je število oseb, ki jih lahko dodamo v določeno ekipo. Ko dosežemo maksimalno število oseb se nam izpiše sporočilo, ki nas opozori na število oseb. Tretja omejitev je spol ekipe saj lahko dodajmo v moško ekipo tudi ženske obratno pa to ni dovoljeno. Tako izpisujemo moške in ženske pri vnosu moške ekipe pri vnosu ženske ekipe pa samo ženske. Posamezno osebo lahko v ekipi tudi urejamo tako ji lahko določimo številko dresa ali jo določimo kot vodjo ekipe. Slika 18: Dodaj osebe v ekipo 14

Zadnja možnost je dodajanje nove ekipe kjer izberemo iz dropdown menija želeno disciplino določimo spol ali je ekipa ženska ali moška. Nato dodamo še vodjo ekipe. V primeru da nismo dodali vodje ekipe nas nato opozori sporočilo in ekipe ne moremo shraniti. Vodjo ekipe prav tako izbiramo iz oseb katere so vpisane v aplikaciji SIBS in so aktivne. Slika 19: Dodaj novo ekipo Slika 20: Oblika aplikacije SIBS 15

Aplikacija je razdeljena na tri dele kjer se nahaja koda JAVE to so beans,dao, form. V paketih bean definiramo razred kateri ima spremenljivke, katere si lahko predstavljamo kot eno vrsto iz podatkovne tabele. Ta bean nato uporabljamo kot novi podatkovni tip kamor lahko shranjujemo podatke. Primer razreda bean: public class BankaBean implements Serializable { private static final long serialversionuid = 1L; private long id; private String bankanaziv; private String Izbrana; public BankaBean() { public void setid(long id) { this.id = id; public long getid() { return id; public void setbankanaziv(string bankanaziv) { this.bankanaziv = bankanaziv; public String getbankanaziv() { return bankanaziv; V paketih dao se nahajajo vse funkcije ki skrbijo za povezavo z podatkovno bazo tukaj kličemo vse sql stavke, kateri omogočajo poizvedbe, posodobitve in brisanje. Uporabljajo se sql prepare statementi kateri so bolj varni za pridobivanje podatkov saj tako preprečimo kakšno vrivanje SQL poizvedb katero bi lahko kdo izvedel z zlonamerno kodo. Primer dao funkcije: public ArrayList<OsebeBean> getall(osebebean osebe, int from, int to, String sortcolumn, boolean sortascending) throws AppException { Config.getLogger().log(Level.FINE, MiscUtils.getCurrentMethod(this) + "Filter: criteria naziv=" + osebe.getnaziv() + "letopr=" + osebe.getletopr() + "sortcolumn=" + sortcolumn + " sortascending=" + sortascending + " from=" + from + " to=" + to); ArrayList<OsebeBean> osebebeans = new ArrayList<OsebeBean>(); PagingQuery pq = null; try { ArrayList alparmvalues = new ArrayList(); if (!MiscUtils.isBlank(Long.toString(getBankaID()))) { ssql += " AND O.BNK_ID =? "; alparmvalues.add(getbankaid()); if (!MiscUtils.isBlank(osebe.getNaziv())) { osebe.setnaziv("%" + osebe.getnaziv().touppercase() + "%"); ssql += " AND FORENAME2 LIKE? "; alparmvalues.add(osebe.getnaziv()); 16

String selorderpart = sortcolumn == null? "" : " ORDER BY " + sortcolumn + (sortascending? " ASC " : " DESC "); Config.getLogger().log(Level.FINE, MiscUtils.getCurrentMethod(this) + "Select: " + ssql + " " + selorderpart); pq = new PagingQuery(getConnection(), ssql, selorderpart, alparmvalues); pq.preparequery(from, to); OmejitveForm omejitveform = new OmejitveForm(); while (pq.hasnext()) { ResultSet rs = pq.getresultset(); OsebeBean osebebean = new OsebeBean(); osebebean.setnaziv(rs.getstring(1)); osebebean.setosbid(rs.getlong(2)); osebebean.setuprid(rs.getlong(3)); osebebean.setbnkid(rs.getint(4)); Form paketki pa se nahajajo funkcije katere skrbijo za prikaz in izmenjavo podatkov med uporabniškim vmesnikom in dao paketkih. Tako vse podatke, ki jih želimo videti ali jih shrani ustvarimo razred kateri skrbi za prenos med enim in drugim vmesnikom. Primer form funkcije ki pridobi podatke za izpis oseb: public int getdata(int from, int count) throws AppException { Config.getLogger().log(Level.FINE, MiscUtils.getCurrentMethod(this) + "(from=" + from + ", count=" + count + ") --FETCH--"); Config.getLogger().log(Level.FINE, MiscUtils.getCurrentMethod(this)+"naziv="+ osebebean.getnaziv() +"osbid="+osebebean.getosbid()+"bnkid="+osebebean.getbnkid()+"konfst="+sebebean.getkonfst() +"doktip="+osebebean.getdoktip()+"dokst="+osebebean.getdokst()+"sportdr="+osebebean.getspo rtdr() + "sindikat=" + osebebean.getsindikat() + "mobitel=" + osebebean.getmobitel() + "letopr=" + osebebean.getletopr() + "slika=" + osebebean.getslika() + "aktiven=" + osebebean.getaktiven()); int rowscount = 0; try { // OsebeDAO osebedao = new OsebeDAO(); setdata(osebedao.getall(osebebean, from, from + count, getsortcolumn(), isascending())); rowscount = osebedao.getosebecount(); ApplicationDataSource.getInstance().commitConnections(); Config.getLogger().log(Level.FINE,MiscUtils.getCurrentMethod(this)+"commit getdata().size()=" + getdata().size() + " rowscount=" + rowscount); catch (AppException e) { return rowscount; 17

Slika 21:NetBeans Source Packages Spletna aplikacija je napisana v jspx kjer je možen klic funkcij iz JAVE kode kot sem že omenil tukaj lahko kličemo vse funkcije, ki se nahajajo v form razredih. Nato strežnik na katerem se aplikacija zaganja pretvori kodo v html tako je tudi poskrbljeno za varnost saj ne moremo preko spletnega brskalnika dostopati ali videti kode kjer bi lahko videli katere funkcije kličemo za vnose in izpise. 18

Slika 23: jspx dokument Slika 22: Prikaz izvorne kode v brskalniku 19

5. SKLEP Z praktičnim izobraževanjem sem bil zelo zadovoljen saj sem dobil dober vpogled kako zgleda delo programerja. Prav tako sem se naučil veliko novih stvari ter sem pridobil veliko novega znanja in izkušenj. Prav tako je bilo zanimivo delati z ostalimi delavci saj so mi svetovali in izmenjali svoje izkušnje, tako sem napredoval hitreje, ter izdelal dosti bolj kvaliteten izdelek. Prav tako mi je bil v veliko pomoč mentor, kateri je skrbel za koordinacijo in veliko uporabnih nasvetov. Mislim, da so bili na banki prav tako zadovoljni z mano saj so sodelavci več krat pohvalili aplikacijo in hitro osvajanje novih znan. Mogoče je bilo le malo premalo časa saj bi bilo potrebno aplikacijo še malo izpopolnit in dodelat. Zahvalil bi se vodji sektorja informatike kateri mi je omogočil prakso in svojemu mentorju. 20