21
7/23/2019 Elektroničko poslovanje - predavanja http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 1/21  ELEKTRONIČKO POSLOVANJE - predavanja 1 (1.) Arhitekture računalnog informacijskog sustava Arhitekture IS-a - opis dizajna, elementa i njihovih međusobnih odnosa IS-a - kombinacija hardverskih i softverskih elemenata pomoću kojih se krajnjem korisniku pruža određena usluga ili proizvod Elementi: dataware, netware, software, hardware, lifeware Arhitekture IS-a - način kako su međusobno organizirani i povezani osnovni elementi IS-a.  Na koji način je povezan hardware sa softwareom, sa mrežnom infrastrukturom, sa podatkovnom infrastrukturom. Obuhvaća 4 sloja:  Arhitekturu poslovnih procesa - na koji način su poslovni procesi vezani za IS  Sistemsku arhitekturu  Tehničku arhitekturu  Arhitekturu proizvodnog / uslužnog sustava - specijaliziran za kontekst proizvodnog poduzeća tj. uslužnog poduzeća Osnovni elementi arhitekture IS-a - jedan od najstarijih oblika IS-a koji je prisutan i danas se naziva višeslojnom arhitekturom - ima više organizacijskih, programskih i sklopovskih slojeva 5 slojeva KLIJENT - obuhvaća ono što se nalazi kod krajnjeg korisnika - računalni procesi ( nisu ljudi ) - s ciljem pokretanja, obrade, distribucije i sl. postupaka APLIKACIJA / SLOJ PROGRAMSKE PODRŠKE - obuhvaća sve one aplikacije sustava tj. svu onu  programsku podršku koja je instalirana i koju korisnik koristi - npr uredski paketi i sl. Klijent (G)UI Aplikacija Server (DB) na koji način su hardverski elementi međusobno organizirani Poslovna logika Pristup  podacima

Elektroničko poslovanje - predavanja

  • Upload
    ivica

  • View
    225

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 1/21

 ELEKTRONIČKO POSLOVANJE - predavanja

1

(1.) Arhitekture računalnog informacijskog sustava

Arhitekture IS-a- opis dizajna, elementa i njihovih međusobnih odnosa IS-a

- kombinacija hardverskih i softverskih elemenata pomoću kojih se krajnjem korisniku pruža određenausluga ili proizvodElementi: dataware, netware, software, hardware, lifeware

Arhitekture IS-a - način kako su međusobno organizirani i povezani osnovni elementi IS-a. Na koji način je povezan hardware sa softwareom, sa mrežnom infrastrukturom, sa podatkovnominfrastrukturom.

Obuhvaća 4 sloja:

  Arhitekturu poslovnih procesa - na koji način su poslovni procesi vezani za IS  Sistemsku arhitekturu

 

Tehničku arhitekturu  Arhitekturu proizvodnog / uslužnog sustava - specijaliziran za kontekst proizvodnog poduzeća tj.

uslužnog poduzeća

Osnovni elementi arhitekture IS-a- jedan od najstarijih oblika IS-a koji je prisutan i danas se naziva višeslojnom arhitekturom- ima više organizacijskih, programskih i sklopovskih slojeva

5 slojeva

KLIJENT - obuhvaća ono što se nalazi kod krajnjeg korisnika- računalni procesi ( nisu ljudi )- s ciljem pokretanja, obrade, distribucije i sl. postupaka

APLIKACIJA / SLOJ PROGRAMSKE PODRŠKE - obuhvaća sve one aplikacije sustava tj. svu onu programsku podršku koja je instalirana i koju korisnik koristi- npr uredski paketi i sl.

Klijent(G)UI

Aplikacija Server (DB)

na koji način su hardverski elementi međusobno organizirani

Poslovnalogika

Pristup podacima

Page 2: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 2/21

 ELEKTRONIČKO POSLOVANJE - predavanja

2

SERVER - strana koja može obuhvatiti server baze podataka, koja može obuhvatiti web servis, kojamože obuhvatiti aplikativni server.- obuhvaća sve one resurse koji se dijele između većeg broja korisnika- dijeljenje zajedničkih resursa- primjer - baze podataka ( virtualni server )

POSLOVNA LOGIKA - spada pod sloj aplikacije- izdvaja se iz sloja aplikacije kako bi se lakše upravljalo, optimiziralo složeni informacijski sustav

SLOJ PRISTUPA PODACIMA - povezuje aplikaciju sa stranom servera i koji omogućuje da programske komponente povežemo sa pripadajućim podacima na strani baze podatakaKoristi se kako bi se povezala aplikacija i baza podataka

ARHITEKTURA IS-a

- tanki klijent - debeli server

Arhitekturu „ tanki klijent - debeli server“ karakterizira objedinjavanje sloja programske podrškeodnosno aplikacije i sloja servera dok s druge strane strana klijenta predstavlja korisničko sučeljeodnosno klijentsku stranu putem kojeg klijent zadaje odgovarajuće naredbe tj. odgovarajuće zahtjeveIS-u tj. prima rezulate obrade.- karakterizira ju jednostavnost ažuriranja, ekonomičnost i sigurnost

