SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI

Size: px
Start display at page:

Download "SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI"

Transcription

1 UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Miha Pavlinek SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI Diplomska naloga Maribor, marec 2008

2 I FAKULTETA ZA ELEKTROTEHNIKO, UNIVERZA V MARIBORU RAČUNALNIŠTVO IN INFORMATIKO 2000 Maribor, Smetanova ul. 17 Diplomska naloga univerzitetnega študijskega programa SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI Študent: Miha Pavlinek Študijski program: univerzitetni, Računalništvo in informatika Smer: Informatika Mentor: Somentor: izr. prof. dr. Marjan HERIČKO mag. Boštjan KEŽMAH Maribor, marec 2008

3 II

4 III ZAHVALA Zahvaljujem se mentorju izr. prof. dr. Marjanu Heričku za strokovno svetovanje in vodenje pri opravljanju diplomske naloge. Prav tako se zahvaljujem somentorju mag. Boštjanu Kežmahu za idejo in vse koristne nasvete okrog nje. Zahvala gre tudi Nini, ki me je skozi ves študij bodrila in mi stala ob strani. Posebej pa se zahvaljujem mojima staršema za vsestransko podporo in trud, ki sta ga ves čas vlagala vame. To delo posvečam prav njima.

5 IV SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI Ključne besede: portali, spletne sestavljanke, portalni strežnik, spletne tehnologije UDK: : (043.2) Povzetek V diplomski nalogi smo podrobno predstavili spletne portale in spletne sestavljanke. Tehnologiji smo umestili v poslovno okolje ter z njuno primerjavo izpostavili prednosti in slabosti. V praktičnem primeru smo znotraj poslovnega portala postavili ogrodje za izdelavo enostavnih spletnih sestavljank ter na primeru zavarovalništva pokazali, kako lahko izboljšamo poslovne storitve.

6 V MASHUPS AND ENTERPRISE PORTALS Key words: portals, mashups, portal server, web technologies UDK: : (043.2) Abstract In this diploma work we fully introduced mashups and web portals. After contextualizing both technologies into the enterprise environment, we compared them and exposed their advantages and disadvantages. For a practical example, inside the enterprise portal, we built a framework for making simple mashups, and for an insurance example showed, how can improve business services.

7 VI UPORABLJENE KRATICE AJAX Asynchronous JavaScript and XML API Application Programming Interface B2B Business to Business B2C Business to Consumer B2E Business to Employee BDC Business Data Catalog BI Business Inteligence CA Central Administration CLR Common Language Runtime CLS Common Language Specification CTS Common Type System DLL Dynamically Linked Library DOM Document Object Model EAI Enterprise Application Integration EIP Enterprise Information Portal HTML Hypertext Markup Language HTTP Hypertext Transfer Protocol IIS Internet Information Server IL Intermediate Language IT Information Technology JIT Just In Time KPI Key Performance Indicator MOSS Microsoft Office SharePoint Server RSS Really Simple Sindication SaaS Software as a Service SOA Service Oriented Arhitecture SOAP Simple Object Access Protocol SSP Shared Service Provider URL Uniform Resource Locator WAP Wireless Application Protocol WML Wireless Markup Language WS Web Service WSS Windows SharePoint Services XML Extensible Markup Language XSLT Extensible Stylesheet Language Transformations

8 VII VSEBINA 1 UVOD SPLETNI PORTALI ZGODOVINA DELITEV LASTNOSTI PORTALOV POSLOVNI PORTALI SPLETNE SESTAVLJANKE PORTALNI STREŽNIK SHAREPOINT ZGRADBA HIERARHIJA SPLETNIH VSEBIN SPLETNI GRADNIKI UPORABNIKI IN NJIHOVA POOBLASTILA POVEZAVA Z ODJEMALCI DELO Z VSEBINAMI POSLOVNA UPORABA ISKANJE PRAKTIČNI PRIMER UPORABE SPLETNIH SESTAVLJANK UPORABLJENA ORODJA IN TEHNOLOGIJE WEB Ogrodje.NET JavaScript Model DOM Jezik XSLT RAZVOJ REŠITVE Ponudniški gradnik Porabniški gradnik Gradnik za prikaz podrobnosti NAMESTITEV UPORABA REŠITVE SKLEP VIRI, LITERATURA... 72

9 VIII SEZNAM SLIK SLIKA 2.1: DOSTOP DO STORITEV V POSLOVNEM PORTALU (PRIREJENO PO [12])...13 SLIKA 2.2: GORENJE NA SVOJIH STRANEH PONUJA TUDI IGRE ZA NAJMLAJŠE...14 SLIKA 2.3: ZDRUŽITEV OBSTOJEČIH REŠITEV V SPLETNO SESTAVLJANKO...18 SLIKA 2.4: SESTAVLJANJE NA VEČIH NIVOJIH (PRIREJENO PO [33])...21 SLIKA 2.5: MICROSOFTOV UREJEVALNIK SESTAVLJANK POPFLY...22 SLIKA 3.1: HIERARHIJA SPLETNIH VSEBIN...30 SLIKA 3.2: MODERATOR (DESNO) IMA NA VOLJO VEČ FUNKCIONALNOSTI KOT UPORABNIK (LEVO)...34 SLIKA 3.3: KONCEPTUALNA SHEMA UPORABE STREŽNIKA MOSS...35 SLIKA 3.4: ENOSTAVNA POVEZAVA Z MICROSOFTOVIMI ODJEMALCI...36 SLIKA 4.1: POTEK PREVAJANJA PROGRAMSKE KODE V STROJNO KODO...48 SLIKA 4.2: STRUKTURA DOM DREVESA (PRIREJENO PO [30])...51 SLIKA 4.3: PRETVORBA IZVORNEGA DREVESA V CILJNO DREVO (PRIREJENO PO [29])...52 SLIKA 4.4: KONČNA REŠITEV...53 SLIKA 4.5: GRADNIK ZA PRIKAZ PODROBNOSTI OB TREH RAZLIČNIH SCENARIJIH...64 SLIKA 4.6: SEZNAM OBSTOJEČIH SPLETNIH GRADNIKOV...66

10 IX SEZNAM TABEL TABELA 2.1: RAST TRGA POSLOVNIH PORTALOV (PRIREJENO PO [10])...12 TABELA 2.2: PRIMERJAVA PORTALOV IN SPLETNIH SESTAVLJANK [43]...19 TABELA 2.3: APLIKACIJSKI PROGRAMSKI VMESNIKI ZNANIH STORITEV...25 TABELA 4.1: TIPIČNE WEB 2.0 STORITVE...45 TABELA 4.2: VMESNA KODA ZA PRIMER»POZDRAVLJEN SVET«...49 TABELA 4.3: SEZNAM SPREMENLJIVK...57 SEZNAM PRIMEROV KODE PRIMER KODE 4.1: SQL STAVEK, S KATERIM PRIDOBIVAMO USTREZNE PODATKE...56 PRIMER KODE 4.2: DEFINICIJA NOSILCA...57 PRIMER KODE 4.3: FUNKCIJA SELECTMOUSE...58 PRIMER KODE 4.4: FUNKCIJA MOVEMOUSE...60 PRIMER KODE 4.5: FUNKCIJA RELEASEMOUSE...60 PRIMER KODE 4.6: UREJANJE PODATKOV POSREDOVANEGA XML DOKUMENTA...61 PRIMER KODE 4.7: FUNKCIJA SORT...63

11 Uvod 1 1 UVOD Nahajamo se v dobi, ko informacije s pomočjo spleta in ostalih medijev preplavljajo svet. Posamezniki se sami odločajo, katere so zanje bolj in katere manj ustrezne, vsem pa je pomembna njihova dostopnost, ažurnost in točnost. S povezovanjem pravilnih informacij je mogoče osvojiti pomembna znanja, kar običajno človeku predstavlja največje bogastvo. Sliši se lepo, a kaj ko je zbiranje in obdelovanje potrebnih informacij zamudno in naporno. K sreči si lahko takšna opravila precej poenostavimo s pomočjo sodobnih tehnologij. Ponudniki spletnih vsebin se zaradi tržnih razlogov zavzemajo za zadovoljstvo njihovih uporabnikov. Ker pa imajo uporabniki različne želje, se je potrebno osredotočiti na vsakega posebej, kar ponudnike sili k razvoju portalov, kjer si vsak posameznik lahko priredi vsebine svojim potrebam. Da uporabniki dalj časa ostanejo na portalnih straneh, jim je potrebno ponuditi še kaj več, tako so se s pomočjo portalov začele oblikovati socialne skupnosti, prišlo je do združevanja različnih mnenj in sodelovanja pri posameznih idejah [38]. V portalih lahko najdemo družabno ali pa delovno okolje, lahko bi rekli, da predstavljajo nekakšne okrnjene virtualne svetove. V poslovnem svetu se organizacije ne ukvarjajo toliko z vsebinami, ki bi pritegnile širšo množico uporabnikov, pač pa si s povezovanjem podatkov in informacij prizadevajo osvojiti nova znanja, na podlagi katerih sprejemajo pomembne odločitve, povečujejo produktivnost in znižujejo stroške [39]. Podatki se običajno nahajajo v številnih nepovezanih informacijskih sistemih, datotečnih sistemih in podatkovnih bazah, ki so nameščene na različnih platformah, kar otežuje iskanje novih znanj. Odgovor se skriva v integraciji informacijskih sistemov. Gre za proces povezovanja podatkov, aplikacij in storitev, ki so dostopne preko prilagodljive enotne točke portala. S takšnim pristopom so

12 Uvod 2 na enem mestu zbrane popolnoma vse poslovne informacije, s katerimi lahko ob premetavanju pridemo do novih poslovnih znanj. Poleg tega poslovni portali igrajo ključno vlogo pri trgovinskem poslovanju, saj zagotavljajo komunikacijo med udeleženci dobavne verige, vse to pa lahko zagotavlja pomembno konkurenčno prednost [40]. Osrednja tema te diplomske naloge so spletni portali. Kot bomo videli, so se ti z nenehnim razvojem in dodajanjem vedno novih storitev skozi leta razširili praktično na vsa področja. Razvoj je šel naprej in pojavila se je ideja spletnih sestavljank, ki portale po eni strani dopolnjujejo in jih tako postavljajo na višji nivo, po drugi strani pa jim predstavljajo alternativo. Cilj naloge je analiza spletnih portalov in njihove uporabe tako v zasebnem življenju, kot tudi v poslovnem svetu. Raziskali bomo tudi področje spletnih sestavljank in skušali na praktičnem primeru pokazati, kakšne so njihove prednosti in omejitve pri vključevanju v portalni strežnik. Naš namen je pokazati, kako lahko z njihovo pomočjo poslovanje razširimo z obstoječimi znanimi rešitvami in tako izboljšamo poslovne procese. Tukaj namreč obstaja še veliko priložnosti, predvsem v povezavi z ostalimi storitvami in tehnologijami. Spletne portale bomo podrobno opisali v drugem poglavju, kjer je predstavljena njihova delitev, opisane so tipične lastnosti, posebej pa so predstavljeni poslovni portali in tehnologija spletnih sestavljank, ki omogoča izgradnjo aplikacij s pomočjo povezovanja že obstoječih rešitev. V tretjem poglavju bomo pod drobnogled vzeli Microsoftov produkt SharePoint in podrobno predstavili njegove lastnosti ter funkcionalnosti. Gre za portalni strežnik, ki je v samem vrhu tovrstnih izdelkov, njegova največja prednost pa je povezava z rešitvami za podporo pisarniškemu poslovanju. Na koncu bomo predstavili rešitev, s katero je prikazano enostavno izvajanje integracije internih podatkov in zunanjih storitev, podobno kot to omogočajo orodja za sestavljanje in urejanje spletnih sestavljank. Rešitev temelji na portalnem strežniku

13 Uvod 3 SharePoint in je predstavljena na primeru zavarovalniških storitev. Z njo lahko uporabniki, kot so npr. zavarovalni zastopniki, enostavno povežejo vse potrebne informacije, za kar bi brez spletnih sestavljank morali vložiti precej več časa in truda.

14 Spletni portali 4 2 SPLETNI PORTALI Termin portal je v Slovarju slovenskega knjižnega jezika opisan kot [41]:»arhitektonsko poudarjen vhod v stavbo«, kar izhaja iz arhitekture. V tehnološkem smislu ima pojem podoben pomen, saj predstavlja neko prehodno točko na poti v svet informacij, znanj in storitev. V računalništvu portalom pravilno rečemo spletni portali, včasih tudi spletne dveri. Te lahko razumemo na več načinov. V osnovi gre za spletno mesto, od koder po najlažji poti pridemo do želenih informacij, znanj in storitev, vendar je njihova interpretacija bolj kompleksna, saj so portali skozi čas ponujali vedno nekaj novega, kar je bila posledica nenehnega razvoja spletnih tehnologij. 2.1 Zgodovina Z razmahom interneta v začetku devetdesetih let so se začele pojavljati vsak dan nove spletne strani. Te so bile sprva statične, objavljanje informacij pa je bilo zamudno, zato se niso prav pogosto spreminjale. Med seboj so bile povezane s hiperpovezavami, tako so v bistvu že takrat obstajale točke, od koder se je dalo priti do ostalih vsebin. Ob nenehnem večanju števila spletnih strani so medsebojne povezave postajale čedalje manj pregledne, tako so se začeli razvijati iskalni mehanizmi in leta 1993 je nastal eden prvih spletnih iskalnikov Yahoo!. Kmalu za tem so zrasli tudi ostali iskalniki (Altavista, Excite, Open Text, Magellan, Infoseek in Lycos), ki so kasneje predstavljali eno ključnih vlog pri popularizaciji Interneta [1]. Ker so spletni iskalniki za uporabnika predstavljali zgolj»odskočno desko«do ostalih spletišč, je bila njihova uporaba le občasna. Ponudniki se s tem niso zadovoljili, zato so pričeli razmišljati, kako obdržati uporabnike na svojih spletiščih dalj časa. V ta namen so

15 Spletni portali 5 iskalnikom dodajali raznorazne storitve, kot so novice, elektronska pošta, koledar, klepetalnice in forumi. Da so še bolj pritegnili uporabnike, so jim ponudili prilagajanje pogledov ter popoln nadzor nad svojim profilom. Tako so nastali spletni portali kot jih poznamo danes. Portali pa se niso razvijali le za Internetne uporabnike, njihova implementacija je stekla tudi za poslovne potrebe v podjetjih. Začeli so se uporabljati v organizacijah znotraj intranetov, kjer so poskrbeli predvsem za boljšo medsebojno povezavo podjetja, strank in zaposlenih. Danes se portali uporabljajo tudi za povezovanje različnih organizacij znotraj ekstranet omrežij, s čimer je doseženo enostavnejše medpodjetniško poslovanje [2]. 2.2 Delitev Zaradi svoje priljubljenosti so se portali zadnja leta množili kot gobe po dežju. Pokrivajo že skoraj vse panoge, uporabljeni so na mnogo načinov in s strani vseh, ki dejansko uporabljajo splet. Vsebinske, komercialne ali pa poslovne potrebe po portalih so različne, kakor so različni tudi njihovi uporabniki, torej jih lahko razdelimo na posamezne kategorije. Splošna razvrstitev portalov ni bila nikdar definirana, zato je teh razvrstitev kar nekaj. V osnovi jih lahko delimo glede na vsebino, poslovno področje ali usmerjenost oz. doseg portala. Kadar portale delimo na poslovna področja se vprašamo, ali podpirajo področja dobaviteljev, strank, zaposlenih, ali poslovnih partnerjev [3], glede na doseg pa jih delimo na [4]: 1. intranet portale, ki so bolj ali manj namenjeni zaposlenim v organizacijah, 2. ekstranet portale, ki služijo predvsem medpodjetniškemu poslovanju, 3. internet portale, ki so javno dostopni za širšo množico uporabnikov.

16 Spletni portali 6 V splošnem je znano, da horizontalnost portalov predstavlja širok nabor različnih vsebin, medtem ko vertikalnost določa vsebine, ki so namenjene ciljni množici. V nadaljevanju je definiranih sedem različnih kategorij, ki jih je podal Arthur Tantall v svojem članku [5], pri tem pa je potrebno upoštevati, da vseh portalov ne moremo natančno opredeliti, saj bi potemtakem lahko definirali na stotine različnih vrst. Tako nekatere portale uvrščamo v dve ali več različnih kategorij. Splošni (Mega) portali so namenjeni širši množici uporabnikov. Gre za portale, ki so se povečini razvili iz iskalnikov (Yahoo!), ponudnikov spletnih storitev (AOL) ali ponudnikov elektronske pošte (MSN). Ti portali skušajo čimbolj zadovoljiti potrebe širše množice uporabnikov, ne glede na njihove interese, zato jih lahko označimo tudi kot horizontalne. Združujejo vse na enem mestu, uporabniki pa morajo izbrati, kar jih zanima. Cilj splošnih portalov je, da bi se njihovi uporabniki pogosto vračali in ob uporabi storitev ostali dalj časa na njihovih straneh. Preživljajo se s pomočjo oglaševanja, saj gre več ali manj za brezplačne storitve. Vertikalni industrijski portali združujejo področja točno določenih branž. Včasih jim pravimo kar vertikalni portali, ali pa celo vortali. Ideja teh portalov je sodelovanje ljudi iz sorodnih industrijskih panog v želji po izmenjavi znanj, idej in dobrin. Tako nastajajo skupnosti različnih branž, kot so kemijska, avtomobilska ter računalniška industrija, čistilni servisi, transport, živila ipd. Horizontalni industrijski portali imajo v primerjavi z vertikalnimi portali ravno obratno funkcijo. Pokrivajo namreč večji del trga, tako da jih uporablja širši krog uporabnikov. Ponavadi združujejo skupine iz različnih industrijskih panog in s tem nudijo uporabnikom širok nabor različnih vsebin. Njihov namen je izmenjava širokega nabora znanj, sodelovanje industrije z izobraževalnimi institucijami, predstavitev industrije na lokalnem območju, ter promocija različnih industrijskih podjetij in panog nasploh [6]. Skupinski portali (ang. Community Portals) so podobno kot vertikalni industrijski portali namenjeni ciljnim skupinam uporabnikom s skupnimi interesi. Sicer pa ti ne

17 Spletni portali 7 pokrivajo industrijskih panog, temveč ostala področja, ki so običajno zanimiva v prostem času (npr. avtomobili, nogomet, vrtnarjenje). Poslovni informacijski portali (ang. Enterprise Information Portals - EIP) so namenjeni podpori poslovnim procesom med podjetjem in zaposlenimi (ang. Business-to- Employee B2E). Najdemo jih tudi pod imenom korporacijski ali organizacijski portali [4]. Ta tip portala zaposlenim omogoča izmenjavo informacij, s čimer se izboljša medsebojno sodelovanje, zagotavlja boljši pregled nad informacijami ter prinaša lažje sprejemanje pomembnih odločitev. Vanj so vključene storitve kot so iskalnik, novice, pregledovalnik elektronske pošte, povezave do intranet in Internetnih strani, poslovna inteligenca itd. Poslovni informacijski portali delujejo v intranet omrežju in so bolj horizontalnega tipa. E-tržni portali (ang. E-marketplace Portals) se znotraj ekstranet omrežij uporabljajo za procese medpodjetniškega poslovanja (ang. Business to Business B2B). Podjetja jih koristijo za primere pošiljanja oz. prejemanja ponudb, naročanja, dobave in vzdrževanja. V mnogih primerih jih izkoristijo tudi za poslovanje s potrošniki (ang. Business to Consumer B2C) in sicer tako, da del portala odprejo za dostope preko Interneta ter kupcem tržijo izdelke oz. storitve. Z naročanjem na eni ter prodajo na drugi strani tako sklenejo poslovno verigo. Osebni ali mobilni portali so narejeni posebej za mobilne telefone in dlančnike. S tretjo generacijo mobilnih povezav so ti portali postali orodje za sprotno pregledovanje novic in obveščanje. Dober primer je mobitelov mobilni portal Planet, kjer se nahaja veliko raznovrstnih vsebin. Informacijski portali. Vsak portal iz te kategorije lahko uvrstimo tudi v kakšno drugo kategorijo. Predpona»informacijski«portalom pripisuje vlogo podajanja informacij, ki so tipa nekega širšega področja. Takšne tipe zastopajo portali, ki so opremljeni s političnimi ali športnimi novicami, z novicami iz sveta glasbe in takšni, ki nastanejo kot dodatek drugim medijem.

