You are on page 1of 1135

Departamentul de Informatic i

Cibernetic Economic

Afaceri electronice

Prof. univ. dr. Fl. NSTASE


Obiective

nsuirea noiunilor fundamentale pentru utilizarea


informaiilor/serviciilor oferite prin afacerile electronice, precum
i dezvoltarea de afaceri proprii;

Contientizarea importanei metodelor electronice n distribuire a

informaiei/serviciilor, dar i a ameninrilor;

Cunoaterea modalitilor de promovare on-line a afacerii;

Cunoaterea aspectelor de baz privind securitatea afacerilor din


mediul virtual. 2
Evaluarea
Proba scris va avea la baz suportul de curs (platforma
http://online.ase.ro/) i se va susine n activitatea de curs (de
comun acord vom stabili data): 3 puncte (30%) ;
Rezolvarea temelor solicitate n activitatea de curs i ncrcarea lor pe
platforma online.ase.ro: 2 punct (20%);
Proba practic (cerinele vor fi anunate n activitatea de seminar): 5
puncte (50%);

Observaie. Toate probele sunt obligatorii.

3
Cuprins curs

Contextul actual al dezvoltrii afacerilor

Afaceri electronice - noiuni generale

Tehnologii/ standarde/ platforme pentru dezvoltarea afacerilor


electronice

Securitatea n afacerile electronice

Tendine n afacerile electronice

4
Introducere
Rolul TIC n afaceri

Competene TIC

Contextul actual

Agenda digital pentru Europa

eRomania

5
Rolul TIC n afaceri

Tehnologia are o putere incredibil de a mbunti viaa oamenilor, a


stimula creterea economic i de a crea oportuniti pentru persoane
fizice, companii i naiuni din ntreaga lume.

Tehnologiile din mediul electronic se concentreaz pe tehnologii ale


informaiei i comunicaiilor (TIC), precum i pe arhitecturi ale
sistemelor utilizate pentru a crea i gestiona tranzaciile on-line.

6
Rolul TIC n afaceri

Noiunea de noua economie (economie digital) a fost lansat la


sfritul anilor 1990 i se refer la impactul tehnologiilor
informaiei i comunicaiei (TIC) asupra economiei.

Utilizarea TIC n activitile economice i sociale asigur accesul,


prelucrarea i stocarea informaiei ntr-un mod mai ieftin i mai
facil.

Era digital schimb modul n care acioneaz i se comport


persoanele i determin transformri majore la nivel macro.
7
Rolul TIC n afaceri

TIC n mediul de afacere se poate utiliza pentru:


nregistrarea datelor

stocarea datelor

regsirea datelor

prelucrarea datelor

comunicaie

8
Rolul TIC n afaceri

Domeniile de utilizare TIC:

administraie
o servicii publice i conexiunea dintre ele
o platforme i interfee de tip e-Guvernare
o structuri locale i centrale, publice i private implicate n acest proces i
cooperarea dintre ele
o proceduri de lucru pentru dezvoltarea de soluii de e-Guvernare i pentru
gestionarea activitatii ulterioare de e-Guvernare
o sistem centralizat electronic de autentificare a utilizatorilor i identificare unic
a utilizatorilor
9
Rolul TIC n afaceri

Domeniile de utilizare a TIC:


Educaie:
o asigurarea infrastructurii TIC n coli i dezvoltarea competenelor digitale ale
elevilor, studenilor i profesorilor
o utilizarea TIC n procesul de nvatare i n procesul de formare continu
o dezvoltarea compeentelor cadrelor didactice i instruirea acestora (includerea
subiectelor de securitate cibernetic)
Sntate:
o asigurarea interoperabilitii sistemelor informatice medicale i asigurarea unor
sisteme de tip big data
o promovarea telemedicinei
10
Rolul TIC n afaceri

Domeniile de utilizare a TIC:

Afaceri: utilizarea TIC reprezint elementele-cheie n dezvoltarea unui lan


de valori din companie, precum: achiziia, producia, marketingul, vnzrile
etc.
o eficientizare a operaiunilor
o noi produse, servicii i modele de afaceri
o mbuntirea lurii deciziilor
o avantaje competitive

11
Rolul TIC n afaceri

Utilizarea TIC n ntreprinderi determin:

reingineria proceselor;

schimbri majore n ceea ce privete strategia, structura, procesul de


management, rolul angajailor;

apelarea la soluii / produse software ca suport n luarea deciziilor,


capitalizarea informaiilor i a cunotinelor din organizaie etc. ;

reconsiderarea mecanismele de coordonare (comunicare i control).

12
Rolul TIC n afaceri

Tehnologiile informaiei i comunicaiei au un rol general, fiind


folosite n majoritatea funciilor economice.
TIC este un instrument important pentru implementarea strategiei
companiei
TIC are un impact ridicat asupra afacerilor, acionnd asupra:
funciilor primare, cum ar fi producia, comercializarea i logistica;
funciilor suport, cum ar fi controlul, resursele umane, contabilitatea.

Obiectivele i aplicaiile specifice activitilor economice n


mediul electronic difer n funcie de modelul de afacere al
companiei, de mrimea acesteia i de piaa pe care opereaz.
13
Rolul TIC n afaceri

Tehnologiile privind afacerile electronice au determinat apariia unor noi


direcii de cercetare:
tehnologii i protocoale pentru afaceri electronice (n particular wireless i
multimedia);
analiza i dezvoltarea elementelor teoretice privind securitatea, data mining,
depozite de date web i aplicaii distribuite;
definirea de standarde;
arhitecturi i metodologii de inginerie software pentru dezvoltarea sistemelor
de afaceri electronice;
dezvoltarea experimental a unor aplicaii inovatoare (medii virtuale, e-
learning, negocieri electronice, rapoarte de afaceri, conformitatea cu proceduri
14
Competene TIC

Pentru transpunerea cu succes a activitilor economice i sociale n


mediul electronic este nevoie de un personal care s dein noi
competene.
Competena este capacitatea demonstrat de a aplica cunotinele, abilitile
i atitudinile pentru obinerea de rezultate observabile.
Abilitatea - capacitatea de a ndeplini sarcinile manageriale sau tehnice;
Atitudinea se refer la capacitatea cognitiv i relaional - de exemplu,
capacitatea de analiz/sintez, flexibilitate, pragmatism etc.;
Cunotinele reprezint abilitile dobndite prin educaie i/sau experien - de
exemplu, limbaje de programare, instrumente de proiectare ...

15
Competene TIC

Uniunea Europen a realizat importana TIC i a competenelor


asociate, astfel c n 2010 a fost publicat The European
e-Competence Framework (e-CF) 2.0 - http://www.ecompetences.eu/ .

e-CF este un framework de referin pentru 36 de competene TIC


care deriv din procesele : PLAN BUILD RUN ENABLE
MANAGE.

16
Competene TIC

17
Competene TIC

18
Competene TIC

Framework-ul ofer un instrument internaional i se adreseaz:


practicienilor i managerilor n domeniul TIC pentru orientarea n
dezvoltarea competenelor lor;
managerilor de resurse umane pentru anticiparea i planificarea cerinelor
de competen;
responsabililor cu educaia i formarea profesional pentru planificarea i
proiectarea eficient a programelor TIC;
elevilor/studenilor pentru orientarea lor profesional;
cercettorilor de pia i factorilor de decizie politic pentru evaluarea i
anticiparea abilitilor i competenelor TIC necesare ntr-o perspectiv pe
termen lung.
19
Competene TIC

The European e-Competence Framework se concentreaz asupra


competenelor necesare pentru:
dezvoltarea, operarea i gestionarea proiectelor i proceselor TIC;
exploatarea TIC;
luarea de decizii i dezvoltarea de strategii;
prevederea de noi scenarii.

Competenele TIC acoper trei categorii principale:


competene ale practicienilor TIC: capacitile necesare n cercetare, dezvoltare,
proiectare, planificare strategic, management, producie, consultan,
marketing, vnzri, integrare, instalare, administrare, ntreinere a sistemelor
informatice. 20
Competene TIC

Competenele TIC acoper trei categorii principale (continuare):


competene n e-business: capacitile necesare pentru a exploata
oportunitile oferite de tehnologia informaiei, inclusiv Internet, pentru a
asigura performane mai eficiente i mai eficace n diferite tipuri de
organizaii, de a explora noi posibiliti n efectuarea proceselor industriale,
comerciale i administrative, i/sau pentru a crea noi activiti.

competene de utilizare a informaticii: abilitatea de a utiliza n mod eficient


sistemele informatice. Capacitatea utilizatorilor de a nelege cum s
foloseasc produse software de baz, precum i pe cele specializate, n
activitile unei ntreprinderi.

21
Contextul actual

ncepnd cu anul 2000, EUI (Economist Intelligence Unit) a


evaluat cele mai mari economii din lume, analiznd abilitatea de
a absorbi noile tehnologii TIC i a le utiliza n beneficiul
economic i social.
EUI a fost fondat n 1946 i este o important unitate de cercetare,
analiz i prognoz n domeniul economic i al afacerilor.

n raportul EUI din 2010, denumit "Digital economy rankings


2010 (http://graphics.eiu.com/upload/EIU_Digital_economy_rankings_2010_FINAL_WEB.pdf) este
prezentat influena crescnd a TIC asupra progresului
economic i social; studiul de evaluare comparativ a acoperit 70
de ri.
22
Contextul actual

La realizarea studiului s-au luat in calcul urmtoarele categorii de


criterii (cu ponderile):
1.Conectivitatea i infrastructura tehnologic (20%) - msoar gradul n care
persoanelor fizice i juridice pot accesa Internetul i reelele de telefonie mobil,
astfel nct s se asigurare calitatea, fiabilitatea i securitatea.
utilizarea transmisiei n band larg ;
calitatea transmisiei n band larg ;
accesibilitatea n band larg ;
utilizarea telefoniei mobile ;
calitate transmisiilor mobile ;
utilizarea Internetului ;
lime de band pentru Internet ;
securitatea pe Internet ; 23
Contextul actual

2. Mediul de afacere (15%) n evaluarea climatului general de afacere,


Economist Intelligence Unit a urmrit 74 sub-indicatori. Criteriile acoper
factori cum ar fi:

puterea economic;

stabilitatea politic;

fiscalitatea;

politica n domeniul concurenei;

piaa forei de munc;

deschiderea ctre afaceri i investiii.


24
Contextul actual

3. Mediul social i cultural (15%) - educaia este o condiie prealabil pentru


a putea utiliza serviciile Internet. Criteriile analizate:
nivelul educaional (msurat prin sperana de via colar, nvmnt
obligatoriu i nvmnt superior);

competene digitale (alfabetizarea digital este vital);

spiritul antreprenorial;

competenele tehnice ale forei de munc;

gradul de inovare (msurat prin brevete, bugetul alocat pentru cercetare &
dezvoltare) .

25
Contextul actual

4. Mediul juridic (10%) dezvoltarea e-business depinde att de cadrul legal


general al rii, ct i de legile specifice care reglementeaz utilizarea
Internetului.
eficacitatea cadrului juridic tradiional ;

legi care se refer la Internet ;

nivelul de cenzurare pe Internet ;

uurina de nregistrarea a unei noi afaceri ;

identificarea electronic .

26
Contextul actual

5. Politica guvernamental i viziunea (15%) s-a evaluat msura n care


guvernele au adoptat deja noile tehnologii n serviciile publice i a fost
stabilit o foaie de parcurs clar pentru a conduce rile lor spre un viitor
digital.
ponderea cheltuielilor guvernamentale din PIB alocate pentru TIC

strategia de dezvoltare digital ;

strategia de e-guvernare ;

achiziii publice online ;

disponibilitatea unor servicii publice online pentru ceteni i ntreprinderi .

27
Contextul actual

6. Consumatorii i adoptarea de afaceri (25%) - n timp ce infrastructura,


conectivitatea, mediile sociale, juridice i politice sunt necesare unei platforme
pentru o economie digital, utilizarea efectiv a canalelor digitale de ctre
persoanele fizice i companii este o msur a implementrii cu succes.
cheltuielile de consum n domeniul TIC pe cap de locuitor ;

nivelul de dezvoltare a e-business;

utilizarea Internetului de ctre consumatori (evalund att gama de servicii Internet


utilizate de ctre persoane fizice, ct i activitatea lor de cumprare online);

utilizarea serviciile publice online de ctre ceteni i ntreprinderi .

28
Contextul actual

Clasamentul EUI dup scorul general (sursa:Digital economy rankings 2010, EUI)
29
Contextul actual

Scorul pe categorii pentru ri din prima parte a clasamentului EUI


(sursa:Digital economy rankings 2010, EUI)
30
Contextul actual

Scorul pe categorii pentru ri din a doua parte a clasamentului EUI


(sursa:Digital economy rankings 2010, EUI) 31
Contextul actual

Clasamentul realizat permite guvernelor s compare succesul


iniiativei sale tehnologice cu celelalte ri.
Clasamentul ofer, companiilor care doresc s investeasc pe
plan internaional, o imagine de ansamblu a locaiilor
promitoare pentru afaceri, dintr-o perspectiv n domeniul
TIC.

32
Contextul actual

Dac n Raportul global asupra tehnologiei informaiei din 2013 (The


Global Information Technology Report 2013), publicat de Forumul
Economic Mondial (World Economic Forum) i INSEAD, era prezentat
rolul TIC n dezvoltarea economic i meninerea de avantaje
concureniale;

n raportul din 2015 se menioneaz c TIC acioneaz ca un vector al


dezvoltrii i transformrii sociale, prin mbuntirea accesului la
serviciile de baz, mbuntirea conectivitii i crearea de oportuniti
de angajare. 33
Contextul actual

Conform raportului din 2015 (The Global Information Technology


Report 2015):

Digitalizarea este definit ca fiind adoptarea n mas a serviciilor online

Digitalizarea permite conectarea de consumatori, ntreprinderi i guverne.

Digitalizarea este un factor fundamental al creterii economice i crearea de


locuri de munc n ntreaga lume, att pentru pieele dezvoltate, ct i pentru
cele n curs de dezvoltare.

Romania se situeaz pe locul 63, fa de locul 75 ocupat n anul 2013.


Studiul a luat n considerare situaia din 143 de ri.

34
Contextul actual

(Sursa: The Global Information Technology Report 2015, p. 8) 35


Contextul actual

(Sursa: The Global Information Technology Report 2013, 2013 World Economic Forum, p. 11) 36
Contextul actual

n analiza prezentat n raport s-au luat n calcul patru categorii de


indicatori:

A. Mediu C. Utilizarea
1. Mediul politic i de reglementare 6. Utilizarea individual (7 indicatori)
(9 indicatori) 7. Utilizarea n afaceri (6 indicatori)
2. Mediul de afacere i de inovare (9 8. Utilizarea la nivel guvernamental (3
indicatori) indicatori)

B. Disponibilitatea D. Impact
3. Infrastructura (4 indicatori) 9. Impactul economic (4 indicatori)
4. Accesibilitatea (3 indicatori) 10. Impactul social (4 indicatori)
5. Competene (4 indicatori)

37
Contextul actual

The Networked Readiness framework


(Sursa: The Global Information Technology Report 2015, p. 5)
38
Contextul actual

n martie 2010, Comisia European a lansat Strategia Europa 2020 pentru


ieirea din criz i pregtirea economiei UE pentru provocrile deceniului
urmtor.

Strategia Europa 2020 propune o viziune asupra economiei Europei pentru


urmtorul deceniu i se bazeaz pe trei domenii prioritare:
creterea economic inteligent, dezvoltarea unei economii bazate pe cunoatere
i inovare;

creterea economic durabil, promovarea unei economii competitive, cu emisii


sczute de carbon i o utilizare eficient a resurselor;

creterea economic inclusiv, promovarea unei economii cu un grad ridicat de


ocupare a forei de munc, care s genereze coeziune social i teritorial. 39
Contextul actual

Pentru ndeplinirea obiectivelor prevzute, Comisia propune o


agend Europa 2020 constnd dintr-o serie de iniiative-pilot:
o uniune a inovrii

tineretul n micare

o agend digital pentru Europa (http://ec.europa.eu/information_society/digital-


agenda/index_en.htm)

o Europ care i utilizeaz eficient resursele

o politic industrial pentru o cretere economic verde

o agend pentru noi competene i locuri de munc

platforma european mpotriva srciei

40
Agenda digital pentru Europa

Agenda digital are ca scop definirea rolului de motor a


tehnologiei informaiei i comunicaiilor (TIC) n realizarea
obiectivelor propuse prin Strategia Europa 2020.
Obiectivul general al Agendei digitale este de a aduce beneficii
economice i sociale durabile datorit unei piee unice digitale
bazate pe Internet rapid i ultrarapid i pe aplicaii
interoperabile.

41
Agenda digital pentru Europa

Principale obstacole identificate n realizarea obiectivului


Agendei digitale sunt:
piee digitale fragmentate;

lipsa de interoperabilitate;

creterea criminalitii cibernetice i riscul de ncredere sczut n reele;

lipsa investiiilor n reele;

eforturi insuficiente n materie de cercetare i inovare;

nivelul sczut de alfabetizare digital i lipsa competenelor n materie;

oportuniti pierdute de soluionare a unor provocri societale. 42


Agenda digital pentru Europa

O pia digital unic dinamic pentru a putea beneficia de avantajele


erei digitale. Rezolvarea reclam aciuni n urmtoarele domenii:

Deschiderea accesului la coninut prin simplificarea acordrii i a gestionrii


drepturilor de autor i acordarea licenelor transnaionale

Simplificarea tranzaciilor online i a celor transnaionale prin:

realizarea unui spaiul unic de plat n euro (Single Euro Payment Area SEPA)

furnizarea unui cadru juridic pentru recunoaterea i interoperabilitatea


transfrontalier a sistemelor de autentificare electronic securizat (secure
eAuthentication systems);
43
Agenda digital pentru Europa

O pia digital unic dinamic pentru a putea beneficia de avantajele


erei digitale. Rezolvarea reclam aciuni n urmtoarele domenii (continuare):
Cldirea ncrederii n mediul digital prin:
revizuirea cadrului de reglementare a proteciei datelor cu caracter personal

propunerea unui instrument opional relativ la dreptul contractelor, care s


completeze directiva privind drepturile consumatorului

propunerea unui sistem de soluionare a litigiilor online la nivelul UE

publicarea unui Cod al drepturilor online n UE

crearea unei platforme a prilor interesate, destinat mrcilor de ncredere


online ale UE, n special pentru site-urile de vnzare cu amnuntul.

Consolidarea pieei unice a serviciilor de telecomunicaii 44


Agenda digital pentru Europa

Platforma pentru soluionare online a litigiilor (SOL) este n


dezvoltare
(https://webgate.ec.europa.eu/odr/main/index.cfm?event=main.home.chooseLanguage).

45
Agenda digital pentru Europa

Se menioneaz c, n prezent (martie 2016), platforma SOL nu


conine entiti de soluionare pentru anumite sectoare i pentru
urmtoarele ri: Croaia, Germania, Lituania, Luxemburg,
Malta, Polonia, Romnia, Spania (Croaia, Luxemburg,
Polonia, Romnia, Spania 2 octombrie 2016).
Prin urmare, este posibil s nu se poat utiliza platforma SOL pentru
a soluiona un litigiu cu un comerciant care are sediul ntr-una dintre
aceste ri.

46
Agenda digital pentru Europa

Prima pagin alocat Romniei n cadrul platformei online de


soluionare a litigiilor
(https://webgate.ec.europa.eu/odr/main/?event=main.home.show&lng=RO)

47
Agenda digital pentru Europa

Formularul reclamaiei consumatorului mpotriva unui comerciant.

48
Agenda digital pentru Europa

Interoperabilitate i standardizare este nevoie de o


interoperabilitate eficace ntre produsele i serviciile IT pentru a construi o
societate cu adevrat digital. Rezolvarea prin:

mbuntirea standardizrii TIC prin revizuirea politicii europene de


standardizare

promovarea unei mai bune utilizri a standardelor (standarde aplicabile)

creterea interoperabilitii prin coordonare

49
Agenda digital pentru Europa

Interoperabilitate i standardizare (continuare)


La nivel european au existat o serie de iniiative n domeniul
interoperabilitii.

(sursa: EIF (European Interoperability Framework) for European public services p.4)
50
Agenda digital pentru Europa

ncredere i securitate
instituirea unei politici n domeniul securitii reelelor i informaiilor
consolidate i de nivel nalt, inclusiv a unor iniiative legislative cum ar fi
modernizarea Ageniei pentru Securitatea Reelelor Informatice i a Datelor
(ENISA - European Network and Information Security Agency)
Iniiative legislative, viznd combaterea atacurilor cibernetice ndreptate
mpotriva sistemelor informatice i a unor norme n materie privind
jurisdicia n spaiul cibernetic la nivel european i internaional
instituirea unei Platforme europene de combatere a criminalitii
cibernetice
S instituie sau s adapteze platforme naionale de alert la platforma
Europol de combatere a criminalitii cibernetice
51
Agenda digital pentru Europa

Motive de a nu cumpra online - % de persoane care nu au efectuat nicio


achiziie online n cursul anului 2009 (Sursa: Eurostat - Studiu comunitar din 2009 privind
utilizarea TIC n gospodrii i de ctre persoanele fizice)
52
Agenda digital pentru Europa

Acces rapid i ultrarapid la Internet prin:


Garantarea acoperirii universale de band larg la viteze mrite
Stimularea desfurrii reelelor NGA (Next Generation Access)
Deschiderea i neutralitatea internetului

Situaia FTTH (Fibre to the Home) n luna iulie 2009 (Sursa: Point Topic) 53
Agenda digital pentru Europa

Situaia FTTH n Europa (sursa: http://www.digitaltvnews.net/?p=16972)


54
Agenda digital pentru Europa

Cercetare i inovare - Europa trebuie s investeasc mai mult n


domeniul cercetrii i dezvoltrii i s se asigure c cele mai bune idei se
concretizeaz pe pia.

atragerea unor investiii private mai mari prin utilizarea strategic a


achiziiilor publice precomerciale i a parteneriatelor public-privat

utilizarea fondurilor structurale pentru cercetare i inovare

meninerea unui ritm de cretere anual de 20 % a bugetului de cercetare


i dezvoltare n sectorul TIC cel puin pe durata PC7.

55
Agenda digital pentru Europa

Creterea gradului de alfabetizare digital, dezvoltarea


competenelor digitale i a incluziunii

propunerea competenelor i alfabetizrii digitale ca prioritate n


Regulamentul privind Fondul Social European

elaborarea de instrumente de recenzare i recunoatere a competenelor


tehnicienilor i utilizatorilor TIC n spaiul european

integrarea sistemului de nvare digital (eLearning) n politicile


naionale de modernizare a educaiei i formrii profesionale
56
Agenda digital pentru Europa

Pentru evaluarea performanelor digitale nregistrate de statele


membre ale UE, Comisia European a lansat instrumentul online
DESI (Digital Economy and Society Index) (Comunicatul de
pres al Comisiei Europene din 25 februarie 2016)

DESI permite i o comparaie ntre cea ce s-a realizat i


obiectivele specifice stabilite prin Agenda digital.

DESI reunete un set de indicatori relevani cu privire la mixul de


politici digitale curente din Europa.

57
Agenda digital pentru Europa

DESI analizeaz cinci categorii principale de indicatori, care


reprezint, n general, mai mult de 30 de indicatori:
Conectivitatea: msoar dezvoltarea infrastructurii pentru transmisia n band
larg (fix/mobil), viteza i accesibilitatea n ceea ce privete preul. Accesul
rapid la servicii este o condiie necesar pentru competitivitate.
Capitalul uman / Competene digitale: se refer la competenele necesare pentru
a profita de posibilitile oferite de o societate digital:
competene digitale de baz i de utilizare de ctre populaie i de fora
de munc;
competene digitale avansate i de dezvoltare. 58
Agenda digital pentru Europa

DESI analizeaz cinci categorii principale de indicatori, care


reprezint, n general, mai mult de 30 de indicatori (continuare):
Utilizarea internetului: se refer la diversele activiti desfurate de ceteni n
mediul online:
acces la coninut, cum ar fi tiri, muzic, video, jocuri;
comunicare - apeluri video, reele sociale;
tranzacii bancare sau comerciale.

59
Agenda digital pentru Europa

DESI analizeaz cinci categorii principale de indicatori, care


reprezint, n general, mai mult de 30 de indicatori (continuare):
Integrarea tehnologiei digitale: se refer la digitizarea afacerilor prin:
distribuirea informaiilor electronice;
utilizarea identificrii prin radio-frecven (RFID Radio-Frequency
Identification),
utilizarea reelelor sociale,
utilizarea facturi electronice, a serviciilor de tip cloud i a serviciilor de
e-commerce.
Servicii publice digitale: se refer la digitizarea serviciilor publice, cum ar fi e-
guvernare i e-sntate. 60
Agenda digital pentru Europa

DESI prin principalele componente n 2016


(Sursa: http://digital-agenda-data.eu/charts/desi-components) 61
Agenda digital pentru Europa

Profilul de ar al Romniei indicatori de eBusiness n 2015


(sursa: https://ec.europa.eu/digital-single-market/en/create-graphs) 62
Agenda digital pentru Europa

Analiza unui indicator n raport cu celelalte ri


(sursa: https://ec.europa.eu/digital-single-market/en/create-graphs) 63
eRomania

n Romnia, Ministerul Comunicaiilor i Societii


Informaionale (MCSI), prin HG 12/2009, propune o strategie
unitar pentru crearea unui sistem naional coerent i integrat
pentru serviciile publice online dedicate cetenilor i mediului
de afaceri (http://www.mcsi.ro/Minister/Domenii-de-activitate-ale-MCSI/Tehnologia-Informatiei/e-Romania).
Scopul principal este realizarea proiectului eRomania, cu
componenta sa strategic de eGuvernare - fiind n concordan
cu exigenele la nivel european.
Guvernarea electronic reprezint simplificarea modurilor de
lucru prin aplicarea TIC pentru administrarea informaiilor,
comunicare i realizarea de tranzacii n cadrul i ntre
instituiile de stat, precum i ntre stat i ceteni sau companii.
64
eRomania

Obiective relevante pentru realizarea i furnizarea serviciilor de


guvernare electronic sunt (grupa 1) :
1. Dezvoltarea infrastructurii informaionale i a coninutului digital
necesar implementrii guvernrii electronice la nivel naional i
coordonarea proiectelor de e-Guvernare naionale cu proiectele de
guvernare electronic pan-europene sau regionale;
2. mbuntirea calitii i eficienei furnizrii serviciilor publice
electronice, pe baza simplificrii procedurilor administrative i
transpunerii acestora n format electronic;
3. Creterea gradului de ncredere a beneficiarilor serviciilor publice
electronice prin asigurarea securitii echipamentelor tehnice i a
produselor program, protecia datelor personale, precum i respectarea
dreptului la viaa privat;
65
eRomania

4. Colaborarea n cadrul administraiei publice pentru furnizarea de servicii


publice electronice integrate, sigure, accesibile i relevante prin
intermediul unui punct central de acces;
5. Dezvoltarea interoperabilitii sistemelor naionale de guvernare
electronic; promovarea interoperabilitii la nivel local;
6. Realizarea registrelor electronice naionale;
7. Creterea rolului mijloacelor specifice societii informaionale n actul
de guvernare;
8. Creterea performanei angajailor din administraia public n domeniul
tehnologiei informaiei i comunicaiilor;
9. Auditarea i certificarea calitii i performanei generale a tuturor
serviciilor de guvernare electronic; recunoaterea pe plan naional a
unui nivel nalt de calitate a serviciilor. 66
eRomania

Beneficiile proiectului eRomnia


pentru ceteni:
economie de timp (pentru informare, soluionarea cererilor
sau plata taxelor ctre stat);
nu mai este necesar deplasarea la ghieu;
o interfa unic cu administraia;
gsirea rapid a informaiilor;
certitudinea c informatiile sunt exacte;
acces non-stop la serviciile publice;
posibilitatea plii electronice a datoriilor ctre stat;
automatizarea circuitelor cererilor n cadrul administraiei;
urmrirea n timp real a stadiului cererii.
67
eRomania

Beneficiile proiectului eRomnia


pentru administraie:

reducerea costurilor

simplificarea procedurilor administrative

debirocratizarea

optimizarea i standardizarea proceselor interne

eliminarea corupiei

identificarea verigilor slabe i a proceselor costisitoare

eficientizarea relaiilor interinstituionale

armonizarea cu practicile europene 68


Departamentul de Informatic i
Cibernetic Economic

Afaceri electronice noiuni


generale

Prof. univ. dr. Fl. NSTASE


Cuprins

Ce este afacerea electronic?


De ce afaceri pe Internet?
Alte tipuri de reele suport pentru afaceri
Crearea de valoare prin e-Business
Beneficiile afacerilor electronice
Caracteristici ale afacerilor electronice
Importana World Wide Web pentru e-Business
Motive pentru a ncepe o afacere n mediul electronic

2
Ce este afacerea electronic?

Afacerea reprezint o activitate prin care se furnizeaz bunuri i/sau servicii


ctre consumatori, prin implicarea de aspecte financiare, comerciale i
industriale cu scopul obinerii unui profit.
De exemplu, n 1975, cnd Steve Jobs i Steve Wozniak au deschis un
magazin n garajul familiei Jobs i au nceput s lucreze la prototipul Apple
I - au nceput afacerea denumit Apple Computer.
produsul Apple I fiind cumprat, n special de cei pasionai de
calculatoare, cei doi asociai au fcut suficieni bani pentru a reinvesti n
mbuntirea i redefinirea calitii calculatorului.
n 1977 au lansat Apple II primul computer personal cu grafic color
i tastatur. Produsul a avut succes, din vnzrile obinute n primul an
de la lansarea au obinut profit. 3
Ce este afacerea electronic?

Afacerea n mediu virtual, deseori identificat ca afacere online sau


afacere electronic (e-Business) - orice afacere care utilizeaz
tehnologiile informaiei i comunicaiilor pentru execuia
activitilor sale i colaborarea cu partenerii de afacere, furnizori i
clieni.

e-Business = conceperea de noi afaceri ntr-un timp foarte scurt +


noi piee de desfacere +
noi produse/servicii/informaii (n funcie de cerine) +
servicii non-stop
4
Ce este afacerea electronic?

e-business se refer la utilizarea Web-ului, Internet-ului, Intranet-ului,


Extranet-ului (sau o combinaie a acestora) pentru administrarea afacerii.

n 1997, pentru a-i promova serviciile lor, cei de la IBM au folosit


prima dat termenul de e-business, avnd semnificaia de transformare a
proceselor-cheie de afacere prin utilizarea tehnologiilor Internet.

Amazon.com (http://www.amazon.com/) este unul dintre pionierii


afacerilor electronice.

5
Ce este afacerea electronic?

Cronologia site-urilor
web care indic
inovaia n modelul de
afacere sau modul de
comunicare n
marketing (sursa: E-Business and
E-Commerce Management -Strategy,
Implementation and Practice, Dave
Chaffey, 2009)

6
Ce este afacerea electronic?

O form particular de afacere electronic este comerul electronic.

La modul foarte general, e-commerce este schimbul de informaii prin mediul


electronic, n orice etap a lanului de aprovizionare.

e-commerce pe partea de cumprare (buy-side e-commerce) se refer la


tranzaciile pentru achiziionarea resurselor necesare de ctre o organizaie
de la furnizorii si.

e-commerce pe partea de vnzare (sell-side e-commerce) se refer la


tranzaciile implicate n vnzarea de produse/servicii ctre clienii unei
organizaii.

7
Ce este afacerea electronic?

Diferena ntre buy-side i sell-side e-commerce


(sursa: Dave Chaffey, E-Business and E-Commerce Management, 2009)
8
Ce este afacerea electronic?

n comparaie cu e-commerce, afacerea electronic (e-business) este un termen


cu o aplicabilitate mai larg;

e-business se refer nu numai la schimburile de informaii legate de cumprare


i de vnzare, dar i la susinerea proceselor de afaceri:

servirea clienilor cum ar fi prelucrarea comenzii de cumprare;

colaborarea cu parteneri de afacere, distribuitori i furnizori.

e-business cuprinde interaciuniunile business-to-business i activiti de


colaborare la nivel de aplicaii de ntreprindere i procese de afacere.

9
Ce este afacerea electronic?

Relaia dintre e-commerce (EC) i e-business (EB) poate fi:


a) comerul electronic se suprapune ntr-o anumit msur cu afacerea
electronic;
b) comerul electronic este n mare msur echivalent cu afacerea
electronic;
c) comerul electronic este un subset al afacerii electronice.

10
Ce este afacerea electronic?

Componente e-business
(sursa: https://saylordotorg.github.io/text_small-business-management-in-the-21st-
century/s08-01-e-business-and-e-commerce-the-.html) 11
Ce este afacerea electronic?

Afacerea n mediul electronic este destinat succesului ntreprinderii n


era informaiei.

Afacerea n mediul electronic ia n considerare resursele organizaiei i


ale partenerilor n moduri noi i inovatore pentru a crea avantaje
strategice.

Potenialul unei afaceri n mediul electronic include toate aspectele unei


afaceri tradiionale: strategie, procese, organizare, tehnologie.

12
Ce este afacerea electronic?

Afacerile electronice realizate prin intermediul reelelor deschise n


particular prin Internet - vor influena cel mai profund ntreprinderile.

Afacerile n mediul electronic au avut i au o puternic influen asupra


serviciilor financiare.

Viitorul afacerilor n mediul electronic nu poate fi prevzut cu exactitate.


Pentru a se putea nelege efectele pe timp lung, ar trebui s se efectueze o
analiz riguroas, bazat pe teoriile i modelele strategice i economice deja
existente.

13
De ce afaceri pe Internet?

Internetul este un mediu care permite comunicarea rapid i sigur;

Internetul permite realizarea de funcii similare cu sistemele EDI (Electronic


Data Interchange), dar la costuri mult mai reduse;

Mai mult dect att, Internetul are capabiliti pe care EDI nu le deine, i
anume, posibilitatea de procesare n timp real (fa de procesarea pe loturi),
transmiterea diverselor tipuri de date - inclusiv grafice, previziuni i desene
obinute prin proiectare asistat de calculator (CAD - computer-aided design)
etc.

14
De ce afaceri pe Internet?

MAE: Metropolitan Area Exchange


NAP: Network Access Point
ISP: Internet Service Provider

Ierarhia Internet
15
De ce afaceri pe Internet?

Majoritatea serviciilor din Internet sunt disponibile pentru orice afacere


sau utilizator care are acces la Internet.
Uneori, pentru multe aplicaii de e-business care opereaz cu informaii
senzitive ale companiei (cum ar fi date de identificare, parole, numere de
card etc.) se solicit o limitare a accesului. Dac accesul este permis
numai angajailor din interiorul unei organizaii, este vorba despre un
Intranet.
Intranet-ul permite angajailor unei companii partajarea informaiilor i
resurselor sale.

16
De ce afaceri pe Internet?

nc din 2002, n urma realizrii unui studiu n care au fost implicai 275
de manageri intranet, n revista CIO au fost menionate principalele
avantaje ale unui intranet:
partajarea informaiilor n condiii mai bune;
comunicarea i schimbul de informaii mbuntite;
consistena i precizia sporit a informaiilor;
procesri reduse sau eliminate;
publicare facil a informaiilor n organizaie.

n cazul n care accesul la serviciile unei organizaii este extins i la alii


din exterior (clieni, furnizori), dar nu pentru toi din afara companiei,
este un Extranet.
17
De ce afaceri pe Internet?

Legtura ntre Internet, Extranet i Intranet


(sursa : http://www.emeraldinsight.com/content_images/fig/1770120204002.png) 18
De ce afaceri pe Internet?

Internetul a fost redefinit - acum civa ani se discuta despre conectarea laptop-
urilor, smartphone-urilor i a tabletelor; n prezent, un lider de afacere trebuie
s-i construiasc o strategie avnd n vedere posibilitatea de conectare a
persoanelor, proceselor, datelor i lucrurilor. Cisco se refer la acest nou
Internet ca fiind "Internetul tuturor lucrurilor " ("Internet of Everything).

Internet of Everything ar putea genera o valoare economic pentru sectorul


public de 4,6 mii de miliarde de dolari n urmtorii 10 ani, se arat n studiul
dat publicitii de Cisco la ediia din anul 2014 a CES (Consumer Electronics
Show).

Companiile pot beneficia de eficien operaional crescut, mbuntirea


serviciilor oferite clienilor i o mai bun colaborare, toate acestea conducnd la
inovaie. 19
De ce afaceri pe Internet?

VPN (Virtual Private Network) reeaua virtual privat ofer un mijloc de


comunicare sigur ntre calculatoare de la distan, ntr-o zon a unei reele
publice de tip WAN (Wide Area Network ), cum ar fi Internetul.

VPN se poate implementa la nivel de:


intranet - n cadrul unei organizaii;

extranet - n afara unei organizaii;

accesul de la distan pentru angajaii companiei.

20
De ce afaceri pe Internet?

VPN (Virtual Private Network)


21
De ce afaceri pe Internet?

Modul de lucru VPN


22
Alte tipuri de reele suport pentru afaceri

VAN (Value Added Networks) reele private dedicate schimburilor EDI


(Electronic Data Interchange) ntre partenerii de afaceri.

O reea cu valoare adugat simplific procesul de comunicare prin reducerea


numrului celor cu care o companie are nevoie s comunice.

VAN realizeaz acest lucru acionnd ca un intermediar ntre partenerii de


afaceri, care au la baz documente standard partajabile sau date comune.

VAN-urile pot fi utilizate de companiile mari pentru gestionarea eficient a


lanului de aprovizionare cu furnizorii lor, sau de ctre consorii industriale.

23
Alte tipuri de reele suport pentru afaceri

Reelele VAN sunt o combinaii de hardware i software care permit ca


datele trimise s fie prelucrate n funcie de nevoile companiei / industriei.

Datele sunt bazate pe standarde, putnd fi transmise pe orice reea dat.


Formatul tipic de date este XML (eXtensible Markup Language), EDI
(Electronic Data Interchange) sau alte formate binare.

Deoarece este o "reea cu valoare adugat ", valoarea vine din capacitatea
reelei de a furniza un serviciu. De exemplu, serviciul ar putea fi
transformarea (conversia) diverselor formate - de la formatul XML la
formatul EDI (UN/EDIFACT, ANSI X12) i vice-versa.
24
Alte tipuri de reele suport pentru afaceri

Reelele VAN pot oferi i alte servicii - cum ar fi, detectarea i corecarea
automat a erorilor, conversia de protocol, precum i servicii de mesagerie de
tipul store-and-forward.

VANs sunt servicii gzduite - Un serviciu gzduit combin funcii ale ISP
(Internet Service Provider) tradiional cu funcii ASP (Application Service
Provider), astfel nct companiile pot externaliza / consolida orict de multe
soluii IT.

Aceste funcii se pot referi la infrastructur, aplicaii, securitate, monitorizare,


depozitare date, dezvoltare web, gzduire site web i e-mail prin Internet sau alte
reele WAN. Serviciile gzduite permit companiilor s anticipeze costurile. 25
Alte tipuri de reele suport pentru afaceri

Exemplu de reea VAN 26


(sursa: http://2012books.lardbucket.org/books/an-introduction-to-business-v1.0/s19-05-data-communications-networks.html)
Alte tipuri de reele suport pentru afaceri

Exemple de reele cu valoare adugat:

SWIFT (http://www.swift.com/ ) VAN n domeniul bancar; ofer


platforme de comunicare, produse i servicii care permit clienilor s se
conecteze i s fac schimb de informaii financiare n siguran.

SITA (http://www.sita.aero) - conecteaz companiile aeriene i ageniile de


cltorie; SITA este lider n tehnologia informaiei i comunicaiei aplicat
n domeniul transportului aerian.

27
Alte tipuri de reele suport pentru afaceri

Exemple de reele cu valoare adugat (continuare):


TDN (Transaction Delivery Networks) - numite reele de procesare a tranzaciilor
sau platforme utilitare Internet, au aprut pentru prima dat n 2000 i au oferit
servicii pentru managementul securitii end-to-end n tranzactiile electronice.
TDNs garanteaz livrarea i autentificarea mesajelor.
n mod normal, TDNs folosesc o arhitectur de mesagerie de tipul store-and-
forward, fiind proiectate pentru a se adapta uor la o gam larg de sisteme i s
suporte orice fel de tranzacie.
De exemplu, B2BE TDN (http://www.b2be.com) este capabil s opereze cu orice
format de document, fie c este vorba de un standard al unei industrii, cum ar fi
UN/EDIFACT, ANSI X12 sau cXML sau formate proprietare care pot fi specifice
partenerilor de afacere sau mediului de afacere.

28
Alte tipuri de reele suport pentru afaceri

Exemple de reele cu valoare adugat (continuare):

WSNs (Web Services Networks) sunt caracterizate de arhitecturi orientate pe servicii


slab cuplate. Supor standarde, cum ar fi XML, SOAP (Simple Object Access Protocol),
WSDL (Web Services Description Language) i UDDI (Universal Description Discovery
and Intergration). Acest lucru ajut furnizorii de servicii web s menin n ofertele lor un
design simplu. (http://o2networks.com.au/)

iVAN (http://ivans.com) - reea cu valoare adugat n domeniul asigurrilor fiind lider n


realizarea de soluii n acest domeniu.

29
Alte tipuri de reele suport pentru afaceri

Reelele mobile. Mobilitatea se poate manifesta :


de la utilizarea unor dispozitive necablate i deplasabile
ntr-o anumit zon limitat la nivelul unei ncperi sau
cldiri
pna la folosirea unor dispozitive mobile n orice zon
geografic.
La modul general, termenul de mobilitate nu se refer la
dispozitiv ca atare, ci mai degrab la persoana care este mobil.
n acest context, se face referire la abilitatea unei persoane de a
accesa o aplicaie din diverse locaii ale unei zone geografice,
care poate ajunge i chiar depi suprafaa unei ri.
30
Alte tipuri de reele suport pentru afaceri

Prin noile aplicaii din reelele wireless utilizatorii au acces la o


serie de servicii care includ:
transmisiile vocale pentru comunicarea telefonic;
transmisiile de date permit aplicailor client s comunice de la
distan cu bazele de date i serverele de aplicaie;
lucrul n mod deconectat asigur sporirea productivitii i
folosirea operativ a intervalelor de timp cnd nu este posibil
conectarea.

31
Alte tipuri de reele suport pentru afaceri

Avantajele reelelor wireless sunt:


Mobilitatea utilizatorilor: accesul la resursele de reea fr o conexiune
fizic;

Instalarea rapid: reeaua nu mai este cablat, se va reduce timpul de


instalare;

Flexibilitate: reeaua wireless se poate instala rapid n locaia dorit;

Scalabilitate: configurarea reelei WLAN se poate face n conformitate


cu cerinele diverselor aplicaii;

Extensibilitate: se pot conecta noi dispozitive fr cheltuieli


suplimentare. 32
Alte tipuri de reele suport pentru afaceri

Accesul la aplicaii Internet dintr-o reea wireless


33
Alte tipuri de reele suport pentru afaceri

Evoluia aplicaiilor mobile 34


Alte tipuri de reele suport pentru afaceri

Evoluia sistemelor de comunicaii mobile


(Sursa: http://www.marketstrategies.com/blog/2015/03/gimme-5-what-to-expect-from-5g-wireless-networks/)

35
Alte tipuri de reele suport pentru afaceri

3GPP -3rd Generation Partnership Project

Evoluia standardelor mobile 36


Crearea de valoare prin e-Business

Scopul oricrui proiect de e-Business este de a crea valoare, care


se poate obine prin:
Creterea profitului reducnd costurilor de producie. Acest lucru se poate
realiza n mai multe moduri diferite:
Poziionarea pe noi piee;
Creterea calitii produselor sau serviciilor;
Prospectarea de noi clieni;
Creterea loialitii clienilor;
Creterea eficienei funcionrii interne;

37
Crearea de valoare prin e-Business

Creterea motivrii personalului - trecerea de la o activitate tradiional


la o activitate de e-Business, face posibil o motivare suplimentar a
angajailor n msura n care:
Strategia general este mult mai vizibil pentru angajai i favorizeaz o cultur comun;
Modul de funcionare implic asumarea de responsabiliti pentru angajai;
Munca n echip favorizeaz mbuntirea competenelor.

Satisfacia clienilor avnd n vedere c e-Business favorizeaz:


o scdere a preurilor, determinat de o cretere a productivitii;
o mai bun receptivitate a preferinelor clienilor;
realizarea de produse i servicii care sunt potrivite nevoilor clientilor;
un mod de funcionare, care este transparent pentru utilizator.
38
Crearea de valoare prin e-Business

Relaii privilegiate cu partenerii - stabilirea de canale de comunicare cu


furnizorii are ca rezultat:
O mai bun cunoatere reciproc;
Creterea de reacie;
Capacitatea de anticipare se mbuntete;
Partajarea resurselor reciproc avantajoas.

39
Beneficiile afacerilor electronice

Beneficiile afacerilor electronice se adreseaz:


ntreprinderilor productoare de produse/servicii
clienilor[/furnizorilor/partenerilor de afaceri]
societii
dezvoltarea unei culturi IT
dezvoltarea legislaiei care s susin afacerile electronice
adoptarea unor standarde specifice

40
Beneficiile afacerilor electronice
(pentru ntreprinderi)

extinderea pe noi piee prin noi canale de comunicare - n mod rapid i cu


reducerea costurilor;

mbuntirea eficienei operaionale, a productivitii i a competitivitii, prin


restructurri interne i prin utilizarea tehnologiilor informaiei i comunicaiei;

reducerea costurilor de operare i a costurilor pentru produse i servicii;

reducerea costurilor de comunicare;

reducerea costurilor de generare, stocare, distribuire i regsire a informaiei, prin


dezvoltarea de site-uri destinate afacerilor electronice;

comunicare performant existena informaiilor i cunotinelor partajate;

facilitarea accesului la informaii interne; 41


Beneficiile afacerilor electronice
(pentru ntreprinderi)

mbuntirea relaiilor cu furnizorii i mbuntirea serviciilor pentru clieni ;

crearea unor noi produse i servicii, la cererea clienilor ;

optimizarea folosirii resurselor ;

activiti non stop ;

dezvoltarea potenialului capitalului uman ;

creterea valorii tehnologice ;

mbuntirea managementului de risc, se pot lua msuri pentru securizarea


informaiilor i tranzaciilor ;

standardizare a proceselor de afaceri.


42
Beneficiile afacerilor electronice
(pentru clieni)

i procur produsele/serviciile cnd doresc i de unde doresc;

obin informaii despre produse/servicii ntr-un timp foarte redus;

au mai multe posibiliti pentru alegerea produselor/serviciilor i pot face uor


comparaie ntre caracteristicile produselor;

au posibilitatea s interacioneze cu ali clieni, s transmit aprecieri asupra


produselor/serviciilor;

pot transmite ntreprinderilor necesitatea pentru noi produse/servicii;

familiarizarea cu tehnologia informaiei i comunicaiilor.

43
Bariere n afacerile electronice

Riscurile i lipsa de ncrederea


Fraudele
Mecanismele de securitate tot mai complexe
Lipsa de personal calificat
Lipsa modelelor de afaceri
Nivelul de cultur n domeniul tehnologiilor IT
Autentificarea utilizatorilor i folosirea restrns a infrastructurii de chei
publice
Modul de navigare pe Internet
Legislaia 44
Caracteristici ale afacerilor electronice

Omniprezena
Accesul global
Standarde universale
Bogia de informaie
Interactivitatea
Densitatea de informaie
Personalizarea/Particularizarea

45
Caracteristici ale afacerilor electronice

Omniprezena:
afacerea electronic este disponibil n orice loc i n orice moment;
din punctul de vedere al consumatorului, costurile de tranzacionare,
respectiv de participare ntr-o pia, se reduc;
la modul general, se reduce energia cognitiv necesar pentru a
finaliza o activitate de afacere
energia cognitiv - efortul mental necesar pentru completarea unei
sarcini
oamenii au tendina de a cuta opiuni, care necesit un minimum de
energie cognitiv.

46
Caracteristici ale afacerilor electronice

Accesul global:
tehnologia e-business permite ca tranzaciile comerciale s depesc
graniele culturale, naionale i demografice (vrst, venit, ras, sex,
religie) mult mai convenabil i mai eficient n comparaie cu afacerea
tradiional.
de aceast facilitate pot beneficia toi cei interesai de afacere: furnizori,
parteneri de afacere, clieni etc.
rezultatul, mrimea potenial pentru piaa afacerii este aproximativ
egal cu mrimea populaiei lumii online.

47
Caracteristici ale afacerilor electronice

Standarde universale:
E-business are nevoie de hardware (infrastructura Internet) i software pentru
distribuia de coninut (World Wide Web)
Pentru comunicarea n Internet nc din faza de nceput s-au dezvoltat
standarde care sunt acum recunoscute i acceptate n ntreaga lume (stiva de
protocoale TCP/IP).
Pentru World Wide Web Standardizarea a devenit o prioritate (HTML, XML,
HTTP, URL etc.)
Prin intermediul standardelor se pot dezvolta mai uor afacerile pornind de la
tehnologiile existente;
Standardele universale pot influena foarte mult costurile afacerii.

48
Caracteristici ale afacerilor electronice

Standarde universale:
Costurile de intrare se vor reduce, dar concurena va fi mult mai mare; de
exemplu, costul pentru gzduirea unui site poate varia ntre 2 i 16 Euro/lun (n funcie de
consumul de resurse hardware).

Descoperirea preului - preurile se pot afla cu uurin, cu un minimum de


energie cognitiv.
Deoarece e-business se dezvolt prin tehnologii standard (XML, HTML etc.),
informaiile se pot integra, agrega i sintetiza.
Standardizare Cost redus de intrare finalizarea rapid.
Standardizare integrarea informaiei oportuniti de aflare a mai multor
preuri.
Mai mult competiie + oportuniti de aflarea de preuri = preuri reduse pentru
consumator 49
Caracteristici ale afacerilor electronice

Bogia de informaie:
se refer la complexitatea i coninutul mesajelor care pot fi n format
video, audio, grafic animat. De exemplu, un banner pe Internet poate
fi mult mai sugestiv dect un panou publicitar.

50
Caracteristici ale afacerilor electronice

Interactivitatea:
spre deosebire de tehnologiile utilizate n afacerile dezvoltate n secolul
al XX-lea (exceptnd telefonul), tehnologiile actuale de e-business sunt
interactive, ceea ce nseamn c permite comunicarea bidirecional.

http://www.lego.com/en-us
http://www.mathsisfun.com/numbers/addition.html

51
Caracteristici ale afacerilor electronice

Densitatea de informaie:
Tehnologiile e-business genereaz reducerea costurilor pentru colectarea,
depozitarea, comunicarea i prelucrarea informaiei.
n acelai timp, aceste tehnologii asigur acurateea sporit i actualitatea
informaiilor, determinnd ca tot mai multe informaii importante s fie
disponibile.
Rezultat, informaiile devin tot mai numeroase, mai ieftine i de o
calitate superioar.

52
Caracteristici ale afacerilor electronice

Personalizare/particularizare:
produsele/serviciile pot fi modificate pe baza preferinelor utilizatorului
sau comportamentului anterior al acestuia.
Unele aplicaii/site-uri pentru afaceri pot fi complet controlate de ctre
client se pot modifica fonturile, culorile, imaginile i chiar meniul
pentru a aduga, terge sau schimba pagini i coninutul lor.

53
Importana World Wide Web pentru e-Business

World Wide Web (WWW sau Web sau W3) : principala modalitate de accesare
i utilizare a informaiilor de pe Internet

Web este un model pentru partajarea informaiilor din Internet

Serviciul WWW a cunoscut cea mai rapid dezvoltare pe Internet

companiile ii fac publicitate

societile/ persoane fizice cut informaii/ produse/servicii

companiile cumpra i vnd dreptul de proprietate intelectual, bunuri


fizice i servicii profesionale

54
Importana World Wide Web pentru e-Business

Evoluia web-ului (sursa: www.radarnetworks.com) 55


Importana World Wide Web pentru e-Business

Afacerilor electronice fac apel la diverse servicii disponibile prin Web:

e-mail

mesageria instantanee

motoare de cutare

Cota de pia a motoarelor de cutare n perioada 09.2012 -11.2012


[Sursa: http://www.statowl.com/search_engine_market_share.php]

56
Importana World Wide Web pentru e-Business

Afacerilor electronice fac apel la diverse servicii disponibile prin Web:

ageni inteligeni (roboi)

agent de cutare

agent pentru cumprturi (mysimon.com, nextag.com, orbitz.com, shopper.com,


shopzilla.com)

agent de monitorizare Web (websitewatcher.com, timely.com)

agent de tiri (webclipping.com, sportspider.net),

agent de conversaie (chatterbot)

57
Importana World Wide Web pentru e-Business

Afacerilor electronice fac apel la diverse servicii disponibile prin Web:

forumuri on-line i chat

stream-uri mass-media

cookies

58
Importana World Wide Web pentru e-Business

Alte servicii disponibile prin Web i folosite n afacerile electronice:

blogul: pagin Web personal care, de obicei, conine o serie de intrri


cronologice ale autorului su, precum i legturi la pagini web;

RSS (Really Simple Syndication): standard folosit de programe care permit


utilizatorilor s obin coninut digital n mod automat; utilizat n general pentru
stiri;

podcasting: prezentare audio stocat ca un fiier audio i disponibil pentru


descrcare prin web.

59
Importana World Wide Web pentru e-Business

Alte servicii disponibile prin Web i folosite n afacerile electronice:

Wiki: aplicaie Web care permite unui utilizator s aduge i editeze coninutul
de pe o pagin Web;

noi servicii video i muzicale: videocast, video digital la cerere;

telefonie prin Internet: tehnologii c utilizeaz VoIP (Voice over Internet


Protocol)

Videoconferine

Aplicaii m-commerce

60
Analiza SWOT a afacerilor electronice

Reducerea birocraiei
STRENGTHS
Procese de afaceri mai eficiente
(Puncte forte) Comunicare mai bun
Faciliti de reactualizare
Reducerea costurilor

Avansul concurenei
WEAKNESSES
Resurse reduse
(Puncte slabe)
ncrcara excesiv cu lucrri a departamentului IT

61
Analiza SWOT a afacerilor electronice

Acumularea de cunotine n domeniul IT


OPPORTUNITIES
(Oportuniti) mbuntirea profilului companiei
Teleworking (ntreprinderi virtuale)
Utilizarea eficient a resurselor umane

THREATS Securitatea datelor


(Ameninri) Utilizabilitatea
Rezistena la schimbare

62
Motive pentru a ncepe o afacere n mediul
electronic

Costul redus pentru demarare. Acest lucru este un plus pentru oricine care
nu dispune de o sum semnificativ pentru nceperea unei afaceri. n
funcie de ce se dorete a se face, totui, costurile variaz. n general,
veniturile iniiale sunt destul de reduse. Trebuie apreciat c lansarea unei
afaceri n mediul electronic este o modalitate sigur de a nva cum se
deruleaz acest tip de afacere.
Responsabilitate redus. Urmrile falimentarii unui magazin ntr-o lume
virtual sunt mai uor de suportat dect ntr-o lume real. Excepia o
reprezint cazurile n care tranzaciile sunt ilegale (se ncalc drepturile de
autor), se urmrete fraudarea clienilor.

63
Motive pentru a ncepe o afacere n mediul
electronic

Scalabilitate. n funcie de modelul de afacere, o afacere electronic poate


s creasc mult mai uor dect una real. Fr preocuprile din lumea real
privind aprovizionarea, depozitarea, precum i costurile de livrare, este la
fel de ieftin pentru a vinde zece articole, o mie sau mai multe. Prin urmare,
extinderea sau nchiderea magazinelor nerentabile se poate face rapid.
Independen. Nu este necesar o cldire de birouri. Un laptop, ct de ct
performant, cu un acces la Internet este tot necesarul pentru a derula o
afacere electronic.

64
Motive pentru a ncepe o afacere n mediul
electronic

Surs de venit viabil. De exemplu, Second Life a estimat c aproximativ 50.000 de


persoane desfoar diverse activiti economice prin platforma sa.
Second Life (SL) este o lume virtual dezvoltat de Linden Lab care a fost lansat pe 23
iunie 2003 i este accesibil prin intermediul Internetului. Un program client gratuit,
Second Life Viewer, permite utilizatorilor si, numii rezideni, s interacioneze unii cu
alii prin intermediul avatarurilor. Rezidenii pot explora, ntlni ali rezideni, socializa,
participa la activiti individuale i de grup. De asemenea, pot crea i comercializa
proprieti virtuale i servicii sau pot cltori n ntreaga lume.
primul milionar al platformei Second Life a fost Anshe Chung
(http://www.businessweek.com/the_thread/techbeat/archives/2006/11/second_lifes_fi.html) - a
dezvoltat o afacere cu terenuri n lumea virtual
Reeaua de clinici private Centrul Medical Unirea (CMU ) a lansat "CMU Virtual"
(www.cmu.ro), primul centru medical pe platform Second Life, n Virtual Bucharest, la
cteva sptmni dup ce BCR i-a lansat un astfel de centru. 65
Bibliografie

Michael P. Papazoglou, Pieter M. A. Ribbers, E-business: Organizational


And Technical Foundations, John Wiley, 2006
Resurse Internet

66
Departamentul de Informatic i
Cibernetic Economic

Modele de afaceri

Prof. univ. dr. Fl. NSTASE


Cuprins

Introducere
Definiii ale modelului de afacere
Framework-uri pentru modele de afacere
Business Model Canvas
Four-Box Business Model
STOF Model
Clasificare a modelelor de afacere

2
Introducere

ncepnd cu jumtatea anilor 1990, termenul model de afacere a fost utilizat pe


scar larg.
Modelul de afacere ndeplinete cinci categorii de funcii (Osterwalder, 2005):
1. nelegere i partajare: captarea, vizualizarea, nelegerea, comunicarea i
partajarea;
2. Analiza: evaluarea, urmrirea, observarea i compararea;
3. Management: proiectarea, planificarea, modificarea, implementarea,
reacionarea, alinierea i mbuntirea deciziilor;
4. Prospectare (viitor): inovarea, simularea i testarea;
5. Brevetarea.

3
Introducere

Al-Debei i colaboratorii, n articolul Defining the Business Model in the New


World of Digital Business (2008) prezint diferenele ntre afacerea tradiional i
cea digital.

(Sursa: Al-Debei, Defining the Business Model, 2008) 4


Introducere

Lumea afacerilor digitale a creat un decalaj ntre strategia de afacere i cea a


proceselor de afacere. Translatarea strategiei de afacere n procese de afacere a
devenit o provocare.
Modelul de afacere faciliteaz compatibilitatea ntre strategia de afacere i procesele
de afacere - reprezentnd o interfa (un intermediar) ntre ele.
n 2010, Al-Debei i Avison prezint funciile modelului de afacere ca instrument de
aliniere ntre strategie i procesele de business / IT.

(Sursa: Al-Debei, Defining the Business Model, 2008) 5


Introducere

Mediul pentru afacerea electronic


(http://www.prudens.com/patens/ebusiness/busmodel.html)
6
Introducere

nc din 2001, Gordijn i Akkermans au menionat rolul modelelor de e-business,


ca prim pas n analiza cerinelor sistemelor informatice de e-business.

Locul modelului de afacere n cadrul companiei (sursa: Osterwalder 2004) 7


Introducere

Componente ale
modelului de afacere
ntrebri-cheie
Propunerea de valoare De ce ar trebui un client s cumpere de la dvs.?
Modelul pentru venituri Cum vei ctiga bani?
Oportunitile de pia Ce pia ai intenia s serveti i care este mrimea ei?
Mediu competitiv Cine altcineva ocup piaa pe care intenionai s v lansai?
Avantaje competitive Ce avantaje speciale are firma dumneavoastr pentru a le aduce pe pia ?
Strategia de pia Cum ai planificat promovarea produselor dvs. pentru atragerea clienilor?

Dezvoltarea Ce tipuri de structuri organizatorice n cadrul firmei sunt


organizaional necesare pentru ndeplinirea planului de afacere?

Echipa de management Ce pregtire i experien trebuie s dein liderii companiei?


8
Introducere

Pentru nelegerea conceptului de model de afacere se vor urmri elementele


relevante:
definiii;
framework-uri;
prototipuri i clasificri.

9
Definiii ale modelului de afacere

Osterwalder i colab. (2005) au definit un "model" ca o descriere simplificat i o


reprezentare a unei entiti complexe sau a unui proces complex.
Modelul de afacere este o reprezentare abstract a unei afaceri/organizaii.
Modelul de afacere poate fi conceptual, textual, i/sau grafic i descrie logica
modului n care se creeaz o companie, se produce i se obine valoare.
Model de afacere definete organizarea produciei, serviciilor i fluxurilor de
informaii, precum i sursa de venituri i beneficii pentru furnizori i clieni.
Conceptul de model de afacere este frecvent utilizat n activitatea de management,
ca o metod pentru analizarea i nelegerea logicii de afaceri a unei companii.
Modelul de afacere reprezint un instrument valoros pentru manageri, se poate
folosi pentru creterea valorii companiilor i mbuntirea activitilor.

10
Definiii ale modelului de afacere

n 1998 P. Timmers, prin articolul Business Models for Electronic Markets


susine c un model de afacere ar trebui s descrie actorii afacerii, rolurile
lor, beneficiile poteniale ale modelului de afacere, precum i posibilele
venituri.

Timmers arat c modelul de afacere ar trebui s fie completat cu un model de


marketing, care este strategia de marketing pentru actorii de afacere.
O alt definiie pentru modelul de afacere provine de la Mahedevan din 2000.
Conform acestuia, modelul de afacere cuprinde trei componente:
un flux de valoare,
un flux de venituri,
un flux pentru logistic.
11
Definiii ale modelului de afacere

n 2003, Hedman & Kalling dau o definiie general pentru modelul de afacere,
prin care se refer la: 1) clieni, 2) concureni, 3) furnizori, 4) activiti de
organizare, 5) resurse, 6) factori de producie.

Un nou model de afacere este o inovaie. Conceptul de model de e-business


este aceelai, dar se refer la un model de afacere utilizat n mediul electronic,
n particular n Internet-ul.

12
Framework-uri pentru modele de afacere

n lucrarea Understanding business models, Erwin Fielt prezint


serie de framework-uri pentru modele de afaceri, cum ar fi:
Business Model Canvas (Osterwalder & Pigneur)
Four-Box Business Model (Johnson)
STOF sau Service, Technology, Organization and Finance model
(Bouwman, De Vos & Haaker)
Business Model Schematics (Weill & Vitale)
Technology/market mediation (Chesbrough & Rosenbloom)
Entrepreneurs business model (Morris, Schindehutte & Allen)
e3-value (Gordijn & Akkerman)
13
Business Model Canvas

n lucrarea "Business Model


Generation", A. Osterwalder i Y.
Pigneur (2010) prezint Business
Model Canvas ca fiind reprezentat
printr-o diagram cu elemente care
descriu propunerea de valoare a unei
firme sau a unui produs,
infrastructura, clienii i partea
financiar.

Diagrama are o structur predefinit, alctuit din 9 blocuri - fiecare bloc


reprezent o component a modelului de business.
14
Business Model Canvas

Business Model Canvas prezint un limbaj pentru descrierea, vizualizarea,


evaluarea i modificarea modelelor de afaceri.

(Sursa: Business Model Generation) 15


Business Model Canvas

Cele 9 blocuri ale Business Model Canvas sunt:


Customer Segments (Segmente de clieni): diversitatea consumatorilor poate fi
grupat n funcie de necesitile i caracteristicile lor;
Value Proposition (Propunerea de valoare): prezint valoarea propus
consumatorilor identificai anterior. Valoarea propus segmentelor de
consumatori se va analiza din perspectiva unor caracteristici ale
produsului/serviciului, cum ar fi: noutatea, performana, personalizarea pe
segmente de consumatori sau individual, utilitatea, design, pre,
accesibilitatea, reduceri de riscuri, uurina de utilizare etc.

16
Business Model Canvas

Valoarea propus segmentelor de consumatori

(Sursa:
https://docs.google.com/presentation/d/1wObawm1l49FPdEDcPX65WrujmYvvy0el2HgmarmJS2M/edit#slide=id.g387605415_12)
17
Business Model Canvas

Cele 9 blocuri ale Business Model Canvas sunt (continuare):


Channels (Canale): compania poate ajunge la consumatorii si prin canale
proprii (magazine, piee de desfacere), canalele partenerilor (distribuitori
majori) sau o combinaie a celor dou categorii.
Customer Relationships (Relaii cu clienii): vor fi identificate tipurile de
relaii dezvoltate ntre companie i segmentele de clieni - asisten
personal, autoservire, cooperare etc.

18
Business Model Canvas

Cele 9 blocuri ale Business Model Canvas sunt (continuare):


Revenue Streams (Surse de venit): modul n care compania obine venituri,
pe fiecare segment de consumatori. De exemplu, prin vnzarea de
produse/servicii, taxa de utilizare a unui serviciu, taxa de abonament
pentru un serviciu furnizat permanent, acordarea de licene, publicitate etc.

19
Business Model Canvas

Cele 9 blocuri ale Business Model Canvas sunt (continuare):


Key Resources (Resurse cheie): resursele necesare activitilor pentru crearea
de valoare propus consumatorilor fizice, intelectuale, resurse umane i
financiare.

20
Business Model Canvas

Cele 9 blocuri ale Business Model Canvas sunt (continuare):


Key Activities (Activiti cheie): se refer la cele mai importante activiti
necesare producerii i comercializrii valorii propuse de companie.

21
Business Model Canvas

Cele 9 blocuri ale Business Model Canvas sunt (continuare):


Key Partners (Parteneri cheie): se au n vedere relaiile cu clienii finali, cu
furnizorii, cu distribuitorii, cu autoritile publice.

22
Business Model Canvas

Cele 9 blocuri ale Business Model Canvas sunt (continuare):


Cost Structures (Structura costului): descrie costurile implicate n modelul
de business.

23
Business Model Canvas

Parteneri cheie Activiti cheie Valoare propus Relaille cu clienii Segmente de consumatori
Care sunt entitile fr de care nu am Ce activiti sunt necesare pentru oferirea Ce tip de relaie ateapt consumatorii s avem Ce segmente de consumatori servim i ce caracteristici
putea funciona? valorii propuse? Ce valoare livrm consumatorilor? cu ei? specifice are fiecare?
Cine sunt furnizorii notri cheie? Care sunt canalele de distribuie? Ce categorii de produse oferim? Ce relaii am stabilit? Pentru cine crem valoare?
Care sunt activitile necesare pentru relaiile Ce nevoi satisfacem prin valoarea Cum sunt integrate cu restul elementelor din Care sunt problemele pe care consumatorii vor s le
Ce resurse achiziionm de la parteneri? cu clienii? oferit? planul nostru de afacere? rezolve?
Ce activiti desfoar partenerii? Ce costuri implic aceste activiti? Ce probleme rezolvm? Ct de costisitoare sunt? Ce nevoi au consumatorii?

Resurse cheie Canale


Care sunt resursele cheie cerute de valoarea Prin ce canale doresc consumatorii notri s fie
propus? abordai?
Care sunt cele mai eficiente din punctul de
Care sunt canalele noastre de distribuie? vedere al costurilor?
De ce resurse avem nevoie pentru relaiile cu Cum sunt integrate canalele noastre i care
clienii? dintre ele funcioneaz cel mai bine?

Costuri Venituri
Care sunt costurile inerente modelului nostru de business? Pentru ce valoare sunt dispui consumatorii notri s plteasc?
Care resurse cheie sunt cele mai costisitoare? Pentru ce pltesc n momentul de fa?
Care activiti cheie sunt cele mai costisitoare? Sub ce form pltesc n momentul actual?
n ce manier ar prefera s plteasc?

Exemplu de template pentru Business Model Canvas


(Sursa: http://ctrl-d.ro/tips-and-tricks/un-model-de-business-pentru-startup-uri-business-model-canvas/)
24
Business Model Canvas

Exemplu de aplicare a Business Model Canvas reelei sociale Facebook:

(Sursa: https://bmimatters.com/tag/business-model-canvas-examples/) 25
Business Model Canvas

Ash Maurya a propus modelul Lean Canvas, ca o dezvoltare a modelului


Business Model Canvas,.
Modelul prezint o abordare concentrat pe problem i se adreseaz
antreprenorilor n faza de lansare de afaceri.

Lean Canvas (sursa: Ash Maurya, Running Lean, 2012) 26


Business Model Canvas

Elementul Business Model Canvas Lean Canvas


inta Afaceri noi i existente Lansarea de afaceri

Focalizare Clieni, investitori, antreprenori, consultani, Antreprenori


consilieri

Clieni Pune accent pe segmentele de clieni, canale i Nu se pune accent pe segmentele de clieni, deoarece
relaii cu clienii pentru toate afacerile nu se cunoate sau nu a a fost testat cum se vinde
produsul la lansarea unei afaceri.

Abordarea Stabilete infrastructura, enumer natura i sursele ncepe cu problema, o soluie propus, canalele
de finanare i fluxurile de venituri anticipate ale pentru realizarea soluiei, costurile implicate i
activitii. fluxurile de venituri anticipate.

Competiia Se concentreaz asupra propunerii de valoare din Evalueaz dac afacerea are un avantaj fa de restul
punct de vedere cantitativ i calitativ, ca modalitate i cum s profite pentru o mai bun pregtire
de a rmne inteligent pe pia.

Aplicarea ncurajeaz nelegerea, creativitatea, discuia i Este o abordare simpl orientat spre soluia
analiza constructiv problemei, care permite antreprenorului s se
dezvolte pas cu pas.

27
Business Model Canvas Tools

BM Designer (http://bmdesigner.com/) este un instrument:


gratuit
cu interfa interactiv
posibilitatea de ncorporare a modelelor de afaceri pe blog sau n pagina
web (prin iFrame)
exploreaz diferite Business Model Canvas de la ali utilizatori
opiuni multiple de export - PNG, PDF, PPT

28
Business Model Canvas Tools

(Sursa: http://bmdesigner.com/) 29
Business Model Canvas Tools

BMFiddle (https://bmfiddle.com/) -
Un instrument gratuit care ofer un
mod uor de a capta i dezvolta
ideile de afaceri (nu este nevoie de
nregistrare pentru a utiliza
instrumentul)

30
Business Model Canvas Tools

Canvanizer (https://canvanizer.com/) este un instrument care ofer:


diferite modele canvas folosite n diverse scopuri, cum ar fi model de afacere,
analiza SOWT etc.

o serie de faciliti, precum:

o posibilitatea de redenumire a titlului modelului

o import note canvas ca fiier CSV (Comma Separated Values)

o import canvas n format text pentru imprimare

o export canvas ca fiier CSV pentru importarea n alte aplicaii

o conversia i export canvas ca Slideshow 31


Business Model Canvas Tools

32
Business Model Canvas Tools

33
Business Model Canvas Tools

34
Business Model Canvas Tools

35
Business Model Canvas Tools

36
Business Model Canvas Tools

Export ca Slideshow (Test-Canvanizer- .zip) Export ca text

37
Business Model Canvas Tools

38
Business Model Canvas Tools

39
Four-Box Business Model

Four-Box Business Model (Johnson) include:


propunerea de valoare pentru client - de exemplu, compania se ocup cu
educarea, informarea clienilor pentru a-i ajuta s-i descopere nevoile
latente pentru produsele / serviciile oferite pe pia;
formula profitului - modelul venitului, structura costurilor;
resursele cheie - specialiti unici, tehnologie, produse, instalaii,
echipamente, fonduri necesare pentru a livra propunerea de valoare pentru
client;
procesele cheie - cum ar fi, procese de proiectare, dezvoltare de produse,
aprovizionare, producie, marketing, angajare i instruirea IT.

40
Four-Box Business Model

Reprezentarea grafic pentru Four-Box Business Model

41
Four-Box Business Model

Reprezentarea grafic pentru Four-Box Business Model


42
STOF Model

STOF sau Service, Technology, Organization and Finance Model (Bouwman, De


Vos & Haaker, 2008): este rezultatul cercetrii modelelor de afaceri pentru noile
servicii electronice, n special n zona de telefonie mobil.
Modelul STOF se refer la:
servicii: problema central n proiectarea unui serviciu este "valoarea": un
furnizor intenioneaz s livreze o anumit propunere de valoare i clienii /
utilizatorii finali se ateapt s primeasc o anumit valoare. Serviciile sunt
abordate prin: valoarea intenionat i livrat pe partea furnizorului, respectiv
valoarea ateptat i perceput de client.
tehnologie: pentru serviciile de telefonie mobil, consideraiile tehnologice se
refer la arhitectura i funcionalitatea tehnologic, infrastructur, reele de
acces, platforme de servicii, dispozitive, aplicaii i date. 43
STOF Model

Modelul STOF se refer la (continuare):


organizare: problemele de
organizare graviteaz n jurul
resurselor i capabilitilor, n
principal legate de tehnologie,
marketing i finane, care trebuie
s fie puse la dispoziie pentru a
permite serviciul.
finane: resursele financiare sunt
cele mai importante n luarea
deciziilor de investiii i adoptarea
modelelor de venituri. 44
Clasificare a modelelor de afacere

45
Clasificare a modelelor de afacere

46
Clasificare a modelelor de afacere

Autorii modelelor de afaceri au folosit diverse criterii, astfel:


Timmers (1998) utilizeaz 2 criterii de clasificare a modelelor sale de afaceri pe
internet:
integrarea funcional (funcie unic funcii multiple / integrate)
gradul de inovare (inferior superior)
Weill i Vitale (2001) rezum modelele lor comerciale atomice prin:
obiectivul strategic i propunere de valoare
surse de venituri
factorii critici de succes
competene de baz
dreptul de proprietate pentru client ( relaie, date, i / sau tranzacie). 47
Clasificare a modelelor de afacere

Autorii modelelor de afaceri au folosit diverse criterii, astfel (continuare):


Chen (2003) discut patru criterii pentru modele de e-business:
modelul lanului de aprovizionare (vnzri directe, vnzarea cu amnuntul pe
Internet, portal sau marketplace);
model de venituri (gratuit sau cu plat);
tipul de pia ( B2C sau B2B);
structura corporativ (internet pur sau operaii online i offline).

48
Clasificare a modelelor de afacere

Autorii modelelor de afaceri au folosit diverse criterii, astfel (continuare):


Afuah i Tucci (2003) folosesc patru dimensiuni pentru a caracteriza modelele de
afaceri:
site-ul de profit (rol n reea de valoare);
model de venituri;
strategia de comer;
model de tarifare.

49
Clasificare a modelelor de afacere

Timmers (1998) - Modele de afaceri 50


Clasificare a modelelor de afacere - Timmers

Modelul de Descrierea
afacere
E-shop Magazinul unei companii sau piaa de comercializare

E-achiziii (E- Procedura de publicare a specificaiilor cererii de ofert i achiziia


procurement) de bunuri i servicii pe Web
E-licitaie (E- Procesul prin care se cumpra sau vinde pe baza cererilor de oferte
auction) electronice (de la modelul tradiional de licitaie), dar poate integra
procedura de contractare, de plat i de livrare.
E-mall O colecie virtual de e-shop-uri

Tera parte pe Un front-end comun pentru pia i tranzacii suportate de afaceri


pia multiple
51
Clasificare a modelelor de afacere - Timmers

Modelul de afacere Descrierea

Comuniti virtuale Comunitile virtuale sunt bazate pe comunicare i schimbul de


informaie, temporar sau permanent, ntre entitile unui grup,
avnd un domeniu de interes comun
Furnizorul serviciului Specialitii n funciile specifice ale lanului de valori
pentru lanul de
valoare
Integratorul lanului Integrator a mai multe etape din lanul de valoare
de valoare

Platformele de Furnizorii instrumentelor i mediilor informatice de colaborare


colaborare
Informaii de Adaug valoare datelor disponibile n reele deschise, de
brokeraj, de ncredere exemplu, motor de cutare, elaborarea de profile client etc
i alte servicii
52
Clasificare a modelelor de afacere - Rappa, 2001

Modelul de Descrierea
afacere
Model de brokeraj Aduc mpreun cumprtori i vnztori pentru a facilita tranzaciile
(de multe ori pe baza unei taxe)
Modelul de Susinut din veniturile din publicitate, un site Web va oferi coninut i
publicitate servicii, mpreun cu publicitatea (de exemplu, prin adugarea unui
banner)
Model Infomediary Colecteaz datele despre consumatori i obiceiurile lor de cumprare
(Intermediar de i vnd aceste informaii altor ntreprinztori
informaie)
Modelul comercial Vnzarea de bunuri i servicii dup un modelul tradiional de vnzare
cu amnuntul

53
Modele de afacere Rappa, 2001

Modelul de Descrierea
afacere
Modelul Vnzare direct de ctre creatorul unui produs sau serviciu ctre
productorului consumatori, reducerea timpilor intermediari.
Modelul de Oferirea de stimulente financiare pentru site-urile partenerilor afiliai
asociere
Modelul colectiv n cazul n care utilizatorii investesc ntr-un site, de exemplu, prin
contribuia de coninut, de bani sau de timp. Modelul poate fi
combinat cu alte modele, de exemplu, publicitate sau subscriere
Modelul de Consumatorii (utilizatori) plteasc pentru accesul la site, de obicei,
subscriere pentru coninutul cu mare valoare adugat, de exemplu, pentru
informaii financiare, ziare, reviste
Modelul utilitar Un model bazat pe utilizarea msurat sau pay-as-you-go "; depinde
de modelul de microplat 54
Departamentul de Informatic i
Cibernetic Economic

Cloud computing -
infrastructur pentru afaceri

Prof. univ. dr. Fl. NSTASE


Cuprins
Provocri tehnologice
Ce este Cloud Computing?
Principalele caracteristici ale cloud-ului
Avantaje / Dezavantaje ale cloud computing
Modele de servicii cloud computing
Modele de implementare cloud computing
SLA noiuni generale
Principii de dezvoltare SLA pentru CC
Furnizori de cloud computing
Cloud Computing n Uniunea European
2
Provocri tehnologice
Progresul tehnologic va transforma viaa, afacerile i
economia global.

n raportul Disruptive technologies: Advances that


will transform life, business, and the global
economy, publicat n mai 2013 de Institutul Global
McKinsey (MGI), au fost identificate 12 domenii
tehnologice cu un posibil puternic impact asupra
modului n care oamenii triesc i muncesc, precum
i asupra mediilor industriale i economice.
(http://www.mckinsey.com/insights/business_technology/disruptive_technologies?cid=disruptive
_tech-eml-alt-mip-mck-oth-1305)
3
Provocri tehnologice

Tehnologii cu impact asupra activitilor sociale i economice


(sursa: Disruptive technologies, p. 4)
4
Provocri tehnologice
Internet mobile

n doar civa ani, dispozitive portabile cu acces la Internet au devenit un


mod de via pentru mai mult de un miliard de oameni care dein, n prezent,
smartphone-uri i tablete. n Statele Unite, s-a estimat c 30% din navigrile
web i 40% din utilizatorii de social media se fac de pe dispozitive mobile.

Automatizarea lucrului pe baz de cunotine (Automation of


knowledge work)

Sisteme software inteligente care pot ndeplini sarcini pe baz de cunotine -


implic comenzi nestructurate i raionamente subtile.

5
Provocri tehnologice

Internetul obiectelor (The Internet of Things - IoT)


n mod frecvent, IoT este descris ca un ecosistem al tehnologiilor de
monitorizare a strii obiectelor fizice, captarea de date semnificative,
precum i transmiterea de informaii prin reele IP la aplicaii software.
Internetul obiectelor include obiecte inteligente, comunicarea main la
main, tehnologii RFID (Radio-Frequency Identification) i un punct
central pentru informaii.
Reele de senzori i dispozitive acioneaz pentru colectarea de date,
monitorizare, luarea deciziilor, precum i pentru optimizarea proceselor.
Orice entitate se poate conecta la Internet pentru a prelua informaii, pentru
a-i spori valoarea sa intrinsec.
6
Provocri tehnologice

IoT aplicat n diverse sectoare economice


(sursa: http://blogs.cisco.com/sp/from-internet-of-things-to-web-of-things/)
7
Provocri tehnologice

Ponderea obiectelor conectate va ajunge la 2,7% n 2020 de la 0,6% n 2012


(Sursa: http://hotdigitalnews.com/counting-the-internet-of-things-in-real-time/)
8
Provocri tehnologice
Tehnologia cloud
Tehnologiile informaiei i comunicaiei sunt costisitoare, necesitnd
competene de specialitate i efort de ntreinere a sistemelor pentru stocarea
i prelucrarea corect a datelor. Nu toate ntreprinderile sau persoanele sunt
n msur s achiziioneze i s opereze pe cele mai noi sisteme informatice
dedicate.

Soluia, n loc de a construi propria lor infrastructur IT, ntreprinderile au


posibilitatea de a accesa resurse de calcul gzduite pe Internet de ctre tere
pri.

Utilizarea resurselor hardware i software accesibile prin Internet sau prin


reea, de cele mai multe ori livrate sub forma unor servicii, este cunoscut
sub denumirea de cloud computing.
9
Provocri tehnologice

Tehnologia cloud
Tehnologia Cloud computing este recunoscut ca reprezentnd o nou i
important direcie de inovare i investiie IT.

Tehnologia cloud va determina noi oportuniti pentru afaceri i va


influena modul de lucru n viitor modul de alocare a spaiului fizic
pentru birourile companiei, posibilitatea de dezvoltare a noi concepte etc.

10
Provocri tehnologice

Alturi de tehnologiile enumerate anterior, Gartner susine c ntreprinderile


ar trebui s ia n considerare i alte direcii de dezvoltare tehnologic, cum ar
fi: calcul cuantic, analiza prescriptiv, neurobusiness, NLQA (natural-
language question answering), big data, procesarea de evenimente complexe,
sistem de gestiune a bazelor de date din memoria principal (IMDB - in-
memory database), analiza memoriei principale i analiza predictiv."

11
Provocri tehnologice

Tehnologii emergente (sursa: Gartner's 2013 Hype Cycle)


12
Provocri tehnologice
Rezultatele prezentate n raport atrag atenia c managerii de afaceri
i factorii de decizie politic (societatea n general) vor trebui s
fac fa schimbrilor pe mai multe fronturi:

modul de organizare a afacerilor;

definirea profesiilor;

modul de utilizare a tehnologiilor.

Multe tehnologii ivite la orizont ofer oportuniti imense - liderii


pot profita de aceste oportuniti, n msura n care se ncepe
pregtirea nc de acum. 13
Ce este Cloud Computing?

Cloud Computing reprezint o nou etap n evoluia tehnologiei informaiei i


comunicaiilor.

14 (Sursa: http://nhatnguyen.net/cloud-programming-concepts.aspx)
Ce este Cloud Computing?

Expresia cloud computing deriv dintr-o reprezentare grafic a Internetului n


form de nor (the cloud).
Conceptul i termenul englez au aprut n practic prin anii 2006-2007.

15
Ce este Cloud Computing?

Pentru termenul de cloud computing, de-a lungul timpului, s-au dat o serie de
definiii, astfel:

VMware (www.vmware.com), lider global n soluii de virtualizare i infrastructur


cloud, soluii care permit ntreprinderilor s prospere, definete cloud computing ca
fiind o nou abordare care reduce complexitatea IT prin valorificarea eficient de
resurse comune, consumate ca servicii.

conform wikipedia (http://ro.wikipedia.org/wiki/Cloud_computing): cloud


computing reprezint un ansamblu distribuit de servicii de calcul, aplicaii, acces la
informaii i stocare de date, fr ca utilizatorul s aib nevoie s cunoasc
amplasarea i configuraia fizic a sistemelor care furnizeaz aceste servicii

16
Ce este Cloud Computing?

Modelul de baz pentru cloud computing


(sursa: http://www.opengroup.org/cloud/cloud/cloud_sme/benefits.htm)
17
Ce este Cloud Computing?

Conform NIST - National Institute of Standards and Technology


(http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf): Cloud computing este

un model care permite, n mod permanent i convenabil, accesul la cerere, pe baz de


reea, la o grupare de resurse de calcul configurabile (de exemplu reele, servere,
echipamente de stocare, aplicaii i servicii) care pot fi puse la dispoziia utilizatorului
n mod rapid i cu un efort minim de administrare sau interaciune cu prestatorul
acestor servicii.

NIST definete pentru cloud computing trei modele de servicii, cinci caracteristici
eseniale i patru modele de implementare.

18
Ce este Cloud Computing?

Cloud computing
19 (http://www.katescomment.com/definition-of-cloud-computing-nist-g-cloud/)
Ce este Cloud Computing?

Conform Berkeley University: Cloud computing se refer att la aplicaiile de


furnizare de servicii pe Internet, ct i la sistemele hardware i software din centrele
de date, pe care le furnizeaz. Termenul nsui a fost referit ca SaaS (Software as a
Service), centrele de date hardware i software fiind numite "cloud". Serviciul este
vndut publicului ca i "utility computing" de forma "pay-as-you-go".

20
Ce este Cloud Computing?

din perspectiva IT: Cloud computing este un model de achiziie i livrare a


resurselor IT, care ajut la mbuntirea performanei business-ului i controlul
costurilor livrrii resurselor IT ctre organizaie.

din perspectiva utilizatorului: Furnizeaz o modalitate de obinere a serviciilor


computaionale prin Internet, transparent fa de tehnologiile din spatele
dispozitivului utilizatorului.

din perspectiva organizaiei furnizoare de cloud: Livrarea de servicii conform


necesitii consumatorilor i de business ntr-o manier simplificat, furniznd
scalabilitate nelimitat i calitate a serviciilor difereniat, n scopul susinerii
proceselor decizionale.

21
Ce este Cloud Computing?

Cloud Computing este un termen general folosit pentru a descrie un mod de


calcul bazat pe reea (care are loc prin Internet) i o regndire a metodelor de
folosire a unor tehnologii, cum ar fi:

Utility Computing: model de furnizare de servicii, astfel nct clientul, la cerere,


are acces la resurse de calcul i infrastructur contra cost. Modelul caut s
maximizeze utilizarea eficient a resurselor i / sau s minimizeze costurile
asociate. Utility Computing se refer la ansamblul resurselor de calcul, cum ar fi
cele de prelucrare, de stocare precum i un serviciu de contorizare.

22
Ce este Cloud Computing?

SOA (Service Oriented Architecture): arhitectur orientat pe servicii, fiind


organizat ca o colecie de servicii ce comunic ntre ele; conine un set flexibil de
principii de proiectare folosite n cadrul fazei de dezvoltare i integrare a sistemului
i furnizeaz o suit de servicii slab-cuplate ce pot fi folosite n mai multe domenii
de business.

SLA (Service Level Agreement): reprezint un contract ntre un furnizorul de


servicii prin reea i un client. Contractul conine metrici de garantare a
performanei (cum ar fi timp de rspuns), detalii privind gestiunea problemelor,
penalizri pentru neperforman, capabiliti de securitate a documentelor.

23
Principalele caracteristici ale cloud-ului

Serviciu la cerere
Acces larg la reea (Broad Network Acces)
Resurse comune
Elasticitate/flexibilitate
Msurarea serviciului

(Sursa: http://www.opengroup.org/cloud/cloud/cloud_sme/benefits.htm)
24
Principalele caracteristici ale cloud-ului

Serviciu la cerere: Resursele sunt disponibile la cererea consumatorului, care


poate s-i asigure n mod unilateral capaciti de calcul (cum ar fi timpul de
server i capacitate de stocare) dup cum are nevoie, n mod automat, fr a
necesita interaciunea uman cu fiecare din furnizorii de servicii.

Acces larg: Accesul la resursele din cloud este disponibil de pe mai multe
tipuri de dispozitive, de la cele mai obinuite dispozitive (laptop-uri, staii de
lucru etc.), la telefoane mobile, thin client (client simplu) etc. n situaia unui
thin client, sistemul local al clientului nu are capacitatea de a efectua operaii
funcionale complete.

25
Principalele caracteristici ale cloud-ului

Resurse comune: Resursele furnizorului de servicii tip cloud sunt reunite


pentru a servi mai multor consumatori, folosind un model multi-tenant (mai
muli chiriai/clieni), cu resurse fizice i virtuale diferite atribuite dinamic n
funcie de cererea consumatorilor. Exemple de resurse partajate: capaciti de
stocare, de procesare, spaiu de memorie i banda de reea.

Elasticitate/Scalabilitate: Capabilitile sunt elastice, n unele cazuri n


mod automat, pentru a scala rapid, n sus sau n jos, n funcie de cererea
de resurse. Pentru consumator, capacitatea de calcul disponibil pare a fi
nelimitat i poate fi atribuit n orice cantitate, n orice moment.

26
Principalele caracteristici ale cloud-ului

Msurarea serviciului: Sisteme de control din cloud monitorizeaz i


optimizeaz automat utilizarea resurselor prin mecanisme de msurare la un
nivel de abstractizare adecvat tipului de serviciu (de exemplu, stocarea de
date, prelucrarea, limea de band i numrul de conturi ale utilizatorilor
activi). Gradul de utilizare a resurselor poate fi monitorizat, controlat i
raportat pentru asigurarea transparenei, att furnizorului, ct i
consumatorului de servicii utilizate.

27
Avantaje ale cloud computing

Valoare sporit adus tehnologiilor folosite prin diminuarea costurilor;


Plata n funcie de necesarul de resurse / utilizare;
Acordurile pot fi pe termen scurt;
Posibilitatea de accesare prin clieni simpli ("thin clients");
Flexibilitate mare n extrapolarea necesitilor de resurse de calcul;
Platforme tehnologice standardizate care faciliteaz colaborarea;
Reducerea necesarului de personal specializat pentru suportul TIC n cadrul
organizaiilor;
Posibilitatea de servicii complete de ntreinere i SLA ntr-un serviciu global;
Acces mai uor i mai ieftin la noi versiuni de software.
28
Avantaje ale cloud computing

Avantajele utilizrii Cloud Computing


(sursa:https://www.techsoup.ro/sites/default/files/Cloud%20Report%20Executive%20Summary_Romania.pdf)
29
Dezvantaje ale cloud computing

Necesit acces la Internet rapid i stabil;


Securitatea necesar a datelor din cloud poate prezenta probleme i poate
produce nencrederea utilizatorilor;
Situaia legal complex, deoarece utilizatorul nu afl nici mcar n ce ar sau
n ce ri se afl serverele care i gzduiesc datele sale. Reglementrile
guvernamentale cu privire la stocarea datelor off-shore.

30
Dezvantaje ale cloud computing

Limitri n adoptarea Cloud Computing


(sursa: https://www.techsoup.ro/sites/default/files/Cloud%20Report%20Executive%20Summary_Romania.pdf)
31
Modele de servicii cloud computing

Software as a Service (SaaS)

Capabilitatea clienilor de a utiliza aplicaiile furnizorului care ruleaz pe o


infrastructur cloud. Aplicaiile sunt accesibile de la diverse dispozitive
client, fie printr-o interfa client simpl, cum ar fi un browser web, sau o
interfa a programului.

Exemple: serviciile de email oferite de mari companii, precum Microsoft


(Hotmail), Google (Gmail) sau Yahoo! (Yahoo Mail). Fiecare serviciu de
email se bazeaz pe acelai principiu: furnizorul gzduiete toate programele
i datele ntr-o locaie i ofer utilizatorului final accesul la ele prin
intermediul internetului.
32
Modele de servicii cloud computing

Platform as a Service (PaaS)


Capabilitatea clienilor de a instala aplicaiile lor (create sau achiziionate)
pe infrastructura cloud, folosind limbaje de programare, biblioteci, servicii
i instrumente oferite de ctre furnizor.

Ofer un mediu de dezvoltare pentru aplicaii cei interesai au la


dispoziie pachete de instrumente i standarde pentru dezvoltare, precum i
canale de distribuie i plat.

Permite informarea rapid despre noile aplicaii software, avnd n vedere


costul sczut i distribuia pe canale prestabilite, pentru atragerea n mod
eficient a clienilor.
33
Modele de servicii cloud computing

Modele de servicii
(sursa:http://u.cs.biu.ac.il/~ariel/download/ds590/resources/cloud/cloud_sota.pdf)
34
Modele de servicii cloud computing

Infrastructure as a Service (IaaS)


Capabilitatea clienilor de a utiliza puterea de prelucrare, mediile de stocare,
reele, precum i alte resurse de calcul de baz ale furnizorului, pentru a
instala i executa sisteme de operare, aplicaii i alte programe pe o
infrastructur cloud.

Tehnica de baz este de virtualizare (abilitatea de a furniza o viziune uniform


asupra unui set de resurse), i anume: virtualizare de servere, de echipamente de

stocare, de reele.

Serviciile furnizate de IaaS sunt: interfa pentru managementul resurselor i


interfat de monitorizarea sistemului.
35
Modele de servicii cloud computing

Virtualizarea n modelul IaaS


36
Modele de servicii cloud computing

Evoluia n timp a serviciilor cloud computing, conform Forrester Research.


37
(sursa: http://www.bricexpansion.com/bric-cloud-computing/)
Categorii de servicii vs Tipuri capabiliti

(sursa: ISO/IEC DIS 17788)


38
39
Modele de implementare cloud computing

Conform NIST, cele mai utilizate modele de implementare sunt (1):


cloud privat:
infrastructura cloud este exploatat numai de o singur organizaie, aceasta
avnd acces la resurse n mod exclusiv;
cloud-ul poate fi gestionat de ctre organizaie (on-site private cloud) sau
poate fi administrat de ctre o ter companie (outsourced private cloud);

40
On-site private cloud Out-sourced private cloud
Modele de implementare cloud computing

Conform NIST, cele mai utilizate modele de implementare sunt (2):


cloud comunitar
infrastructura cloud este partajat de mai multe organizaii i susine o
comunitate specific n ceea ce privete cerinele sau problemele comune; de
exemplu, model de afacere, cerine de securitate, politici sau conformitate.
Acest tip de cloud poate fi gestionat de organizaii sau de o ter parte.

41
On-site Community Cloud Out-sourced Community Cloud
Modele de implementare cloud computing

Conform NIST, cele mai utilizate modele de implementare sunt (3):


cloud public (sau extern)
infrastructura cloud este la dispoziia publicului larg sau a unui grup
industrial i este deinut de ctre o organizaie furnizoare de servicii cloud;
are ca principiu de funcionare, punerea la dispoziie a resurselor prin
intermediul internetului, simultan pentru muli utilizatori; clienii mpart n
acest fel aplicaiile, puterea de procesare i capacitatea de stocare;
la acest tip de cloud se face referire n mod frecvent.

42
Modele de implementare cloud computing

Cloud public

43
Modele de implementare cloud computing

Compararea veniturilor cloud privat vs. cloud public


44
(sursa: http://cloudcomputing.sys-con.com/node/2068544)
Modele de implementare cloud computing

Conform NIST, cele mai utilizate modele de implementare sunt (4):


cloud hibrid
infrastructura cloud este compus din dou sau mai multe tipuri de cloud
(privat, comunitar sau public), care rmn entiti unice, dar sunt legate
mpreun tehnologic pentru a permite portabilitatea;
cloud-ul hibrid este adesea folosit pentru asigurarea redundanei sau a
unei ncrcri echilibrate;
de exemplu, aplicaii dintr-un cloud privat pot fi configurate pentru a
utiliza resurse de calcul dintr-un cloud public.

45
Modele de implementare cloud computing

Cloud hibrid
46
Modele cloud computing

Exemple de modelele cloud computing


(http://leverhawk.com/what-is-cloud-computing-tutorial-2012120519)

47
SLA noiuni generale
Cloud SLA (Service Level Agreement) constituie o component important a
relaiei contractuale dintre un client de servicii cloud i un furnizor de servicii
cloud.

Diferite tipuri de servicii cloud i modele de implementare vor necesita


abordri variate pentru SLA. n prezent, terminologia SLA difer de la un
furnizor de servicii cloud la altul, ceea ce pentru clieni va fi dificil s
compare serviciile oferite de acetia.

Standardizarea aspectelor SLA mbuntete claritatea i crete gradul de


nelegere a contractelor la nivel de serviciu, dac se vor concentra, n
special, pe furnizarea de informaii cu privire la conceptele folosite pentru
SLA-uri.
48
SLA noiuni generale

La nivel european, n februarie 2013, s-a nfiinat subgrupul C-SIG-SLA


(Cloud Select Industry Group - Service Level Agreement) care avea ca sarcin
identificarea aspectelor necesare pentru standardizarea SLA.

Pe 24.06.2014 a fost publicat documentul Cloud Service Level Agreement


Standardisation Guidelines care trateaz:

principii pentru dezvoltarea standardelor SLA pentru cloud computing;

vocabular cloud SLA;

prezentare a obiectivelor la nivelul serviciului de securitate;

prezentare a obiectivelor la nivelul serviciului de managementul datelor;

prezentare a obiectivelor la nivelul serviciului de protecie a datelor personale.


49
SLA noiuni generale

n prezent este n dezvoltare un framework pentru SLA. Va fi publicat ca


standard ISO/IEC 19086 i va conine trei pri:
ISO/IEC 19086-1 Prezentare general i concepte
ISO/IEC 19086-2 Metrici
ISO/IEC 19086-3 Cerine de baz

50
Principii de dezvoltare SLA pentru CC

1. Neutralitatea tehnologic:
Serviciile cloud pot fi realizate folosind orice tehnologie. De exemplu,
multe servicii cloud utilizeaz interfee REST sau API-uri, dar pot fi
folosite i alte tehnologii - cum ar fi Web Services pentru a recepiona
date i a interopera cu alte servicii.

Neutralitatea tehnologic este important, deoarece, de obicei,


serviciile cloud ruleaz pe platforme hardware virtualizate.

Serviciile cloud sunt realizate prin utilizarea att de software open


source, ct i de software proprietar.

51
Principii de dezvoltare SLA pentru CC

2. Neutralitatea modelului de afacere:


Un model particular de afaceri pentru servicii cloud nu ar trebui s fie
acceptat.

Serviciile cloud pot fi finanate prin diverse metode, cum ar fi plata pe


utilizare, contracte pe termen lung, publicitate, fonduri publice etc.

Apoi, remedierea pentru eecul n atingerea obiectivelor la nivel de


serviciu cloud (service level objectives - SLOs), menionate n SLA,
poate lua diferite forme, precum restituirea taxelor, servicii gratuite
sau alte forme de compensare.

52
Principii de dezvoltare SLA pentru CC

3. Aplicabilitate la nivel mondial:


Internetul asigur comunicarea la nivel mondial i funcioneaz pe
baza unor standarde, care sunt respectate n ntreaga lume.

n mod asemntor, serviciile cloud au o audien global pentru


guverne, ntreprinderi mici i mari, ONG-uri i persoane fizice.

Acordurile care guverneaz serviciile cloud trebuie s reprezinte


legile, reglementrile i politicile locale, regionale i naionale dar toi
ar trebui s beneficiaze de concepte comune la nivel global - vocabular
i tehnologie accesibil la nivel global.

53
Principii de dezvoltare SLA pentru CC
4. Definiii fr ambiguiti:
Definirea clar a obiectivelor la nivel de servicii permite o comunicare precis
ntre furnizorii serviciilor cloud i clienii de servicii cloud.
Pe msur ce tehnologia se dezvolt i noi terminologii se vor folosi, este
important s se asigure reactualizarea definiiilor n concordan cu evoluia
serviciilor cloud.
5. Obiective la nivel de serviciu comparabile:
Obiectivele la nivel de serviciu (SLO - Service Level objectives) sunt de multe ori
cantitative i au legtur cu posibilitatea de msurare.
La alegerea unui serviciu cloud, clienii ar trebui s aib la dispoziie informaii
prin care s compare servicii similare oferite de diferii furnizori.
Standardizarea terminologiei, metricilor i template-urilor pot fi de ajutor n
documentarea cu privire la obiectivele unui serviciu.
54
Principii de dezvoltare SLA pentru CC

6. Conformitatea prin descoperire:

Furnizorii serviciilor cloud ar trebui s documenteze metoda lor de


realizare SLOs pentru fiecare concept n SLA, avnd la baz standarde
pentru vocabularul i noiunile utilizate.

De exemplu, disponibilitatea serviciului poate fi msurat n diferite


moduri, n funcie de serviciul cloud oferit - disponibilitatea unui
serviciu de care permite efectuarea de calcule se va determina n mod
diferit de disponibilitatea unui serviciu de e-mail.

55
Principii de dezvoltare SLA pentru CC

7. Standarde i ghiduri specifice tipurilor de clieni:


n multe cazuri, clientului de serviciu cloud i este oferit un acord
standard, ntocmit de furnizorul serviciului cloud, pe care l poate
accepta sau poate alege un alt furnizor de serviciu cloud, care ofer
termeni i condiii diferite.
Standardele i ghidurile pentru cloud SLA trebuie s fie n msur s
s se adreseze de la cel mai simplu client de serviciu cloud (de
exemplu, cel care utilizeaza un singur serviciu) pn la cel mai
complex client (utilizarea a mai multor servicii, de tipuri diferite).
Standardele utile exist, fiind produse de organizaii, cum ar fi ENISA,
NIST sau ISO / IEC.

56
Principii de dezvoltare SLA pentru CC

8. Caracteristici esentiale ale cloud:


Standardul ISO / IEC 17788:2014 Cloud Computing - Overview and
Vocabulary descrie diferenele ntre calculul distribuit tradiional i
cloud computing, ca fiind:
accesul larg de reea (Broad Network Access)
msurarea serviciului (Measured Service)
nchiriere multipl (Multi-tenancy)
autoservire la cerere (On-demand self-service)
elasticitate rapid i scalabilitate (Rapid elasticity and scalability)
resurse comune (Resource pooling)
57
Principii de dezvoltare SLA pentru CC

9. Puncte de verificare:
nainte de a introduce un anumit concept ntr-un standard sau ghid
cloud SLA, ar trebui s existe posibilitatea s se verifice dac
respectivul concept este viabil att din perspectiva tehnic, dar i n
ceea ce privete afacerea.

58
Principii de dezvoltare SLA pentru CC

10. Informaii, mai degrab dect structur:


Standardele i ghidurile cloud SLA nu ar trebui s specifice structura
SLA, ci mai de grab conceptele care ar trebui abordate.
Un cloud SLA poate fi o parte a unui Master Service Agreement
(MSA) general.
SLA descrie i stabilete obiective la nivel de serviciu cloud. Totui,
organizarea i numele folosite pentru MSA i documentele asociate
pot varia considerabil.
Este important pentru clientul unui serviciu cloud s neleag setul
complet de documente care guverneaz serviciul cloud i s identifice
obiectivele la nivel de serviciu.
59
Principii de dezvoltare SLA pentru CC

10. Informaii, mai degrab dect structur (continuare):


Documentele pot include, dar nu se limiteaz la:
Acord de serviciu master (Master Service Agreement - MSA)

Acord la nivel de serviciu (Service Level Agreement - SLA)

Acord de serviciu (Service Agreement)

Politica de utilizare acceptabil (Acceptable Use Policy)

Politica de confidenialitate (Privacy Policy)

Politica de securitate (Security Policy)

Politica de continuitate a afacerii (Business Continuity Policy)

Descriere serviciu (Service Description)


60
Principii de dezvoltare SLA pentru CC

11. Acord legal prin avocai:


Standardele i ghidurile cloud SLA trebuie s specifice conceptele i
definiiile necesare furnizorului de serviciu cloud s-i descrie
serviciul cloud.

Acordul ntre furnizorul de servicii cloud i un client al serviciului


cloud se refer la informaii clare definite n SLA.

Totui, acordul n sine trebuie s ndeplineasc cerinele legale locale


i va fi lsat la latitudinea avocailor calificai.

61
Furnizori de cloud computing

Cei mai mari furnizori (top 10) de cloud computing n 2013 au fost
companiile:
1. Amazon: cel mai important juctor, cel care practic a inventat IaaS. Este unul
dintre primii furnizori de cloud s-a lansat n iunie 2002. Ofer foarte multe
opiuni, de la civa bii de stocare pentru civa penni pn la nchirieri de
supercomputere la 5000$ pe or. Merge n direcia pieei, adugnd securitate
sporit.

2. VMware (cu vCloud): pn de curnd a oferit doar software-ul vCloud, care


este n competiie cu OpenStack al consoriului IBM, Rackspace, HP i Citrix.
De un an i-a deschis propriul cloud public i trebuie s concureze cu 200 de
62
furnizori de servicii construii pe vCloud-ul lor, cum ar fi Verizon i CSC.
63 Servicii oferite de Amazon (https://aws.amazon.com/documentation/)
Furnizori de cloud computing

3. Microsoft (cu Azure): deine cloud-ul de tip enterprise, numit Azure, de tipul
PaaS, cu foarte muli dezvoltatori care utilizeaz intrumentele lor. Mai nou, cei
de la Microsoft s-au lansat i n IaaS, promind c vor atinge i ei preurile mici
de la Amazon. Utilizatorii pot rula aplicaii sub Linux i pot folosi SQL Server i
Office 365.

64
Unul din centrele de date Microsoft Azure
(Sursa: http://www.businessinsider.com/why-amazon-is-so-hard-to-topple-in-the-cloud-and-where-everybody-else-falls-2015-10)
Furnizori de cloud computing
4. Salesforece.com: Compania are una dintre cele mai populare aplicaii de PaaS
pentru rularea de acasa, Heroku, cumprat n 2012 pentru 212milioane $.
5. Google: aprut n era cloud, a avut cel mai popular PaaS, numit Google App
Engine, ofer Google Cloud Storage i o aplicaie de big data n cloud, Google
BigQuery. Are, de asemenea, aplicaii cloud pentru consumatori, Google Drive, i
pentru business, Google Apps. Sistemul de operare - ChromeOS, permite rularea
aplicaiilor n cloud. n anul 2012 i-a lansat propriul IaaS - Compute Engine.
6. Rackspace: conduce o coaliie de software open source pentru crearea de cloud
privat i cloud public, OpenStack. Ruleaz ca IaaS. Ei nu au vrut s plteasc
pentru soft pe care nu-l pot controla unor companii ca VMware, facnd astfel
parteneriat cu NASA (care deja au un soft bun), atragnd alte 160 de companii.
OpenStack nu este al lor, dar ei sunt jucatorii cei mai importani din acest
consoriu.
65
Furnizori de cloud computing

7. IBM: a fost juctor important n OpenStack pentru mult timp. Dar n martie 2012
au fcut o schimbare important, introducnd OpenStack n toate cloud-urile pe
care le construiesc, inclusiv cloud-ul lor public "smart cloud", care se vinde ca un
serviciu. OpenStack este un sistem de operare cloud care concureaz cu
tehnologia oferit de VMware i Citrix. Introducnd OpenStack, IBM ncurajeaza
mai multe ntreprinderi i furnizori de servicii de a utiliza OpenStack.

8. Citrix Systems: face software pentru cloud, intrnd n competiie cu VMware i


consoriul care a creat sistemul de operare de cloud, open-source-ul OpenStack.
Software-ul lor, CloudStack, a fost dat fundaiei Apache, cel mai mare grup non-
profit care gestioneaz proiecte open-source.
66
Furnizori de cloud computing

9. Joyent: ofer o alternativ puternic i ieftin pentru centrele mari de date.


Concureaz cu VMware, Citrix CloudStack i, de asemenea, cu propriul lor sistem
de operare cloud. Au peste 30.000 de clieni, printre care nume mari, cum ar fi
LinkedIn, i sunt susinui de Intel, Dell, EMC i o companie de telefonie spaniol
Telefonica.

10. SoftLayer: este cel mai mare furnizor de servicii de Web hosting i de cloud
privat. Este cheia succesului pentru doi juctori mari, IBM i EMC, care doresc
s-l achiziioneze pentru 2 miliarde $. Citrix este partener i client SoftLayer.

67
Furnizori de cloud computing

(Sursa: http://www.businessinsider.com/why-amazon-is-so-hard-to-topple-in-the-cloud-and-where-everybody-else-falls-2015-10)

68
Furnizori de cloud computing

Soluii pentru stocarea gratuit n cloud:


Google Drive spaiu de 15 GB

Dropbox Cloud Computing - 2GB

Amazon Cloud Drive 5GB

Apple iCloud - 5GB

69
Google Drive

Google Drive este un serviciu de


stocare n cloud care permite stocarea
de documente, fotografii, clipuri video
n online.

Fiierele stocate n cloud pot fi accesate


de oriunde.

Google Drive ofer, de asemenea, acces


la aplicaii gratuite, pentru crearea de
documente, foi de calcul etc.

(sursa:
70 http://www.gcflearnfree.org/googledriveanddocs/3.3)
Google Drive

Google Drive se utilizeaz pentru:


Crearea i editarea de documente, foi de calcul, prezentri.
Deschiderea de fiiere de pe orice calculator cu o conexiune la Internet.
Invitarea altor persoane pentru a colabora la realizarea de documente.
Regsirea de fiiere chiar dac PC-ul/computerul a fost pierdut/furat -
documentele vor fi n continuare n siguran n cloud.
Accesarea, crearea i editarea de documente cu Google Drive apps pentru
smartphone sau tablet.
ncrcarea, partajarea i vizualizarea altor tipuri de fiiere. Dei Google Drive nu
este conceput pentru a edita orice tip de fiier, este capabil s afieze diferite
tipuri de formate pentru clipuri video, imagini, documente etc.

71
Google Drive

Tipurile de fiiere care se pot crea i partaja pe Google Drive sunt:


Documente: similare cu documentele Microsoft Word

Foi de calcul: pentru stocarea i organizarea informaiilor - similar cu Microsoft


Excel

Prezentri: pentru a crea slideshow-uri - similar cu Microsoft PowerPoint

Formulare: pentru colectarea i organizarea datelor

Desene: pentru a crea grafic vectorial simpl sau diagrame

72
Cloud Computing n Uniunea European

n septembrie 2012, Comisia European a adoptat strategia pentru


Valorificarea cloud computing-ului n Europa avnd ca scop accelerarea i
creterea utilizrii cloud computing-ului n economie.
Documentul stabilete aciunile cele mai importante i urgente, reprezentnd
un angajament politic al Comisiei i servete drept apel pentru ca prile
interesate s participe la implementarea acestor aciuni.
Scopul strategiei este de a stimula adoptarea soluiilor cloud computing n
Europa, att n sectorul public, ct i n cel privat, prin asigurarea unui climat
de siguran i ncredere.

73
Cloud Computing n Uniunea European

Se menioneaz c autoritile publice au un rol important n crearea unui mediu


cloud de ncredere n Europa.
Stabilirea unui framework pentru adoptarea cloud-ului de ctre sectorul public,
va oferi utilizatorilor sigurana unui acces fiabil i va face din Europa un pol
activ al inovrii n materie de servicii cloud.

74
Cloud Computing n Uniunea European

Eurostat a publicat o serie de statistici privind utilizarea TIC n ntreprinderile din


Uniunea European (UE).
n decembrie 2013, accesul la Internet a atins un nivel de saturaie (96%) - cele
mai mici ponderi au fost raportate n Bulgaria (89%), Ungaria (88%), Grecia(87%)
i Romnia (83%).

75
(sursa: Eurostat)
Cloud Computing n Uniunea European

n 2014, a fost publicat un studiu despre utilizarea tehnologiei cloud n


ntreprinderile din Europa.

Studiul a evideniat c:

19% dintre ntreprinderile din UE utilizau cloud computing, mai ales pentru
gzduirea sistemelor de e-mail i stocarea fiierelor;

46% din aceste firme (din cele 19%) utilizau servicii avansate de cloud, cum ar fi:
aplicaii software financiar-contabile, managementul relaiilor cu clienii sau
puterea de calcul pentru execuia aplicaiilor de afaceri;

76
Utilizarea serviciilor cloud computing n ntreprinderile din EU28, 2014 (n procente)
(sursa: http://ec.europa.eu/eurostat/statistics-explained/index.php/Cloud_computing_-_statistics_on_the_use_by_enterprises)

77
Cloud Computing n Uniunea European

Studiul a evideniat c (2):

de dou ori mai multe firme prefer utilizarea de soluii n cloud public (12%),
dect a celor n cloud privat (7%);

patru din zece ntreprinderi (39%) care utilizeaz cloud au declarat c riscurile
de nclcare a securitii ar fi principalul factor care limiteaz utilizarea
serviciilor cloud computing;

42% dintre cei care nu folosesc cloud au raportat c nu dein suficiente cunotine
despre cloud computing i din aceast cauz au avut reineri n utilizarea lor.
Cloud Computing n Uniunea European

Factori care limiteaz utilizarea serviciilor de cloud computing n ntreprinderi (2014)


(Sursa: http://ec.europa.eu/eurostat/statistics-explained/index.php/Cloud_computing_-
_statistics_on_the_use_by_enterprises)
79
Bibliografie

http://whatiscloud.com/

http://resources.idgenterprise.com/original/AST-0114037_cloud-
windstream_EGUIDE_V5.pdf

http://csrc.nist.gov/publications/nistpubs/

http://www.mosaic-cloud.eu/

http://aws.amazon.com/

http://www.openstack.org/

http://vcloud.vmware.com/

Cloud Service Level Agreement Standardisation Guidelines, Brussels, 2014


(http://ec.europa.eu/digital-agenda/en/news/cloud-service-level-agreement-
standardisation-guidelines)
80
Departamentul de Informatic i
Cibernetic Economic

Infrastructura de e-business

Prof. univ. dr. Fl. NSTASE

1
Cuprins

Introducere
Interoperabilitatea
Aplicaii pentru afaceri
Platforma aplicaiei
Platforma de aplicaii ca serviciu
Componente ale aplicaiilor distribuite
Aplicaia Web
Categorii de modele pentru aplicaiile de e-business
Modelul B2C
Modelul B2B
Modele de afaceri pentru e-commerce
2
Introducere

Infrastructura de e-business constituit din:


hardware

software

coninut

furnizeaz servicii de e-business pentru:

angajai

clieni

parteneri
3
Introducere

Infrastructura de e-business este o colecie de:


reele

platforme

aplicaii

baze de date

reguli de afaceri care reglementeaz fluxul de date i modul de operare,


att n interiorul sistemului, ct i cu exteriorul lui.

4
Introducere

Integrarea tuturor componentelor ntr-un sistem unitar se realizeaz


prin:
dezvoltarea unui sistem propriu;
utilizara de adaptoare i gateway-uri preconstruite;
folosirea unor tehnologii pentru interoperarea program-la-program;
protocoale pentru accesul i utilizarea obiectelor distribuite;
instrumente i limbaje pentru dezvoltarea de platforme hibride;
servicii web.

5
Introducere

Elementele care au influen asupra afacerilor electronice, inclusiv


asupra infrastructurii sunt:
tehnologia de exemplu, gradul de dezvoltare a infrastructurii comunicaiilor
permite accesul la noile tehnologii pentru afaceri;
factorii politici - inclusiv rolul guvernului n a crea legislaie, a avea iniiative
i a susine financiar dezvoltarea TIC i a afacerilor electronice;
mediul social - nivelul de educaie i instruire n domeniul IT, care va permite
existena resursei umane necesar pentru dezvoltarea afacerilor electronice, dar
i capacitatea utilizatorilor de a folosi i nelege noile servicii;
factorii economici - incluznd avuia general i sntatea mediului economic.

6
Introducere

Prin realizarea unui sistem coerent se urmrete integrarea


complet a partenerilor ntreprinderii pentru:
simplificarea proceselor de afacere i
dezvoltarea unei colaborri eficiente ntre parteneri prin utilizarea reelei
extinse de afacere, care va aduce un plus de valoare.

Pentru o colaborare efectiv este necesar o interoperabilitate


standardizat.

7
Interoperabilitatea definiii

Interoperabilitatea este:
O stare care exist ntre dou entiti ale aplicaiei cnd, cu privire la o anumit
sarcin, o entitate a aplicaiei poate accepta date de la cealalt i ndeplinete
respectiva sarcin ntr-un mod corespunztor i satisfctor fr a fi nevoie de
intervenia suplimentar a operatorului (raportul CEN CR 14300:1999).

Capacitatea a dou sau mai multe sisteme de a face schimb de date i de a utiliza
reciproc informaiile care au fost schimbate (IEEE i ISO).

Capacitatea sistemelor tehnologiei informaiei i comunicaiei, precum i a


proceselor de afacere de a schimba date i de a permite partajarea de informaii
i cunotine (IDA Interchange of Data between Administrations).
8
Interoperabilitatea definiii

n noiembrie 2004, prin programul IDA, s-a definit un framwork pentru


interoperabilitatea serviciilor de eGovernment pan-europene (EIF - The European
Interoperability Framework) :
Un framework pentru interoperabilitate poate fi definit ca un set de
standarde i ghiduri care descriu modul n care organizaiile au convenit,
sau ar trebui s convin, s interacioneze unele cu altele.
Un framework pentru interoperabilitate nu este, prin urmare, un document
static i poate fi adaptat n timp tehnologiilor, standardelor i schimbrii
cerinelor de afacere.

9
Interoperabilitatea definiii

Iniiative UE legate de interoperabilitate


(sursa: http://www.bigwobber.nl/wp-content/uploads/2009/11/European-Interoperability-Framework-for-European-Public-Services-draft.pdf)
10
Interoperabilitatea tipuri

Interoperabilitatea sistemelor de afaceri poate fi realizat la mai


multe niveluri:
Interoperabilitatea tehnic se refer la aspectele fizice sau tehnice pentru
conectarea i comunicarea dintre aplicaii/sisteme i servicii. De obicei,
const din metode i servicii comune de comunicare, stocare, prelucrare i
prezentare a datelor.

Interoperabilitatea semantic sau de afacere se refer la interpretarea


comun a conceptelor, serviciilor, datelor. Interoperabilitatea semantic
permite recunoaterea automat a datelor individuale schimbate.

11
Interoperabilitatea tipuri

Interoperabilitatea sistemelor de afaceri poate fi realizat la mai


multe niveluri (continuare):
Interoperabilitatea semantic reprezint abilitatea aplicaiilor/sistemelor
informatice de a schimba ntre ele date cu neles, fr ambiguiti.
Interoperabilitatea semantic are la baz interoperabilitatea tehnic -
interoperabilitatea semantic poate fi asigurat doar cnd exist condiii
necesare pentru transmiterea fizic a datelor.
Interoperabilitatea proceselor de afaceri este o proprietate care se refer la
capacitatea diverselor procese de afaceri de a lucra mpreun.

O infrastructur eficient pentru e-business poate fi creat numai


prin standardizarea soluiilor interoperabile. 12
Interoperabilitatea standardizare

n 1995, patru organisme mondiale de standardizare:


IEC (The International Electrotechnical Commission) - http://www.iec.ch
ISO (The International Organization for Standardization) -
http://www.iso.org
ITU (The International Telecommunication Union) - http://www.itu.int
UN/ECE (The United Nations Economic Commission for Europe) -
http://www.unece.org/cefact
i-au propus realizarea une soluii pentru armonizarea schimbului de
date electronice prin MoU (Memorandum of Understanding).

Un MoU este un document care descrie un acord bilateral sau


multilateral ntre pri. 13
Interoperabilitatea standardizare

Ulterior, n 1998, MoU a fost extins, fiind recunoscut contribuia i a


altor grupuri:
OASIS (Organization for the Advancement of Structured Information
Standards): standardele ebXML i web service - http://www.oasis-open.org
CEN/ISSS (European Committee for Standardization Information Society
Standardization System) - http://www.cenorm.be/isss
GS1 (formal EAN.UCC): coduri de produse, coduri de bare i tehnologii
pentru codificarea produselor electronice - http://www.gs1.org;
(http://www.gs1.ro )
OAGI (Open Applications Group): furnizor de obiecte de ebusiness i
mesaje - http://www.openapplications.org
SWIFT (Society for Worldwide Interbank Financial Telecommunication)-
http://www.swift.com
14
Interoperabilitatea standardizare

Obiectivul MoU (Memorandum of Understanding) era de a


ncuraja interoperabilitatea prin:
recunoaterea riscului unor abordri divergente sau conflictuale n
standardizare;
evitarea suprapunerii eforturilor i, prin urmare, confuzie n rndul
utilizatorilor;
asigurarea coerenei intersectoriale.

MoU / MG (Management Group) a stabilit un framework prin


care orice afacere electronic poate fi standardizat.

15
Componente ale infrastructurii de e-business
(Sursa: http://www.itu.int/en/ITU-T/ebusiness/Pages/mou/default.aspx)
16
Componentele unei soluii de afacere

17
Aplicaii pentru afaceri

n tehnologia informaiei, o aplicaie este un program conceput pentru a


ajuta oamenii s desfoare o anumit activitate.

n varianta cea mai simpl, o aplicaie independent conine cod i date:


se executat pe un dispozitiv de tip desktop, tablet sau/i telefon;
nu solicit cod sau date de pe un alt sistem.

18
Aplicaii pentru afaceri

Multe aplicaii nu ruleaz pe un singur calculator. Codul aplicaiei (uneori i date)


este transmis pe mai multe calculatoare ale clienilor - aplicaie distribuit. Pentru
crearea unei astfel de aplicaii, codul i datele aplicaiei distribuite sunt plasate pe
un server local.

Aplicaiile distribuite includ cele mai multe pachete de afaceri, cum ar fi sistemele
ERP (Enterprise Resource Planning), precum i multe aplicaii personalizate.

19
Aplicaii pentru afaceri

O alt opiune, pentru crearea de aplicaii, este de a plasa codul i datele


aplicaiei distribuite pe calculatoare ntr-un cloud public.
Ulterior, o aplicaie client poate utiliza unul sau mai multe servicii
furnizate de cloud-ul public.

20
Platforma aplicaiei

n prezent, fiecare aplicaie se bazeaz pe alte software-uri, cum ar fi:


sisteme de operare,

sisteme pentru managementul bazelor de date i chiar

software-uri care ruleaz n cloud-uri publice.

Totalitatea acestor software-uri reprezint o platform a aplicaiei.

Prin definiie, o platform a aplicaiei ofer o serie de servicii.

21
Platforma aplicaiei

n afaceri sunt necesare diverse servicii, iar acestea trebuie s fie


furnizate n diferite moduri.

Platforma unei aplicaii ofer diferite tipuri de servicii care pot fi


grupate n cinci categorii:

sistem de operare: implementeaz serviciile de baz de care depind toate


aplicaiile - include sistemul de fiiere, precum i funciile necesare pentru
rularea programelor.

servicii de execuie: furnizeaz biblioteci i alte funcionaliti pentru a executa


aplicaiile. Aceast categorie include suport pentru crearea de interfee
22
utilizator, comunicarea cu alte software-uri etc.
Platforma aplicaiei

Platforma unei aplicaii ofer diferite tipuri de servicii care pot fi


grupate n cinci categorii (continuare):

servicii de date: permit aplicaiei s stocheze i s proceseze date. Una dintre


cele mai importante tehnologii din aceast categorie este reprezentat prin
sistemul de management al bazei de date. Alte servicii de date devin din ce n
ce mai importante, de exemplu cele pentru transmisiile fluxurilor de date
(datele utilizate pentru procesarea evenimentelor complexe sau a vocii n timp
real) se regsesc n multe scenarii. Cantitile foarte mari de informaii
nestructurate, necesit, de asemenea, tehnologii care merg dincolo de sistemele
tradiionale de baze de date relaionale.
23
Platforma aplicaiei

Platforma unei aplicaii ofer diferite tipuri de servicii care pot fi


grupate n cinci categorii (continuare):

servicii de cloud: ofer funcionaliti la distan care pot fi utilizate de


aplicaii. De exemplu, serviciile de cloud furnizeaz informaii (cum ar fi
hri) sau permit aplicaiilor s cute pe Internet sau s se conectaze cu alte
aplicaii.

instrumente de dezvoltare: ajut echipele de dezvoltare s creeze i s


ntrein aplicaii. Aceste instrumente variaz de la simple editoare de cod
la instrumente cu faciliti multiple, fiind suport pentru scrierea de cod,
testare, implementare i altele.
24
Platforma aplicaiei

Platforma unei aplicaii

(Sursa: David Chappell, What is an Application Platform?, 2011) 25


Platforma aplicaiei

O platform de aplicaie poate oferi toate cele cinci componente funcionale pe


multiple opiuni hardware: dispozitive ale clienilor, servere locale i servere
din cloud public.

(Sursa: David Chappell, What is an Application Platform?, 2011) 26


Platforma aplicaiei

Platforma de aplicaii Microsoft reprezint un exemplu.

(Sursa: Sursa: David Chappell, What is an Application Platform?, 2011) 27


Platforma aplicaiei

Cele cinci tipuri de componente ale platformei de aplicaii descrise anterior,


se regsesc pe platforma Microsoft:

sisteme de operare - platforma de aplicaie Microsoft include opiuni pentru


fiecare dintre cele trei categorii de hardware:

pentru clienii: opiunile includeau Windows 7 pentru desktop-uri i laptop-uri i


Windows Phone 7 pentru telefoane mobile.
pentru servere locale: platforma oferea Windows Server 2008 R2.
Pentru servere din cloud public: sistemul de operare de baz este Windows Azure.

28
Platforma aplicaiei

servicii de execuie, opiunile ofer unele similitudini pe fiecare dintre platformele


hardware:
pentru clienii: toate dispozitivele suport browser-ul Internet Explorer i cel puin unele
componente ale .NET Framework. Tehnologiile pentru crearea interfeelor utilizator
native variaz. Pe Windows 7, o aplicaie poate utiliza Windows Presentation Foundation
(WPF), de exemplu, n timp ce Windows Phone 7 utilizeaz Silverlight.
pentru servere locale: Windows Server 2008 R2 include .NET Framework, care ofer un
set mare de servicii suport pentru aplicaii. Printre acestea se numr Windows
Communication Foundation (WCF) pentru comunicarea orientat pe servicii, Windows
Workflow Foundation (WF) pentru crearea de aplicaii bazate pe flux de lucru. Serviciul
de caching distribuit ajut la accelerarea aplicaiilor prin stocarea n memorie a datelor
accesate frecvent. Windows Server 2008 R2 suport, de asemenea, SharePoint, care
permite colaborarea. 29
Platforma aplicaiei

servicii de execuie, opiunile ofer unele similitudine pe fiecare dintre


platformele hardware (continuare):
pentru servere din cloud public: Windows Azure ofer .NET Framework, mpreun
cu un set mai larg de servicii, precum monitorizarea i echilibrarea ncrcrii pentru
maini virtuale.

30
Platforma aplicaiei

servicii de date, platforma de aplicaie Microsoft ofer tehnologii variate pentru


diferite medii:
pentru clienii: opiunile includ stocarea local, prin sistemul de fiiere Windows,
mpreun cu versiuni de SQL Server.
pentru servere locale: platforma ofer versiunea complet SQL Server, care include
faciliti de inteligena afacerii, cum ar fi SQL Server Analysis Services i SQL Server
Integration Services. Pentru a lucra cu date streaming, SQL Server ofer o tehnologie
numit StreamInsight, Microsoft a anunat lansarea Hadoop pe sistemul de operare
Windows - pentru procesarea unor cantiti mari de date nestructurate.
Pentru servere n cloud public: platforma include SQL Azure, o versiune n cloud
pentru SQL Server. Pe Windows Azure se execut Hadoop.

31
Platforma aplicaiei

Serviciile din cloud: ofer o serie de soluii problemelor cu care dezvoltatorii de


aplicaii se pot confrunta. Bing Maps ofer informaii geografice, serviciul de
Access Control permite identificarea n cloud etc.

Instrumentele de dezvoltare sunt furnizate, n mare parte, prin Visual Studio - un


mediu integrat de dezvoltare (IDE Integrated Development Environment),
mpreun cu instrumente pentru testare manual i automat, design arhitectural,
precum i crearea de aplicaii.

32
Platforma de aplicaii ca serviciu

Platforma de aplicaii ca serviciu (aPaaS - application Platform as a


Service) este o PaaS oferit ca suport pentru dezvoltarea, implementarea i
execuia de aplicaii n cloud.

Platforma include o serie de resurse, de exemplu infrastructur i, inclusiv,


servicii, cum ar fi cele pentru managementul datelor i interfee pentru
utilizator.

Microsoft este unul din liderii n domeniu.

33
Platforma de aplicaii ca serviciu

Magic Quadrant for Enterprise Application Platform as a Service (aPaaS)

(Sursa: https://www.gartner.com/doc/reprints?id=1-31VGBY6&ct=160324&st=sb) 34
Platforma de aplicaii ca serviciu

n alegerea unei platforme aPaaS se vor analiza urmtoarele criterii:

uurina de dezvoltare a aplicaiilor

posibilitatea de folosire a platformei pentru integrarea sau extinderea unor


sisteme existente

existena capabiliti de a facilita colaborarea n afaceri

scalabilitatea i performana

livrarea de aplicaii pe dispozitive multiple

35
Componente ale aplicaiilor distribuite

Elementele principale ale unei aplicaii care opereaz n reea sunt:


Componentele pe partea de client - ofer utilizatorului acces
la servicii prin:
navigator Web
interfa Windows
interfa Macintosh
interfa X Windows
Palm Pilot
telefon mobil
36
Componente ale aplicaiilor distribuite

Componentele pe partea de server:


Permit ca resursele companiei s fie distribuite
Administreaz informaia contextual a companiei
Aplic modelul workflow
Ofer resurse de calcul, contabilitate i audit.

37
Componente ale aplicaiilor distribuite

ntre componentele client i cele de pe server, deseori se regsesc


componentele middleware
Middleware permite creterea flexibilitii, interoperabilitii i
portabilitii infrastructurii existente prin legarea aplicaiilor
separate.
Middleware ascunde eterogenitatea existent n mediul
electronic:
limbaje de programare
sisteme de operare
arhitecturi ale calculatoarelor
arhitecturi ale reelelor de comunicaie 38
Componente ale aplicaiilor distribuite

Componenta middleware se ocup de:


Execuia proceselor pe diferite calculatoare
Administrarea sesiunilor
Servicii de directoare pentru localizarea serverelor de ctre clieni
Accesul datelor de la distan
Controlul accesului concurenial pentru urmrirea clienilor de ctre
servere
Securitatea i integritatea
Monitorizarea
Suport pentru tranzacii distribuite
39
Componente ale aplicaiilor distribuite

Componenta middleware lucreaz n configuraia: punct-la-


punct sau muli-la-muli (incluznd unu-la-muli).

40
Componente ale aplicaiilor distribuite

Configuraia muli-la-muli.

41
Componente ale aplicaiilor distribuite

Categorii de middleware:
orientate pe mesaje (Message Oriented Middleware - MOM):
ofer o abstractizare a mesajelor; de obicei mesajele sunt
asincrone;
IBM WebSphere MQ soluie software prin care se ofer API-uri,
managementul cozilor, rutarea mesajelor, reluarea automat n caz de
eec, echilibrarea ncrcrii. MOM este un software care se instaleaz
n ambele pri ale arhitecturii client/server si ofer suport pentru
apeluri asincrone.
Microsoft Message Queue (MSMQ): tehnologie ce ofer suport pentru
apeluri asincrone ntre aplicaii.
42
Componente ale aplicaiilor distribuite

Categorii de middleware (continuare):


procedurale: ofer o abstractizare a unei proceduri, iar
interaciunea client/server este sincron;
Remote Procedure Call (RPC) protocol prin care se permite unui
program de pe calculatorul client s apeleze un program de pe un
calculator de la distan (server)

accesul la bazele de date:


PL/SQL sau NET8 Oracle
ISQL/w Microsoft
OPEN ANSI SQL/92
43
Componente ale aplicaiilor distribuite

Categorii de middleware (continuare):


bazate pe obiecte i componente:
ofer o abstractizare a unui obiect;

interaciunea client/server este (a)sincron;


ofer tehnologii pentru distribuia obiectelor i schimbul de date cu
obiecte de la distan - ORB (Object Request Broker)
CORBA (Common Object Request Broker Architecture)
COM (Component Object Model), COM+ (Component Object
Model +)
DCOM (Distributed Component Object Model)

tranzacionale proceseaz tranzaciile distribuite. 44


Componente ale aplicaiilor distribuite

n cazul componentelor middleware orientate pe mesaje :


aplicaiile interacioneaz cu infrastructura de mesagerie prin
utilizarea unor adaptoare personalizate
fiabilitatea livrrii mesajelor se asigur prin capacitatea de
pstrare a acestora ntr-un sistem de baz de date/fiiere

45
Componente ale aplicaiilor distribuite

Componenta RPC (Remote Procedure Call) este:


metod de comunicare cu un calculator de la distan

metod prin care este invocat o procedur de pe server printr-o funcie


de apel de pe calculatorul clientului.

protocolul asigur mecanismul de apel al procedurilor i de transmitere


a parametrilor de apel; preia parametrii necesari i i translateaz ntr-un
format standard pentru transmiterea prin reea.

46
Componente ale aplicaiilor distribuite

RPC

47
Componente ale aplicaiilor distribuite

Middleware orientat pe baze de date permite vizualizarea datelor,


indiferent de modelul utilizat la stocare.

48
Componente ale aplicaiilor distribuite

Componenta middleware pentru


tranzacii coordoneaz
conexiunile la diferite resurse
din reea (rezolv o problem de
integrare a aplicaiilor).

49
Aplicaia Web

Elementele necesare pentru dezvoltarea aplicaiilor Web


pentru e-Business:
Multi-platforme i soluii slab cuplate
Performan
Servicii configurabile
Standarde acceptate
Securitate, management

50
Aplicaia Web

Modelul generic al unei aplicaii web 51


Aplicaia Web

Aplicaia Web este o extensie dinamic a unui server Web. O


aplicaie Web obinuit se conecteaz la alte servere, cum ar fi
baze de date sau sisteme bazate pe tranzacii.

Componentele unei
aplicaii Web

52
Aplicaia Web

Implementarea unei aplicaii web 53


(sursa: https://securesoftwaredev.com/tag/cloud9/)
Aplicaia Web

Aplicaiile Web sunt de dou tipuri:

Orientate pe prezentare cnd n rspunsul la cererile


clienilor sunt generate pagini Web dinamice care conin
diferite limbaje de marcare (HTML, XML), JavaScript
etc.)
Orientate pe servicii pentru implementarea unui
serviciu. Acest tip de aplicaie este deseori apelat prin
aplicaiile orientate pe prezentare.

54
Aplicaia Web

Arhitectura unei aplicaii web pentru e-business este compus


din urmtoarele elemente-cheie:

Clienii Internet i Intranet care comunic cu serverele de aplicaii Web,


utiliznd standarde Internet (TCP/IP, HTML, HTTP);
Serviciile pentru infrastructur: serverul de aplicaie Web i componentele
pentru logica afacerii, precum i servicii de directoare i securitate
serverele pentru aplicaii Web: prelucrez cererile clienilor i le
returneaz pagini Web care pot avea un coninut static sau dinamic.
Serverele de aplicaii Web utilizeaz diverse medii de programare
pentru aplicaiile Web.

55
Aplicaia Web

Serviciile pentru aplicaii de e-business: funcii cu un nalt grad


de specializare prin care se creaz soluiile de e-business.
Funciile pentru administrarea sistemului: adaptate cerinelor de
administrare a reelei (incluznd utilizatori, aplicaii, servicii,
infrastructura i hardware).
Instrumentele de dezvoltare pentru a crea, asambla, exploata i
administra aplicaiile.
Serviciile externe: aplicaii speciale ale unei alte ntreprinderi,
cum ar fi serviciile de informare ale partenerilor de afacere.

56
Aplicaia Web

Dac arhitectura unei aplicaii, care se dorete s constituie o platform


pentru realizarea unor servicii, ndeplinete urmtoarele caracteristici:
cuplare slab
transparen de localizare
independen de protocol

va determina o reducere a problemelor generate de eterogenitatea,


interoperabilitatea componentelor hardware/software i a cerinelor
utilizatorilor n permanent schimbare.

57
Aplicaia Web

Argumente pro/contra utilizrii aplicaiilor web


Pro
Multitudinea instrumentelor existente pentru interfaa cu
utilizatorul
Existena reelele publice

Contra sau barierele n faa succesului


Modelul unei afaceri publice acum se cere o cuplare slab
Ateptrile clienilor sunt mai mari
Prezentarea datelor! ca mecanism primar pentru comunicare
58
Aplicaia Web

XML are un rol esenial n realizarea aplicaiilor Web prin:

abstractizarea descrierii documentelor;


mrirea capacitii de cutare i filtrare;
automatizarea validrii documentelor;
administrarea fragmentelor mici, reutilizabile ale
documentelor;
multiple formate de prezentare, cum ar fi Web, hrtie sau
CD-ROM.
59
Aplicaia Web

XML n arhitectura aplicaiei Web (IBM Application Framework)


60
Categorii de modele pentru aplicaiile de
e-business

Aplicaiile de e-business, dup domeniul de aciune a afacerii, se


clasific:
Aplicaiile intra-afacere - aplicaiile de e-business care exist
pe domeniul intern al companiei/organizaiei.
Aplicaiile inter-afaceri - aplicaiile care depesc limita unei
organizaii, asigur interaciunea cu entiti externe, cum ar fi
clieni, o companie partener de afacere sau o instituie
financiar.

61
Categorii de modele pentru aplicaiile de
e-business

Clasificarea aplicaiilor de e-business


62
Categorii de modele pentru aplicaiile de
e-business

Categoriile generale pentru aplicaiile intra-business:


Comunicarea intern - crearea unui mediu de comunicare pentru accesarea
informaiei de ctre orice membru al organizaiei prin:
e-mail
formular de nregistrare
telefonie pe Internet
video i teleconferine
chat
soft colaborativ (Groupware)
comunicaii securizate
monitorizarea i testarea securitii

63
Categorii de modele pentru aplicaiile de
e-business

Categoriile generale pentru aplicaiile intra-business (continuare):


Managementul documentelor este procesul de creare, stocare, organizare,
identificare, manipulare, editare i utilizare a documentelor unei organizaii
pentru a servi intereselor acesteia.
tiri
servere de fiiere
utilizarea agenilor inteligeni
ca suport de cercetare
instrumente de cutare
statistici i rapoarte

64
Categorii de modele pentru aplicaiile de
e-business

Categoriile generale pentru aplicaiile intra-business (continuare):


Workflow: un sistem de workflow reprezint un algoritm complex de funcionaliti
i activiti, care include liste de task-uri, notificri, alerte, raportri, urmriri de
termene de execuie etc., reunite ntr-un tot unitar. Crearea unui workflow reprezint
o automatizare a proceselor de business desfurate n cadrul unei companii.
echipa de dezvoltare distribuit
planificarea proiectului i urmrirea sarcinilor
controlul proceselor
monitorizarea i colectarea datelor de la procese
monitorizarea productivitii
calendare pentru evenimente
evaluarea costurilor pe baza activitilor
suport pentru mbuntirea proceselor de afaceri
65
Categorii de modele pentru aplicaiile de
e-business

Categoriile generale pentru aplicaiile intra-business (continuare):


Managementul informaiei este definit ca fiind aplicarea principiilor
managementului n achiziia de informaii (din interiorul organizaiei) de la una sau
mai multe surse, organizarea, controlul, diseminarea i utilizarea informaiilor
relevante necesare n activitatile organizaiei, inclusiv n cele decizionale.
suport pentru decizii strategice
managementul resurselor ntreprinderii
sistemul de raportare a datelor financiare
sistem de pontaj i planificarea concediilor
sistemul de achiziii i aprovizionare
gestionarea competenelor angajailor
sistem de management i optimizare a execuiei strategiei unei organizaii
66
Categorii de modele pentru aplicaiile de
e-business

Categoriile generale pentru aplicaiile intra-business (continuare):


Marketingul reprezint "tiina i arta de a convinge clienii s cumpere sau "tiina
i arta de a vinde:
prezentri promoionale (multimedia)
suport pentru clieni
studii referitoare la clieni

67
Categorii de modele pentru aplicaiile de
e-business

Categoriile generale pentru aplicaiile intra-business (continuare):


Trainingul este un proces sistematic intenional de modificare a comportamentului
membrilor unei organizaii n direcia creterii eficienei ei (Hinrichs).
training online
testare i certificare online
training colaborativ

68
Categorii de modele pentru aplicaiile de
e-business

Aplicaiile inter-business se pot diviza n:


Business-to-Business (B2B)
Business-to-Consumer (B2C)
Consumer-to-Business (C2B)
Consumer-to-Consumer (C2C)
Government-to-Business (G2B)
..
Consumer Business Government
Consumer C2C C2B C2G

Business B2C B2B B2G

Government G2C G2B G2G


69
Categorii de modele pentru aplicaiile de
e-business

Business-to-Business (B2B) - modelul de afacere


electronic n care tranzaciile se realizeaz ntre
organizaii.

Model B2B: portalul de afaceri 53trade.com (http://www.53trade.com/)


70
Categorii de modele pentru aplicaiile de
e-business

Business-to-Consumer (B2C) - model de afacere


electronic n care tranzaciile au loc ntre companii i
persoane fizice (companiile ofer produse/servicii
persoanelor fizice).

Model B2C: www.amazon.com 71


Categorii de modele pentru aplicaiile de
e-business

Consumer-to-Business (C2B) - model de afacere electronic n


care tranzaciile au loc ntre persoane fizice i companii
(persoanele fizice ofer produse/servicii companiilor), pot
interveni intermediari.

Model C2B: http://www.jobster.com/ 72


Categorii de modele pentru aplicaiile de
e-business

Consumer to consumer (C2C) model de afacere electronic n


care consumatorii vnd direct altor consumatori produsele i
serviciile.

73
Model C2C: http://www.ebay.com/
Categorii de modele pentru aplicaiile de
e-business

Government-to-business (G2B) reprezint un model de afacere


electronic n care tranzaciile se realizeaz ntre instituii
guvernamentale i companii/persoane juridice. De obicei, instituia
guvernamental interacioneaz cu firmele prin intermediul unui
portal.

Model G2B: http://www.licitatiapublica.ro/ 74


Categorii de modele pentru aplicaiile de
e-business

Government-to-consumer (G2C) - Acoper relaii guvern-ceteni la


nivel de informare i prestare de servicii publice. n aceast categorie
intr site-urile pentru plata on-line a taxelor i impozitelor.

Model G2C: http://www.ghiseul.ro/ 75


Categorii de modele pentru aplicaiile de
e-business

Business-to-Government (B2G) deriv din modelul B2B


tranzaciile se deruleaz ntre companii i instituii/agenii
guvernamentale (companiile ofer produse/servicii instituiilor
guvernamentale).

Model B2G: http://www.ewarenessinc.com/b2gmarketsserved.html 76


Categorii de modele pentru aplicaiile de
e-business

m-business (afaceri mobile) este modelul de afacere electronic


n care se apeleaz la tehnologia fr fir, cum ar fi telefoanele
mobile i PDA-uri (personal digital assistants). Japonia este
vzut ca un lider global n "m-commerce.

m-business ajut compania s rspund mai rapid schimbrilor,


cerinelor clienilor i evoluiilor n mediul concurenial al
economiei de pia.

77
Modelul B2C

Exemple de aplicaii B2C:


Prezentarea electronic de bunuri sau servicii prin:
Site de informaii
Distribuia de anunuri
Formulare Web pentru vnzri
Autoservirea pentru clieni include:
Solicitri de conturi
Servicii ale clienilor
Birou pentru ajutor 78
Modelul B2C

Exemple de aplicaii B2C (continuare):


Comenzile online includ:
Cataloage electronice
Magazine Web
Vnzare Web
Licitaie Web
Achitarea notei de plat include plata online i procesarea
tranzaciilor

79
Elemente ale unei afaceri de comer electronic (B2C)
Modelul B2B

Aplicaiile B2B pot fi de tipul:


e-Marketplaces (Business-to-marketplace-to-business)
B2Bi (Business-to-business integration)
EAI (Enterprise Application Integration) este procesul de integrare a
multiplelor aplicaii, care sunt dezvoltate, administrate i ntreinute
independent i pot utiliza tehnologii i platforme incompatibile.
EAI, n forma cea mai simpl, permite transferul de informaii ntre
aplicaii.
EAI poate automatiza fluxul de date ntre aplicaiile procesului de
afacere. Aplicaiile trebuie s emit, recepioneze i s prelucreze aceste
date i, n final, s returneze rezultatele.
81
Modelul B2B

Integrarea definete serviciile software care permit aplicaiilor


de afaceri distribuite s interopereze. Acestea pot partaja
funcii, coninut i canale de comunicaie ntr-un mediu de
calcul eterogen.
Categoriile generale pentru soluiile de integrare a aplicaiilor,
innd seama de criteriul de baz, sunt:
orientate pe informaii
orientate pe integrarea proceselor de afaceri
orientate pe servicii
orientate pe portal 82
Modelul B2B

Integrarea aplicaiilor
orientat pe informaii
permite transferul
informaiilor ntre
sistemele surs i
destinaie, respectnd
o anumit schem.

83
Modelul B2B

Federalizarea datelor stocate


n diverse baze de date permite
integrarea acestora vor fi
percepute ca o singur baz de
date.

84
Modelul B2B

B2Bi a devenit extrem de important n multe domenii de afacere,


cum ar fi:

tranzaciile financiare tranzaciile bancare, verificare situaiei contului,


obinerea informaiilor de creditare;
activitile productive pentru planificarea i execuia proceselor de
producie;
activitile comerciale verificarea stocurilor, comenzi de reaprovizionare,
plata automat;
activiti din domeniul transportului informarea despre orarul trenurilor i
a curselor aviatice, rezervarea de bilete, schimbarea rezervrilor, plata
biletului.
85
Modelul B2B

Integrarea B2B se ocup de:


partajarea datelor/aplicaiilor;
schimbul de documente reprezint practica cea mai utilizat
pentru interaciunea afacerilor - fiecare participant definete
tipurile de documente (cum ar fi documente EDI sau XML)
care pot fi eliberate;
integrarea proceselor (servere de integrare).

86
Partajarea
datelor/informaiilor
Modelul B2B

Serverele de integrare pot


integra diferite tipuri de
componente middleware,
aplicaii i baze de date.

88
Modelul B2B

Serviciile oferite prin serverele de integrare pot fi incluse n una din urmtoarele
categorii:

Transformare (transformare de
coninut: 1/11/2006 1 noiembrie
2006)
Rutare inteligent
Procesare a regulilor
Depozitare mesaje
Servicii de directoare
Management
API i adaptoare 89
Integrarea proceselor
de afaceri
Modelul B2B

n concluzie, integrarea aplicaiilor business-to-business (B2B)


asigur:
automatizarea - se automatizeaz schimbul de informaii ntre afaceri;
colabararea - partajarea informaiilor i cunotinelor ntre afaceri
pentru un beneficiu reciproc.
De exemplu, procesul de lansare a unei comenzii implic schimbul
urmtoarelor mesaje comerciale ntre parteneri:
Apelarea ofertei
Rspunsul la apelarea ofertei
Comanda
Rspunsul la comand
91
Automatizarea
procesului de
lansare
comend (1)
Automatizarea
procesului de
lansare
comend (2)
Modelul B2B

Colaborarea n afaceri presupune:


Definirea procesului - prin utilizarea proceselor de afaceri i analiza documentelor de afaceri;
Descoperirea partenerului - identificarea potenialilor parteneri de afacere prin consultarea
profilelor de companii n registre specializate;
Semnarea acordului de afacere ca urmare a negocierii condiiile de colaborare;
Configurarea interfeelor - partenerii de afaceri configureaz interfeele i serviciile afacerii n
conformitate cu acordurile semnate;
Execuia procesului au loc schimburi de mesaje/documente prin care se completeaz tranzaciile
de afaceri stabilite prin acord;
Managementul procesului - procesul de afacere definit i agreat este monitorizat cu acordul
partenerului de afacere;
Evoluia procesului - reactualizarea permanent a proceselor sau crearea de noi procese prin care s
se rspund cerinelor de pe pia.

94
Colaborarea
Modelul B2B

Unul dintre procesele incluse n clasa de aplicaii B2B


este integrarea lanului de aprovizionare:
Managementul furnizorilor
Managementul inventarului
Managementul distribuiei documentelor
Managementul canalelor de comunicaie
Managementul sistemului de plat
Managementul financiar

Managementul vnzrilor care antreneaz productivitatea

96
Elementele din arhitectura aplicaiei de e-business
Modele de afaceri pentru e-commerce (1)

Modelul 1: Business-to-consumer

98
Modele de afaceri pentru e-commerce (2)

Caracteristicile modelului
Marca unic
Rspundere proprie pentru cataloage, inventar, relaii cu
cumprtorii i ndeplinirea comenzilor
Implementrile speciale ale acestui model includ Government-
to-Consumer/Citizen (G2C) i Business-to-Employee (B2E).

99
Modele de afaceri pentru e-commerce (3)

Responsabiliti de afacere
Atragerea cumprtorilor, creterea numrului de vizitatori i a ratei de
cumprare
Crearea i ntreinerea unor date pentru prezentarea produselor
Oferirea de servicii consistente clienilor
Cerinele-cheie
Consolidarea canalului online cu sistemele de afacere back-end i cu
procesele de afacere
Capabiliti avansate prntru atragerea cumprtorilor i reinerea lor
Suport pentru autoservirea cumprtorilor
Msurarea i analiza profitului 100
Modele de afaceri pentru e-commerce (4)

Modelul 2: furnizor de serviciu Business-to-Consumer (Service provider - xSP)


101
Modele de afaceri pentru e-commerce (5)

Caracteristicile modelului
Magazine multiple amplasate ntr-un mediu de gzduire
Magazinele sunt n totalitate independente
Furnizorul serviciului (xSP) solicit o tax n mod
normal i/sau supratax bazat pe dimensiunea
catalogului sau volumul tranzaciilor.

102
Modele de afaceri pentru e-commerce (6)

Responsabiliti de afacere
S rspund cerinelor vnztorilor prin oferirea unor faciliti pentru auto-
prezentare
Atragerea a ct mai multe magazine
Reducerea costurilor site-urilor instalate i meninerea unei afaceri profitabile
Cerinele-cheie
Uurina de utilizare a instrumentelor pentru crearea i ntreinerea
magazinului
Instrumente destinate comercianilor pentru crearea catalogului i ntreinere
Instrumente pentru analiza afacerii comercianilor i furnizorului de serviciu,
pentru plata i facturarea furnizorului de serviciu
103
Modele de afaceri pentru e-commerce (7)

Modelul 3 - Business-to-Business (B2B) / Sell-side

104
Modele de afaceri pentru e-commerce (8)

Caracteristicile modelului
Site de vnzare unic pentru una sau mai multe mrci (brands)
Cataloage, inventar, relaii cu firmele i rezolvarea comenzilor n mod
propriu
Identificarea cumprtorilor i a parteneriatelor pe termen lung
Preul de vnzare al produselor este determinat de factori multipli, cum ar
fi cantitatea i locaia de livrare sau data. Preul este deseori oferit n mod
unic pentru fiecare firm cumprtoare.
Implementrile speciale ale acestui model include Business-to-Government
(B2G) i Business-to-Employee (B2E)

105
Modele de afaceri pentru e-commerce (9)

Responsabiliti de afacere
Managementul datelor despre produsele furnizorilor
Managementul comenzilor i inventarului
Integrarea cu diverse sisteme ale cumprtorului i aplicaii back-end ale
vnztorului
Msurarea eficienei afacerii i responsabilitatea pentru dinamica de pia
Cerinele-cheie
Preuri dinamice i termene de contractare personalizate pentru fiecare cumprtor
Managementul contractelor
Managementul financiar
Colaborarea cu clienii pe logistic i anticiparea cerinelor
Analiza profitului i eficacitatea contractelor
106
Modele de afaceri pentru e-commerce (10)

Modelul 4: B2B Sell-side private trading exchange/direct


selling
107
Modele de afaceri pentru e-commerce (11)

Caracteristicile modelului
Site propriu/instalat printr-un comerciant sau fabricant de
marc
Vnzri directe ctre clienii de afacere
Parteneriat pe termen lung cu firme client-cheie
Site-ul este accesibil numai membrilor

108
Modele de afaceri pentru e-commerce (12)

Responsabiliti de afacere
Crearea, administrarea i distribuirea datelor relevante despre produse
Integrarea sistemelor i proceselor de afacere cu cele ale cumprtorilor
Atragerea de firme cumprtoare
Msurarea eficienei afacerii
Cerinele-cheie
Administrarea relaiilor de afaceri cu cumprtorii
Managementul contractelor
Managementul financiar
Colaborarea cu clienii pentru logistic, rezolvarea comenzilor i anticiparea cerinelor
Controlul accesului pe baza rolurilor
Analiza profitului i eficacitatea contractelor 109
Modele de afaceri pentru e-commerce (13)

Modelul 5A: - B2B Sell-side private trading - shared commerce

110
Modele de afaceri pentru e-commerce (14)

Caracteristicile modelului
Magazine multiple dezvoltate/ncrcate ntr-un mediu distribuit controlate de
ctre comerciant i partajate cu ali parteneri printr-un model de tip francis
Fiecare partener controleaz propriul site (site cu etichet privat - Private
Label Site)
Partenerii administreaz propriile cataloage, cumprtori,comenzi i site-ul
Comenzile, plile etc. sunt separate pe parteneri
Unele procese cheie, cum ar fi programele de promoie i loialitate, pot fi
administrate centralizat de vnztor.

111
Modele de afaceri pentru e-commerce (15)

Responsabiliti de afacere
Crearea, ntreinerea i administrarea datelor despre produse personalizate
pentru fiecare partener
Integrarea sistemelor i proceselor de afaceri cu cele ale partenerilor
Msurarea eficienei afacerii pentru fiecare partener
Obinerea unei impresii bune pentru cererile utilizatorilor finali, satisfacerea
cu produsele comerciantului sau serviciile partenerilor i anticiparea cererii
de pia.
Permite partenerilor s adauge i s administreze produsele lor cu valoare
adugat i servicii
Atragerea i suportarea a ct mai muli parteneri
Punerea la dispoziie a unui suport de calitate la un pre redus. 112
Modele de afaceri pentru e-commerce (16)

Cerinele-cheie
Administrarea relaiilor de afaceri bilaterale
Crearea i administrarea site-ului distribuit pentru partenerii disponibili
Managementul financiar
Managementul vnzrilor
Suport online pentru parteneri (educaional, tehnic etc.)
Colaborarea cu partenerii
Instrumente pentru crearea catalogului i managementul coninutului
pentru parteneri i comerciant
Msurarea i analizarea profitului pentru parteneri i comerciant
113
Modele de afaceri pentru e-commerce (17)

Modelul 5B: B2B Sell-side private trading - commerce syndication


(concern, trust)
114
Modele de afaceri pentru e-commerce (18)

Caracteristicile modelului
Partenerul lucreaz n modul off-line prin conexiuni neregulate ctre
vnztor (integrarea este slab)
Mesajele i formate predefinite pentru reactualizarea cataloagelor,
pentru comenzi etc.
Partenerii administreaz cataloagele lor i afacerile off-line
Reactualizarea n mod regulat
Acelai model opereaz n cazul vnzrilor mobili.

115
Modele de afaceri pentru e-commerce (19)

Responsabiliti de afacere
Crearea, administrarea i distribuirea datelor personalizate despre
produse pentru fiecarea partener
Distribuirea inventarului n timp real
Msurarea eficienei afacerii pentru fiecare partener
Obinerea unei impresii bune pentru cererile utilizatorilor finali,
satisfacerea cu produsele vndute sau serviciile partenerilor i
anticiparea cererilor de pia.
Punerea la dispoziie a unui suport de calitate la un pre redus.

116
Modele de afaceri pentru e-commerce (20)

Cerinele-cheie
Managementul relaiilor de afacere bilaterale
Managementul financiar
Managementul vnzrilor
Suport online pentru parteneri (educaional, tehnic)
Controlul proceselor pentru crearea de trust i reactualizarea
informaiilor despre produse
Msurarea i analiza profitabilitii

117
Modele de afaceri pentru e-commerce (21)

Modelul5C: - B2B Sell-side private trading - Commerce


collaboration
118
Modele de afaceri pentru e-commerce (22)

Caracteristicile modelului
aplicaiile partenerilor i/sau procesele de afacere sunt puternic
integrate cu cele ale vnztorului
nivelurile de inventariere a partenerilor sunt vizibile pentru vnztor,
ceea ce permite inventarierea la momentul potrivit i evaluarea pe
seama inventarului
comenzile partenerilor i comenzile recepionate sunt vizibile pentru
vnztor

119
Modele de afaceri pentru e-commerce (23)

Modelul5D: B2B Sell-side private trading - commerce brokerage

120
Modele de afaceri pentru e-commerce (24)

Caracteristicile modelului
Aplicaiile partenerilor i procesele de afacere integrate cu
cele ale comerciantului
Partenerul se ocup cu rezolvarea comenzii, avizul de plat,
colectarea plilor i a oricrui serviciu cu valoare adugat
Comenzile i inventarul sunt direct controlate de comerciant

121
Modele de afaceri pentru e-commerce (25)

Modelul5E: B2B Sell-side private trading - commerce delegation

122
Modele de afaceri pentru e-commerce (26)

Caracteristicile modelului
Cumprtorii caut, configureaz i selecteaz produsele de pe
site-ul comerciantului
Conducerea operaiilor comerciale este transferat unui
partener
Partenerul se ocup cu rezolvarea comenzii, avizul de plat,
colectarea plilor i a serviciilor dup vnzare

123
Modele de afaceri pentru e-commerce (27)

Modelul 5F: B2B Sell-side private trading - partners cooperation

124
Modele de afaceri pentru e-commerce (28)

Modelul 6: Business-to-Business (B2B)/Buy-side

125
Modele de afaceri pentru e-commerce (29)

Caracteristicile modelului
Procesul de achiziionare este centralizat pentru furnizri direci i
indireci
Posibilitatea de selectare a furnizorului
Modelul este extins pentru ntreprinderile mari prin adugarea
facilitilor de e-sourcing pentru selectarea furnizorului n mod
automat

Termenul de e-sourcing este definit ca utilizarea aplicaiilor Web, a instrumentelor


suport pentru decizie i a serviciilor asociate pentru identificare, evaluare, negociere
i configurare a relaiilor de vnzare i cumprare, care vor fi efectiv n lanul de
vnzare i n alte operaii de afacere.

126
Modele de afaceri pentru e-commerce (30)

Modelul 7: B2B Buy-side Private Trading Exchange

127
Modele de afaceri pentru e-commerce (31)

Caracteristicile modelului
Procesul de achiziionare este centralizat pentru furnizri
directe i indirecte
Posibilitatea de selectare a furnizorului
Alegerea modelului de cumprare (contract, licitaie)

128
Modele de afaceri pentru e-commerce (32)

Modelul 8: B2B Buy-side Service Provider


129
Modele de afaceri pentru e-commerce (33)

Caracteristicile modelului
O aplicaie de achiziie se execut pe un sistem gazd
Cumprtorii sunt n totalitate independeni
Furnizorul de servicii solicit cumprtorilor o tax regulat i/sau o
supra-tax dependent de dimensiunea catalogului sau volumul
tranzaciilor

130
Modele de afaceri pentru e-commerce (34)

Responsabiliti de afacere
S rspund cerinelor cumprtorilor de accesare i de administrare a
sistemului de achiziie
Atragerea mai multor cumprtori i furnizori
Reducerea costurilor pentru site i meninerea unei afaceri profitabile
Cerinele-cheie
Aplicaia de achiziie s fie simplu de configurat i administrat
Instrumente pentru crearea catalogului, ntreinere i administrare pentru
cumprtori
Instrumente pentru analiza afacerii pentru cumprtori i furnizorul de serviciu
Serviciu de taxare i facturare pentru furnizorul de serviciu 131
Modele de afaceri pentru e-commerce (35)

Modelul 9: B2B Market Place

132
Modele de afaceri pentru e-commerce (36)

Caracteristicile modelului
Site propriu/ncrcat printr-un intermediar (MarketMaker);
participarea este deschis pentru orice parte calificat (public)
Multiplii cumprtori i furnizori
Catalog standard

133
Modele de afaceri pentru e-commerce (37)

Responsabiliti de afacere
Crearea, administrarea i distribuirea informaiilor despre produse
Integrarea sistemelor i a proceselor de afacere cu cele ale
cumprtorilor i furnizorilor
Atragerea cumprtorilor i furnizorilor
Cerinele cheie
Preuri dinamice (contracte, licitaii)
Administrarea cumprtorilor i furnizorilor
Faciliti avansate pentru administrarea comenzilor

134
Modele de afaceri pentru e-commerce (38)

Modelul10: Comer B2B (B2B Exchange)


135
Modele de afaceri pentru e-commerce (39)

Caracteristicile modelului:
o reea de afaceri care interacioneaz direct dup modelul oricare-
la-oricare;
fiecare afacere poate aciona ca un furnizor sau un cumprtor
pentru acelai produs

136
Modele de afaceri pentru e-commerce (40)

Responsabiliti de afacere
Definirea i introducerea standardelor pentru schimbul de date
Administrarea unui numr mare de tranzacii, roluri complexe i controlul
accesului dintr-o reea public
Cerinele cheie
Posibilitatea comercianilor de creare i administrare a propriulor site-uri
Instrumente pentru crearea catalogului i administrarea coninutului pentru
comerciant
Managementul relaiilor de afacere cu vnztorii/partenerii

137
Bibliografie

Nstase Fl., Timofte C., Tehnologia afacerilor pe Internet, Ed. ASE,


Bucureti, (CD-ROM), 2004
IMAD ALBAZZ, E-commerce Business Models, 2002, Version 1.0, , IBM
Software Group
Resurse Internet

138
Departamentul de Informatic i
Cibernetic Economic

ntreprinderea i afacerile
electronice

Prof. univ. dr. Fl. NSTASE


Cuprins

ntreprinderea
Arhitectura ntreprinderii
Arhitectul IT
Care este valoarea EA?
Evoluia arhitecturilor de ntreprindere
Enterprise Architecture Framework
Framework Zachman
Framework TOGAF
Federal Enterprise Architecture Framework (FEAF)
Integrated Architecture Framework (Capgemini)
Extended Enterprise Architecture Framework (E2AF)
Modelarea arhitecturii de ntreprindere prin ArchiMate
Concluzii asupra framework-urilor
2
ntreprinderea

ntreprinderea/firma - unitate economic legal recunoscut, care furnizeaz produse


i/sau servicii clienilor.

Un prim criteriu pentru clasificarea ntreprinderilor l reprezint tipul de afacere (de


exemplu, afacere n domeniul informaiei, agriculturii, alimentaiei publice etc.)

Consoriul The Open Group (TOGAF) definete "ntreprinderea" ca orice colecie


de structuri care au n comun un set de obiective. De exemplu, o ntreprindere poate
fi o agenie guvernamental, o corporaie, o parte a unei corporaii, un singur
departament etc. (http://pubs.opengroup.org/architecture/togaf9-doc/arch/)

3
Arhitectura ntreprinderii

Descrierea organizrii logice a proceselor de afacere i a infrastructurii IT, prin


care se reflect integrarea i cerinele de standardizare pentru modelul
operaional al firmei, reprezint arhitectura ntreprinderii (Enterprise
Architecture - EA) .

n contextul arhitecturii de ntreprindere, termenul de "ntreprindere" se


folosete pentru a desemna att o ntreag ntreprindere, ct i un departament
specific n cadrul ntreprinderii.

Descrierea arhitecturii este o prim etap pentru mbuntirea eficienei i


eficacitii proceselor de afacere ale organizaiei.

4
Arhitectura ntreprinderii

Prin arhitectura ntreprinderii se are n vedere:


- structura organizatoric;
- procesele de afaceri;
- rapiditatea de a obine informaie de calitate;
- justificarea investiiilor.

De fapt, arhitectura ntreprinderii este arta/tiina exercitat n procesul de


modelare i documentare a tuturor aspectelor legate de organizaie (ntreprindere)
pentru garantarea c serviciile, procesele, aplicaiile, informaiile, datele,
tehnologiile, locaiile, personalul, evenimentele i termenele sunt toate aliniate cu
scopul i obiectivele ntreprinderii.

Arhitectura unei ntreprinderi ofer o viziune asupra ntregii ntreprinderi,


incluznd toate dimensiunile i complexitatea sa. 5
Arhitectura ntreprinderii

Aliniere strategic

Strategia de Strategia
afacere tehnologic
Concepte de Tehnologii
afaceri disponibile

Capaciti Capaciti
Operaionale tehnologice
Eficientizarea afacerii

EA o for pentru colaborare


6
Arhitectura ntreprinderii

Arhitectura ntreprinderii a aprut din necesitatea de a include:


strategia
obiectivele
modele de calitate
msurarea performanelor
raportri
securitatea
logica afacerii
informaii
aplicaii
tehnologii etc.

7
Arhitectura ntreprinderii

Elementele externe ale unei ntreprinderi pot influena strategia de afacere a


companiei, n particular arhitectura ntreprinderii.
n categoria componentelor externe se regsesc:
- clienii
- piaa
- industria
- oportunitile existente
- companiile concurente
- autoritile de reglementare
- investitorii

8
Arhitectura ntreprinderii

ntreprinderile pot dezvolta arhitecturi utiliznd mecanisme specifice:


- tehnici i metode de dezvoltare;

- principii arhitecturale;

- standarde stabilite i recunoscute la nivel internaional;

- framework-uri i modele EA;

- instrumentele de dezvoltare.

9
Arhitectura ntreprinderii

Mediul de dezvoltare pentru arhitectura de ntreprindere


10
Arhitectura ntreprinderii

Dezvoltarea unei strategii de afacere, impune modificarea arhitecturii de


ntreprindere, n funcie de solicitrile aprute.

Arhitectura ntreprinderii se concentreaz pe:


- existena activelor IT;

- arhitectura existent a companiei;

- standardele EA existente;

- principiile i practicile ntreprinderii;

- strategia de afacere adoptat i

- framework-urile / instrumentele disponibile ce pot fi folosite pentru a dezvolta o


arhitectura nou sau pentru a modifica una existent.
11
Arhitectura ntreprinderii

Elemente EA
(sursa: Entreprise Architecture Validation, Institute For Enterprise Architecture
Developments -IFEAD, 2001-2004, pag. 6 )
12
Arhitectura ntreprinderii

n general, un framework este o structura real sau conceptual destinat a


fi suport sau ghid pentru construirea a ceva util.
Exemple de framework-uri folosite n prezent sau oferite de ctre
organismele de standardizare sau de companii:
- Resource Description Framework (RDF), un set de reguli de la World Wide Web
Consortium pentru a descrie orice resurs din Internet, cum ar fi un site web i
coninutul su;
- Internet Communication Framework (ICF) permite comunicarea cu sistemul
SAP folosind protocoale standard din Internet (HTTP, HTTPS i SMTP);
- Zachman framework este structura logic fundamental pentru reprezentarea
arhitecturii unei ntreprinderi.
Enterprise Architecture Framework cuprinde un set de modele, principii i metode
care sunt folosite pentru a implementa EA. 13
Arhitectura ntreprinderii

Metod - procedeu sau ansamblu de procedee folosite n realizarea unui


scop; metodologie (http://dexonline.ro/)

Metodologia este un sistem de principii, proceduri i procese aplicate pentru


rezolvarea unei probleme. De exemplu:

- Business Process Management (BPM) este numele dat unei metodologii i clas
de software care poate ajuta la gestionarea i mbuntirea modului n care
procesele de baz ale unei afacerii sunt orchestrate n cadrul unei companii,
ajutnd organizaia s devin mai eficient.

- O metodologie BPM urmeaz un anumit "ciclu de via, cum ar fi: definete


modeleaz execut monitorizeaz optimizeaz ; n fiecare etap se
efectueaz un set specific de activiti.
14
Arhitectura ntreprinderii

Arhitectura ntreprinderii este implicat n identificarea activelor comune sau


partajabile - indiferent dac sunt strategii, procese de afacere, investiii, date,
sisteme sau tehnologii
Architectura de ntreprindere definete:
misiunea
necesarul informaional i tehnologic pentru ndeplinirea misiunii
procesele de tranziie pentru aplicarea noilor tehnologii ca rspuns la schimbarea
nevoilor misiunii.
Arhitectura ntreprinderii definete cum informaia i tehnologia vor fi suport pentru
operaiile de afacere i cum ofer beneficii afacerii.
Arhitectura ntreprinderii este o abordare n curs de dezvoltare - captarea de cunotine
complexe cu privire la organizaie i tehnologii.
15
Arhitectura ntreprinderii

Niveluri ale arhitecturii de ntreprindere


16
Arhitectura ntreprinderii

Arhitectura ntreprinderii poate face referire la:


arhitectura curent descrierea a ceea ce exist n ntreprindere
(produse/servicii), practicile de afacere curente i infrastructura tehnic;

arhitectura int - descrierea ntreprinderii n starea final, n general sunt


specificate prin planul strategic al ntreprinderii;

planul de dezvoltare - documentul care defineste strategia pentru schimbarea


ntreprinderii de la arhitectura curent la arhitectura int (planificri multiple,
activiti interdependente, concomitente i o dezvoltare continu).

17
Arhitectura ntreprinderii

Federal Enterprise Architecture Framework 18


Arhitectura ntreprinderii

Motivele eseniale pentru dezvoltarea unei arhitecturii de ntrepridere sunt:


- Alinierea garantarea c implementarea ntreprinderii corespunde misiunii
sale;
- Integrarea se constat dac regulile de afacere sunt compatibile n toat
organizaia, c datele i modul lor de utilizare nu se schimb permanent,
interfeele i fluxurile de informaie sunt standardizate, iar conectivitatea i
interoperabilitatea sunt administrate n ntreprindere;
- Schimbarea faciliteaz i administreaz schimbrile de orice tip din
ntreprindere;
- Timpul de lansare reduce dezvoltarea sistemelor, generarea aplicaiilor,
termenele de modernizare i cererile de resurse;
- Convergena - sperana spre un portofoliu de produse IT standardizate.
19
Arhitectura ntreprinderii

Principiile arhitecturale stabilesc fundamentele unui set de reguli i


comportamentul n organizaie.

Exist principii care guverneaz elaborarea arhitecturii ntreprinderii i principii


care guverneaz implementarea arhitecturii.

Principiile arhitecturale din faza de elaborare EA influeneaz dezvoltarea,


ntreinerea i utilizarea EA.

Principiile arhitecturale pentru implementarea EA stabilesc primele reguli n


luarea deciziei pentru proiectarea i dezvoltarea sistemelor informaionale.

20
Arhitectul IT

Arhitectul ef, mpreun cu CIO (Chief Information Officers) i managerii


afacerii definesc principiile arhitecturale asociate viziunii IT a organizaiei i a
planului strategic.

Poziia arhitecilor IT 21
Arhitectul IT

Principalele competene ale unui arhitect de ntreprindere sunt:


- gndirea sistemului - abilitatea de a vedea modul n care prile interacioneaz ca un
ntreg;
- cunotine despre afacerea pentru care arhitectura de ntreprindere este n curs de
dezvoltare;
- abiliti interpersonale i de conducere abiliti de lider, colaborare i de negociere;
- abiliti de comunicare verbal i n scris;
- abilitatea de a prezenta probleme tehnice complexe, ntr-un mod care poate fi neles
de oricine;
- cunotine de guvernare IT;
- cunotine despre hardware, software, aplicaii i ingineria sistemelor;
- aptitudini de organizare i planificare a managementului programelor i proiectelor;
- cunotine financiare, deoarece se vor face investiii IT;
- managementul timpului i prioritizarea. 22
Arhitectul IT

Abilitile arhitectului de ntreprindere


(sursa: http://evolvingenterprisearchitecture.blogspot.ro/?view=classic) 23
Care este valoarea EA?

EA faciliteaz i permite luarea unor decizii informate i corecte aspra proceselor


de afacere i a investiiilor, prin care s se susin cel mai bine misiunea
ntreprinderii.
Identific oportunitile pentru eliminarea redundanelor din cadrul
proceselor, informaiilor, aplicaiilor i tehnologiei.
Elimin cheltuielile pentru informaii, procese, aplicaii sau tehnologii
dublate.
Identific funciile de afacere i investiiile care nu se ncadreaz cu
scopul i obiectivele misiunii i introduce disciplina pentru eliminarea
sau reducerea discrepanelor.

24
Care este valoarea EA?

Modelele arhitecturale sunt cele care ghideaz i informeaz despre soluiile


tehnologice pentru:
promovarea interoperabilitii ntre platforme
extinderea flexibilitii i scalabilitii
sporirea portabilitii
creterea productivitii
mbuntirea modularitii i reutilizrii
micorrii riscului pe termen scurt i lung

25
Evoluia arhitecturilor de ntreprindere

references DoD AF
JTA
2003

references
ISO/IEC Supported by
14252 C4ISR
DoD TRM references
influenced 1999
influenced
supported by influenced
TOGAF TOGAF
TAFIM adopted by 1995 influenced 2002

influenced
Zachman Zachman
1987 2003
TEAF
influenced influenced 2000

EAP FEAF FEAF


influenced
1992 1999 2003
influenced
influenced supported by

influenced
TISAF influenced
E2AF
1997 2003
influenced

UVA Model IAF v1 IAF v3 EE XAF


influenced
1994 1996 2001 2003
influenced

1985 1990 1995 2000 2005


26
Evoluia arhitecturilor de ntreprindere

TAFIM - Technical Architecture Framework for Information


Management
JTA Joint Technical Architecture DoD -Department of Defense
DoD TRM - Department of Defense Technical Reference Model
C4ISR Command, Control, Communications, Computers, Intelligence,
Surveillance, Target Acquisition and Reconnaissance
DoD AF Department of Defense Architecture Framework
TOGAF The Open Group Architecture Framework
ISO/IEC 14252 International Standards Organization/International
Electrotechnical Commission
27
Evoluia arhitecturilor de ntreprindere

EAP - Enterprise Architecture Planning


FEAF Federal Enterprise Architecture Framework
TEAF Treasury Enterprise Architecture Framework
IAF Integrated Architecture Framework
UVA Model Uniform Visualization Architecture
TISAF- Treasury Information System Architecture Framework
E2AF- Extended Enterprise Architecture Framework
XAF Extensible Architecture Framework
CIMOSA Common Information Model Open System Architecture
PERA Purdue Enterprise Reference Architecture
SAGA Standards and Architectures for eGovernment Applications
GERAM Generalized Enterprise Reference Architecture
28
Enterprise Architecture Framework

Arhitectura ntreprinderii ofer o viziune integrat i formalizat asupra unui


domeniu de afacere sau asupra unei organizaii n ansamblul ei.

Proiectarea arhitecturii unei ntreprinderi este un proces complex;

Cadrul arhitectural al unei ntreprinderi (Enterprise Architecture Framework) este


un instrument pentru:
- proiectarea unei game largi de arhitecturi;
- asistarea n evaluarea diferitelor arhitecturi;
- selectarea i construirea arhitecturii potrivite pentru o organizaie;

Cadrul arhitectural include cele mai bune practici;

Cadrul arhitectural prezint un set de servicii, standarde, concepte de proiectare,


componente i configurri pentru a ghida dezvoltarea de arhitecturi specifice.
29
Enterprise Architecture Framework

La modul general, cadrul arhitectural al unei ntreprinderi const din:


- arhitectura afacerii descrie cele mai importante activiti i activele ntreprinderii;

- arhitectura informaional se refer la aplicaii, date i modul de integrare;

- arhitectura tehnologic include tehnologiile care vor fi acceptate prin arhitectura


informaional pentru: platforme de operare, reele, diversele aplicaii, colaborare,
reprezentarea i manipularea datelor, integrare, securitate i managementul
sistemelor.

30
Enterprise Architecture Framework

(sursa: http://EnterpriseArchitecture.nih.gov)
31
Enterprise Architecture Framework

Arhitectura de afacere trebuie s se rspund la ntrebrile:


I1. Ce trebuie fcut?
I2. Cine le face ?
I3. Care sunt datele i operaiile suportate prin activitile de afacere?
I4. Unde se face?
I5. Cnd se face ?

32
Enterprise Architecture Framework

Ce trebuie fcut?
R1. Vor fi identificate activitile care vor ndeplini scopurile stabilite ale afacerii.
Cine le face ?
R2. Actorii care vor efectua activitile pot fi grupai n patru categorii:
persoane
organizaii
roluri (iniiatorul unei afaceri, managerul, proprietarul, analistul de sistem,
designerul, ofierul de securitate etc. )
aplicaii IT (de exemplu, un sistem de afacere).
Modelul, prin care sunt descrise relaiile ntre elementele enumerate anterior, va fi
recunoscut ca un instrument de organizare sau o raportare a structurii.
33
Enterprise Architecture Framework

Care sunt datele i operaiile suportate?


R3. Sunt specificate tipurile de date i operaiile suportate prin activitile de
afacere; formatele pentru afiare i manipulare (inclusiv stocare); sunt nregistrate
informaii despre modul de derulare a afacerii (care pot fi folosite n depistarea
breelor de securitate sau n auditarea afacerii).
Unde se face?
R4. Localizarea activitilor are ca scop oferirea de informaii despre distan sau
timpul necesar pentru parcurgerea distanei ntre locaii, atunci cnd acestea sunt
importante.
Cnd se face?
R5. ncadrarea n timp a evenimentelor are ca prim scop sincronizarea activitilor
de afacere.

34
Enterprise Architecture Framework

Arhitectura informaional se refer la:


aplicaii
date
integrare
Arhitectura tehnologic include tehnologiile care vor fi acceptate prin arhitectura
informaional:
tehnologii ale aplicaiilor
tehnologii de colaborare
tehnologii de integrare
reele
platforme
securitate
managementul sistemului 35
Enterprise Architecture Framework

Modele utilizate pentru arhitectura de ntreprindere:


- Framework-ul Zachman este un model pentru EA - cu toate c se auto-descrie ca un
framework, se poate defini, mai precis, ca o taxonomie (taxonomia - practica i tiina
de clasificare). Framework-ul Zachman a fost introdus de ctre J.A. Zachman i se
concentreaz pe conceperea constructiv a unei ntreprinderi, mai degrab dect pe
asigurarea unui proces sau metodologie pentru crearea unei arhitecturi sau pentru
descrierea arhitectural.
- Framework TOGAF ofer metode i un set de instrumente pentru dezvoltarea unei
arhitecturi de ntreprindere. Cu toate c este denumit cadru, se definete mai precis ca
un proces.
- FEAF (Federal Enterprise Architecture Framework) este arhitectura de ntreprindere a
unui guvern federal - ofer o abordare comun pentru a integra managementul
strategic, de afacere i tehnologic, ca parte a structurii organizaiei i mbuntirea
performanelor.
- Metodologia Gartner - Poate fi descris ca fiind cele mai bune practici pentru
36
arhitectura de ntreprindere.
Framework Zachman

Framework Zachman este o schem, o clasificare a setului de reprezentri


descriptive care sunt relevante pentru descrierea unei ntreprinderi, astfel nct
aceasta este "normalizat.

Framework Zachman este o colecie de perspective implicate n arhitectura de


ntreprindere.

Perspectivele sunt reprezentate ntr-o matrice bidimensional, unde:

- coloanele reprezint aspecte ale arhitecturii (ntrebri): cine, ce, cnd,...

- rndurile reprezint prile interesate/actorii: planificator, proprietar, proiectant, ...

37
Framework Zachman

38
Framework Zachman

Aspecte:

- Data (what) ce date sunt necesare pentru ca ntreprinderea s funcioneze?


- Function (how) cum funcioneaz ntreprinderea?
- Network (where) unde sunt distribuite geografic activitile ntreprinderii?
- People (who) cine sunt persoanele implicate, ce sarcini le sunt alocate i care
sunt relaiile de la persoana-la-persoana?
- Time (when) cnd se execut un eveniment, pentru a proiecta relaiile ntre
evenimente?
- Motivation (why) de ce? Se va concentra de obicei pe obiective i scopuri, care
este motivaia ntreprinderii.
39
Framework Zachman

Descrierea rndurilor:
- Scope - un rezumat al unui planificator sau investitor care vrea o
imagine de ansamblu sau o estimare a domeniului de aplicare a
sistemului
- Enterprise Model - proiectul de afacere din perspectiva proprietarului.
- Systems Model: planurile arhitecturale sunt translatate n specificaii
detaliate de ctre proiectant.
- Technology Model: modelul proiectantului translatat la modelul
constructorului.
- Detailed Representations: specificaii detaliate oferite de programatori.
- Functioning Enterprise: un sistem este implementat i reprezint o
parte a ntreprinderii.
40
Framework Zachman

Caracteristici:
Poziionare ca un Framework

Livrare pe categorii

Limitat n utilizarea arhitecturii de ntreprindere

Istoric n producie

Larg acceptare

Instrumentul de planificare

41
Framework TOGAF

TOGAF este un framework arhitectural dezvoltat de The Open Group


Architecture Framework.

TOGAF este framework-ul EA cel mai larg adoptat n prezent. Acesta a fost
introdus public n 1995.

Caracteristicile sale sunt derivate din TAFIM (US DoDs Technical Architecture
Framework for Information Management)

TOGAF ofer metodele i instrumentele pentru asistarea n acceptarea,


producerea, utilizarea i ntreinerea unei arhitecturi de ntreprindere.

42
Framework TOGAF

Enterprise Architecture i TOGAF erau competenele IT de top solicitate de


ctre angajatorii din Marea Britanie n 2013.

(Sursa: http://www.eadynamicsuk.com/?name=blog&op=entries&blogCat=C0F0E2CB-ED8F-453E-5B2B2846A6D12F1D)

43
Framework TOGAF

n iunie 2011, primele cinci


ri care adoptaser TOGAF
erau: Marea Britanie,
Olanda, SUA, Australia i
Africa de Sud.
(Sursa:
http://blog.opengroup.org/2011/06/07/togaf%C
2%AE-certification-success-more-than-7000-
individuals-certified-from-over-50-countries/)

44
Framework TOGAF

TOGAF este conceput pentru a oferi suport celor patru domenii


arhitecturale, general acceptate ca subseturi ale unei arhitecturi de
ntreprindere:
- arhitectura de afacere definete strategia de afacere, guvernarea, organizarea i
procesele-cheie ale afacerii;
- arhitectura pentru date descrie structura datelor unei organizaii i resursele de
gestionare a lor;
- arhitectura aplicaiei ofer un model pentru cererile individuale care urmeaz s fie
desfurate, interaciunile lor i relaiile lor cu procesele de afacere ale organizaiei;
- arhitectura tehnologic descrie componentele hardware i software necesare pentru
implementarea de servicii de afacere, date i aplicaii. Aceasta include infrastructura IT,
middleware, reele, comunicarea, prelucrarea, standarde etc.

45
Framework TOGAF

Componentele TOGAF sunt:


- ADM (Architecture Development Method)

- Ghiduri i tehnici ADM (ADM Guidelines & Techniques)

- Framework pentru coninutul arhitectural (Architecture Content


Framework)

- Enterprise Continuum

- Modele de referin

- Framework pentru capabilitate arhitectural (Architecture Capability


Framework)
46
Framework TOGAF

TOGAF ADM (Architecture Development


Method) ofer un proces repetabilil pentru
dezvoltarea de arhitecturi.
faza preliminar - descrie activitile de pregtire i
de iniiere necesare pentru a crea o arhitectur,
incluznd personalizarea pentru TOGAF i definirea
principiilor arhitecturale .
faza A : visiunea arhitectural descrie faza iniial a
unui ciclu de dezvoltare a arhitecturii - include
informaii cu privire la scopul iniiativei de
dezvoltare a arhitecturii, identificarea prilor
interesate, crearea viziunii arhitecturale i obtinerea
aprobrii pentru a continua dezvoltarea arhitecturii.
fazele B la H: ...

47
Framework TOGAF

Ghiduri i tehnici ADM . Procesele ADM pot fi adaptate pentru a face fa diferitelor
scenarii (de exemplu, utilizarea iterativ) i arhitecturi specifice (cum ar fi securitatea).
Sunt descrise o serie de tehnici privind: principiile arhitecturale, managementul prilor
interesate (stakeholders), cerine de interoperabilitate, abloane de afaceri etc.

Iterare ntre cicluri ADM Categoriile de stakeholders


(Sursa: ttp://pubs.opengroup.org/architecture/togaf9- (sursa: http://pubs.opengroup.org/architecture/togaf9-
doc/arch/chap19.html) 48
doc/arch/chap24.html)
Framework TOGAF

Architecture Content Framework. Arhiteci, ca urmare a eforturilor lor, vor


produce o serie de rezultate - cum ar fi: fluxurile de proces, cerinele
arhitecturale, planuri de proiecte, evaluri de conformitate a proiectului etc.
Framework-ul pentru coninut ofer un model structural - astfel nct
rezultatele obinute de arhiteci s fie definite n mod constant, structurat i s
poat fi prezentate.
Framework-ul pentru coninutul arhitectural folosete urmtoarele trei categorii
de produse :
- livrabil (deliverable) este produsul prevzut prin contract;
- artifact este produsul care descrie un aspect al arhitecturii;
- bloc constructiv (building block) reprezint o component (potenial reutilizabil) de
afacere, IT sau faciliti arhitecturale care pot fi combinate cu alte blocuri pentru a
oferi arhitecturi i soluii.

49
Framework TOGAF

Metamodelul pentru coninut


definete toate tipurile de
blocuri care pot exista ntr-o
arhitectur, prezentnd modul
n care aceste blocuri pot fi
descrise i interaciona. De
exemplu, metamodelul
identific aplicaia, entitatea de
date, tehnologia, actorul i
serviciul de afacere, arat
relaiile care sunt posibile ntre
ele (de exemplu, actorii
consum servicii de afacere), i
n cele din urm identific
obiecte care pot fi folosite
pentru a le reprezenta.
Metamodel pentru coninut
(sursa: http://pubs.opengroup.org/architecture/togaf9-doc/arch/chap33.html) 50
Framework TOGAF

The Architecture Continuum ilustreaz modul n care arhitecturile au fost dezvoltate i


au evoluat continuum, variind de la arhitecturi fundamentale, cum ar fi cea oferit de
TOGAF, la arhitecturi de sisteme obinuite, arhitecturi industriale i, n final, la
arhitecturi specifice unei organizaii.

Architecture Continuum
(sursa: http://pubs.opengroup.org/architecture/togaf9-doc/arch/chap39.html)
51
Framework TOGAF

Modelul de referin tehnic ofer un model i o


taxonomie pentru servicii ale unei platforme
generice
Modelul de referin tehnic abordeaz:
- Software de aplicaii;
- Platforma de aplicaii;
- Infrastructura de comunicaii;
- Interfaa cu platforma de aplicaii i interfaa cu
infrastructura de comunicaii.

Modelul de referin tehnic


(sursa: http://pubs.opengroup.org/architecture/togaf9-doc/arch/chap43.html)

52
Framework TOGAF

Service Level Agreements (SLAs)

Modelul de referin pentru infrastructura informational integrat sau RM-III


(The Integrated Information Infrastructure Reference Model)
(sursa: http://pubs.opengroup.org/architecture/togaf9-doc/arch/chap44.html)
53
Framework TOGAF

Architecture Capability Framework ofer un set de materiale de


referin pentru modul de a stabili o funcie de arhitectural.

Capabiliti arhitecturale
(sursa: http://pubs.opengroup.org/architecture/togaf9-doc/arch/chap45.html)

54
Federal Enterprise Architecture Framework (FEAF)

FEAF promoveaz dezvoltarea n comun a proceselor, interoperabilitatea,


precum i partajarea de informaii ntre ageniile federale americane i alte
entiti guvernamentale.
FEAF furnizeaz informaii despre arhitectura de ntreprindere.
FEAF reprezint o colecie de modele de referin, proiectate pentru a
facilita oportunitile de colaborare cu alte ntreprinderi.

55
Federal Enterprise Architecture Framework (FEAF v1)

Modelul de referin pentru afacere


(Business Reference Model - BRM)

Modelul de referin pentru componentele de serviciu


(Service Component Reference Model - SRM)

Modelul de referin tehnic


(Technical Reference Model - TRM))

Modelul de referin pentru date


(Data Reference Model - DRM)

Modelul de referin pentru performane


(Performance Reference Model - PRM)

56
Modelul de referin pentru afacere (FEAF)

Modelul de referin pentru afacere


ofer o viziune funcional, descrie operaiile interne i serviciile pentru
clieni.
este reprezentat printr-o structur ierarhic pe trei niveluri.
este utilizat pentru analiza datelor, componentelor de serviciu i a
tehnologiilor.

57
Modelul de referin pentru afacere (FEAF)

58
Modelul de referin pentru componentele
de serviciu (FEAF)

SRM (Service Component Reference Model) clasific componentele de


serviciu, avnd n vedere cum sunt acceptate de afacere i care sunt
obiectivele de performan.
SRM este structurat n domenii de serviciu pe orizontal i vertical care,
independent de funciile afacerii, pot oferi suport pentru reutilizarea
aplicaiilor, componentelor i serviciilor afacerii.

59
Modelul de referin pentru componentele de
serviciu (FEAF)

60
Modelul de referin tehnic (FEAF)

Modelul de referin tehnic (Technical Reference Model - TRM) se ocup cu


descrierea standardelor, specificaiilor i tehnologiilor care ntrein afacerea
i componentele de serviciu.
Modelul de referin tehnic - este compus din mai multe domenii de serviciu.
Suportul pentru fiecare domeniu de serviciu este o colecie de categorii de
serviciu.
Fiecare categorie de serviciu este suportat prin una sau mai multe:
tehnologii ale serviciului,
standarde sau
specificaii.
De exemplu, categoria de serviciu pentru navigarea web este realizat prin
diverse browser-e (Internet Explorer, Netscape Communicator etc.) 61
Modelul de referin tehnic (FEAF)

Domeniile de serviciu sunt:


Accesul serviciului i livrarea - colecia de standarde i specificaii prin care
se suport accesul extern, schimbul i livrarea componentelor de serviciu
(canale de acces, canale de livrare, transportul serviciului);
Platforma de serviciu i infrastructura - colecia de platforme suport i de
livrare, infrastructura i cerinele hardware care s permit realizarea,
ntreinerea i disponibilitatea componentei de serviciu.
Componentele cadrului de lucru - se refer la elementele fundamentele,
tehnologii, standarde i specificaiile prin care componentele de serviciu sunt
realizate, schimbate i distribuite, inclusiv arhitecturi orientate pe serviciu.
Interfea de serviciu i integrare - colecia de tehnologii, metodologii,
standarde i specificaii care guverneaz interfaa ctre componentele de
serviciu.
62
Modelul de referin tehnic (FEAF)

Domenii i categorii de serviciu (I) 63


Modelul de referin tehnic (FEAF)

Domenii i categorii de serviciu (II)


64
Modelul de referin tehnic (FEAF)

Mediul extern Zona Demilitarizat (DMZ) Mediul intern


(Vecintile exterioare ale organizaiei) (Accesul la componenta de serviciu) (Vecinti din organizaie)

Platforma Serviciilor
Componente Framework

Integrarea serviciului
Interfaa de Serviciu
Interfaa de Serviciu

(Arhitectura n-Tier)
Cerine de serviciu

Infrastructura
Canale de acces

Canale de livrare

Transport serviciu

Infrastructura

Nivelul de securitate
Back Office /
Nivelul presentare / Interfa Active de tip vechi

Logica afacerii

Interchimbarea datelor

Management datelor

Infrastructura

Serviciu de acces i Platforme de serviciu i Componente Interfaa de serviciu i


livrare Infrastructura Framework integrarea

65
Modelul de referin pentru date (FEAF)

Modelul de referin pentru date (Data Reference Model - DRM) furnizeaz


standardul prin care datele utilizate prin operaiile de afacere sunt descrise,
clasificate i partajate.

66
Modelul de referin pentru date (FEAF)

67
Modelul de referin pentru performane (FEAF)

Modelul de referin pentru performane (Performance Reference Model - PRM)


ofer un cadru pentru msurarea performanelor, furniznd rezultate comune
msurabile.
PRM se concentreaz pe trei obiective principale:
ajut la obinerea informaiei pentru luarea deciziilor strategice
perfecioneaz intrrile pentru obinerea rezultatelor dorite
identific oportunitile pentru mbuntirea performanelor

68
Modelul de referin pentru performane (FEAF)

PRM include patru domenii de msurare:


Misiunea i rezultatele afacerii capteaz rezultatele prin care organizaia
cerceteaz realizrile
Rezultate clieni urmrete cum o organizaie servete clienii sau un
serviciu este oferit clienilor (satisfacerea clienilor)
Procese i activiti - reine ieirile care rezult n mod direct din procesele
cu suport IT
Tehnologia reine elementele-cheie de performan asociate n mod direct
cu iniiativele IT

69
Modelul de referin pentru performane (FEAF)

Domeniul Categoria Indicatori de msurare


de de
msurare msurare
Tehnologia Financiar Cost total
Costuri licene
Costuri de operare i
ntreinere
Costuri de instruire

70
Modelul de referin pentru performane (FEAF)

71
Integrated Architecture Framework - (Capgemini)
Aspect Areas

Business Information Information-


Information- Technology-
Technology-
Systems Infrastructure
Abstraction Levels

Business Goals, Drivers and Concepts Activities the Business Performs Systems Goals, Drivers and Concepts Technology Goals, Drivers and Concepts
Why? Corporate Strategic Plans Information Policy System Development policy Locations in which the Business Operates
Responsibilities & Competencies
Vision / Strategy Business Drivers
Confidentiality of Information
Integration Policy Technology Infrastructure policy
Guiding Principles Business - Technology Enablers Business - Technology Enablers
Business / Technology Scope of the Change
Dependencies of others
Responsibility of IS Responsibility of TI
Activities in Scope
Drivers Environmental Dynamics, e.g. Laws Application portfolio TI Portfolio
Business Goals & Objectives, KPIs
Scope Activities = Generic or Specific Guiding Principles Guiding Principles
Viewpoints = Competition, Value Net, etc. Activities = Critical / Overhead
Contextual Level Ends/Means = As-Is / To-Be Business Situation End = Information Situation End = To-Be Information-System Situation Node = Major Business Location

Level of Business Collaboration Level of Information Interaction Level of Interoperability Level of Inter-Connection
What? Project Goals & Objectives Functional Requirements
As-Is Information Systems Environment As-Is Infrastructure
Business Requirements Non-Functional Requirements Functional Requirements TI Principles
Business Relationships Functional Requirements
Quality of Services
Goals & Objectives Budget of Change Information Relations
Non-Functional Requirements
Non-Functional Requirements
Information-Systems Behaviour
Requirements Stakeholders / Win-Win Conditions Information Characteristics
Abstraction & Precision of Data
Quality of Services
Quality of Services Characteristics = Time, Availability, Security,
Policy = Business Purpose Quality of Services
Characteristics = Time, Flexibility, Availability, Maintainability, etc.
Domains = Functional Areas Characteristics = Time, Availability, Security,
Security, Maintainability, etc. I/O = Business Resources Link = Business System Connection
Conceptual Level End = Business Purpose End = Information Resources
Maintainability, etc.
Structure = Interfaces Node = Business System Environment

Type of Business Collaboration Type of Information Interaction Type of Interoperability Type of Inter-Connection
How? Organisation Structure Information Processes MDA Platform-Independent Modelling (PIM)
Business functionality and behavior
Technology Standards
Business Area Structure Information Objects & Relations Infrastructure Profile
Information Interaction Many Middleware Technologies
Role Players / Actors Hardware Systems Profile
Logical Representation Value Net Position Information Flow Characteristics Shared & Pluggable Services
Communication Profile
Business Culture Information Resources Standards = MDA Development
Standards Security Profile
Business Commitment Information Locations
Governance Profile
Business Rules
Entities = Classes, Attributes &
Viewpoint = Business Perspective Viewpoint = Human Perspective Associations Positioning = Allocation of Services
Logical Level End = Business Behaviour End = Information Behaviour End = PIM Interaction = Concepts of Layering

Solutions of Business Collaboration Solutions of Information Interaction Solutions for Interoperability Solutions of Inter-Connection
With what? Business Functions structure and relations Type of Information Exchange
Formal / Informal
MDA Platform-Specific Modelling (PSM) Technology Overview
Business Tasks / Activities Map PSM to application interfaces, code, GUI Solutions & Products for Inter-Connection
Grouping of Information Objects
descriptors, SQL queries, etc. Formats of Communication
Business Objects
Solution Representation Grouping of Information Resources
Viewpoints = Characteristics of a View Security Integration
Business Resources Type of Triggers / Events
Node = Hardware + System
Business Knowledge Grouping of Information
Software, etc.
Business Benefits Types
Connectivity = Middleware /
Technology Possibilities Priority = Dependency of Information Structure = Spectrum of Styles Messaging, etc.
Quality = Component Characteristics End = Structure of Relations,
Physical Level End = Business Outcome
Relation = Information Flow
End = Information Outcome End = PSM Products + Specifications

Granularity of Change Impact of Change Timeframe of Change Timeframe of Change


When? Business Case Business Case Business Case Business Case
Transformation Roadmap Information Systems Roadmap Make or Buy Decision Transformation Plan
Priority Plan Security Plan Implementation Roadmap Priority Setting
Organisational Impact Budget Plan Tools for Development / Implementation IS Alignment Impact
Governance Plan Selection = Set of ICT Supported Objects Governance Plan
Security Impact e.g. Blue Print of Technology Implementation
e.g. Business Process Redesign or Outsourcing e.g. Information Roadmap e.g. Design of Application & Components Portfolio of Products and Components.
Interface = Type of Information Exchange Catalogues of used Standards
Transformational Level End = Business Transformation End = Activities to be supported by ICT
Priority = Dependencies
End = Roadmap for realization End = Roadmap for implementation

Security / Governance
Architecture ViewPoints

72
Integrated Architecture Framework - (Capgemini)

Integrated Architecture Framework este un cadru de ntreprindere,


lansat n 1993 de Capgemini, care acoper aspecte privind afacerea,
tehnologia i informaia.

Caracteristici:
Poziionare ca un Framework
Istoric n planificare
Separarea preocuprilor/intereselor
Clasificarea aspectelor
Acceptare limitat
Brevetat
Instrument de comunicare

73
Extended Enterprise Architecture Framework - (E2AF)

Abstraction Levels
Why? With Who? What? How? With what? When?
Vision / Strategy
Value Net Relations Goals & Objectives
Business / Technology
Cooperating / Logical Representation Solution Enterprise Impact
Drivers Requirements
Collaborating Elements Representation
Scope
Aspect Areas Contextual Level Environmental Level Conceptual Level Logical Level Physical Level Transformational Level

Business Goals, Drivers and Concepts Extended Enterprise Value Net Level of Business Collaboration Type of Business Collaboration Solutions of Business Collaboration Granularity of Change
Corporate Strategic Plans Collaborative Value Parties Program Goals & Objectives Organisation Structure Business Functions structure and relations Enterprise Business Case
Extended Business Drivers Scope of the Collaborative value Business Requirements Business Area Structure Business Tasks / Activities Enterprise Transformation Roadmap
Collaboration Contracts, Service Levels Business Relationships Role Players / Actors Business Objects Enterprise Priority Plan
Extended Guiding Principles
Business Scope of Collaboration Law & Regulations Budget of Change
Stakeholders / Win-Win Conditions
Value Net Position
Business Culture
Business Resources
Business Knowledge
Enterprise Budget Plan
Enterprise Governance Plan
Environmental Dynamics, e.g. Laws Collaborative Business Goals & Objectives
Quality of Services Business Commitment
Business Goals & Objectives, KPIs Business Benefits e.g. Business Process Redesign or Outsourcing
Viewpoint = Collaborative Value, etc. Characteristics = Time, Flexibility, Business Rules
Viewpoints = Competition, Value Net, etc. Technology Possibilities
Ends/Means = As-Is / To-Be Collaborative Availability, Security, Maintainability, etc. Viewpoint = Business Perspective
Ends/Means = As-Is / To-Be Business Situation Environment End = Business Purpose End = Business Behaviour End = Business Outcome / Business Solutions End = Enterprise Business Transformation

Activities the Business Performs Extended Enterprise Information Exchange Level of Information Interaction Type of Information Interaction Solutions of Information Interaction Impact of Change
Enterprise Information Policy Extended Information Exchange Services Information Tasks / Activities Type of Information Exchange Business Case
Functional Requirements
Responsibilities & Competencies Extended Information Ownership Formal / Informal Information Systems Roadmap
Non-Functional Requirements Information Objects & Relations
Grouping of Information Objects
Ownership of Information Parties Information Confidentiality Quality of Services Information Interaction Security Plan
Grouping of Information Resources
Information Internal / External Dependencies
Internal / External Activities in Scope
Extended Dependencies
Activities out of Scope
Information Relations
Information Characteristics
Information Flow Characteristics
Information Resources
Type of Triggers / Events
Grouping of Selection = Set of ICT Supported Objects
Information Locations Information Types
Information = Generic or Specific Policy = Business Purpose e.g. Information Roadmap
Activities = Generic or Specific Domains = Functional Areas Priority = Dependency of Information
Activities = Critical / Overhead Information = Critical / Overhead I/O = Business Resources Viewpoint = Interaction Perspective Relation = Information Flow Interface = Type of Information Exchange
End = Information Situation End = Ext. Enterprise Information Exchange End = Information Resources End = Information Behaviour End = Information Solutions Sets End = Activities to be supported by ICT

Systems Goals, Drivers and Concepts Extended Enterprise Interoperability Level of Interoperability Type of Interoperability Solutions for Interoperability Timeframe of Change
System Development policy Enterprise Interoperability Standards As-Is Information Systems Environment Product-Independent Reference Solution Product-Specific Reference Solution (PSRS) Business Case
(PIRS) Map PSRM to Product Solutions and Make or Buy Decision
Enterprise Interoperability Policy Enterprise Interoperability Governance Functional Requirements
IS Functions & behaviour
Information
options, etc.
Non-Functional Requirements Implementation Roadmap
Business - Technology Enablers Enterprise Interoperability Quality of Choice of Middleware Technologies Interface Solutions
Services (e.g. Security) Tools for Development / Implementation
Enterprise Responsibility of IS Information-Systems Behaviour Shared & Pluggable IS Services / Solution sets Implementation of Quality of Services
Governance Plan
Systems Enterprise Application portfolio
Enterprise Interface portfolio
Enterprise Collaboration Principles
Abstraction & Precision of Data
Quality of Services
Interface Definitions & Standards
Refinement Technical Reference Model
Viewpoints = Selection of a Product Solutions
Security Impact
Enterprise Guiding Principles Official & De-facto IS Standards e.g. Design of Application & Components
Characteristics = Time, Availability, Structure = Spectrum of Styles & Solutions sets
End = As-Is / To-Be Information-System Security, Maintainability, etc. Standards = IS Interoperability Standards Quality = Solution Interface Characteristics Priority = Dependencies
landscape End = To-Be Interoperability Definitions Structure = Interfaces End = PIRS End = PSRS End = Roadmap for realization

Technology Goals, Drivers and Concepts Extended Enterprise Inter-Connection Level of Inter-Connection Type of Inter-Connection Solutions of Inter-Connection Timeframe of Change
Locations in which the Business Operates Enterprise Inter-Connection Standards As-Is Enterprise Infrastructure Enterprise Technology Standards Technology Overview Business Case
TI Principles Enterprise Infrastructure Profile Solutions & Products for Inter-Connection Enterprise Transformation Plan
Enterprise Technology Infrastructure policy Enterprise Inter-Connection Governance
Technology - Enterprise Business - Technology Enablers Enterprise Inter-Connection Quality
of Services (e.g. Security)
Functional Requirements
Non-Functional Requirements
Enterprise Hardware Systems Profile
Enterprise Communication Profile
Formats of Communication
Security Integration
Enterprise Priority Setting
Enterprise IS Alignment Impact
Enterprise Responsibility of TI
Infrastructure Enterprise TI Portfolio
Enterprise Inter-Connection portfolio Quality of Services
Characteristics = Time, Availability, Security,
Enterprise Security Profile
Enterprise Governance Profile
Refinement Technical Reference Model
Node = Hardware + System Software, etc. e.g. Blue Print of Technology Implementation
Enterprise Guiding Principles Enterprise Inter-Connection Principles Maintainability, etc.
Technical Reference Model & Standards Connectivity = Middleware / Messaging, etc. Portfolio of Products and Components.
Link = Enterprise Business System Connection Positioning = Allocation of IT Services ~ TRM End = Structure of Relations, Products + Catalogues of used Standards
Node = Major Enterprise Business Location End = To-Be Inter-Connection Definitions
Node = Enterprise Business System Environm. Interaction = Concepts of Service Layering Specifications End = Roadmap for Enterprise Implementation

74
Extended Enterprise Architecture Framework- (E2AF)

Caracteristici:
Poziionare ca un Framework
Istoricul n existena framework
Axat pe colaborare
Separarea preocuprilor/intereselor
Acceptare larg
Neutru / deschis
Instrument de comunicare

75
Modelarea arhitecturii de ntreprindere prin
ArchiMate

ArchiMate (www.opengroup.org/archimate) a fost acceptat ca limbaj standard


pentru modelarea grafic a arhitecturii de ntreprindere n februarie 2009

ArchiMate se poate utiliza :

- pentru descrierea afacerilor, aplicaiilor, tehnologiilor i a relaiilor


dintre acestea;

- ca tehnic de vizualizare, analiz i de comunicare

ArchiMate este un standard deschis susinut de Open Group

ArchiMate este acceptat de furnizorii de instrumente software, furnizorii de


servicii i instituiile de nvmnt;

ArchiMate 2.0 a fost lansat n ianuarie 2012, iar ArchiMate 2.1 a fost lansat n
decembrie 2013. 76
Modelarea arhitecturii de ntreprindere prin
ArchiMate

Metamodel generic: concepte de baz ArchiMate


(sursa: http://pubs.opengroup.org/architecture/archimate2-doc/chap02.html
77
Modelarea arhitecturii de ntreprindere prin
ArchiMate

Evoluia standardului ArchiMate este strns legat de evoluia standardului


TOGAF.

Coresponden ntre ArchiMate i TOGAF


(Sursa: http://pubs.opengroup.org/architecture/archimate2-doc/chap02.html)
78
Modelarea arhitecturii de ntreprindere prin
ArchiMate

ArchiMate definete trei straturi principale:


- Business Layer ofer produse i servicii pentru clienii externi, acestea fiind
realizate n organizaie prin procese de afaceri ndeplinite de actori de afaceri;

- Application Layer susine stratul de afaceri cu servicii de aplicaii care sunt


realizate prin software de aplicaii;

- Technology Layer ofer servicii de infrastructur (de exemplu, servicii de


prelucrare, stocare i de comunicare) necesare pentru execuia aplicaiilor.

79
Modelarea arhitecturii de ntreprindere prin
ArchiMate

Business Layer include, de asemenea, o serie de concepte informaionale


suplimentare care sunt relevante pentru domeniul de afacere: un produs i contractul
asociat, scopul obiectelor de afacere i valoarea produselor i serviciilor de afacere.

Metamodel pentru Business Layer


(http://pubs.opengroup.org/architecture/archimate2-doc/chap03.html) 80
Modelarea arhitecturii de ntreprindere prin
ArchiMate

Notaiile pentru conceptele utilizate n Business Layer

81
External processes, roles and actors

Modelarea arhitecturii Submit


claim Insurant Customer

de ntreprindere prin External business services

ArchiMate Claim
registration
service
Customer
information
service
Claims
payment
service

Internal processes, roles and actors

Business layer Handle claim ArchiSurance

Registration Acceptance Valuation Payment


Insurer

External application services

Customer Claims
administration Payment
administration
service service
service

Application components and services

Customer Claim
information information
service service

Application layer
CRM Customer Policy Financial
system data administration application

External infrastructure services

Claim Customer
files files
service service

Infrastructure

Technology layer IBM System z


Customer
db-tables Blade

Financial
Application
DB2 application
server
EJBs
LAN
82
Modelarea arhitecturii de ntreprindere
prin ArchiMate

Comparare a unor metodologii arhitecturale


(Sursa: http://www.slideshare.net/iverband/modeling-togaf-with-archimate)
83
Concluzii asupra framework-urilor

Majoritatea framework-urilor EA
- au evoluii diferite
- servesc n scopuri diferite
- au obiective diferite n domeniul de aplicare
- se bazeaz pe principii diferite
- au structuri diferite
- sunt susinute prin abordri diferite
- sunt diferite n conformitate cu actul Clinger-Cohen (conceput n
1996 pentru a mbunti modul n care guvernul SUA dobndete,
utilizeaz i dispune de tehnologia informaiei);

84
Ce tip de framework AE este utilizat n organizaie?

85
Ce tip de framework AE este utilizat n organizaie?

86
De ce este important arhitectura ntreprinderii?

87
Ce tipuri de arhiteci sunt n organizaia
dumneavoastr?

88
Sunt certificai arhitecii de ntreprindere de o
autoritate oficial?

89
Ce tipuri de instrumente EA sunt utilizate ?

90
Ce tipuri de tehnici pentru modelarea afacerii sunt utilizate ?

91
Ce tipuri de tehnici pentru modelarea sistemelor sunt utilizate ?

92
Bibliografie

Resurse Internet:
http://en.wikipedia.org/wiki/Enterprise_architecture
http://www.whitehouse.gov/omb/inforeg_infopoltech/
http://www.opengroup.org/architecture/
http://www.opengroup.org/togaf/

93
Departamentul de Informatic i
Cibernetic Economic

XML
(eXtensible Markup Language)

1
CUPRINS

1. Ce este XML?
2. XML: avantaje
3. Obiectivele limbajului XML
4. Standarde asociate XML
5. Elementele de baz ale limbajului XML
6. Sintaxa i structura logic a unui document XML

2
Ce este XML?

XML este un framework pentru definirea limbajelor de marcare;


Fiecare limbaj se adreseaz unui domeniu specific, folosind propriile tag-
uri de marcare;
Exist un set comun de instrumente generice pentru procesarea
documentelor XML;
XHTML: o variant XML pentru HTML;
a fost dezvoltat de W3C i a fost standardizat n 1998.

3
XML avantaje (1)

Structurarea datelor: ceea ce permite modelarea datelor pentru orice nivel de


complexitate;
Asigur schimburile de date prin Internet ntre aplicaiile informatice sau
ntre bazele de date;
XML completeaz HTML: datele XML pot fi utilizate n paginile HTML:
XML a fost proiectat pentru descrierea datelor i se concentreaz asupra structurii
acestora;
HTML a fost proiectat pentru afiarea datelor i se concentreaz asupra
aspectului acestora.

Identificarea rapid a documentelor prin motoare de cutare: crete


relevana cutrii prin includerea informaiei contextuale;

4
XML avantaje (2)

Facilitatea de reactualizare: structurile DOM (Document Object Model)


permit accesul i reactualizarea la nivelul elementelor individuale;
Accesul selectiv la date: coninutul poate fi publicat n multiple formate;
Autodescrierea documentului: nu sunt necesare cunotine anterioare
despre aplicaie;
Extensibilitatea se pot defini noi marcatori dac este nevoie;
Validitatea se verific corectitudinea structural a datelor.

XML ofer utilizatorilor posibilitatea de a-i reprezenta datele ntr-un mod


independent de aplicaie.

5
Exemplul de cod html: ex1.htm

<HTML>
<HEAD>
<TITLE> Bibliografie </TITLE>
</HEAD>
<BODY>
<H2>Bibliografie </H2>
<UL>
<LI>P. Nstase, Fl. Nstase,<I> Internet - WWW, JavaScript,
HTML, JAVA</I>, Bucureti, Economic, 1998 </LI>
<LI>Alain Michard,<I> XML, Langage et Applications</I>, Paris,
Eyrolles, 1998 </LI>
<LI>Fl. Nstase,<I> Arhitectura reelelor de calculatoare </I>,
Bucureti, Economic, 1999 </LI>
<LI>William J. Pardi,<I> XML en Action</I>, Paris, Microsoft
Press, 1999</LI>
</UL>
</BODY>
</HTML>

6
Exemplul de cod XML: ex2.xml

<?xml version="1.0" encoding="ISO-8859-2"?>


<BIBLIO>
<TITLUL>BIBLIOGRAFIE</TITLUL>
<CARTEA ISBN="973-590-132-3" LIMBA="ro" SUBIECT="Web">
<AUTOR>Pavel Nstase</AUTOR>
<AUTOR>Floarea Nstase</AUTOR>
<TITLUC>Internet - WWW, JavaScript, HTML, Java</TITLUC>
<EDITURA> Economic, Bucureti</EDITURA>
<DATAPUB>1998</DATAPUB>
</CARTEA>
........
<CARTEA ISBN="9782840825685" LIMBA="fr" SUBIECT="XML">
<AUTOR> William J. Pardi</AUTOR>
<TRADUCATOR> James Guerin</TRADUCATOR>
<TITLUC>XML en Action</TITLUC>
<EDITURA>Microsoft Press, Paris</EDITURA>
<DATAPUB>1999</DATAPUB>
</CARTEA>
</BIBLIO>

7
Exemplul de cod XML (ALTOVA XMLSpy)

8
Utilizarea unei foi de stil CSS: ex2css.xml

TITLUL {text-align: center;


font-size: 200%;
color: black;
text-shadow: black 0px 0px 5px;
display: block }

CARTEA {text-align: center;


margin-top: .5in;
margin-bottom: .5in;
margin-left: 1.5in;
margin-right: 1in;
color: red;
background-color: white;
font-family: Verdanaserif;
font-size: 150%;
display: block }

9
Utilizarea unei foi de stil CSS: ex2css.xml
(continuare)

AUTOR {font-size: 120%;


font-family: Arialsans-serif;
color: maroon;
display: block
}

TITLUC {font-size: 100%;


font-family: Arialsans-serif;
color: teal;
display: block
}

TRADUCATOR {font-size: 80%;


color: green;
display: block
}

10
Utilizarea unei foi de stil XSL: ex2xsl.xml

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html><head><title ><xsl:value-of select="BIBLIO/TITLUL"/>
</title></head>
<h2 ><xsl:value-of select="BIBLIO/TITLUL"/></h2>
<xsl:for-each select="BIBLIO/CARTEA">
<ul><li>
<B><xsl:for-each select="AUTOR">
<xsl:value-of select="."/>,
</xsl:for-each></B>
<I><xsl:value-of select="TITLUC"/>,</I>
<xsl:value-of select="EDITURA"/>,
<xsl:value-of select="DATAPUB"/></li>
</ul>
</xsl:for-each>
</html>
</xsl:template>
</xsl:stylesheet>
11
Diferenele ntre documentele HTML i XML

12
XML - un document, mai multe ieiri

13
XML - obiective

simplu de utilizat pe Internet;


s suporte o mare varietate de aplicaii;
compatibil cu SGML (Standard Generalized Markup Language);
uor de scris programe care s prelucreze documente XML;
documentele XML s fie clare i interpretabile de ctre utilizatori
(calculatoare i persoane);
documentul XML s poat fi pregtit rapid ;
documentul XML trebuie s fie conceput rapid, formal i concis.

14
XML standard universal pentru
interschimbarea documentelor

XML este un meta-limbaj specificat pe dou niveluri diferite:

Standardul XML propriu-zis - susinut de W3C. n cadrul W3C,


MIT colaboreaz cu CERN din Geneva i are sprijinul Comisiei
Europene.

Aplicaiile XML specifice - dezvoltate de grupuri independente de


utilizatori. Firme i organizaii din toate ramurile au contribuit la
realizarea aplicaiilor XML.

15
XML - standarde asociate (1)

DTD (Document Type Definition);


CSS (Cascading Style Sheet);
XSL (eXtensible Stylesheet Language);
XSLT (eXtensible Stylesheet Language Transformation);
DOM (Document Object Model);
XLL (eXtensible Linking Language):(XLink, XPointer,
XPath - XML Path Language);
XML Schema pentru definirea tipurilor de date;
Namespaces sau domeniile de nume reprezint un
mecanism destinat s elimine eventualele ambiguiti n
denumirea tag-urilor.
16
XML - standarde asociate (2)

RDF (Resource Description Framework);


XHTML (Extensible HyperText Markup Language);
SMIL (Synchronized Multimedia Integration Language);
WML (Wireless Markup Language) este utilizat pentru
sistemul telefonic WAP;
SVG (Scalable Vector Graphics);
XQL (XML Query Language);
SAX (Simple API for XML);

17
XML - standarde asociate (3)

18
19
XML Aplicaii (1)

RSS (Really Simple Syndication) este un format prin care se asigur


fuziunea tirilor i a coninutului din site-urile de tiri; fiierele RSS pot fi
reactualizate n mod automat
HL7 dezvolt standarde pentru schimbul datelor din domeniul sntii
(reuniune de organizaii din domeniu) ;
CML - The Chemical Markup Language dezvoltat n Marea Britanie
pentru a permite chimitilor s descrie molecule, formule i alte date din
domeniu ;
OFX - Open Financial Exchange specificaie utilizat de Intuit Quicken i
Microsoft Money pentru a schimbul de mesaje cu bncile ;
OSD - Open Software Distribution de la Marimba i Microsoft.

20
XML Alte aplicaii (2)
cXML - Commerce XML protocol ;
BRML - Common Rules and Business Rules Markup Language ;
ECMdata - Electronic Component Manufacturer Data Sheet
Library Specification ;
XFRML - Extensible Financial Reporting Markup Language ;
FpML - Financial Product Markup Language ;
FinXML - Financial XML pentru piaa de capital ;
FLBC - Formal Language for Business Communication ;
IOTP - Internet Open Trading Protocol ;
OTP - Open Trading Protocol ;
OBI - Open Buying on the Internet ;
21
XML Alte aplicaii (3)

ICE - Information and Content Exchange ;


RDF - Resource Description Framework ;
SMIL - Synchronized Multimedia Integration Language ;
SOAP - Simple Object Access Protocol ;
VoxML - Voice Recognition Markup Language ;
WIDL - Web Interface Definition Language ;
WML - Wireless Markup Language for WAP ;
XBEL - XML Bookmark Exchange Language ;
XMI - XML Metadata Interchange ;
xCBL - XML Common Business Library ;
22
XML Standarde pentru
comunicarea Business to Business
BizTalk (www.biztalk.org) iniiativ lansat de Microsoft pentru utilizarea
mesajelor XML n scopul integrrii aplicaiilor i schimbului de date.
Activitatea este susinut i de alte organizaii care vnd tehnologie (SAP,
CommerceOne) sau care o utilizeaz (Boeing i BP/Amoco).

Microsoft BizTalk Server 2010 ofer un mediu de dezvoltare i execuie pentru


managementul proceselor de afaceri.

Fluxul datelor prin


serverul BizTalk

23
XML Standarde pentru
comunicarea Business to Business

RosettaNet (www.rosettanet.org) creaz standarde orientate pe procese pentru a


simplifica aprovizionarea micilor i marilor cumprtori i vnzarea produselor
din domeniul tehnologiei informaiei (exemplu: cXML - Commerce XML,
standard pentru generarea cataloagelor on-line interactive).

ebXML (www.ebxml.org) proiect internaional, care reunete UN/CEFACT


(United Nations Centre for Trade Facilitation and Electronic Business) i
OASIS (Organization for the Advancement of Structured Information
Standards) i a avut ca scop promovarea XML pentru realizarea unei piae
electronice globale.
24
Elementele de baz ale limbajului
XML

XML limbaj de marcare


Elementele
Tag vid
Atributele
Comentariile
Date analizabile
Codificarea n documentele XML
Erori posibile n documentele XML

25
Elementele - sintaxa general

26
Elementele - exemplu

<?xml version="1.0"?> Element rdcin


Element fiu
<CARTEA SUBIECT=general>
<TITLUL> XML pentru nceptori</TITLUL>
<PRODUS id="33-657" media="CD"></PRODUS>
<CAPITOL>Introducere n XML
<PARAGRAF>Ce este HTML ?</PARAGRAF>
<PARAGRAF> Ce este XML ?</PARAGRAF>
</CAPITOL>
<CAPITOL>Sintaxa XML
<PARAGRAF>Elementele XML</PARAGRAF>
<PARAGRAF>Atributele XML</PARAGRAF>
</CAPITOL>
</CARTEA>

27
Elementele - tipul de coninut

coninut element
<CARTEA SUBIECT=general>
<TITLUL> ..</TITLUL>
</CARTEA>
coninut mixt
<CAPITOL>Introducere n XML
<PARAGRAF>....</PARAGRAF>
<PARAGRAF>...</PARAGRAF>
</CAPITOL>
coninut simplu sau coninut text
<PARAGRAF>Ce este HTML ?</PARAGRAF>
coninut vid
<PRODUS id="33-657" media="CD"></PRODUS>

28
Elementele - nume (1)

Numele elementelor XML trebuie s respecte urmtoarele reguli:

pot conine litere, numere i alte caractere;

nu trebuie s nceap cu un numr sau alte caractere de


punctuaie;

nu trebuie s nceap cu literele xml, XML sau Xml;

nu trebuie s conin spaii;

pot fi utilizate orice nume, nu exist nume rezervate.

29
Elementele - nume (2)

Numele elementelor din exemplul urmtor identific mesajul ca un ntreg:


adresa destinatarului, adresa expeditorului, subiectul i textul mesajului.

<mesaj>
<destinatar> xx1@mailcom.ase.ro </destinatar>
<expeditor> yy2@yahoo.com </expeditor>
<subiect>Bibliografie XML </subiect>
<text>
Pot s-i recomand urmtoarele.. </text>
</mesaj>

30
Tag vid

<mesaj destinatar = "xx1@mailcom.ase.ro"


expeditor = "yy2@yahoo.com"
subiect = "Bibliografie XML">
<comentariu/>
<text>
Pot s-i recomand urmtoarele..
</text>

</mesaj>

31
Atributele (1)

Elementele pot avea asociate atribute - informaie suplimentar inclus ca


parte a tag-ului de nceput.

<mesaj destinatar = "xx1@mailcom.ase.ro"


expeditor = "yy2@yahoo.com"
subiect = "Bibliografie XML">
....

</mesaj>

32
Atributele (2)

Cnd se proiecteaz structura unei date/document se pot utiliza atributele


sau elementele. Se are n vedere c atributele:

nu conin valori multiple (nu au elemente fiu);

nu sunt uor expandabile;

nu pot descrie structuri;

sunt mai dificil de manipulat printr-un program;

valorile atributelor nu pot fi uor testate printr-un DTD.

33
Comentariile

<mesaj destinatar = "xx1@mailcom.ase.ro"


expeditor = "yy2@yahoo.com"
subiect = "Bibliografie XML">

<!--Acesta este un comentariu -->


<text>
Pot s-i recomand urmtoarele...
</text>
</mesaj>

34
Date analizabile

Documentele XML sunt analizate printr-un software, denumit parser.

<AUTOR>Text analizat</AUTOR>

Se face analiza textului deoarece este posibil ca elementele XML s


conin alte elemente.

<AUTOR>
<PRENUME>Peter</PRENUME>
<NUME>Norton</NUME>
</AUTOR>

35
Date analizabile

Dac unele caractere, cum ar fi "<", se regsesc ntr-un text, ele vor genera
eroare.

Fie coninutul fiierului ex3.xml:


<?xml version="1.0" encoding="ISO-8859-2"?>
<MESAJ>
<mesaj>Dac imprimanta cost < 1000 $ atunci ...</mesaj>
</MESAJ>
Prin utilizarea navigatorului Mozilla Firefox va fi semnalizat eroarea:

36
Referine la entiti

Referina la Caracterul Semnificaia


entitate
&lt; < less than

&gt; > greater than

&amp; & ampersand

&apos; ' apostrophe

&quot; " quotation mark

n exemplul anterior, coninutul elementului <mesaj> s-a nlocuit cu:


<mesaj>Dac imprimanta cost &lt; 1000 $ atunci ...</mesaj>
pentru a obine un document bine-format (ex4.xml).
37
Seciunea CDATA (1)
Dac textul conine mai multe caractere "<" sau "&" atunci elementul
XML va fi definit ca seciune CDATA. Sintaxa general este:
<![CDATA[
Orice caractere inclusiv marcatori
]]>

<script>
<![CDATA[
function compar(a,b)
{
if (a < b && a < 0) then
{
return 1
}
else {
return 0
}
}
]]>
</script>
38
Seciunea CDATA (2)

<?xml version="1.0"?>
<!DOCTYPE body [
<!ELEMENT doc (#PCDATA)>
]>
<doc>
<![CDATA[
Aici este un exemplu de DTD intern
<!DOCTYPE grupa [
<!ELEMENT grupa (nume_student)*>
<!ELEMENT nume_student (#PCDATA)>
<!ATTLIST nume_student nr_student ID #REQUIRED>
<!ATTLIST nume_student colaborare_1 IDREF #IMPLIED>
<!ATTLIST nume_student colaborare_2 IDREF #IMPLIED>
]>
]]>
</doc>

39
Codificarea n documentele XML (1)
Pentru ca un analizor s neleag unele caractere particulare, cum ar fi cele ale
alfabetului romn , , , , , documentul XML trebuie salvat n format
Unicode. Exemplu de utilizare incorect a unor caractere:

<?xml version="1.0" standalone="yes"?>


<?xml-stylesheet type="text/xsl" href="ex1_xml.xsl"?>
<EXEMPLU>Reele de calculatoare</EXEMPLU>

Semnalizare eroare prin Mozilla Firefox

40
Codificarea n documentele XML (2)

Pentru a se evita apariia de erori, fiierele XML trebuie salvate cu atributul


encoding, cruia i se asociaz o valoare ce corespunde setului de caractere
utilizat. Exemplu de utilizare corect a unor caractere:

<?xml version=1.0 encoding=ISO-8859-2


standalone=yes?>
<?xml-stylesheet type=text/xsl href=ex1_xml.xsl?>
<EXEMPLU>Reele de calculatoare</EXEMPLU>

41
Codificarea n documentele XML (3)
Nume cod Set de caractere

UTF (Universal Unicode - 8 bii


Transformation Format) - 8
UTF-16 Unicode - 16, 32 bii

ISO-10646-UCS (Universal Set caractere Unicode - 16 bii


Character System ) 2
ISO-10646-UCS - 4 Set caractere Unicode - 32 bii

ISO-8859-1 Latin-1 (America Latin, Europa Occidental)

ISO-8859-2 Latin-2 (Europa Central i de Rsrit)

42
Codificarea n documentele XML (4)
Nume cod Set de caractere

ISO-8859-3 Latin-3 (Sud-Estul Europei)

ISO-8859-4 Latin-4 (Scandinavia, Baltica)

ISO-8859-5 Latin, Chirilic

ISO-8859-6 Latin, Araba

ISO-8859-7 Latin, Greaca

ISO-8859-8 Latin, Ebraica

43
Erori posibile n documentele XML

Tag-ul nu este nchis;


Nu se accept suprapunere de tag-uri. De exemplu, secvena:
<cartea> Internet
<paragraf> Serviciul
</cartea>
</paragraf>
nu este bine-format. Secvena corect este:
<cartea> Internet
<paragraf> Serviciul
</paragraf>
</cartea>
Valorile atributelor trebuie s fie incluse ntre ghilimele.
Caracterele speciale trebuie totdeauna reprezentate prin entiti
caracter.

44
Editoare XML

EditiX: http://www.editix.com/index.html
Adobe FrameMaker: www.adobe.com
XML Pro: www.vervet.com/
XML Writer: http://xmlwriter.net/
XML Notepad: msdn.microsoft.com/xml/notepad/intro.asp
XML Spy: http://www.altova.com/xmlspy.html

45
Editoare XML

46
Structura logic a unui document XML (1)

Un document XML trebuie s fie compus din:

un prolog conine un anumit numr de declaraii;

un arbore al elementelor (cu atributele lor) - exist un element


rdcin, care este unic;

comentariile, instruciunile de prelucrare i referinele a cror


prezen este facultativ.

47
Structura logic a unui document XML 48
Structura logic a unui document XML (2)

Prologul poate fi compus din trei componente:

Declaraia XML;

Instruciunile de prelucrare;

Declaraia tipului de document.

49
Declaraia XML
Sintax general pentru declaraia XML este:

<?xml version="nr_versiune"
encoding="declarare_cod" standalone="stare" ?>

Exemplu:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

version - versiunea limbajului XML utilizat n document;


encoding - codificarea caracterelor utilizat n documentul XML;
standalone - existena sau nu a unor declaraii exterioare documentului,
de care se va ine seama (dac atributul standalone are valoarea "yes",
declaraiile necesare prelucrrii documentului sunt incluse; dac acest
atribut are valoarea "no", declaraiile sunt n fiiere externe).

50
Declararea instruciunilor de prelucrare
Instruciunile de prelucrare sunt declarate n cadrul documentului sub forma:

<?Nume_aplicaie instruciune ?>

De exemplu, pentru afiarea unui document XML cu ajutorul unei foi de stil
XSL, se va utiliza urmtoarea instruciune de prelucrare:

<?xml-stylesheet type="text/xsl" href=".... .xsl"?>

Iar pentru afiarea unui document XML cu ajutorul unei foi de stil CSS,
se va utiliza urmtoarea instruciune de prelucrare:

<?xml-stylesheet type="text/css" href=".... .css"?>

51
Scheme asociate documentelor XML

Schema bazat pe gramatic specific:


elementele care pot fi utilizate ntr-o instan a
documentului XML;
ordinea elementelor;
numrul de apariii pentru fiecare element;
coninutul i tipurile de date pentru fiecare element
i atribut.
Schema bazat pe aseriune specific:
relaiile care trebuie s se menin ntre elementele i
atributele unei instane a documentului XML. 52
Scheme asociate documentelor XML

Limbaje pentru descrierea schemei

Bazate pe gramatic Bazate pe aseriune

XDR DTD Relax NG


Schematron
SOX XML Schema

XDR (XML-Data Reduced) realizat de Microsoft i a fost utilizat pentru Microsoft


BizTalk framework, ulterior IBM i Microsoft au dezvoltat DCD (Document Content
Description)
SOX (Schema for Object-Oriented XML) a fost dezvoltat de Commerce One.
53
Scheme asociate documentelor XML

Structura unui document XML poate fi proiectat pentru a reprezenta:

manual de utilizare
manual de referin
anuar
catalog
fi de produs
dicionar
raport tehnic
bon de comand
factur
contract
etc.

54
Scheme asociate documentelor XML

Un document XML bine-format este documentul care respect regulile


sintactice XML.

Exemplu de document care nu este bine-format :


<?xml version="1.0" standalone="yes"?>
<EXEMPLU>
<TITLU>
Tutorial XML!
</EXEMPLU>

Dup corecie, documentul este bine-format :


<?xml version="1.0" standalone="yes"?>
<EXEMPLU>
<TITLU>
Tutorial XML!
</TITLU>
</EXEMPLU> 55
Scheme asociate documentelor XML

Dac un document XML bineformat respect regulile unei scheme


asociate, este un document validat.

56
Scheme asociate documentelor XML

Uneori un document poate s fie bine-format, dar nu are o structur


valid.

<CLIENT>
<VIRSTA> 37 ani </VIRSTA>
<TELEFON>62112650</TELEFON>
<FAX>62112223</FAX>
</CLIENT>

<CLIENT>
<NUME> Ionescu Maria </NUME>
<NUME> Popescu Mihai </NUME>
<VIRSTA> 37 ani </VIRSTA>
<TELEFON>62112650</TELEFON>
<FAX>62112223</FAX>
</CLIENT>

57
Bibliografie

http://www.w3.org/XML/
http://www.xmlmaster.org/en/article/

58
Departamentul de Informatic i
Cibernetic Economic

XML Namespace
XML Schema

1
CUPRINS

1. Utilizare XML
2. Spaii de nume XML
3. Limbaje pentru descrierea schemei documentului XML
4. XML Schema
5. Declararea tipului de document

2
Utilizare XML

Sintaxa XML are o utilizare general pentru alte limbaje de programare


sau fiiere de configurare:
Configurare Java servlet (web.xml):
Apache Tomcat, Google App Engine, ...

Web Services - WSDL, SOAP, XML-RPC


XUL - XML User Interface Language (Mozilla/Firefox)
BPEL (Business Process Execution Language)
Alte standarde Web:
XSLT, XML Schema, XQueryX
RDF/XML
OWL (Web Ontology Language)
MMI - Multimodal interaction (tel + auto + PC); CCXML(Call Control XML)
3
Utilizare XML

Cele mai multe RDBMS comerciale ofer acum suport XML

Oracle - XML DB;

IBM DB2 pureXML;

Microsoft SQL Server suport XML din 2005;

Problemele de integrare, schimbare i publicare de date sunt foarte


importante;

XML a devenit un prim standard pentru schimbul de date pe Web.

4
Namespace XML

n documentele XML, numele elementelor i atributelor sunt definite de


ctre dezvoltatori.

Fiecare document XML poate avea definit propriul set de tag-uri sau
vocabular de marcaj.

Atunci cnd se ncearc s se combine documente XML din diferite


aplicaii, pot s apar conflicte ale numelor.

Rezolvarea conflictelor de nume se face prin utilizarea spaiilor de nume


(Namespace) XML, care ofer o metod simpl pentru identificarea unic
a elementelor i atributelor dintr-un document XML.

5
Namespace XML

Un spatiu de nume XML este identificat printr-o referin URI (Uniform


Resource Identifier), de obicei, n tag-ul de start al elementului rdcin a
documentului XML.

Un URI este definit ca un ir compact de caractere pentru identificarea unei


resurse fizice sau abstracte.

n cele mai multe situaii, referinele URI sunt folosite pentru a identifica
resurse fizice - pagini Web, fiiere care pot fi descrcate etc.

n cazul spaiilor de nume XML, o referin URI nu identific o anumit


resurs fizic, ci o resurs abstract are un rol formal.

n conformitate cu specificaia URI, exist dou forme generale pentru URI:


URL (Uniform Resource Locators);

URN (Uniform Resource Names ).


6
Namespace XML

Un spaiu de nume (sau mai precis, o legtur la un spaiu de nume) este


declarat printr-un atribut special (xmlns sau xmlns:*) i, eventual, un prefix
asociat.

Pentru compatibilitate i simplitate, numele de elemente fr prefix se atribuie


unui spaiu de nume implicit.

Declaraia unui spaiu de nume implicit are urmtoarea sintax:


<nume_element xmlns = "URI">

...

</nume_element>

Numele de elemente, care aparin spaiului de nume implicit, se vor utiliza fr


un prefix.
7
Namespace XML

Exemplu: declarare a unui spaiu de nume implicit (fr prefix) :


<?xml version="1.0" encoding="ISO-8859-2"?>
<BIBLIO xmlns="http://dice.ase.ro/bibliografie" >
<TITLUL>BIBLIOGRAFIE</TITLUL>
<CARTEA ISBN="973-590-132-3" LIMBA="ro"
SUBIECT="Web">
..
</CARTEA>
</BIBLIO>

n exemplul prezentat, toate elementele documentului XML vor aparine


aceluiai spaiu de nume, identificat prin URL-ul:
"http://dice.ase.ro/bibliografie". 8
Namespace XML
Dac spaiului de nume se asociaz un prefix, declaraia va fi de forma:

<prefix:nume_element xmlns:prefix = "URI">...

</prefix:nume_element>

Exemplu: un document n care se utilizeaz att vocabularul XSLT (eXtensible


Stylesheet Language Transformation), ct i vocabularul XSL-FO (eXtensible
Stylesheet Language Formatting Objects) :
<?xml version="1.0" encoding="ISO-8859-2"?>
<xsl:stylesheet version="1.0
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" >
<! Declaraia de formatare n pagin-->
<fo:layout-master-set> ... </fo:layout-master-set>
....
</fo:root>
</xsl:template>
</xsl:stylesheet>
9
Namespace XML

Numele elementelor reprezentate prin prefix:nume_element se numesc


nume extinse, numele ce urmeaz prefixului se numesc nume locale.
Numele complet, inclusiv dou puncte, este numit nume calificat.

Spaiile de nume pot fi definite la nivelul unui element, fiind valide pentru
elementul respectiv i pentru toi descendenii si.

Raza de aciune a unei declaraii a unui spaiu de nume implicit se extinde


de la nceputul tag-ului de start al elementului n care ea apare, pn la tag-
ul de final corespunztor, excluznd raza de aciune a oricror declaraii de
spaii de nume implicite. n cazul unui element fr coninut, raza de aciune
este numai asupra elementului.

O declaraie a unui spaiu de nume implicit se aplic tuturor numelor de


elemente fr prefix din raza de aciune a declaraiei. Declaraiile spaiilor
de nume implicite nu se aplic direct la numele atributelor; interpretarea
atributelor fr prefix este determinat de elementul pe care ele apar.
10
Namespace XML

Cnd se combin limbaje, numele elementelor pot fi confuze. De exemplu, se


considerar limbajul WidgetML care utilizeaz XHTML ca vocabular pentru
mesajele de ajutor (sursa: http://www.brics.dk/ixwt/xml.pdf):

<widget type="gadget">
<head size="medium"/>
<big><subwidget ref="gizmo"/></big>
<info>
<head>
<title> Description of gadget </title>
</head>
<body>
<h1>Gadget</h1> A gadget contains a big gizmo
</body>
</info>
</widget>

n fragmentul de document XML exist o problem: sensul pentru <head>


depinde de context.
11
Namespace XML
Pentru rezolvarea conflictului de nume se vor folosi dou spatii de nume, unul
asociat numelor elementelor XHTML i un spaiu de nume implicit:
<widget xmlns=http://www.widget.inc xmlns:xhtml=http://www.w3.org/TR/xhtml1 type="gadget" >
<head size="medium"/>
<big><subwidget ref="gizmo"/></big>
<info >
<xhtml:head>
<xhtml:title> Description of gadget </xhtml:title>
</xhtml:head>
<xhtml:body>
<xhtml:h1>Gadget</xhtml:h1>
A gadget contains a big gizmo
</xhtml:body>
</info>
</widget>

Numele elementelor XHTML includ prefixul xhtml, cele fr prefix aparin


spaiului de nume implicit.

Asocierea unui URI unui spaiu de nume asigur c elementele cu acelai nume
rmn distincte. 12
Namespace XML

n documentele XML se pot declara prefixe multiple ale spaiilor de nume, ca


atribute ale unui singur element:

<?xml version="1.1"?>

<!-- ambele prefixe pentru spatiile de nume sunt disponibile n document -->

<bk:book xmlns:bk='urn:loc.gov:books

xmlns:isbn='urn:ISBN:0-395-36341-6'>

<bk:title>Mai ieftin la duzina</bk:title>

<isbn:number>1568491379</isbn:number>

</bk:book>

13
Namespace XML

Chiar dac spaiile de nume pentru atribute sunt extrem de rare, totui exist
situaii cnd se utilizeaz prefixe pentru atribute. De exemplu,
WordprocessingML utilizeaz prefixe pentru atributele sale:
<wx:borders>
<wx:top wx:val="solid" wx:bdrwidth="10" wx:space="1"
wx:color="auto"/>
<wx:left wx:val="solid" wx:bdrwidth="10" wx:space="4"
wx:color="auto"/>
<wx:bottom wx:val="solid" wx:bdrwidth="10"
wx:space="1" wx:color="auto"/>
<wx:right wx:val="solid" wx:bdrwidth="10" wx:space="4"
wx:color="auto"/>
</wx:borders>

Beneficiu: posibilitatea de a aduga noi atribute, cu un acelai nume local, de


la o alt aplicaie XML.

14
Namespace XML

n concluzie:
Un spaiu de nume este un set de nume n care toate numele
sunt unice;
Spaiile de nume din XML ofer posibilitatea de utilizare a
numelor de elemente i de atribute n mod unic.

15
Scheme asociate documentelor XML

Structura unui document XML poate fi proiectat pentru a reprezenta:

manual de utilizare
manual de referin
anuar
catalog
fi de produs
dicionar
raport tehnic
bon de comand
factur
contract
etc.

16
Scheme asociate documentelor XML

Dac un document XML bineformat respect regulile unei scheme


asociate, este un document validat.

17
Ce este XML Schema?
XML este o specificaie care ofer o baz comun pentru descrierea i
validarea datelor n format XML;
Schema XML nlocuiete DTD (Document Type Definition);
Schema XML are un format deschis, fiind independent de dezvoltator
i are rolul de a asigura interoperabilitatea schimbului de informaii prin
Internet;
Schemele XML respect specificaia XML (http://www.w3.org/TR/xml11/)
Schema XML este un standard realizat de W3C (World Wide Web
Consortium) pentru descrierea i codificarea datelor XML;
Operaia prin care se verific dac un document XML respect o
schema este cunoscut sub numele de validare a documentului (exist
posibilitatea de verificare online, exemplu: http://www.freeformatter.com/xml-validator-xsd.html) . 18
Ce este XML Schema?
O schem XML:

definete elementele i atributele care pot aprea ntr-un document

definete care elemente sunt elemente fiu

definete ordinea elementelor fiu

definete numrul elementelor fiu

definete dac un element este vid sau poate include text

definete tipurile de date pentru elemente i atribute

definete valorile fixe i implicite pentru elemente i atribute

19
Ce este XML Schema?
O scheme XML specific modul de generare a unui vocabular XML care va fi
utilizat ntr-un spaiu de nume.
Utilizarea spaiului de nume asigur identificarea corespunztoare a
elementelor i atributelor dintr-un document XML. Pot fi specificate mai multe
spaii de nume, pentru fiecare se asociaz un URI.
URI-ul care definete un spaiu de nume este formal, are numai rolul de
grupare a numelor pentru elementele i atributele din document.
Pentru reprezentarea XML a componentelor unei scheme se utilizeaz un
vocabular identificat prin spaiul de nume
http://www.w3.org/2001/XMLSchema.
n mod normal, spaiul de nume specific pentru XML Schema este delimitat
prin prefixul xsd sau xs.

20
Ce este XML Schema?

21
Ce este XML Schema?

Prefixele folosite n mod convenional pentru identificarea unor


spaii de nume sunt:
html pentru http://www.w3.org/1999/xhtml
xhtml pentru http://www.w3.org/1999/xhtml
xlink pentru http://www.w3.org/1999/xlink
xml pentru http://www.w3.org/XML/1998/namespace
xmlns pentru http://www.w3.org/2000/xmlns/
xs pentru http://www.w3.org/2001/XMLSchema
xsd pentru http://www.w3.org/2001/XMLSchema
xsi pentru http://www.w3.org/2001/XMLSchema-instance
xsl pentru http://www.w3.org/1999/XSL/Transform
22
Faciliti ale XML Schema

n raport cu DTD, Schema XML are o serie de avantaje:


extinde tipurile de date;
pot fi create tipuri de date proprii;
se pot defini elemente multiple cu acelai nume, dar coninut diferit;
se poate defini substituirea elementelor (exemplu, elementul Carte s fie
substituit prin elementul Lucrare);
se poate specifica unicitatea coninutului unui element (cheie pe
coninut) i unicitatea ntr-o zon.

23
Faciliti ale XML Schema

Schema XML specific:


structura instanelor documentului (un element conine elemente, care, la rndul
lor, conin alte elemente etc.)

tipurile de date pentru fiecare element/atribut (de exemplu, un anumit element


va avea o valoare ntreag mai mare dect 0 i mai mic dect 2000)

O schem XML poate fi privit ca o colecie (vocabular) de definiii pentru


tipuri i declaraii de elemente ale cror nume aparin unui anumit spaiu de
nume, numit un spaiu de nume int.

24
XML Schema - structura

Component a schemei este termenul generic pentru blocurile


care alctuiesc modelul de date abstracte pentru schem.
Fiierul care conine o schem XML are extensia .xsd
Elementul rdcin este <schema>
Documentul schema XML conine elementul rdcin
<schema> sau <xs:schema> care va include declaraiile
pentru elementele i atributele care se pot regsi n documentul
XML.
Fiierul .xsd ncepe cu:
<?xml version="1.0"?>

<xs:schema xmlns:xs=http://www.w3.rg/2001/XMLSchema>
25
XML Schema - structura
Dac pentru schema se atribuie un spaiu de nume (ceea ce se recomand),
sintaxa de baz pentru elementul schema este:

<xs:schema
targetNamespace="http://MyDomain.com/MySchema.xsd"
xmlns="http://MyDomain.com/MySchema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" >
...definirea elementelor...
...definirea tipurilor...
</xs:schema>

26
XML Schema - structura
Valoarea atributului targetNamespace (http://MyDomain.com/MySchema.xsd)
specific spaiul de nume la care schema este alocat.

Prin atributul xmlns se aloc spaiul de nume identificat prin URI-ul


http://MyDomain.com/MySchema.xsd pentru a fi un spaiul de nume implicit.

Valoarea pentru xmlns:xs specific faptul c marcajele limbajului schemei sunt


alocate unui spaiu de nume, iar numele marcajelor trebuie s conin prefixul xs:.
Tag-urile specifice limbajului pentru schem sunt: xs:schema, xs:element,
xs:attribute, xs:complexType etc.

Atributul elementFormDefault declar c toate numele de elemente utilizate ntr-o


instan XML ar trebui s fie calificate (qualified)cu un spaiu de nume - fie prin
intermediul unui spaiu de nume prefixat sau spaiu de nume implicit.

27
XML Schema - structura

Exemplu: ex2.xsd
28
XML Schema - structura
Sintaxa general a elementului <schema> este:
<schema
attributeFormDefault = (qualified | unqualified) : unqualified
blockDefault = (#all | List of (extension | restriction |
substitution)) : '
defaultAttributes = QName
defaultXPathDefaultNamespace = (anyURI | (##defaultNamespace |
##targetNamespace | ##local)) : ##local
elementFormDefault = (qualified | unqualified) : unqualified
finalDefault = (#all | List of (extension | restriction | list |
union)) : ''
id = ID
targetNamespace = anyURI
version = token
xml:lang = language
{any attributes with non-schema namespace . . .}>
Content: ((include | import | redefine | annotation)*,
(defaultOpenContent, annotation*)?, (((simpleType | complexType |
group | attributeGroup) | element | attribute | notation),
annotation*)*)
</schema> 29
XML Schema - componente
Specificaia XML Schema Definition Language - Structures:
definete prile componente schemelor XSD;
ofer un set de construcii de marcare XML pentru reprezentarea schemelor;
definete modul de aplicare a schemelor la documente XML.

Exist mai multe tipuri de componente ale schemei:


Grupa componentelor principalele conine:

Definirea tipurilor simple

Definirea tipurilor complexe

Declararea atributelor

Declararea elementelor
30
XML Schema - componente

Grupa componentelor secundare conine:

Definirea grupului de atribute

Definirea constrngerilor (de exemplu, numr minim sau maxim de apariii)

Alternativele tipurilor

Aseriuni

Definirea grupului pentru model

Declararea notaiilor

Componentele "helper" furnizeaz pri pentru celelalte componente:

Adnotri

Utilizri de atribute etc.


31
XML Schema - componente

a) b)

Componente globale n a) XML Schema 1.1 i b) XML Schema 1.0


32
XML Schema tipuri de elemente
Elementele unui document XSD pot fi de dou tipuri: simple i complexe.
Un element simplu este cel care conine text i nimic altceva
Un element simplu nu poate avea atribute;

Un element simplu nu poate conine alte elemente;

Un element simplu nu poate fi vid;

Cu toate acestea, textul poate fi de mai multe tipuri i pot exista diferite restricii
aplicate acestuia. Tipul poate fi unul din cele incluse n definirea schemei XML
(boolean, string, data etc.) sau poate fi unul personalizat.

Dac un element nu este simplu, este complex


Un element complex poate avea atribute;

Un element complex poate fi vid, poate conine text, alte elemente sau text i alte
elemente. 33
XML Schema definirea unui tip simplu
Definirea unui tip simplu, determin constrngerile i informaiile cu privire la
valorile atributelor sau elementelor care conin doar text.

Sintaxa pentru definirea unui element <simpleType> este:

<simpleType
final = (#all | List of (list | union | restriction | extension))
id = ID
name = NCName
{any attributes with non-schema namespace . . .}>
Content:) (annotation?, (restriction | list | union)
</simpleType>

Atribute:
final- specific tipul derivrii posibile: list, union (colecie de alte tipuri primitive),
restriction (constrngeri impuse), #all tipul nu poate fi derivat.
id identificator pentru un element
NCName (No-Colon Name) - nume care nu conine semne de punctuaie; respect sintaxa XML
34
XML Schema definirea unui element de tip simplu

Sintaxa general pentru definirea unui element de tip simplu este:


<xs:element name="nume" type="tip"/>
unde atributele:
name specific numele elementului
type indic tipul coninutului; cele mai utilizate valori pentru type sunt:
xs:boolean, xs:integer, xs:date, xs:string,
xs:decimal, xs:time
Alte atribute ale unui element de tip simplu pot fi:
default="valoare implicit" - dac nu este specificat nici o alt valoare;
fixed="valoare" - nici o alt valoare nu poate fi specificat.

35
XML Schema - definirea unui element de tip simplu

Exemple:
a) <xs:element type="xs:string" name="AUTOR
maxOccurs="unbounded" minOccurs="0"/>
Atributele:
maxOccurs (opional): numr maxim de apariii (valoarea implicit este 1)
minOccurs (opional): numr minim de apariii (valoarea implicit este 1)

b)<xs:element type="xs:short" name="DATAPUB"/>


Atributul:

short este derivat din int prin setarea valorii maxInclusive s fie 32767
i minInclusive s fie -32768.
36
XML Schema - definirea unui element de tip simplu
Tipuri de date generale

37
XML Schema Definirea unui atribut
Componenta XML Schema prin care se declar un atribut este elementul
attribute.
Elementul attribute este ntotdeauna de tip simplu.
Un atribut este definit prin:
<xs:attribute name="nume" type="tip" />
unde:
name i type au aceeai semnificaie ca pentru <xs:element>
alte atribute:
default="valoare implicit" dac nu este specificat nici o alt valoare
fixed= "value" nici o alt valoare nu poate fi specificat
use= "optional" atributul nu este necesar (default)
use= "required" atributul trebuie s fie prezent

Exemplu:
<xs:attribute type="xs:string" name="ISBN" use="optional"/>
38
XML Schema - Definirea unui atribut
Sintaxa general pentru definirea elementului <attribute> este:
<attribute
default = string
fixed = string
form = (qualified | unqualified)
id = ID
name = NCName
ref = QName
targetNamespace = anyURI
type = QName
use = (optional | prohibited | required) : optional
{any attributes with non-schema namespace . . .}>
Content: (annotation?, simpleType?)
</attribute>

39
XML Schema definirea restriciilor
n unele situaii, la definirea unui element de tip simplu sau a unui atribut sunt
impuse o serie de limitri asupra coninutului. Restriciile asupra elementelor
XML sunt cunoscute sub numele de faete (facets)
Faeta este o component a schemei. Majoritatea faetelor fundamentale se
utilizeaz pentru stabilirea unui domeniu de valori n definirea tipurilor de date
primitive. Exist o multitudine de faete.
Sintaxa general pentru definirea unei restricii este:

<xs:element name="nume"> (sau xs:attribute)


<xs:restriction base="type">
... Restriciile...
</xs:restriction>
</xs:element>

40
XML Schema - definirea restriciilor
O faet fundamental apare numai n definirea tipurilor simple. De exemplu,
faetele pentru restricionrile:
string sunt:
length
maxLength
minLength
pattern
enumeration
whiteSpace
numbers sunt:
minInclusive nr. trebuie s fie valoarea dat
minExclusive nr. trebuie s fie > valoarea dat
maxInclusive nr. valoarea dat
maxExclusive nr. < valoarea dat etc.
41
XML Schema - definirea restriciilor
Restricii de lungime
a) Definirea unui element numit codProdus" cu restricia ca lungimea
s fie exact de zece caractere:
<xs:element name="codProdus">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
b) Definirea unui element numit codProdus" cu restricia ca lungimea
s fie minimum cinci caractere i maximum zece caractere:
<xs:element name="codProdus">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
42
</xs:element>
XML Schema - definirea restriciilor
Restricia la un set de valori Pentru a limita coninutul unui element XML la un
set de valori acceptabile, se utilizeaz enumeration. De exemplu, se definete un
element cu numele "curs" cu restricia ca singurele valori acceptabile s fie:
"Testarea aplicatiilor", "Tehnologii ale afacerilor",
"Comert electronic", "Modelarea proceselor":

<xs:element name="curs">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Testarea aplicatiilor"/>
<xs:enumeration value="Tehnologii ale afacerilor"/>
<xs:enumeration value="Comert electronic"/>
<xs:enumeration value=" Modelarea proceselor"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

43
XML Schema - definirea restriciilor

Restricii pe o valoare. Definirea unui element numit "pret" cu restricia ca


valoarea s nu poat fi mai mic dect 0 sau mai mare dect 80:
<xs:element name=pret">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0">
<xs:maxInclusive value="80">
</xs:restriction>
</xs:simpleType>
</xs:element>

44
XML Schema - definirea restriciilor
Restricii pe o serie de valori
a) Definirea unui element numit "litera", cu restricia ca valoarea acceptabil s fie
una dintre litere mici de la a la z:
<xs:element name="litera">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
< /xs:simpleType>
</xs:element>
b) Definirea unui element numit "Cod_tara" cu restricia ca valoarea acceptabil s fie
reprezentat prin dou litere mari de la A la Z:
<xs:element name="initials">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType> 45
</xs:element>
XML Schema - definirea restriciilor
Restricii asupra spaiilor (white spaces) Definirea unui element numit
"adresa", cu restricia de a conserva spaiile :

<xs:element name="adresa">
< xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
< /xs:simpleType>
</xs:element>

46
XML Schema definirea unui element de tip complex
Elementul de tip complex are cel puin un element fiu sau un atribut.

Un element de tip complex se definete prin:

<xs:element name="nume">
<xs:complexType>
... Informaii despre tipul complex...
</xs:complexType>
</xs:element>

47
XML Schema - definirea unui element de tip complex
Exemplu:
<xs:element name="CARTEA maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="AUTOR
maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="xs:string" name="TITLUC"/>
<xs:element type="xs:string" name="EDITURA"/>
<xs:element type="xs:short" name="DATAPUB"/>
</xs:sequence>
<xs:attribute type="xs:string" name="ISBN" use="optional"/>
<xs:attribute type="xs:string" name="LIMBA" use="optional"/>
<xs:attribute type="xs:string" name="SUBIECT" use="optional"/>
</xs:complexType>
</xs:element>

Prin elementul <xs:sequence> se precizeaz c elementele trebuie s se regseasc n


aceast ordine;
Dac se utilizeaz elementul <xs:all> se permite apariia elementelor n orice ordine.
Atributele sunt ntotdeauna tipuri simple.
48
XML Schema - definirea unui element de tip complex

Sintaxa general pentru declararea unui tip complex este:


<complexType
abstract = boolean : false
block = (#all | List of (extension | restriction))
final = (#all | List of (extension | restriction))
id = ID
mixed = boolean : false
name = NCName
defaultAttributesApply = boolean : true
{any attributes with non-schema namespace . . .}>
Content: (annotation?, (simpleContent | complexContent |
(openContent?, (group | all | choice | sequence)?,
((attribute | attributeGroup)*, anyAttribute?), assert*)))
</complexType>

49
XML Schema - definire element
Elementul element este folosit n mod frecvent n XML Schema. Sintaxa
general este:
<element
abstract = boolean : false
block = (#all | List of (extension | restriction | substitution))
default = string
final = (#all | List of (extension | restriction))
fixed = string
form = (qualified | unqualified)
id = ID
maxOccurs = (nonNegativeInteger | unbounded) : 1
minOccurs = nonNegativeInteger : 1
name = NCName
nillable = boolean : false
ref = QName
substitutionGroup = List of QName
targetNamespace = anyURI
type = QName
{any attributes with non-schema namespace . . .}>
Content: (annotation?, ((simpleType | complexType)?, alternative*, (unique | key |
keyref)*))
</element>
50
XML Schema - exemplu

Fie documentul XML (ex2.xml):

51
XML Schema - exemplu

Fiierul ex2.xml - varianta grid (Altova XMLSpy)

52
XML Schema - exemplu

DTD generat prin XMLSpy pentru


ex2.xml (text)

Schema XML generat prin XMLSpy


pentru ex2.xml (text)
53
XML Schema - exemplu

DTD generat prin XMLSpy Schema XML generat prin XMLSpy


pentru ex2.xml(grid) pentru ex2.xml(grid)
54
XML Schema - exemplu

Componentele schemei i modelul coninutului


(generate prin Altova XMLSpy)
55
XML Schema - exemplu
Fie documentul XML (aproape identic cu ex2.xml):
<?xml version="1.0" encoding="ISO8859-2"?>
<!-- edited with XML Spy v3.5 (http://www.xmlspy.com) by Nastase
(ase) -->

<BIBLIO Domeniu="XML">
<CARTEA ISBN="973-590-253-2" LIMBA="ro" SUBIECT="general">
<AUTOR> Floarea Nstase </AUTOR>
<TITLUC>Arhitectura reelelor de calculatoare</TITLUC>
<EDITURA>Economic, Bucureti</EDITURA>
<DATAPUB>1999</DATAPUB>
</CARTEA>
........
<CARTEA ISBN="9782840825685" LIMBA="fr"
SUBIECT="aplicatii"> <AUTOR> William J. Pardi </AUTOR>
<TITLUC>XML en Action</TITLUC>
<EDITURA> Microsoft Press, Paris</EDITURA>
<DATAPUB>1999</DATAPUB>
</CARTEA>
</BIBLIO>
56
XML Schema - exemplu
Folosind un generator online pentru XML schema (www.freeformatter.com/xsd-generator.html)
se obine:
<xs:schema attributeFormDefault="unqualified elementFormDefault="qualified
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="BIBLIO">
<xs:annotation>
<xs:documentation>edited with XML Spy v3.5 (http://www.xmlspy.com) by Nastase
(ase)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="CARTEA" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="AUTOR" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="xs:string" name="TITLUC"/>
<xs:element type="xs:string" name="EDITURA"/>
<xs:element type="xs:short" name="DATAPUB"/>
</xs:sequence>
<xs:attribute type="xs:string" name="ISBN" use="optional"/>
<xs:attribute type="xs:string" name="LIMBA" use="optional"/>
<xs:attribute type="xs:string" name="SUBIECT" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="Domeniu"/>
</xs:complexType>
</xs:element>
</xs:schema> 57
XML Schema - exemplu
Prin utilizarea altui generator online pentru XML Schema, cel de la adresa
http://www.xmlforasp.net/codebank/system_xml_schema/buildschema/buildxmlschema.aspx, se obine:

58
XML Schema - exemplu
Folosind un al treilea generator pentru XML Schema, se obine
(http://devutilsonline.com/xsd-xml/generate-xsd-from-xml) :

59
XML Schema referirea la schema XML

Pentru a asocia o schem unui document XML, referinele sunt


specificate n cadrul elementului rdcin:

<?xml version="1.0"?>
<element_rdcin
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
(Referina XMLSchema-instance este necesar)
xsi:noNamespaceSchemaLocation="url.xsd">
(se declar dac este definit o schem XML care poate fi gsit)
...
</element_rdcin >
60
XML Schema referirea la schema XML

Asocierea unei
scheme documentului
XML

61
Declaraia tipului de document

62
Declararea tipului de document

O definire a documentului tip reprezint ansamblul tuturor


informaiilor coninute, fie intern sau printr-o referin la entiti
externe, ntr-o declaraie a tipului de document DOCTYPE.

Declararea DTD intern


<!DOCTYPE element_rdcin [

<!-- Document Type Definition(DTD):


elemente/atribute/entiti/notaii/instruciuni de prelucrare
/comentarii/ referine la entiti parametru-->
.
<!ENTITY nume_entitate_1 "valoare">

]>

Declaraia tipului de document trebuie s se regseasc ntre declaraia XML i


primul element (elementul_rdcin) din document.
Cuvntul-cheie DOCTYPE trebuie s fie urmat de numele
63
elementul_rdcin din documentul XML.
Declararea tipului de document

Exemplul unui document dup ce a fost inserat declaraia tipului de


document (ex11.xml).
<?xml version="1.0" encoding="ISO-8859-2" standalone="yes" ?>
<!-- DOCTYPE - parateza dreapt indic un DTD intern -->
<!DOCTYPE mesaj [
<!-- nceput DTD intern -->
<!ELEMENT mesaj (destinatar|expeditor|subiect|text)* >
<!ATTLIST mesaj id CDATA #IMPLIED>
<!ELEMENT destinatar (#PCDATA)* >
<!ELEMENT expeditor (#PCDATA)* >
<!ELEMENT subiect (#PCDATA)* >
<!ELEMENT text (#PCDATA)* >
<!-- sfritul declaraiei -->
]>
<mesaj id="100">
<destinatar>cn_popescu@mailcom.ase.ro </destinatar>
<expeditor> as_dumitrescu@yahoo.com </expeditor>
<subiect>Bibliografie XML </subiect>
<text>
Pot s-i recomand urmtoarele.. </text> 64
</mesaj>
Declararea tipului de document

Documentului i se poate asocia o foaie de stil, prin adugarea


unei instruciuni de prelucrare: <?xml-stylesheet?> n prolog
(ex11bis.xml).
<?xml version="1.0" encoding="ISO-8859-2" standalone="yes" ?>
<?xml-stylesheet type="text/css" href="ex11.css" ?>
<!DOCTYPE mesaj [
..

Coninutul fiierului css este:


destinatar, expeditor {display: block;
font: italic 10pt }

subiect {display: block;


font-size: 15pt;
font-weight: bold }

text {display: block }


65
Declararea extern a tipului de document

Declararea DTD-urile externe private. Sintax pentru DOCTYPE este:

<!DOCTYPE element_rdcin SYSTEM


"DTD_localizare">

unde:
DTD_localizare reprezint un URL relativ sau absolut.

66
Declararea extern a tipului de document

Exemplu:
<?xml version="1.0" encoding="ISO-8859-2" standalone="no" ?>
<!DOCTYPE mesaj SYSTEM "ex12.dtd">
<mesaj id="100">
<destinatar>cn_popescu@mailcom.ase.ro </destinatar>
<expeditor> as_dumitrescu@yahoo.com </expeditor>
<subiect>Bibliografie XML </subiect>
<text>
Pot s-i recomand urmtoarele.. </text>
</mesaj>
Coninutul fiierului dtd este:
<!ELEMENT mesaj (destinatar|expeditor|subiect|text)* >
<!ATTLIST mesaj id CDATA #IMPLIED>
<!ELEMENT destinatar (#PCDATA)* >
<!ELEMENT expeditor (#PCDATA)* >
<!ELEMENT subiect (#PCDATA)* >
<!ELEMENT text (#PCDATA)* >
67
Declararea extern a tipului de document
DTD-urile externe publice. Sintax pentru DOCTYPE este:

<!DOCTYPE element_rdcin PUBLIC "DTD_nume


DTD_localizare">

unde:
DTD_localizare: este un URL relativ sau absolut;
DTD_nume: are sintaxa:
"prefix//proprietar_DTD//descriere_DTD//
ISO639_limbaj_identificat"

prefix:
ISO : DTD este un standard ISO. Toate standardele ISO sunt aprobate.
+ : DTD este un standard non-ISO aprobat.
- : DTD este un standard non-ISO neaprobat.

68
Declararea extern a tipului de document

Exemplu (ex12.xml):

<?xml version="1.0" standalone="no" ?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Fiier HTML obinuit</TITLE>
</HEAD>
<BODY>
Aceasta este o structur a unui fiier HTML
</BODY>
</HTML>

69
Declararea combinat a tipului de document

Exemplu (ex13.xml):
<?xml version="1.0" encoding="ISO-8859-2" standalone="no" ?>
<!DOCTYPE examinare SYSTEM "ex13.dtd" [
<!--declaraiile interne sunt precedate de specificarea unui DTD extern -->
<!ELEMENT subiect (#PCDATA)>
<!ATTLIST subiect tip_subiect (exam | proiect) "exam">

<!--se nchide declaratia DOCTYPE -->


]>
<examinare>
<student>
<id>5127</id>
<nume>Popescu</nume>
<prenume>Ioana</prenume>
</student>
<subiect>Bilet nr. 3</subiect>
<student>
<id>1200</id>
<nume>Ionescu</nume>
<prenume>Cristian</prenume>
</student>
<subiect tip_subiect="exam">Bilet nr. 5</subiect>
</examinare>
70
Declararea tipurilor de elemente

Elemente utilizate ntr-un document XML trebuie declarate n DTD,


utiliznd cuvntul-cheie ELEMENT. Sintaxa general este:

<!ELEMENT nume_element model_coninut

O declaraie a unui element definete tipul de element prin asocierea


la un nume de element a unui model al coninutului.
Elementele vide sunt declarate prin cuvntul-cheie EMPTY:

<!ELEMENT nume_element EMPTY>

Elementele numai cu date caracter analizabile sunt specificate prin


cuvntul-cheie #PCDATA (Parsed Character DATA):

<!ELEMENT nume_element (#PCDATA)>

71
Declararea tipurilor de elemente

Elementele cu un coninut oarecare sunt declarate prin cuvntul-cheie


ANY. Sintaxa general este:

<!ELEMENT nume_element ANY>

Declararea elementelor cu unul sau mai multe elemente-fiu are sintaxa:

<!ELEMENT nume_elem_printe (nume_elem_fiu)>


sau

<!ELEMENT nume_elem_printe (nume_elem_fiu1,


nume_elem_fiu2,...)>

72
Declararea elementelor-fiu

Elementele-fiu pot avea o ordine impus i formeaz o secven. Exemplu:

<?xml version="1.0" encoding="ISO-8859-2


standalone="yes"?>
<!DOCTYPE student [
<!--'student' conine trei elemente-fiu n ordinea
listat -->

<!ELEMENT student (id,nume,prenume)>


<!ELEMENT id (#PCDATA)>
<!ELEMENT nume (#PCDATA)>
<!ELEMENT prenume (#PCDATA)>
]>
<student>
<id>5127</id>
<nume>Popescu</nume>
<prenume>Ioana</prenume> 73
</student>
Declararea elementelor-fiu

Prin inversarea a dou elementele-fiu documentul nu mai poate fi validat.


Exemplu (ex15bis.xml):
<?xml version="1.0" encoding="ISO-8859-2
standalone="yes"?>
<!DOCTYPE student [
<!--'student' conine trei elemente-fiu n ordinea
listat -->

<!ELEMENT student (id,nume,prenume)>


<!ELEMENT id (#PCDATA)>
<!ELEMENT nume (#PCDATA)>
<!ELEMENT prenume (#PCDATA)>
]>
<student>
<id>5127</id>
<prenume>Ioana</prenume>
<nume>Popescu</nume>
</student> 74
Declararea elementelor-fiu

Document valid, verificare prin XMLSpy 75


Declararea elementelor-fiu

Document bine-format, dar cu erori


n validare (verificare cu XMLSpy) 76
Declararea elementelor-fiu
Elementele-fiu pot avea o ordine oarecare . Exemplu (ex14bis2.xml):

<?xml version="1.0"?>
<!DOCTYPE student [
<!--'student' conine trei elemente-fiu,ordinea
nu este impus-->

<!ELEMENT student (id|nume|prenume)>


<!ELEMENT id (#PCDATA)>
<!ELEMENT nume (#PCDATA)>
<!ELEMENT prenume (#PCDATA)>
]>
<student>
<prenume>Ioana</prenume>
<nume>Popescu</nume>
<id>5127</id>
</student> 77
Declararea elementelor-fiu

Nume_fiu al unui element ce apare n model_coninut al unui


element printe poate fi nsoit de unul din operatori: *, +, ?.
Semnificaia acestor operatori este:
nume_fiu* indic faptul c elementul poate s nu apar, s apar o
dat sau de mai multe ori n coninutul unei instane;

<!ELEMENT nume_element_printe (nume_fiu*)>


<!ELEMENT nume_fiu model_coninut>

78
Declararea elementelor-fiu

Exemplu (ex16.xml);
<?xml version="1.0" encoding="ISO-8859-2
standalone="yes"?>
<!DOCTYPE capitol [
<!--'capitol' poate avea zero sau mai multe elemente-fiu
de tip 'paragraf'-->

<!ELEMENT capitol (paragraf*)>


<!ELEMENT paragraf (#PCDATA)>
]>
<capitol>
<paragraf>Elementele XML</paragraf>
<paragraf> Atributele XML</paragraf>
<paragraf>Exerciii propuse</paragraf>
</capitol>

79
Declararea elementelor-fiu

Exemplu (ex17.xml):
<?xml version="1.0" encoding="ISO-8859-2" standalone="yes"
?>

<!DOCTYPE examinare [

<!ELEMENT examinare (student,subiect*)* >


<!ELEMENT student (id,nume,prenume)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT nume (#PCDATA)>
<!ELEMENT prenume (#PCDATA)>
<!ELEMENT subiect (#PCDATA)>
<!ATTLIST subiect tip_subiect (exam | proiect) "exam">

<!--se nchide declaratia DOCTYPE -->


]>
80
Declararea elementelor-fiu

Exemplu (continuare):
<examinare>
<student>
<id>5127</id>
<nume>Popescu</nume>
<prenume>Ioana</prenume>
</student>
<subiect>Bilet nr. 3</subiect>
<student>
<id>1200</id>
<nume>Ionescu</nume>
<prenume>Cristian</prenume>
</student>
<subiect tip_subiect="exam">Bilet nr. 5
</subiect>
<subiect tip_subiect="proiect">Bilet nr. 2
</subiect>
</examinare>
81
Declararea elementelor-fiu

nume_fiu+ indic faptul c elementul poate aprea o dat sau de mai


multe ori n coninutul unei instane;
<!ELEMENT nume_element_printe (nume_fiu+)>
<!ELEMENT nume_fiu model_coninut>

Exemplu (ex18.xml):
<?xml version="1.0" encoding="ISO-8859-2" standalone="yes"?>
<!DOCTYPE capitol [
<!--'capitol' trebuie sa aib cel puin un element-fiu de tip
'paragraf'-->
<!ELEMENT capitol (paragraf+)>
<!ELEMENT paragraf (#PCDATA)>
]>
<capitol>
<paragraf>Elementele XML</paragraf>
</capitol>

82
Declararea elementelor-fiu

nume_fiu? indic faptul c elementul poate s nu apar sau s apar


o singur dat n coninutul unei instane (este opional).
<!ELEMENT nume_element_printe (nume_fiu?)>
<!ELEMENT nume_fiu model_coninut>

Exemplu (ex19.xml):
<?xml version="1.0"?>
<!DOCTYPE capitol [
<!--'capitol' poate avea zero sau un element-fiu
de tip 'paragraf'-->
<!ELEMENT capitol (paragraf?)>
<!ELEMENT paragraf (#PCDATA)>
]>
<capitol>
<paragraf>Elementele XML</paragraf>
</capitol>

83
Declararea elementelor-fiu

Absena unuia dintre aceti operatori are semnificaia c elementul declarat


trebuie s apar o dat i numai o dat.

Exemplu (ex19bis.xml):

<?xml version="1.0"?>
<!DOCTYPE capitol [
<!--'capitol' poate avea zero sau un element-fiu de tip
'paragraf'-->
<!ELEMENT capitol (paragraf?)>
<!ELEMENT paragraf (#PCDATA)>
]>
<capitol>
<paragraf>Elementele XML</paragraf>
<paragraf>Atributele XML</paragraf>
</capitol>

84
Declararea elementelor-fiu

Elementele cu coninut mixt se refer la combinaia de date caracter


analizabile i elementele-fiu. Exemplu:
<?xml version="1.0" encoding="ISO-8859-2" standalone="yes" ?>
<!DOCTYPE mesaj [

<!ELEMENT mesaj (#PCDATA|destinatar|expeditor|subiect|text)* >


<!ATTLIST mesaj id CDATA #IMPLIED>
<!ELEMENT destinatar (#PCDATA)* >
<!ELEMENT expeditor (#PCDATA)* >
<!ELEMENT subiect (#PCDATA)* >
<!ELEMENT text (#PCDATA)* >
]>

<mesaj id="100">
<subiect>Bibliografie XML </subiect>
<text>
Pot s-i recomand urmtoarele... </text>
Atenie...
</mesaj> 85
Declararea entitilor
Entitile sunt de dou tipuri: interne i externe.
Mai pot fi clasificate n:
entiti analizabile, cele care corespund tipului XML bine-format;
entiti care nu sunt analizabile, corespund datelor binare sau texte care
nu sunt n format XML.

Definirea unei referine de entitate general intern. Sintaxa general este:

<!ENTITY nume "textul care se va utiliza">

86
Declararea entitilor
Exemplu (ex21.xml):

<?xml version="1.0" standalone="yes"?>


<!DOCTYPE BIBLIO [
<!ENTITY Ed "Economica, Bucuresti">
<!ELEMENT BIBLIO (DOMENIU|CARTEA)* >
<!ELEMENT DOMENIU (#PCDATA)* >
<!ELEMENT CARTEA (AUTOR|TITLUC|EDITURA|DATAPUB)* >
<!ELEMENT AUTOR (#PCDATA)* >
<!ELEMENT TITLUC (#PCDATA)* >
<!ELEMENT EDITURA (#PCDATA)* >
<!ELEMENT DATAPUB (#PCDATA)* >
]>

87
Declararea entitilor
Exemplu (ex21.xml) - continuare:

<BIBLIO>
<DOMENIU> Informatica </DOMENIU>
<CARTEA>
<AUTOR> Floarea Nastase </AUTOR>
<AUTOR> Pavel Nastase </AUTOR>
<TITLUC>Internet - WWW, JavaScript, HTML, Java</TITLUC>
<EDITURA> &Ed;</EDITURA>
<DATAPUB>1998</DATAPUB>
</CARTEA>
<CARTEA>
<AUTOR> Floarea Nastase</AUTOR>
<TITLUC>Arhitectura retelelor de calculatoare</TITLUC>
<EDITURA> &Ed;</EDITURA>
<DATAPUB>1999</DATAPUB>
</CARTEA>
</BIBLIO>
88
Declararea entitilor
Entiti generale externe. Sintaxa utilizat este:
<!ENTITY nume_entitate SYSTEM "URI ">

sau
<!ENTITY name_entitate PUBLIC "public_ID" "URI ">

unde:
URI este URL unde entitatea extern analizabil poate fi gsit;

public_ID poate fi utilizat de procesorul XML pentru a genera un


URL alternativ unde entitatea extern analizabil poate fi gsit.

89
Declararea entitilor
Exemplu (ex22.xml):
<?xml version="1.0" encoding="ISO-8859-2" standalone="no"?>

<!DOCTYPE BIBLIO [
<!ELEMENT BIBLIO (DOMENIU,CARTEA)* >
<!ELEMENT DOMENIU (#PCDATA)* >
<!ELEMENT CARTEA (AUTOR|TITLUC|EDITURA|DATAPUB)* >
<!ELEMENT AUTOR (#PCDATA)* >
<!ELEMENT TITLUC (#PCDATA)* >
<!ELEMENT EDITURA (#PCDATA)* >
<!ELEMENT DATAPUB (#PCDATA)* >
<!ENTITY C1 SYSTEM "http://localhost/xml/ex23.xml">
]>
<BIBLIO>
<DOMENIU> Informatic </DOMENIU>
&C1;
</BIBLIO>
90
Declararea entitilor
Coninutul fiierului ex23.xml, memorat la adresa specificat anterior este:
<?xml version="1.0"?>
<CARTEA>
<AUTOR> Floarea Nastase </AUTOR>
<AUTOR> Pavel Nastase </AUTOR>
<TITLUC>Internet - WWW, JavaScript, HTML, Java</TITLUC>
<EDITURA> Economica, Bucuresti</EDITURA>
<DATAPUB>1998</DATAPUB>
</CARTEA>

91
Declararea entitilor
Entiti externe ne-analizabile, n general, se refer la date care nu sunt n
format XML. n acest caz se utilizeaz cuvntul-cheie NDATA ca tip de
entitate, iar sintaxa general este :

<!ENTITY nume_entitate SYSTEM "URI" NDATA nume_notaie>

sau

<!ENTITY nume_entitate PUBLIC "public_ID" "URI" NDATA nume_notaie


>

nume_notaie este declarat n DTD. Notaia permite asocierea unui nume


simbolic unui identificator extern ce corespunde formatului, ca un tip
MIME, un standard ISO sau o adres la care se gsete specificarea
formatului.

92
Declararea entitilor
Exemplu:
<?xml version="1.0" standalone="no"?>

<!DOCTYPE DOCUMENT [
<!ELEMENT DOCUMENT ANY>
<!NOTATION GIF SYSTEM "image/gif">
<!ENTITY rezultat SYSTEM "http://localhost/xml/rez.gif" NDATA GIF>
<!ELEMENT IMAGINE EMPTY>
<!ATTLIST IMAGINE SURSA ENTITY #REQUIRED>
]>

<DOCUMENT>
<IMAGINE SURSA="rezultat" />
</DOCUMENT>

93
Declararea notaiilor
Notaiile identific, prin numele lor, formatul entitilor care nu sunt XML.
Sintaxa general pentru declararea unei notaii este :

<!NOTATION nume_notaie SYSTEM "URI">


sau

<!NOTATION nume_notaie PUBLIC "public_ID">


sau

<!NOTATION nume_notaie PUBLIC "public_ID" "URI">

unde:
URI: este un URL unde notaia extern poate fi gsit;
public_ID: poate fi utilizat de un procesor XML pentru a genera un
URL alternativ, unde notaia extern poate fi gsit.
94
Declararea listei de atribute
Declararea listelor de atribute se utilizeaz pentru :
definirea unui set de atribute ce aparin unui tip de element;
stabilirea restriciilor legate de tipul acestor atribute;
specificarea valorilor implicite pentru atribute.
Sintaxa general pentru declararea unei liste de atribute este:
<!ATTLIST nume_element nume_atribut tip_atribut
valoarea_implicit>

nume_element reprezint numele elementului cruia i se asociaz atributul


nume_atribut;
tip_atribut poate fi: ir de caractere, tip predefinit i list de valori de un
anumit tip.
valoarea_implicit desemneaz valoarea pe care o ia atributul dac nici o
valoare nu a fost specificat. Trei cuvinte rezervate sunt utilizate n acest sens:
#REQUIRED, #IMPLIED i #FIXED.
95
Declararea listei de atribute

Elementele pot deine mai multe atribute. Fiecare atribut poate fi declarat
independent sau declaraile pot fi combinate :

<!ATTLIST nume_element nume_atribut1 tip_atribut val_implicit


nume_atribut2 tip_atribut val_implicit
.
nume_atributk tip_atribut val_implicit>

96
Declararea listei de atribute
Valorile implicite ale atributelor
#REQUIRED specific faptul c atributul trebuie s fie totdeauna prezent.
Documentul urmtor este bine-format, dar nu poate fi validat (ex24.xml).
<?xml version="1.0"?>
<!DOCTYPE Autori [
<!ELEMENT Autori (Autor)*>
<!ELEMENT Autor EMPTY>
<!ATTLIST Autor nume CDATA #REQUIRED
prenume CDATA #REQUIRED
email CDATA #REQUIRED>
]>

<Autori>
<Autor nume="Ionescu" prenume="Maria"
email="mion@inforec.ase.ro" />
<Autor nume="Popescu" prenume="ANA" />
</Autori> 97
Declararea listei de atribute
#IMPLIED specific faptul c prezena atributului este facultativ.
Documentul urmtor este bine-format i poate fi validat (ex25.xml).
<?xml version="1.0"?>
<!DOCTYPE Autori [
<!ELEMENT Autori (Autor)*>
<!ELEMENT Autor EMPTY>
<!ATTLIST Autor nume CDATA #REQUIRED
prenume1 CDATA #REQUIRED
prenume2 CDATA #IMPLIED
email CDATA #REQUIRED>
]>

<Autori>
<Autor nume="Ionescu" prenume1="Maria" prenume2="Magdalena"
email="mion@inforec.ase.ro" />
<Autor nume="Popescu" prenume1="ANA" email="ana@yahoo.com" />
</Autori>
98
Declararea listei de atribute
#FIXED specific faptul c atributul va utiliza totdeauna valoarea implicit
care a fost declarat. Exemplu (ex26.xml).
<?xml version="1.0"?>
<!DOCTYPE Autori [
<!ELEMENT Autori (Autor)*>
<!ELEMENT Autor EMPTY>
<!ATTLIST Autor nume CDATA #REQUIRED
prenume CDATA #REQUIRED
institut CDATA #FIXED "ASE"
email CDATA #REQUIRED>
]>

<Autori>
<Autor nume="Ionescu" prenume="Maria" institut="UPB"
email="mion@inforec.ase.ro"
/>
<Autor nume="Popescu" prenume="ANA" email="ana@yahoo.com" />
99
</Autori>
Declararea listei de atribute
Tipuri de atribute
Atributul de tip CDATA permite definirea valorilor atributelor sub forma
irului de caractere. Exemplu:

<?xml version="1.0"?>
<!DOCTYPE imagine [
<!ELEMENT imagine EMPTY>
<!ATTLIST imagine height CDATA #REQUIRED>
<!ATTLIST imagine width CDATA #REQUIRED>
]>
<imagine height="32" width="32"/>

100
Declararea listei de atribute
Atributul de tip enumerare ofer o list de valori autorizate pentru atribut,
separate prin caracterul | (bar vertical). Exemplu (ex27.xml):

<?xml version="1.0"?>
<!DOCTYPE Cursuri [
<!ELEMENT Cursuri (Curs)*>
<!ELEMENT Curs (#PCDATA)>
<!ATTLIST Curs statut (obligatoriu|facultativ)
"obligatoriu">
]>
<Cursuri>
<Curs statut="facultativ">Acesta este un curs
facultativ</Curs>
<Curs>Acest curs, in mod implicit, are statut de
curs obligatoriu</Curs>
</Cursuri>

101
Declararea listei de atribute
Atributul ID - valoarea unui atribut de tip ID este un identificator unic al
acestuia. Exemplu (ex28.xml):

<?xml version="1.0"?>
<!DOCTYPE nume_student [
<!ELEMENT nume_student (#PCDATA)>
<!ATTLIST nume_student nr_student ID #REQUIRED>
]>
<nume_student nr_student="an41999">Elena Dan</nume_student>

102
Declararea listei de atribute
Atributul IDREF este utilizat pentru stabilirea conexiunilor ntre elemente.
Valoarea IDREF a atributului trebuie s se refere la o valoare ID declarat n
alt parte n document. Exemplu (ex29.xml):
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE grupa [
<!ELEMENT grupa (nume_student)*>
<!ELEMENT nume_student (#PCDATA)>
<!ATTLIST nume_student nr_student ID #REQUIRED>
<!ATTLIST nume_student colab_1 IDREF #IMPLIED>
<!ATTLIST nume_student colab_2 IDREF #IMPLIED>
]>
<grupa>
<nume_student nr_student="an9650">I. Popescu</nume_student>
<nume_student nr_student="an9651">A. Marin</nume_student>
<nume_student nr_student="an9652"
colab_1="an9651" colab_2="an9650">G. Lazar</nume_student>
</grupa>

103
Declararea listei de atribute
Atributul ENTITY este util deoarece permite referinele la datele binare
externe. Exemplu:

<?xml version="1.0" standalone="no"?>


<!DOCTYPE experiment [
<!ELEMENT experiment (rezultat)*>
<!ELEMENT rezultat EMPTY>
<!ATTLIST rezultat imag ENTITY #REQUIRED>
<!ENTITY a SYSTEM "http://localhost/xml/rez.gif">
]>
<experiment>
<rezultat imag="a"/>
<experiment>

104
Declararea listei de atribute
Atributul ENTITIES este mai rar utilizat. Exemplu:

<?xml version="1.0" standalone="no"?>


<!DOCTYPE experiment [
<!ELEMENT experiment (rezultat)*>
<!ELEMENT rezultat EMPTY>
<!ATTLIST rezultat imag ENTITIES #REQUIRED>
<!ENTITY a1 SYSTEM "http://localhost/xml/a1.gif">
<!ENTITY a2 SYSTEM "http://localhost/xml/a2.gif">
<!ENTITY a3 SYSTEM "http://localhost/xml/a3.gif">
]>
<experiment>
<rezultat imag="a1 a2 a3"/>
</experiment>

105
Declararea listei de atribute
Atributul NMTOKEN restricioneaz valoarea atributului numai la numele
valide din XML. Exemplu (ex31.xml, ex31bis.xml):

<?xml version="1.0"?>
<!DOCTYPE nume_student [
<!ELEMENT nume_student (#PCDATA)>
<!ATTLIST nume_student nr_student NMTOKEN #REQUIRED>
]>
<nume_student nr_student="9216735">Dan Cristescu</nume_student>

106
Declararea listei de atribute
Atributul NMTOKENS este mai rar utilizat, dar permite ca valoarea atributului
s conin mai multe cuvinte separate prin spaiu. Exemplu (ex32.xml):

<?xml version="1.0"?>
<!DOCTYPE nume_student [
<!ELEMENT nume_student (#PCDATA)>
<!ATTLIST nume_student nr_student NMTOKENS #REQUIRED>
]>
<nume_student nr_student="n92 n6735">Dan Cristescu</nume_student>

107
Declararea listei de atribute
Atributul NOTATION definete modul particular de interpretare a textului.
Exemplu (ex33.xml):

<?xml version="1.0"?>
<!DOCTYPE cod [
<!ELEMENT cod (#PCDATA)>
<!NOTATION xml PUBLIC "XML 1.0">
<!ATTLIST cod limbaj NOTATION (xml) #REQUIRED>
]>

<cod limbaj="xml">Sintaxa este din limbajul XML</cod>

108
Declararea listei de atribute
Atributul predefinit xml:space poate fi asociat unui element pentru a
semnala intenia c n acel element, spaiile trebuie pstrate i transmise ctre
aplicaie (ex34.xml);
Atributul predefinit xml:lang permite declararea alfabetului utilizat pentru
coninutul elementului. Codul limbajului utilizat trebuie s corespund unui
cod ISO 639, eventual urmat de codul unei ri ISO 3166. De exemplu
en-US identific limba englez practicat n SUA, en-GB limba englez
practicat n Marea Britanie i en limba englez n general (ex35.xml).
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE document [
<!ELEMENT document (paragraf)>
<!ELEMENT paragraf (#PCDATA)>
<!ATTLIST paragraf xml:lang NMTOKEN #FIXED "en">
]>
<document>
<paragraf xml:lang="en">
Acest text se va afisa n limba engleza
</paragraf> 109
</document>
Bibliografie

http://www.w3.org/XML/
http://www.w3.org/TR/REC-xml-names/
http://www.w3.org/TR/xmlschema-0/ (Primer)
http://www.w3.org/TR/xmlschema11-1/ (Structures) - Recommendation 5 April
2012
http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/ (Datatypes)
http://www.codalogic.com/lmx/xsd-overview.html
http://www.w3schools.com/schema/default.asp
Anders Mller & Michael I. Schwartzbach, The XML Revolution Technologies
for the future Web, 2003,, BRICS, Aarhus University,
http://cs.au.dk/~amoeller/XML/
http://xmlsummerschool.com/ 110
Departamentul de Informatic i
Cibernetic Economic

XSL
(Extensible Stylesheet
Language )

Prof. univ. dr. Fl. Nstase


1
Cuprins

Introducere
XPath
XSLT
Concepte de baz ale XSL
Structura unei foi de stil XSLT
Definirea regulilor template
Aplicarea regulilor template
Proiectarea unei foi de stil XSLT
Crearea unui template HTML
Template-uri denumite
Foaie de stil n document XML
Elemente xsl

2
Introducere

Grupul de lucru XSL W3C a realizat o specificaie sub numele XSL care
include:
XSLT (XSL Transformation) este un limbaj de tip XML utilizat pentru
transformarea documentelor XML.Versiuni ale specificaiei XSLT:
- XSLT 1.0 este o recomandare W3C din 16 noiembrie 1999
(www.w3.org/TR/xslt).
- XSLT 1.1 - 24 august 2001 (http://www.w3.org/TR/xslt11/)
- XSLT 2.0 - 23 ianuarie 2007 (http://www.w3.org/TR/xslt20/)
- XSLT 3.0 - 12 decembrie 2013 (http://www.w3.org/TR/xslt-30/)
XSL-FO (XSL Formating Objects) este un limbaj de tip XML utilizat pentru
formatarea vizual a unui document XML.
- XSL 1.0 (XSL-FO 1.0) est o recomandare W3C din 15 octombrie 2001
(http://www.w3.org/TR/2001/REC-xsl-20011015/)
- XSL 1.1 (XSL-FO 1.1) 5 decembrie 2006 (http://www.w3.org/TR/xsl/)
3
- XSL-FO 2.0 ianuarie 2012 (http://www.w3.org/TR/xslfo20/)
Introducere

Grupul de lucru XSL W3C a realizat o specificaie sub numele XSL care
include (continuare):
XPath (XML Path Language) este un limbaj non-XML folosit de XSLT (i
disponibil pentru a fi utilizat n contexte non-XSLT) pentru adresarea unor pri
ale unui document XML. XPath descrie ansamblul nodurilor dintr-un arbore
asociat documentului XML.
- XPath 1.0 este descris prima dat prin Recomandarea W3C din 16 noiembrie 1999
(www.w3.org/TR/xpath);
- XPath 2.0 decembrie 2010 (http://www.w3.org/TR/xpath20/);
- XPath 3.0 - octombrie 2013 (http://www.w3.org/TR/xpath-30/)
- XPath 3.1 decembrie 2015 (https://www.w3.org/TR/xpath-31/)

4
XPath

5
Ce este XPath?

XPath este conceput pentru a fi ncorporat ntr-un limbaj gazd, cum ar fi


XSLT (XSL Transformations) sau XQuery - limbaj de interogare XML.

XPath este o sintax folosit pentru a selecta pri ale unui document XML;

XPath opereaz pe structura logic a unui document XML (arbore de noduri);

XPath folosete o notaie pentru a descrie cile elementelor, pentru a naviga


prin structura arborescent - ntr-un mod similar prin care un sistem de operare
descrie cile pentru fiiere;

XPath, dup unii, este cosiderat aproape un limbaj de programare - utilizeaz


expresii, teste i funcii;

XPath este un standard W3C;

XPath conine o bibliotec de funcii standard;


6

XPath nu folosete sintaxa XML, dar este folosit foarte mult n XSLT.
Terminologie folosit

Fie fragmentul XML: BIBLIO este printe (parent) pentru


CARTEA; CARTEA este printe pentru
<BIBLIO> AUTOR, TITLUC, EDITURA, DATAPUB
<CARTEA>
<AUTOR> ...</AUTOR>
AUTOR, TITLUC, EDITURA, DATAPUB
<TITLUC>Titlu1 sunt copii/fii (children) pentru CARTEA, iar
<CAPITOL>...</CAPITOL> cele dou elemente CAPITOL sunt copii/fii
<CAPITOL>...</CAPITOL>
pentru TITLUC
</TITLUC> Elementele CARTEA sunt frai/vecini
<EDITURA> ED1</EDITURA> (siblings), au acelai printe BIBLIO; Similar,
<DATAPUB>1999</DATAPUB> elementele CAPITOL sunt frai, au acelai
</CARTEA> printe TITLUC
<CARTEA>
BIBLIO, CARTEA i TITLUC sunt
</CARTEA> ascendeni/strmoi (ancestors) pentru
</BIBLIO> CAPITOL
CAPITOL, TITLUC, AUTOR sunt
descendeni (descendents) pentru CARTEA
7
Tipuri de noduri

Un document XML este tratat un ca un arbore, care poate conine


urmtoarele tipuri de noduri:
- nod rdcin (/)

- nod element

- nod text (text())

- nod atribut

- nod spaiu de nume

- nod instruciune de prelucrare (processing-instruction())

- nod comentariu (comment())

Structura arborescent este ordonat i analizat de sus n jos i de la


stnga la dreapta 8
Calea de localizare
Expresiile XPath sunt cunoscute sub denumirea de ci de localizare (Location Paths)
prin care se descrie o cale de la un punct la altul. (Se poate face o analogie cu orientarea pe
o strad: "Al doilea magazin de pe stnga, dup a treia intersecie".)
Calea de localizare prevede mecanismul pentru adresarea nodurilor ntr-un
document XML.
Un nod sau un set de noduri se selecteaz urmnd o cale sau pai.

Calea de localizare este compus dintr-o serie de pai (1 sau mai muli)

Sunt cunoscute dou tipuri de ci pentru localizare:


- relative - avnd sintaxa: pas/pas/... (raportarea la nodul curent)

- absolute - avnd sintaxa: /pas/pas/... (raportare la nodul rdcin)

Pornind de la un nod context, o cale de localizare returneaz un set de noduri.

Fiecare nod al acestui set de noduri devine, la rndul su, nodul context pentru
evaluarea n pasul urmtor. 9
Calea de localizare
Cele mai utilizate expresii pentru calea de localizare sunt:
Expresia Descrierea
Selecteaz toate nodurile cu numele
Nume_nod
Nume_nod"
/ Selecteaz de la nodul rdcin
Selecteaz nodurile din document, de la
// nodul curent, care se potrivesc seleciei,
indiferent de localizarea lor
. Selecteaz nodul curent
.. Selecteaz printele nodului curent
@ Selecteaz atribute
Selectarea de elemente necunoscute
* Selecteaz orice nod element
@* Selecteaz orice nod atribut
node() Selecteaz orice nod de orice tip 10
Calea de localizare
Exemple de expresii pentru cale i rezultatele care se obin:
Expresia pentru cale Resultat
BIBLIO Selecteaz toate nodurile cu numele "BIBLIO"
Selecteaz elementul rdcin BIBLIO dac expresia
/BIBLIO pentru cale ncepe cu / (slash), se refer la o cale absolut a
unui element
Selecteaz toate elementele CARTEA, care sunt fii ai
BIBLIO/CARTEA
elementului BIBLIO
Selecteaz toate elementele CARTEA indiferent de locul
//CARTEA
unde acestea sunt n documentul XML
Selecteaz toate elementele CARTEA care sunt descendeni
BIBLIO//CARTEA ai elementului BIBLIO, indiferent de locul unde acestea sunt
sub elementul BIBLIO
Selecteaz toate atributele care sunt denumite
//@nume_atribut
"nume_atribut"
11
Calea de localizare

Context: toate elementele CARTEA


(Contextul corespunde unui nivel
particular din structura ierarhic a
arborelui XML)

Sintaxa: BIBLIO/CARTEA

Context: toate elementele TITLUC


fii ale tuturor elementelor CARTEA

Sintaxa: BIBLIO/CARTEA/TITLUC

12
Calea de localizare
Context: toate elementele TITLUC descendente ale elementului BIBLIO

Sintaxa: BIBLIO//TITLUC

13
Calea de localizare
Expresiile XPath pot include o serie de operatori, cum ar fi :

Operator Descrierea
| selecteaz dou seturi de noduri (TITLUC | AUTOR)
+ adunare
- scdere
* nmulire
div mprire
= egal
!= nu este egal
< / <=
mai mic dect/ mai mic sau egal cu

> / >= mai mare dect/ mai mare sau egal cu


or / and sau/i
14
Calea de localizare

Fiecare pas de localizare este evaluat n raport cu nodurile din setul curent
de noduri.

Un pas de localizare const din:


- o ax definete relaia ntre nodurile selectate i nodul curent

- un test nod (identific un nod ntr-o ax):


identific tipul de nod care se evalueaz prin true / false

poate fi un nume sau o funcie pentru a evalua / verific tipul

- zero sau mai multe predicate (pentru a rafina selectarea setului de noduri)

Sintaxa pentru un pas de localizare este:

nume_axa::test_nod[predicat1]
15
Calea de localizare
O ax definete un set de noduri n raport cu nodul curent. n XPath sunt
definite axele:
- Ancestor, ancestor-or-self

- Attribute

- Child

- Descendant, descendant-or-self

- Following

- Preceding

- Following-sibling, preceding-sibling

- Namespace

- Parent
16

- Self
Calea de localizare
Nme ax Descriere
ancestor Selecteaz toi ascendenii (printe, bunic etc.) nodului curent

ancestor-or-self
Selecteaz toi ascendenii (printe, bunic etc.) nodului curent i
nodul curent n sine
attribute Selecteaz toate atributele nodului curent
child Selecteaz toi fii nodului curent
following Selecteaz toate nodurile dup nodul curent, n ordinea n care apar
n document
descendant Selecteaz toi descendenii nodului curent
namespace Selecteaz toate nodurile spaiu de nume pentru nodul curent
parent Selecteaz printele nodului curent
Selecteaz toate nodurile care apar nainte de nodul curent n
preceding document, cu excepia ascedenilor, nodurilor atribut i nodurile
spaiu de nume
preceding-sibling Selecteaz toi fraii care preced nodul curent 17
self Selecteaz nodul curent
Calea de localizare

Axe n XPath 18
(sursa: http://www.cs.ox.ac.uk/dan.olteanu/tutorials/xpath1.pdf)
Calea de localizare

test_nod poate fi:


un nume de nod
prefix:* pentru a selecta nodurile dintr-un anumit spaiu de nume
*:nume_local pentru a selecta nodurile cu un nume local dat, indiferent de
spaiu de nume
text()pentru a selecta nodurile text
node() pentru a selecta orice nod
processing-instruction() pentru a selecta orice instruciune de procesare
processing-instruction('literal')pentru a selecta instruciuni de
procesare cu numele dat (int)
comentariu() pentru a selecta nodurile comentariu

19
Calea de localizare

Exemple de utilizare a unei axe:


child::text() Selecteaz toate nodurile fii de tip text ale nodului curent
child::CARTEA Selecteaz toate nodurile CARTEA care sunt fii pentru nodul
curent
attribute::* Selecteaz toate atributele nodului curent

20
Calea de localizare
Predicate sunt utilizate pentru a gsi un nod specific sau un nod care
conine o anumit valoare.
Predicate sunt ntotdeauna incluse n paranteze drepte.
Exemple de expresii pentru cale Resultat
Selecteaz primul element CARTEA care este fiul
/BIBLIO/CARTEA[1]
elementului BIBLIO
Selecteaz toate elementele TITLUC, fii ai elementului
/BIBLIO/CARTEA[DATAPUB>2000]/TITLUC CARTEA, publicate dup 2000 (CARTEA este fiul al
elementului BIBLIO)
Selecteaz penultimul element CARTEA care este fiul
/BIBLIO/CARTEA[last()-1]
elementului BIBLIO
Selecteaz primele dou elemente CARTEA care sunt fii
/BIBLIO/CARTEA[position()<3]
ai elementului BIBLIO
Selecteaz toate elementele CARTEA care au atributul
//CARTEA[@ISBN]
denumit ISBN
Selecteaz toate elementele CARTEA care au atributul
//CARTEA[@ISBN=978-606-505-759-3]
denumit ISBN cu valoarea 978-606-505-759-3]21
Funcii XPath
Funciile XPath sunt utilizate pentru a evalua expresii.

Grupele de funcii XPath Descrierea


Funcii string (concat, starts-with , string- Evalueaz, formateaz i manipuleaz pe
length etc.) argumente string.
Evalueaz expresiile pentru a obine un
Funcii numerice (number, round, sum etc.)
rezultat numeric.
Evalueaz expresiile pentru a obine un
Funcii booleene (boolean, false, true, not)
rezultat boolean.
Returneaz un set de noduri sau returneaz/
Funcii pe setul de noduri (count, document,
ofer informaii cu privire la un anumit nod
id, key, last, name, position)
dintr-un set de nod.
Funcii XSLT (current, element-available,
Completri la biblioteca de baz a funciilor
format-number, function-available, node-
XPath
set)

22
XSLT

23
Concepte de baz ale XSL

XSLT a fost dezvoltat din necesitatea prelucrrii documentelor XML.


Documentele XML pot fi prelucrare prin diverse metode, cum ar fi:

Prin foile de stil CSS (Cascading Style Sheets) posibilitile sunt reduse la
alegerea aspectului de prezentare a documentului (de exemplu, mrimea
fonturilor), este imposibil de modificat structura documentului;
Prin programele de prelucrare realizate ntr-un limbaj de programare care
permite accesul uor la reprezentarea arborescent a unui document XML
(de exemplu, Java dispune de API: DOM, JDOM sau SAX), n acest caz nu
exist limitri;
Prin XSLT (eXtensible Stylesheet Language) care regrupeaz limbaje
specifice pentru descrierea transformrii i redrii documentului XML. XSL
este mai bine utilizat pe partea de client dect pe partea de server.

24
Concepte de baz ale XSL

Componentele XSLT 25
Concepte de baz ale XSL

O foaie de stil XSL descrie regulile pentru prezentarea unei clase de


documente surs XML:
generarea arborelui rezultat, avnd ca intrare arborele documentului
surs;
interpretarea arborelui rezultat, pentru a se obine un format al ieirii,
care poate fi afiat, imprimat, audiat etc.

26
Concepte de baz ale XSL

Doc1 Doc2
HTML HTML

27
Concepte de baz ale XSL

Coninutul fiierului clienti2.xml:


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="list1.xsl"?>
<CLIENTI>
<TITLU>Parteneri de afacere </TITLU>
<CLIENT>
<NUME>Popescu Mihai</NUME>
<ADRESA>
<STRADA>M. Eminescu</STRADA>
<NUMAR>6</NUMAR>
<ORAS>Bucuresti</ORAS>
</ADRESA>
<COMPANIE>Popescu SRL</COMPANIE>
<EMAIL>mihaip@mailcom.ase.ro</EMAIL>
<TELEFON>62112650</TELEFON>
<FAX>62112223</FAX>
<SIGLA>sigla01.bmp</SIGLA>
</CLIENT>
..
</CLIENTI>
28
Concepte de baz ale XSL

Coninutul fiierului list1.xsl:


<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html><head><title ><xsl:value-of select="CLIENTI/TITLU"/></title></head>
<h1 ><xsl:value-of select="CLIENTI/TITLU"/></h1>
<xsl:for-each select="CLIENTI/CLIENT">
<TR STYLE="font-family:Verdana; font-size:12pt; padding:0px 6px"><P></P>
<B STYLE="background-color:lightblue"> NUME: <I><xsl:value-of select="NUME"/></I></B>
<lu>
<li><B>ADRESA: <I><xsl:value-of select="ADRESA/STRADA"/>,
<xsl:value-of select="ADRESA/NUMAR"/>,
<xsl:value-of select="ADRESA/ORAS"/></I></B></li>
<li><B>COMPANIE: <xsl:value-of select="COMPANIE"/></B></li>
<li><B>EMAIL: <xsl:value-of select="EMAIL"/></B></li>
<li><B>TELEFON: <xsl:value-of select="TELEFON"/></B></li></lu>
</TR>
</xsl:for-each>
</html>
</xsl:template>
</xsl:stylesheet>
29
Concepte de baz ale XSL

Coninutul fiierului clienti3.xml:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="card.xsl"?>
<CLIENTI>
<TITLU>Parteneri de afacere </TITLU>
<CLIENT>
<NUME>Popescu Mihai</NUME>
<ADRESA>
<STRADA>M. Eminescu</STRADA>
<NUMAR>6</NUMAR>
<ORAS>Bucuresti</ORAS>
</ADRESA>
<COMPANIE>Popescu SRL</COMPANIE>
<EMAIL>mihaip@mailcom.ase.ro</EMAIL>
<TELEFON>62112650</TELEFON>
<FAX>62112223</FAX>
<SIGLA>sigla01.bmp</SIGLA>
</CLIENT>
..
</CLIENTI>
30
Concepte de baz ale XSL

Coninutul fiierului card.xsl:


<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<h1 style="text-align:left"><xsl:value-of select="CLIENTI/TITLU"/></h1>
<xsl:for-each select="CLIENTI/CLIENT">
<xsl:sort select="NUME"/>
<TABLE width="200" height="100" border="1">
<xsl:attribute name="background">img/<xsl:value-of select="SIGLA"/></xsl:attribute>
<TR>
<TD STYLE="padding-left:1em">
<DIV STYLE="line-height:150%; font-size:14pt; color:black">
<xsl:value-of select="NUME"/></DIV>
<DIV STYLE="line-height:110%; font-size:10pt; color:black">
<a><xsl:attribute name="href">mailto:<xsl:value-of select="EMAIL"/> </xsl:attribute>
<xsl:value-of select ="EMAIL"/></a></DIV>
<DIV STYLE="line-height:110%; font-size:10pt; color:black">
Telefon: <xsl:value-of select="TELEFON"/> </DIV>
<DIV STYLE="line-height:110%; font-size:10pt; color:black">
<xsl:value-of select="COMPANIE"/></DIV> </TD></TR></TABLE>
<P></P>
</xsl:for-each> </xsl:template></xsl:stylesheet> 31
Structura unei foi de stil XSLT

n mod obinuit se utilizeaz foaia de stil XSLT declarat explicit, fiind


delimitat printr-un element care conine toate specificaiile (stylesheet
sau transform ).
Pentru a avea acces la elementele, atributele i facilitile XSLT, trebuie
declarat spaiul de nume XSLT n elementul rdcin (stylesheet sau
transform ).

32
Structura unei foi de stil XSLT

Elementul de baz al unei foi de stil XSLT, instruciunea xsl:stylesheet


sau xsl:transform, are sintaxa:
<xsl:stylesheet
id = id
extension-element-prefixes = tokens
exclude-result-prefixes = tokens
version = numr_versiune>

<!-- Coninut (xsl:import*, elemente top-level)-->

</xsl:stylesheet>

id - specific un identificator unic;


extension-element-prefixes - specific un spaiu de nume desemnat ca un spaiu de
nume extins;
exclude-result-prefixes - specific un spaiu de nume desemnat ca un spaiu de
nume exclusiv;
version - specific versiunea XSLT pe care foaia de stil o cere. 33
Structura unei foi de stil XSLT

Structura simplificat a unei foi de stil este:

<?xml version=1.0?>
<!Declaraie XML -->

<xsl:stylesheet version="1.0
xmlns:xsl="http://www.w3.org/1999/XSL/Transform ">
<!Declaraia c documentul este o foaie de stil -->

<xsl:template match=pattern1> Regul template


[transformarea]
</xsl:template>

<xsl:template match=pattern2> Regul template


[transformarea]
</xsl:template>

<xsl:template match=pattern3> Regul template


[transformarea]
</xsl:template>
...
</xsl:stylesheet> 34
Structura unei foi de stil XSLT

Fie o foaie de stil cu dou reguli template (ex60.xml):

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="BIBLIO">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="CARTEA">
<P>
<xsl:apply-templates/>
</P>
</xsl:template>
</xsl:stylesheet>

35
Structura unei foi de stil XSLT

Elementul xsl:stylesheet poate conine urmtoarele tipuri de elemente,


denumite elemente de nivel superior (top-level):

xsl:import
xsl:include
xsl:strip-space
xsl:preserve-space
xsl:output
xsl:key
xsl:namespace-alias
xsl:attribute-set
xsl:variable
xsl:param
xsl:template

36
Structura unei foi de stil XSLT

Structura unei foi de stil, la modul foarte general, este:


<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="..."/>
<xsl:include href="..."/>
<xsl:strip-space elements="..."/>
<xsl:preserve-space elements="..."/>
<xsl:output method="..."/>
<xsl:key name="..." match="..." use="..."/>
<xsl:namespace-alias stylesheet-prefix="..." result-prefix="..."/>
<xsl:attribute-set name="...">
...
</xsl:attribute-set>
<xsl:variable name="...">
...
</xsl:variable>
<xsl:param name="...">
...
</xsl:param>
<xsl:template match="...">
...
</xsl:template>
<xsl:template name="...">... </xsl:template>
</xsl:stylesheet>
37
Definirea regulilor template

Sintaxa general pentru specificarea unei reguli template este:

<!-- Categoria: element de nivel superior -->


<xsl:template
match = pattern
name = qname
priority = numr
mode = qname>

<!-- Coninut: (xsl:param*, template) -->

</xsl:template>

Atributul match este utilizat pentru a asocia un template cu un element


XML; atributul poate fi utilizat pentru a defini un template pentru ntreg
documentul XML, iar valoarea atributului match este o expresie
XPath. 38
Definirea regulilor template

Exemplu:

<xsl:template match=CARTEA>
<!-- Procesorul XSLT analizeaz documentul XML i pentru
elementul CARTEA utilizeaz aceast regul template -->

<xsl:apply-templates/>
<!-- Procesorul XSLT analizeaz fiecare element fiu i i
aplic regula template -->

</xsl:template>
<!-- nchiderea tag-ului xsl:template -->

39
Aplicarea regulilor template

Prelucrarea nodurilor descendente dintr-o structur arborescent se realizeaz


n mod recursiv prin utilizarea elementul xsl:apply-templates.
Sintaxa general este:

<!-- Categoria: instruciune -->


<xsl:apply-templates
select = expresie-set-noduri
mode = qname>

<!-- Coninut: (xsl:sort | xsl:with-param)* -->

</xsl:apply-templates>

40
Aplicarea regulilor template

Atributul select poate fi utilizat pentru prelucrarea nodurilor selectate


printr-o expresie XPath. Valoarea atributului select este o expresie,
care prin evaluare returneaz un set de noduri. Ansamblul nodurilor
selectate este prelucrat n ordinea din document, exceptnd situaia cnd o
specificaie de sortare este prezent. n absena atributului select,
instruciunea xsl:apply-templates prelucreaz recursiv toate
nodurile fiu ale nodului curent, inclusiv nodurile text.

Atributul mode permite unui element s fie prelucrat de mai multe ori, de
fiecare dat obinndu-se un rezultat diferit.

41
Proiectarea unei foi de stil XSLT

Pentru a urmri cum se realizeaz o foaie de stil vom considera un document


XML a crui structur este:

<?xml version="1.0" encoding="ISO8859-2" ?>


<!DOCTYPE BIBLIO SYSTEM "Biblio.dtd">
<BIBLIO>
<CARTEA>
<AUTOR> Floarea Nstase</AUTOR>
<TITLUC>Arhitectura reelelor de calculatoare</TITLUC>
<EDITURA> Economic, Bucureti</EDITURA>
<DATAPUB>1999</DATAPUB>
</CARTEA>
<CARTEA>

</CARTEA>
</BIBLIO>

42
Proiectarea unei foi de stil XSLT

n prima faz, este necesar s se analizeze structura arborescent


a documentului.

43
Structura arborescent a documentului XML
Proiectarea unei foi de stil XSLT

Pentru nceput, se va crea cte o regul template pentru fiecare nod al arborelui
document: BIBLIO (nod rdcin), CARTEA, AUTOR, TITLUC, EDITURA,
DATAPUB i Text. Nu se vor crea reguli template pentru nodurile PI
(Processing Instruction) i DOCTYPE. Coninutul foii de stil XSLT este:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

<xsl:template match="BIBLIO">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="CARTEA">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="AUTOR">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="TITLUC">
<xsl:apply-templates/>
</xsl:template> 44
Proiectarea unei foi de stil XSLT

Continuarea foii de stil (ex66.xml):


<xsl:template match="EDITURA">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="DATAPUB">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="text()">
<xsl:value-of select="."/>
<!-- procesorul va returna valoarea nodului selectat, aici este un
nod text -->
</xsl:template>

</xsl:stylesheet>

45
Proiectarea unei foi de stil XSLT

Selectarea prin numele elementului


Pentru a aplica o regul template unui element din structura arborescent a documentului
surs (elementul CARTEA) se poate utiliza ca pattern chiar numele acestuia, de exemplu:

<xsl:template match="CARTEA">
<xsl:apply-templates/>
</xsl:template>

46
Proiectarea unei foi de stil XSLT

Selectarea nodurilor descendente prin //


n anumite situaii, atunci cnd elementele care vor fi selectate nu se gsesc toate la acelai
nivel n structura arborescent, se poate specifica oricare dintre nivelurile nodurilor
intermediare prin simbolul //. Prin exemplul urmtor se selecteaz toate subelementele
denumite CAPITOL, descendente ale elementului rdcin, indiferent de nivelul ierarhic
(ex11.xml).
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<BODY>
<H2><CENTER><xsl:value-of select="BIBLIO/CARTEA/TITLUC"/></CENTER></H2>
<UL> <xsl:for-each select="//CAPITOL">
<LI><xsl:value-of select="."/></LI>
</xsl:for-each>
</UL>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
47
Proiectarea unei foi de stil XSLT

Selectarea comentariilor prin comment()


De cele mai multe ori comentariile din documentele XML sunt ignorate. Pentru a prelua un
comentariu din documentul surs se utilizeaz selectorul comment()(ex12.xml):

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="BIBLIO/CARTEA">
<xsl:value-of select="TITLUC"/><br/>
<xsl:apply-templates select="comment()"/>
</xsl:template>

<xsl:template match="comment()">
<I><xsl:value-of select="."/></I>
<br/>
</xsl:template>

</xsl:stylesheet>
48
Proiectarea unei foi de stil XSLT

Selectri multiple prin operatorul |


Datele documentului XML pot fi afiate ntr-un tabel, prin includerea n template a unor
tag-uri HTML corespunztoare, fie prin selecie simpl ( ex13.xml):
<xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform
version="1.0" >
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="BIBLIO">
<TABLE BORDER="2" BGCOLOR="yellow" WIDTH="100%">
<xsl:apply-templates/>
</TABLE>
</xsl:template>

<xsl:template match="CARTEA">
<TR><xsl:apply-templates/></TR>
</xsl:template>

49
Proiectarea unei foi de stil XSLT
Selectri multiple prin operatorul |
Partea a doua a foii de stil cu selecie simpl ( ex13.xml):
<xsl:template match="AUTOR">
<TD><xsl:apply-templates/></TD>
</xsl:template>

<xsl:template match="TITLUC">
<TD><xsl:apply-templates/></TD>
</xsl:template>

<xsl:template match="EDITURA">
<TD><xsl:apply-templates/></TD>
</xsl:template>

<xsl:template match="DATAPUB">
<TD><xsl:apply-templates/></TD>
</xsl:template>

<xsl:template match="text()">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet> 50
Proiectarea unei foi de stil XSLT
Selectri multiple prin operatorul |
Se va obine acelai rezultat dac printr-o singur regul template se vor selecta pattern-uri
multiple ( ex14.xml):

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="BIBLIO">
<TABLE BORDER="2" BGCOLOR="yellow" WIDTH="100%">
<xsl:apply-templates/>
</TABLE>
</xsl:template>
<xsl:template match="CARTEA">
<TR><xsl:apply-templates/></TR>
</xsl:template>
<xsl:template match="AUTOR|TITLUC|EDITURA|DATAPUB">
<TD><xsl:apply-templates/></TD>
</xsl:template>
</xsl:stylesheet>
51
Crearea unui template HTML (1)
Foaia de stil urmtoare include o singur regul template care are rolul s preia datele din
documentul XML pentru a genera un document HTML:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Declararea ca documentul este o foaie de stil si i s-a asociat un
domeniu de nume -->

<xsl:template match="/">
<!-- Se aplica o regula template elementului radacina al documentului XML-->

<html>
<body>
<!-- Se creeaza un document HTML prin inserarea tag-urilor HTML -->

<H1><center> <xsl:value-of select="BIBLIO/TITLUL" />


<!-- "value-of" ia textul din nodul specificat prin atributul "select" -->

</center></H1>
<table border="2" bgcolor="yellow">
<!-- Seteaza un antet pentru tabel, se adauga text -->
<tr><th>AUTOR</th>
<th>TITLUL </th>
<th>EDITURA</th> 52
<th>ANUL DE PUBLICARE</th></tr>
Crearea unui template HTML (2)
Foaie de stil o singur regul template pentru generarea unui document HTML continuare
(ex17.xml) :
<xsl:for-each select="BIBLIO/CARTEA">
<!-- "for-each" asigura un ciclu pentru fiecare aparitie a pattern-ului
definit prin atributul "select"-->

<tr><td><xsl:for-each select="AUTOR">
<xsl:value-of select="."/><br/>
</xsl:for-each></td>
<td><xsl:value-of select="TITLUC"/></td>
<td><xsl:value-of select="EDITURA"/></td>
<td><xsl:value-of select="DATAPUB"/></td>
</tr>
</xsl:for-each>
<!-- Se inchide ciclul "for-each" -->

</table>
</body></html>

</xsl:template>
<!-- Se inchide tag-ul "template" -->

</xsl:stylesheet> 53
<!-- Se inchide tag-ul "stylesheet" -->
Template-uri denumite
Template-urile pot fi apelate prin nume. Un element xsl:template cu un atribut name
specific un template denumit.

Dac un element xsl:template are un atribut name, el poate, dar nu este


necesar, s aib un atribut match.
Dac un element xsl:call-template apeleaz un template prin nume, el
trebuie s aib un atribut name care identific template-ul ce va fi invocat:

<!-- Categoria: instruciune -->

<xsl:call-template
name = qname>

<!-- Coninut: xsl:with-param* -->

</xsl:call-template>

54
Foaie de stil n document XML (1)

Uneori o foaie de stil XSLT poate fi ncapsulat ntr-o alt resurs. Dou
tipuri de ncapsulri sunt posibile:
foaia de stil XSLT inclus textual ntr-o resurs care nu este XML sau
elementul xsl:stylesheet se regsete ntr-un document XML,
pe o alt poziie dect aceea de element rdcin.

Instruciunea de prelucrare xml-stylesheet poate fi utilizat pentru a


permite unui document XML s conin propria foaie de stil.
Elementul xml:stylesheet trebuie amplasat ca un fiu al elementului
rdcin i este autorizat s dein un atribut id care asigur o identificare
unic.
Atributul id trebuie s se regseasc n valoarea atributului href al
instruciunii de prelucrare xml-stylesheet.
55
Foaie de stil n document XML (2) - Exemplu
<?xml version="1.0" encoding="ISO8859-2" ?>
<?xml-stylesheet type="text/xsl" href="#id(ex)" ?>
<BIBLIO>
<xsl:stylesheet version="1.0
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" id="ex">
<xsl:template match="CARTEA">
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>

<CARTEA>
<AUTOR> Floarea Nstase</AUTOR>
<TITLUC> Arhitectura reelelor de calculatoare </TITLUC>
<EDITURA> Economic, Bucureti </EDITURA>
<DATAPUB> 1999 </DATAPUB>
</CARTEA>
</BIBLIO> 56
Inserarea atributelor prin xsl:attribute (1)

Elementul xsl:attribute poate fi utilizat pentru a aduga atribute


elementelor rezultate, indiferent c au fost create prin elemente directe (element
rezultat literal) din foile de stil sau prin instruciuni, cum ar fi xsl:element.
Sintaxa general a acestei instruciuni este:
<!-- Categoria: instruciune -->
<xsl:attribute
name = { qname }
namespace = { uri-reference }>
<!-- Coninut: template -->
</xsl:attribute>

Numele extins al atributului care va fi generat este specificat prin atributul


obligatoriu name i un atribut opional namespace. Prin instanierea
elementului xsl:attribute se adaug un nod atribut la elementul nod
rezultat. Coninutul elementului xsl:attribute este un template pentru
valoarea atributului creat. 57
Inserarea atributelor prin xsl:attribute (2)
Fie documentul XML:
<?xml version="1.0" encoding="ISO8859-2" ?>
<?xml-stylesheet type="text/xsl" href="ex19.xsl" ?>
<CARTEA>
<AUTOR> Floarea Nastase</AUTOR>
<TITLUC>Arhitectura retelelor de calculatoare</TITLUC>
<CUPRINS>
<CAPITOL>
<NUME_CAPITOL>Introducere</NUME_CAPITOL>
<NR_CAPITOL>capitol1</NR_CAPITOL>
</CAPITOL>
<CAPITOL>
<NUME_CAPITOL>Arhitectura comunicatiei</NUME_CAPITOL>
<NR_CAPITOL>capitol2</NR_CAPITOL>
</CAPITOL>
<CAPITOL>
<NUME_CAPITOL>Arhitecturi ale retelelor locale</NUME_CAPITOL>
<NR_CAPITOL>capitol4</NR_CAPITOL>
</CAPITOL>
</CUPRINS>
<EDITURA> Economica, Bucuresti</EDITURA>
<DATAPUB>1999</DATAPUB>
</CARTEA>
58
Inserarea atributelor prin xsl:attribute (2)

Exemplu unei foi de stil prin care se insereaz atributul HREF elementului A, prin
preluarea de informaii din documentul .xml prezentat anterior:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML><HEAD><TITLE>CARTEA</TITLE></HEAD>
<BODY>
<xsl:apply-templates/>
</BODY>
</HTML>
</xsl:template>

<xsl:template match="CARTEA">
<h2><xsl:value-of select="TITLUC"/></h2>
<xsl:apply-templates select="CUPRINS"/> 59
</xsl:template>
Inserarea atributelor prin xsl:attribute (3)

Foaie de stil prin care se insereaz atributul HREF elementului A continuare


(ex19.xml)

<xsl:template match="CUPRINS">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="CAPITOL">
<LI><A>
<xsl:attribute name="HREF">
<xsl:value-of select="NR_CAPITOL"/>.html
</xsl:attribute>
<xsl:value-of select="NUME_CAPITOL"/>
</A></LI>
</xsl:template>
</xsl:stylesheet>

60
Inserarea atributelor prin xsl:attribute (4)

Toate elementele xsl:attribute trebuie s se gseasc naintea altora


coninute de elementul printe. Un atribut nu poate fi adugat unui element dup
ce s-a nceput generarea spre ieire a datelor coninutului. De exemplu, urmtorul
template este incorect:

<xsl:template match="CAPITOL">
<LI><A>
<xsl:value-of select="NUME_CAPITOL"/>
<xsl:attribute name="HREF">
<xsl:value-of select="NR_CAPITOL"/>.html
</xsl:attribute>
</A></LI>
</xsl:template>

61
Definirea unui set de atribute (1)

Cnd este necesar s se aplice n mod repetat aceleai atribute la mai multe
elemente diferite, acestea pot fi grupate ca membre ale unui set de atribute prin
elementul xsl:attribute-set:
<!-- Categoria: element de nivel superior-->
<xsl:attribute-set
name = qname
use-attribute-sets = qnames>
<!-- Coninut: xsl:attribute* -->
</xsl:attribute-set>

name atribut prin care se specific numele setului de atribute


use-attribute-sets atribut pentru specificarea seturilor de atribute care
vor fi utilizate. Seturile de atribute pot fi, de asemenea, utilizate prin specificarea
unui atribut use-attribute-sets ntr-un element rezultat literal.
62
Definirea unui set de atribute (2)

Exemplul unei foi de stil care include definirea a dou seturi de atribute:
<xsl:stylesheet
version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>

<xsl:attribute-set name="set1">
<xsl:attribute name="BORDER">6</xsl:attribute>
<xsl:attribute name="WIDTH">45%</xsl:attribute>
<xsl:attribute name="BGCOLOR">Yellow</xsl:attribute>
</xsl:attribute-set>

63
Definirea unui set de atribute (3)

Exemplul unei foi de stil care include definirea a dou seturi de atribute partea a
doua:
<xsl:attribute-set name="set2">
<xsl:attribute name="WIDTH">20%</xsl:attribute>
<xsl:attribute name="BGCOLOR">FFFFCC</xsl:attribute>
</xsl:attribute-set>

<xsl:template match="CARTEA">
<xsl:apply-templates select="TITLUC|CUPRINS"/>
</xsl:template>

<xsl:template match="TITLUC">
<h3><xsl:value-of select="."/></h3>
</xsl:template>

64
Definirea unui set de atribute (4)

Exemplul unei foi de stil care include definirea a dou seturi de atribute partea a
treia (ex20.xml):
<xsl:template match="CAPITOL">
<table xsl:use-attribute-sets="set1">
<tr>
<td xsl:use-attribute-sets="set2">
<xsl:value-of select="NR_CAPITOL"/>
</td>
<td>
<xsl:value-of select="NUME_CAPITOL"/>
</td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>
65
Generarea de text prin elementul
xsl:value-of (1)

Elementul xsl:value-of poate fi utilizat pentru generarea de text, de exemplu


prin recuperarea textului dintr-un document de intrare i trimiterea ctre
documentul de ieire sau prin inserarea valorii unei variabile. Sintaxa utilizat
este:

<!-- Categoria: instruciune -->


<xsl:value-of
select = expresie
disable-output-escaping = "yes" | "no" />

Elementul xsl:value-of este instaniat pentru a crea un nod text n arborele


rezultat. Valoarea atributului obligatoriu select este o expresie.

66
Generarea de text prin elementul
xsl:value-of (2)
Presupunem urmtoarea regul template:
<xsl:template match=CARTEA>
<xsl:value-of select="AUTOR"/>
<xsl:value-of select="TITLUC "/>
</xsl:template>

asociat elementului CARTEA din documentul surs XML (ex21.xml):


<CARTEA ISBN="973-590-253-2" LIMBA="ro" SUBIECT="general">
<AUTOR> Floarea Nstase</AUTOR>
<TITLUC>Arhitectura reelelor de calculatoare</TITLUC>
....
</CARTEA>

67
Generarea de text prin elementul
xsl:value-of (3)
Prin exemplul urmtor se obin valorile ir de caractere pentru ISBN i SUBIECT
reprezentnd atribute ale elementului curent CARTEA (ex22.xml):

<xsl:template match="CARTEA">
<xsl:value-of select="@ISBN"/> <br/>
<xsl:value-of select="@SUBIECT"/> <hr/>
</xsl:template>

68
Template-uri pentru valorile atributelor (1)

ntr-o foaie de stil, expresia ce reprezint o valoare a atributului va fi interpretat


ca un template al valorii atributului dac este delimitat prin acolade ({}).

Template-ul pentru valoarea atributului permite copierea datelor extrase din


coninutul unui element al documentului surs n valorile atributelor definite prin
foaia de stil. Apoi, ele pot fi generate la ieire.

Prin foaia de stil urmtoare se creeaz un element rezultat (HTML) img, de la un


element foto al documentului surs (XML). Valoarea atributului src al
elementului img este determinat din valoarea variabilei dir-imag i valoarea
ir a elementului referinta, fiu al elementului foto. Valoarea atributului
width al elementului img este determinat din valoarea atributului lat al
elementului dimen, fiu al elementului foto.
69
Template-uri pentru valorile atributelor (2)

<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:variable name="dir-imag">imagini</xsl:variable>
<xsl:template match="foto">
<img src="{$dir-imag}/{referinta}" width="{dimen/@lat}"/>
</xsl:template>
</xsl:stylesheet>

Documentul surs XML (ex23.xml):


<?xml version="1.0" encoding="ISO8859-2" ?>
<?xml-stylesheet type="text/xsl" href="ex16.xsl" ?>
<foto>
<referinta>coperta.jpg</referinta>
<dimen lat="200"/>
</foto> 70
Repetarea ntr-un template

Cnd rezultatul are o structur regulat cunoscut, este util s se poat specifica
n mod direct template-ul pentru nodurile selectate. Instruciunea
xsl:for-each conine un template care este instaniat pentru fiecare nod
selectat prin expresia specificat ca valoare a atributului obligatoriu select.
<!-- Categoria: instruciune -->
<xsl:for-each
select = expresie>
<!-- Coninut: (xsl:sort*, template) -->
</xsl:for-each>

Exemplu:
<table border="2" bgcolor="yellow">

<xsl:for-each select="BIBLIO/CARTEA">
<tr><td><xsl:for-each select="AUTOR"><xsl:value-of select="."/><br/>
</xsl:for-each></td>
<td><xsl:value-of select="TITLUC"/></td></tr> 71
</xsl:for-each></table>
Structuri condiionale ntr-un template (1)

Exist dou instruciuni n XSLT care suport prelucrarea condiional ntr-un


template: xsl:if i xsl:choose.
Instruciunea xsl:if realizeaz o condiionare simpl de forma if-then,
genernd sau nu la ieire un fragment XML n funcie de o condiie care se
aplic pe intrare, permite controlul rezultatului de la ieire n funcie de un
pattern.
<!-- Categoria: instruciune -->
<xsl:if
test = expresie-boolean>
<!-- Coninut: template -->
</xsl:if>

Atributul test al elementului xsl:if este o expresie ce are ca rezultat o


valoare boolean.

72
Structuri condiionale ntr-un template (2)

Foaia de stil XSL urmtoare permite afiarea n secven a titlurilor lucrrilor,


dintr-o list bibliografic, fiind separate prin punct i virgul (ex29.xml).

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
<xsl:for-each select="BIBLIO/CARTEA">
<xsl:value-of select="TITLUC"/>
<xsl:if test="position()!=last()">; </xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

73
Structuri condiionale ntr-un template (3)
Instruciunea xsl:choose selecteaz un fragment XML din mai multe
posibile, n funcie de o condiie.
<!-- Categoria: instruciune -->
<xsl:choose>
<!-- Coninut: (xsl:when+, xsl:otherwise?) -->
</xsl:choose>

Instruciunea xsl:choose este constituit dintr-o serie de elemente


xsl:when urmate de un element opional xsl:otherwise.
<xsl:when
test = expresie-boolean >
<!-- Coninut: template -->
</xsl:when>

<xsl:otherwise>
<!-- Coninut: template -->
74
</xsl:otherwise>
Structuri condiionale ntr-un template (4)

Fiecare condiie i template-ul su de ieire asociat sunt oferite printr-un element


fiu xsl:when. Elementul xsl:when are un singur atribut test ce este o
expresie XPath cu o valoare boolean.
Cnd elementul xsl:choose este prelucrat, fiecare dintre elementele
xsl:when este testat pe rnd. Coninutul primului, i numai al primului,
element xsl:when, care prin testare este adevrat, va fi instaniat. Dac nici
unul din elementele xsl:when nu este adevrat, va fi instaniat coninutul
elementului fiu xsl:otherwise.

Prin foaia de stil din exemplul urmtor, asociat documentului XML


biblio.xml, se afieaz lista bibliografic, schimbnd culoarea textului n
funcie de valoarea atributului SUBIECT al elementului CARTEA.

75
Structuri condiionale ntr-un template (5)
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="BIBLIO/CARTEA">
<xsl:choose>
<xsl:when test="@SUBIECT='Web'">
<p style="color:red">
<xsl:call-template name = "prez"/></p>
</xsl:when>
<xsl:when test="@SUBIECT='general'">
<p style="color:blue">
<xsl:call-template name = "prez"/></p>
</xsl:when>
<xsl:when test="@SUBIECT='aplicatii'">
<p style="color:green">
<xsl:call-template name = "prez"/></p>
76
</xsl:when>
Structuri condiionale ntr-un template (6)
<xsl:otherwise>
<p><xsl:call-template name = "prez"/></p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

<xsl:template name="prez" >


<xsl:for-each select="AUTOR">
<I><xsl:value-of select="."/> <xsl:text> </xsl:text></I>
</xsl:for-each><xsl:text> - </xsl:text>
<B><xsl:value-of select="TITLUC"/></B><xsl:text>; </xsl:text>
<xsl:value-of select="EDITURA"/>
<xsl:value-of select="DATAPUB"/>
</xsl:template>

</xsl:stylesheet>
Exemplu 77
Sortarea (1)
Sortarea este specificat prin adugarea elementului xsl:sort ca element fiu
al unuia dintre elementele xsl:apply-templates sau xsl:for-each.
Sintaxa acestei instruciuni este:

<xsl:sort
select = expresie-string
lang = { nmtoken }
data-type = { "text" | "numr" | qname-dar-nu-ncname[1] }
order = { "ascending" | "descending" }
case-order = { "upper-first" | "lower-first" } />

Primul element fiu xsl:sort specific cheia de sortare primar, al doilea


element fiu xsl:sort specific cheia de sortare secundar i aa mai
departe.

78
Sortarea (2)
xsl:sort deine un atribut select a crui valoare este o expresie prin care
se definete cheia utilizat pentru sortarea ieirilor elementului xsl:apply-
templates sau xsl:for-each.
Atributul order indic ordinea de sortare ascendent (ascending) sau
descendent ( descending), valoarea implicit fiind ascending.
Atributul lang indic limba folosit, care se specific printr-un cod, cum ar fi
en pentru limba englez. Dac atributul lang nu este specificat, limba va fi
determinat din mediul sistemului.
Atributul data-type indic tipul datelor irului de caractere, fiind permise
urmtoarele valori:
text cheile de sortare trebuie s fie sortate corect n ordinea lexicografic a limbii
specificate prin atributul lang.
number cheile de sortare trebuie s fie convertite n numere i apoi sortate n funcie de
valoarea lor numeric. n acest caz atributul lang este ignorat.
un qname cu un prefix este rezolvat ca nume extins (expanded-name), prin care se
79
identific tipul datelor.
Sortarea (3)
Atributul case-order poate avea valoarea upper-first sau lower-
first. Acesta se utilizeaz cnd atributul data-type="text" i specific,
n ordonarea ascendent, sortarea caracterelor majuscule naintea celor
minuscule cnd valoarea este upper-first i invers pentru valoarea
lower-first. Fie o foaie de stil (ex31.xml):
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="BIBLIO">
<html><head> <title>Bibliografie</title></head>
<body><h1>Bibliografie</h1>
<table border="2" bgcolor="yellow">
<th>AUTOR</th>
<th>TITLUL </th>
<th>EDITURA</th>
<th>ANUL DE PUBLICARE</th>

80
Sortarea (4)
Exemplul partea a doua (ex31.xml):
<xsl:apply-templates>
xsl:sort select="PRET"/>
</xsl:apply-templates>
</table></body>
</html>
</xsl:template>
<xsl:template match="CARTEA">
<tr><td><xsl:for-each select="AUTOR">
<xsl:value-of select="."/><br/>
</xsl:for-each></td>
<td><xsl:apply-templates select="TITLUC"/></td>
<td><xsl:apply-templates select="EDITURA"/></td>
<td><xsl:apply-templates select="DATAPUB"/></td></tr>
</xsl:template>
</xsl:stylesheet> 81
Sortarea (5)

Pentru a se realiza o sortare corect, va fi nevoie s menionm


atributul data-type cu valoarea number. Instruciunea
xsl:sort va fi (ex31bis.xml):

<xsl:sort data-type="number" select="PRET"/>

82
Sortarea (6)

n anumite situaii este nevoie s se fac ordonarea dup mai multe


criterii. De exemplu, pentru elementele CARTEA dintr-un
document XML este posibil s se fac sortarea att dup anul de
publicare, ct i dup autor. Mai mult, sortarea dup anul de
publicare s fie n ordine descendent. Pentru aceasta n foaia de
stil se vor utiliza dou instruciuni xsl:sort (ex32.xml):

<xsl:sort order="descending" select="DATAPUB"/>


<xsl:sort select="AUTOR"/>

83
Variabile i parametri (1)

O variabil este un nume care poate fi legat de o valoare. Exist


dou elemente prin care se pot defini variabile: xsl:variable
i xsl:param.

<!-- Categoria: element top-level -->


<xsl:variable
name = qname
select = expresie>
<!-- Coninut: template -->
</xsl:variable>

84
Variabile i parametri (2)

<!-- Categoria: element top-level -->


<xsl:param
name = qname
select = expresie>
<!-- Coninut: template -->
</xsl:param>

Att elementul xsl:variable ct i xsl:param au un atribut


name obligatoriu, prin care se specific numele variabilei.

85
Variabile i parametri (3)

Un element pentru definirea variabilei poate specifica valoarea


acesteia prin una din cele trei posibiliti:
Dac elementul pentru definirea variabilei are un atribut select, atunci
valoarea atributului trebuie s fie o expresie i valoarea variabilei este
obiectul care rezult prin evaluarea expresiei. n acest caz coninutul trebuie
s fie vid.
Dac elementul pentru definirea variabilei nu are un atribut select i
coninutul su nu este vid, atunci coninutul reprezint valoarea. Coninutul
reprezint un template, care prin instaniere genereaz valoarea variabilei.
Dac elementul pentru definirea variabilei are un coninut vid i nu are un
atribut select, atunci valoarea variabilei este un ir de caractere vid.

86
Variabile i parametri (4)

Definirea constantelor prin xsl:variable


Denumirea constantelor asigur realizarea unui cod mai simplu,
prin nlocuirea numeroaselor apariii ale aceluiai text printr-un
nume i o referin proprii.
Instruciunea xsl:variable definete numele unei valoari de
tip ir pentru a putea fi utilizat oriunde n foaia de stil ca un
template pentru valoarea atributului. Coninutul elementului
xsl:variable reprezint textul ce va fi nlocuit. Exemplu:
<xsl:variable name="ed">
Editura Economica, 2001
</xsl:variable>
87
Variabile i parametri (5)

Pentru accesarea valorii acestei variabile, este suficient s se


adauge ca prefix caracterul dolar ($) la numele variabilei. Pentru
inserarea ei ntr-un atribut, se utilizeaz un template pentru
valoarea atributului. De exemplu:
<CARTEA PUBLICAT="{$ed}">
</CARTEA>

Se poate utiliza instruciunea xsl:value-of pentru a insera textul ce


nlocuiete variabila n documentul de ieire sub form de text:

<xsl:value-of select="$ed"/>

88
Variabile i parametri (6)

Instruciunile xsl:variable pot fi amplasate ca subelemente


ale elementului rdcin xsl:stylesheet sau pot fi incluse
ntr-o regul template.
O variabil definit la nivelul superior al unei foi de stil poate fi
accesat oriunde n foaia de stil. Aceasta este o variabil global.
Din contr, o variabil care este declarat printr-o regul template
va putea fi accesat numai de elementele de la acelai nivel i cele
descendente. Aceasta este o variabil local. Variabilele locale sunt
prioritare variabilelor globale omonime. Ele au aceeai prioritate cu
alte variabile locale de nivel superior.

89
Variabile i parametri (7)

Transferul parametrilor ctre template se face prin elementul


xsl:with-param.
<xsl:with-param
name = qname
select = expresie>
<!-- Coninut: template -->
</xsl:with-param>

Atributul obligatoriu name specific numele parametrului (variabila a


crei valoare trebuie s fie nlocuit).

90
Variabile i parametri (8)

De exemplu, presupunem c vrem s realizm o legtur ctre un


fiier particular care s conin cuprinsul pentru fiecare titlu al unui
cri i o alt legtur ctre un al doilea fiier pentru prezentarea
editurii. Rezultatul s fie sub forma:

<td><font face="Times, serif" color="blue" size="2">


<b><a href="Titluri.html">Arhitectura</a></b>
</font></td>
<td><font face="Times, serif" color="blue" size="2">
<b><a href=Edituri.html">Economica</a></b>
</font></td>

91
Variabile i parametri (9)

Foaia de stil urmtoare rezolv cerinele impuse (ex33.xml):


<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="BIBLIO">
<html><head> <title>Bibliografie</title> </head>
<body><h2>Bibliografie</h2>
<table border="2" bgcolor="yellow">
<th>AUTOR</th>
<th>TITLUL </th>
<th>EDITURA</th>
<xsl:apply-templates />
</table>
</body>
</html>
</xsl:template> 92
Variabile i parametri (10)

<xsl:template match="CARTEA">
<tr><td><xsl:for-each select="AUTOR">
<xsl:value-of select="."/><br/>
</xsl:for-each></td>
<xsl:apply-templates select="TITLUC"/>
<xsl:apply-templates select="EDITURA"/>
</tr>
</xsl:template>
<xsl:template match="TITLUC">
<xsl:call-template name="y">
<xsl:with-param
name="file">Titluri.html</xsl:with-param>
</xsl:call-template>
</xsl:template>

93
Variabile i parametri (11)

<xsl:template match="EDITURA">
<xsl:call-template name="z">
<xsl:with-param
name="dest">Edituri.html</xsl:with-param>
</xsl:call-template>
</xsl:template>

<xsl:template name="y">
<xsl:param name="file">x.html </xsl:param>
<td> <font face="Times, serif" color="blue" size="3">
<b>
<a href="{$file}"><xsl:value-of select="."/></a>
</b>
</font></td>
</xsl:template>
94
Variabile i parametri (12)

<xsl:template name="z">
<xsl:param name="dest">x.html </xsl:param>
<td> <font face="Times, serif" color="blue" size="3">
<b>
<a href="{$dest}"><xsl:value-of select="."/></a>
</b>
</font></td>
</xsl:template>
</xsl:stylesheet>

95
Transformarea documentelor XML
Transformarea XSLT pe calculatorul clientului (ex4_htm.html )
browser IE

<html>
<body>
<script language="javascript">
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load(EX3_htm.xml")
// Load the XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(EX3_htm.xsl")

// Transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html> 96
Transformarea documentelor XML

Coninutul fiierului ex3_htm.xml


<?xml version="1.0" encoding="ISO8859-2" ?>
<tari>
<titlul>Imagini din Europa</titlul>
<tara>
<denumirea>Frana</denumirea>
<oras>Paris </oras>
<foto>
<referinta>Paris.jpg</referinta>
<dimen lat="242"/>
</foto>
</tara>
......
</tari>

97
Transformarea documentelor XML

Coninutul fiierului ex3_htm.xsl


<xsl:stylesheet version="1.0 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Declararea ca documentul este o foaie de stil si i s-a asociat un domeniu de nume -->
<xsl:variable name="dir-imag">imagini</xsl:variable>
<xsl:template match="/">
<!-- Se aplica o regula template elementului radacina al documentului XML-->
<html>
<body>
<!-- Se creeaza un document HTML prin inserarea tag-urilor HTML -->
<H1 style="text-align:center">
<xsl:value-of select="tari/titlul"/>
<!-- "value-of" ia textul din nodul specificat prin atributul "select" -->
</H1>
<table border="1" bgcolor="yellow" width="50%" align ="center">
<xsl:for-each select="tari/tara">
<xsl:if test="position() mod 2 =1">
<tr align ="center" bgcolor="teel">
<td width="30%"><b> <xsl:value-of select="denumirea"/> <br/>
<i><xsl:value-of select="oras"/></i>
</b></td>
<td><xsl:apply-templates select="foto"/></td>
</tr>
</xsl:if>

98
Transformarea documentelor XML

Coninutul fiierului ex3_htm.xsl (continuare):

<xsl:if test="position() mod 2 =0">


<tr align ="center">
<td width="30%"><b> <xsl:value-of select="denumirea"/> <br/>
<i><xsl:value-of select="oras"/></i>
</b></td>
<td><xsl:apply-templates select="foto"/></td>
</tr>
</xsl:if>

</xsl:for-each>
<!-- Se inchide ciclul "for-each" -->

</table>
</body>
</html>
</xsl:template>
<!-- Se inchide tag-ul "template" -->

<xsl:template match="foto">
<img src="{$dir-imag}/{referinta}" width="{dimen/@lat}"/>
</xsl:template>
</xsl:stylesheet>
99
Transformarea documentelor XML

Rezultatul transformrii:

100
Transformarea documentelor XML

Transformarea XSLT pe server prin ASP (ex3.asp)- fiierele


ex3.xml, ex3.xsl i ex3.asp sunt n acelai director.
<%
'ncarc XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("ex3.xml"))

'ncarc XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("ex3.xsl"))

Response.Write(xml.transformNode(xsl))
%> 101
Transformarea documentelor XML

Transformarea XSLT pe server prin ASP.NET (ex3.aspx)


<html>
<body>
<asp:xml id="MyXmlDoc" documentsource=ex3.xml
transformsource=ex3.xsl" runat="server">
</asp:xml>
</body>
</html>

102
Bibliografie

Nstase FL., Nstase P., Tehnologia aplicaiilor web, Ed.


Economic, 2002
XSLT, XSL-FO : www.w3.org/TR/xslt
XPath: www.w3.org/TR/xpath
XML: www.w3.org/TR/REC-xml
http://www.freeformatter.com/xpath-tester.html#xpath-examples
http://www.balisage.net/Proceedings/vol5/html/Kay01/Balisage
Vol5-Kay01.html

103
Informatic Economic

Feed-uri Web

Prof. univ. dr. Fl. NSTASE

1
Cuprins

Ce sunt feed-urile web?


Ce este RSS?
Avantajele RSS
Pentru ce este utilizat RSS?
Cititoare RSS
Cum se creaz fluxuri RSS?

2
Ce sunt feed-urile web?

Un flux Web este reprezentat de un format de date, fiind utilizat pentru a furniza
utilizatorilor coninut actualizat n mod frecvent.

Feed-urile sunt items (elemente/intrri) ale unui coninut real i sunt produse de
autori web;

Un flux web este un document n care item-urile includ legturi web ctre sursa
coninutului;

Prin fluxurile web nu se cere utilizatorului s viziteze site-ul / resursa de la care


provine coninutul;

n mod normal, fluxurile web utilizeaz XML pentru structurarea datelor.


3
Ce sunt feed-urile web?

Fluxurile web sunt utile pentru site-urile web care sunt actualizate
n mod frecvent, cum ar fi:
site-uri de tiri: lista tirilor - titlurile i o scurt descriere;
site-uri ale companiilor:
o lista cu informaii despre produse noi;
o lista cu actualizarea preurilor unor servicii/produse;
o comunicate despre afacere (contracte, inovaii, achiziii, evenimente
etc.).

4
Ce sunt feed-urile web?

Fluxurile web constituie modalitatea de a partaja coninut din


site-uri de tiri i blog-uri, dar i filme i informaii audio (de
exemplu fiiere n format .mp3);
Feed-urile web sunt de asemenea folosite pentru a furniza
informaii structurate, cum ar fi informaiile meteorologice;
RSS i Atom sunt cele mai populare formate pentru fluxurile
web n uz.
RSS, ct i Atom, se utilizeaz, n mod frecvent, pentru
furnizarea unui flux sindicalizat de coninut: un fiier
interpretabil de calculator, care permite site-urilor web s-i
partajeze coninutul lor cu alte aplicaii ntr-un mod standard. 5
Ce sunt feed-urile web?

Exemplu de feed RSS


(Sursa: http://www.cotidianul.ro/;

6
Ce sunt feed-urile web?

Exemplu de feed RSS (cod surs)


7
(Sursa: http://www.cotidianul.ro/rss/)
Ce sunt feed-urile web?

Documentul RSS conine:


Declaraia XML, respectiv declaraia RSS
Elementul channel utilizat pentru descrierea fluxului RSS - include
elementele fiu:
title - definete titlul canalului (Cotidianul Stiri)
link - definete URL pentru canal (http://www.cotidianul.ro/rss/General.xml)
description - o scurt descriere a canalului (General Cotidianul.ro)
i elemente opionale:
pubDate - data publicrii
language - limba n care este scris coninutul canalului
webMaster - adresa de email pentru persoana responsabil cu
afiarea coninutului
copyright - Copyright pentru coninutul canalului. 8
Ce sunt feed-urile web?

Documentul RSS conine (continuare):


Fiecare articol este specificat prin elementul item (element fiu
al elementului channel)care include elementele:
title titlu articolului
link URL-ul articolului
description un rezumat al articolului
Opional, elementul item mai poate conine elementele:
author
category
pubDate
source etc.
9
Ce sunt feed-urile web?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="http://your_own_domain.net/your_xslt.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>http://your_own_domain.net/atom.xml</id>
<title>Title of Your Atom Feed</title>
<updated>2007-01-01T00:00:02Z</updated>
<link rel="self" href="http://your_own_domain.net/atom.xml" type="application/atom+xml" />
<author>
<name>Your Own Name</name>
<uri>http://your_own_domain.net</uri>
Exemplu de feed <email>you@wherever.com</email>
ATOM </author>
(Sursa: http://starling.us/atom/ ) <entry>
<title>Some Title</title>
<category term="Some Category"/>
<id>http://your_own_domain.net/some/path/whatever.html</id>
<published>2007-01-01T00:00:00Z</published>
<updated>2007-01-01T00:00:00Z</updated>
<link href="http://your_own_domain.net/some/path/whatever.html"/>
<summary>Some few details here.</summary>
<content>A somewhat more detailed, but still none-too-lengthy excerpt from the linked-to document
here.
</content>
</entry>
10
</feed>
Ce sunt feed-urile web?

Exemplu de feed ATOM


(Sursa: https://en.wikipedia.org/wiki/Atom_(standard) ) 11
Ce sunt feed-urile web?

Metoda de distribuire a fiierelor multimedia (de obicei, fiiere


audio, dar i video) pe Internet, prin folosirea formatelor de
sindicalizare a coninutului este denumit podcasting.
Formatul RSS permite ataarea unui fiier multimedia la o intrare
ntr-un feed RSS. Un fiier este asociat cu o intrare n feed. Spre
deosebire de ataamente e-mail, podcasting transport numai URL-
ul fiierului, datele nu sunt ncorporate n feed.

<item>
<title>Radio Show Episode 1</title>
<enclosure
url="http://yourwebsite.com/podcasts/Episode1.mp3"
length="132212" type="audio/mp3" />
<pubDate>Wed, 15 Jan 2007 19:00:00 GMT</pubDate>
</item> 12
Ce este RSS?

RSS este o familie de formate pentru fluxuri web, folosite


pentru a publica materiale frecvent actualizate, cum ar fi
posturile unui blog, titluri de tiri, audio i video ntr-un format
standardizat;

Cu toate c formatele RSS au nceput s se dezvolte nc din


martie 1999, ele s-au fcut cunoscute n perioada 2005 - 2006,
cnd a au fost utilizate pe scar larg.

Formatul RSS are asociat pictograma:

13
Ce este RSS?

RSS s-a dezvoltat ca un format folosit de multe site-uri pentru


distribuire de tiri i informaii. De la Facebook i Twitter, la CNN i
BBC, toate site-urile moderne ofer coninut dinamic, prin
intermediul feed-uri RSS, pentru consumul public.

14
Ce este RSS?

RSS este un acronim pentru:

Rich Site Summary (RSS Version 0.9)

RDF (Resource Description Framework) Site Summary (RSS Version


1.0)

Really Simple Syndication (RSS Versions 2.0, 2.0.1 and 0.9x)

Feed-urile RSS permit site-urilor web s publice rezumate ale


coninutului lor ntr-un format care este simplu de utilizat.

15
Ce este RSS?

RSS este un protocol care ofer o metod deschis pentru


sindicalizarea i agregarea de coninut Web.
RSS este un standard pentru publicarea actualizrilor regulate
ale coninutului web.
RSS este un standard de sindicalizare bazat pe fiiere de tip
XML rezidente pe un server din Internet.
RSS este o aplicaie XML, n conformitate cu specificaiile
W3C.
RSS este un mijloc de comunicare.

16
Avantajele RSS

Pentru utilizatorii /abonaii fluxurilor RSS:


alegerea feed-urilor la care se aboneaz;

au acces la coninut web actual prin fluxuri continue;

toate tirile la un singur loc: posibilitatea de scanare rapid a mai multor


fluxuri de coninut i accesarea elementelor de interes (agregarea); prin
abonarea la mai multe grupuri de tiri i personalizarea software-ului de
citire, astfel nct toate tirile s fie afiate pe o singur pagin - se face
economie de timp;

republicarea uoar pentru cei care au calitatea de abonat i editor; de


exemplu, este posibil ca printr-un site Web s se colecteze tiri de pe
diverse site-uri i apoi s fie republicate. RSS capteaz cu uurin
informaii care pot fi afiate n propriul site.
17
Avantajele RSS

Pentru utilizatorii /abonaii


fluxurilor RSS
(sursa: https://feedity.com/about.aspx) :

18
Avantajele RSS

Pentru furnizorii de fluxuri RSS:


creterea traficului pe site: un flux RSS include ntotdeauna legtura ctre
site-ul Web care l genereaz;
contientizarea brand-ului de site;
poate ajuta la poziionarea site-ului prin motoarele de cutare;
poate ajuta la stabilirea de relaii ntr-o comunitate de site-uri;
mbuntete relaia site / utilizator;
exist sigurana c fluxul RSS va ajunge la abonai: fluxurile RSS nu sunt
condiionate de filtrele de spam-uri.
Pentru Internet - va fi tot mai bogat, se vor mpune tehnologiile
semantice.
19
Pentru ce este utilizat RSS?

Iniial prin RSS erau listate titlurile de tiri;


Cum popularitatea RSS a crescut, utilizarea sa a fost extins. Utilizrile
comune pentru RSS includ:
blog-uri - rezumate ale posturilor
buletine de tiri rezumate ale buletinelor informative prin care abonaii sunt
ntiinai c un nou buletin este disponibil
alerte meteo - notificarea despre evoluia unor condiii meteo severe (temperaturi
ridicate/sczute, vijelii, inundaii )
anunuri de pres despre noile articole din pres
oferte speciale sau reduceri - oferte sptmnale sau oferte de discount pentru
clienii
calendare - lista cu programarea unor evenimente viitoare, termene sau date ale
srbtorilor 20
Pentru ce este utilizat RSS?

Utilizrile comune ale fluxurilor RSS, specifice unor domenii de


activitate, includ:
industria serviciilor - notificarea de virui sau alerte de securitate

agenii imobiliare - prin fed-urile oferite se actualizeaz listele cu noile case


de pe pia

coli - listarea temelor de cas

licitaii - noile obiecte ce vor fi licitate

restaurante anunarea unor meniuri speciale pentru masa de prnz sau cin

legislaie cele mai noi legi promulgate

21
Pentru ce este utilizat RSS?

De exemplu, The Economic Times (http://economictimes.indiatimes.com/rss.cms) ofer


spre utilizare o serie de fluxuri RSS.

22
Utilizare RSS

(sursa: https://trends.builtwith.com/feeds/RSS) 23
Utilizare RSS

(sursa: https://trends.builtwith.com/feeds/RSS) 24
Utilizarea de feed-uri

(sursa: https://trends.builtwith.com/feeds/RSS) 25
Cititoare RSS

Multe site-uri ofer fluxuri RSS, care pot fi identificate printr-o iconi
de tipul sau n cadrul site-ului (Feed RSS sau Feed XML) sau o
iconi n bara de adres:

Pentru accesarea unui flux RSS este nevoie de un cititor sau un agregator
RSS.
Cititorul/ agregatorul RSS face legtura la fiierul RSS de pe site i-l
descrc;
Cititorul red fiecare dintre intrrile fluxului ca un titlu separat i un
rezumat al coninutului, completat cu o legtur.
Majoritatea cititorilor RSS vor scana continuu fiecare feed RSS la care
exist abonament, pentru a informa utilizatorul despre coninutul nou
gsit. 26
Cititoare RSS

Cititorul RSS poate fi o aplicaie instalat pe calculator sau o aplicaie


web pe un site din Internet, cum ar fi:
Google Reader (https://www.google.com/reader)
Netvibes (http://www.netvibes.com/)
Bloglines (http://www.bloglines.com/)

27
Cititoare RSS

FeedDemon este un cititor RSS disponibil pe platformele


Windows, cu o interfa uor de utilizat. FeedDemon este dezvoltat
n Delphi.

28
Cititoare RSS

FeedReader este o soluie pentru agregarea tirilor RSS, ofer un


mediu intuitiv i prietenos utilizatorilor.

29
Cititoare RSS

Lista de RSS Reader (http://www.rss-readers.org/list-of-rs-feed-reader/) 30


Creare flux RSS

Software-ul pentru crearea RSS este o familie de programe care


permit generarea de feed-uri RSS i publicarea lor automat pe un
server web. Exemple:
RSS Feed Creator (http://www.jitbit.com/rss-feed-creator/) se folosete
pentru editarea feed-urilor RSS sub Windows, permite utilizatorilor s
creeze fluxuri RSS i podcasturi. Prin RSS Feed Creator se pot descrca i
modifica feed-uri existente i publica feed-uri RSS pe server-ul web.

31
Creare flux RSS

Exemple:
www.feedburner.com - serviciu pentru creare de feed-uri online
FeedForAll (http://www.feedforall.com/feedforall-mac.htm) creare de
feed-uri RSS pe sistemele Mac
RSS Channel Writer (http://www.rsschannelwriter.com/) se utilizeaz
pentru crearea, editarea i trimiterea de feed-uri RSS, avnd o interfa uor
accesibil; necesit Windows 2000/XP/2003/Vista/7 i Microsoft .NET
Framework 2.0.

32
Creare flux RSS

Feedity (http://feedity.com/) poate crea un feed RSS pentru orice pagin


web

33
Creare flux RSS

34
Creare flux RSS

Feed-ul obinut cu Feedity pentru pagina de la adresa www.revistaie.ase.ro


35
Creare flux RSS

Feed Editor (http://www.extralabs.net/ ) are o serie de


capabiliti:
opereaz cu diverse formate RSS;
import textul din fiiere CSV (Comma Separated Values) i HTML;
asigur asistena la editarea codului HTML;
editarea de XML i imagini;
vizualizarea i publicarea pentru fluxuri RSS;
capacitatea de a exporta RSS n HTML, JavaScript i CSV.

36
Creare flux RSS

Fereastra din Feed Editor

37
Bibliografie

http://www.w3schools.com/rss/default.asp
http://www.mnot.net/rss/tutorial/
http://www.rsscreation.com/
http://atomenabled.org/developers/protocol/

38
Prof. univ. dr. Fl. NSTASE
Cuprins

Introducere
Prezentare ebXML
Arhitectura ebXML

2
Introducere

Framework-urile pentru integrarea afacerilor sunt:


soluii generice care ofer mecanismele de comunicare ntre
sistemele informatice ale organizaiilor i
asigur standardizarea protocolului B2B.
EDI (Electronic Data Interchange): una din primele soluii pentru
inegrarea afacerilor, se mai utilizeaz i n prezent.
Dezvoltarea standardului XML (Extensible Markup Language) a
determinat lansarea unei serii de proiecte pentru integrarea afacerilor
prin tehnologia XML.
Noile soluii se refer, n principal, la integrarea afacerilor
electronice. 3
Introducere

Soluiile standardizate vor fi:


acceptate de comuniti i
evaluate de experi din domeniul considerat.
Prin utilizarea standardelor, organizaiile pot reduce costurile
i protejeaz investiiile lor n tehnologie.
Prin intermediul standardelor se creaz condiiile pentru
interoperabilitate.

4
Introducere

Un framework tipic pentru afaceri electronice se concentraz


asupra unora din aspectele:
Documente: generarea unui vocabular de termeni care vor fi
folosii n documentele de afaceri i n structura acestor
documente;
Procese: se vor specifica rolurile partenerilor, ce documente
de afaceri se schimb i n ce ordine;
Livrarea mesajelor: descrie cum sunt mpachetate i
transferate mesajele, incluznd facilitile de fiabilitate i
securitate.
5
Introducere

Exist o serie de iniiative pentru dezvoltarea framework-urilor n afacerile


electronice, de exemplu:
Framework-uri pentru industrii ncruciate:
cXML (commerce XML) - http://cxml.org/, este creat de Ariba n 1999,
destinat comunicrii documentelor de afaceri ntre aplicaii de achiziie, hub-
uri de e-commerce i furnizori. cXML se bazeaz pe XML i furnizeaz
scheme XML formale pentru tranzacii comerciale standard. Cele mai utilizate
tipuri de documente cXML sunt:
cataloage pentru descrierea produselor i serviciilor;
PunchOut protocol care permite comunicarea ntre aplicaii, asigurnd
interaciunea site-urilor de la distan;
comenzi de aprovizionare.
Documentele cXML sunt validate prin Document Type Definitions (DTDs), care
descriu sintaxa i ordinea elementelor XML.
6
Introducere

Framework-uri pentru industrii ncruciate (continuare):


OAGi (Open Applications Group Incorporated), fondat n 1994, menine
OAGIS (Open Application Integration Group Specification) care se
concentreaz pe dezvoltarea de standarde pentru interoperabilitate (B2B,
ntreprinderi, aplicaii mobile i n cloud)
Pentru realizarea interoperabilitii ntre sisteme, companii i lanuri de valori,
trebuie s existe o arhitectur a mesajelor care ofer un sens i abordare comun
pentru interaciunea proceselor de afacere.
Astfel, se vor identifica mesajele sau BODs (Business Object Documents) pentru un
scenariu care se potrivete cel mai bine nevoilor de integrare. Scenariul se refer la
un proces de afacere, iar BODs sunt mesajele asociate unui scenariu.
De exemplu, interfeele de serviciu pentru WebSphere Commerce sunt definite
utiliznd structura mesajului OAGIS.
7
Introducere

Framework-uri pentru industrii ncruciate (continuare):


xCBL (XML Common Business Library): xCBL 4.0, lansat n 2003, era
destinat s susin toate documentele eseniale pentru e-commerce la nivel
mondial, inclusiv automatizarea lanului de aprovizionare pentru companii
multiple, achiziii directe i indirecte, planificare, licitaii, facturare i plata
ntr-un mediu internaional. CBL 4.0 a fost furnizat ca un fiier arhiv ZIP,
care coninea schemele XML.
Framework-urile prezentate ofer vocabulare de afaceri care pot fi utilizate la
integrarea ntreprinderilor. Ele nu se concentreaz pe definirea proceselor i
livrarea mesajelor.

8
Introducere

Framework-uri specifice unui domeniu industrial:


RosettaNet (https://resources.gs1us.org/) - filial a GS1 din SUA:
standardele RosettaNet ofer un mod eficient de a realiza comer
colaborativ pentru organizaiile de orice dimensiune, din orice parte
a lumii.
Dicionarul Tehnic RosettaNet (RosettaNet Technical Dictionary - RNTD) ofer
proprieti comune pentru definirea proceselor de interfa cu partenerii (Partner
Interface Processes - PIP).
Dicionarul tehnic, mpreun cu dicionarul de afaceri RosettaNet, ofer un
vocabular comun pentru efectuarea de e-business, eliminnd confuzia n
procesul de achiziie, ca urmare a terminologiei definite n mod unic pentru
companii.
9
Introducere

Biblioteca de standarde RosettaNet


(sursa: https://resources.gs1us.org/RosettaNet-Standards/Standards-Library/PIP-Directory) 10
Introducere

Framework-uri specifice unui domeniu industrial (continuare):


papiNet (http://www.papinet.org/): ofer vocabulare specifice industriei
forestiere i a hrtiei, definirea de procese i specificaii pentru
mesagerie.

11
Introducere

Framework-uri centrate pe procese:


BPML (Business Process Modeling Language),
ebXML (electronic business XML) i
XPDL (XML Process Definition Language),
Sunt focalizate n special pe procesele de afaceri. Dintre acestea,
numai ebXML se adreseaz clar integrrii B2B.

12
Prezentare ebXML

Iniiativa ebXML a fost lansat n 1999 de:


OASIS (Organization for the Advancement of
Structured Information Standards)
UN/CEFACT (United Nations Centre for Trade
Facilitation and Electronic Business)

13
Prezentare ebXML

Organigrama proiectului ebXML


Prezentare ebXML

Scopul proiectului ebXML:


s ofere un cadru tehnic deschis bazat pe XML;
XML-ul s fie utilizat ntr-o manier consistent i uniform
pentru schimbul datelor ntre afacerile electronice (aplicaie-
la-aplicaie, aplicaie-la-operator uman, operator uman-la-
aplicaie).

Prin ebXML s se creeze o pia electronic global


15
Prezentare ebXML

Proiectul ebXML a fost lansat pentru a permite


ntreprinderilor, indiferent de:

mrime i
localizare geografic,

s realizeze tranzacii comerciale ntr-o manier simpl,


economic i fiabil.

16
Prezentare ebXML

Pentru a rspunde obiectivelor fixate, ebXML a dezvoltat un


ansamblu de principii generale, pe plan funcional i tehnic:
s permit conducerea operaiilor de afaceri ntr-o manier simpl i universal
(prin XML);
s utilizeze specificaiile tehnice XML - W3C;
s ofere un standard global deschis, interoperabil pentru schimburile business-to-
business i business-to-consumer;
s reuneasc componentele de structur i coninut ale diferitelor iniiative XML
ntr-un singur standard XML, aplicabil ansamblului de relaii de afaceri;
s ofere o dinamic iniial suficient, astfel nct resursele comune angajate n
realizarea de soluii verticale pe termen scurt s poat fi mobilizate pentru
dezvoltarea de soluii orizontale viabile pe termen lung;
17
Prezentare ebXML

Pentru a rspunde obiectivelor fixate, ebXML a dezvoltat un


ansamblu de principii generale (continuare):
s evite soluiile proprietare care influeneaz libertatea de alegere financiar i software
a utilizatorilor ebXML (dac sunt soluii unice, utilizatorii vor fi obligai s cumpere i
s instaleze aceste produse software ebXML pentru a conduce bine schimburile
informaiilor de afaceri);
s reduc cheltuielile pentru promovarea afacerilor electronice;
s ofere suport multi-lingv;
s fie n concordan cu cerinele i specificaiile naionale i internaionale pentru
afaceri;
s ofere o cale de migrare de la EDI i pentru dezvoltarea standardelor de afaceri XML;
s se aplice, cnd este posibil, principiile simplificate ale cerinelor de afaceri.
18
Prezentare ebXML

ebXML este bazat pe standarde internaionale:


specificaiile tehnice ale W3C cu referire la XML
specificaiile din domeniul Web:
HTTP;
TCP/IP;
MIME;
SMTP;
FTP;
UML (Unified Modeling Language);
SOAP.

La rndul su, ebXML a generat standarde internaionale.


19
Prezentare ebXML

Utilizarea tehnologiei ebXML n afacerile electronice globale era n continu


cretere.

Evoluia tehnologiilor de e-Business pna n anul 2010


20
Prezentare ebXML

Compararea adoptrii ebXML pe regiuni/domenii de activitate (22 decembrie 2003)


Prezentare ebXML

n Europa scenariul pentru e-Business este definit prin utilizarea serviciului


de mesagerie UN/CEFACT EDIFACT i a altor standarde tradiionale.
Europa a considerat mesajele EDIFACT ca suport pentru ebXML.
Europa a sponsorizat cu sume semnificative cercetrile ebXML si acum este
centrul pentru continuarea lucrului la arhitectura tehnic pentru e-Business.
n Uniunea European a fost recunoscut rolul vital pe care ebXML l poate
avea pentru standardizarea interschimbrilor dintre rile membre i au fost
promovate o serie de iniiative - de exemplu, IHE (Integrating the
Healthcare Enterprise) pentru dezvoltarea interoperabilitii sistemelor din
sntate.
ntre America de Nord i Europa exist cooperri comerciale semnificative
al cror rezultat a constat n adoptarea de specificaii care au la baz XML,
de exemplu intra-banking SWIFT, specificaiile din domeniul transportului
OTA i UCC i EAN care au folosit tehnologiile ebXML. 22
Prezentare ebXML

Sursa: http://www.ihe.net/IHE_Process/ 23
Prezentare ebXML
NHN - National Hospital
Pharmacy 1 Network

Pharmacy 2
XML/ebXML RTV - radio and
television broadcasting
Pharmacy n Internet
SMTP

XML/ebXML
Doctor 1 ebXML/PKI RTV
NHN SMTP
Doctor 2
SMTP
Doctor n

Hospital 1

Hospital 2 EDIFACT/ebXML
Hospital n

Arhitectura infrastructurii pentru interoperabilitatea din sntate


Prezentare ebXML

n 29 martie 2004 ISO (International Standards Organization) a aprobat patru


standarde OASIS ebXML care permit ntreprinderilor din orice industrie, de orice
mrime i oriunde ar fi localizat geografic s conduc afacerea prin Internet.
Propunerile OASIS au fost publicate ca specificaii tehnice ISO, ISO/TS
(technical specifications) 15000. n prezent, lista standardelor ebXML conine:
ISO/TS 15000-1:2004 Partea 1 - ebCPP (Collaboration-Protocol Profile and
Agreement Specification)
ISO 15000-2:2004 Partea 2 - ebMS (Messaging Service Specification)
ISO 15000-3:2004 Partea 3 - ebRIM (Registry Information Model Specification)
ISO 15000-4: 2004 Partea 4 - ebRS (Registry Services Specification)
ISO 15000-5:2005 Partea 5: ebCCTS (Core Components Technical Specification,
Version 2.01)
25
Prezentare ebXML

ebXML ofer metodele standard pentru:


definirea i nregistrarea proceselor de afaceri
schimbul mesajelor de afaceri
conducerea relaiilor de afaceri
comunicarea datelor n termeni standard
asamblarea tranzaciilor de afaceri
ebXML prin setul de specificaii acoper aspectele cheie pentru colaborarea
n afaceri:
semantica afacerilor
termenii de colaborare i condiiile
securitatea i confidenialitatea
fiabilitatea 26
Prezentare ebXML

ebXML suport dou tipuri de informaii de afaceri:


meta-date
documente de afaceri care definesc entiti i procese

ebXML utilizeaz Internetul pentru transportul mesajelor

27
Prezentare ebXML

Specificatiile ebXML sprijin schimbul de mesaje de afaceri necesare pentru


desfurarea relaiilor de afacere n mediul electronic ntre partenerii de afaceri, prin
utilizarea coordonat a cinci tehnologii cheie importante pentru eBusiness:
Comunicarea de date n termeni comuni prin utilizarea unei metodologii definite
(Core Components)
Definirea proceselor de afaceri i asamblarea tranzaciilor de afaceri (ebXML
Business Process Specification Schema, ebBP)
Furnizarea de transport sigur i fiabil (ebXML Messaging Service, ebMS)
nregistrarea i punerea la dispoziie de artefacte i servicii de eBusiness cheie
(ebXML Registry Services, ebRS i Registry Information Model, ebRIM)
Asigurarea unui contract pentru configurarea tehnic ntre partenerii de afaceri
(Collaboration Protocol Profile and Agreements, CPP/CPA)
28
Prezentare ebXML

Un scenariu ebXML
(sursa: Multiple Messaging Services Profile for ebMS 3.0, RosettaNet) 29
Arhitectura ebXML

Principalele elemente conceptuale ale ebXML sunt :


un mecanism standard pentru descrierea proceselor de afaceri (Business
Process) i modelul informaional asociat;
un mecanism pentru nregistrarea i memorarea proceselor de afaceri i a meta-
modelelor informaionale, astfel nct acestea s poat fi partajate i reutilizate;
descoperirea informaiilor despre fiecare participant incluznd:
procesele de afaceri suportate;
interfeele de servicii ale afacerilor (Business Service Interfaces) oferite ca suport
pentru procesele de afaceri;
mesajele de afaceri (Business Messages) care pot fi schimbate ntre interfeele de
servicii ale afacerilor;
configurarea tehnic a protocoalelor pentru transportul, securitatea i codificarea
informaiilor; 30
Arhitectura ebXML

Principalele elemente conceptuale ale ebXML sunt (continuare):


un mecanism pentru descrierea execuiei procedurilor de colaborare mutual
(Collaboration Protocol Agreement - CPA);
un serviciu standardizat de mesagerie (Messaging Service), care s permit
interoperabilitatea, securitatea i flexibilitatea schimbului de mesaje ntre
partenerii de afaceri;
un mecanism de configurare a serviciului de mesagerie n concordan cu
restriciile cerute de parteneri.

31
Arhitectura ebXML
Arhitectura ebXML

Conform metodologiei de modelare, o tranzacie de e-Business poate fi descompus


n dou viziuni:
operaional (Business Operational View - BOV) se refer la:
semantica datelor interschimbate cu ocazia tranzaciilor de afacere;
arhitectura tranzaciilor, incluznd: conveniile operaionale, aranjamentele, acordurile,
obligaiile i cerinele mutuale.
funcional (Functional Service View - FSV) este direcionat spre aspectele
referitoare la tehnologia informaiei:
posibilitile funcionale pentru implementarea, derularea i execuia scenariilor;
interfeele de serviciu ale afacerilor (Business Service Interfaces) referitoare la
transferul datelor i interactivitatea cu utilizatorii;
protocoalele i serviciile de mesagerie pentru interoperabilitatea ntre partenerii de
afaceri.
33
Arhitectura ebXML

Viziunea operaional
Arhitectura ebXML

Viziunea funcional
Arhitectura ebXML

Faza de implementare se ocup n mod special cu procedurile de


creare a unei infrastructuri de aplicaie ebXML:
Cel care dorete s dezvolte o aplicaie de afacere trebuie,
n primul rnd, s achiziioneze o copie a specificaiilor
ebXML.
Apoi, va trebui s ncarce biblioteca principal (Core
Library) i biblioteca afacerilor (Business Library).
El poate solicita, pentru analiz, informaii privind
procesele de afaceri ale unui alt partener i totodat poate
emite informaii despre propriile procese de afaceri ctre un
registru de afaceri.
36
Arhitectura ebXML

Viziunea funcional faza de implementare


Arhitectura ebXML

Dup ce a fost implementat o interfa de serviciu de afacere,


se poate trece la faza de descoperire i regsire a resurselor
ebXML necesare.
Metoda utilizat poate fi consultarea profilului protocolului de
colaborare al unui alt partener.
Aceasta este faza n care partenerii de afaceri se descoper
unii pe alii.

n faza de execuie, pe baza scenariilor ebXML are loc schimbul


de mesaje ntre partenerii de afaceri prin intermediul serviciului de
mesagerie ebXML.
38
Arhitectura ebXML

Viziunea funcional faza de descoperire i regsire


Arhitectura ebXML

Descoperire BP

Nu Nu Document pentru noul


BP n BP similar
catalog? model BP care trebuie
n catalog?
adugat n baza de date
Da Da

Nu Document pentru noua


Context
diferit? variant care
trebuie rezolvat
Da

Descoperire CC Document pentru noul


context care
trebuie adugat

Descoperirea unui proces de afacere


Arhitectura ebXML

Pentru dezvoltarea afacerilor de tip e-Business este nevoie de un


mecanism de publicare :
a informaiilor despre afacere
a detaliilor de implementare tehnologic privind schimbul de informaii.
Soluia: utilizarea unui profil de protocol colaborativ (Collaborativ
Protocol Profile - CPP) - document ce exprim cerinele proceselor
de afaceri i interfaa serviciului

41
Arhitectura ebXML

CPP-ul conine informaii eseniale despre:

partenerul de afaceri cum sunt: informaii de contact, locul pe care-l


ocup n domeniu (n funcie de o clasificare naional sau mondial);
procesele de afaceri suportate;
interfeele cerute;
serviciul de mesagerie utilizat.

Poate conine detalii de securitate i implementare specifice.


Prin negocierea de CPP-uri rezult un contract privind protocolul de
afacere (Collaboration Protocol Agreement - CPA).

42
Arhitectura ebXML

43
Arhitectura ebXML

Implementarea unei afaceri prin ebXML necesit modelarea n


detaliu a scenariului de derulare a acesteia. Un proces de afacere
descrie:
rolul fiecrui partener;
relaiile i responsabilitile dintre acetia;
schimbul de documente electronice - fiind expresia interaciunii ntre
partenerii de afacere.

44
Arhitectura ebXML

Schema specificaiilor proceselor de afaceri ebXML este


disponibil n dou forme de reprezentare:
versiunea UML - o diagram a claselor UML;
versiunea XML - ofer specificaia pentru instanele ce au la baz
XML.

Versiunile UML i XML sunt asociate fr ambiguiti una


la cealalt.
Metodologia de modelare UN/CEFACT - UMM este
utilizat pentru modelarea proceselor i informaiilor.
45
Arhitectura ebXML

Diagrama UML pentru un rspuns simplu


46
<?xml version="1.0" encoding="UTF-8"?>
<OrderResponseSimple ... >
<ID>1</ID>
<cbc:IssueDate>2003-02-03</cbc:IssueDate>
<AcceptedIndicator>true</AcceptedIndicator>
<cac:OrderReference>
<cac:BuyersID>20031234-1</cac:BuyersID>
<cac:SellersID>154135798</cac:SellersID>
<cbc:IssueDate>2003-01-23</cbc:IssueDate>
</cac:OrderReference>
<cac:BuyerParty>
...........................>
</OrderResponseSimple>

Document XML pentru un rspuns simplu


Arhitectura ebXML

Meta-modelul ebXML
Arhitectura ebXML

Un registru ebXML ofer un set de servicii care permit


partajarea i schimbul de informaii ntre partenerii de afaceri.
Accesul la un registru ebXML este furnizat prin interfee (API)
specializate, cunoscute sub numele de serviciile registrului
(Registry Services) (sursa: http://docs.oasis-open.org/regrep/v3.0/specs/regrep-rs-3.0-os.pdf)

49
Arhitectura ebXML

Arhitectura general a registrului


Arhitectura ebXML

Serviciul de mesagerie asigur comunicarea ntre partenerii de


afaceri.
Din punct de vedere conceptual, serviciul de mesagerie este
compus din trei pri:
interfaa serviciului;
serviciul propriu-zis;
nivelul transport.

51
Arhitectura ebXML

Serviciul de mesagerie ebXML 52


Arhitectura ebXML

Arhitectura serviciului de mesagerie


Arhitectura ebXML

Structura unui mesaj de afacere schimbat ntr-o conversaie care are la baz un
protocol de afacere ebXML conine urmtoarele pri logice MIME:
Containerul antet (Header Container) containerul logic n care un mesaj SOAP1.1 este
stocat. Mesajul SOAP este un document XML; elementul su rdcin este SOAP
Envelope (o anvelop SOAP) care conine urmtoarele elemente:
o Antetul SOAP (SOAP Header) elemente antet specifice ebXML. Antetul SOAP
este un mecanism generic pentru adugarea caracteristicile unui mesaj SOAP.
o Corpul SOAP (SOAP Body) container pentru serviciul de mesagerie ce
manipuleaz controlul datelor i informaiilor relative la partea de informaie util a
mesajului.
Containerul informaiei utile (Payload Container) zero sau mai multe pri MIME
coninnd informaia util a aplicaiei. Informaia util poate conine date XML sau binare.

54
Arhitectura ebXML

Structura mesajului ebXML


Arhitectura ebXML

Un mesaj de afacere este unitatea de baz pentru comunicarea


ntre partenerii de afacere.
Mesajele de afacere sunt schimbate ca parte a unei conversaii.
Rolurile dintr-o conversaie sunt implementate dup coregrafia de
schimbare a mesajelor de afaceri.

56
Arhitectura ebXML (29)

O conversaie ebXML este lansat cnd un proces emite un


mesaj ebXML pentru o nou conversaie.
Posibilitile ca un proces s emit primul mesaj al unei
conversaii sunt:
timp fixat procesul este lansat exact la data i ora care a fost
specificat;
manual procesul este lansat de ctre unul din utilizatorii nscrii n
lista de lucru;
apelat procesul este lansat fiind apelat de un alt proces;
eveniment procesul este lansat cnd un document XML sosete.
57
Arhitectura ebXML
Definirea Definirea Componente
proceselor de documentelor de centrale/
afacere afacere domeniu

Baza de
date

CPP CPA CPP

Interfaa Interfaa
Transport serviciului de
Run time

serviciului de
afacere afacere
Pachet

Servicii ale Servicii ale


afacerii/App afacerii/App
Arhitectura tehnic ebXML
Model conceptual OASIS
Transaction Instance

Transaction Patterns Vertical


Industry Area
Specialized Content Specialized Processes

Generalized Content Generalized Processes


Conformance and Interoperability

Quality of Services
Content Definition Language Process Description Language

S e c u r i t y
Management
Repository XML and Web
Presentation Description Services /
ebXML Area
Service Description Language
Messaging
XML Syntax

Transport

Network
Cine are implementat ebXML?

60
Grupuri industriale care suport ebXML

61
Resurse Internet disponibile

http://ebxml.org
http:// www.oasis-open.org
http://www.freebXML.org
http://www.visualscript.com

http://www.ebxmlforum.org

62
Universal Business
Language

Prof. univ. dr. Floarea NSTASE


Cuprins

Contextul apariiei UBL


Participani la UBL
UBL i ebXML
UBL un format de interschimbare
Beneficii ale UBL
Documente UBL de baz
UBL - Prezentare general
Contextul apariiei UBL

Dup aprobarea sa de ctre W3C, n 1998, XML a devenit un standard


pentru majoritatea mesajelor utilizate n cadrul afacerilor electronice.

Treptat i-au fcut apariia o serie de formate pentru documentele de


afacere - specializate domeniilor n care erau utilizate.

Avantaje: documentele corespund perfect domeniului pentru care au fost


create.

Dezavantaje: dificultatea stabilirii de conexiuni ntre afaceri din domenii


diferite, dar i problema pregtirii unor specialiti n acest domeniu.
Contextul apariiei UBL

Componentele standard de afaceri trebuie s fie diferite n contexte de


afaceri diferite. De exemplu:
Adresele difer n Japonia fa de SUA;
Factura pentru pantofi include informaii despre mrime; n timp ce pentru
cafea, informaii despre starea produsului, macinat sau boabe
UBL permite acest tip de personalizare, fr s piard interoperabilitatea.
UBL este un vocabular de afaceri n XML

HTTP + HTML = Publicare prin web

ebXML/WS + UBL = afacere/comer prin


Web
Contextul apariiei UBL

UBL are rdcini n standardele EDI (Electronic Data


Interchange) - EDI a aprut pentru prima dat n 1960;
Standardele EDI se caracterizeaz prin:
definesc vocabularul, regulile de sintax cum ar fi structura
documentelor electronice
includ o list extins de coduri
sunt dezvoltate n colaborare cu prile interesate i aprobate de
organizaii recunoscute
sunt reactualizate n mod periodic
Contextul apariiei UBL

Standarde EDI:

X12 EDI standard dezvoltat i lansat n 1979 de ANSI


(American National Standards Institute) - utilizat n
SUA;

EDIFACT (Electronic Data Interchange For


Administration, Commerce and Transport ) a fost
introdus de UN/CEFACT (United Nations Centre for
Trade Facilitation and Electronic Business); EDIFACT
a devenit un standard ISO n 1987.
Contextul apariiei UBL

Document tiprit / Document EDI


Document de afacere / formularul Document electronic
Contextul apariiei UBL

Predecesoarele UBL sunt standardele CBL


(Common Business Library) i xCBL (XML
CBL)
UBL deriv din biblioteca componentelor de
baz ale ebXML, creat de OASIS
(Organization for the Advancement of
Structured Information Standards) i
standardizat ca ISO 15000-5 n septembrie
2005.
UBL a fost dezvoltat de un comitet tehnic la
care au participat specialiti ai unor
oragnizaii precum: NIST, ORACLE, SUN
Microsystems, Boeing etc.
Contextul apariiei UBL

UBL 2.0 este rezultatul activitii continue pentru crearea


unei sintaxe de afacere prin standardul XML:
G1 (1998): CBL 1.0 (VEO/NIST)
G2 (1999): CBL 2.0 (Commerce One)
G3 (2000): xCBL 3.0 (Commerce One i SAP)
G4 (2003): UBL 0.7 (OASIS)
G5 (2004): UBL 1.0 (OASIS):
o pe 15 septembrie 2004, OASIS a anunat aprobarea pentru UBL
versiunea 1.0 ca standard.
o UBL 1.0 a fost prima implementare standardizat a elementelor de
baz ale ebXML, conform specificaiilor tehnice.
G6 (2007): UBL 2.0 (OASIS)
Participani la UBL

APACS LMI
Aeon Consulting Northrop Grumman
ACORD Ontogenics
Boeing Oracle
Commerce One PricewaterhouseCoopers
Asociaia bancherilor din SAP
Danemarca SeeBeyond
France Telecom Sterling Commerce
General Electric Sun Microsystems
Guvernul din Hong Kong U.K. Cabinet Office
Guvernul din Coreea United Parcel Service
HP U.S. General Services
IBM Administration
KPMG U.S. Navy
Visa International
UBL i ebXML
UBL un format de interschimbare

RosettaNet: standardele ofer un cadru de lucru care permite unei companii s-i
sporeasc interoperabilitatea proceselor de afacere
OAGIS (Open Applications Group Integration Specification): dezvoltarea de standarde
orientate pe limbaje de afaceri pentru integrarea B2B
CIDX (Chemical Industry Data Exchange)
UBL un format de interschimbare

UBL are rolul unui


adaptor pentru toate
interfeele
furnizorilor la un
consumator comun
Beneficii ale UBL

Interfa transparent i eficient pentru denumire i reguli


de proiectare
Armonizarea i standardizarea obiectelor de afacere
Reguli transparente pentru modificarea interfeelor specifice
clienilor
Posibilitatea de conectarea direct la practicile de afacere
tradiional
Interoperabilitatea cu sistemele EDI existente
Documente UBL de baz

Achiziionarea
Comanda de cumprare, rspuns la comand de cumprare, modificare
comand de cumprare
Managementul activitilor principale
Notificarea n vederea expedierii, planificarea activitilor, recepia bunurilor
Plata
Factura comercial, aviz de expediere
Transport/logistic
Cerere despre starea ncrcturii, raport despre starea ncrcturii,
conosament (Bill of Lading)
Cataloage
Catalog de preuri, catalog de produse
Rapoarte statistice
Rapoarte contabile
UBL - Prezentare general

UBL 1.0 pune la dispoziia utilizatorilor:

o biblioteca de scheme XML pentru componente reutilizabile


precum adresa, produs etc.- elemente de baz ale documentelor
utilizate n mod curent;

un set mai redus de scheme XML pentru documente precum


comand, aviz de livrare, factur etc. construite cu
elementele oferite de bibliotec;

suport pentru adaptarea UBL la relaii comerciale specifice.


UBL - Prezentare general
UBL foloseste o serie de termeni, unii fiind preluai din UML (Unified
Modelling Language), precum:
diagrama de clase reprezentare grafic prin care se descrie structura
static a unui sistem, inclusiv clasele de obiecte cu atribute i asocieri;
diagrama de dependene rafinarea diagramei de clase prezentnd
asocierile de dependen dintre clase;
normalizare tehnica de identificare i definire a dependenelor
funcionale;
dependena funcional criteriu de grupare a componentelor dup cum
depind unele de altele;
modelul componentelor reprezentare a componentelor normalizate sub
forma unei reele de asocieri i roluri ntre clase;
model de integrare un model ierarhic reprezentnd schema unui
document;
model spreadsheet prezentarea modelului de integrare n forma tabelar;
schema XSD schema de definire a documentului XML, conform
limbajului XML.
Ciclul comand-factur

Documentele UBL 1.0 sunt create pentru o tranzacie, procesul de


achiziionare standard comand factur.
Modelul pus la dispoziie descrie un ciclu comand factur n care
sunt implicate 3 pri: cumprtor, vnztor i beneficiar (poate fi
cumprtorul sau nu).
Documentele UBL pentru acest proces sunt:
comanda
rspuns la comand - forma simpl
raspuns la comanda - forma detaliat
modificare comand
anulare comand
aviz de livrare
aviz de primire
factur

n continuare se vor face referi asupra documentului comand.


Ciclul comand-factur (diagrama de activitate)
Cerinele informaionale pentru comand

Comanda trebuie s specifice:


obiectul tranzaciei
termenii de livrare
obligaiile prilor n ceea ce privete plata

Toate posibilitile de plat trebuie luate n considerare:


se va specifica moneda folosit la exprimarea preurilor, precum i
moneda n care se va emite factura;
discounturile pot fi specificate tot la nivelul comenzii, dar pot aparea
i mai trziu n proces, n rspunsul la comand
Cerinele informaionale pentru comand

O comand include mai multe cmpuri prin care se pot face


anumite precizri, cum ar fi: locul de livrare, cantitatea i
data livrrii - instruciuni de livare n conformitate cu
termenii specificai etc.

Pentru identificarea unic a produselor, de obicei, sunt


stabilite convenii de referire unic. Acest lucru se realizeaz,
de exemplu, prin codul de bare. ns, n procesul de afacere,
produsul poate fi identificat i conform cerinelor clientului.
Dezvoltarea UBL
Modelul componentelor

Modelul componentelor descrie elementele informaionale din


documente. Este rezultatul unui proces de analiz a cerinelor
informaionale, normalizare i agregare pe baza dependenelor
funcionale.

Scopul acestui model:


identificarea componentelor reutilizabile
nelegerea contextului i stabilirea cerinelor informaionale
creeaza o baz pentru identificarea entitilor informaionale participante n
procesul de afacere.

Cea mai bun reprezentare a acestui model este dat de diagrama de


pachete din UML, la un nivel de analiz, conceptual.

Atributele sunt entiti informaionale de baz (EIB).


Clasele sunt entiti informaionale agregate (EIA).
UBL-1.0-PartyPackage.jpg
Modelul de integrare

Componentele descrise n modelul anterior sunt integrate n structuri ierarhice


conform cerinelor contextului.

Legturile dintre diferite clase sau pachete definesc clase de asociere numite
entiti informaionale de asociere (EIAS).

De exemplu, modelul de integrare pentru documentul comand este


urmtorul:

UBL-1.0-OrderDocumentAssembly.jpg
Modelul spreadsheet

Chiar dac este posibil reprezentarea modelelor de integrare cu ajutorul


UML, n practic a fost preferat folosirea foilor de calcul (spreadsheets),
acestea fcnd posibil o structurare mai bun a metadatelor, fiind mai usor de
folosit de ctre specialitii din domeniul economic, consultai n faza de
analiz, i dovedindu-se portabile ntre aplicaii.
Dezavantajele in de imposibilitatea modelrii referinelor de integritate,
modificrile i impactul lor necesitnd un grad sporit de atenie.
Modelul spreadsheet conine EIB, EIA, EIAS, unde EIB sunt frunzele
ierarhiei, EIA sunt nodurile printe, structurile ce conin EIB, iar EIAS
definesc legturile dintre diverse EIA. Fiecare EI este definit ntr-un rnd.
Culorile ce fac diferena sunt:
roz pentru EIA
alb pentru EIB
verde pentru EIAS
UBL-Order-1.0.xls
Elemente standardizate

EI reutilizabile, adic
totalitatea EIB si EIA folosite
n UBL.
Tipuri ale componentelor de
baz, din care deriv tipuri de
componente de nivel superior
Tipuri de date
nespecializate, deriv din
componentele de baz
Tipuri de date specializate,
deriv din tipurile
nespecializate prin extensii,
restricii sau alte constrngeri
contextuale.
Scheme UBL n format XSD
Scheme UBL n format XSD

Schemele XSD sunt rezultatul unei transformari a modelului


spreadsheet cu ajutorul unui generator de scheme, de
exemplu GEFEG EDIFIX 5.0.

Regulile UBL de denumire i design XML stabilesc


conveniile pentru structurile din documentele XML i
numele elementelor i atributelor.

UBL-Order-1.0.xml
Modelul de implementare

Acest model prezint schemele UBL XSD ca model UML.


Modelul UML este produs automat i, pe baza lui, se creeaz
apoi diagrame de clase care ilustreaz principalele documente.
Transformarea din schema XSD n model UML s-a facut, n
UBL, cu produsul Ontogenics hyperModel.
UBL prezint diagrame de clase, la nivel de implementare,
pentru toate documentele din procesul comand-factur, ct
i pentru componentele reutilizabile.

UBL-PartyImplementationDiagram-1.0.gif
UBL-OrderImplementationDiagram-1.0.gif
Exemplu

Un exemplu de situaie real, modelat cu UBL:


cumprtorul comand o serie de produse de birotic de la un
magazin de profil;
cumprtorul cunoate codurile produselor i preurile acestora.

Documentul XML pentru comanda:


UBL-Order-1.0-Office-Example.xml

Documentul tipribil:
OfficeOrder.Example-a4.doc
Concluzii

UBL prezint o serie de avantaje deosebite, care par s garanteze


continuarea eforturilor de dezvoltare:

costuri mai mici de integrare, att ntre prile implicate n afacere pe


Internet, ct i datorit posibilitii de reutilizare a structurilor de date
de baz;
cost mai sczut al software-lui, deoarece este necesar tratarea unui
numar limitat de seturi de elemente XML;
uurarea procesului de nvaare, fiind necesar familiarizarea cu o
singur bibliotec;
cost mic de implementare i deci posibilitatea utilizrii de ctre IMM-
uri;
nvare standardizat, ce face posibil instruirea adecvat a unui numr
suficient de specialiti.
Concluzii

UBL este o afacere real scheme de afaceri prin standardul


XML
Completeaz stiva ebXML
Combin experiena experilor din afaceri i XML
UBL este dedicat interoperabilitii vnztorilor
Procese deschise
Armonizarea semanticii ntre industrii
Bibliografie

http://docs.oasis-open.org/ubl/cd-UBL-1.0/
http://docs.oasis-open.org/ubl/os-UBL-2.0.zip
Unified Modeling Language (UML) Tutorial
http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/
Departamentul de Informatic i
Cibernetic Economic

Web Services

Prof. univ. dr. Fl. NSTASE


Cuprins

Arhitectura orientat pe servicii

Prezentare Web Services

SOAP (Simple Object Access Protocol)

UDDI (Universal Description, Discovery and Integration )

WSDL ( Web Service Description Language)

2
Arhitectura orientat pe servicii

SOA (Service Oriented Architecture) este un model arhitectural n proiectarea


de software prin care componente ale unei aplicaii distribuie funcionaliti n
uniti mai mici, distincte - numite servicii, altor componente printr-un
protocol de comunicaie, de obicei, prin reea. Serviciile sunt independente de
orice furnizor, produs sau tehnologie.

SOA este o arhitectur flexibil i standardizat ce contribuie la o mai bun


conectare a diverselor aplicaii i faciliteaz schimbul de informaii ntre
acestea.

SOA unific procesele de business structurnd marile aplicaii ntr-o colecie


3
servicii.
Arhitectura orientat pe servicii

Exemple de un servicii:

crearea unei comenzi de cumprare n cadrul unei aplicaii

solicitarea i rezervarea unei camere ntr-un hotel

solicitarea unui mprumut prin completarea unui formular tip cerere

cutare de cri / muzic pe baza cuvintelor cheie

4
Arhitectura orientat pe servicii

Principii care stau la baza arhitecturilor orientate pe servicii:

contract de serviciu - pentru ca serviciile s interacioneze este necesar ca fiecare


serviciu s fie descris i s se defineasc modul de schimbare a informaiilor;

servicii slab-cuplate implementarea serviciilor este ascuns consumatorilor i nu este


dependent de implementarea aplicaiilor ce le vor utiliza. Astfel, serviciile web pot fi
dezvoltate folosind orice tehnologie/limbaj de programare i pot fi accesate din orice
alt aplicaie;

autonomia serviciilor - serviciile ar trebui s aib control asupra resurselor i logicii de


afacere pe care le ncapsuleaz;

5
Arhitectura orientat pe servicii

Principii care stau la baza arhitecturilor orientate pe servicii (continuare):

abstractizarea serviciului un serviciu const din implementare, interfa i


mecanismele de invocare. Implementarea pentru logica serviciului nu este vizibil
consumatorilor, ea fiind determinat de funcionalitatea pe care trebuie s o
ndeplineasc serviciul. Acest lucru dicteaz o minim dependen de platform sau de
mediul sistemului de operare. Dependena exist totui la nivelul interfeei.
Infrastructura serviciului trebuie s aib abilitatea de a invoca implementarea. Astfel c
serviciul trebuie s fie descris prin interfaa sa. Pentru descrierea unui serviciu web, n
mod frecvent, se utilizeaz WSDL (Web Services Description Language). Astfel, codul
este protejat, dar este permis obinerea de informaii necesare pentru accesarea
serviciului web.

reutilizabilitatea serviciilor - indiferent dac exist oportuniti imediate de reutilizare,


serviciile sunt concepute pentru a fi refolosite. 6
Arhitectura orientat pe servicii

Principii care stau la baza arhitecturilor orientate pe servicii (continuare):

statelessness - serviciile nu trebuie s depind de starea comunicrii;

descoperirea serviciilor s se fac ntr-un mod simplu;

compunerea serviciilor - serviciile trebuie s ofere suport pentru compunerea cu alte


servicii;

interoperabilitatea serviciilor - utilizarea standardelor deschise reprezint un element-


cheie n dezvoltarea serviciilor web pentru a furniza informaii referitoare la formate de
date, metadate, protocoale de transport precum i alte elemente la nivel de afacere.

7
Arhitectura orientat pe servicii

Principii care stau la baza arhitecturilor orientate pe servicii (continuare):


Consumarea serviciilor exist dou opiuni pentru cosumarea serviciilor:
1. apelarea lor dintr-o aplicaie client - se realizeaz direct legtura cu o alt aplicaie,
serviciul furniznd datele necesare aplicaiei pentru a-i realiza logica;
2. integrarea serviciilor ntr-un proces de afacere - presupune utilizarea serviciului n
cadrul unui proces de afacere, prin integrarea acestuia cu mai multe
servicii/aplicaii furniznd astfel o soluie de ansamblu;

8
Arhitectura orientat pe servicii

Fiecare component a unei arhitecturi orientate pe servicii poate avea unul (sau
mai multe) din cele trei roluri: furnizor de serviciu, solicitant/consumator de
serviciu i broker.

Un furnizor de serviciu este responsabil pentru crearea unei descrieri de


serviciu, publicarea descrierii acelui serviciu n unul sau mai multe registre de
servicii i primirea mesajelor de invocare a serviciului Web din partea unuia
sau mai multor solicitani de serviciu. Un furnizor de serviciu poate fi orice
companie care gzduiete un serviciu Web disponibil pe o anumit reea.

9
Arhitectura orientat pe servicii

Brokerul de serviciu (registru de servicii) este responsabil cu:


prezentarea descrierilor de servicii Web publicate de ctre furnizorii de
servicii
acceptarea ca solicitanii de servicii s caute n colecia de servicii stocat
determinarea interfeei serviciului Web
implementarea informaiei de acces pentru oricare solicitant posibil al
serviciului.
Solicitantul/consumatorul de serviciu utilizeaz registrul broker pentru gsirea
serviciilor. Solicitantul serviciului aplic diverse criterii pentru selectarea
serviciului sau serviciilor de care are nevoie. Dup identificarea serviciului,
solicitantul obine informaia necesar de la broker. Apoi, solicitantul se
conecteaz la furnizor i utilizeaz serviciul.
10
Arhitectura orientat pe servicii

11
Arhitectura orientat pe servicii

Arhitectura orientat pe servicii include trei operaii:

publicarea (publish) aciunea de nregistrare sau de prezentare a


serviciului; furnizorul de serviciu i public descrierea serviciului Web
ntr-un registru de servicii, prezentnd detaliile acelui serviciu Web
solicitanilor de servicii.

identificarea/gsirea (find) - aciunea prin care se obine din registrul de


servicii o list cu descrierile serviciilor care ndeplinesc criteriile de
cutare ale solicitantului.

asocierea (bind) aciunea prin care se poate stabili o relaie ntre


solicitantul de serviciu i furnizorul de serviciu.
12
Arhitectura orientat pe servicii

Componente SOA:

13
Arhitectura orientat pe servicii

Componente SOA (continuare):


Front-end-ul aplicaiei (Application frontends): sunt elemente active ale SOA, prin care
se livreaz valoarea SOA la utilizatorii finali.
iniiaz i controleaz ntreaga activitate a sistemului.

aplicaie web sau o aplicaie cu interfa utilizator grafic.

Serviciu: o component software care ncapsuleaz un concept de afacere la nivel nalt.


Contract: ofer o specificaie pentru scop, funcionalitii, constrngeri i pentru
utilizare a serviciilor.
Interfaa: funcionalitate a serviciului expus de ctre serviciu pentru clienii care-l vor
accesa.

14
Arhitectura orientat pe servicii

Componente SOA (continuare):


Implementarea: prin implementarea serviciului se asigur logica de afacere necesar i
datele corespunztoare. Aceasta poate conine: programe, configuraii, date i baze de
date.
Logica de afacere: procesul de afacere reprezentat prin serviciu.
Date: date reprezentate n serviciu / utilizate de ctre serviciu.
Depozit de servicii (Service repository): nregistreaz serviciile i atributele lor pentru
a facilita descoperirea de servicii, funcionarea, drepturi de acces, proprietar etc.
(Enterprise) Service Bus (ESB): o infrastructur flexibil pentru integrarea aplicaiilor
i serviciilor prin: rutare de mesaje, transformarea protocoalelor ntre solicitant i
serviciu, manipularea evenimentelor de afacere i livrarea acestora, oferind QoS,
mediere i securitate, precum i gestionarea interaciunilor ntre servicii.

Standarde deschise: standarde implementabile n mod public. 15


Prezentare Web Services

n prezent, cnd se ncearc realizarea unei piee electronice globale, Internetul


reprezint principalul canal de comunicare;

Internetul a devenit coloana vertebral a unui numr din ce n ce mai mare de


activiti de e-business generatoare de venituri;

Dac primele aplicaii din Internet au fost utilizate pentru comunicarea ntre
persoane, n prezent, informaiile/serviciile din Internet sunt oferite prin soluii
de tipul: calcul distribuit, site-uri web, Web Services.

16
Prezentare Web Services

Un web service este un serviciu pus la dispoziie utilizatorilor pe Internet.


Multitudinea de protocoale i standarde disponibile pe Internet au dat
posibilitatea comunicrii ntre aplicaiile de pe sisteme aflate la distane mari,
dar cu acces la Internet.
Web Services sunt gndite pentru a ajuta aplicaiile s comunice ntre ele.
Tehnologia Web Services asigur interoperarea prin intermediul Internetului a
multiplelor aplicaii software, care se execut pe o varietate de sisteme
dispersate geografic, ntr-un mediu complex.
Web Services au o natur distribuit i eterogen.

17
Prezentare Web Services

Web services ofer un standard destinat interoperabilitii dintre aplicaiile


software, executate pe o diversitate de de platforme i medii de lucru.

WSA (Web Service Architecture) ofer un model conceptual pentru nelegerea


serviciilor web i a relaiilor ntre componentele acestui model.

Definiie (WSA - http://www.w3.org/TR/ws-arch/): Un serviciu Web este un sistem


software proiectat s suporte interaciunea calculator-la-calculator printr-o
reea. El are o interfa descris ntr-un format procesabil de main (de
exemplu specificaia WSDL - Web Services Description Language).

18
Prezentare Web Services

Meta Model pentru arhitectura Web Services


19
Prezentare Web Services

Modelul orientat pe mesaje este focalizat pe mesaje: structura,


transportul i prelucrarea mesajelor fr o referin particular la
semnificaia lor.

20
Prezentare Web Services

Modelul orientat pe serviciu se ocup de aspectul serviciului, aciunile


sale etc. - n orice sistem distribuit, serviciile nu pot fi realizate adecvat
fr unele referiri la mesaje.

21
Prezentare Web Services

Modelul orientat pe resurs se concentreaz asupra resurselor deinute de


proprietari.

22
Prezentare Web Services

Modelul tactic se concentreaz pe constrngerile de comportament a


agenilor i serviciilor.

23
Prezentare Web Services

Arhitectura Web Services definete un mechanism standard pentru accesarea


resurselor prin mesaje XML.

24
Sursa: http://msdn.microsoft.com/
Prezentare Web Services

Serviciile Web sunt bazate pe mesaje XML (EXtensible Markup Language),


transportate cu ajutorul protocoalelor standard din Internet: TCP (Transmission
Control Protocol), HTTP (Hypertext Transfer Protocol) sau SMTP (Simple Mail
Transfer Protocol)

Mesajele Web Services pot conine documente sau apeluri de proceduri.

n comunitatea IT nc nu exist o definiie unanim acceptat pentru noiunea de


Web Services, cu toate c se poate desprinde un set de elemente comune i s-a
conturat o uoar convergen n ceea ce privete nelegerea acestui termen.

25
Prezentare Web Services

IBM definete un serviciu Web ca fiind:

O interfa care descrie o colecie de operaii accesibile pe o reea, prin


intermediul transferului de mesaje XML standardizate.

Dup cei de la IBM:

Web Services ndeplinesc o anumit sarcin, sau un anumit set de sarcini. Un


serviciu Web este descris folosind o aplicaie XML standardizat, denumit
descrierea de serviciu, care furnizeaz toate detaliile necesare pentru
interaciunea cu serviciul, inclusiv formatele de mesaj, protocoalele de transport
i locaia.
26
Prezentare Web Services

Interfaa ascunde detaliile de implementare a serviciului, astfel nct acesta poate


fi folosit independent de platforma hardware sau software pe care este
implementat i independent de limbajul de programare n care este scris. Aceasta
le permite aplicaiilor bazate pe servicii Web s fie slab cuplate, orientate pe
componente i implementrile pot implica mai multe tipuri de tehnologii.

Serviciile Web pot fi utilizate de sine stttor sau n asociere cu alte servicii Web
pentru a efectua o operaie complex sau o tranzacie de afacere.

27
Prezentare Web Services

Una din definiiile date de Microsoft este:

Un serviciu Web este o unitate logic a aplicaiei, care furnizeaz date i servicii
altor aplicaii. Aplicaiile acceseaz serviciile Web prin protocoale Web i
formate de date, precum HTTP, XML, SOAP (Simple Object Access Protocol),
fr a mai avea grija modului n care fiecare serviciu Web este implementat.
Serviciile Web combin cele mai bune aspecte ale dezvoltrii bazate pe
componente i ale tehnologiei Web i sunt eseniale n modelul de programare
.NET.

28
Prezentare Web Services

Sun ofer urmtoarea definiie:

Serviciile Web sunt componente software care pot fi n mod spontan


descoperite, combinate i recombinate pentru a oferi o soluie problemei/cererii
utilizatorului. Limbajul Java i XML sunt principalele tehnologii pentru serviciile
Web.

29
Prezentare Web Services

O posibil definire acceptabil a unui Web Service este cea a unei interfee de
mesaje bazate pe XML ctre resursele de calcul, accesibile prin protocoale
standard Internet.

Protocolul de mesagerie utilizat de Web Services este SOAP. Web Services nu


sunt legate de un anumit protocol de transport, cu toate c cel mai utilizat este
HTTP. Alte protocoale de transport ca FTP (File Transfer Protocol) sau SMTP
(Simple Mail Transfer Protocol) pot fi utilizate de Web Services.

30
Prezentare Web Services

Din definiiile anterioare se poate deduce c un serviciu Web este un software


independent de platform i implementare. Serviciul Web poate fi:

descris prin folosirea un limbaj de descriere a serviciului;

publicat ntr-un registru de servicii;

descoperit printr-un mecanism standard (la execuie sau proiectare);

invocat printr-o API (Application Programming Interface);

compus cu alte servicii.

31
Prezentare Web Services

Un serviciu Web poate exista oriunde pe o reea, Internet sau Intranet. Unele
servicii Web pot fi invocate printr-o simpl apelare de metod, dintr-un proces al
sistemului de operare sau utiliznd memoria partajat, ntre procesele puternic
cuplate care ruleaz pe aceeai main.

Serviciile Web au puine lucruri n comun cu reeaua World Wide Web, care este
centrat pe navigatoare i HTML.

32
Prezentare Web Services

Web Services ofer o nou dimensiune pentru Web, de la o interfa ctre


utilizatori, la un serviciu pentru aplicaii.

n cazul Web Services, creatorul unei conexiuni Web nu mai este doar
consumator sau furnizor de informaie. El poate participa n cadrul unui mediu
pentru aplicaii distribuite i s realizeze apeluri la distan ctre proceduri ale
diverselor servicii.

Utilizarea protocoalelor standard Internet precum i a altor standarde de ctre


Web Services permit serviciilor s ruleze pe diverse medii, rezolvnd problema
interoperabilitii inter-platforme.
33
Prezentare Web Services

Modelul arhitectural pe niveluri pentru Web Services 34


Prezentare Web Services

Web Services reprezint o tehnologie prin care se acceseaz i


utilizeaz funcii de afaceri prin Web.
Web Service utilizeaz standardele:
XML (eXtensible Markup Language);
SOAP (Simple Object Access Protocol sau Service-Oriented Architecture
Protocol);
WSDL (Web Services Description Language);
UDDI (Universal Discovery Description and Integration).
HTTP
SMTP (Simple Mail Transfer Protocol)
JMS (Java Message Service) 35
Prezentare Web Services

Alte standarde Web Services:


BPEL4WS (Business Process Execution Language for Web Services)
BEEP (Block Extensible Exchange Protocol) este un protocol pentru
interaciunea asincron peer-to-peer pe o conexiune TCP/IP
WS-ReliableMessaging proiectul standardului a fost lansat n martie 2003 de
IBM, BEA, Microsoft i TIBCO
WS-Security (Web Services Security)
WS-Policy (Web Services Policy)
WS-I (Web Services Interoperability)

36
Prezentare Web Services

Pentru un om de afaceri, utilizarea tehnologiei Web Services semnific integrare:


integrarea funcionalitii unei aplicaii n interiorul unei organizaii sau
integrarea aplicaiilor ntre partenerii de afaceri.

Sistemele de afaceri care sunt uor de integrat vor determina reduceri de cost,
modele de afaceri flexibile, servicii de calitate ctre clieni, o mai bun pstrare a
clienilor etc.

Din punct de vedere tehnic, un serviciu Web este o colecie de una sau mai multe
operaiuni relaionate, care sunt accesibile pe o reea i sunt prezentate printr-o
descriere de serviciu.
37
Prezentare Web Services

Web services dein urmtoarele proprieti:


sunt autodescriptive mesajele de cerere i rspuns au un anumit format i
coninut;
pot fi publicate, localizate i invocate prin Web se utilizeaz HTTP, dar mai sunt
necesare standarde precum SOAP (Simple Object Access Protocol), WSDL (Web
Services Description Language) i UDDI (Universal Discovery Description and
Integration).;
sunt independente de limbaj i sunt interoperabile
sunt deschise i bazate pe standarde (la baz fiind XML i HTTP);
sunt dinamice descrierea serviciilor poate fi automatizat;
se pot compune;
sunt slab cuplate;
ofer posibilitatea ncapsulrii aplicaiilor existente; 38
Prezentare Web Services

Web Sites (1992) Web Services (2000)

RESTful Web Services (2007)


REST - Representational
state transfer
WADL - Web
Application Description
Language
JSON - JavaScript
Object Notation 39
Web services i cloud computing

Un furnizor de serviciu poate fi ntr-un cloud sau nu, n acelai mod,


consumatorul poate fi n cloud sau nu.

(http://www.service-architecture.com/articles/cloud-computing/service-oriented_architecture_soa_and_cloud_computing.html) 40
Web services i cloud computing

Un furnizor de serviciu poate fi ntr-un cloud sau nu, n acelai mod,


consumatorul poate fi n cloud sau nu (continuare).

(http://www.service-architecture.com/articles/cloud-computing/service-oriented_architecture_soa_and_cloud_computing.html) 41
Web services i cloud computing
Relaiile dintre Web Services, arhitectura orientat pe servicii i Cloud
Computing:
1. Web Services ncapsuleaz Cloud Computing, deoarece Cloud Computing
utilizeaz Web-ul pentru conexiuni (s-ar putea gsi excepii, dar acestea sunt rare).

2. totui, este posibil s se utilizeze Web Services i


n alte situaii dect n Cloud Computing.
3. O utilizare (2) a Web Services poate fi sau nu
parte a unei arhitecturi orientate pe servicii.
Serviciul Web ar putea fi, pur i simplu, o
conexiune.
4. n cele din urm, poate s fie o arhitectura
orientat pe servicii i s nu utilizeze serviciile
Web pentru conexiuni.

(http://www.service-architecture.com/articles/cloud-computing/web_services_and_cloud_computing.html) 42
SOAP (1)

SOAP (Simple Object Access Protocol sau Service-Oriented Architecture


Protocol) este un protocol utilizat pentru schimbul de informaie n mediul
eterogen, distribuit.
SOAP asigur interoperabilitatea:
sistemelor de operare, modelelor orientate pe obiecte, limbajelor de
programare
independent de hardware
independent de protocol
SOAP opereaz pe infrastrucura existent a Internetului
Are la baz standarde cheie din Internet:
SOAP HTTP + XML
43
SOAP (2)

Specificaia SOAP definete :


formatul mesajelor SOAP
cum se emit mesajele
cum se primesc rspunsurile
codificarea datelor

44
SOAP (3)

SOAP este un protocol bazat pe XML care const din:

anvelopa SOAP prin care se descrie coninutul mesajului i cum se


prelucreaz;
un set de reguli pentru codificare a tipurilor de date definite prin
aplicaie;
convenie pentru reprezentarea apelurilor procedurii de la distan i a
rspunsurilor;
asocierea SOAP prin care se definete convenia pentru schimbarea
mesajelor prin utilizarea protocolului HTTP.

45
SOAP (4)

Un mesaj simplu SOAP conine cele trei pri: anvelopa, antetul (opional) i
corpul.

Serviciile Web create prin ASP.NET pot


defini i procesa header-e SOAP.
Definirea unui header SOAP este nsoit
de definirea unei clase prin care se
reprezint datele dintr-un header SOAP
particular i deriv din clasa
soapHeader.
De exemplu n C# :
public class MyHeader : SoapHeader {

Mesaj SOAP 46
SOAP (5)

Elementul Envelope deine elementele fiu Header opional i


Body obligatoriu.
Nu este obligatorie includerea unor elemente suplimentare,
cum ar fi pentru identificarea emitorului sau receptorului, a
datei de creare a mesajului sau a unui titlu pentru mesaj.
Fiecare aplicaie va defini aceste elemente dac va considera
c sunt necesare.
Elementul Header poate conine zero sau mai multe elemente
fiu calificate prin namespace. Dou atribute, role i
mustUnderstand pot fi asociate prin elementele fiu ale
elementului Header.
47
SOAP (6)

Forma minimal a unui mesaj SOAP este reprezentat printr-un document


XML:
<env:Envelope xmlns:env=http://www.w3.org/2002/06/soap-envelope>
<env:Header>
<sec:hdr1 xmlns:sec=http://www.widgets.com/logging
sec:role=http://www.w3.org/2002/06/soap-envelope/role/next
sec:mustUnderstand=true>
...
</sec:hdr1>
</env:Header>
<env:Body>...
</env:Body>
</env:Envelope>

Aceast schem minimal permite validarea mesajulor SOAP fr documente


XML Schema adiionale.
48
SOAP (7)

SOAP Message mesaj SOAP complet

Headers Antete asociate protocolului

SOAP Envelope <Envelope> include informaia util

SOAP Header <Header> include antetele

Headers Antete individuale

<Body> conine numele mesajului SOAP


SOAP Body
Mesajul SOAP n format XML
Message Name & Data codific numele i data

Structura general a mesajului SOAP


49
SOAP (8)

Formatul general al mesajelor SOAP - un document XML care


folosete schema SOAP:
<?xml version=1.0?>
<soap:Envelope ...>
<soap:Header ...>
...
</soap:Header>
<soap:Body>
<Add xmlns=http://tempuri.org/>
<n1>12</n1>
<n2>10</n2>
</Add>
</soap:Body>
</soap:Envelope>

50
SOAP (9)

Elementele Header sunt adresate unor noduri SOAP. Un nod


ndeplinete o anumit funcie n faza de procesare sau rutare a
mesajului. Valoarea atributului SOAP role poate fi desemnat
explicit printr-un URI sau relativ prin trei valori predefinite,
next, ultimateReceiver sau none.
Corpul mesajului poate conine o cerere sau un rspuns. La
rndul su, coninutul corpului mesajului rspuns poate fi
reprezentat de un document, rspuns RPC sau eroare SOAP.

51
SOAP (10)

Mesajul de rspuns - serverul rspunde cu un mesaj result:


HTTP/1.1 200 OK
...
Content-Type:text/xml
Content-Length: 391

<?xml version=1.0?>
<soap:Envelope ...>
<soap:Body>
<AddResult xmlns=http://tempuri.org/>
<result>28.6</result>
</AddResult>
</soap:Body>
</soap:Envelope>

52
SOAP (11)

Codificarea datelor complexe structurile de date sunt


serializate ca XML:
<soap:Envelope ...>
<soap:Body>
<GetStockDataResult xmlns=http://tempuri.org/>
<result>
<Description>Plastic Novelties Ltd</Description>
<Price>129</Price>
<Ticker>PLAS</Ticker>
</result>
</GetStockDataRseult>
</soap:Body>
</soap:Envelope>

53
SOAP (12)

Exemplu de cerere SOAP


POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml;
charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI

<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV: encodingStyle =
"http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
54
SOAP (13)

Exemplu de rspuns SOAP


HTTP/1.1 200 OK
Content-Type: text/xml;
charset="utf-8"
Content-Length: nnnn

<SOAP-ENV:Envelope
xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV: encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<m:GetLastTradePriceResponse xmlns:m="Some-URI">
<Price>34.5</Price>
</m:GetLastTradePriceResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

55
SOAP (14)

Exemplu de eroare SOAP


HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode> SOAP-ENV: MustUnderstand </faultcode>
<faultstring>SOAP Must Understand Error
</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

56
SOAP (15)

SOAP este acceptat de:


DevelopMentor Inc. Microsoft
Digital Creations Rogue Wave Software Inc.
IONA Technologies PLC Scriptics Corp.
Jetform Secret Labs AB
ObjectSpace Inc. UserLand Software Inc.
Rockwell Software Inc. Zveno Pty. Ltd.
SAP IBM
Compaq Hewlett Packard
Intel

57
UDDI (1)

UDDI (Universal Description, Discovery and Integration) este mai mult


dect o specificaie sau un standard, include o infrastructur care
implementeaz standardul i permite cutarea i descoperirea serviciilor Web.
UDDI realizeaz pentru Web Services o funcie similar motoarelor de cutare
Google i Yahoo pentru identificarea paginilor Web.
UDDI suport urmtoarele operaii:
publicarea: furnizorul public serviciul Web ctre un registru UDDI;
descoperirea: solicitantul caut registrele publice pentru a gsi un
serviciu Web corespunztor;
asocierea: solicitantul utilizeaz informaia din registru pentru apelarea
sau utilizarea serviciului Web.
58
UDDI (2)

UDDI include un mod structurat pentru a descrie o afacere, serviciile oferite de


aceasta i interfaa la aceste servicii. Datele sunt astfel organizate nct o
afacere poate oferi mai multe servicii, iar un servicu poate fi oferit de mai
muli furnizori.
UDDI este o agend accesibil pe Web i e construit utiliznd SOAP peste
HTTP. Un registru UDDI este la baza Web Services.
Infrastructura UDDI este o reea distribuit de operatori de registre numit
UDDI Business Registry. Descrierile funizorilor i servicii publicate de registru
sunt accesibile public. Publicarea i stergerea de informaii necesit autorizare.
Publicarea unei descrieri ntr-un nod se propag ctre toate nodurile
disponibile. IBM, Microsoft, SAP i HP sunt autorizai s opereze n astfel de
registre.

59
UDDI (3)

O alternativ la registrele publice sunt registrele private care permit accesarea


Serviciilor Web de ctre o comunitate restrns.
Intrrile UDDI au fost definite prin cinci structuri:
businessEntity - reprezint o afacere
businessService - include date despre un serviciu oferit de furnizor
bindingTemplate - identific cum i unde poate fi accesat un serviciu
tModel - conine specificaiile tehnice ale interfeei Serviciului Web
publisherAssertion - ofer modalitatea pentru ca dou companii s
stabileasc o relaie ntre ele

60
UDDI (4)

Relaiile ntre structurile UDDI


61
UDDI (5)

businessEntity descrie o afacere i serviciile sale


62
WSDL (1)

WSDL (Web Service Description Language) are un rol


important n arhitectura Web Services, descrie contractul pentru
comunicarea aplicaiilor.

63
WSDL (2)

WSDL (Web Service Description Language) ofer un model i un format XML


pentru descrierea serviciilor Web.
WSDL descriere un serviciu la:
la nivel abstract: n cea ce privete mesajele pe care le trimite i primete; unui
model pentru schimbul de mesaje se asociaz o operaie.
la nivel concret:
definete interfaa serviciului semantica abstract
definete implementarea serviciului punctele finale concrete i adresele unde
Web Service va fi invocat

Elimin delimitarea ntre mesajele abstracte i cele concrete


64
WSDL (3)

WSDL este n general utilizat doar n faza de proiectare i


dezvoltare a aplicaiilor cu servicii Web;
Cnd o aplicaie Web Service este publicat ctre un broker,
aplicaia include un document WSDL pentru a descrie ce
parametri trebuie transmii printr-o cerere SOAP i ce valori vor
fi returnate.
WSDL este utilizat n cazul serviciilor web implementate folosind
protocolul SOAP.
Serviciile web implementete prin REST (Representational State
Transfer) dispun de o alt tehnologie, WADL (Web Application
Description Language) care respect aceleai principii.
65
WSDL (4)

Reprezentarea conceptelor n WSDL 1.1 (sursa: http://www.wideskills.com/wsdl/)

66
WSDL (5)
WSDL Schema

Interface Implementation
<definitions> <definitions>

<import> <import>
<types> <service>

<message> <port>

<portType>
<binding>

67
WSDL (6)
WSDL Schema

<definitions> - nodul root


Interface
al WSDL
<definitions> <import> permite altor entiti s
fie incluse
<import>
<types> definirea datelor - xsd
<types> <message> definete parametrii
unei funcii Web Service
<message>
<portType> definete operaiile
de intrare i ieire
<portType>
<binding> specific modul cum
<binding> fiecare mesaj este transmis

68
WSDL (7)
Tipuri de mesaje

Unidirecional: serviciul recepioneaz numai un


mesaj <input>
Cerere de rspuns: serviciul care recepioneaz
o cerere, va genera un rspuns. Mesajul
<input> este definit naintea mesajului
<output>
Solicitare de rspuns: serviciul emite o cerere i
va atepta un rspuns. Mesajul <output> se va
defini nainte de mesajul <input>
Notificarea: serviciul emite numai un mesaj.

69
WSDL (8)
WSDL Schema

Implementation
<service> specific detaliile <definitions>
despre implementare
<port> conine adresa
<import>
<service>

<port>

70
WSDL (9)

Structura de baz a unui document WSDL este:


<definitions>
<types>
definition of types........
</types>
<message>
definition of a message....
</message>
<portType>
<operation>
definition of a operation.......
</operation>
</portType>
<binding>
definition of a binding....
</binding>
<service>
definition of a service....
</service>
</definitions> 71
WSDL (10)

Diferena ntre WSDL 1.1 si 2.0

72
WSDL (11)

WSDL Editor n XML Spy: afieaz structura fiierului WSDL cu elementele


sale grupate dup portTypes, bindings i services.

73
WSDL (9)
Exemplu

http://localhost/ex4/exws1.asmx?WSDL

74
WSDL (6)
Exemplu

http://localhost/ex4/exws1.asmx?WSDL

75
Implementri Web Services (1)

.NET - platforma de dezvoltare Microsoft permite dezvoltarea


uoar de Web Services pe platforma Windows;
SOAP::Lite este o implementare pentru Perl, suportnd
versiunile 1.1 i 1.2 ale SOAP i multiple protocoale de transport
(HTTP, FTP, Jabber, POP3, SMTP, TCP etc.);
Apache SOAP pentru Java, destinat s ruleze ca servlet pe orice
server HTTP Java;
Borland ofer un puternic suport pentru crearea Serviciilor Web
bazate pe SOAP n toate mediile sale de programare, att pe
platforme Windows ct i Linux.

76
Implementri Web Services (2)

n .NET Framework, System.Web.Services este spaiul de nume


din care deriv toate clasele pentru serviciile Web.
Principalele trei clase care deriv din System.Web.Services sunt:
System.Web.Services.Description conine clasele necesare pentru
descrierea serviciilor Web prin SDL (Service Definition Language), o
implementare Microsoft pentru WSDL.
System.Web.Services.Discovery - conine clasele care permit
utilizatorilor s localizeze serviciile disponibile.
System.Web.Services.Protocols conine clasele utilizate pentru definirea
protocoalelor care permit transmisia peste HTTP. Majoritatea se ocup
cu formatarea, asocieri i setri ale mesajelor SOAP.

77
Implementri Web Services (3)
Exemplu

n ASP.NET serviciile web sunt implementate prin metode Web, care au


parametrii de intrare i returneaz o valoare.
Consumatorii de servicii web ASP.NET pot fi implementai pe orice platform
i n orice limbaj de programare.
Cerere fr numele metodei sau parametrii:
ASP.NET returneaz o pagin n care sunt listate metodele
http://localhost/ex4/exws1.asmx

Clic una din metode i se testeaz ieirea


http://localhost/ex4/exws1.asmx?op=apelSalut

Se pot specifica parameterii i se invoc

78
Rezultatul cererii: http://localhost/ex4/exws1.asmx

79
Rezultatul cererii: http://localhost/ex4/exws1.asmx?op=apelSalut
80
Implementri Web Services (4)
Exemplu

Fiierul exws1.asmx

<%@ WebService Language="C#" Class="Exemplul1" %>


using System.Web.Services;
[WebService(Namespace="urn:Exemplul1")]
public class Exemplul1 {
[ WebMethod ]
public string apelSalut(string nume) {
return "Salut " + nume;
}
}

81
Implementri Web Services (5)
Exemplu de client SOAP

Prezentare exemplu: Fiierul exWS1c.cs

82
Implementri Web Services (6)
Exemplu de client SOAP

// exWS1c.cs
using System.Diagnostics;
using System.Xml.Serialization;
using System;
using System.Web.Services.Protocols;
using System.Web.Services;

[System.Web.Services.WebServiceBindingAttribute(
Name="Exemplul1Soap",
Namespace="urn:Exemplul1")]
public class Exemplul1 :
System.Web.Services.Protocols.SoapHttpClientProtocol {

public Exemplul1( ) {
this.Url = "http://localhost/ws1/Salut.asmx ";
}

83
Implementri Web Services (7)
Exemplu de client SOAP (continuare)
[System.Web.Services.Protocols.SoapDocumentMethodAttribute(
"urn:Exemplul1/apelSalut",
RequestNamespace="urn:Exemplul1",
ResponseNamespace="urn:Exemplul1",
Use=System.Web.Services.Description.SoapBindingUse.Literal,

ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public string apelSalut(string nume) {
object[] results = this.Invoke("apelSalut", new object[] {nume});
return ((string)(results[0]));
}

public static void Main(string[] args) {


Console.WriteLine("Apeleaza Serverul SOAP");
Exemplul1 exemplul1 = new Exemplul1( );
Console.WriteLine("Server SOAP raspunde: " +
exemplul1.apelSalut(args[0]));
}
}
84
Bibliografie

Doug Tidwell, James Snell, Pavel Kulchenko, Programming Web


Services with SOAP, O'Reilly, 2001
Aaron Skonnard, Understanding WSDL, Northface University, 2003
http://msdn.microsoft.com/en-us/library/ms996486.aspx
http://www.w3.org/TR/ws-arch/
http://www.w3.org/TR/wsdl
http://www.w3.org/TR/2007/PR-wsdl20-20070523/
http://www.w3.org/TR

85
Departamentul de Informatic i
Cibernetic Economic

Securitatea afacerilor
electronice

Prof. univ. dr. Fl. NSTASE


Cuprins

Concepte de baz ale securitii


Cerine de securitate
Atacuri asupra securitii
Categorii de vulnerabiliti
Ameninri ale securitii
Standarde de securitate
Politica de securitate
Evaluarea riscului
Soluii pentru securitatea reelei
Sisteme de criptare
Infrastructura de chei publice
Securitatea comunicaiilor
Ameninri asupra aplicaiilor Web
Securitatea aplicaiilor prin .NET
Concluzii 2
Concepte de baz ale securitii

"Informaia este un activ care, ca i alte active importante de


afacere, are valoare pentru organizaie i, prin urmare, trebuie s fie
protejat corespunztor (BS ISO 27002:2005)

Forma n care se gsete informaia, mijloacele prin care este


distribuit sau depozitat sunt variate. De exemplu, informaia poate
fi:
tiprit sau scris pe hrtie
stocat electronic
transmis prin pot sau prin mijloace electronice
afiat pe dispozitive video
afiat / publicat pe web
prezentat verbal - n cadrul conversaiilor 3
Concepte de baz ale securitii

Principalele operaii care se pot executa asupra informaiei sunt:


culegere/creare
stocare
procesare
distribuire
utilizare

Informaia, depozitat sau n tranzit, poate fi:


modificat
distrus
pierdut
furat

4
Concepte de baz ale securitii

Securitatea electronic este definit ca fiind:


politicile, recomandrile i aciunile necesare minimizrii riscului
asociat efecturii tranzaciilor electronice, risc ce se refer la bree
n sistem, intruziuni sau furt
sau
orice mijloc, tehnic sau proces utilizat pentru a proteja
informaiile unui sistem.

5
Concepte de baz ale securitii

Un eveniment este orice manifestare observabil ntr-un sistem sau


reea. Exemple de evenimente: accesarea unui fier partajat,
lansarea unei cereri pentru o pagin web, trimiterea unui e-mail
etc.
Evenimentele adverse sunt evenimente cu o consecin negativ,
cum ar fi: blocarea sistemului, utilizarea neautorizat a
privilegiilor de sistem, accesul neautorizat la date sensibile,
executarea unor programe pentru distrugerea de date etc.
Un incident de securitate este o nclcarea sau o ameninare
iminent de nclcare a politicilor de securitate acceptate a fi
utilizate sau a practicilor de securitate standard.
6
Concepte de baz ale securitii

O surs de ameninare: orice circumstan sau eveniment care ar


putea produce pagube ntr-un sistem IT.
Sursa de ameninare se poate folosi de o anumit vulnerabilitate a
sistemului.
O vulnerabilitate este o slbiciune care poate declana accidental
sau intenionat o anumit exploatare a sistemului.
O surs de ameninare nu poate reprezenta un risc atunci cnd nu
exist o vulnerabilitate pe care s o poat exploata.

7
Concepte de baz ale securitii

Impact: msur a efectului unui eveniment.


Riscul: este determinat prin combinaia ntre probabilitatea de
apariie a unui eveniment i impactul su. De obicei, rezultatul
este exprimat n diferite niveluri de risc - de exemplu, "High",
"Medium" sau "Low"
Control: mijloacele de administrare a riscului, incluznd politici,
proceduri, ghiduri, practici, structuri organizaionale care pot fi
administrative sau tehnice.

8
Relaiile ntre conceptele de baz ale securitii
9
Concepte de baz ale securitii

Securitatea electronic se adreseaz resursei umane, proceselor


i tehnologiilor.
Resursa uman este reprezentat de:
proprietari
manageri
angajai
parteneri de afaceri
furnizori de servicii
contractori
clienii
reprezentani ai autoritilor de reglementare etc.
10
Concepte de baz ale securitii

Procesele se refer la practicile de lucru sau fluxul de lucru.


Procesele sunt reprezentate prin faze repetabile pentru
ndeplinirea obiectivelor de afacere. Procesele obinuite pot
include:
managementul serviciului
raportarea i management incidentelor
managementul schimbrii
managementul accesului
managementul identitii
achiziii IT etc.
11
Concepte de baz ale securitii

Tehnologia se refer la :
Infrastructura de reea:
reele cablate/necablate, reele date/voce, echipamente
servicii de telecomunicaii, inclusiv serviciile VoIP, ISDN,
VPN, videoconferine
servere i dispozitive de stocare (hardware i software)
echipamente de comunicare, conexiune la Internet
servicii de acces de la distan etc.

12
Concepte de baz ale securitii

Tehnologia se refer la (continuare) :


Aplicaii software
Componente de securitate fizic : camere video, aparate
biometrice pentru controlul accesului, sistem pentru controlul
mediului (umiditate, temperatur etc.)
Dispozitive de acces: desktop, laptop, PDA etc.

13
Concepte de baz ale securitii

Resursa
uman

Procese

Tehnologie

14
Concepte de baz ale securitii

Obiectivele fundamentale de securitate, care se regsesc printre


cerinele unui mediu de afacere, sunt:
confidenialitatea garantarea procedurilor i metodelor ca informaia,
care se afl n tranzit sau stocat, s fie accesibil numai entitilor
autorizate s acceseze respectivele resurse; prevenirea accesului
neautorizat la informaii;
integritatea sunt asigurate procedurile i metodele ca informaia, care se
afl n tranzit sau stocat, s nu poat fi modificat; informaia este
protejat mpotriva pierderilor sau modificrilor neautorizate;
disponibilitatea garanteaz c entitile autorizate au acces la resursele
informaionale atunci cnd au nevoie de ele; prevenirea atacurilor de tipul
DoS (Denial of Service);
conformitatea cu legile, reglementrile i standardele aplicabile.

15
Concepte de baz ale securitii

Politica de
securitate a
informaiei
Organizarea
Conformitatea securitii
informaiei

Planificarea
Managementul
continuitii
activelor
afacerii

Securitatea
Managementul
resursei
incidentelor
umane
Disponibilitate

Dezvoltarea
Securitatea
sistemului &
fizic
ntreinerea

Comunicaia &
Controlul
Managementul
Acesului
operaiilor
16
Cerine de securitate

Cerinele de securitate pe care trebuie s le ndeplineasc un mediul


pentru afaceri electronice sunt:
1. Identificarea reprezint procesele i procedurile necesare pentru stabilirea
unei identiti unice pentru un utilizator sau o entitate n cadrul unui sistem
de afacere. Identificarea permite contabilizarea tuturor operaiunilor
individuale i previne accesul neautorizat.
2. Autentificarea procedura pentru verificarea identitii entitii care
solicit acces la sistemul de afacere, procesul prin care sistemul valideaz
informaiile de conectare oferite de entitatea utilizatoare;

17
User Controller Business Data Layer Backend
Functions

ESAPI (Enterprise Security API)


Authentication

Detection
Intrusion
Logging
Control
Access

Users

Identificarea i autentificarea (sursa: http://www.owasp.org) 18


Cerine de securitate

3. Controlul accesului - determin ce anume poate face o


anumit entitate autentificat n sistemul de afacere, avnd n
vedere:
Controlul accesului la sistem - procesul de determinare a
entitilor care pot avea dreptul s utilizeze resurse ale sistemului i
a intervalelor de timp cnd accesul le este permis. Procedurile
pentru controlul accesului la sistem realizeaz att identificarea, ct
i autentificarea entitilor. Apoi, mecanismele de securitate
controleaz resursele la care respectivele entiti au acces;
Controlul accesului la reea - avnd n vedere multiplele funcii de
intrare/ieire de date i posibilitile de partajare a resurselor
controlul accesului la reea este o necesitate.
19
Cerine de securitate

Clasificarea informaiei stabilete nivelul de securitate necesar pentru o


anumit resurs informaional. De exemplu, secrete comerciale,
informaii financiare sau oricare alt tip de informaie care necesit
protecie mpotriva accesului neautorizat.
informaiile utilizate n domeniul afacerilor, din punct de vedere al
securitii, sunt clasificate n: publice, sensibile, private, confideniale.

informaiile utilizate n domeniul guvernamental sunt: neclasificate, sensibile


dar neclasificate, restricionate, confideniale, secrete i strict secrete.

20
Cerine de securitate

Privilegiile - un privilegiu este o autorizaie pentru un utilizator de a


realiza anumite operaii care au legtur cu securitate sistemului de
afacere, sau de a putea utiliza comenzi sau a realiza funcii, care, n mod
obinuit, sunt interzise altor categorii de utilizatori. Privilegiile trebuie
controlate foarte strict, iar aciunile celor ce au aceste privilegii trebuie
ndeaproape monitorizate.

21
Web Service
URL Function Data Service
Check Check Check Check

Controller
Database

Mainframe

User Business
Data Layer
Functions
Etc

Function
Check
File
User Check
Interface
File System

Aplicarea controlului de acces (sursa: http://www.owasp.org)


22
Cerine de securitate

4. Responsabilitatea - este strns legat de msurile de securitate


impuse utilizatorilor sistemului de afacere, care vor fi
rspunztori pentru aciunile ntreprinse dup conectarea la
sistem;
5. Auditul de securitate se ocup cu analiza nregistrrilor
activitilor executate, pentru a determina dac sistemul de
protecie este n concordan cu politicile i procedurile de
securitate stabilite. Scopul unui audit este de a identifica
slbiciunile legate de securitate sau a eecurilor care pot fi
corectate sau controlate.

23
Cerine de securitate

6. Integritatea sistemului de afacere pentru a se menine


integritatea sistemului se iau urmtoarele msuri:
separarea proceselor i datelor utilizatorilor;
separarea proceselor i datelor sistemului;
protejarea software-ului, datelor i hardware-ului de
modificri, fie c au acestea sunt voite sau accidentale;
controlul aciunilor i operaiilor de ntreinere.

24
Cerine de securitate

7. Integritatea datelor presupune mecanisme de protecie a


datelor mpotriva distrugerii sau accesului neautorizat i
mecanisme de nregistrare a modificrilor survenite.
8. Fiabilitatea serviciilor se refer la ct de uor i sigur un
utilizator autentificat poate accesa i utiliza resursele unui
sistem.
9. Documentarea privind securitatea este vital pentru
meninerea unui anumit sistem de securitate operaional i
eficient.

25
Cerine de securitate

Cerinele de securitate pot fi grupate dup urmtoarele domenii:


securitatea operaional
securitatea tehnic
managementul securitii
Securitatea operaional:
controlul caracteristicilor spaiului de lucru: umiditate, starea substanelor
nocive, temperatura
controlul surselor de alimentare cu energie electric
accesul la date
distribuia datelor n mediul exterior
facilitile de protecie fizic: camere special amenajate pentru
calculatoare, centre de date, birouri
situaia staiilor de lucru, laptop-urilor, calculatoarelor personale. 26
Cerine de securitate

Securitatea tehnic:
comunicaiile: interconectarea sistemelor, rutere, dial-up
sistemele criptografice
controlul accesului
identificarea i autentificarea
detectarea intruziunilor
reutilizarea obiectelor
auditul sistemului

27
Cerine de securitate

Managementul securitii -
procesele de stabilire i meninere a
unui cadru de lucru i a unei structuri
de administrare, precum i procesele
care ofer garania c strategiile de
securitate a informaiei sunt aliniate i
suportate prin obiectivele afacerii,
sunt n concordan cu legile i
reglementrile aplicabile prin
respectarea politicilor i controalelor
interne.

Componentele ale
managementului securitii
28
Cerine de securitate

Managementul securitii se ocup de:


alocarea responsabilitilor
asigurarea continuitii suportului oferit
capacitatea de rspuns n caz de incidente
revizuirea periodic a modului n care se controleaz securitatea
pregtirea personalului n domeniul tehnologiilor informaiei n
particular n subdomeniul securitii
investigarea activitilor desfurate de personal
sistem de autorizare i reautorizare
sistem pentru aplicarea planului de securitate
evaluarea riscurilor 29
Cerine de securitate
Controale de securitate

Pentru fiecare domeniu al cerinelor de securitate pot aciona


controale de securitate :
controlul fizic are n vedere protecia mediului IT. Pentru controlul fizic se
apeleaz la personal de paz, camere video, lacte, sisteme de alarm, surse
de alimentare nentreruptibile;
control tehnic se refer la controlul accesului - autorizarea de utilizare a
obiectelor, datelor, criptarea;
controlul administrativ se refer la politica de securitate i procedurile de
securitate implementate, ca parte a planului de securitate. De exemplu, un
control administrativ asupra: politicii de securitate, ghidurilor de securitate,
procedurilor de securitate, instruirea n domeniul securitii.

30
Cerine de securitate
Controale de securitate

Control dual de securitate


31
Cerine de securitate
Rol i responsabiliti

Rolul i responsabilitile vor fi raportate la planul de securitate al


organizaiei:
Manager - responsabil cu implementarea planului de securitate.
Ofierul de securitate - garanteaz c sistemul informatic este implementat
i se execut n conformitate cu politica de securitate; evalueaz
vulnerabilitile i stabilete msuri sporite de securitate.
Proprietarul este responsabil pentru protecia datelor (cum ar fi proprietarul
de date) sau activelor organizaiei. Responsabilitile generale ale
proprietarului de date sunt: decide nivelurile de clasificare a datelor,
definete modul lor de accesare i cum sunt protejate.

32
Cerine de securitate
Rol i responsabiliti

Rolul i responsabilitile (continuare):


Custodele se ocup de protecia activelor sau datelor organizaiei;
responsabilitate alocat pentru controlul accesului logic. Persoana care
ndeplinete acest rol se mai numete administrator cu securitatea sistemului.
Specialistul n securitatea tehnic - n mod obinuit, este un membru al
departamentului IT; Persoana care ndeplinete acest rol este instruit s
lucreze cu proprietarii i cei care au n custodie date.
Utilizator - orice persoan care are dreptul s utilizeze resursele sistemului.
Drepturile alocate unui utilizator vor fi n concordan cu responsabilitatea pe
care o ndeplinete.

33
Cerine de securitate
Rol i responsabiliti

Rolul i responsabilitile (continuare):


Administratorul cu securitatea sistemului este responsabil cu implementarea i
ntreinerea controalelor de securitate cerute prin politica de securitate.
Activitile incluse n fia postului sunt: crearea, reactualizarea i tergerea
profilelor de utilizatori, alocarea noilor utilizatori la profilele de grup, setarea i
iniializarea parolelor pentru noii utilizatori, reactualizarea i revocarea
privilegiilor utilizatorilor. De asemenea, administratorul securitii poate
inspecta fiierele pentru auditul securitii n vederea remedierii unor deficiene.
Auditorul de securitate poate fi un membru intern al organizaiei sau un
membru al unei firme de auditare. Un auditor de securitate inspecteaz n mod
regulat procedurile de securitate ale organizaiei i controleaz, pentru a fi sigur
c sunt ndeplinite, cerinele din politica, procesele, procedurile i ghidurile de
securitate.
34
Atacuri asupra securitii

Principalele surse de ameninare asupra securitii sistemelor


informatice, inclusiv a mediilor cloud, sunt:
ameninri naturale: inundaiile, cutremure de pmnt, alunecri
de teren, avalane etc.
ameninri umane evenimente care sunt provocate/cauzate de
fiine umane. Acestea la rndul lor pot fi:
aciuni neintenionate: tergerea unui fiier din neatenie,
introducerea de date eronate;
aciuni realizate n mod deliberat: atacuri asupra reelei,
ncrcarea de programe de aplicaii pentru a servi ca suport
pentru atacuri, acces neautorizat la informaii considerat
35
Atacuri asupra securitii

36
Atacuri asupra securitii

n mediul IT atacatorul poate fi intern sau extern sistemului.


In cazul unui cloud, un atacator intern are urmtoarele
caracteristici:
este un angajat al furnizorului de servicii cloud, un client sau un ter, dintr-o
alt organizaie furnizoare, care susine funcionarea unui serviciu cloud;
poate avea acces autorizat la servicii cloud, la datele clienilor sau pentru
susinerea infrastructurii i aplicaiilor, n funcie de rolul deinut n
organizaie;
deine privilegii pentru a avea acces n continuare sau pentru a susine un ter
n execuia de atacuri mpotriva integritii, disponibilitii i
confidenialittii informaiei n cadrul serviciului cloud.
37
Atacuri asupra securitii

Atacatorul extern exploateaz vulnerabilitile tehnice i operaionale ale


sistemului, pentru a propaga atacuri mpotriva confidenialitii, integritii i
disponibilitii informaiilor. Dac este un mediu cloud, se expolateaz
vulnerabilitile pe partea furnizorului de servicii cloud, a clientului sau a unui
ter (dintr-o alt organizaie furnizoare, care susine funcionarea unui serviciu
cloud).

38
Atacuri asupra securitii

n mediul tradiional, precum i n mediul cloud, atacatorii pot fi


de patru tipuri:
aleatori : cel mai frecvent tip, atacatorul foloseste instrumente i tehnici
simple. Atacatorul poate scana n mod aleatoriu pe Internet, n ncercarea de
a gsi componente vulnerabile. Ei vor utiliza instrumente sau tehnici bine
cunoscute.
anemici: atacatori semi-calificai vizeaz inte specifice. Metodele lor sunt
mult mai avansate, personalizeaz instrumente disponibile public, pentru a fi
folosite n atacurile lor.

39
Atacuri asupra securitii

n mediul tradiional, precum i n mediul cloud, atacatorii pot fi


de patru tipuri (continuare):
puternici - bine finanai i organizai n grupuri calificate de atacatori - cu
o ierarhie intern specializat n urmrirea anumitor aplicaii i utilizatori. n
general, un astfel de grup este un grup infracional specializat n atacuri la
scar larg.
substaniali motivai, atacatori puternici i care nu sunt uor de detectat de
organizaiile pe care le atac sau chiar de organizaiile specializate n
securitatea cibernetic. Atenuarea aceastui tip de ameninare necesit
profesioniti care dein cunotine temeinice despre atacurile de securitate,
dar i resurse de specialitate, pentru detectarea unui incident sau a unei
ameninri.
40
Atacuri asupra securitii

Aciunile asupra securitii pot fi pasive sau active.


Exemple de atacuri pasive n cazul securitii reelelor:
analiza reelei (scanarea reelei) - crearea unui profil complet al
infrastructurii de securitate a reelei; se utilizeaz o combinaie de
instrumente i tehnici pentru ntocmirea cataloagelor de informaie
despre reeaua intern a organizaiei vizate;
spionarea reelei: culegerea de informaie din reea cu intenia de a o
analiza i valorifica personal sau s o pun la dispoziia unei tere pri;
analiza traficului (ascultarea canalului): se determin natura traficului
ntre hosturile definite i prin analiza duratei sesiunilor, frecvenei,
dimensiunea mesajelor; metoda se utilizeaz cnd mesajele sunt criptate
iar spionarea nu are rezultate;
41
Atacuri asupra securitii

Exemple de atacuri active n cazul securitii reelelor:


atacul n for (brute-force): utilizarea unor instrumente pentru
depistarea/spargerea parolelor i ctigarea accesului neatorizat ntr-o reea
a unei organizaii;
Mascarada (masquerading): entitatea se prezint cu o identitate fals
pentru a avea acces la date secrete sau resurse ale reelei, pentru care
accesul nui este permis cu propria identitate;
refuzarea serviciului (denial of service): calculatorul conectat la Internet
este invadat cu date i/sau cereri care trebuie s fie onorate; resursele
reelei devin neoperaionale;
reluarea pachetelor (packet replay): combin atacul pasiv cu cel activ; n
mod pasiv sunt capturate pachetele de date care trec printr-o reea
vulnerabil sau neprotejat. Aceste pachete sunt apoi inserate n reea ca i
cnd ar fi un alt mesaj original. 42
Atacuri asupra securitii

Exemple de atacuri active n cazul securitii reelelor (continuare):


modificarea mesajelor (message modification) se refer la capturarea
unui mesaj n vederea schimbrii neautorizate sau tergerea (a ntregului
mesaj sau numai o parte a acestuia), schimbarea ordinii sau ntrzierea
transmisiei mesajelor captate.
acces neautorizat prin Internet sau prin servicii care au la baz Web,
cum ar fi prin:
e-mail (SMTP)
parole telnet transmise n clar (de la client la server)
modificarea asocierii ntre adresa IP i numele de domeniu
execuia scripturilor pe partea de client (de exemplu, applet-urile
Java) prezint pericolul, fiind executat un cod de la o locaie
arbitrar pe o main client. 43
Atacuri asupra securitii

Exemple de atacuri active n cazul securitii reelelor (continuare):


bombe i spam-uri prin e-mail (e-mail bombing and spamming) - Bombele e-
mail constau n transmiterea repetat a aceluiai mesaj la un anumit
destinatar. Spam-ul e-mail este o variant de bomb n care acelai mesaj este
transmis la sute sau mii de destinatari. Acestea pot depi capacitatea de
memorare a csuei potale a destinatarului.
nelarea prin e-mail (e-mail spoofing) un utilizator receptioneaz un mail
care apare ca avnd o anumit origine (expeditor), dar n realitate aceasta este
fals (n spatele mesajului se afl un alt expeditor). Spre exemplu, un e-mail
care pretinde c vine din partea administratorului de reea prin care se cere
destinatarului s-i schimbe parola cu una specificat n mesaj, dac nu face
acest lucru este ameniat cu suspendarea contului.

44
Atacuri asupra securitii

Exemple de atacuri active n cazul securitii reelelor (continuare):


Infectarea (scopul general, distrugerea resurselor informaionale) prin:
cal troian (Trojan horses) - cod ascuns ce se execut ori de cte ori se ruleaz
programul autorizat n care s-a infiltrat, deschiznd mai multe pori virtuale pe
calculatorul infectat, permind astfel intrarea hackerilor n sistem;
virus (viruse) - cod de program maliios care infecteaz fiierele unui calculator,
copiindu-se singur n respectivele fiiere atunci cnd acestea sunt ncrcate n
memorie;
vierme (worm) - program care poate distruge datele sau s utilizeze n mod
anormal procesele sistemului de operare, se copiaz singur n memoria
calculatorului;
bomba logic (logic bomb) pentru execuie necesit date suplimentare, cum ar fi
programarea atacului sau modificarea datelor ntr-un timp specificat.
Trackware - pachete software care urmresc activitatea sistemelor sau
comportamentul utilizatorilor i trimit informaiile culese unei tere organizaii.
45
Categorii de vulnerabiliti

Ameninrile i vulnerabilitile se pot grupa ntr-un set de categorii


corespunztoare cerinelor fundamentale de securitate sau a
funciilor specifice de securitate.
Framework-ul posibilelor vulnerabiliti, propus de Microsoft,
include categoriile:
Validarea intrrilor: modul n care intrrile sunt controlate n cea ce privete
originea, integritatea etc.
Autentificare: modul prin care o entitate i dovedete identitatea, de obicei
prin credeniale, cum ar fi utilizator i parola.
Autorizare: modul prin care se realizeaz controale de acces la resurse i
operaiuni.
Managementul configuraiilor: modul de realizare i utilizare a
46
configurrilor.
Categorii de vulnerabiliti

Framework-ul posibilelor vulnerabiliti, propus de Microsoft,


include categoriile (continuare):
Senzitivitatea datelor: modul de protejare a datelor confideniale.

Managementul sesiunii: modul n care se deruleaz o sesiune de lucru. O


sesiune se refer la o serie de interaciuni de serviciu.

Criptografia: modul de criptare pe baza unor chei i metode criptografice.

Managementul excepiilor: modul de gestionare a excepiilor din sistem.

Audit i logare: modul n care evenimentele legate de securitate sunt


nregistrate, monitorizate i auditate.

47
Ameninri ale securitii

Categoriile de ameninri identificate de Microsoft, STRIDE


(Spoofing, Tampering, Repudiation, Information Disclosure,
Denial of Service, Elevation of privilege) sunt:
Falsificarea identitii (Spoofing identity) accesul ilegal

Manipularea frauduloas cu date (Tampering with data): modificarea


neautorizat a datelor

Repudierea (Repudiation): capacitatea utilizatorilor (legitimi sau nu) de a


nega efectuarea unor aciuni sau tranzacii.

Divulgarea de informaii (Information disclosure): Expunerea nedorit a


48 datelor private
Ameninri ale securitii

Categoriile de ameninri identificate de Microsoft, STRIDE


(Spoofing, Tampering, Repudiation, Information Disclosure,
Denial of Service, Elevation of privilege) sunt:
Refuzarea serviciului (Denial of Service - DoS): procesul de blocare a unui
serviciu, aplicaie sau sistem

Atitudinea privilegiului (Elevation of privilege): apare atunci cnd un


utilizator cu privilegii limitate preia identitatea unui utilizator privilegiat
pentru a avea acces la un serviciu sau o aplicaie cu scopul de a compromite
sau distruge.

49
Standarde de securitate

ISO (International Standards Organization) - a stabilit serviciile de


securitate, bazate pe un set de mecanisme de securitate, care pot fi
implementate n toate protocoalele modelului OSI (Open System
Interconnection) pentru a se realiza integritatea i protecia resurselor
din mediul de comunicaie n reea.
Arhitectura de securitate OSI, definit prin standardul ISO 7498-2, se
refer la:
definirea serviciilor de securitate;
definirea mecanismelor de securitate;
principiile de organizare a securitii pe niveluri;
maparea serviciilor de securitate pe niveluri;
asocierea mecanismelor de securitate cu serviciile de securitate.
50
Standarde de securitate
Principiile de baz pentru organizarea pe niveluri a securitii sunt:
numrul serviciilor de securitate ce pot fi achiziionate trebuie s fie minim;
serviciile de securitate se pot folosi n sistemele de protecie a mai multor
niveluri;
mecanismele de securitate nu trebuie s multiplice funciile serviciului de
comunicaie;
se respect independena fiecrui nivel funcional;
se va minimiza funcionalitatea bazat pe ncredere a sistemului;
cnd protecia furnizat la un nivel se bazeaz pe mecanisme de securitate de la
un nivel inferior, este necesar ca nici un nivel intermediar s nu ncalce aceast
dependen;
serviciile de securitate utilizate trebuie s fie definite astfel nct s permit
extinderea cu noi servicii.
51
Standarde de securitate

Principalele servicii de securitate definite de ISO sunt:


autentificarea
controlul accesului
confidenialitatea datelor
integritatea datelor
nerepudierea
auditarea

52
Standarde de securitate

Mecanisme de securitate de baz sunt folosite individual sau n


combinaie pentru ndeplinirea unor servicii de securitate:
criptarea
semntura digital
mecanismul de control al accesului (lista drepturilor de acces, parole,
durata accesului, timpul de ncercare a accesului etc.);

mecanismul de integritate a datelor etc.

53
Arhitectura de securitate definit prin standardul ISO 7498-2.
54
Standarde de securitate

Seria ISO 27000 a fost rezervat de ISO pentru securitatea informaiei


(http://en.wikipedia.org/wiki/ISO/IEC_27000-series ):
ISO 27000 fundamente i principii (include elemente din ISO 13335 MICTS Part 1)
ISO 27001 cerinele ISMS (Information Security Management System), a fost
revzut BS 7799 Part 2 (publicat n octombrie 2005)
ISO 27002 codul practicilor pentru securitatea informaiei, redenumire a
standardului ISO 17799 (publicat n 2007)
ISO 27003 ghid de implementare a unui ISMS (include elemente din ISO 13335
MICTS Part 1)
ISO 27004 standard pentru msurri i metrici ISMS
ISO 27005 managementul riscului ISMS (include elemente din ISO 13335 MICTS
Part 2)
ISO 27006 ghid de acreditare ISMS pentru organizaiile de certificare/nregistrare
(revizuire EA 7/03) 55
Standarde de securitate

Exist o serie de standarde care se adreseaz securitii


serviciilor cloud, cum ar fi:
ISO/IEC 27017: Code of practice for information security controls
for cloud computing services (are la baz ISO/IEC 27002 )
ISO/IEC 27018: Code of practice for data protection controls for
public cloud computing services
ISO/IEC 27040: Storage security.

56
Standarde de securitate

Standardul britanic pentru securitatea informaiei, BS 7799, a


fost publicat n 1999 n dou pri:
codul practicilor pentru managementul securitii
informaiei;
cerinele pentru implementarea securitii informaiei n
conformitate cu acest cod de practici.

57
Standarde de securitate

n 2000, ISO a adoptat Standardul Britanic BS 7799 ca standard


internaional i l-a publicat sub numele de ISO 17799 - Cod
practic pentru managementul securitii informaiei
n conformitate cu acest standard, sunt identificate 36 obiective
de control i 127 elemente de control, care au fost incluse n 10
categorii de control.

58
Standarde de securitate

Cele 10 categorii de control prevzute prin standardul ISO 17799 sunt:


politica de securitate
planificarea continurii afacerii
controlul accesului la sistem
dezvoltarea i ntreinerea sistemului
securitatea fizic i a mediului
conformitatea
securitatea personalului
securitatea organizaiei
managementul calculatoarelor i reelei
clasificarea i controlul resurselor informatice
59
Standarde de securitate

Implementarea unui sistem de management a securitii informaiei


(ISMS) necesit, conform BS 7799-2, parcurgerea a apte etape:
definirea ISMS i a politicii - ine de direciile, cerinele i necesitile
organizaiei;
responsabiliti i resurse - identificarea persoanelor implicate n sistem i
responsabilitile alocate fiecreia ;
specificarea activelor i managementul riscului;
administrarea riscurilor;
selectarea controalelor;
aplicabilitatea;
implementarea.
60
Standarde de securitate

Beneficiile implementrii unui ISMS sunt:


ctigarea ncrederii partenerilor de afaceri (furnizori, clieni);
continuitatea afacerii;
mbuntirea sistemelor de prevenire i rspuns n caz de incident;
minimizarea riscurilor, clienii vor accesa n siguran informaiile;
justificarea precum i optimizarea costurilor necesare implementrii
controalelor de securitate;
demonstrarea implicrii i angajamentul managementului pentru securitatea
informaiei;
demonstrarea conformitii propriilor practici de securitate cu un standard
recunoscut;
conformitatea cu cerinele legale, cu regulile i regulamentele locale;
asigurarea faptului c riscurile i controalele sunt permanent revizuite. 61
Standarde de securitate

COBIT (Control Objectives for Information and related Technology)


este un framework creat de ISACA pentru guvernarea i
managementul IT n cadrul organizaiilor. Ofer cele mai bune
practici, modele i un set de instrumente care permit managerilor
reducerea decalajului dintre cerinele de control, probleme tehnice i
riscurile de afacere.
COBIT structureaz procesele IT n patru domenii:
planificare i organizare
achiziionare i implementare
funcionare i suport
monitorizare i evaluare
62
Politica de securitate

La baza oricrui model de securitate se afl planul de securitate -


parte a planului strategic de dezvoltare a afacerii.
Politica de securitate este componenta central a planului de
securitate. n stabilirea politicii de securitate se are n vedere:
valoarea activelor protejate, modul de accesare, permisiunile de acces;
consecinele pierderii confidenialitii sau a capacitii operaionale;
vulnerabilitile care pot fi identificate;
ameninri existente;
probabilitatea de apariie a unor noi ameninri.
63
Politica de securitate

Politica de securitate va specifica urmtoarele aspecte:


obiectivele organizaiei privind securitatea;
personalul rspunztor pentru asigurarea securitii;
implicarea organizaiei n ansamblu la asigurarea securitii: cine va asigura
instruirea n domeniul securitii, cum va fi integrat partea de securitate n
structura organizaiei.

64
Politica de securitate

Pentru atingerea obiectivelor de securitate i realizarea unui nivel


nalt de protecie, planul de securitate va fi dezvoltat i implementat
pe niveluri:
securitatea aplicaiei/afacerii: setul de msuri care se adreseaz riscurilor
specifice afacerii - se refer, n primul rnd, la securitatea produselor
software utilizate pentru dezvoltarea aplicaiilor de afaceri (de exemplu,
servere Web).
securitatea sistemului: poate fi implementat la nivelul comenzilor de
sistem i s controleze funciile software.
securitatea reelei: parte din proiectarea unei reele. Securitatea reelei
include controalele prin firewall-uri, VPN (virtual private network) i
gateways.
65
Politica de securitate

securitatea fizic: protecia sistemelor, dispozitivelor i mediilor pentru


backup; include controalele de acces, sursele de tensiune
nentreruptibile, linii de comunicaie redundante.
securitatea organizaiei: responsabil pentru toate aspectele planului de
securitate din organizaie, incluznd politicile de securitate, instruirea n
domeniul securitii, sistemele de afaceri ale organizaiei i planificarea
pentru recuperare n caz de dezastru.

66
Politica de securitate

Implementarea securitii pe niveluri


67
Evaluarea riscului

Pentru realizarea un sistem de


protecie eficient este necesar s
se parcurg cele cinci etape:
evaluarea riscurilor
definirea politicii de securitate
implementarea
administrarea
auditul.

68
Evaluarea riscului

Pentru stabilirea politicii de securitate vor fi parcurse etapele:


se analizeaz riscurile majore ale organizaiei - pentru definirea
procedurilor prin intermediul crora vor fi prevenite riscurile ca urmare a
apariiei unor evenimente nedorite;
se definete politica de securitate - pentru tratarea componentelor la care nu
pot fi prevenite aciunile maliioase fr a impune msuri de protecie;
stabilirea unui plan de urgen aplicabil n cazul n care msurile de
protecie sunt nvinse;
deoarece toate aceste probleme nu pot fi rezolvate numai prin definirea unei
politici de securitate i prin investirea de bani pentru anumite activiti, n
final se accept unele riscuri (factorii responsabili vor fi cei care decid
asupra riscurilor asumate). 69
Evaluarea riscului

Reducerea riscurilor
70
Etapele pentru evaluarea riscului
71
Evaluarea riscului

Analiza riscului ntr-un mediu de afacere distribuit implic patru sarcini


de baz:
identificarea surselor de risc (clasele de intrui) - fiecare clas de intrui trebuie
examinat n contextul ameninrii mediului distribuit, de la accidental pn la
inteionat;
stabilirea probabilitii riscului - o estimare rezonabil permite o privire general
asupra riscului existent;
determinarea activelor ce trebuie protejate - variaz n funcie de profilul comercial
sau nu al organizaiei n cauz; exemple de active ce pot fi protejate sunt: informaii,
echipamente, servicii de reea - cum ar fi e-mail etc.;
evaluarea costului unei aciuni de ameninare - exist trei tipuri de costuri de baz
care se iau n considerare: cost primar - costul nlocuirii resurselor pierdute,
reintroducerii datelor n bazele de date, cost secundar - afacerile pierdute, cost
colateral - efectul negativ asupra afacerilor clienilor.
72
Evaluarea riscului

Printre efectele negative aprute n urma aciunilor agenilor de ameninare se


pot enumera:
pierderile de afaceri, datorit accesului la datele confideniale, care
permite competitorilor s ctige locuri importante pe pia;
reputaia i imaginea compromise;
pierderea relaiilor de afacere - lipsa de ncredere;
pierderile de bunuri, care pot lua mai multe forme: de bani i
echipamente, de servicii, de capaciti n reele publice;
pierderile de secrete comerciale, de producie i tehnologie, care, prin
compromiterea unor astfel de secrete, pot avea un efect dramatic asupra
profitului organizaiei.
Guide for Conducting Risk Assessments (NIST Special Publication 800-30 Revision 1) ofer
informaii despre evaluarea riscurilor
73
Soluii pentru securitatea reelei

Un anumit nivel de protecie i securitate se poate garanta prin


una sau mai multe din soluiile:
criptarea - pentru protecia datelor i parolelor;
controlul accesului:
accesul la infrastructur pe baza cardurilor sau cheilor hard (chei
USB)
autentificarea prin semnturi digitale i certificate - verific cine
transmite date prin reea
autorizare - previne accesul impropriu
verificarea integritii datelor i a codului de autentificarea a acestora;
filtrarea pachetelor
dezactivarea serviciilor care nu sunt necesare.
74
Sisteme de criptare

Criptarea este procesul de transformare a unui mesaj dintr-o


form n care poate fi citit - text clar, ntr-o form codificat.
Criptarea, n general, se utilizeaz pentru:
protejarea datelor tranzitate prin reele mpotriva interceptrilor i
manipulrilor neautorizate;
protejarea datelor stocate pe calculatoare mpotriva vizualizrilor i
manipulrilor neautorizate;
s mpiedice i s detecteze modificarea accidental sau intenionat a
datelor;
s verifice autenticitatea tranzaciilor sau documentelor.

75
Sisteme de criptare

Noiunea de cheie se refer la o informaie, de regul n form


binar, de o anumit lungime, care este folosit mpreun cu un
algoritm criptografic, pentru criptare i/sau decriptare.
La criptare, cheia afecteaz modul n care datele sunt
modificate.
La decriptare, doar cu cheia corect se pot recupera datele
originale.

76
Sisteme de criptare

Fie M spaiul mesajelor, C spaiul criptogramelor i K spaiul


cheilor. Un sistem criptografic const din:
Ei: MC, i K (transformarea pentru criptare)

Dj : CM, j K (transformarea pentru decriptare


corespunztoare)

cu proprietatea c pentru orice cheie de criptare i K exist o


cheie unic de decriptare j K astfel nct Dj = Ei-1.

77
Sisteme de criptare
Pentru criptare se poate folosi metoda substituiei sau transpoziiei:
Cifru cu substituie fiecare liter sau grup de litere din textul surs se nlocuiete
cu o alt liter sau grup de litere;
Cifru cu transpoziie reordoneaz caracterele textului surs. Fie textul:
"disciplinareteledecalculatoare", pentru criptare se utilizeaz cheia
"CIFRA", va rezulta textul criptat: "ialaaedpreltsiteuailedcocneclr"

C I F R A
2 4 3 5 1
d i s c i
p l i n a
r e t e l
e d e c a
l c u l a
t o a r e
78
Sisteme de criptare

Dup modul de utilizare a cheilor, sistemele criptografice sunt:


sisteme criptografice cu chei secrete (simetrice) - cheia secret (privat)
este folosit att pentru criptare, ct i pentru decriptarea mesajelor
transmise ntre pri;

sisteme criptografice cu chei publice (asimetrice) - se utilizeaz o


pereche de chei - cheia privat i cheia public; Cheia folosit pentru
criptare (de exemplu, cheia public) este diferit de cheia folosit pentru
decriptare (cheia privat).

79
Sisteme de criptare

Criptografia cu cheie secret


80
Sisteme de criptare
Algoritmi pentru codificarea simetric:
algoritmi de tip bloc opereaz asupra textului iniial la nivel de blocuri de
bii;
algoritmi de tip stream - opereaz asupra unui bit (sau byte) al textului
original, la un moment dat.
Exemple de sisteme criptografice cu cheie simetric :
DES (Data Encryption Standard) standard dezvoltat de IBM. DES opereaz
pe blocuri de 64 de bii i are o cheie de 56 bii. DES a fost aprobat ca
standard pentru tehnica de criptare/decriptare de ctre Oficiul Naional de
Standardizare al SUA (US National Bureau of Standard NBS),
predecesorul lui NIST (National Institute of Standards and Technology).
Triple-DES: cheie de 112 bii + 16 bii de paritate sau cheie de 168 bii + 24
bii de paritate;
81
Sisteme de criptare

Exemple de sisteme criptografice cu cheie simetric (continuare):


AES (Advenced Encryption Standard) succesor al algoritmului DES
IDEA (International Data Encryption Algorithm) - utilizeaz blocuri pe
64 de bii i chei de 128 bii. A fost dezvoltat prin 1990 pentru a nlocui
sistemul DES. Cea mai semnificativ utilizare a IDEA este PGP (Pretty
Good Privacy);
FEAL (Fast Data Encipherment Algorithm) este o familie de algoritmi
care utilizeaz blocuri pe 64 de bii i chei de 64 bii;
RC2 i RC4: algoritmi cu cheie variabil de criptare, ntre 40 i 128 de
bii;
A5 este un exemplu de algoritm de tip stream pentru criptarea traficului
din reelele telefonice GSM, folosit pe larg n Europa.
82
Sisteme de criptare

DES este bazat pe un algoritm de tip bloc: mesajul surs (textul clar) este
mprit pe blocuri de 64 de bii i folosete o cheie de 56 bii generat aleatoriu.
Fiind dat un bloc de text clar de 64 de bii (m1m2...m64), DES opereaz n 19 runde:
n prima rund este realizat o permutare iniial (IP), independent de cheie,
rezultnd un bloc de 64 de bii care este mprit n dou, L0 cei 32 de bii din
stnga i R0 cei 32 bii din dreapta;
urmeaz 16 runde, funcional independente, prin care rezultatul anterior este
supus unui proces de substituire, permutare i unei operaii SAU-EXCLUSIV
(XOR), avnd ca parametru cheia (la fiecare rund este folosit o cheie diferit,
Ki);
n penultima rund, cele dou grupe a cte 32 de cifre binare se reunesc, dup
ce grupul celor 32 de bii din stnga s-a schimbat cu cei din dreapta, i n ultima
rund are loc o permutare invers celei iniiale (IP-1), rezultnd un mesaj pe 64
83
de cifre binare criptat (c c ...c ).
Criptarea DES

84
Sisteme de criptare

Avantaje ale sistemelor de criptarea cu cheie simetric:


criptarea ct i decriptarea se realizeaz cu aceeai cheie
transformarea se execut uor i repede datorit numrului mic de
calcule coninute n algoritm

Dezavantaje ale sistemelor de criptare cu cheie simetric:


distribuia cheilor este o problem, mai ales, ntr-un mediu de afacere;
managementul cheilor este o alt problem;
cheia privat nu poate fi folosit pentru semnarea electronic a
documentelor sau mesajelor, deoarece mecanismul este bazat pe o
partajare secret.

85
Sisteme de criptare

Tehnica pentru criptarea cu cheie public

86
Sisteme de criptare

n cazul criptografiei cu cheie public se asigur


confidenialitatea datelor, numai destinatarul poate citi mesajul
primit - el deine cheia privat pentru decriptarea mesajului.
Totui, destinatarul nu poate fi sigur c mesajele recepionate
provin chiar de la cei care pretind c le-au expedit; oricine poate
folosi cheia sa public pentru expedierea de mesaje.
Criptografia cu cheie public nu o o nlocuiete pe cea cu cheie
secret. De fapt, cele dou tehnici se completeaz, pentru a oferi
un nivel ridicat de securitate, fr a diminua viteza i performana.

87
Sisteme de criptare

Exemplu de algoritmi de criptare care utilizeaz chei publice:


RSA (Rivest, Shamir si Aldeman): chei de mrime
variabil, n general ntre 512 i 2048 bii;
Curbe eliptice: chei de mrimi variabile, n general pe 160
de bii, comparabile ca securitate cu RSA de 1024 bii;

88
Sisteme de criptare

Semntura digital utilizeaz sistemele criptografice cu cheie


public care pot garanta:
confidenialitatea - criptarea mesajului transmis se realizeaz cu cheia
public a destinatarului;
autentificarea - criptarea mesajului transmis se realizeaz cu cheia
secret a celui care expediaz mesajul.

n 1991, a fost adoptat primul standard internaional pentru


semntura digital (ISO/IEC 9796) - are la baz schema cu cheie
public RSA.
n 1994, guvernul SUA a adoptat DSS (Digital Signature
Standard).
89
Sisteme de criptare

Funciile de dispersie (hash functions) au un rol fundamental n


sistemele criptografice moderne - reprezint un un instrument
pentru crearea rezumatului unui mesaj.
Funciile hash au ca intrare un mesaj de lungime variabil i
genereaz un mesaj de lungime fix, referit ca valoare hash, cod
hash, rezultat hash sau hash.
n mod obinuit, valoarea hash se reprezint pe 128 sau 160 de cifre
binare.
Cnd o funcie hash utilizeaz o cheie privat ca un parametru de
intrare secundar, ieirea va depinde att de mesaj ct i de cheie i
poart numele de codul de autentificare a mesajului (MAC -
Message Authentication Code). 90
Sisteme de criptare

Principalele caracteristici ale unei funcii hash sunt:


dintr-un mesaj de orice mrime se genereaz un bloc de date de
dimensiune redus i fix; executnd aceeai funcie hash
asupra aceluiai mesaj se va obine acelai rezultat;
rezultatul operaiei este imprevizibil - aceasta nseamn c o
modificare nesemnificativ a mesajului va determina o
schimbare radical a valorii hash;
este ireversibil - cu alte cuvinte, nu exist nici o modalitate de a
obine mesajul pornind de la valoarea hash.

91
Sisteme de criptare

Cele mai utilizate scheme pentru calcularea rezumatelor de mesaje


sunt:
MD2 (Message Digest) valoarea hash de 128 de bii;
MD4 valoarea hash este de 128 bii;
MD5 schem de dispersie standard n domeniu, valoarea
hash de 128 de bii;
SHA1 (Secure Hash Algorithm) valoarea hash este de 160
de bii.
92
Sisteme de criptare

Dac autentificarea mesajului recepionat este principalul obiectiv,


se procedeaz:
se genereaz mai nti un rezumat al mesajului, prin folosirea
unei funcii de dispersie;
se cripteaz rezumatul cu cheia privat a expeditorului;
mesajul criptat rezultat reprezint semnatura digital i se
poate ataa mesajului n clar.

93
Sisteme de criptare

Generarea codului pentru autentificare a mesajului


94
Sisteme de criptare

Operaia de verificare la recepie:


semnatura digital se va separa de mesajul n clar;
se aplic funcia hash (aceeai ca la emisie) mesajului n clar recepionat i
se obine un prim rezumat;
se decripteaz semnatura digital recepionat cu cheia public a
expeditorului, obinndu-se cel de al doilea rezumat al mesajului;
se compar cele dou rezumate obinute anterior. Dac rezumatele sunt
identice se poate declara c mesajul nu a fost alterat i provine de la
adevratul expeditor. n caz contrar, fie coninutul mesajului a fost
modificat prin canalul de comunicaie sau semnatura este fals.
95
Sisteme de criptare

Verificarea la recepie a integritii i autenticitii 96


Infrastructura de chei publice

Infrastructura de chei publice (PKI) ofer un cadru tehnic


(incluznd protocoale, servicii i standarde) pentru:
autentificarea utilizatorilor
confidenialitatea datelor
integritatea datelor
non-repudierea
managementul cheilor.

97
Infrastructura de chei publice

Infrastructura de chei publice conine urmtoarele componente:


1. Autoritatea de certificare (CA Certification
Authority): are rolul de a emite i revoca certificate
digitale*;
2. Autoritatea de nregistrare (RA Registration
Authority): are rolul de a valida cererile de emitere
certificate i identitatea entitilor finale;

*Certificatul digital reprezint o colecie de date n format electronic.

98
Infrastructura de chei publice

Infrastructura de chei publice conine urmtoarele componente


(continuare):
3. Depozite de certificate (Repository): stocheaz i
distribuie certificatele i listele de certificate revocate
(CRL Certificate Revocation List);
4. Entitile finale (End Entity): reprezint utilizatori,
dispozitive sau aplicaii software care folosesc certificatele
digitale pentru implementarea de servicii de securitate.

99
Infrastructura de chei publice

Model arhitectural
PKI
CA Certification Authority
RA Registration Authority

100
Infrastructura de chei publice

Autoritatea de certificare are urmtoarele


funcii de baz:
genereaz certificate pentru entitile
finale i pentru alte Autoriti de certificare;
gestioneaz informaiile despre starea
certificatelor i genereaz lista de certificate
revocate;
semneaz cerficatele digitale i listele de
certificate revocate;
public periodic lista de certificate
revocate;
arhiveaz certificatele expirate.

101
Infrastructura de chei publice

Un certificat digital X.509 include


urmtoarele elemente :
versiunea formatului de certificat
numr serial
cheia public de criptare;
informaii de identificare a
entitii care deine cheia privat
corespunztoare;
perioada de valabilitate a
certificatului pentru care acesta
este operaional;
semntura digital a Autoritii
102
de Certificare etc.
Infrastructura de chei publice

Utilizarea certificatului digital pentru semnarea electronic a


documentelor .pdf 103
Infrastructura de chei publice

Semnatura electronic este forma digital a semnturii olografe (cu aceleai


funcionaliti i aplicabiliti) - permite autentificarea unui document electronic;
Semntura electronic extins reprezint semntura care ndeplinete cumulativ
urmtoarele condiii:
este legat n mod unic de semnatar (persoana care deine un dispozitiv de
creare a semnturii electronice) ;
asigur identificarea semnatarului;
este creat prin mijloace controlate exclusiv de semnatar;
este legat de datele n form electronic, la care se raporteaz n aa fel nct
orice modificare ulterioar a acestora este identificabil;
Semntura electronic extins este acea semntur electronic realizat prin
utilizarea unui certificat calificat - singura semntur electronic cu valoare
104
legal.
Infrastructura de chei publice

Domeniile de aplicabilitate a semnturii extinse sunt:


depunerea declaratiilor on-line la ANAF;
semnarea facturilor (conform Cod Fiscal);
semnarea documentelor trimise pentru nfiinri de societi comerciale
(conform noilor reglementari privind nregistrarea n Registrul Comerului);
raportrile ctre CNVM;
raportrile ctre casele de snatate (CNAS, CASMB, OPSNAJ, CASMT);
semnarea i/sau criptarea mesajelor trimise prin e-mail ctre parteneri etc.

Registrul furnizorilor de servicii de certificare:


http://www.mcsi.ro/Minister/Domenii-de-activitate-ale-
MCSI/Tehnologia-Informatiei/Servicii-
electronice/Semnatura-electronica 105
Infrastructura de chei publice

La nivel european, CEN/ISSS (European Committee for


Standardization/Information Society Standardization System) WS/E-Sign
se ocup cu elaborarea specificaiilor pentru sistemele i dispozitivele
folosite pentru crearea de semnturi electronice cu valoare juridic.

Componentele de baz ale unui sistem de creare semnturi sunt:

aplicaia software de creare semnturi - se execut sub un sistem de


operare pe o platform hardware dat (PC, PDA etc.)

dispozitivul securizat de creare semnturi - conine datele necesare


semnturii; dac pentru semnare se folosesc algoritmi criptografici
asimetrici, dispozitivul deine cheia privat; dac dispozitivul este un
smart card, va fi necesar un cititor de smart card.

106
Infrastructura de chei publice

2 3

e-gate USB smart card


107
Infrastructura de chei publice

e-gate USB smart card a fost testat pe sistemele de operare:


Microsoft Windows 98 (Second Edition)
Windows Me
Windows 2000 (Service Pack 4)
Windows XP Professional (Service Pack 1)

e-gate USB smart card necesit:


procesor la 133 MHz, RAM de 32 MB
disponibil USB

108
Infrastructura de chei publice

Componente ale smart cardului 109


Infrastructura de chei publice

Sistemele PKI sunt implementate n multe din protocoalele de


comunicaie n reea:

S/MIME (Secure/Multipurpose Internet Mail Extensions) a


fost dezoltat de ctre RSA Data Security i se ocup de
securitatea mesajelor de pot electronic n Internet,
utiliznd criptarea cu cheie public.
SET (Secure Electronic Transaction) reprezint un standard
deschis pentru domeniul comercial, avnd capacitatea de a
securiza tranzaciile prin cri de credit pe Internet. A fost
dezvoltat de Visa, MasterCard, IBM, Microsoft. Protocolul
are la baz certificatele digitale.
110
Infrastructura de chei publice

Implementri PKI (continuare):


Protocolul SSL (Secure Socket Layer) a fost dezvoltat de ctre
Netscape pentru a asigura securitatea transferului informaional
ntre aplicaiile de tipul client-server de pe Internet.
este un protocol independent de platforma i de aplicaie;
furnizeaz sevicii de autentificare, compresie de date, criptare i
integritate a datelor;
scopul principal al SSL este de a asigura securitatea conexiunii ntre
dou aplicaii;
face apel la noiunile de semnturi digitale i certificate, lucru care nu
permite ascultarea, interceptarea sau falsificarea informaiei schimbate
ntre cele dou pri.
111
Infrastructura de chei publice

Implementri PKI (continuare):


IPSec reprezint un set de specificaii pentru servicii de autentificare,
integrare i confidenialitate, bazate pe criptografie la nivelul datagramei IP.
Standardul poate fi folosit pentru construirea reelelor virtuale private
(VPN) pe Internet.
PPP (Point to Point Protocol) este folosit de ctre ISP pentru conexiunile
dial-up. Reprezint un standard pentru transmisiile de pachete IP pe liniile
seriale ntre dou puncte. Pentru autentificare utilizeaz cele dou
protocoale: PAP (Password Authentification Protocol) i CHAP (Challenge
Handshake Authentification Protocol) care are la baz criptarea.

112
Securitatea comunicaiilor

Firewall este numele generic al unei componente de reea care controleaz


traficul ntre reeaua de calculatoare a unei organizaii i reelele externe, prin
utilizarea unor politici de securitate

Controlul traficului prin firewall


113
Securitatea comunicaiilor

Principalele funcii ale unui firewall sunt:


blocheaz accesul la site-uri particulare din Internet;
limiteaz traficul la unele servicii publice ale organizaiei (se au n vedere
adrese IP i porturi);
interzice anumitor utilizatori accesul la unele servere i servicii;
monitorizeaz comuniciile ntre reeaua intern i o reea extern;
monitorizeaz i nregistreaz toate comunicaiile ntre o reeaua intern i
reelele externe;
cripteaz pachete transmise prin reele VPN.

114
Securitatea comunicaiilor

Firewall-urile pot fi clasificate dup:


nivelul modelului de referin OSI (Open Systems Interconnect) la care
opereaz:
ruter pentru filtrarea pachetelor: acioneaz la nivel reea;
inspectarea n funcie de stare (stateful inspection): nivel transport;
firewall la nivel de aplicaie: nivel aplicaie.

modul de implementare.

115
Securitatea comunicaiilor
Firewall-ul pentru filtrarea pachetelor deine funcii pentru controlul
accesului pe baza unui set de reguli.
Mecanismul de filtrare are capacitatea de identificare a pachetelor i de
specificare a modului n care acestea vor fi tratate (acceptate, ignorate sau
refuzate).
Regulile dup care acioneaz filtrarea pachetelor sunt stocate n tabele
configurate de administratorul de sistem sau ofierul de securitate.
Firewall-ul pentru filtrarea pachetelor are dou avantaje principale:
viteza - deoarece datele corespunztoare nivelurilor superioare nu
sunt examinate

simplitatea.
116
Securitatea comunicaiilor

Reguli pentru un firewall cu filtrarea de pachete (adresa IP 193.232.3.0 este alocat


reelei securizate)

Adresa surs Port surs Adresa Port Aciunea Descrierea


destinaie destinaie
Oricare Oricare 193.232.3.0 > 1023 acceptat Accept n
(reea intern) reeaua intern
pachete de
rspuns
193.232.3.1 Oricare Oricare Oricare refuzat Blocheaz
accesul spre
exterior
Oricare Oricare 193.232.3.1 Oricare refuzat Blocheaz
accesul din
exterior
117
Securitatea comunicaiilor

Dezavantaje ale firewall-urilor pentru filtrarea pachetelor:


nu pot preveni atacurile care exploateaz vulnerabilitile sau funciile
specifice aplicaiei (nu examineaz datele nivelurilor superioare);
funcia de notificare este redus, deoarece informaiile disponibile n
firewall sunt limitate;
nu suport scheme avansate pentru autentificarea utilizatorilor;
sunt vulnerabile la atacuri prin care se utilizeaz elemente specifice
stivei de protocoale TCP/IP, cum ar fi falsificarea adresei nivelului
reea, rutarea prin surs, fragmentarea unui pachet IP;
sunt susceptibile s creeze bree de securitate printr-o configuraie
necorespunztoare.

118
Securitatea comunicaiilor
Firewall cu monitorizare complet a strii: un filtru de pachete care
ncorporeaz elemente necesare pentru crearea unui catalog unde sunt
nregistrate toate conexiunile TCP solicitate din reeaua intern.
Dezavantaj: mai dificil de administrat n comparaie cu alte tipuri de firewall-
uri, datorit complexitii sale.

Adresa surs Port surs Adresa destinaie Port destinaie Starea conexiunii

193.232.3.100 1030 210.9.88.29 80 Stabilit

193.232.3.102 1031 216.32.42.123 80 Stabilit

193.232.3.101 1033 173.66.32.122 25 Stabilit

193.232.3.106 1035 177.231.32.12 79 Stabilit

119
Securitatea comunicaiilor

Tipurile de firewall la nivel


aplicaie:
poart la nivel de aplicaie
(application level gateway)
sau agent proxy
poart la nivel de circuit
(circuit level gateway)-
realizeaz o conexiune
controlat (circuit virtual)
ntre un host intern i altul
extern.
Firewall poart la nivel aplicaie
120
Securitatea comunicaiilor

Dac ntr-o reea intern este instalat un proxy, cnd se lanseaz o cerere
ctre un server din Internet:
cererea de la un calculator va fi transmis ctre serverul proxy;
serverul proxy contacteaz serverul de pe Internet cu adresa sa, ca adres surs
(nu cu a hostului care a lansat cererea);
serverul proxy recepioneaz datele de la serverul de pe Internet i le transmite
hostului care le-a solicitat.
Adresa IP a unui calculator intern nu va fi cunoscut n afara reelei.
Serverele proxy nregistreaz informaii despre cererile i transferurile
efectuate ca, ulterior, s se poat face o analiz a accesului la Internet.

121
Securitatea comunicaiilor

Sistemele pentru detectarea intruziunilor (IDS - Intrusion Detection


Systems) componente software i hardware care:
proceseaz evenimentele din sistem sau reea
monitorizeaz evenimentele din sistem sau reea
analizeaz evenimentele

semnalizeaz problemele de securitate.

122
Securitatea comunicaiilor

Honey pots sunt sisteme capcan desemnate s atrag un potenial atacator de a


aciona asupra unor sisteme critice.
Avantaje ale honey pots:
direcionarea unui atacator ctre un sistem momeal, pentru a nu produce
pagube unor sisteme critice;
colecteaz informaii despre activitatea atacatorului;
aciunile atacatorilor pot fi uor i mai intensiv monitorizate, iar
rezultatele pot fi utilizate pentru rafinarea modelelor i mbuntirea
sistemelor de protecie;

123
Securitatea comunicaiilor

Dezavantaje ale honey pots:


implicaiile legale pentru utilizarea acestor dispozitive nu sunt bine
definite;
honey pots nu sunt suficient prezentate pentru a fi utilizate n tehnologia
de securitate;
un atacator expert, odat direcionat ctre un sistem momeal, poate
deveni mai agresiv prin aciunile sale distructive asupra sistemelor
organizaiei;
un nalt nivel de expertiz este necesar pentru administratorii i managerii
de securitate pentru a comanda instalarea i utilizarea acestor sisteme.
Un honeynet reprezint un ansamblu de honey pots interconectate, pentru a simula
o infrastructur de reea.
124
Securitatea comunicaiilor

Avantaje ale sistemelor pentru detectarea intruziunilor:


detectarea intruziunilor;
evidena activitilor de intruziune;
automatizarea rspunsului;
interfa cu alte instrumente de sistem;

management n politica de securitate.


Dezavantaje:
limitri n definirea politicii;
vulnerabiliti la nivel de aplicaie;
mijloace de acces la aplicaii prin care sunt ocolite controalele de
securitate; limitri n schemele de identificare i autentificare. 125
Securitatea comunicaiilor

Complexitatea mediului IT reflect condiiile n care sistemul de


afacere va fi plasat.
Un sistem autonom (Small Office/Home Office - SOHO), uneori
denumit Standalone, se refer la o firm de mici dimensiuni sau
cu sediul la domiciliu i care include diverse dispozitive -
laptopuri, dispozitive mobile, calculatoare desktop, sisteme de
telecomunicaii ntr-o reea n band larg. Acest tip de sistem
reprezint un mediu de afacere foarte simplu.

126
Securitatea comunicaiilor

Mediul SOHO
127
Securitatea comunicaiilor

Practicile comune de securitate acceptate pentru mediile autonome sunt:


Utilizarea unui firewall dedicat pentru conexiunea la Internet;
Utilizarea unor produse firewall personale pe sistemele autonome;
Aplicarea n mod regular a updates i a patches pentru aplicaii (software antivirus,
browser Web, client e-mail) i sistemul de operare;
Produsele client pentru Web i e-mail s fie configurate pentru blocarea
traficului/mesajelor care pot conine cod distructiv;
Dezactivarea aplicaiilor care nu sunt necesare (servere Web personale, SNMP,
mesagerii);
Utilizarea criptrii pentru traficul din/spre reelele mobile;
Restricionarea sistemelor/utilizatorilor care se pot conecta la reele LAN cablate i
necablate;
Restricionarea accesului la resursele partajate, cum ar fi directoare i imprimante;
Proceduri de backup i recuperare;
Proceduri de securitate fizic. 128
Securitatea comunicaiilor

n schimb, o ntreprindere deine un mediu IT complex: include


numeroase sisteme, cu arhitecturi diverse, iar accesul la reea se
poate realiza prin mai multe tehnici.
Complexitatea sistemului presupune multe aplicaii interconectate,
protocoale diferite, mai multe categorii de utilizatori i accesul la
diferite clase de date.
Riscul nalt al mediului IT msoar susceptibilitatea mediului de a
fi atacat. Vulnerabilitatea poate exista chiar prin concepia
sistemului. Hackerii vor urmrii s atace prin elementele
vulnerabile ale sistemului.

129
Securitatea comunicaiilor

Mediu de ntreprindere
130
Securitatea comunicaiilor

Practicile comune de securitate acceptate pentru mediile de ntreprindere sunt:


Segmentarea reelelor interne prin firewall-uri i alte tehnici de aprare;
Managementul centralizat al sistemului, cu restricionarea accesului utilizatorilor;
Managementul centralizat al aplicaiilor de securitate, cum ar fi produsele
antivirus;
Instalarea automat a patches i updates pentru sisteme de operare i aplicaii;
Restricionarea accesului la imprimant i la dispozitivele multifuncionale;
Sistem centralizat pentru monitorizarea fiierelor log (jurnalizare);
Faciliti centralizate pentru backup i recuperare.

131
Securitatea comunicaiilor

Mediu de nalt securitate

132
Securitatea comunicaiilor

Practicile comune de securitate acceptate pentru mediile securizate sunt:


Numrul tipurilor de date prelucrate prin sistem este redus (nu se combin prea multe servere
de aplicaii pe un acelai sistem);
Sistemele trebuie s elimine toate serviciile i aplicaiile care nu sunt necesare;
Dac este posibil, se va utiliza cte o aplicaie firewall pentru fiecare host;
Numrul utilizatorilor care vor accesa sistemul va fi limitat la strictul necesar;
Autentificarea se impune (token de autentificare, autentificarea biometric, smart card);
Administrarea sau accesul de la distan trebuiesc s fie restricionate - dac se utilizeaz,
conexiunea trebuie s fie criptat;
Patches i updates legate de securitatea aplicaiilor i sistemelor de operare trebuiesc s fie
testate i aplicate pe ct posibil;
Sistemele vor fi plasate n spatele unor firewalls i a altor dispozitive pentru securitatea
reelei, pentru restricionarea i filtrarea protocoalelor care nu sunt necesare;.
Detectarea intruziunilor i fiierele de jurnalizare vor fi monitorizate;
Instrumentele pentru testarea vulnerabilitilor sistemului vor fi folosite n mod periodic;
Administratorii sistemului trebuiesc s fie profesioniti n tehnologiile utilizate. 133
Securitatea comunicaiilor

Un mediu de afacere poate include mai multe zone de securitate:


zona necotrolat: Internet este o reea global, conecteaz milioane de
calculatoare, prin urmare nu poate fi controlat;
zona controlat:
zona demilitarizat spre Internet (DMZ Internet) este n general o
zon controlat care conine componente prin care clienii comunic
direct. Ea reprezint un buffer ntre Internet i reeaua intern.
Transportul ntre o zon controlat i una necontrolat este clasificat
ca fiind public.
Intranet este n mod obinuit o zon controlat, care conine
componente prin care se comunic n mod direct;

134
Securitatea comunicaiilor

zona restricionat (o reea de producie): una sau mai multe zone pot fi
desemnate ca restricionate, ele suport funcii prin care accesul este controlat
riguros i nu este permis accesul direct dintr-o reea necontrolat. Reeaua este
limitat prin unul sau mai multe firewall-uri;
zona sigur (o reea de administrare): accesul este disponibil numai unui grup
restrns al personalului autorizat.

135
Securitatea comunicaiilor

Zonele de securitate 136


Ameninri asupra aplicaiilor Web

Realizarea de aplicaii Web distribuite n mod securizat este o provocare.


n general, atenia este concentrat asupra urmtoarelor cerine de
securitate:
autentificarea: identificarea clienilor care acceseaz aplicaia
autorizarea: furnizeaz controale de acces pentru clieni
comunicaii securizate: mesajele s rmn private i s nu fie
modificate de entiti neautorizate.

137
Ameninri asupra aplicaiilor Web

Clasificarea ameninrilor se realizeaz dup seciunea n care


se manifest:
autentificarea: inta atacurilor unui site web este metoda de validare
a identitii unui utilizator, serviciu sau aplicaie.
Brute Force: automatizarea atacului printr-un proces de ncercri
pentru depistarea numelor utilizatorilor, parolelor, numerelor cardurilor
de credit sau al cheilor de criptare.
autentificarea insuficient permite unui atacator s acceseze coninut
sensibil sau sevicii fr o autentificare proprie.
validarea pentru recuperarea parolelor slabe permite unui atacator s
obin n mod ilegal, modificarea sau recuperarea unei parole a altui
utilizator.

138
Ameninri asupra aplicaiilor Web

autorizarea: inta atacurilor un site web este metoda de a determina dac


un utilizator, serviciu sau aplicaie deine permisiunile necesare pentru a
efectua aciunea solicitat.
predicia acreditrilor/sesiunii este o metoda pentru deturnare a
drepturilor unui alt utilizator sau pentru a pretinde c este un alt
utilizator.
autorizarea insuficient permite accesul la coninut sensibil sau
funcii care ar trebui s solicite mai multe restricii de control al
accesului.
expirare sesiune insuficient permite unui atacator s refoloseasc
drepturile alocate anterior sau ID-uri de sesiuni pentru autorizare.
fixarea sesiunilor se refer la atacurile n for la ID-ul de sesiune a
unui utilizator pentru identificarea explicit a valorii. 139
Ameninri asupra aplicaiilor Web

atacurile pe partea-client se concentreaz pe abuzul sau exploatarea


utilizatorilor unui site web. Atunci cnd un utilizator viziteaz un site web,
se stabilete o relaie de ncredere ntre cele dou pri. Un atacator poate
utiliza mai multe tehnici pentru a exploata ncrederea utilizatorului.
falsificarea de coninut (Content Spoofing): pclirea unui utilizator
c un anumit coninut care apare pe un site web este legitim i nu de la
o surs extern.
scripturi de pe site (Cross-site Scripting - XSS) foreaz un site web
s repete cod maliios executabil, care se va ncrca n browser-ul
utilizatorului.

140
Ameninri asupra aplicaiilor Web

execuia de comenzi se refer la atacurile concepute pentru a executa comenzi


de la distan pe site-ul web. Toate site-urile web utilizeaz formuri pentru
preluarea de date de la utilizatori. Deseori, datele furnizate de utilizatori sunt
folosite pentru generarea unor comenzi n vederea obinerii unor pagini web
dinamice. Dac procesul este nesecurizat, un atacator poate modifica comanda
de executie.
Buffer Overflow atacurile modific fluxul unei aplicaii prin suprascrierea unei
pri din memorie.
Format String Attack modific fluxul unei aplicaii, prin utilizarea facilitilor din
biblioteca de formatare, pentru a accesa alt spaiu de memorie.

141
Ameninri asupra aplicaiilor Web

execuia de comenzi (continuare)


LDAP Injection atacurile exploateaz site-uri web prin construirea de comenzi
LDAP de la intrrile furnizate de utilizator.
OS comandant se execut comenzi ale sistemului de operare pe un site web prin
manipularea intrrilor aplicaiei.
SQL Injection: construirea de interogri SQL ilegale de la intrrile furnizate de
utilizator.
SSI Injection (numit i server-side Include) trimiterea de cod ntr-o aplicaie web,
care mai trziu se executat local de ctre serverul web.
XPath Injection construiete o cerere XPath de la intrarea furnizat de utilizator.

142
Ameninri asupra aplicaiilor Web

dezvluirea informaiilor se refer la atacurile concepute pentru a obine


informaii specifice sistemului care gzduiete un site web. Informaii
specifice sistemului includ software-ul, numr de versiune i nivelurile de
patch-uri i/sau localizarea fiierelor de backup i temporare.
atacurile logice se concentreaz asupra abuzului sau exploatrii fluxului
logic al aplicaiilor web.
Logica aplicaiei presupune un flux procedural utilizat n scopul
realizrii unor aciuni.
Recuperare parolei, nregistrarea contului, oferta de licitaie i achiziiile
de comer electronic sunt exemple pentru logica aplicaiei.
Un site web poate solicita unui utilizator sa efectueze o multitudine de
pai pentru finalizarea unei aciuni particulare.
Atacatorul poate fi n stare s eludeze sau s abuzeze de acestea pentru a
face ru unui site web i utilizatorilor si. 143
Concluzii

Cerinele de securitate vor fi realizate prin intermediul serviciilor de securitate:


servicii suport: servicii care pun n eviden capabilitile de securitate
ale tehnologiei informaiei;
servicii de prevenire: serviciile centrate pe evitarea incidentelor care ar
putea aprea din cauza unor bree de securitate;
servicii de recuperare: serviciile din aceast categorie sunt focalizate
pe recuperarea informaiilor n caz de incident.

144
Concluzii

Servicii de securitate 145


Concluzii

Detectarea i recuperarea. Deoarece setul msurilor de prevenire nu este perfect,


este necesar s se detecteze eventualele breele de securitate i s se acioneze
pentru a se reduce impactul lor. Serviciile incluse n aceast categorie sunt:
Auditul evenimentelor relevante ale securitii este operaia cheie n cazul
unor situaii i pentru recuperarea din breele de securitate. Auditul de
securitate este responsabil cu capturarea, analiza, raportarea, arhivarea i
regsirea nregistrrilor pentru evenimentele i condiiile din soluia
informatic.
Detectarea intruziunilor i politica de depistare a situaiilor de insecuritate
este esenial n luarea unor msuri n timp util.
Proba integritii are rolul s determine dac integritatea datelor sau a
sistemului a fost compromis.
Restabilirea strii de securitate, dac o bre de securitate survine,
sistemul trebuie s aib capacitatea s revin la starea ce este cunoscut ca
sigur. 146
Bibliografie

[NAST07] Nstase P. (coordonator), Stanciu V., Eden A., Nstase F., Popescu
G., Gheorghe M., Bbeanu D., Boldeani D., Gavril A., Auditul i controlul
sistemelor informaionale, Editura Economic, 2007

[BICA05] I. Bica, Securitatea documentelor electronice n reelele de


calculatoare, Editura Academiei Tehnice Militare, Bucureti, 2005

[***] NIST, Special Publication 800-35, Guide to Information Technology


Security Services, 2003, http://csrc.nist.gov/publications/

Resurse Internet

147

You might also like