Klijent(G)UI

Poslovnalogika

BL

Programska podrška APP

Pristup podacima

DA

Server

Strana klijenta Strana servera

Page 3: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 3/21

 ELEKTRONIČKO POSLOVANJE - predavanja

3

S pojavom osobnih računala ovaj oblik arhitekture je evoluirao i promijenio se u oblik „ debelogklijenta - tankog servera“.Sloj programske podrške se seli sa strane servera na stranu klijenta.Strana servera uglavnom se koristi za upravljanje tj. za pohranu podataka.

- debeli klijent - tanki server

Klijent(G)UI

Poslovnalogika

BL

Programska podrška APP

Strana klijenta

Server

Pristup podacima

DA

Strana servera

Page 4: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 4/21

 ELEKTRONIČKO POSLOVANJE - predavanja

4

 Nakon toga imamo kompromis između ova 2 oblika

client side - server side

Client side - server side - kod nje je središnji sloj programske podrške podijeljen u smislu da aplikacijekoje bolja odgovara i bolje radi u uvjetima klijenta se seli i stavlja na stranu klijenta dok ona aplikacijakojoj bolje odgovaraju serverska okruženja stavlja se na stranu servera.

Pojavom smartphone uređaja, tablet računala zastupljena je arhitektura tanki klijent - debeli servergdje imamo samo sučelje putem kojeg pristupamo i aplikacijama i podacima koji su smješteni ili naaplikacijskom serveru ili na web servisu.

Klijent(G)UI

Poslovnalogika

BL

Strana klijenta

Programska podrška APP

Server

Pristup podacima

DA

Strana servera

Page 5: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 5/21

 ELEKTRONIČKO POSLOVANJE - predavanja

5

Servisno orijentirane arhitekture (SOA)

SOA - oblik informacijskog sustava tj. jedan koncept ili način kako izgraditi informacijski sustav kojise temelji na upotrebi web servisa.Informacijski sustav gradimo od niza web servisa, niza programskih komponenti koji su dostupni na

računalnim mrežama.

Kod SOA-e naglasak je na korištenju sigurnih i standardiziranih komponenti (web servisa).SOA se temelji na labavoj povezanosti, višestrukoj iskoristivosti i interoperabilnosti između različitih programskih i organizacijskih sustava.

Labava povezanost i višestruka iskoristivost su pretpostavke da jedan web servis istovremeno može biti uključen u velik broj servisno orijentiranih arhitektura.Interoperabilnost je pretpostavka da u jednoj servisno orijentiranoj arhitekturi istovremeno možemokoristiti web servise građene i izgrađene na različitim programskim platformama.

Ključ funkcionalnosti servisno orijentirane arhitekture je posjedovanje pristupnih sučelja.

Posjedovanje pristupnih sučelja omogućuje operabilnost

Karakteristike SOA-e

  Interoperabilnost  Raspoloživost i fleksibilnost  Heterogenost  Sigurno upravljanje komponentama

Interoperabilnost - sposobnost različitih sustava da međusobno djeluju tj. funkcioniraju. Različitostsustava u smislu programskih, hardverskih, podatkovnih sustava.

Interoperabilnost je važna kod SOA-e jer omogućuje da u jednu arhitekturu, u jedan informacijskisustav uključujemo servise izgrađene na različitim platformama, u različitim programskim okolinama.

Raspoloživost i fleksibilnost - zahtjev koji se postavlja pod servisno orijentiranu strukturu, potrebno je da bude raspoloživa i dostupna svojim korisnicima 24 sata dnevno i 7 dana u tjednu.Mora biti fleksibilna što znači da se ne smije narušiti funkcionalnost servisno orijentirane arhitekturečak i uz dinamične izmjene u smislu dodavanja ili isključivanja pojedinih servisa.

Heterogenost - prvenstveno vezana na mogućnost povezivanja servisno orijentirane arhitekture istarih legacy ( nasljednih ) aplikacija koje onda povezujemo sa suvremenim komponentama webservisa koristeći isti princip učahurivanja tj. enkapsulacije upotrebnom service containera ilispremnika servisa na isti način kao i kod interoperabilnosti.Spajanje novih i starih aplikacija - koristimo service container i WSDL sučelje

Sigurno upravljanje komponentama - iznimno bitna karakteristika SOA-e koja omogućuje i ima zazadatak osigurati sigurnosne aspekte zaštite podataka, osiguranje identiteta cijelog informacijskogsustava.Postoji složenost jer nemamo nadzor nad aplikacijama i nemamo nadzor nad integritetom podatakaPitanje privatnosti poslovnih procesa

Page 6: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 6/21

 ELEKTRONIČKO POSLOVANJE - predavanja

6

SOA - poslovni ( osnovni ) model

find Service Registry publish

Service Requester use Service Provider

Ovdje imamo 3 osnovne strane tj. 3 osnovna partnera uključena u svaku servisnu arhitekturu