18 Spletni portali 8 Specialni ali nišni portali slonijo na informacijah, ki se le redkokdaj pojavljajo v vsakdanjem svetu. Namenjeni so zelo majhni populaciji kot so na primer uporabniki moškega spola določene starostne skupine, ali pa uporabniki s specifično izobrazbo. Te portale bi lahko umestili v kategorijo informacijskih portalov, saj večji del njihovih vsebin predstavljajo ravno informacije, vendar so zaradi svoje posebnosti kljub vsemu ločeni. Informacije, ki jih ponujajo, so običajno plačljive. 2.3 Lastnosti portalov Da je splet najprimernejša platforma za uporabo portalov je najbrž samoumevno, ta je namreč dostopna kjerkoli in kadarkoli, kar je za portale bistvenega pomena, poleg tega pa s pomočjo brskalnikov zagotavlja preprostost uporabe. Portali v enotnem prostoru - spletu odpravljajo razdrobljenost informacij in storitev po različnih okoljih, kar zagotavlja ažurnost ter lažje nadgrajevanje vsebin in storitev. Današnji portali uporabnikov ne smatrajo le kot številke na števcih obiskov, temveč kot ljudi z lastnimi željami in potrebami. V ta namen združujejo množico lastnosti, s katerimi so prilagodljivi ter tako zadovoljujejo različne kriterije. V nadaljevanju smo po [35] povzeli in opisali pomembnejše od njih. Enotna prijava (ang. Single Sign-On) z enkratno prijavo zagotavlja dostop do vseh storitev, vključenih v portal. Prijava se ponavadi vrši na vstopni strani, uporabniku, ki je prijavljen, pa se ni potrebno več ubadati z vnašanjem uporabniškega imena in gesla. Taksonomija je klasifikacijska shema, s katero urejamo skupine informacij v določene kategorije. Informacije na podlagi metapodatkov razvrščamo v vnaprej definirano strukturo, kar je ponavadi samodejen proces, ki deluje s pomočjo filtrov[4][8]. Tako urejene informacije omogočajo enostaven dostop in iskanje, s čimer je prihranjenega veliko časa.

19 Spletni portali 9 Predstavitev je dobrodošla lastnost predvsem za imetnike mobilnih telefonov, dlančnikov in podobnih naprav. V osnovi se vsebine prenašajo preko HTTP protokola v HTML obliki. Za dlančnike morajo biti le-te toliko prirejene, da na majhnih zaslonih ostanejo pregledne, medtem ko je pri mobilnih telefonih stvar nekoliko bolj zapletena. Predvsem starejši mobilniki znajo vsebine brati le v obliki WML 1 (ang. Wireless Markup Language), ki se prenašajo preko protokola WAP (ang. Wireless Application Protocol). Portali običajno omogočajo tudi prenos vsebin preko RSS kanalov, s pomočjo katerih je mogoče povzeti želene informacije iz različnih spletnih strani. Personalizacija (ang. Personalization) je lastnost, ki vsebino portala prilagaja glede na vrsto uporabnika. Sinonim za to je filtriranje vsebin. Ponavadi mora uporabnik ob registraciji v sistem izpolniti obrazec, v katerega vnese osebne podatke, izbere priljubljene vsebine in opredeli svoj značaj. Na podlagi teh podatkov ga sistem uvrsti v skupino uporabnikov s podobnimi lastnostmi in temu primerno prikazuje ustrezne informacije. Personalizacija lahko poteka tudi na osnovi spremljanja navad posameznih uporabnikov. V tem primeru sistem ponudi vsebino, ki je najbolj primerna glede na pretekle izkušnje. Upravljanje vsebine (ang. Content Management) pooblaščenim uporabnikom omogoča objavljanje, urejanje in odstranjevanje vsebin znotraj portala. Kot vsebine so mišljene informacije in dokumenti, ki so navadno skupaj z metapodatki shranjeni v podatkovnih bazah. Iskanje je nepogrešljiv del portalov. V množici podatkov iskanje predstavlja najkrajšo pot do želenih informacij. Iščemo lahko tako po strukturiranih 2, kot tudi po nestrukturiranih 3 podatkih [7]. 1 WML je označevalni jezik, ki temelji na XML in je namenjen mobilnim telefonom s podporo WAP [3] 2 Podatkovne baze, podatkovna skladišča, xml datoteke 3 Tekstovne datoteke, preglednice, zapiski, prosojnice, elektronska pošta

20 Spletni portali 10 Sodelovanje in komunikacija pomeni medsebojno povezovanje različnih uporabnikov z namenom doseganja skupnih ciljev. S sodelovanjem se izvajajo raznovrstne aktivnosti kot so skupno delovanje nad dokumenti in koledarji, forumi, elektronska pošta, komunikacija v realnem času, multimedijske konference ipd. Integracijski mehanizmi so potrebni za povezovanje in integracijo obstoječih rešitev, ki so napisane v različnih programskih jezikih in tečejo na različnih operacijskih sistemih. Integracija je predvsem v poslovnih portalih pomemben člen, saj si organizacije ob postavitvi portala ne morejo privoščiti zamenjave obstoječe IT infrastrukture. Univerzalen dostop do informacijskih virov pomeni enovit dostop do različnih virov, kot so različne podatkovne baze, sistemi za upravljanje z dokumenti, sistemi za elektronsko pošto, različni datotečni sistemi itd. Varnost je še posebej pomembna pri poslovnih portalih, kjer morajo informacije ostati znotraj poslovnega okolja [7]. Sicer je varnost dosežena z avtentikacijo in personalizacijo, kar pomeni, da vsak prijavljen uporabnik dostopa le do njemu dovoljenih vsebin. Pomembna je tudi zagotovitev varnega prenosa podatkov, zato se v portalih uporabljajo različne enkripcijske tehnike, digitalni podpisi, certifikati in drugi varnostni mehanizmi. Posamezni portali običajno ne vključujejo vseh zgoraj naštetih lastnosti. Vse je odvisno od vrste portalov, pa tudi od množice uporabnikov, kateri so namenjeni. Današnji»moderni«portali ponujajo bistveno več funkcionalnosti, kot so jih ponujali začetni portali, kar je logična posledica razvoja tehnologij in odziva uporabnikov. Da bi lahko označili, katere lastnosti ponujajo posamezni portali, je nastala definicija štirih generacij portalov [9]: 1. Prva generacija označuje portale, ki ponujajo statične spletne vsebine. V poslovnem okolju gre ponavadi za enotno točko, ki vsebuje novice in podatke o podjetju, kontaktne informacije zaposlenih in spletne povezave.

21 Spletni portali V drugo generacijo spadajo portali, ki zagotavljajo lastnosti, kot so personalizacija, prilagajanje in iskanje. Takšni portali so običajno razviti znotraj podjetij, ki jih uporabljajo. 3. Tretji generaciji portalov je dodana podpora za integracijo na nivoju podatkov in sodelovanje med uporabniki, dodane so bile storitve za urejanje vsebin ter komunikacijo. Pri tej generaciji portalov je poudarjeno predvsem sodelovanje, zato v njih najdemo skupno uporabo koledarjev, aplikacije za takojšnje sporočanje, forume in aplikacije za pregled elektronske pošte. 4. Četrta generacija portalov je namenjena predvsem elektronskemu poslovanju. Velik poudarek je na integraciji obstoječih in zunanjih aplikacij in spletnih storitvah. Z nadaljnjim razvojem lahko pričakujemo spet kakšno novo generacijo portalov, za katero strokovnjaki predvidevajo, da se bo naslanjala na odprto kodo in storitveno usmerjene arhitekture. Struktura portalov je v večjem delu sestavljena iz kanalov, včasih jim rečemo tudi portleti ali spletni gradniki. To so majhna okenca, ki jih lahko uporabniki dodajajo in urejajo. Kar je še bolj pomembno, lahko jih po želji premikajo po portalni strani ter si s tem prilagajajo obliko in izgled. Kanali so dejansko programčki, namenjeni zgolj portalom. Lahko jih razvijamo sami, za kar pa potrebujemo nekaj programerskih znanj. 2.4 Poslovni portali Predstavljajmo si podjetje, ki za svoje delo uporablja ogromne količine podatkov, ti pa so razpršeni po različnih sistemih znotraj podatkovnih baz ter datotek, nekaj pa jih lahko najdemo le z brskanjem po kupih papirjev. V takšnem okolju se verjetno tudi obstoječe znanje nahaja le v glavah zaposlenih, njihov delovni čas pa je bolj ali manj namenjen administrativnim opravilom kot so brskanje, zlaganje in urejanje, posledično pa zmanjkuje

22 Spletni portali 12 časa za stranke in pomembne odločitve. Podjetje s takšnim pristopom je v današnjem času zagotovo obsojeno na propad. V podjetjih je pomembno, da imajo zaposleni venomer na voljo hiter dostop do povezanih, ažurnih in kvalitetnih informacij, ki jih potrebujejo pri svojem delu, poleg tega je potrebno s pomočjo izmenjave informacij ves čas držati stike s strankami, dobavitelji in poslovnimi partnerji. Vse zgoraj naštete lastnosti urejenega podjetja omogoča informacijski sistem, ki v podjetju skrbi, da so stvari narejene hitreje, bolj kvalitetno in ceneje, poleg tega zagotavljajo določen nivo avtomatizacije procesov ter omogočajo lažje in uspešnejše trženje izdelkov oz. storitev. Tukaj kot osrednji del informacijskega sistema nastopi poslovni portal, platforma, preko katere se izvaja celotno poslovanje. Ta omogoča dostop do vseh informacij in storitev znotraj podjetja. Vsebuje vse splošne značilnosti portalov, tem pa dodaja še nekaj drugih, ki so pomembne pri poslovanju. Njihova uporaba je iz leta v leto večja, kar prikazuje tabela 2.1. Tabela 2.1: Rast trga poslovnih portalov (Prirejeno po [10]) Leto Finančna ocena trga Odstotna rast milijarde USD 18% milijonov USD 22% milijonov USD 13% milijonov USD 72% V splošnem se poslovni portali malenkost razlikujejo od ostalih spletnih portalov. Medtem ko slednji želijo biti vidni in dostopni širši množici uporabnikov, so poslovni portali v večjem delu zgrajeni za poslovno uporabo. Njihova vloga ni mišljena kot domača stran vsakega internetnega uporabnika, kvečjemu so kot osnovne strani namenjeni zaposlenim v podjetju [12]. Razdeljeni so na»javni«del, ki je na internetu viden vsem

23 Spletni portali 13 uporabnikom, in»zasebni«del, ki je zaposlenim dostopen preko intraneta, strankam, dobaviteljem ter poslovnim partnerjem pa preko ekstranet omrežij (Slika 2.1). Slika 2.1: Dostop do storitev v poslovnem portalu (prirejeno po [12]) V podjetjih se portali uporabljajo v različne namene, vse pa je odvisno od potreb uporabnikov in dejavnosti, s katero se podjetje ukvarja. Searle je poslovne portale razdelil glede na namen nekako takole [12]: Portali javno dostopnih informacij (ang. Corporate Information Portals) vsem uporabnikom interneta omogočajo brskanje po informacijah, ki opisujejo organizacijo. Tod se običajno nahajajo novice iz podjetja, kontaktne informacije, letna poročila, informacije

24 Spletni portali 14 o trgovanju, zaposlenih in produktih ipd. Lep primer takšnega portala ponuja Mariborska livarna Maribor ( Portali z informacijami o produktih (ang. Product Information Portals) so namenjeni promociji izdelkov oz. storitev. Nekateri od teh portalov omogočajo celo nakup preko spleta, vendar je njihov osnovni namen podajanje podrobnih informacij o produktih. V takšne portale se lahko večkrat tudi prijavimo, s čimer imamo omogočen dostop do zabavnih vsebin in storitev, ki so namenjene neposrednemu promoviranju. Primer takšnega tipa portala najdemo na straneh podjetja Gorenje ( kjer poleg oglaševanja izdelkov najdemo tudi igre za najmlajše (Slika 2.2). Slika 2.2: Gorenje na svojih straneh ponuja tudi igre za najmlajše Portali podpornih storitev (ang. Customer Service Portals) so običajno združeni s portali z informacijami o produktih. Pravzaprav prejšnji pridejo v poštev pred nakupom, ti pa po nakupu produkta. Kupcem ponujajo podporne storitve kot so registracija produkta,

25 Spletni portali 15 nadgradnja produkta, navodila za uporabo ter različne vodiče kot pomoč v primeru težav. Takšni portali pridejo v poštev predvsem pri napravah, strojni ali pa programski opremi. Tržni portali (ang. Selling Portals) se pojavljajo v dveh oblikah. Prva oblika predstavlja portale za poslovanje s potrošniki (B2C), kjer uporabniki ob pregledu artiklov le te nalagajo v t.i. košarice, nato pa po plačilu, izvedenem preko spleta, izbrane artikle prejmejo po pošti. Druga oblika tržnih portalov so portali za medpodjetniško poslovanje (B2B). Gre za elektronsko poslovanje podjetij, tako da se registrirajo v portal, nato pa s pomočjo plačilnih storitev izmenjujejo blago. Za plačilnimi storitvami običajno stojijo banke, tako se finančni prenosi izvajajo samodejno. Podjetje lahko iz ustreznega kataloga izbira med produkti različnih ponudnikov, ves čas pa je preko grafičnih prikazov omogočeno spremljanje nakupov in sledenje izdelkov na njihovi distribucijski poti. Takšno obliko poslovanja ponujajo vse bolj priljubljene e-tržnice (ang. e-marketplaces), ki zbližujejo tako prodajalce in kupce, kot tudi dobavitelje, in kjer lahko podjetja sklepajo pogodbe, uporabljajo finančne, logistične in zavarovalniške storitve itd. [13] Portali za upravljanje oskrbovalne verige (ang. Supply Chain Management Portals) so namenjeni elektronskemu poslovanju podjetja z dobavitelji. Pospešujejo procese dobave, zagotavljajo kvaliteto dobavnih storitev in znižujejo stroške. Preko teh portalov podjetja oddajajo naročilnice, prejemajo račune dobaviteljev in spremljajo potek dobave. Najbolj pomembna prednost takšnih portalov pa je skrajševanje pretočnih časov, kar pomeni da je čas od naročanja pa do dobave čim krajši, posledično pa se znižajo stroški skladiščenja. Organizacijski portali (ang. Business to Employee Portals) se uporabljajo predvsem za potrebe zaposlenih, katerim omogočajo enostaven in hiter dostop do strukturiranih in nestrukturiranih informacij znotraj podjetja. Integrirajo poslovne programske rešitve, vključujejo orodja za upravljanje vsebin, medsebojno sodelovanje uporabnikov in poslovno inteligenco [4][14]. V podjetjih običajno ne uporabljajo zgolj enega od navedenih portalov, ampak so ti združeni v celoto. Da lahko uporabniki preko poslovnih portalov dostopajo do množice

26 Spletni portali 16 zgoraj opisanih rešitev, gredo navadno vse zasluge integraciji aplikacij (ang. Enterprise Application Integration - EAI). Integracija aplikacij pomeni deljenje podatkov ter poslovnih procesov med povezanimi aplikacijami in podatkovnimi viri v podjetju [15]. Podjetja, ki imajo aplikacije razdeljene po sektorjih kot so nabava, računovodstvo, marketing, prodaja itd., z integracijo dosegajo pregled nad celotnimi podatki in imajo centraliziran dostop do teh aplikacij, in sicer preko portala. Integracija je lahko izvedena na štirih nivojih [15]: - na nivoju podatkov, kar predstavlja integracijo med samimi podatkovnimi bazami, - na nivoju aplikacijskih vmesnikov, preko katerih je omogočen dostop do storitev posamezne aplikacije, - na nivoju metod, kjer si aplikacije delijo skupne metode, ki so shranjene na strežnikih ali pa porazdeljene v omrežju, - na nivoju uporabniškega vmesnika. Naslednja pomembna storitev v poslovnih portalih je poslovna inteligenca (ang. Business Inteligence - BI), ki s pomočjo podatkovnega rudarjenja, analiziranjem poslovnih podatkov ter poročanjem uporabnikom ponuja dodatno znanje v obliki kazalnikov uspešnosti (ang. Key Performance Indicator - KPI) [16]. S tem podjetje dobi boljši pregled nad dogajanjem, poleg tega pa so ti podatki ključen faktor pri procesih odločanja. Kocbek je v svojem članku poslovno inteligenco opisal kot»sito, ki obdela maso podatkov, izvleče zahtevane informacije in predstavi te informacije kot znanje, potrebno za odločanje«[16]. Podjetja se lahko odločajo med lastnimi portalnimi rešitvami, ali pa izberejo eno izmed obstoječih rešitev določenega ponudnika. Lastne rešitve so bolj prilagojene na potrebe podjetja, velikokrat gre za nenehno širitev obstoječih rešitev, vendar takšen razvoj predstavlja velik strošek. Druga opcija je nakup enega izmed portalnih strežnikov, ki jih na trgu ponujajo različni ponudniki. V tem primeru je potrebno najti pravo razmerje med funkcionalnostmi, ki jih strežnik ponuja, in ceno. Nesmiselno je kupovati strežnike z

27 Spletni portali 17 množico funkcionalnosti, ki jih podjetje ne potrebuje. Potrebno je upoštevati tudi dejstvo, da portala ni mogoče dati v uporabo že takoj po nakupu, ampak je potreben določen čas za procese namestitve in prilagoditve, nato pa nastopijo še procesi uvajanja. Trenutno najbolj znani strežniki za vzpostavitev portalov so Bea WebLogic Portal, IBM WebSphere Portal, Oracle Portal, Sun Java System Portal Server, Vignette Portal in Microsoft SharePoint. Slednji je natančneje opisan v tretjem poglavju. 2.5 Spletne sestavljanke Nekateri ponudniki vsebin imajo za svoje aplikacije razvite t.i. programske vmesnike (ang. Application Programming Interface - API), preko katerih omogočajo dostop do lastnih storitev, spet drugi v ta namen ponujajo spletne storitve (ang. Web Services - WS). S tem javnosti omogočajo enostaven dostop do njihovih funkcionalnosti in informacij. Sicer so informacije dostopne tudi preko RSS in Atom kanalov, ali pa celo s pomočjo tehnik, kot je zajemanje zaslonov 4 (ang. screen-scraping ). Kot vidimo je podatke mogoče pridobivati iz vseh strani, in kar je še boljše, te podatke je mogoče združevati. Tako se je pojavila ideja o razvoju spletnih sestavljank (ang. mashups), ki jih v drugih literaturah najdemo tudi pod imenom zloženke [18]. V osnovi je termin vzet iz sveta glasbe, kjer sestavljanka pomeni novo pesem, ki nastane kot mešanica zvokov in vokalov iz dveh različnih skladb. Ponavadi gre celo za mešanje dveh različni zvrsti [17]. V tehnološkem pomenu pa spletna sestavljanka predstavlja spletno aplikacijo, ki iz različnih virov združuje podatke in ustvarja nove poglede na informacije (Slika 2.3). Tehnologija je namenjena enostavnemu povezovanju zunanjih virov v neke nove storitve. 4 Proces, pri katerem se iz izvorne HTML kode s pomočjo razčlenjevalnika izluščijo potrebne informacije [17].

28 Spletni portali 18 Slika 2.3: Združitev obstoječih rešitev v spletno sestavljanko Spletne sestavljanke lahko služijo kot dobra integracijska podlaga v portalih, kamor jih vključimo preko kanalov. Po drugi strani pa spletne sestavljanke z vedno večjo priljubljenostjo in nenehnim razvojem portalom predstavljajo konkurenco, saj že sami po sebi predstavljajo nekakšne novodobne portale. Če primerjamo obe tehnologiji, opazimo, da tako eni kot drugi zagotavljajo okolje za združevanje različnih vsebin. Za razliko od portalov, ki so zgrajeni iz vnaprej narejenih kanalov, pri sestavljankah nikdar ne vemo, kakšna bo njihova končna podoba [19], tehnologiji pa si nasprotujeta še v nekaterih drugih lastnostih, kot je prikazano v tabeli 2.2.

29 Spletni portali 19 Tabela 2.2: Primerjava portalov in spletnih sestavljank [43] Portali Starejša tehnologija, ki razširja običajne dinamične spletne strani Združevanje vsebin poteka v dveh fazah: generiranje vsebinskih delov iz obstoječih podatkov in združevanje teh delov na strani Združevanje predstavitveno usmerjenih virov (HTML, WML, VoiceXML itd.) Združevanje poteka na strežniku Vsebine se nahajajo v gradnikih, ti pa so postavljeni eden ob drugega in se ne prekrivajo Dogodkovni modeli za branje in posodobitev so definirani preko programskega vmesnika posameznih gradnikov Čeprav sta izgled in funkcionalnost portalov neodvisna, gradnike na njih obvladujejo standardi Sestavljanke Novejša Web 2.0 tehnologija Neposredno združevanje vsebin, brez kakršnegakoli generiranja vsebin Zruževanje podatkovnih virov, pridobljenih s pomočjo XML tehnologij, ter predstavitveno usmerjenih virov Združevanje poteka tako na strežniku, kot tudi v odjemalcu Vsebine se lahko med seboj kombinirajo na različne načine in tako tvorijo nešteto novih rešitev Operacije ustvarjanja, branja, posodobitev in brisanja se vršijo s pomočjo podatkov, ki se prenašajo preko XML datotek Osnovni standard določa izmenjavo podatkov na osnovi prenašanja XML datotek, ki vsebujejo povezave do podrobnejših podatkov. Pogosto se prenašajo viri RSS in Atom Glede arhitekture spletnih sestavljank imamo na izbiro dva različna pristopa [31]. Pri prvem se storitve in informacije»mešajo«na strani odjemalca, običajno s pomočjo spletnega brskalnika in v njem nameščenih dodatkov, kar v veliki meri razbremeni strežnike. Pri tem načinu avtorji spletnih sestavljank uporabljajo tehnologije kot sta JavaScript in Flash, s tem pa morajo računati tudi na dejstvo, da se z večanjem množice različnih tehnologij zmanjšuje krog uporabnikov, saj se ti ne strinjajo vedno z nameščanjem dodatkov. V drugem primeru se spletne sestavljanke izvajajo na strežnikih, kar avtorjem zagotavlja večji nadzor. Zadovoljnejši so tudi uporabniki, saj je za uporabo

30 Spletni portali 20 dovolj že osnovni brskalnik. Na strežnikih se običajno izvajajo zahtevnejše spletne sestavljanke. Spletne sestavljanke niso dovolj natančno definirane, zaradi tega pogosto sledi vprašanje, kateri so tisti viri, ki jih uporabljamo pri sestavljanju. Ali so to podatki, funkcionalnosti, ali vizualne predstavitve? Hinchcliffe je sestavljanke ločil glede na nivo integracije (Slika 2.4) in jih tako razdelil na pet različnih stilov [33]: 1. Predstavitvene sestavljanke predstavljajo najvišji nivo integracije, kjer se podatki in funkcionalnosti ne mešajo. Običajno se vizualni objekti le prekrivajo ali pa stojijo eden ob drugem, kot je to običaj pri spletnih gradnikih, ki sestavljajo portale. 2. Podatkovne sestavljanke na odjemalčevi strani pridobivajo podatke iz različnih virov in prikazujejo rezultat njihove kombinacije. Primer takšne spletne sestavljanke je prikaz lokacije na zemljevidu. 3. Programske sestavljanke na odjemalčevi strani pomeni združevanje različnih storitev v sami kodi, ki se izvaja na odjemalčevi strani. Ideja je povezati različne storitve, ki se izvajajo v brskalnikih in tako dobiti povsem novo storitev. 4. Programske sestavljanke na strežniški strani kot osnovo uporabljajo spletne storitve. Slednje lahko povezujemo v novo storitev, kar predstavlja dokaj enostaven proces. 5. Podatkovne sestavljanke na strežniški strani predstavljajo združevanje podatkov, ki se nahajajo v različnih podatkovnih bazah. Te so lahko celo od različnih ponudnikov, kar se v končnem rezultatu ne vidi.

31 Spletni portali 21 Slika 2.4: Sestavljanje na večih nivojih (prirejeno po [33]) Ideja sestavljank ni namenjena le programerjem, pač pa tudi običajnim uporabnikom, ki si želijo ustvarjati in prilagajati storitve, zato je sestavljanke mogoče graditi tudi brez kakršnihkoli programerskih znanj, in sicer s pomočjo posebnih urejevalnikov. Gre za spletne aplikacije, kjer lahko po principu povleci-spusti (ang. drag and drop) v kratkem času ustvarimo na stotine novih sestavljank. Ti urejevalniki že vnaprej ponujajo vrsto obstoječih podatkov in storitev, lahko pa vključimo tudi lastne. Primera takšnih urejevalnikov sta Microsoft Popfly (Slika 2.5) in Yahoo! Pipes. Microsoftov produkt v sestavljankah združuje predvsem storitve, medtem ko je slednji bolj podatkovno usmerjen, oba pa po izgradnji omogočata uporabo sestavljank na svojih portalnih straneh. Tukaj je še IBM-ov urejevalnik QEDWiki, ki ima od prejšnjih dveh malce drugačen namen. V njem je mogoče vsako ustvarjeno sestavljanko deliti med uporabniki, ti pa ga lahko kasneje spreminjajo po vzoru Wiki strani.

32 Spletni portali 22 Slika 2.5: Microsoftov urejevalnik sestavljank Popfly Sestavljanke lahko razdelimo na štiri podzvrsti [17]: 1) Prostorski Vsebino, ki vsebuje podatke o lokaciji (npr. naslov, zemljepisna dolžina in širina) je mogoče povezati v sestavljanko s pomočjo storitev kot so Google Maps, Virtual Earth, Yahoo Maps in podobni. Tako dobimo povsem nov, prostorski pogled na obstoječo informacijo. Hitro lahko ugotovimo npr. kje se nahajajo priljubljene restavracije, ali pa koliko je oddaljeno najbližje prizorišče svetovnega prvenstva v nogometu. Pri podjetju Google v ta namen ponujajo enostaven programski vmesnik, končni izdelek pa imenujejo Mapplet. 2) Video in slikovni S pomočjo slikovnih in video vsebin je mogoče izdelati ogromno zanimivih sestavljank, kar še posebej velja za vsebine, ki so dodatno opisane z metapodatki.