Service Requester- ( tražitelj usluge ) - tvrtke koje žele izgraditi servisno orijentiranu arhitekturu kojetraže odgovarajuće web servise.Service Registry - direktorij servisa - web mjesto putem kojeg će tražitelj usluga pronaći onaj serviskoji je njemu potreban. ( Međumjesto spajanja tražitelja usluga i pružatelja usluga ).Service Provider - davatelj servisa - tvrtke koje su razvile servise i te servise nude tržištu

SOA - tehnički model- prikazuje tehničke slojeve ( od kojih slojeva se SOA sastoji )- prikazuje način kako se SOA gradi ( postojeće aplikacije )

 7  . O S I   G UR A N J  E 

K VAL I  T E T E 

 U S L  U GA ,

 S I   G UR  N O S T  ,

 U

P R A VL  J  A N J  E  ,

 NADZ  OR 

5.SLOJ PRISTUPA / PREZENTACIJE

4.SLOJ K OREOGRAFIJE3. SLOJ SERVISA

2. SLOJ KOMPONENTI

1. SLOJ OPERACIJSKOG SUSTAVA

 6  .I   NT E  GR A C I   J  A

 

1.) SLOJ OPERACIJSKOG SUSTAVA - nema veze sa OS-om u smislu Windowsa, Linuxa i sl. Podovim se prvenstveno smatraju legacy aplikacije koje već postoje u našem informacijskom sustavu ikoje preuzimamo i na temelju kojih gradimo našu servisno orijentiranu arhitekturu.

2.) SLOJ KOMPONENTI - obuhvaća sve one poslovne procese koje želimo podržati, koje želimo

informatizirati unutar servisno orijentirane arhitekture. Koje poslovne procese želimo informatiziratiako želimo uštedjeti.

3.) SLOJ SERVISA - odabrat ćemo procese za koje ćemo onda u sloju servisa ili samostalno razviti ilina tržištu kupiti ili unajmiti odgovarajuće web servise. ( Sloj nabave, sloj prodaje )

4.) SLOJ KOREOGRAFIJE - nakon što smo nabavili web servise, na neki način ih moramo povezati.Moramo ih povezati u smislenu cjelinu koja će predstaviti i omogućiti funkcionalnost informacijskogsustava.

5.) SLOJ PRISTUPA / PREZENTACIJE - zadatak mu je objediniti postojeće servise na razinikorisničkog sučelja.

Ako uzimamo servise od različitih izvora, želimo ostaviti dojam jedinstvenog sustava (isti rasporednaredbi, fontova i sl. )

Page 7: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 7/21

 ELEKTRONIČKO POSLOVANJE - predavanja

7

6.) SLOJ INTEGRACIJE - treba integrirati, treba povezati sve prethodne slojeve sa bazama podataka,sa postojećim aplikacijama.

7.) OSIGURANJE KVALITETE USLUGA, SIGURNOST, UPRAVLJANJE, NADZOR - jedanintegracijski sloj odnosno upravljački sloj koji treba nadzirati i upravljati cjelokupnom arhitekturom.

WEB SERVISI

•  aplikacije (komponente ili moduli) koje egzistiraju u distribuiranim okruženjima poputInterneta ili privatnih LAN-ova

•  temelje se na paradigmi zahtjev – odgovor, a razlikujemo sinkroni i asinkroni model•  komunikacija se odvija korištenjem SOAP (Simple Object Access Protocol ) protokola

Međusobna komununikacija između 2 servisa:

Service container Service container

WEB SERVIS

PRISTUPNOSUČELJE

TCP/IP

HTTP

ZAGLAVLJE

TIJELO

XML

WEB SERVIS

PRISTUPNOSUČELJE

Page 8: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 8/21

 ELEKTRONIČKO POSLOVANJE - predavanja

8

Dijagram toka servisa:

XML

XML

Postoje:Labavo povezani ( loose coupled ) - način povezivanja programskih komponenti - drugi servis startadok još prvi radi ( ažuriranje nekog tipa )Čvrsto povezani (tight coupled ) - prvi servis mora završiti a onda starta drugi ( pr. bankomat )

Povezivanje web servisa:Koriste se 2 načina, a to su SOA pojmovi:1.) Orkestracija - povezivanje web servisa, radi se kod interno orijentiranih arhitektura ( SOA ) koje ne prelaze granice poduzeća2.) Koreografija - Povezivanje web servisa, radi se kod eksterno orijentiranih arhitektura ( SOA ) kojese spajaju sa nekim drugim poduzećima i različitim IS-om. Za eksterno povezivanje web servisakoristi se SOAP protokol.Sva komunikacija se odvija putem PORUKA između 2 servisa

SOAP - protokol za pristup jednostavnim objektima- transparentan za firewall- neovisan o platformi- protokol temeljen na XML-u

Temeljni dio SOAP-a je poruka ( SOAP omotnica, SOAP zaglavlje i obavezno SOAP tijelo )Dva elementa poruke SOAP:Header i SOAP:BodySOAP: Header - informacija o transakciji - korisnička informacijaSOAP: Body - parametri, korisni sadržaj

SOAP protokol vozi HTTP protokol, HTTP vozi TCP / IP - ti protokoli su potrebni da bi web servisimogli komunicirati.

WSDL ( Web Services Description Language )- jezik za opis servisa ( XML dokument )- specifira što servis radi, potrebne formate podataka i protokole

- lokaciju servisa- Svaki servis ima WSDL sučelje preko koje se servis koristi ( poziva ).

RECEIVE

SEND

Page 9: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 9/21

 ELEKTRONIČKO POSLOVANJE - predavanja

9

- definira koje ćemo ulazne podatke dati servisu i kakav ćemo izlaz dobiti, omogućuje povezivanje,sadrži parametre

UDDI ( Universal Description, Discovery and Integration )- registracija i pretraživanje servisa- Providerima omogućuje oglašavanje servisa, korisnicima pretragu i uvjete- Pristup WSDL dokumentima- Neovisan o platformi

Service container - omogućuje spajanje različitih programskih rješenja kako bismo postigliinteroperabilnost.

Pohranjene procedure•   predstavljaju procedure koje se smještaju u okviru baze podataka i dostupne su za pozivanje

od strane klijenata. Najčešće se pišu u nekom od proširenja jezika SQL koje definira proizvođač konkretnog SUBP:

Oracle – PL/SQL

Microsoft SQL Server – Transact-SQL•   prednost korištenja pohranjenih procedura je u poboljšanju performansi sustava•  najčešće predstavlja složenu operaciju nad bazom podataka•  nalazi se na serveru u obliku koji je unaprijed pripremljen za efikasno izvršavanje

•  sve procedure nalaze se na jednom mjestu, a ne na više mjesta u aplikacijama, pa je njihovaizmjena i ažuriranje mnogo lakše.

2 tipa pohranjenih procedura•  razlikuju se dva tipa pohranjenih procedure: select procedure i izvršne procedure •  select procedure se koriste u slučaju kad bismo zatrebali neki složeniji upit, a prilično ga je

nemoguće izvesti i ovakav tip procedure vraća rezultate•  izvršne procedure ne vraćaju rezultate i služe za složene operacije nad bazom podataka (npr.knjiženja)

Trigeri•   predstavljaju posebno klasu SQL procedura koja se izvršava automatski kod izvršavanja

akcijskih upita (UPDATE, INSERT, DELETE) na pojedinim tablicama u bazi•  uglavnom se koriste kao oblik proširenja provjere integriteta i suvislosti podataka prema logici

 procesa kojeg opisuje baza

•  uvijek vezani uz tablice, pri čemu jedna tablica može imati više trigera•  moguće je definirati posebne trigere za svaki tip promjene koja se vrši u tablici (unos,

 promjena ili brisanje podataka), ili zajedničke trigere za različite promjene•  izvršavaju se odmah nakon što završi instrukcija koja ih ''okida''

•   prilikom formiranja trigera potrebno je definirati• ime(naziv) trigera• tablicu uz koju je triger vezan• akciju koja aktivira triger• niz SQL instrukcija koje se izvršavaju aktiviranjem trigera

Page 10: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 10/21

 ELEKTRONIČKO POSLOVANJE - predavanja

10

INTEGRACIJSKI MEHANIZMI

HUB AND SPOKE - sastoji se od središnjeg čvora - huba na koji su vezani sve komponente servisnoorijentirane arhitekture.Karakteristika ovog integracijskog mehanizma je u tome što sva komunikacija ide preko središnjeghuba tj. preko središnjeg čvora ( ne postoji direktna komunikacija između komponenti SOA-e).

Javlja se nedostatak zbog te jedne točke kroz koju prolazi sva komunikacija te vrlo brzo postaje „uskogrlo“.- ne postoji mogućnost proširenja- lako nadziremo arhitekturu- dobro sigurnosno rješenje jer kroz središnji čvor moraju proći svi zahtjevi i možemo ih nadzirati

ESB - Enterprise Service Bus - karakterizira ju rad na principu sabirnice na koju su u oblikurazličitih adaptera vezane različite komponente naše servisno orijentirane arhitekture.- radi kao routing signala- veća propusnost

- jednostavno povezivanje podsustava IS-s- jedinstveni okvir za integracijska rješenja- ovisnost o ESB-u- nemogućnost jednostavne zamjene ESB platforme

Page 11: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 11/21

 ELEKTRONIČKO POSLOVANJE - predavanja

11

(2.) Razmjena podataka u el. poslovanju (XML)

Ako imamo uspješnu razmjenu podataka, tada možemo napraviti lakšu integraciju poslovanja temožemo smanjiti troškove i povećati produktivnost.

 formatirane datoteke - datoteka precizno utvrđene strukture, potrebno je definirati naziv polja,dužinu polja i tip tj. vrstu polja.

 EDI sustavi - u 70. i 80.-tim godinama najsloženiji IS za razmjenu posl. dokumenata dvostrukomkonverzijom tih dokumenata.

 XML

EDI connector - EDI format podataka - specifičan podatak koji se šalje na drugo mjesto ( EDIkonektorom se radi konverzija kako bi ga mogla čitati aplikacija na drugom mjestu.)

Tvrtka A Tvrtka B