33 Spletni portali 23 Takšne storitve omogoča Flickr na svojih spletnih straneh, kjer uporabniki z metapodatki opisujejo in objavljajo svoje slike. Z združitvijo storitev Flickr in Google Maps je tako mogoče narediti sestavljanko, ki na zemljevidu sveta natančno prikazuje, kje so bili narejeni posamezni posnetki. 3) Iskalni in nakupovalni Predhodniki teh so bile aplikacije, ki so s pomočjo medpodjetniškega elektronskega poslovanja in zajemanjem zaslonov ponujale cenovno primerjavo artiklov med trgovci. Dolgo za tem so ponudniki, kot sta ebay in Amazon ponudili programske vmesnike, preko katerih lahko enostavno pridobivamo podatke. 4) Novičarski Mešanje vsebin ponujata že tehnologiji RSS in Atom, ki preko odjemalcev prikazuje novice iz različnih spletnih strani. S pomočjo sestavljank pa je mogoče prilagoditi prikaz teh novic in jih urediti v nek oseben»časopis«. Takšna primera sta Diggdot.us in slovenske itnovice, ki združujeta strokovne novice iz različnih virov in jih ponujata uporabnikom v svoji, enotni obliki. Poglejmo kakšne prednosti in izzive prinašajo sestavljanke [32]. Sestavljanke lahko označimo kot globalno storitveno arhitekturo 5, kjer je končna rešitev zgolj zlepljenka posameznih obstoječih storitev in je kodiranje prej redkost kot pravilo, zagotovljena pa je tudi visoka stopnja ponovne uporabe. Tehnologija je namenjena samogradnji, vzdrževanje pa je preprosto, saj gre za programsko opremo kot storitev (ang. Software as a Service - SaaS), kjer ni potrebno izvajati namestitev, nadgradenj ali nameščati vstavkov (ang. plugins). Po drugi strani pa se pri redni uporabi srečamo z ovirami, ki jih bo z razvojem v prihodnosti mogoče preskočiti: 5 Storitvena arhitektura (ang. Service Oriented Arhitecture - SOA) je arhitektura, v katero je združenih več neodvisnih programskih paketov, storitev, ki skupaj podpirajo nek poslovni proces, vključno s podatki [37]

34 Spletni portali 24 - Pojavljata se dva različna modela sestavljank. Prvega zastopajo uporabniki v spletu, ki sestavljajo svoje strani na podlagi preizkusov različnih strategij, med katerimi se nekatere izkažejo kot zelo dobre. Na drugi strani so komercialni ponudniki, ki želijo s svojimi produkti sestavljanke vključiti v poslovanje. Ti imajo stroga načela in želijo modele sestavljank predvideti vnaprej, med tem pa zanemarjajo obstoječe ideje, ki se pojavljajo v spletu ter posledično zaostajajo za javnostjo. - Pojavlja se preveč različnih formatov gradnikov, kar otežuje razvoj orodij za vizualno sestavljanje. Ta z večanjem števila formatov postajajo kompleksnejša in dražja. - Ni razvitega splošnega modela, ki bi določal način gradnje ter uporabe sestavljank, kot ga poznamo npr. pri spletnih dnevnikih in straneh wiki. - V spletu je premalo storitev, ki bi zagotavljale potrebne informacije, željeni podatki pa se nahajajo znotraj statičnih spletnih strani in jih je kot takšne težko dinamično povezati. - Ni zagotovljene storitve, s pomočjo katere bi na podlagi avtentikacije lahko dostopali do kakšnih osebnih podatkov. Pojavljajo se določene potencialne rešitve, kot je OpenID 6, vendar bo potrebnega še veliko časa, preden bodo uporabniki sestavljankam zaupali dostop do njihovih osebnih podatkov. V organizacijah, kjer kvaliteta informacij močno vpliva na uspešnost, sestavljanke nudijo izvrstno priložnost za povezovanje internih in javnih vsebin. Z javnimi rešitvami so podjetjem prihranjena sredstva, dosežena pa je tudi kvaliteta storitev, vendar pa se porajajo vprašanja o varnosti in zrelosti takšnih rešitev. Zaradi slednjega ter zaradi slabega poznavanja tehnologije so podjetja več ali manj skeptična glede njene uporabe. Tako je leta % velikih podjetij nameravalo investirati v spletne sestavljanke, kar 54% takšnih 6 Storitev, s pomočjo katere se lahko uporabnik z enotnim uporabniškim imenom in geslom prijavlja na različnih spletnih mestih.

35 Spletni portali 25 pa o tem niti ne razmišlja [34]. Primer sestavljanke v poslovanju bi bilo združevanje ponudb dobaviteljev v preglednico, kjer bi bilo možno enostavno primerjati cene, kvaliteto, čas dobave ipd. Tehnologija spletnih sestavljank je trenutno v velikem vzponu. S strani ponudnikov storitev se vsak dan pojavi kakšen nov API, trenutno jih je na voljo več kot 650 [36], bolj znani med njimi so zbrani v tabeli 2.3. Po drugi strani pa se z naraščanjem uporabe pojavlja vse več težav, ki nastopijo, kadar se kljub nestrinjanju ponudnika njegove vsebine znajdejo v sestavljankah. Tukaj se odpira vprašanje o legalnosti določenih sestavljank [20]. Tabela 2.3: Aplikacijski programski vmesniki znanih storitev Storitev Značilnosti Naslov Yahoo Maps Yahoo Mail Yahoo Search Yahoo Travel Yahoo Traffic Google Calendar Prikaz podrobnih zemljevidov in satelitskih posnetkov ter izračunavanje in prikaz želenih poti. Upravljanje elektronske pošte. Iskanje spletnih strani, slik, video vsebin, lokalnih podatkov in prodajnih artiklov. Iskanje in rezervacija potovanj, hotelov, poletov, avtomobilov. Spremljanje prometnega dogajanja na posameznih mestih. Upravljanje dogodkov v koledarju. Google Search Iskanje spletnih vsebin s pomočjo dobro znanega iskalnika Google. Google Maps Iskanje lokacij in njihov prikaz na zemljevidu Google Charts Izdelava in prikaz grafikonov.

36 Spletni portali 26 Flickr ebay YouTube Pregledovanje ter iskanje javnih slik in njihovih podatkov. Iskanje, kupovanje in prodaja različnih artiklov. Iskanje, pregledovanje, ocenjevanje in komentiranje video vsebin. eveloper/api.asp Second Life Virtualni svet.

37 Portalni strežnik SharePoint 27 3 PORTALNI STREŽNIK SHAREPOINT Prvi SharePoint strežnik, imenovan SharePoint Team Services, je bil izdan leta 2001 [24]. Namenjen je bil uporabnikom znotraj manjših skupin, ki so si preko spletnih strani lahko delili dokumente, koledarje, opravila ipd. in tako delovali na skupnih projektih. Vendar se tak sistem v širši skupnosti ni nikdar prijel, saj so obstajali podobni namizni sistemi, ki so enaka opravila odlično opravljali. Tudi naslednja različica, ki je izšla leta 2003, ni bila posebno uspešna. Čeprav je ponujala veliko več kot tista na začetku, potencialni uporabniki v njej niso videli priložnosti. Tako smo dočakali različico 2007, imenovano Microsoft Office SharePoint Server (MOSS), za katero so se razvijalci odločili, da jo bodo vključili v pisarniški paket Microsoft Office in strežnik povezali z njegovimi programi. 3.1 Zgradba Strežnik MOSS temelji na množici različnih tehnologij. Več ali manj gre za Microsoftove izdelke, ki so med seboj povezani in skupaj tvorijo nekakšno infrastrukturo. Jedro vsega predstavlja komponenta Windows SharePoint Services (WSS). WSS je spletna aplikacija, zgrajena v okolju ASP.NET, in nudi funkcionalnosti, ki jih uporablja MOSS. Za namestitev strežnika je potrebna najnovejša različica 3.0, ki zagotavlja spletno okolje, delo z vsebinami, varnost, upravljanje strežniških nastavitev, RSS vire, alarmne storitve, aplikacijski programski vmesnik (API) in drugo. Ostale komponente, ki so potrebne za namestitev strežnika, so: - SQL Server 2000 ali novejši: Microsoftov sistem za upravljanje s podatkovno bazo, ki se uporablja za shranjevanje vseh podatkov, povezanih s strežnikom. Vsaka spletna stran, dokument, seznam, knjižnica ipd., ki jih uporabniki ustvarjajo

38 Portalni strežnik SharePoint 28 med uporabo, se shranjujejo v podatkovno bazo. S tem je dosežena neodvisnost podatkov od poslovne logike in uporabniškega vmesnika, kar med drugim omogoča enostavno izdelavo varnostnih kopij. - Ogrodje.NET 2.0 in 3.0: Z namestitvijo teh dveh različic se namestita okolje ASP.NET in Windows Workflow Foundation (WWF). Slednji je namenjen upravljanju delovnih tokov, med tem ko z ASP.NET lahko prilagajamo in razširjamo funkcionalnosti strežnika MOSS. - Internet Information Server (IIS): Spletni strežnik, na katerem tečejo ASP.NET spletne aplikacije. Njegove nastavitve lahko spreminjamo neposredno preko nadzorne plošče, ali pa kar znotraj strežnika MOSS. - Windows Server 2003 oz. 2008: Operacijski sistem, ki je namenjen strežnikom in je sploh edini, v katerem je mogoče namestiti MOSS. WSS je vanj sicer že vključen, lahko pa si ga brezplačno prenesemo s spleta. Šele ko imamo nameščene vse zgoraj naštete komponente, lahko namestimo strežnik MOSS. Ta predstavlja le nadgradnjo spletnih aplikacij, ki jih zagotavlja WSS. MOSS v prvi vrsti skrbi za povezavo z odjemalci pisarniškega paketa Microsoft Office (npr. Word, Excel, Access, InfoPath), tako da so nekatere njihove storitve dostopne znotraj strežnika in obratno. MOSS poleg tega nudi še bolj podrobno upravljanje vsebin, razširjen spletni iskalnik, različne oblike portalov, upravljanje uporabnikov in njihovih pravic pri uporabi sistema ter različne poslovne storitve. Pri nameščanju strežnika imamo dve možnosti. Vloge lahko razdelimo na več aplikacijskih in podatkovnih strežnikov, ki med seboj sodelujejo. V tem primeru govorimo o strežniški farmi (ang. Server farm), namestitev pa je malo bolj zapletena. Enostavnejša je namestitev vseh vlog v enem strežniku, vendar moramo paziti, da strežnik zagotavlja dovolj potrebnih virov. MOSS je ponavadi namenjen uporabi v lokalnem omrežju določenega podjetja, lahko pa ga ponudimo tudi širši javnosti v internetu.

39 Portalni strežnik SharePoint 29 Za povezavo med logičnimi strežniki skrbi komponenta Shared Services Provider (SSP). Ta zagotavlja storitve, ki se uporabljajo znotraj aplikacij. Te storitve vključujejo personalizacijo, osebne strani, iskalnik ipd. V strežniški farmi je mogoče namestiti več SSP komponent, kar je smiselno, kadar želimo popolnoma ločiti vsebine in uporabo [24]. 3.2 Hierarhija spletnih vsebin Vsebine v SharePoint strežniku so urejene po nivojih, kar je prikazano na sliki 3.1. Na najvišjem se nahajajo spletne aplikacije, med katerimi je osnovna Central Administration (CA), od koder skrbniki upravljajo celoten strežnik. Na razpolago imajo ogromno nastavitev, vendar jih je zaradi dobre razporeditve in pregleda enostavno uporabljati. Delijo se na tiste za delo s strežnikom in na tiste, s katerimi skrbniki upravljajo aplikacije. Stran za upravljanje SSP storitev je ločena, vendar je iz CA enostavno dostopna. Spletne aplikacije, ki jih skrbniki dodajo preko CA, se namestijo na spletni strežnik, v našem primeru IIS. Te so ločene s številkami vrat, vsaka pa ima svoje nastavitve, ponavadi pa tudi lastno podatkovno bazo, kamor shranjuje strani, nastavitve in vsebine. Dovolj je, če je v MOSS poleg CA nameščena le ena spletna aplikacija, vendar jih je priporočeno namestiti več. Tako lahko ločimo spletne aplikacije na več podatkovnih baz, s čimer se izognemo primeru, ko bi napaka na eni podatkovni bazi vplivala na vse spletne aplikacije. Še bolj zaželeno je različne aplikacije razpršiti po strežniški farmi, če le imamo to možnost. Na ta način se izognemo delitvi virov med samimi aplikacijami, kar sčasoma privede do počasnega delovanja. Spletna aplikacija vsebuje eno ali več spletišč (ang. Site Collections). Te so med seboj znotraj aplikacije ločene s potmi, imajo svoja imena in opise, vsaki pa se izbere tudi predloga, ki je nato enaka za vse strani. Te predloge so že naprej izdelane in določajo modele za wiki spletišča, spletišča s spletnimi dnevniki, spletišča za objavljanje publikacij itd. Strani v spletišču imajo skupne tudi navigacijske menije, za vse pa veljajo enake varnostne nastavitve in uporabniška dovoljenja. Nova spletišča lahko kreiramo tudi znotraj

40 Portalni strežnik SharePoint 30 posameznega spletišča in tako ustvarimo nekakšno hierarhijo spletišč. Prva stran v spletišču je ponavadi portalna stran, od koder je omogočen dostop do ostalih strani. Slika 3.1: Hierarhija spletnih vsebin Vsaka stran v spletišču ima določeno strukturo. Če želimo izdelati lastno stran, imamo na izbiro dve možnosti, ustvarimo lahko preprosto stran, kamor s pomočjo spletnega urejevalnika dodajamo vsebino, lahko pa ustvarimo stran, kamor poleg ostalih vsebin dodajamo tudi spletne gradnike (glej poglavje 3.3). Ostale strani, katerih vsebina je vnaprej znana (npr. koledar, forum, stran za izmenjavo dokumentov), pa temeljijo na osnovi naslednjih dveh struktur:

41 Portalni strežnik SharePoint 31 - Seznami (Lists) so kot nekakšne preglednice, kamor lahko shranjujemo podatke. Stolpci predstavljajo lastnosti, vrstice pa vpise. Koliko vrstic je v seznam, toliko vpisov vsebuje, vsak vpis pa je sestavljen iz toliko podatkov, kolikor je v seznamu stolpcev. Vnaprej izdelani seznami so npr. koledar, seznam opravil, forum, seznam stikov ipd. - Knjižnice (Libraries) predstavljajo repozitorije za shranjevanje datotek. Vsaka knjižnica, podobno kot seznam, vsebuje stolpce, s katerimi je vsaka naložena datoteka dodatno opisana. Knjižnice lahko poljubno omejimo, tako da omogočajo nalaganje le določenih vrst dokumentov. Primeri teh so knjižnice preglednic, knjižnice tekstovnih dokumentov, knjižnice obrazcev, slikovne knjižnice itd. 3.3 Spletni gradniki Današnji portali morajo imeti možnost prilagajanja glede na želje posameznega uporabnika. Da zadovoljujejo kriterije portalov, ponudniki zagotavljajo različne nabore portalnih lastnosti, med katerimi so tudi kanali ali spletni gradniki (ang. Web Parts), s katerimi uporabniki sami sestavljajo portale. Strani s spletnimi gradniki lahko ustvarjamo s pomočjo ogrodja ASP.NET, v SharePoint strežniku pa najdemo množico že naprej pripravljenih gradnikov. Uporabniki jemljejo izdelane gradnike iz katalogov in jih poljubno postavljajo ter s pomočjo metode povleci-spusti premikajo po spletni strani, hkrati pa vsakemu posebej določajo lastnosti in jih med seboj povezujejo. Dobra primera spletnih portalov, ki omogočata uporabo spletnih gradnikov sta Microsoftov Live.com in Google-ov igoogle. Čeprav gre za enak princip uporabe, ta dva portala spletne gradnike imenujeta spletni pripomočki (ang. Web Gadgets). Kljub svobodnemu postavljanju pa je uporabnik na določen način omejen. Spletni gradniki se ne morejo nahajati kjerkoli, v nasprotnem primeru bi lahko prekrivali eden drugega in ostalo vsebino. Zato je potrebno na spletni strani, namenjeni spletnim gradnikom, določiti območja, kamor lahko gradnike postavimo. Teh območij je lahko

42 Portalni strežnik SharePoint 32 poljubno mnogo, vsako območje pa lahko vsebuje tudi več gradnikov hkrati, v tem primeru se postavijo eden pod drugim. Določen gradnik tako lahko premaknemo le iz enega območja v drugega, ali pa vertikalno znotraj istega območja. Ko izbiramo, katere gradnike bomo dodali na stran, si lahko pomagamo s katalogom, ki ponuja mnogo različnih vrst le teh. Vsebina gradnika je lahko kakršnakoli. Obstajajo gradniki, ki prikazujejo grafikone, pa takšni, v katerih je mogoče brskati po spletu, možno je tudi delo z XML dokumenti, ali pa vstavljanje podatkov v bazo. Vse te gradnike lahko med seboj povezujemo, s čimer dosežemo izmenjavo podatkov med njimi. Kadar spletnih gradnikov nimamo na razpolago, ali pa ti ne ustrezajo našim potrebam, takrat jih lahko izdelamo sami. Če strani za dodajanje gradnikov še nimamo, moramo tudi te ustvariti. Pri tem si pomagamo z orodji Microsoft SharePoint Designer, kjer jih v grafičnem načinu oblikujemo, in Microsoft Visual Studio, kjer jim dodamo kodo. Pri izdelavi spletnih gradnikov ustvarimo podrazred razreda System.Web.UI.WebControls.WebParts.WebPart. S tem povemo, da naš razred predstavlja spletni gradnik. Sedaj le še predefiniramo metodo Render, ki s pomočjo razreda System.Web.UI.HtmlTextWriter skrbi za prikaz vsebine spletnega gradnika. V tej metodi lahko z izpisom poljubno oblikujemo vsebino, ki se bo prikazovala. Če želimo povezati ta naš spletni gradnik, se moramo najprej odločiti, kakšne podatke si bo izmenjeval z ostalimi gradniki in definirati temu primeren vmesnik. Nato je potrebno razmisliti, ali bo podatke od drugih gradnikov sprejemal ali jih bo oddajal. V prvem primeru gre za porabnika v povezavi (ang. Connection Consumer), v drugem pa za ponudnika v povezavi (ang. Connection Provider), lahko pa gradnik deluje tudi v obeh vlogah hkrati. Ko smo se odločili glede strani povezave, moramo metodo, kjer bomo podatke sprejemali oz. oddajali, označiti z atributom System.Web.UI.WebControls.WebParts.ConnectionProvider oz. System.Web.UI.WebControls.WebParts.ConnectionConsumer. Ta metoda mora v primeru ponudnika vračati podatke, kot jih določa vmesnik, medtem ko mora porabnik preko parametrov omogočiti sprejem teh istih podatkov. Sedaj je potrebno le še povezati spletne gradnike med seboj. To lahko storimo na programski, ali pa na grafični način, če le imamo pripravljeno ustrezno stran za dodajanje teh gradnikov.

43 Portalni strežnik SharePoint Uporabniki in njihova pooblastila Kot skupek spletnih aplikacij je MOSS namenjen zaključenim skupinam uporabnikov. To pomeni, da se mora vsak uporabnik v sistem prijaviti z ustreznim uporabniškim imenom in geslom. Uporabniških računov v SharePoint sistemu ni potrebno na novo dodajati, saj za to uporablja zunanje sisteme. Ponavadi se uporabijo kar računi iz operacijskega sistema, kjer je strežnik nameščen, lahko pa se za sistem avtentikacije uporablja SQL podatkovna baza, ali pa namenski ponudniki. Ob namestitvi sistema obstaja vsaj en skrbniški uporabniški račun. Uporabnik ima s tem računom vsa pooblastila kar se tiče upravljanja strežnika, lahko pa tudi namešča in briše spletne aplikacije ter spletišča. Ob namestitvi spletišča mora izbrati uporabniški račun moderatorja, ki ga lahko kasneje menjava. Znotraj tega ima skrbnik sicer vsa pooblastila, vendar mu jih moderator spletišča lahko prikroji. Na spletnih straneh je mogoče uporabnike urejati v skupine. Tako moderatorjem ni potrebno nastavljati pooblastil za vsakega uporabnika posebej, temveč morajo le določiti kateri skupini pripada. Na vsaki strani so že naprej izdelane skupine imenovane lastniki, uporabniki, obiskovalci, oblikovalci, itd. Moderatorji lahko ustvarijo tudi lastne skupine, kjer dodeljujejo pooblastila kot so branje, dodajanje, spreminjanje, brisanje, potrjevanje in prilagajanje. Da pa ni potrebno urejati pooblastil za vsako vsebino posebej, delo olajšuje sistem dodeljevanja pooblastil, ki deluje po principu hierarhije, kar pomeni, da se pooblastila prenašajo iz višjega nivoja na nižje nivoje. Torej je uporabniku, ki ima na prvi strani spletišča pooblastila za branje in dodajanje, ob kreiranju strani omogočeno prav tako le branje in dodajanje. Kasneje lahko moderator spletišča spreminja pooblastila neodvisno od višjega nivoja. Enostavno se da urejati celo pooblastila za posamezne zapise v seznamu, ali pa dokumente v knjižnici. V spletiščih se sistem pooblastil pozna kot množica funkcionalnosti, ki (ni)so ponujene posameznim uporabnikom. Moderator ima ponavadi več gumbov in menijev kot ostali uporabniki, tudi nekatere vsebine so slednjim skrite, kar vidimo na sliki 3.2. Lahko pa se

44 Portalni strežnik SharePoint 34 zgodi, da moderator kakšnemu uporabniku preveč zaupa in ga uvrsti v skupino lastnikov spletišča, ta pa ponujeno izkoristi ter moderatorju oklesti pooblastila. Pričakovali bi, da se bo v tem primeru zamenjal moderator, dejansko pa prvotnemu moderatorju naprej ostaja popoln nadzor, menja pa ga lahko le strežniški skrbnik. Slika 3.2: Moderator (desno) ima na voljo več funkcionalnosti kot uporabnik (levo) MOSS 2007 uporabnikom ponuja tudi izdelavo lastnih spletišč, imenovanih MySite. Gre za spletno stran, kjer posamezen uporabnik ureja poljubno vsebino, s tem pa se predstavlja ostalim uporabnikom portala. Na teh osebnih straneh lahko vsak uporabnik doda svoj opis, objavi sliko, ustvari svoj spletni dnevnik, z ostalimi deli dokumente, fotografije in ostale datoteke, dodaja prijatelje itd. Za vse te vsebine lahko lastnik nastavlja pooblastila, tako da jih deli le z izbranimi uporabniki, ali pa jih ima le zase. 3.5 Povezava z odjemalci Microsoft Office je danes med uporabniki najbolj priljubljen paket pisarniških programov. Nazadnje izdana različica Office 2007 je od prejšnjih naredila velik preskok v smislu ponujenega. Poleg povsem prenovljenega uporabniškega vmesnika ponuja vsak program znotraj paketa še dodatne funkcionalnosti. Veliko je bilo narejenega na

45 Portalni strežnik SharePoint 35 povezovanju s strežnikom SharePoint (Slika 3.3). Ta odlično sodeluje z odjemalci kot so Word, Excel, Access, PowerPoint, InfoPath in Outlook. Slika 3.3: Konceptualna shema uporabe strežnika MOSS Podobno sodelovanje so omogočale že prejšnje različice strežnika SharePoint, vendar je bila stvar precej omejena, tako so morali imeti vsi uporabniki teh storitev nameščene odjemalce. V MOSS to ni več potrebno, saj strežnik zagotavlja urejanje dokumentov kar s pomočjo spletnega brskalnika. Težava pri zagotavljanju funkcionalnosti nastaja, kadar je v povezavi z strežnikom uporabljena starejša različica Microsoftove pisarne. Sicer so nekatere funkcije še vedno na voljo, za popolno uporabnost pa je potrebno imeti nameščeno najsodobnejšo različico. Dokumente, ustvarjene z Microsoftovimi programi, lahko shranjujemo v knjižnicah strežnika SharePoint. To omogoča strežnik za upravljanje z dokumenti (ang. Document Management Server), ki je vključen v MOSS. Shranjene tekstovne dokumente in

46 Portalni strežnik SharePoint 36 preglednice lahko nato pregledujemo na samih spletnih straneh, PowerPoint predstavitve pa lahko poleg tega shranjujemo po posameznih prosojnicah, katere lahko kasneje uporabimo v kakšnih drugih predstavitvah. V Wordu, Excelu in PowerPointu lahko ustvarimo še delovni prostor za dokumente (ang. Document workspace), ki je v SharePoint strežniku predstavljen kot knjižnica za izmenjavo dokumentov, omogoča pa delo z dokumenti s strani večih uporabnikov (Slika 3.4). Slika 3.4: Enostavna povezava z Microsoftovimi odjemalci Podobno kot shranjevanje dokumentov v knjižnice, poteka tudi shranjevanje preglednic in podatkovnih tabel v sezname, od koder jih je mogoče kasneje pregledovati. Excel in Access imata možnost tako uvoza kot izvoza podatkov, ki se nahajajo v strežniku. Nadalje se podatki v strežniku dajo z odjemalci povezati, s tem se vsakič, ko je strežnik dostopen, sinhronizirajo, uporabnik pa lahko izbira, v katerem okolju jih bo urejal.

47 Portalni strežnik SharePoint 37 V povezavi s strežnikom MOSS je zanimiva tudi uporaba programa Outlook. Ta je poleg poštnega odjemalca namenjen delu s komponentami kot so seznam opravil, seznam stikov in koledar, prav takšne pa najdemo tudi v spletiščih znotraj strežnika SharePoint. Te komponente v spletiščih lahko povežemo s tistimi iz Outlooka in jih med seboj sinhroniziramo. Povežemo lahko tudi vse ostale knjižnice in sezname, te pa lahko z Microsoftovim izdelkom tudi kreiramo. Če imamo v strežniku usposobljeno sprejemanje elektronske pošte, lahko na ta način iz Outlooka na strežnik pošiljamo elemente knjižnic in seznamov brez da smo neposredno povezani s strežnikom, zadostna je že internetna povezava na strani pošiljatelja. Zelo zanimivo je tudi delo s strežnikom brez kakršnekoli povezave. Outlook takšen način uporabe omogoča pod pogojem, da se vanj pred prekinitvijo povezave iz strežnika prenese vsa potrebna vsebina. Uporabnik lahko nato v programu dodaja, celo spreminja in odstranjuje vsebine brez sodelovanja s strežnikom. Prosto lahko npr. dodaja stike, spreminja dogodke v koledarju in objavlja prispevke v forumih, vendar pa se te spremembe poznajo le znotraj odjemalca ne pa tudi v strežniku. Slednje doseže tako, da ob ponovni povezavi s strežnikom z ukazom sprejmi/pošlji poskrbi za sinhronizacijo. 3.6 Delo z vsebinami Za delo z vsebinami MOSS ponuja množico funkcij, zato ga nekateri viri predstavljajo kot sistem za upravljanje vsebin [21]. Povezovanje z Microsoftovimi odjemalci je le del tega, kar zmore strežnik. Temelj za delo z vsebinami so knjižnice in seznami, ki predstavljajo prostor, kamor se vsebine shranjujejo. Te vsebujejo funkcionalnosti, ki uporabniku olajšajo delo in prihranijo čas. Iz menijev, ki jih ponujajo knjižnice in seznami, si lahko ogledamo spremembe s pomočjo RSS virov, ki ponujajo kratke opise elementov in se kasneje z odjemalcem nanje naročimo. Za spremljanje sprememb si lahko uporabniki vklopijo tudi opozorila, tako jih strežnik preko elektronske pošte sproti obvešča o dogajanju v izbranih knjižnicah in seznamih, opozorila pa je mogoče nastavljati tudi vsakemu elementu posebej. Seznami

48 Portalni strežnik SharePoint 38 opravil so celo sposobni obveščati uporabnike, katerim je bilo opravilo dodeljeno, velja pa omeniti, da mora imeti strežnik za pošiljanje obvestil preko elektronske pošte urejene nastavitve. Poleg vsega ne smemo pozabiti na poglede, ki so namenjeni lažjemu pregledu nad elementi. Ustvarimo jih tako, da izberemo podatke, na osnovi katerih naj bodo elementi skriti oz. prikazani. S tem lahko npr. prikažemo le elemente določenega uporabnika, ustvarjene v določenem obdobju. Knjižnice ponujajo še nekaj več možnosti kot seznami. Elemente znajo prikazati v Microsoftovem raziskovalcu, od koder jih lahko uporabniki naprej urejajo, sposobni so jih pretvarjati v druge primerne formate, potrjevati, pošiljati preko elektronske pošte ter v druge knjižnice, prenašati njihove kopije in na njihovi podlagi ustvarjati delovne tokove. Knjižnice vključujejo tudi sistem za sledenje različicam, vendar ga je potrebno v nastavitvah omogočiti. Dobrodošla lastnost MOSSa je uporaba koša, kamor se po odstranitvi iz seznamov in knjižnic prenesejo zapisi in datoteke. Vsak uporabnik ima na razpolago svoj koš, kjer se nahajajo elementi, ki jih je sam pobrisal. Od tam jih lahko ponovno obnovi ali odstrani, sicer se elementi v košu po določenem času odstranijo samodejno. Vsako spletišče pa ima še svoj glavni koš, ki združuje elemente vseh uporabniških košev, pravico do njegove uporabe pa ima le moderator spletišča. Četudi uporabniki elemente iz svojih košev odstranijo, še ti vedno ostanejo v glavnem košu, od koder pa jih lahko moderator spet obnovi ali dokončno odstrani. 3.7 Poslovna uporaba Za podporo poslovnim procesom strežnik SharePoint uporablja delovne tokove. Gre za storitev, ki zagotavlja metode formalizacije, nalaganja, obveščanja in spremljanja napredovanja dokumentov skozi določene delovne procese [22]. Delovne tokove lahko v strežniku SharePoint ustvarjamo nad celotnimi knjižnicami oz. seznami, ali pa nad posameznimi elementi. Ponavadi gre za delovne tokove, kjer mora določen uporabnik vsak

49 Portalni strežnik SharePoint 39 nov, spremenjen ali pa zaključen element potrditi. Takšne enostavne delovne tokove ima MOSS že vgrajene, za bolj zapletene pa moramo uporabiti orodje SharePoint Designer ali pa celo Visual Studio. V poslovne namene je s pomočjo Microsoftovega programa InfoPath dobro podprta tudi uporaba obrazcev, ki se odlično obnesejo v povezavi z delovnimi tokovi. Obrazce oblikujemo v programu InfoPath in jih nato z njegovo pomočjo objavimo v knjižnicah izbranega spletišča kot predlogo za izpolnjevanje. Izpolnjeni obrazci se nato v teh istih knjižnicah shranjujejo, kjer jih je mogoče tudi urejati. Pomembna prednost nove različice strežnika SharePoint je možnost izpolnjevanja obrazcev s pomočjo brskalnika, česar prejšnje različice niso omogočale, vendar je potrebno pri oblikovanju predlog paziti, da so za ta namen tudi ustvarjene. Na ta račun uporabniki na svojih računalnikih ne rabijo imeti nameščenega programa InfoPath, kar naredi strežnik še bolj uporaben. Ko govorimo o poslovanju, ne moremo mimo poslovne inteligence, ki jo MOSS zagotavlja s svojimi storitvami. Ena takšnih je katalog poslovnih podatkov (ang. Business Data Catalog - BDC), ki omogoča s pomočjo povezav na podatkovne baze ali spletnih storitev združevanje zunanjih poslovnih aplikacij. Združeni podatki se kasneje lahko skozi iskalnike, sezname ali spletne gradnike uporabljajo v naših spletiščih [23]. Del poslovne inteligence so tudi Excelove storitve (ang. Excel Services), ki jih nudi popolna različica strežnika MOSS. Te storitve predstavljajo most med strežnikom in preglednicami. Tako je slednje mogoče urejati kar preko spletnega brskalnika, za računske operacije in ostala opravila v preglednicah pa poskrbi strežnik ter tako razbremeni odjemalce. Poleg tega so na voljo tudi knjižnice s poročili, kamor lahko shranjujemo: - poročila (ang. Reports), kjer gre za navadne preglednice, katere je mogoče prikazovati v za to namenjenih spletnih gradnikih in - interaktivne nadzorne plošče (ang. Dashboards), ki so pravzaprav navadne spletne strani, opremljene s spletnimi gradniki za prikaz preglednic, ključnih kazalnikov poslovanja, grafikonov in ostalih elementov za poslovni nadzor.