Aplikacija Aplikacija

EDI connector EDI connector

EDI format EDI format podataka

 podataka

Formatirane datoteke datoteka precizno utvrđene strukture, potrebno je definirati naziv polja, dužinu polja i tip tj. vrstu polja.

Ako su definirana ova 3 elementa ( naziv, dužina i vrsta ) tada je vrlo jednostavno odrediti značenjesvakog sadržaja zapisanog u takvoj datoteci

Primjer - tečajna lista

 Naziv polja Dužina polja Vrsta polja (S,B)Šifra valute 3 BOznaka valute 3 SBroj jedinica 3 BKupovni tečaj 9.7 BSrednji tečaj 9.7 BProdajni tečaj 9.7 B

Zapisivanje ovog oblika u obliku formatirane datoteke.Moramo definirati naziv polja, šifru valute, oznaku valute, broj jedinice, kupovni, srednji i prodajnitečaj. Potrebno je definirati i dužinu polja.

Šifra valute- potrebna su nam 3 znaka, oznaka valute - potrebna su nam 3 znaka, broj jedinica - 3znaka.

Page 12: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 12/21

 ELEKTRONIČKO POSLOVANJE - predavanja

12

Kupovni tečaj - potrebno nam je 10 znakova, za srednji i prodajni isto tako.9.7 - 9 mjesta ukupno, 7 mjesta iza decimalne točke.

Svako polje definiramo vrstom polja. U ovom primjeru imamo broj ili string.

Ako primjenimo ovakvu specifikaciju odnosno strukturu formatirane datoteke, onda se tečajna listamože zapisati na ovakav način.

001AUD001 4,1912222 4,212222 4,282222

002EUR001 7,1912222 7,212222 7,282222

003USD001 5,1912222 5,212222 5,282222

šifra valute - 3 mjestaAUD - oznaka valute - 3 mjesta - string

i tečajevi ( kupovni, srednji, prodajni )EDI sustavi ( Electronic Data Interchange )- sustavi elektronske razmjene podataka- prvenstveno sustavi elektroničke razmjene podataka poslovnih dokumenata između različitih poduzeća ( prvenstveno u B2B segmentu ) koja koristi specifični i strukturirani format.

 Nedostaci:- vrlo skupo rješenje- međusobna (ne)kompatibilnost- kompleksna rješenja- problem integracije

Kao rješenje, javlja se XML

XML- jezik koji je posebno razvijen kako bi omogućio razmjenu podataka i kako bi omogućio pohranu podataka s ciljem zadržavanja fleksibilnosti formatiranih datoteka kroz bitno elegantnije i jednostavnije rješenje.- ima strukturu stabla ( korijenski element, podređeni element ) - ugnježđivanje- ne ovisi o platformama

XML svoje korijene vuče iz HTML-a.XML kao i HTML karakterizira upotreba tagova(oznaka) koje se zapisuju u trokutastim zagradama

<poruka><za> Marko </za><od> Ana </od>

<naslov> Podsjetnik </naslov><tekst>Nemoj zaboraviti ovaj vikend ! </tekst></poruka>

 Na ovoj primjeni vidimo da postoji jedan tag ( oznaka ) - „Poruka“ koji je otvoren i zatvoren.On je korijenski (root) element a unutar njega se nalaze njemu podređeni elementi ( Za, Od, Naslov iTekst ).

Page 13: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 13/21

 ELEKTRONIČKO POSLOVANJE - predavanja

13

Karakteristika oznaka ili tagova kod XML-a je u tome što one nisu unaprijed definirane u smislu propisane unaprijed definiranom specifikacijom već njih definira sam korisnik.Korisnik definira strukturu elementa i korisnik definira oznake tagova.

Kada se govori o XML dokumentima, treba obratiti pažnju na 2 stvari.

1.) svaki XML mora biti dobro formiran ( mora biti sukladan pravilima sintakse )- svi tagovi moraju biti zatvoreni- paziti na velika i mala slova kod naziva tagova odnosno elemenata- treba paziti na preklapanja- ne smije biti razmaka te trebamo koristiti eng layout

2.) XML mora biti valjan - mora odgovarati pravilima koja su definirana od strane korisnika tj . damora odgovarati strukturi dokumenta koja je definirana pomoću DTD-a ili XML Scheme(npr. na mjestu predviđenim za broj ne smije biti tekst).

Valjanost XML dokumenta

- po strukturi je sukladan zadanoj shemi- daans postoje više standarda XML shema- najstariji je DTD ( Document Type Definition )- XML Schema ( kompliciran i opširan, nasljednik DTD-a)

DTD je standard tj. način koji omogućuje definiranje strukture XML dokumenta.Kod strukture se misli na definiranje tagova, odnosno elemenata odnosno oznaka XML dokumenta idefiniranja njihovog međusobnog odnosa u smislu podređenosti odnosno nadređenosti.

DTD može biti definiran unutar samog XML dokumenta ili može stajati kao eksterna referenca, u tomslučaju kao zaseban DTD dokument.

Primjer DTD-a