50 Portalni strežnik SharePoint Iskanje Če želimo uporabnikom omogočiti enostaven in hiter dostop do želenih informacij, jim moramo zagotoviti učinkovit iskalni mehanizem. MOSS ga s storitvijo Office SharePoint Server Search vsekakor zagotavlja, ta pa je s svojimi podrobnimi nastavitvami prilagodljiv za vse potrebe. Iskanje ponuja že sam WSS, a je precej nefleksibilno in vrača le zadetke iz trenutnega spletišča. SharePoint iskalnik je sestavljen iz dveh logičnih strežnikov, eden je namenjen povpraševanju, drugi pa indeksiranju. Indeksiranje pomeni vnašanje lastnosti in besed, ki jih strežnik zbira med pregledovanjem vsebin, v indeks. Strežniku za povpraševanje tako ni potrebno pregledovati celotne vsebine, saj bi s tem porabil preveč časa in virov, temveč išče le po indeksih [24]. Indeksi se posodabljajo s procesi pregledovanja v določenih intervalih, ki jih lahko nastavljamo. Pri tem moramo paziti, da strežnika med njegovo uporabo ne preobremenimo preveč. Uporabniki lahko iščejo s pomočjo enostavnega iskalnika, ki se nahaja znotraj vsakega spletišča v zgornjem desnem kotu, ali pa preko iskalnega centra, kjer je mogoče izbirati dodatne iskalne parametre. S slednjim lahko iščemo po specifičnih kriterijih kot je izbira avtorja, opisa, imena, velikosti ipd. Parametre lahko sami dodajamo, ponavadi pa gre za imena stolpcev v knjižnicah in seznamih. Obseg iskanja lahko omejimo, da se uporabnikom ni potrebno prebijati skozi množico zadetkov, medtem ko iščejo potrebne informacije. Tako lahko iščejo le podatke o uporabnikih, ali pa tiste znotraj spletne strani, v kateri se nahajajo. Lastne obsege lahko vnaprej določamo z nastavljanjem filtrov, te pa lahko uporabljajo tudi uporabniki med samim iskanjem, tako da jih dodajo k poizvedbi: sharepoint site: Documents filetype:xml author:administrator

51 Portalni strežnik SharePoint 41 V prvem primeru iskalnik vrne zadetke iz strani Documents, ki vsebujejo besedo sharepoint, v drugem primeru pa vrne vse datoteke formata XML, katerih avtor ni administrator. Definiramo lahko tudi vire vsebin, po katerih uporabniki iščejo. Privzeti vir je trenutno spletišče, izberemo pa lahko še vire kot so: - spletne strani, ki niso del SharePoint strežnika. Na določenem URL naslovu tako iskalnik preišče vsebine strani do zahtevane globine, - datoteke, ki se nahajajo znotraj lokalnega omrežja; če želimo le dostopati do njihovih informacij, jih ni potrebno vključevati v knjižnice, temveč jih le dodamo kot vire iskanja, - mape v skupni rabi, ki so dostopne znotraj lokalnega omrežja, - poslovni podatki, ki jih pridobivamo s pomočjo kataloga poslovnih podatkov, - podatke iz aplikacij Lotus Notes.

52 Praktični primer uporabe spletnih sestavljank 42 4 PRAKTIČNI PRIMER UPORABE SPLETNIH SESTAVLJANK V poslovanju, kjer je kvaliteta informacij pogoj za uspešnost, je združevanje podatkov še toliko bolj pomembno. Znotraj podjetij se pogosto uporabljajo sestavljanke, sestavljene več ali manj iz internih podatkov, ali pa tistih, ki so pridobljeni z medpodjetniškim elektronskim poslovanjem (B2B). Da se izognejo lastnim rešitvam, uporabljajo seveda tudi javno dostopne storitve in podatke ter tako dosegajo kvaliteto storitev. Takšne rešitve med drugim omogočajo takojšen dostop do želenih podatkov, kar posledično pripomore k hitrejšim in pravilnejšim odločitvam. V tem poglavju bomo pogledali, na kakšen način bi lahko v podjetju povezali poslovni portal s spletnimi sestavljankami in tako olajšali in pohitrili procese dela. Na primeru iz zavarovalništva bomo pokazali, kako razviti spletne gradnike in jih kasneje znotraj portala uporabiti v sestavljanki. Končna rešitev predstavlja prototip, v katerem je mogoče izbirati, postavljati in povezovati spletne gradnike ter prenašati in mešati podatke med njimi. Uporabili bomo nekaj testnih podatkov, ki so zbrani v XML datotekah in jih sestavljali z internimi in javnimi storitvami. 4.1 Uporabljena orodja in tehnologije V nadaljevanju so opisana orodja in tehnologije, ki smo jih uporabili pri izvedbi rešitve. Gre za dobro znane sodobne rešitve, ki omogočajo lažji, hitrejši in kvalitetnejši razvoj WEB 2.0 Izraz»Web 2.0«, za katerega iskalnik Google najde približno 170 milijonov zadetkov, je v današnjem času eden najpopularnejših med spletnimi navdušenci. Vendar pa malokdo

53 Praktični primer uporabe spletnih sestavljank 43 pravzaprav ve, kaj ta izraz predstavlja oz. kaj pomeni. Veliko je takšnih, ki si pojem razlagajo kot nekakšno novo različico svetovnega spleta, kot je to običaj pri programski opremi. Nekateri ga interpretirajo kot novo spletno tehnologijo, ali pa ga zamenjujejo s komponento AJAX. Web 2.0 v resnici predstavlja drugo generacijo spleta. Ne gre niti za tehnologijo, še manj za proces, ampak za skupek spletnih tehnologij, načel in primerov, od katerih pa noben ne more biti ločnica med starim in novim spletom. Ime Web 2.0 je bilo skovano leta 2004, ko so predstavniki O'Reilly Media Inc. in MediaLive International diskutirali o morebitnih bodočih konferencah, kjer bi govorili o spletu [25]. Skušali so poimenovati množico novih trendov, ki so skozi čas nastajali ob njegovi uporabi. Jasno je bilo, da vsebino čedalje bolj oblikujejo uporabniki sami, da se posledično obseg informacij eksponentno veča, da se v spletu oblikujejo posamezne skupnosti itd., zato je bil korak k novi verziji spleta še toliko bolj smiseln. Kasneje so podjetja ime začela izkoriščati v komercialne namene in se z njim kitila, čeprav za svoja dejanja niso imela nikakršne podlage. Izgovarjala so se na nejasno predstavo novega spleta. Tako je nastal članek, ki s praktičnimi primeri in vzorci razjasnjuje pomen Web 2.0 [26], kjer se opira na sedem načel: 1. Splet predstavlja računalniško okolje (ang. platform), ki bo sčasoma popolnoma nadomestilo obstoječa okolja. Namizne aplikacije se bodo oz. se že selijo v splet. S storitvami, kot je Google Docs, kjer je mogoče izdelovati, shranjevati in izmenjevati tekstovne dokumente in preglednice, je eden izmed takšnih primerov. Obstaja pa tudi že kar nekaj t.i. spletnih namizij ( kjer uporabnik za delo z računalnikom potrebuje le sodoben spletni brskalnik. 2. Ključ do uspešne storitve je prijaznost do uporabnika. Namizne aplikacije težko zadovoljijo vse njihove potrebe, v spletu pa je mogoče enostavno analizirati posameznega uporabnika in mu tako ponuditi ustrezno vsebino. Poleg tega mu je

54 Praktični primer uporabe spletnih sestavljank 44 več ali manj omogočeno sooblikovanje vsebin, kar mu daje občutek pomembnosti. Lahko bi rekli, da je v novem spletu uporabnik kralj. 3. Podatke dodajajo in spreminjajo uporabniki, tako vsaka sodobna storitev temelji na obsežnih podatkovnih bazah. Takšen trend je privedel do storitev, ki so brez podatkov povsem neuporabne, prav tako tudi podatki brez poslovne logike nimajo nobene vrednosti. Poraja se vprašanje o lastništvu podatkov in pravicah do njihove uporabe, vsi pa si želimo, da bi lahko vse informacije preprosto prenašali od storitve do storitve, kar na nek način že počnemo pri sestavljankah. 4. Programska oprema ni več dana v uporabo kot produkt, temveč kot storitev. Tako je postopek nadgradnje precej enostaven s strani razvijalcev, poleg tega pa lahko spremljajo dejanja uporabnikov in na podlagi odzivov reagirajo. Te storitve so ponavadi odprtokodne, zato jih lahko kdorkoli sooblikuje. Temu primerno se večkrat naloži nova verzija, ki vsebuje kakšen popravek, nemalo krat pa tudi dodatno funkcionalnost. To je tudi vzrok da se takšnih storitev že več let drži naziv beta različice. 5. Uporabljajo se enostavni programski modeli, ki so odprti za javnost. Spletne storitve so primerne pri poslovanju, med tem ko so za lansiranje javnih vsebin preveč zapletene zaradi šifriranja in protokola SOAP, na katerem temeljijo. Za podajanje javnih informacij je enostavneje uporabiti sicer nič kaj varno, vendar preprosto prenašanje XML dokumentov preko HTML protokola. Tako je mogoče enostavno priti do podatkov in jih ponovno uporabiti. 6. Vsebine se pretakajo med različnimi napravami. Tukaj je predvsem poudarek na telefonih, dlančnikih in ostalih prenosnih napravah. V večini je že mogoče brskati po spletu, vendar je tukaj še veliko rezerv in priložnosti, saj bi lahko bile naprave še bolj medsebojno povezane. Ko bodo naprave ne le sprejemale, pač pa tudi oddajale informacije, ki jih zaznavajo, takrat bodo omogočene storitve kot je npr. spremljanje prometa v realnem času.

55 Praktični primer uporabe spletnih sestavljank Spletni uporabniški vmesniki so vse bolj podobni tistim namiznim. Glavni vzrok se skriva v uporabnikih, ki imajo z namiznimi vmesniki že veliko izkušenj in se niso pripravljeni spopadati z novimi oblikami. Spletni vmesniki zato temeljijo večinoma na Adobe-ovi tehnologiji Flash, skriptnih jezikih in tehniki AJAX. Današnja doba spleta se od nekdanje močno razlikuje. Največ sprememb lahko opazimo pri sami uporabi storitev, ki so na voljo. Danes si težko predstavljamo splet brez forumov, blogov, RSS virov ipd. Nekaj tipičnih storitev, na katere smo se hitro privadili, opisuje tabela 4.1. Tabela 4.1: Tipične Web 2.0 storitve Storitev Spletni dnevniki Wiki Označbe in družbeni zaznamki Opis Spletni dnevniki (ang. Web log ali krajše blog) so navadne spletne strani, kjer lastniki skozi kratke zapise izražajo svoja mnenja, podajajo informacije in pišejo lastna doživetja, ostali uporabniki pa jih po objavi komentirajo. Ti zapisi so kronološko urejeni, tako da je nazadnje dodan zapis prvi prikazan. Je strežniška aplikacija, namenjena upravljanju spletnih vsebin. Te vsebine lahko ustvarja in ureja kdorkoli, med seboj pa so povezane s hiperpovezavami. Najbolj znan tak sistem je prosta enciklopedija Wikipedia. Z označbami (ang. tags) lahko dodatno opremimo vsebine in jim tako nadenemo določeno lastnost (npr. slikam lahko dodamo kraj in čas nastanka). Družbeni zaznamki (ang. social bookmarks) pa so podobni tistim

56 Praktični primer uporabe spletnih sestavljank 46 zaznamkom, ki jih shranjujemo znotraj brskalnikov. Razlika je v tem, da družbene zaznamke shranjujemo v spletu, kjer jih kasneje delimo z ostalimi uporabniki, še pred tem pa jih lahko opremimo z označbami, zaradi katerih iskanje postane enostavnejše, prav tako pa je preprosto razbrati, kako pogosto se posamezne označbe pojavljajo. Izmenjava multimedijskih vsebin Avdio spletni dnevniki RSS Predstavlja izmenjavo slik (Flickr), video posnetkov (YouTube) in podcastov (Odeo). Te storitve so navdušile številne uporabnike, saj ti niso le odjemalci, temveč jim je omogočeno tudi nalaganje multimedijskih vsebin. To so pravzaprav podcasti, vendar ne kakršnikoli. Gre za pogovore, intervjuje in predavanja, ki so posneti in shranjeni v MP3 formatu. Temelji na XML tehnologiji in omogoča prejemanje vsebin, na katere se naprej naročimo. Tako nam ni potrebno pregledovati spletnih strani in čakati, da se bo pojavila kakšna nova informacija, saj se ta ob objavi takoj prenese v za to namenjenega odjemalca. Čeprav se javnost še ni privadila na drugo generacijo spleta, se že govori o tretji generaciji oz. Web 3.0. Verjetno bo preteklo še veliko vode, preden se bo splet razvil v tretjo različico, pa vendar se že ugiba, kaj bo prinesel. Aplikacije bodo temeljile na vse bolj obsežnih podatkovnih bazah, ki bodo zasnovane na označbah. Razvil se bo t.i. semantični splet, kjer bodo spletno vsebino lahko»brali«ne le ljudje, pač pa tudi računalniki, ki bodo kasneje taisto vsebino povezovali in jo ponujali končnim uporabnikom.

57 Praktični primer uporabe spletnih sestavljank Ogrodje.NET V Wikipedii se pod geslom ogrodje.net skriva naslednja razlaga [42]:»Ogrodje.NET je Microsoftova programska komponenta, ki jo lahko dodamo ali pa je že vključena v operacijski sistem Microsoft Windows. Ponuja množico programskih rešitev za potrebe programskega razvoja in skrbi za izvajanje zanj napisanih programov. Namenjeno je uporabi novejših aplikacij v okolju Windows.«V začetku so pri Microsoftu hoteli razviti ogrodje, ki bi delovalo v vseh okoljih, neodvisno od operacijskega sistema. Tako bi lahko enkrat napisano kodo brez spreminjanja poganjali v vseh operacijskih sistemih. Vendar se to ni nikdar uresničilo, čeprav so bili za sisteme, ki niso v Microsoftovi lasti, razvite določene komponente ogrodja, rešitve skoraj nihče ni uporabljal, zato ostajajo dvomi, da bo ta del razvoja sploh kdaj zaključen. Microsoft z ogrodjem.net ponuja že izdelane komponente, ki olajšujejo in posledično skrajšujejo razvoj aplikacij. Rešitve pri delu z uporabniškimi vmesniki, podatki, varnostjo, spletnimi storitvami in podobno poenostavljajo delo razvijalcem. Ti morajo pri razvoju novih programov le izbrati ustrezne ponujene rešitve in jih dopolniti z lastno kodo. Najbolj pomemben del ogrodja je skupno izvajalno okolje za programske jezike (ang. Common Language Runtime - CLR). Ta skrbi za prevajanje, hkrati pa med izvajanjem opravlja naloge kot so upravljanje varnosti, prestrezanje izjem (ang. Exception Handling), sproščanje pomnilnika (ang. Garbage Collection), delo z nitmi ipd. Če pogledamo kako v celoti poteka prevajanje, takoj opazimo netipično lastnost - izvorna koda se ne prevede neposredno v strojno kodo, temveč v vmesno kodo (ang. Intermediate Language code IL code), ki se lahko kasneje izvede dejansko povsod, kjer je zagotovljen CLR (Slika 4.1). Vmesni kodi se dodajo meta podatki, vse skupaj pa se nato prevede v strojno kodo s pomočjo JIT (Just In Time) prevajalnika, ki se sproži pred prvim izvajanjem.

58 Praktični primer uporabe spletnih sestavljank 48 Slika 4.1: Potek prevajanja programske kode v strojno kodo Z vmesno kodo ogrodje ponuja zelo priljubljeno lastnost med programerji - integracijo programskih jezikov. To pomeni, da je izvorno kodo mogoče napisati v poljubnem jeziku, če se ga le kasneje da prevesti v vmesno kodo. Knjižnice, ki jih ponuja ogrodje, so s tem uporabne v številnih programskih jezikih, ti pa lahko tudi med seboj sodelujejo. Rezultat vsega tega je splošna uporabnost knjižnic in razredov, napisanih v enem od programskih jezikov. Ti jeziki morajo zadoščati zahtevam sistema skupnih tipov (ang. Common Type System - CTS), ali drugače, ti jeziki morajo imeti enotne koncepte glede razredov, vmesnikov, delegatov, referenčnih in podatkovnih tipov [27]. Še bolj na široko so zastavljene specifikacije skupnih jezikov (ang. Common Language Specification - CLS). Te poleg CTS zajemajo še nekaj drugih pravil, ki se tičejo tudi posameznih prevajalnikov jezikov.

59 Praktični primer uporabe spletnih sestavljank 49 Kot že rečeno je vmesna koda za vse jezike, skladne z ogrodjem.net, enaka. Tako se primera izpisa»pozdravljen svet«v VB.NET in jeziku C#, prevedeta v isto vmesno kodo (Tabela 4.2). Tabela 4.2: Vmesna koda za primer»pozdravljen svet«svet!«); using System; public class Pozdrav { } public static void Main() { } Console.WriteLine(»Pozdravljen svet!") Imports System Public Module Pozdrav Public Sub Main() Console.WriteLine ("Pozdravljen End Sub End Module.method public hidebysig static void Main(string[] args) cil managed {.entrypoint // Code size 13 (0xd).maxstack 8 IL_0000: nop IL_0001: ldstr "Pozdravljen svet!" IL_0006: call void [mscorlib]system.console::writeline(string) IL_000b: nop IL_000c: ret } // end of method Pozdrav::Main.method public hidebysig specialname rtspecialname instance void.ctor() cil managed { // Code size 7 (0x7).maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]system.object::.ctor() IL_0006: ret } // end of method Pozdrav::.ctor.class public auto ansi beforefieldinit Pozdrav extends [mscorlib]system.object { } // end of class Pozdrav

60 Praktični primer uporabe spletnih sestavljank 50 Ogrodje.NET je mogoče namestiti v vsako od različic Microsoft Windows operacijskega sistema, v nekaterih različicah pa je že vključeno (Server 2003, Server 2008 in Vista) JavaScript JavaScript je skriptni jezik, ki se izvaja v spletnih brskalnikih. Prva različica je bila izdana leta 1995 pod imenom LiveScript, kasneje so zaradi takratne popularnosti programskega jezika Java ime spremenili v JavaScript. Prvotno je bil vgrajen le v brskalnik Netscape Navigator, pri Microsoftu pa so s posnemanjem ideje izdali svoj skriptni jezik Jscript [28]. Danes je JavaScript podprt v vseh znanih brskalnikih in tudi najbolj priljubljen med obstoječimi skriptnimi jeziki. Jezik je zelo podoben programskim jezikom Java in C++, vendar je v primerjavi s slednjima nekoliko okrnjen in poenostavljen. Primeren je za učenje iz programiranja, saj med drugim v njem ni potrebno definirati tipov spremenljivk, pa tudi izvajalno okolje (brskalnik) se uporablja v vsakdanjem življenju. Za naprednejše programiranje se uporablja objektni model dokumenta, ki je opisan v naslednjem podpoglavju, in funkcije, ki razvijalcem olajšujejo delo Model DOM DOM je kratica za objektni model dokumenta (ang. Document Object Model). Predstavlja od platforme in jezika neodvisen vmesnik, ki zagotavlja urejanje vsebin, struktur ter slogov znotraj posameznega dokumenta [11]. Namenjen je predvsem XML dokumentom, v katerih so podatki strukturirani po določenih standardih. Podatki iz dokumenta, tukaj mislimo na elemente, atribute in tekst, so v modelu DOM predstavljeni kot vozlišča v drevesu (Slika 4.2). Na vrhu drevesa se nahaja korenski element dokumenta, pod njim pa so po hierarhiji urejena ostala vozlišča. Vozlišča, ki se v drevesu nahajajo pod trenutnim vozliščem, se imenujejo potomci. Vsako vozlišče ima enega starša in enega ali več otrok. Izjeme so korenski elementi, ki so brez

61 Praktični primer uporabe spletnih sestavljank 51 staršev in listi, ki nimajo otrok. Za vozlišča, ki imajo skupnega starša, pa pravimo da so v sorodu. Slika 4.2: Struktura DOM drevesa (prirejeno po [30]) Za delo z vozlišči imamo na voljo različne ukaze. Najbolj tipični so: - documentelement, ki vrača korenski element, - getelementbyid na podlagi identifikacijskega niza poišče element pod trenutnim vozliščem in ga vrne, - getelementsbytagname na podlagi imena vrača seznam elementov, - nodename, nodetype in nodevalue vračajo ime, tip ter vrednost trenutnega vozlišča, - parentnode vrača starša trenutnega vozlišča, - childnodes vrača seznam vozlišč, ki se nahajajo tik pod trenutnim vozliščem, - firstchild in lastchild, ki vračata prvo in zadnjo vozlišče v seznamu vozlišč, - getattribute poimensko vrača atribute trenutnega elementa. Model DOM se uporablja tudi za doseganje HTML elementov. Tako lahko s pomočjo javascripta dinamično spreminjamo strukturo HTML dokumenta. Najbolj pomemben je

62 Praktični primer uporabe spletnih sestavljank 52 element Document, ki predstavlja celoten HTML dokument ter omogoča dostop do vseh ostalih HTML elementov Jezik XSLT Vsak XML dokument ima svojo strukturo, ki jo ponavadi določa shema. Po njej se dokumenti med seboj razlikujejo, pa čeprav vsebujejo enake podatke ali pa je enak vsaj del teh. Včasih pa bi podatke iz obstoječega dokumenta potrebovali, vendar ne v takšni obliki, v kakršni je uporabljen dokument. Tukaj si lahko pomagamo s transformacijami, ki jih ponuja jezik XSLT (ang. Extensible Stylesheet Language Transformations). XSLT je jezik za transformacijo dokumentov XML [29]. Z njim je mogoče pretvoriti obstoječ XML dokument v nov XML dokument ali pa celo v nek drug označevalni jezik. Uporabimo ga lahko, kadar želimo elemente in atribute obstoječega dokumenta urediti po nekem vrstnem redu, kakšnega izpustiti ali pa dodati. XSLT pri pretvarjanju uporablja jezik XPath, s katerim naslavlja elemente v XML dokumentu. Ti so v XPath predstavljeni kot vozlišča v DOM drevesu, zato pogosto tudi rečemo, da XSLT pretvarja izvorno drevo v ciljno drevo (Slika 4.3) [29]. Slika 4.3: Pretvorba izvornega drevesa v ciljno drevo (prirejeno po [29])

63 Praktični primer uporabe spletnih sestavljank Razvoj rešitve Aplikacija je izdelana na primeru zavarovalništva, vendar je prilagodljiva tudi za druge poslovne modele. Delo v zavarovalnici je poznano širšemu krogu ljudi, kot tudi podatki, ki se uporabljajo znotraj takšnega poslovanja. Zaradi lažjega razumevanja tehničnega dela rešitve vsebuje primer okrnjen nabor podatkov in poslovnih storitev. Končna rešitev (Slika 4.4) je pravzaprav prototip oz. model tistega, kar bi lahko olajšalo in pohitrilo proces dela. Slika 4.4: Končna rešitev Znotraj strežnika MOSS smo s pomočjo interaktivnih spletnih gradnikov razvili spletno aplikacijo, ki kot sestavljanka na podlagi združevanja podatkov uporabniku ponuja nove informacije. Aplikacija je izdelana na primeru zavarovalništva in sicer za potrebe zaposlenih, ki imajo s tem boljši pregled nad podatki. Razvili smo tri spletne gradnike, med katerimi najpomembnejšo vlogo predstavlja ponudnik, brez katerega je aplikacija neuporabna. Ta namreč daje na razpolago podatke, ki jih z metodo povleci-spusti prenašamo k porabniškima gradnikoma. Osnovni vir

64 Praktični primer uporabe spletnih sestavljank 54 prenesenih podatkov so XML dokumenti, ki so shranjeni v knjižnici skupnih dokumentov, prenašamo pa lahko tudi le logično zaključene dele teh XML dokumentov. Tako porabniška gradnika z obdelavo prenesenih dokumentov oz. njihovih delov izluščita potrebne informacije in jih ustrezno prikažeta. Eden prikazuje v tabelo urejene preseke prenesenih podatkov, drugi pa taiste podatke prikaže bolj podrobno. Osnova je strežnik SharePoint in na njem zgrajeno spletišče, imenovano Zavarovalnica. Za to spletišče smo izbrali predlogo skupinske strani. Ker se večji del rešitve nahaja znotraj spletne strani, smo jo morali najprej izdelati. Uporabili smo strukturo strani za dodajanje spletnih gradnikov. Ta je zgrajena iz območij glave, noge, levega in desnega stolpca ter treh območij sredi strani. Poimenovali smo jo Pregled in jo shranili v knjižnico skupnih dokumentov (ang. Shared Documents). V njej je shranjen tudi del datotek, ki je uporabljen znotraj aplikacije. Drugi del, ki ni namenjen urejanju, se nahaja v virtualnem direktoriju na disku. Ko je bilo postavljeno ogrodje aplikacije, smo lahko pričeli razvijati spletne gradnike. Za razvoj smo uporabljali orodje Microsoft Visual Studio in programski jezik C#. Ustvarili smo tri razrede ter jih z nadrazredom System.Web.UI.WebControls.WebParts.WebPart označili kot spletne gradnike. Prvemu smo namenili vlogo ponudnika in ga poimenovali ProviderPart, ostala dva pa smo označili kot porabnika z imenom ConsumerPart in DetailsPart. Da lahko med ponudnikom in porabnikoma vzpostavimo povezavo, smo morali izdelati vmesnik IDocumentInfo. V njem smo definirali lastnosti documentname in consumerid, ki sta obe tipa string. Povezani gradniki komunicirajo tako, da ponudnik, ki vmesnik implementira, preko lastnosti porabnikom sporoča, kateremu od njih je namenjen kakšen podatek Ponudniški gradnik Spletni gradnik ProviderPart, ki deluje kot ponudnik, mora podatke za prenos nekje pridobiti. Ti so shranjeni v knjižnici Shared Documents, kjer jih lahko odstranjujemo, dodajamo in urejamo. Torej statična povezava do njih ne bi bila primerna, saj bi jo morali z vsako spremembo v knjižnici ročno popravljati. Tako smo si pomagali s podatkovno bazo,

65 Praktični primer uporabe spletnih sestavljank 55 kamor strežnik MOSS shranjuje vse informacije, kar se tiče strani, knjižnic, datotek in ostalih vsebin. Od tam znotraj spletnega gradnika preberemo, katere od datotek iz skupnih dokumentov so relevantne za našo rešitev, in jih v metodi Render s pomočjo tabele izpišemo. Najprej smo morali definirati niz za vzpostavitev povezave, ki je sestavljen iz različnih parametrov: - Data source = server\\officeservers, s katerim povedali, na katerem strežniku se nahaja želena podatkovna baza, - Initial catalog = WSS_Content, s katerim smo nastavili ime podatkovne baze na katero se povezujemo ter - Integrated Security, s čimer smo opredelili varnost. V primeru, da bi podatkovni strežnik za dostop zahteval overitev, bi bilo potrebno dodati še parametra User ID za uporabniško ime in Password za geslo. Povezava s podatkovnimi bazami iz spletnih gradnikov je zaradi varnostnih razlogov privzeto onemogočena. Omogočili smo jo tako, da smo popravili konfiguracijsko datoteko wss_minimaltrust.config. V njej smo označbo SecurityClasses dopolnili z <SecurityClass Name="SqlClientPermission" Description="System.Data.SqlClient.SqlClientPermission, System.Data, Version= , Culture=neutral, PublicKeyToken=b77a5c561934e089"/>, označbo PermissionSet pa z <IPermission class="sqlclientpermission" version="1" Unrestricted="true" />. Z zgoraj opisano rešitvijo se sicer lahko povežemo na podatkovno bazo, a le s skrbniškim uporabniškim računom. Razen skrbnikov mora vsak uporabnik, ki želi

66 Praktični primer uporabe spletnih sestavljank 56 uporabljati aplikacijo, biti član skupine SQLServer2005MSSQLUser$SERVER$OFFICESERVERS, kjer je SERVER ime fizičnega, OFFICESERVERS pa logičnega strežnika podatkovne baze. Podatki, ki jih shranjuje strežnik MOSS, so v podatkovni bazi urejeni po tabelah. Vsebine in ostale podatke datotek najdemo v tabeli AllDocs. Tukaj se skrivajo podatki, kot so ime, tip ter velikost datoteke, ime knjižnice, kateri datoteka pripada ipd. Niz, s katerim v aplikaciji povprašujemo po podatkovni bazi, prikazuje primer kode 4.1. SELECT Id,LeafName FROM AllDocs WHERE (Extension = 'xml') AND (DirName = 'Shared Documents') Primer kode 4.1: SQL stavek, s katerim pridobivamo ustrezne podatke Z zgornjim nizom izluščimo identifikacijski niz in celotno ime XML dokumentov, ki se nahajajo znotraj knjižnice Shared Documents. Pridobljene podatke smo morali nekako prikazati, za kar smo uporabili HTML in CSS. Dokumenti so urejene v tabeli, ta pa je umeščena znotraj div elementa, ki smo mu omejili višino, tako da ob večjem številu prikažemo le nekaj dokumentov, ostale pa dosežemo z drsnikom. Pod tem elementom se nahaja še en div element, v katerem pa se prikazujejo razdelani podatki iz XML dokumentov. Elementi, ki znotraj tabel predstavljajo prenosljive podatke, morajo vsebovati lastnost class z vrednostjo dragable. Opremljeni so tudi z lastnostjo id, ki omogoča razločevanje prenosljivih podatkov. Njena vrednost ni nič drugega kot ime dokumenta, ko pa gre le za del dokumenta je imenu dodan še znak # in identifikacijska številka tega dela. Vsebino elementov predstavljajo ikone, ki so shranjene v virtualnem direktoriju ter imena dokumentov oz. lastnosti njihovih delov. Za vizualni prenos podatkov s pomočjo metode povleci-spusti smo uporabili kombinacijo tehnologij javascript, HTML in HTML DOM. Kot osnovo smo uporabili element div (v nadaljevanju nosilec), na katerega»prilepimo«podatke in ga vlečemo po zaslonu. Njegov id ima vrednost carrier nastavili pa smo mu tudi nekaj slogovnih parametrov (Primer kode 4.2).

67 Praktični primer uporabe spletnih sestavljank 57 <div id='carrier' style='position:absolute; height:22; width:200; background-color:gold; border:1px solid #c0c0c0; z-index:100; visibility:hidden; filter:alpha(opacity = 60) shadow(color:#c0c0c0, strenght:5, direction:315);'></div> Primer kode 4.2: Definicija nosilca Postavitev je absolutna, kar pomeni da je izhodišče koordinatnega sistema nosilca postavljena v zgornji levi kot ekrana, definirana pa je tudi postavitev glede na z koordinato, s čimer se vedno nahaja nad ostalo vsebino. Zanimiva sta še parametra vidnost, s katerim je nosilec privzeto neviden ter prosojnost, sicer pa so določeni še višina, širina, barva ozadja in obroba nosilca. Metodo povleci-spusti smo implementirali s pomočjo jezika javascript. Na začetku smo definirali nekaj globalnih spremenljivk, ki so pomembne pri nadaljnjem razumevanju (Tabela 4.3). Tabela 4.3: Seznam spremenljivk Spremenljivka isdrag dobj dropzone element Opis Logična spremenljivka, ki je na začetku postavljena na false. Vselej nosi informacijo, ali je kakšen podatek v stanju vlečenja. Sem se shrani element, nad katerim je bil izveden pritisk leve miškine tipke in je hkrati označen kot prenosni element. Sem se v stanju vlečenja shranjujejo območja, ki so potencialna za odložitev vlečenega elementa (v nadaljevanju odložišče). Vsakič, ko je miškin kazalec nad odložiščem, se v spremenljivko shrani element, ki to odložišče določa. Ta spremenljivka med vlečenjem shranjuje najvišje postavljene HTML elemente. Uporabljena je tudi v primerih, ko se preverja, ali je element postavljen v odložišče.

68 Praktični primer uporabe spletnih sestavljank 58 carier V to spremenljivko se ob pritisku na levo miškino tipko priredi nosilec. Da smo dosegli želeno obnašanje, smo implementirali tri funkcije, ki jih prožijo predvsem dogodki pritisk in sprostitev leve miškine tipke ter premikanje miškinega kazalca. Ob pritisku se izvede funkcija selectmouse (Primer kode 4.3). Znotraj te funkcije se sprva preveri, ali je pritisnjen element označen kot prenosni. Če to drži, se spremenljivki isdrag priredi logična vrednost true, spremenljivka dobj pa dobi vrednost elementa nad katerim je bil prožen dogodek. Vsebina dobj se nato prenese v vsebino nosilca, določi pa se še, da se ob premikih miškinega kazalca izvede funkcija movemouse. Vmes se v if stavku preveri, ali je bil dogodek prožen nad kakšnim razdelanim podatkom iz dokumenta, ali nad celotnim dokumentom in se v primeru slednjega kliče funkcija showdetails, kar si bomo ogledali malo kasneje. function selectmouse(e) { carrier = document.getelementbyid('carrier'); var evt = e window.event; var fobj = evt.srcelement; if (fobj.classname=='dragme') { isdrag = true; dobj = fobj; if (dobj.id.match('xml#') == null) showdetails(dobj); carrier.innerhtml = dobj.innerhtml; document.onmousemove=movemouse; return false; } } Primer kode 4.3: Funkcija selectmouse

69 Praktični primer uporabe spletnih sestavljank 59 Funkcija movemouse (Primer kode 4.4) se med vlečenjem kliče ob vsakem premiku miškinega kazalca. Pri tem nosilec postane viden, spremeni pa se tudi njegova pozicija in sicer tako, da je odmaknjen desno spodaj od miškinega kazalca. Nato se preverja, ali se kazalec nahaja nad odlagališčem. Temu primerno se odlagališčem spreminjajo robovi, ki ponazarjajo, ali je vlečeni element mogoče odložiti. Kadar je odlagališče obrobljeno z zlato barvo, to pomeni, da je vlečeni element vanj mogoče odložiti, kadar pa to ni mogoče je rob odlagališča rdeč. Sicer je rob odlagališča črn, ali pa ga sploh ni. function movemouse(e) { var evt = e window.event; if (isdrag) { carrier.style.visibility = 'visible'; carrier.style.top = evt.clienty + document.body.scrolltop 'px'; carrier.style.left = evt.clientx + document.body.scrollleft 'px'; if (!evt.srcelement) { if (dropzone!= null) { dropzone.style.border = '0px solid black'; dropzone = null; } } else { element = evt.srcelement; while(element.tagname!= 'HTML') { if (element.id.match('dropzone')) { dropzone = element; dropzone.style.border = '1px solid gold'; break; } else if (element.id.match('detailsdropzone')) { dropzone = element; if (dobj.id.match('xml#')) dropzone.style.border = '1px solid gold'; else dropzone.style.border = '1px solid red'; break; } element = element.parentnode; } if (element.tagname == 'HTML' && dropzone!= null) { if (dropzone.id.match('detailsdropzone'))

70 Praktični primer uporabe spletnih sestavljank 60 } } dropzone.style.border = '1px solid black'; else dropzone.style.border = '0px solid black'; dropzone = null; } } return false; Primer kode 4.4: Funkcija movemouse Zadnja v metodi povleci-spusti je funkcija releasemouse (Primer kode 4.5). Ta se izvede ob sprostitvi leve miškine tipke. Sprva se preveri, ali je bila tipka sproščena ko se je miškin kazalec nahajal nad ustreznim odlagališčem. V tem primeru se pokliče vgrajena funkcija dopostback, ki poskrbi da se argumenta eventtarget in eventargument preneseta na strežnik, kjer sta obdelana podobno kot skrita polja pri obrazcih. Preko teh dveh argumentov sta poslana id odlagališča, kamor je bil vlečeni element odložen ter id tega elementa. Če element skušamo odložiti izven odlagališča, ali pa je to neprimerno, postane nosilec neviden, s tem pa se metoda zaključi. function releasemouse(e) { var evt = e window.event; isdrag = false; } if (dropzone!= null) { if (dropzone.id.match('detailsdropzone') && dobj.id.match('xml#') == null) { carrier.style.visibility = 'hidden'; dropzone.style.border = '1px solid black'; } else dopostback(dropzone.id,dobj.id); } else { carrier.style.visibility = 'hidden'; } Primer kode 4.5: Funkcija releasemouse

71 Praktični primer uporabe spletnih sestavljank 61 Funkcija showdetails, ki je klicana ob pritisku na dokument, omogoča prikaz določenih delov dokumenta v urejenem zaporedju. Urejen prikaz smo dosegli s pomočjo jezika XSLT, ki preoblikuje dokument, kateri je funkciji posredovan kot vhodni parameter. Pretvorba posredovanega dokumenta poteka na osnovi ene izmed XSLT datotek, shranjenih v virtualnem direktoriju (Primer kode 4.6). V primerih, ko je posredovan dokument zavarovalnih agentov oz. zavarovancev, se naloži datoteka priimek.xslt, kadar pa je potrebno pretvoriti dokument, ki shranjuje podatke o zavarovalnih policah, se uporabi datoteka polica.xslt. Te datoteke so namenjene le urejanju zaporedja znotraj posredovanih dokumentov. Nato nastopi XML DOM, ki se sprehodi skozi pretvorjen dokument in vrača njegove podatke, ki se izpišejo v tabelo. if (data.documentelement.nodename == 'zavarovalniagenti') { xsldoc.load('../wpresources/priimek.xslt'); data.transformnodetoobject(xsldoc, data); var root = data.documentelement; for (var i=root.firstchild; i!= root.lastchild+1; i = i.nextsibling) { nodes = i.childnodes; innerhtml += "<tr><td> <p class='dragme' id='"+dobj.id+"#"+i.getattribute('id')+"' style='background-color:#f0f0f0; cursor:move;'>" + nodes.item(1).text + " " + nodes.item(0).text + " </p> </td></tr>"; } } Primer kode 4.6: Urejanje podatkov posredovanega XML dokumenta Najpomembnejši del ponudnika je metoda za povezovanje s porabniki. Označena je z lastnostjo ConnectionProvider, ki vsebuje ime in id, s katerima je gradnik prikazan. Metoda preveri, ali so bili s pomočjo javascripta posredovani kakšni parametri ter jih priredi lokalnima spremenljivkama documentid in consumerid, te pa na osnovi vmesnika IDocumentInfo pošlje vsem povezanim porabniškim spletnim gradnikom.