<!ELEMENT popis (student*)><!ELEMENT student (ime_prezime, dat_rodj,spol,mat_br)><!ELEMENT ime_prezime (#PCDATA)><!ELEMENT dat_rodj (#PCDATA)><!ELEMENT spol (#PCDATA)><!ELEMENT mat_br (#PCDATA)>

Kod ovog DTD-a korijenski element je popis koji se sastoji od podređenog elementa student.Element student se sastoji od podređenih elemenata ( ime_prezime, dat_rodj, spol,mat_br) i nakon toga definirali smo svaki od elemenata „djeca(children)“.

Uz ova 4 posljednja elementa, navodimo oznaku „Parsed Character Data“ koja Parseru tj. programukoja čita XML sadržaj označava da se radi o elementu u koji se unosi vrijednost i da se radi oelementu koji nema daljnjeg grananja.

XML Schema je nastala kao odgovor na neke nedostatke kod DTD-a.DTD ima jedan nedostatak, a to je da nije moguće definirati tip podataka.

XML Schema ima svoj zasebni jezik (XSD) pomoću kojeg definiramo strukturu XML Schemeodnosno kasnije XML dokumenta.XML Schema je bitno složenija u odnosu na DTD.

Page 14: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 14/21

 ELEKTRONIČKO POSLOVANJE - predavanja

14

Odgovarajuća shema za prošli primjer bi izgledala ovako:

<xs:schema xmlns:xs = „http://www.w3.org/2001/XMLSchema“><xs:element name = „popis“ type = „Popis„/><xs:complexType name = „Popis“><xs:sequence>

<xs:element name = „student“ type = „Student„/><xs:complexType name = „Student“><xs:sequence>

<xs:element name = „ ime_prezime“ type = „ xs:string“/><xs:element name = „ dat_rodj“ type = „ xs:date“/><xs:element name = „ spol“ type = „ xs:string“/><xs:element name = „ mat_br“ type = „ xs:string“/>

</xs:sequence></xs:complexType>

</xs:sequence></xs:complexType></xs:schema>

Otvaramo schemu. Definiramo element popis ( pošto je korijenski element definiramo ga složenimtipom).Otvaramo sekvencu za definiranje tog složenog tipa.Element Student je također složeni tip te otvaramo sekvencu za definiranje tog složenog tipa.

Kod elemenata ime_prezime, dat_rodj, spol, mat_br možemo odrediti tip podatka. Nakon toga zatvaramo sve otvorene oznake obrnutim redoslijedom od njihovog otvaranja.

Zatvaramo sequence, zatvaramo complexType za tip student, zatvaramo sequence za popis, zatvaramosloženi tip „popis“ i zatvaramo schemu.

Page 15: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 15/21

 ELEKTRONIČKO POSLOVANJ

Primjer - Tečajna lista

DTD

<!ELEMENT TecajnaLista (

<!ELEMENT Zaglavlje (Bro<!ELEMENT BrojTL (#PCDAT<!ELEMENT DatumUtvrdjenj<!ELEMENT DatumVrijediOd<!ELEMENT Tecajevi (Teca<!ELEMENT Tecaj (SifraVaProdajniZaDevize)><!ELEMENT SifraValute (#<!ELEMENT Valuta (#PCDAT<!ELEMENT Jedinica (#PCD<!ELEMENT ProdajniZaDevi<!ELEMENT Srednji (#PCDA<!ELEMENT KupovniZaDeviz

- predavanja

Zaglavlje, Tecajevi*)>

jTL, DatumUtvrdjenja, DatumVrijediOd  )>

a (#PCDATA)>(#PCDATA)>j)>lute, Valuta, Jedinica, KupovniZaDev

PCDATA)>)>TA)>ze (#PCDATA)>TA)>e (#PCDATA)>

15

)>

ize, Srednji,

Page 16: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 16/21

 ELEKTRONIČKO POSLOVANJE - predavanja

16

Zapis

<TecajnaLista><Zaglavlje> <BrojTL>67</BrojTL><DatumUtvrdjena>04.04.2007</DatumUtvrdjena><DatumVrijediOd>05.04.2007</DatumVrijediOd></Zaglavlje>

<Tecajevi><Tecaj> <SifraValute>036</SifraValute><Valuta>AUD</Valuta><Jedinica>1</Jedinica><KupovniZaDevize>4.469885</KupovniZaDevize><Srednji>4.515035</Srednji><ProdajniZaDevize>4.564700</ProdajniZaDevize></Tecaj>

<Tecaj> <SifraValute>124</SifraValute><Valuta>CAD</Valuta><Jedinica>1</Jedinica><KupovniZaDevize>4.756874</KupovniZaDevize><Srednji>4.800075</Srednji><ProdajniZaDevize>4.852876</ProdajniZaDevize></Tecaj>

</Tecajevi><TecajnaLista>

Page 17: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 17/21

 ELEKTRONIČKO POSLOVANJE - predavanja

17

XML Schema

<?xml version="1.0" encoding="ISO-8859-1" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="TecajnaLista">

<xs:complexType><xs:sequence><xs:element name="Zaglavlje"><xs:complexType><xs:sequence><xs:element name="BrojTL" type="xs:string"/><xs:element name="DatumUtvrdjenja" type="xs:string"/><xs:element name="DatumVrijediOd" type="xs:string"/></xs:sequence>

</xs:complexType></xs:element><xs:element name="Tecaj" maxOccurs="unbounded"><xs:complexType>

<xs:sequence><xs:element name="SifraValute" type="xs:string"/><xs:element name="Valuta" type="xs:string" minOccurs="0"/><xs:element name="Jedinica" type="xs:positiveInteger"/><xs:element name="KupovniZaDevize" type="xs:decimal"/><xs:element name="Srednji" type="xs:decimal"/><xs:element name="ProdajniZaDevize" type="xs:decimal"/>

</xs:sequence></xs:complexType>

</xs:element></xs:sequence>

</xs:complexType></xs:element></xs:schema>

Page 18: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 18/21

 ELEKTRONIČKO POSLOVANJE - predavanja

18

(3.) Napredni elektronički potpis

- važno je osigurati integritet i autentičnost razmjenjenih sadržaja- jedan od najčešćih mehanizama koji nam u tome može pomoći je elektronički potpis

Elektronički potpis još možemo zvati i digitalnim potpisom, naprednim elektroničkim potpisom.

Zašto elektronički potpis ?Kada imamo pisani dokument tj. pisani papirnati dokument, najčešće ga ovjeravamo našim pisanim potpisom.

Pisani potpis

- ne može se krivotvoriti- autentičan je ( karakterizira jednu osobu )- nije ga moguće ponovo koristiti

- potpisani dokument je nepromjenjiv- ne može se poricati

Digitalni potpis - mehanizam koji će omogućiti da se sve ove navedene stavke primjene i naelektroničke dokumente i na elektroničku razmjenu podataka.

Tako je razvijen jedan mehanizam el. potpisa koji danas dolazi u više različitih oblika a kojizahvaljujući upotrebi algoritma za kreiranje sažetka i algoritma za kriptiranje tj. kriptografijuupotpunosti udovoljava postavljenim zahtjevima.

Digitalni potpis

- ne može se krivotvoriti ( koristi se mehanizam javnog ključa koji funkcionira na principu upotrebe 2ključa, privatnog i javnog ključa pri čemu je privatni ključ poznat samo pošiljatelju tj. potpisniku )

- autentičan je ( privatni ključ je svojstven samo nama tj. samo jednoj osobi )