72 Praktični primer uporabe spletnih sestavljank Porabniški gradnik Ta gradnik zna iz pridobljenih podatkov narediti preseke in jih prikazati. Z njim je mogoče na enostaven način povpraševati po podatkih iz dokumentov in njihovih delov, katere zagotavlja ponudnik. Gradnik preko povezave s ponudnikom poleg identifikacijskega niza porabnika pridobiva tudi identifikacijski niz dokumenta oz. njegovega dela. Ta niz se z vsakim prenosom osveži, tako se podatki prejšnjih prenosov izgubljajo. Da se to ne bi dogajalo, jih moramo nekam shranjevati, zato smo v ta namen uporabili spletne seje. Ob vsakem prenosu se v spletno sejo shrani ime podatka pod zaporedno številko, ki je obogatena še z identifikatorjem spletnega gradnika, kateremu je prenesen podatek namenjen. Tega smo dodali zato, ker se vsi prenosi različnih gradnikov shranjujejo v isto sejo, iz katere želimo v posameznem gradniku izluščiti le njemu namenjene podatke. Še preden gradniki razreda ConsumerPart preverijo, ali jim je bil namenjen kakšen podatek, se vsi njim namenjeni podatki iz seje prenesejo v podatkovno strukturo documents, ki je tipa ArrayList. Ti podatki se glede na vsebino kasneje še naprej razdelijo v enake takšne podatkovne strukture, tako so na koncu razdeljeni na seznam dokumentov agentov, seznam posameznih agentov, seznam dokumentov zavarovancev itd. S to razdelitvijo ima spletni gradnik zagotovljen enostaven dostop do svojih podatkov, brez kakršnegakoli iskanja po seji. Zaradi možnosti večjega števila spletnih gradnikov tipa ConsumerPart, morajo biti, tako kot podatki v seji, z identifikatorji gradnikov označene vse spremenljivke in funkcije, ki so implementirane v jeziku javascript. V nasprotnem primeru bi bila ista funkcija definirana večkrat, pri spremenljivkah pa se poleg tega niti ne bi vedelo kakšne vrednosti zavzemajo, saj bi se te iz strani različnih gradnikov venomer spreminjale. Presek podatkov se izvede tako, da se najprej preveri, kateri dokumenti ter deli dokumentov so bili preneseni v spletni gradnik. Ti se znotraj jezika javascript s pomočjo XML DOM obdelajo, tako da se njihovi podatki med seboj združijo v nov XML

73 Praktični primer uporabe spletnih sestavljank 63 dokument. Ta se nato z XSLT preoblikuje, da je urejen po določenem ključu, in s klicem funkcije write v javascriptu izpiše. Podatke v tabeli, ki prikazuje presek, je mogoče dinamično urejati s pritiski leve miškine tipke po vrhu stolpcev. Tako jih lahko uredimo po stolpcih kot je ime, priimek, številka police, znesek itd. Da je to mogoče, smo v javascriptu implementirali funkcijo sort (Primer kode 4.7). Ta s pomočjo XSLT transformacij, preoblikuje XML dokument, ki je bil izdelan ob izvedbi presekov. Za transformacijo iz virtualnega direktorija naloži XSLT datoteko, ki jo izbere na podlagi vrednosti pritisnjenega stolpca. function sort_" + this.id + "(e) { var evt = e window.event; var cobj = evt.srcelement; if (cobj.id.match('st.police')) xsldoc_" + this.id + ".load('../wpresources/polica.xslt'); else if (cobj.id.match('zavarovanec')) xsldoc_" + this.id + ".load('../wpresources/zavarovanec.xslt'); else if (cobj.id.match('agent')) xsldoc_" + this.id + ".load('../wpresources/agent.xslt'); else if (cobj.id.match('priimek')) xsldoc_" + this.id + ".load('../wpresources/priimek.xslt'); else if (cobj.id.match('ime')) xsldoc_" + this.id + ".load('../wpresources/ime.xslt'); else if (cobj.id.match('telefon')) xsldoc_" + this.id + ".load('../wpresources/telefon.xslt'); else if (cobj.id.match('emso')) " + xsldoc_" + this.id + ".load('../wpresources/emso.xslt'); else if (cobj.id.match('znesek')) xsldoc_" + this.id + ".load('../wpresources/znesek.xslt'); else if (cobj.id.match('avto')) xsldoc_" + this.id + ".load('../wpresources/avto.xslt'); " + temp_" + this.id + ".transformnodetoobject(xsldoc_" + this.id + ", result_" + this.id + "); write_" + this.id + "(); } Primer kode 4.7: Funkcija sort V gradnik je vgrajen tudi gumb, ki ob pritisku v seji pobriše vse podatke, ki so bili namenjeni njemu ter s tem počisti vsebino.

74 Praktični primer uporabe spletnih sestavljank Gradnik za prikaz podrobnosti Ponudnik zagotavlja veliko podatkov, ki imajo nek dodaten pomen. Tak primer je naslov, katerega lahko uporabimo tudi drugače, kot le za izpis. Lahko ga prikažemo na zemljevidu, kot to omogočajo razni sistemi sestavljank. Prav takšno uporabo zagotavljajo spletni gradniki iz razreda DetailsPart. Obnašanje tega gradnika je odvisno od podatka, ki je vanj prenesen. Če vanj prenesemo del iz dokumenta zavarovancev, nam na zemljevidu prikaže, kje ta zavarovanec stanuje, za del iz dokumenta avtomobilskih zavarovanj nam prikaže vse podatke zavarovanega avtomobila, če pa vanj povlečemo del iz dokumenta zavarovalnih agentov, nam prikaže agentovo statistiko (Slika 4.5). Ostale podatke, ki predstavljajo celotne dokumente gladko zavrača. Slika 4.5: Gradnik za prikaz podrobnosti ob treh različnih scenarijih

75 Praktični primer uporabe spletnih sestavljank 65 Za prikaz zemljevida in podatkov o avtomobilu smo uporabili HTML element iframe, ki je v omejenem prostoru sposoben prikazovati vsebino drugih spletnih strani, in portal Najdi.si, kjer lahko med drugim brskamo po zemljevidu in bazi avtomobilov. Ob vsakem prenosu zavarovanca se elementu iframe v URL doda naslov. Če želimo prikazati lokacijo naslova Smetanova 17, Maribor, moramo elementu iframe določiti URL naslov 17 Maribor&tab=maps. Podatke avtomobilov lahko prikazujemo na enak način, vendar smo stvar nekoliko poenostavili in vsak ustrezen URL shranili kar v element znotraj dokumenta avtomobilskih zavarovanj. Statistika zavarovalnih agentov je narejena tako, da se s pomočjo XML DOM iz vseh dokumentov izluščijo podatki, povezani s prenesenim zavarovalnim agentom. V teh podatkih so zajeti osebni podatki agenta, število sklenjenih zavarovanj, vsota sklenjenih zavarovanj ter podatki vseh agentovih strank. 4.3 Namestitev Potem, ko smo razvili spletne gradnike, smo jih morali namestiti v aplikacijo znotraj strežnika MOSS. Pred tem je bilo potrebno urediti nekaj nastavitev. V datoteki AssemblyInfo.cs, ki se nahaja v istem imenskem področju, kot razredi naših spletnih gradnikov, smo morali vključiti knjižnico System.Security in dodati atribut [assembly: AllowPartiallyTrustedCallers()]. Nato smo morali v nastavitvah projekta, v katerem smo razvijali, ustvariti datoteko z močnim ključem in tako podpisati assembly. Tako nastavljen projekt smo prevedli in dobili knjižnico DLL. To je bilo potrebno shraniti v mapo bin znotraj virtualnega direktorija. Ko smo vse zgoraj opisane naloge opravili, je bilo potrebno ročno spremeniti datoteko web.config, ki se prav tako nahaja v virtualnem direktoriju. Gre za XML datoteko, kjer so shranjene nekatere nastavitve našega spletišča. Pod zbirko SafeControls smo dodali

76 Praktični primer uporabe spletnih sestavljank 66 element <SafeControl Assembly="MyWebParts, Version= , Culture=neutral, PublicKeyToken=07cae4fe7a190faa" Namespace="MyWebParts" TypeName="*" Safe="True" />. V elementu smo morali določiti nekatere lastnosti, med katerimi so tudi meta podatki izvršilne datoteke. Te smo pridobili s pomočjo programa Reflector ( Sedaj smo naložili gradnike v strežnik, ne pa tudi na stran za dodajanje gradnikov. To smo storili preko strani za nastavitve spletišča, kjer smo v stolpcu Galleries sledili povezavi Web Parts. S pritiskom na New smo prišli do knjižnice vseh spletnih gradnikov, ki jih lahko uporabimo v svoji aplikaciji (Slika 4.6). Med njimi smo označili le svoje in s pritiskom na gumb Populate Gallery omogočili, da so se naši gradniki znašli v seznamu za dodajanje. Slika 4.6: Seznam obstoječih spletnih gradnikov

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine Lotus Quickr Najhitrejši način izmenjave poslovne vsebine Zoran Povh, IT specialist zoran.povh@si.ibm.com 2007 IBM Corporation Vsebina Kaj je Lotus Quickr? Integracija z namiznimi programi Skupinski prostori

More information

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

Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js) Vodnik skozi Google Analytics Beta verzija 1. del prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js) Ta vodnik je povzetek Googe vodiča ' Tracking Code Migration Guide Switching from urchin.js

More information

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

» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije Obrazec P-5 Specifikacije 30K250316» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije KAZALO VSEBINE 1. Predmet javnega naročila...3 1.1. SKLOP-1: STORITEV VZDRŽEVANJA ORACLE LICENČNE

More information

Sistemske zahteve za SAOP

Sistemske zahteve za SAOP Sistemske zahteve za SAOP Samostojna delovna postaja višji). icenter je ERP sistem, ki zagotavlja popolno kontrolo nad vsemi poslovnimi procesi v podjetju. V tej postavitvi je SAOP icenter nameščen na

More information

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

IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK UDK621.3:(53+54+621 +66), ISSN0352-9045 Informacije MIDEM 39(2009)2, Ljubljana IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK Sasa Klampfer, Joze Mohorko, Zarko Cucej University

More information

Uvod v svetovni splet

Uvod v svetovni splet Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo Uvod v svetovni splet Računalništvo in informatika, GR-UNI, GR-VSŠ Tehnična dokumentacija in informatika, VKI-UNI št. leto 2007/08, 1. semester

More information

ABBYY rešitve za prepoznavo in klasifikacijo dokumentov

ABBYY rešitve za prepoznavo in klasifikacijo dokumentov ABBYY rešitve za prepoznavo in klasifikacijo dokumentov preabbyy FlexiCapture 9.0. Overview. 1 doc: 10977 Lokalna prisotnost ABBYY: Moscow, Russia; Munich, Germany; Bracknell, UK; Kiev, Ukraine; Milpitas,

More information

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

Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54

More information

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

Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x 1 Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x 2 družina standardov, ki opisujejo delovanje lokalnih (LAN) in mestnih (MAN) omrežij delo opravljano v delovnih skupinah več na

More information

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

Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54 Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54 Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54 v brskalniku vpišemo

More information

Hitra rast hranjenih podatkov