- nije ga moguće ponovo koristiti ( potpis sa jednog dokumenta vrijedi samo za taj dokument upravozbog načina kako se taj potpis kreira, a kreira se algoritmima za kreiranje sažetka.

- potpisan dokument je nepromjenjiv ( dovoljno je da se u digitalnom zapisu promjeni samo 1 bit kako potpis više ne može vrijediti

- ne može se poricati

Page 19: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 19/21

 ELEKTRONIČKO POSLOVANJ

Kako funkcionira digitalni potpi

Digitalni potpis - digitalni kod kmreže.2 osnovne svrhe digitalnog potpi  - omogućiti identifikaciju poš  - osigurati autentičnost sadrža

Digitalni tj. elektronički potpis nnam on samo omogućuje da iden poruke.

U RH postoji Zakon o elektroničelektroničkog potpisa i definira

Princip rada digitalnog potpisa 

Imamo Boba i Alice. Bob želi poU 1. koraku na datoteku koja seHash algoritam ili algoritam za kkreirati njezin sažetak.Sažetak je zapravo digitalni kodalgoritma ( postoje različiti algorodnosno SSH algoritam ) temelj

Sažetak je važan kako bi se osigsažetak kreira.

U 2. koraku sažetak potpisujemo privatnim ključem i ono što je to potpis promatramo na implemensažetak datoteke.

U 3. koraku Bob šalje originalnuCertifikat je „digitalna isprava“mail adresu, domenu koja posjedCertifikat je potreban zbog toga j

 potpisnika, stoje podaci o tome kstoje podaci o tome koji se algori

- predavanja

?

 ji služi za zaštitu podataka koje se elektronički p

sailjatelja ja poruke

e štiti sadržaj od promjene i ne skriva sadržaj kojtificiramo pošiljatelja odnosno da osiguramo aut

kom potpisu koji definira što je to elektronički pačin upotrebe elektroničkog potpisa.

slati poruku Alice. Gledamo korak 1.eli digitalno potpisati primjenjuje se hash algorit

  reiranje sažetka je programski algoritam koji će

očno određene veličine koji je nastao primjenoitmi koji se koriste za to. Najpoznatiji su: MD2,m kojeg kreiramo sažetak.

rao integritet poruke tj. integritet datoteke zbog

sa svojim privatnim ključem, Bob potpisuje saž prilikom nastalo je zapravo digitalni potpis, da

acijskoj razini onda digitalni potpis nije ništa dr

 poruku, digitalni potpis iz 2. koraka i certifikat.oja jednoznačno identificira pojedinca, računalo,uje javni ključ.er u njemu stoje podaci o potpisniku, stoje podac

oji algoritam za kreiranje sažetka tj. koji hash altam za kriptiranje koristio.

19

renose putem javne

i se razmjenjuje većntičnost sadržaja

tpis, definira vrste

am.a temelju datoteke

odgovarajućegD4,MD5 algoritmi

rincipa na koji se taj

tak sa svojimkle, ako digitalnigo nego šifrirani

mrežnu adresu, e-

i o javnom ključu

oritam se koristio i

Page 20: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 20/21

 ELEKTRONIČKO POSLOVANJE - predavanja

20

Kada je Alice primila ovu poruku, ona ponavlja korak 1, dakle na primljenu poruku primjenjuje istialgoritam za kreiranje sažetka kao što je to Bob napravio u 1. koraku te kreira sažetak temeljem primljene poruke.

 Nakon toga u koraku broj 5. uzima digitalni potpis koji je dobila od Boba, iz certifikata čita algoritamšifriranja i javni ključ te primjenjuje algoritam šifriranja ( u ovom slučaju dešifriranja ) i javni ključkako bi dešifrirala digitalni potpis.Dešifrirajući digitalni potpis u koraku 5 Alice je dobila sažetak iz koraka 1.

Što je potrebno da ona provjeri da li je poruka došla od Boba i da li je poruka došla unepromijenjenom obliku ?

Potrebno je usporediti sažetak iz koraka 5 sa sažetkom iz koraka 4. Ako su ta dva sažetka ista onda seradi o poruci koja je došla od Boba te se radi o poruci koja nije promijenjena. Ako ona nisu ista, ondaili je došlo do pogreške prilikom prijenosa poruke ili je netko poruku namjerno promijenio ili porukanije došla od Boba.

To je način kako radi digitalni potpis tj. napredni elektronički potpis.Uz napredni el. potpis posljednjih godina se koristi i tzv. XML digitalni potpis.XML digitalni potpis ima jednu bitnu karakteristiku, a to je da omogućuje potpisivanje samoodređenog dijela dokumenta, a ne čitavog dokumenta kao što je to slučaj sa običnim i naprednim el. potpisom.

3 vrste XML digitalnog potpisa- detached - potpisani podaci i XML potpis su odvojeni- enveloping - potpisani podaci su ugrađeni u XML potpis- enveloped - potpis je ugrađen u podatke koje potpisuje

Budući da se radi o XML-u postoji odgovarajuća XML Schema koja definira strukturu XMLdigitalnog potpisa pri čemu je korijenski element Signature ID, nakon toga slijedi element Signed Info,nakon njega Signature Value, Key Info i Object ID.

Struktura dokumenta:

<Signature ID?><SignedInfo><CanonicalizationMethod/><SignatureMethod/>(<Reference URI ?>

(<Transforms>) ?<DigestMethod><DigestValue>

</Reference>)+</SignedInfo><SignatureValue>

(<KeyInfo>) ?(<Object ID?>)*

</Signature>

Page 21: Elektroničko poslovanje - predavanja

7/23/2019 Elektroničko poslovanje - predavanja

http://slidepdf.com/reader/full/elektronicko-poslovanje-predavanja 21/21

 ELEKTRONIČKO POSLOVANJE - predavanja

21

SignatureID je korijenski element definicije digitalnog potpisa unutar kojeg se nalazi element SignedInfo kojim se definira primjenjeni kanonizacijski algoritam te algoritam korišten sa sam potpis.

Element CanonicalizationMethod i SignatureMethod služe sa zapis naziva korištenih algoritama.

Uz to, kod XML digitalnog potpisa potrebno je navesti putanju/adresu svakog resursa na koju se on primjenjuje. Za to se koristi Reference element tj. sa URI ( Uniform Resource Identifier ) atributom.Ukoliko se kod digitalnog potpisa rade odgovarajuće transformacije, pretvorbe strukture sadržaja iz jednog oblika u drugi, tada se one navode u elementu Transform.

Digest Value element služi za pohranu kreiranog sažetka u okviru XML digitalnog potpisa. UDigestValue ćemo zapisati sažetak a u SignatureValue ćemo zapisati zapis stvarne vrijednostidigitalnog potpisa, dakle sam digitalni potpis.

Postupak kreiranja digitalnog XML potpisa je isti kao i kod naprednog el. potpisa.Prvo je potrebno kreirati sažetak. Nakon što se kreira sažetak, on se šifrira potpisnikovim privatnimključem te se šalje primatelju odnosno kasnije kod provjere radi se obrnuti postupak. Primjenjuje se i

kreira sažetak na primljenu datoteku te se on uspoređuje sa sažetkom koji se dobio dešifriranjemoriginalnog digitalnog potpisa.

Digitalni potpis bez obzira u kojem obliku on dolazio je garancija za sigurnu razmjenu podataka i prema zakonskoj regulativi i praktična iskustva pokazuju da oni sadržaji koji se razmjenjuju u el.obliku posebice ako se radi o poslovnim dokumentima i sadržajima trebaju biti digitalno potpisani. Najčešće se za to danas koristi elektronički napredni potpis odnosno XML digitalni potpis.