Hitra rast hranjenih podatkov Tomaž Borštnar - član uredništva računalniške revije Monitor od začetka (oktober 1991; ne-pc okolja (Unix, etc) - sodelavec YUNAC in ARNES od začetka - postavil in upravljal večino strežnikov na SiOL -

More information

Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO

Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO Uvod Informacijska varnost ena izmed glavnih tematik informacijske dobe. Čim bolj varne spletne aplikacije

More information

DB2 podatkovna baza v praksi

DB2 podatkovna baza v praksi DB2 podatkovna baza v praksi Aljoša Trivan, Mikropis holding d.o.o. aljosa.trivan@mikropis.si 2007 IBM Corporation Agenda Mikropis Splošno Fleksibilnost Vzdrževanje Backup SQL objekti in SQL stavki Novosti

More information

IBM Lotus Notes in Domino 8

IBM Lotus Notes in Domino 8 IBM Lotus Notes in Domino 8 Spoznajte namizje prihodnosti danes Janko Štefančič, GENIS janko.stefancic@genis.si 2007 IBM Corporation Agenda O podjetju Genis Kratka zgodovina Kaj zmore Notes/Domino 8 Podprte

More information

Prirejanje in preverjanje tipov

Prirejanje in preverjanje tipov Uvod v C# Drugi del Dedovanje Sintaksa Prirejanje in preverjanje tipov Kaste preverjenih tipov Prekrivanje metod Dinamično povezovanje (poenostavljeno) Skrivanje Dinamično povezovanje (s skrivanjem) Fragile

More information

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA POPRBAZA je namenjen večji reorganizaciji podatkov v računalnikovem spominu. Reorganizacijo narekujejo bodisi zakonske spremembe, bodisi novosti v programu. Zato je

More information

Navodila za uporabo izdelkov programske opreme Microsoft

Navodila za uporabo izdelkov programske opreme Microsoft Navodila za uporabo izdelkov programske opreme Microsoft Kazalo Navodila za konfiguracijo odjemalca za e-pošto Outlook Splošno 3 Nastavitev poštnega predala s protokolom MAPI v odjemalcu Outlook 2007 s

More information

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Borut Radi RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY Diplomsko delo Maribor, julij 2015 Fakulteta za elektrotehniko,

More information

Specification and Implementation of a Light-Weight Internet Content Delivery Platform

Specification and Implementation of a Light-Weight Internet Content Delivery Platform University of Ljubljana Faculty of Computer and Information Science Marko Čeferin Specification and Implementation of a Light-Weight Internet Content Delivery Platform DIPLOMA THESIS First cycle professional

More information

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

formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike Strojni vid pri tehnoloških meritvah formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike formati slike in branje slike slika je običajno

More information

Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server

Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Uroš Kastelic Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Ljubljana,

More information

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

sodobne poslovnoinformacijske rešitve   Birokrat Kratka navodila za namestitev demo verzije programa Birokrat sodobne poslovnoinformacijske rešitve www.andersen.si Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Pošiljamo vam demo

More information

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

Postavitev in upravljanje zasebnega oblaka z uporabo Microsoft System Center 2012 R2 in Windows Azure Pack za ponudnike storitev UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Gašper Govek Postavitev in upravljanje zasebnega oblaka z uporabo Microsoft System Center 2012 R2 in Windows Azure Pack za ponudnike storitev

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje. Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje Web programming Študijski program in stopnja Study programme and level Interdisciplinarni univerzitetni

More information

Prometno načrtovanje xdsl

Prometno načrtovanje xdsl Prometno načrtovanje xdsl 1 Kazalo Prometno načrtovanje naročniške zanke Prometno načrtovanje MSAN Izbira agregacijskega modela Izbira opreme 2 Potrebe po pasovni širini Zahtevana pasovna širina na uporabnika

More information

Twitter Bootstrap in razvoj spletnega repozitorija za Cacti

Twitter Bootstrap in razvoj spletnega repozitorija za Cacti Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Nejc Župec Twitter Bootstrap in razvoj spletnega repozitorija za Cacti DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI

More information

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Roman Gorišek Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5 DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

Arhitektura oblaka Upravljanje v oblaku Delovanje v oblaku Arhitekturni okvir računalništva v oblaku

Arhitektura oblaka Upravljanje v oblaku Delovanje v oblaku Arhitekturni okvir računalništva v oblaku 1 Predstavitev 2 Področja delovanja 3 GRC knjižnica 4 Primeri CAI in CCM Aplikacijska varnost 5 CCSK 6 Zaključek Globalna, neprofitna organizacija 23,000+ članov, 100 korporativnih članov, 50 odsekov Gradimo

More information

Mobilne multimedijske storitve. mag. Urban Burnik Fakulteta za elektrotehniko Laboratorij za digitalno obdelavo signalov

Mobilne multimedijske storitve. mag. Urban Burnik Fakulteta za elektrotehniko Laboratorij za digitalno obdelavo signalov Mobilne multimedijske storitve mag. Urban Burnik Fakulteta za elektrotehniko Laboratorij za digitalno obdelavo signalov Uvod Mobilne storitve danes Multimedijske storitve Sistemske zahteve Nova generacija

More information

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

Uporaba strežnika SharePoint za vodenje poteka dela pri izvajanju kompleksnih projektov Univerza v Ljubljani Fakulteta za računalništvo in informatiko Roman Orač Uporaba strežnika SharePoint za vodenje poteka dela pri izvajanju kompleksnih projektov DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Matjaž Poljanšek DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Matjaž Poljanšek DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matjaž Poljanšek Analiza modela platforme kot storitve in razvoj aplikacije v oblaku na platformi Google App Engine DIPLOMSKO DELO NA UNIVERZITETNEM

More information

RAČUNALNIŠTVO V OBLAKU IN NJEGOV POSLOVNI POMEN ZA MALA PODJETJA

RAČUNALNIŠTVO V OBLAKU IN NJEGOV POSLOVNI POMEN ZA MALA PODJETJA UNIVERZA V MARIBORU EKONOMSKO POSLOVNA FAKULTETA Magistrsko delo RAČUNALNIŠTVO V OBLAKU IN NJEGOV POSLOVNI POMEN ZA MALA PODJETJA Cloud Computing and It's Meaning for Small Bussiness Kandidat: Denis Stojko

More information

Navodila za interaktivne naloge Bober

Navodila za interaktivne naloge Bober Avtorji dokumenta: Dean Gostiša , Lovro Podgoršek Verzija dokumentacije: 1.1 Datum in kraj: 24. 7. 2013, Ljubljana Navodila za interaktivne naloge Bober Uvod 1.

More information

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

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Četrtek, 2. junij 2016 SPLOŠNA MATURA Državni izpitni center *M16178113* SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Četrtek, 2. junij 2016 SPLOŠNA MATURA RIC 2016 M161-781-1-3 2 IZPITNA POLA 1 1 1 2 1 3 3 4 1 5 3 6 2 7 1 8 1 9 1 10 3

More information

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

Q: Do You made a backup before upgrade? A: Only cowards make backups! Q: Do You made a backup before upgrade? You z malo - you A: Only cowards make backups! Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies.

More information

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Alen Rojko BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Diplomsko delo Maribor, april 2013 BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Diplomsko delo Študent(ka): Študijski program: Alen Rojko Visokošolski

More information

Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev

Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nejc Poljanšek Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo

Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo Študija primera uvedbe sistema EMC DataDomain v podjetju Si.mobil Janez Narobe Janez.narobe@simobil.si Rok Krisper rok.krisper@snt.si

More information

Razvoj spletne trgovine z vključitvijo naprednih storitev

Razvoj spletne trgovine z vključitvijo naprednih storitev UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Papež Lovro Razvoj spletne trgovine z vključitvijo naprednih storitev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

ANALIZA POVEZLJIVOSTI PORTALNIH KOMPONENT NA PLATFORMI LIFERAY

ANALIZA POVEZLJIVOSTI PORTALNIH KOMPONENT NA PLATFORMI LIFERAY Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova ulica 17 2000 Maribor, Slovenija Marko Haložan ANALIZA POVEZLJIVOSTI PORTALNIH KOMPONENT NA PLATFORMI LIFERAY Diplomsko delo Maribor,

More information

APLIKACIJE ZA SOCIALNA

APLIKACIJE ZA SOCIALNA UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boštjan Lotrič APLIKACIJE ZA SOCIALNA OMREŽJA DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Zoran Bosnić Ljubljana, 2011 Rezultati

More information

E R S Š G L J U B L J A N A Š O L S K O L E T O

E R S Š G L J U B L J A N A Š O L S K O L E T O Datotečni sistem E R S Š G L J U B L J A N A Š O L S K O L E T O 2 0 1 0 / 1 1 Vsebina Programska oprema Sistemska programska oprema Operacijski sistem Lupina (shell) Datotečni sistem Programska oprema

More information

Lokacijske storitve na mobilnih napravah

Lokacijske storitve na mobilnih napravah UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Aleš Rosina Lokacijske storitve na mobilnih napravah DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Rok Rupnik Ljubljana, 2012

More information

Primerjava uporabe SOAP in REST za potrebe povezave mobilnih naprav s spletnimi storitvami

Primerjava uporabe SOAP in REST za potrebe povezave mobilnih naprav s spletnimi storitvami Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matjaž Rajnar Primerjava uporabe SOAP in REST za potrebe povezave mobilnih naprav s spletnimi storitvami DIPLOMSKO DELO NA UNIVERZITETNEM

More information

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

Primož Hadalin IZDELAVA SPLETNEGA PORTALA POSLOVNE APLIKACIJE Z UPOŠTEVANJEM RAZLIK MED SPLETNIMI BRSKALNIKI Univerza v Ljubljani Fakulteta za računalništvo in informatiko Primož Hadalin IZDELAVA SPLETNEGA PORTALA POSLOVNE APLIKACIJE Z UPOŠTEVANJEM RAZLIK MED SPLETNIMI BRSKALNIKI diplomska naloga na visokošolskem

More information

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

RAZVOJ ENOSTAVNE SPLETNE APLIKACIJE Z UPORABO FLEKSIBILNEGA OGRODJA NA ODPRTOKODNIH KNJIŢNICAH UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO David Sedlar RAZVOJ ENOSTAVNE SPLETNE APLIKACIJE Z UPORABO FLEKSIBILNEGA OGRODJA NA ODPRTOKODNIH KNJIŢNICAH DIPLOMSKO DELO NA UNIVERZITETNEM

More information

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

Session:E07 GALIO - DB2 index advisor, how we implemented it and what we get from self-made expert tool Session:E07 GALIO - DB2 index advisor, how we implemented it and Viktor Kovačević, MSc Hermes Softlab 6th October 2009 14:15 (60') Platform: UDB / LUW OUTLINE Application & Database tuning Self made index

More information

Enterprise modelling with UML

Enterprise modelling with UML Elektrotehniški vestnik 68(2 3): 109 114, 2001 Electrotechnical Review, Ljubljana, Slovenija Enterprise modelling with UML Aljaž Zrnec, Marko Bajec, Marjan Krisper University of Ljubljana, Faculty of Computer

More information

Standard CMIS kot osnova za dostopnost ECM storitev v oblaku

Standard CMIS kot osnova za dostopnost ECM storitev v oblaku 5. Posvet dolenjskih in belokranjskih informatikov 15.3.2012 Standard CMIS kot osnova za dostopnost ECM storitev v oblaku Renato Rjavec INFOTEHNA Skupina d.o.o. Vsebina Content Management Interoperability

More information

RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS

RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA Diplomski projekt RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS Cloud Computing for Human

More information

Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov

Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Slobodan Jovanović Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

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

Selitev aplikacije iz Oracle Forms v Oracle ADF (Application migration from Oracle Forms to Oracle ADF) Univerza na Primorskem FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE ZAKLJUČNA NALOGA Selitev aplikacije iz Oracle Forms v Oracle ADF (Application migration from Oracle Forms to Oracle

More information

Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku

Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tilen Faganel Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM RAČUNALNIŠTVO

More information

Podatkovni model za celostno vodenje proizvodnje

Podatkovni model za celostno vodenje proizvodnje Podatkovni model za celostno vodenje proizvodnje Miha Glavan 1, Dejan Gradišar 1, Gašper Mušič 2 1 Institut Jožef Stefan, Jamova 39, Ljubljana 2 Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška

More information

Navodila za nastavitev varne povezave po protokolu SSH

Navodila za nastavitev varne povezave po protokolu SSH Datum: 28. 9. 2010 Navodila za nastavitev varne povezave po protokolu SSH 1. Pogoji za zagotovitev varne povezave po protokolu SSH Za uspešno zagotovitev in nastavitev varne povezave po protokolu SSH je

More information

Sistemske zahteve za Saop icenter

Sistemske zahteve za Saop icenter Sistemske zahteve za Saop icenter Izdaja 27 080 13 20 info@saop.si www.saop.si 18.6.2018 Sistemske zahteve 2 Samostojna delovna postaja icenter je ERP sistem, ki zagotavlja popolno kontrolo nad vsemi poslovnimi

More information

Izdelava spletne aplikacije za video klepet

Izdelava spletne aplikacije za video klepet UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nejc Štebe Izdelava spletne aplikacije za video klepet DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

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

How we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF RMZ Materials and Geoenvironment, Vol. 55, No. 1, pp. 127-134, 2008 127 How we calculate volume with the use of NTF method Kako izračunamo volumen z uporabo metode NTF An e s Du r g u t o v i ć 1, Mi l

More information

RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ

RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: Informatika v organizaciji in managementu RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ Mentor: izr. prof. dr. Robert Leskovar Kandidat: Boštjan

More information

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

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO GREGOR IVANŠEK UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO GREGOR IVANŠEK UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Študijski program: Matematika in tehnika Prilagoditev odprtokodnega sistema Drupal za uporabo

More information

Primerjava spletnih brskalnikov

Primerjava spletnih brskalnikov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Bojan Bajc Primerjava spletnih brskalnikov DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: dr. Igor Rožanc Ljubljana, 2009 I Z

More information

Primerjava orodij za razvoj mobilnih aplikacij

Primerjava orodij za razvoj mobilnih aplikacij UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miloš Jovanov Primerjava orodij za razvoj mobilnih aplikacij DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

IZKUŠNJE PRI RAZVOJU INOVATIVNIH REŠITEV Z UPORABO RAČUNALNIŠTVA V OBLAKU

IZKUŠNJE PRI RAZVOJU INOVATIVNIH REŠITEV Z UPORABO RAČUNALNIŠTVA V OBLAKU IZKUŠNJE PRI RAZVOJU INOVATIVNIH REŠITEV Z UPORABO RAČUNALNIŠTVA V OBLAKU Robert Dukarić, Matjaž B. Jurič Fakulteta za računalništvo in informatiko, Univerza v Ljubljani robert.dukaric@cloud.si Povzetek

More information

Oddaljen dostop do namiznega računalnika

Oddaljen dostop do namiznega računalnika UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Siniša Grubor Oddaljen dostop do namiznega računalnika DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

Brezžična omrežja in Eduroam

Brezžična omrežja in Eduroam Brezžična omrežja in Eduroam Rok Papež ARNES, Jamova 39, Ljubljana aaa-podpora@arnes.si Sirikt 2007, Kranjska Gora, 19.4.2007 Sodobni uporabniki Bolj dinamično življenje Stacionarni telefon Telefon

More information

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

UDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi RMZ Materials and Geoenvironment, Vol. 54, No. 3, pp.419-425, 2007 419 UDF for volume calculation with the use of NTF method Lastne Excel funkcije za izračun prostornin po NTF metodi Mi l i v o j Vu l

More information

Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar

Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje doc.dr. Mira Trebar 2 Vaja 1 (11.10.2010) Vaje so obvezne (delo v laboratoriju + doma) S1: Logisim MIPS procesor eno-cikelna izvedba ( logisim ) MIPS

More information

3. sklop Elektronski obrazci OM1 ITK 2010/2011

3. sklop Elektronski obrazci OM1 ITK 2010/2011 3. sklop Elektronski obrazci OM1 ITK 2010/2011 Elektronski obrazci Elektronski dokument Elektronski obrazci Označevanje spletnih mest Arhiviranje spletnih informacij Pomen digitalnega podpisa Elektronski

More information

Postavitev privatnega oblaka z VMware vcloud

Postavitev privatnega oblaka z VMware vcloud Univerza v Ljubljani Fakulteta za računalništvo in informatiko Pece Adjievski Postavitev privatnega oblaka z VMware vcloud DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Matjaž Branko Jurič

More information

Mobilna aplikacija za pregled informacij o prometu v Sloveniji

Mobilna aplikacija za pregled informacij o prometu v Sloveniji UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Majzelj Mobilna aplikacija za pregled informacij o prometu v Sloveniji DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Ljubljana,

More information

Lotus Quickr in ECM souporaba dokumentov in uspešna izpeljava projektov. Damjan Florjanič prodaja Lotus programske opreme IBM Slovenija

Lotus Quickr in ECM souporaba dokumentov in uspešna izpeljava projektov. Damjan Florjanič prodaja Lotus programske opreme IBM Slovenija Lotus Quickr in ECM souporaba dokumentov in uspešna izpeljava projektov Damjan Florjanič prodaja Lotus programske opreme IBM Slovenija Vsebina Stanje in trendi na tržišču Lotus Quickr pregled Konektorji

More information

Magistrsko delo. Organizacija in management informacijskih sistemov MODEL OBLAČNIH STORITEV Z OPENSTACK

Magistrsko delo. Organizacija in management informacijskih sistemov MODEL OBLAČNIH STORITEV Z OPENSTACK Organizacija in management informacijskih sistemov MODEL OBLAČNIH STORITEV Z OPENSTACK Mentor: red. prof. dr. Robert Leskovar Kandidatka: Blažka Globačnik Kranj, september 2014 ZAHVALA Zahvaljujem se mentorju

More information

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

Calculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode RMZ - Materials and Geoenvironment, Vol. 53, No. 2, pp. 221-227, 2006 221 Calculation of volume with the use of NTF method Izračun volumnov z uporabo NTF metode Milivoj Vulić 1, Anes Durgutović 2 1 Faculty

More information

PRIMERJAVA SPLETNIH REŠITEV ZA MODELIRANJE POSLOVNIH PROCESOV

PRIMERJAVA SPLETNIH REŠITEV ZA MODELIRANJE POSLOVNIH PROCESOV UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Hejdi Martinšek PRIMERJAVA SPLETNIH REŠITEV ZA MODELIRANJE POSLOVNIH PROCESOV Diplomsko delo Maribor, avgust 2016 PRIMERJAVA

More information

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM Damjan Kojc UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM Diplomsko delo Maribor, avgust 2011 I Diplomsko delo univerzitetnega študijskega programa UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC

More information

Razširitve CMS z lastnimi moduli

Razširitve CMS z lastnimi moduli Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matjaž Čepar Razširitve CMS z lastnimi moduli DIPLOMSKA NALOGA NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Andrej Brodnik Ljubljana 2014 Rezultati

More information

Luka Žabkar. Razvoj sodobne storitvene spletne strani za sledenje dieti in aktivnostim

Luka Žabkar. Razvoj sodobne storitvene spletne strani za sledenje dieti in aktivnostim UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Luka Žabkar Razvoj sodobne storitvene spletne strani za sledenje dieti in aktivnostim DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor:

More information

IZDELAVA PROGRAMSKEGA PAKETA ZA GRAFIČNI PRIKAZ POMENSKIH SLOVARJEV IN ONTOLOGIJ

IZDELAVA PROGRAMSKEGA PAKETA ZA GRAFIČNI PRIKAZ POMENSKIH SLOVARJEV IN ONTOLOGIJ Gregor Hren IZDELAVA PROGRAMSKEGA PAKETA ZA GRAFIČNI PRIKAZ POMENSKIH SLOVARJEV IN ONTOLOGIJ Diplomsko delo Maribor, september 2011 I Diplomsko delo univerzitetnega študijskega programa IZDELAVA PROGRAMSKEGA

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Aleš Čadeţ SISTEM ZA ANALIZO OBISKOV SPLETNEGA MESTA

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Aleš Čadeţ SISTEM ZA ANALIZO OBISKOV SPLETNEGA MESTA UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Aleš Čadeţ SISTEM ZA ANALIZO OBISKOV SPLETNEGA MESTA DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU LJUBLJANA, 2009 UNIVERZA V LJUBLJANI FAKULTETA

More information

Mobilna aplikacija za pregledovanje slik visokih ločljivosti

Mobilna aplikacija za pregledovanje slik visokih ločljivosti Univerza v Ljubljani Fakulteta za računalništvo in informatiko Anže Sršen Mobilna aplikacija za pregledovanje slik visokih ločljivosti DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Informacijski sistemi 2. faza Sistemska analiza. Franci Tajnik univ.dipl.ing.fizike, CISA, CISM

Informacijski sistemi 2. faza Sistemska analiza. Franci Tajnik univ.dipl.ing.fizike, CISA, CISM Informacijski sistemi 2. faza Sistemska analiza Franci Tajnik univ.dipl.ing.fizike, CISA, CISM 2. faza Sistemska analiza 2. faza Sistemska analiza veščine sistemske analize analitične medosebne ( nekonfliktne

More information

PODATKOVNE BAZE NOSQL

PODATKOVNE BAZE NOSQL PODATKOVNE BAZE NOSQL Aljaž Zrnec, Dejan Lavbič, Lovro Šubelj, Slavko Žitnik, Aleš Kumer, Marko Bajec Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Laboratorij za podatkovne tehnologije,

More information

UPORABA SILVERLIGHT 4 ZA PODPORO PRI ELEKTRONSKEM PREVERJANJU ZNANJA

UPORABA SILVERLIGHT 4 ZA PODPORO PRI ELEKTRONSKEM PREVERJANJU ZNANJA Matjaž Reberc UPORABA SILVERLIGHT 4 ZA PODPORO PRI ELEKTRONSKEM PREVERJANJU ZNANJA Diplomsko delo Maribor, junij 2011 I Diplomsko visokošolskega strokovnega študijskega programa UPORABA SILVERLIGHT 4

More information

Izdelava hibridnih mobilnih aplikacij z ogrodjem Ionic

Izdelava hibridnih mobilnih aplikacij z ogrodjem Ionic Univerza v Ljubljani Fakulteta za računalništvo in informatiko Janez Čadež Izdelava hibridnih mobilnih aplikacij z ogrodjem Ionic DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Razvoj aplikacij na platformi Google App Engine

Razvoj aplikacij na platformi Google App Engine UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Vrščaj Razvoj aplikacij na platformi Google App Engine DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Janez Demšar Ljubljana,

More information

Časovno omejevanje dostopa do interneta

Časovno omejevanje dostopa do interneta Univerza v Ljubljani Fakulteta za računalništvo in informatiko Edi Medvešček Časovno omejevanje dostopa do interneta DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN

More information

Aplikacija za podporo delovanja svetovalcev

Aplikacija za podporo delovanja svetovalcev UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Primož Cigoj Aplikacija za podporo delovanja svetovalcev DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: doc. dr. Rok Rupnik Ljubljana,

More information

Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL

Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nedim Husaković Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL DIPLOMSKO DELO VISOKOŠOLSKI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

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

New Media & Language Technologies Jozef Stefan International Postgraduate School January Speech apps. Jerneja Žganec Gros New Media & Language Technologies Jozef Stefan International Postgraduate School January 2005 Speech apps Jerneja Žganec Gros jerneja@alpineon.com THE VOICE WEB The voice web offers access to information

More information

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

Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja Navodila za vaje pri predmetu Internetne tehnologije VAJA 2 Dušan

More information

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA VISOKOŠOLSKI STROKOVNI ŠTUDIJ Računalništvo in Informacijske Tehnologije POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V Cloudkick, Inc. - San Francisco, Kalifornija, Združene Države Amerike Čas opravljanja od 26.09.2010

More information

Metodologija migracije iz Exchange v Office 365

Metodologija migracije iz Exchange v Office 365 UNIVERZA V LJUBLJANI F Grega Lausegger Metodologija migracije iz Exchange v Office 365 DIPLOMSKO DELO PRVE Ljubljana, 2018 UNIVERZA V LJUBLJANI F Grega Lausegger Metodologija migracije iz Exchange v Office

More information

Minimalne/optimalne zahteve za delovanje informacijskega sistema v povezavi z IMAGINE aplikacijami

Minimalne/optimalne zahteve za delovanje informacijskega sistema v povezavi z IMAGINE aplikacijami IMAGINE d.o.o. Podjetje za računalniški inženiring Gosposvetska cesta 84, 2000 Maribor Tel.: 02 320 60 60 Fax: 02 320 60 70 www.imagine.si, prodaja@imagine.si Minimalne/optimalne zahteve za delovanje informacijskega

More information

Zasnova spletnega orodja za prijavo na govorilne ure v sistemu Plone

Zasnova spletnega orodja za prijavo na govorilne ure v sistemu Plone UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Žiga Štamcar Zasnova spletnega orodja za prijavo na govorilne ure v sistemu Plone Diplomsko delo Ljubljana, 2016 UNIVERZA V LJUBLJANI Pedagoška fakulteta Univerzitetni

More information

Primerjava izvornega in hibridnega razvoja mobilne aplikacije

Primerjava izvornega in hibridnega razvoja mobilne aplikacije UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Luka Vidmar Primerjava izvornega in hibridnega razvoja mobilne aplikacije DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

PREGLED MOBILNIH REŠITEV ZA IZOBRAŽEVANJE UPRAVLJANJA INFORMATIKE

PREGLED MOBILNIH REŠITEV ZA IZOBRAŽEVANJE UPRAVLJANJA INFORMATIKE Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova ulica 17 2000 Maribor, Slovenija Matija Pildek PREGLED MOBILNIH REŠITEV ZA IZOBRAŽEVANJE UPRAVLJANJA INFORMATIKE Diplomsko delo Maribor,

More information

Spletni iskalnik Google in optimizacija spletnih strani

Spletni iskalnik Google in optimizacija spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE Slaven Petrović Spletni iskalnik Google in optimizacija spletnih strani Diplomsko delo Ljubljana, 2010 UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE Slaven

More information

THE ANIMAL SOUND ARCHIVE AT THE HUMBOLDT-UNIVERSITY OF BERLIN: CURRENT ACTIVITIES IN CONSERVATION AND IMPROVING ACCESS FOR BIOACOUSTIC RESEARCH

THE ANIMAL SOUND ARCHIVE AT THE HUMBOLDT-UNIVERSITY OF BERLIN: CURRENT ACTIVITIES IN CONSERVATION AND IMPROVING ACCESS FOR BIOACOUSTIC RESEARCH RAZPRAVE IV. RAZREDA SAZU XLVII-3 139 144 LJUBLJANA 2006 THE ANIMAL SOUND ARCHIVE AT THE HUMBOLDT-UNIVERSITY OF BERLIN: CURRENT ACTIVITIES IN CONSERVATION AND IMPROVING ACCESS FOR BIOACOUSTIC RESEARCH

More information

UNIVERZA V LJUBLJANI. Gregor Beslič. Razvoj spletnih aplikacij z integracijo WordPress in Zend Framework DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU

UNIVERZA V LJUBLJANI. Gregor Beslič. Razvoj spletnih aplikacij z integracijo WordPress in Zend Framework DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Gregor Beslič Razvoj spletnih aplikacij z integracijo WordPress in Zend Framework DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ljubljana, 2011

More information

TRŽENJE S POMOČJO SPLETNIH ISKALNIKOV

TRŽENJE S POMOČJO SPLETNIH ISKALNIKOV UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA MAGISTRSKO DELO TRŽENJE S POMOČJO SPLETNIH ISKALNIKOV Ljubljana, september 2006 ROBERT ROLIH IZJAVA Študent Robert Rolih izjavljam, da sem avtor tega magistrskega

More information