Professional Documents
Culture Documents
Cibernetic Economic
Afaceri electronice
3
Cuprins curs
4
Introducere
Rolul TIC n afaceri
Competene TIC
Contextul actual
eRomania
5
Rolul TIC n afaceri
6
Rolul TIC n afaceri
stocarea datelor
regsirea datelor
prelucrarea datelor
comunicaie
8
Rolul TIC n afaceri
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
11
Rolul TIC n afaceri
reingineria proceselor;
12
Rolul TIC n afaceri
15
Competene TIC
16
Competene TIC
17
Competene TIC
18
Competene TIC
21
Contextul actual
puterea economic;
stabilitatea politic;
fiscalitatea;
spiritul antreprenorial;
gradul de inovare (msurat prin brevete, bugetul alocat pentru cercetare &
dezvoltare) .
25
Contextul actual
identificarea electronic .
26
Contextul actual
strategia de e-guvernare ;
27
Contextul actual
28
Contextul actual
Clasamentul EUI dup scorul general (sursa:Digital economy rankings 2010, EUI)
29
Contextul actual
32
Contextul actual
34
Contextul actual
(Sursa: The Global Information Technology Report 2013, 2013 World Economic Forum, p. 11) 36
Contextul actual
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
tineretul n micare
40
Agenda digital pentru Europa
41
Agenda digital pentru Europa
lipsa de interoperabilitate;
realizarea unui spaiul unic de plat n euro (Single Euro Payment Area SEPA)
45
Agenda digital pentru Europa
46
Agenda digital pentru Europa
47
Agenda digital pentru Europa
48
Agenda digital pentru Europa
49
Agenda digital pentru Europa
(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
Situaia FTTH (Fibre to the Home) n luna iulie 2009 (Sursa: Point Topic) 53
Agenda digital pentru Europa
55
Agenda digital pentru Europa
57
Agenda digital pentru Europa
59
Agenda digital pentru Europa
reducerea costurilor
debirocratizarea
eliminarea corupiei
2
Ce este afacerea electronic?
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?
7
Ce este afacerea electronic?
9
Ce este afacerea electronic?
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?
12
Ce este afacerea electronic?
13
De ce afaceri pe Internet?
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?
Ierarhia Internet
15
De ce afaceri pe Internet?
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.
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).
20
De ce afaceri pe Internet?
23
Alte tipuri de reele suport pentru afaceri
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.
27
Alte tipuri de reele suport pentru afaceri
28
Alte tipuri de reele suport pentru afaceri
29
Alte tipuri de reele suport pentru afaceri
31
Alte tipuri de reele suport pentru afaceri
35
Alte tipuri de reele suport pentru afaceri
37
Crearea de valoare prin e-Business
39
Beneficiile afacerilor electronice
40
Beneficiile afacerilor electronice
(pentru ntreprinderi)
43
Bariere n afacerile 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).
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
54
Importana World Wide Web pentru e-Business
mesageria instantanee
motoare de cutare
56
Importana World Wide Web pentru e-Business
agent de cutare
57
Importana World Wide Web pentru e-Business
stream-uri mass-media
cookies
58
Importana World Wide Web pentru e-Business
59
Importana World Wide Web pentru e-Business
Wiki: aplicaie Web care permite unui utilizator s aduge i editeze coninutul
de pe o pagin Web;
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
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
64
Motive pentru a ncepe o afacere n mediul
electronic
66
Departamentul de Informatic i
Cibernetic Economic
Modele de afaceri
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
3
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?
9
Definiii ale modelului de afacere
10
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.
12
Framework-uri pentru modele de afacere
16
Business Model Canvas
(Sursa:
https://docs.google.com/presentation/d/1wObawm1l49FPdEDcPX65WrujmYvvy0el2HgmarmJS2M/edit#slide=id.g387605415_12)
17
Business Model Canvas
18
Business Model Canvas
19
Business Model Canvas
20
Business Model Canvas
21
Business Model Canvas
22
Business Model Canvas
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?
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?
(Sursa: https://bmimatters.com/tag/business-model-canvas-examples/) 25
Business Model Canvas
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
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
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
37
Business Model Canvas Tools
38
Business Model Canvas Tools
39
Four-Box Business Model
40
Four-Box Business Model
41
Four-Box Business Model
45
Clasificare a modelelor de afacere
46
Clasificare a modelelor de afacere
48
Clasificare a modelelor de afacere
49
Clasificare a modelelor de afacere
Modelul de Descrierea
afacere
E-shop Magazinul unei companii sau piaa de comercializare
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
5
Provocri tehnologice
Tehnologia cloud
Tehnologia Cloud computing este recunoscut ca reprezentnd o nou i
important direcie de inovare i investiie IT.
10
Provocri tehnologice
11
Provocri tehnologice
definirea profesiilor;
14 (Sursa: http://nhatnguyen.net/cloud-programming-concepts.aspx)
Ce este Cloud Computing?
15
Ce este Cloud Computing?
Pentru termenul de cloud computing, de-a lungul timpului, s-au dat o serie de
definiii, astfel:
16
Ce este Cloud Computing?
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?
20
Ce este Cloud Computing?
21
Ce este Cloud Computing?
22
Ce este Cloud Computing?
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
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
26
Principalele caracteristici ale cloud-ului
27
Avantaje ale cloud computing
30
Dezvantaje ale 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
stocare, de reele.
40
On-site private cloud Out-sourced private cloud
Modele de implementare cloud computing
41
On-site Community Cloud Out-sourced Community Cloud
Modele de implementare cloud computing
42
Modele de implementare cloud computing
Cloud public
43
Modele de implementare cloud computing
45
Modele de implementare cloud computing
Cloud hibrid
46
Modele cloud computing
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.
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.
51
Principii de dezvoltare SLA pentru CC
52
Principii de dezvoltare SLA pentru CC
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
55
Principii de dezvoltare SLA pentru CC
56
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
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.
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.
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
69
Google Drive
(sursa:
70 http://www.gcflearnfree.org/googledriveanddocs/3.3)
Google Drive
71
Google Drive
72
Cloud Computing n Uniunea European
73
Cloud Computing n Uniunea European
74
Cloud Computing n Uniunea European
75
(sursa: Eurostat)
Cloud Computing n Uniunea European
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
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
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/
Infrastructura de e-business
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
software
coninut
angajai
clieni
parteneri
3
Introducere
platforme
aplicaii
baze de date
4
Introducere
5
Introducere
6
Introducere
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).
9
Interoperabilitatea definiii
11
Interoperabilitatea tipuri
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
18
Aplicaii pentru afaceri
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
20
Platforma aplicaiei
21
Platforma aplicaiei
28
Platforma aplicaiei
30
Platforma aplicaiei
31
Platforma aplicaiei
32
Platforma de aplicaii ca serviciu
33
Platforma de aplicaii ca serviciu
(Sursa: https://www.gartner.com/doc/reprints?id=1-31VGBY6&ct=160324&st=sb) 34
Platforma de aplicaii ca serviciu
scalabilitatea i performana
35
Componente ale aplicaiilor distribuite
37
Componente ale aplicaiilor distribuite
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
45
Componente ale aplicaiilor distribuite
46
Componente ale aplicaiilor distribuite
RPC
47
Componente ale aplicaiilor distribuite
48
Componente ale aplicaiilor distribuite
49
Aplicaia Web
50
Aplicaia Web
Componentele unei
aplicaii Web
52
Aplicaia Web
54
Aplicaia Web
55
Aplicaia Web
56
Aplicaia Web
57
Aplicaia Web
61
Categorii de modele pentru aplicaiile de
e-business
63
Categorii de modele pentru aplicaiile de
e-business
64
Categorii de modele pentru aplicaiile de
e-business
67
Categorii de modele pentru aplicaiile de
e-business
68
Categorii de modele pentru aplicaiile de
e-business
73
Model C2C: http://www.ebay.com/
Categorii de modele pentru aplicaiile de
e-business
77
Modelul B2C
79
Elemente ale unei afaceri de comer electronic (B2C)
Modelul B2B
Integrarea aplicaiilor
orientat pe informaii
permite transferul
informaiilor ntre
sistemele surs i
destinaie, respectnd
o anumit schem.
83
Modelul B2B
84
Modelul B2B
86
Partajarea
datelor/informaiilor
Modelul B2B
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
94
Colaborarea
Modelul B2B
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)
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)
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)
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)
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)
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)
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)
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)
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)
124
Modele de afaceri pentru e-commerce (28)
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
126
Modele de afaceri pentru e-commerce (30)
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)
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)
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)
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
138
Departamentul de Informatic i
Cibernetic Economic
ntreprinderea i afacerile
electronice
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
3
Arhitectura ntreprinderii
4
Arhitectura ntreprinderii
Aliniere strategic
Strategia de Strategia
afacere tehnologic
Concepte de Tehnologii
afaceri disponibile
Capaciti Capaciti
Operaionale tehnologice
Eficientizarea afacerii
7
Arhitectura ntreprinderii
8
Arhitectura ntreprinderii
- principii arhitecturale;
- instrumentele de dezvoltare.
9
Arhitectura ntreprinderii
- standardele EA existente;
Elemente EA
(sursa: Entreprise Architecture Validation, Institute For Enterprise Architecture
Developments -IFEAD, 2001-2004, pag. 6 )
12
Arhitectura ntreprinderii
- 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.
17
Arhitectura ntreprinderii
20
Arhitectul IT
Poziia arhitecilor IT 21
Arhitectul IT
24
Care este valoarea EA?
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
influenced
TISAF influenced
E2AF
1997 2003
influenced
30
Enterprise Architecture Framework
(sursa: http://EnterpriseArchitecture.nih.gov)
31
Enterprise Architecture Framework
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
34
Enterprise Architecture Framework
37
Framework Zachman
38
Framework Zachman
Aspecte:
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
Istoric n producie
Larg acceptare
Instrumentul de planificare
41
Framework TOGAF
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)
42
Framework TOGAF
(Sursa: http://www.eadynamicsuk.com/?name=blog&op=entries&blogCat=C0F0E2CB-ED8F-453E-5B2B2846A6D12F1D)
43
Framework TOGAF
44
Framework TOGAF
45
Framework TOGAF
- Enterprise Continuum
- Modele de referin
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.
49
Framework TOGAF
Architecture Continuum
(sursa: http://pubs.opengroup.org/architecture/togaf9-doc/arch/chap39.html)
51
Framework TOGAF
52
Framework TOGAF
Capabiliti arhitecturale
(sursa: http://pubs.opengroup.org/architecture/togaf9-doc/arch/chap45.html)
54
Federal Enterprise Architecture Framework (FEAF)
55
Federal Enterprise Architecture Framework (FEAF v1)
56
Modelul de referin pentru afacere (FEAF)
57
Modelul de referin pentru afacere (FEAF)
58
Modelul de referin pentru componentele
de serviciu (FEAF)
59
Modelul de referin pentru componentele de
serviciu (FEAF)
60
Modelul de referin tehnic (FEAF)
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
65
Modelul de referin pentru date (FEAF)
66
Modelul de referin pentru date (FEAF)
67
Modelul de referin pentru performane (FEAF)
68
Modelul de referin pentru performane (FEAF)
69
Modelul de referin pentru performane (FEAF)
70
Modelul de referin pentru performane (FEAF)
71
Integrated Architecture Framework - (Capgemini)
Aspect Areas
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
Security / Governance
Architecture ViewPoints
72
Integrated Architecture Framework - (Capgemini)
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 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
79
Modelarea arhitecturii de ntreprindere prin
ArchiMate
81
External processes, roles and actors
ArchiMate Claim
registration
service
Customer
information
service
Claims
payment
service
Customer Claims
administration Payment
administration
service service
service
Customer Claim
information information
service service
Application layer
CRM Customer Policy Financial
system data administration application
Claim Customer
files files
service service
Infrastructure
Financial
Application
DB2 application
server
EJBs
LAN
82
Modelarea arhitecturii de ntreprindere
prin ArchiMate
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?
3
XML avantaje (1)
4
XML avantaje (2)
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
7
Exemplul de cod XML (ALTOVA XMLSpy)
8
Utilizarea unei foi de stil CSS: ex2css.xml
9
Utilizarea unei foi de stil CSS: ex2css.xml
(continuare)
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
14
XML standard universal pentru
interschimbarea documentelor
15
XML - standarde asociate (1)
17
XML - standarde asociate (3)
18
19
XML Aplicaii (1)
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)
23
XML Standarde pentru
comunicarea Business to Business
25
Elementele - sintaxa general
26
Elementele - exemplu
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)
29
Elementele - nume (2)
<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>
31
Atributele (1)
</mesaj>
32
Atributele (2)
33
Comentariile
34
Date analizabile
<AUTOR>Text analizat</AUTOR>
<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.
36
Referine la entiti
<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:
40
Codificarea n documentele XML (2)
41
Codificarea n documentele XML (3)
Nume cod Set de caractere
42
Codificarea n documentele XML (4)
Nume cod Set de caractere
43
Erori posibile n documentele XML
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)
47
Structura logic a unui document XML 48
Structura logic a unui document XML (2)
Declaraia XML;
Instruciunile de prelucrare;
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" ?>
50
Declararea instruciunilor de prelucrare
Instruciunile de prelucrare sunt declarate n cadrul documentului sub forma:
De exemplu, pentru afiarea unui document XML cu ajutorul unei foi de stil
XSL, se va utiliza urmtoarea instruciune de prelucrare:
Iar pentru afiarea unui document XML cu ajutorul unei foi de stil CSS,
se va utiliza urmtoarea instruciune de prelucrare:
51
Scheme asociate documentelor XML
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
56
Scheme asociate documentelor XML
<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
4
Namespace XML
Fiecare document XML poate avea definit propriul set de tag-uri sau
vocabular de marcaj.
5
Namespace XML
n cele mai multe situaii, referinele URI sunt folosite pentru a identifica
resurse fizice - pagini Web, fiiere care pot fi descrcate etc.
...
</nume_element>
</prefix:nume_element>
Spaiile de nume pot fi definite la nivelul unui element, fiind valide pentru
elementul respectiv i pentru toi descendenii si.
<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>
Asocierea unui URI unui spaiu de nume asigur c elementele cu acelai nume
rmn distincte. 12
Namespace XML
<?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'>
<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>
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
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
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:
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?
23
Faciliti ale XML Schema
24
XML Schema - structura
<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.
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.
Declararea atributelor
Declararea elementelor
30
XML Schema - componente
Alternativele tipurilor
Aseriuni
Declararea notaiilor
Adnotri
a) b)
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.
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.
<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
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)
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:
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
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.
<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>
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
51
XML Schema - exemplu
52
XML Schema - exemplu
<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
<?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
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:
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):
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">
71
Declararea tipurilor de elemente
72
Declararea elementelor-fiu
<?xml version="1.0"?>
<!DOCTYPE student [
<!--'student' conine trei elemente-fiu,ordinea
nu este impus-->
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'-->
79
Declararea elementelor-fiu
Exemplu (ex17.xml):
<?xml version="1.0" encoding="ISO-8859-2" standalone="yes"
?>
<!DOCTYPE examinare [
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
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
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
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
<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.
86
Declararea entitilor
Exemplu (ex21.xml):
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;
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 :
sau
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 :
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>
Elementele pot deine mai multe atribute. Fiecare atribut poate fi declarat
independent sau declaraile pot fi combinate :
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:
104
Declararea listei de atribute
Atributul ENTITIES este mai rar utilizat. Exemplu:
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>
]>
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 )
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 o sintax folosit pentru a selecta pri ale unui document XML;
XPath nu folosete sintaxa XML, dar este folosit foarte mult n XSLT.
Terminologie folosit
- nod element
- nod atribut
Calea de localizare este compus dintr-o serie de pai (1 sau mai muli)
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
Sintaxa: BIBLIO/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
Fiecare pas de localizare este evaluat n raport cu nodurile din setul curent
de noduri.
- zero sau mai multe predicate (pentru a rafina selectarea setului de noduri)
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
19
Calea de localizare
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.
22
XSLT
23
Concepte de baz ale XSL
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
26
Concepte de baz ale XSL
Doc1 Doc2
HTML HTML
27
Concepte de baz ale XSL
<?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
32
Structura unei foi de stil XSLT
</xsl:stylesheet>
<?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 -->
<?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
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
</xsl: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
</xsl:apply-templates>
40
Aplicarea regulilor template
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
42
Proiectarea unei foi de stil XSLT
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
<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
<xsl:template match="CARTEA">
<xsl:apply-templates/>
</xsl:template>
46
Proiectarea unei foi de stil XSLT
<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
<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 -->
</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.
<xsl:call-template
name = qname>
</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.
<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)
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)
<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)
<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>
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)
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>
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)
<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>
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)
72
Structuri condiionale ntr-un template (2)
<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>
<xsl:otherwise>
<!-- Coninut: template -->
74
</xsl:otherwise>
Structuri condiionale ntr-un template (4)
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: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" } />
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)
82
Sortarea (6)
83
Variabile i parametri (1)
84
Variabile i parametri (2)
85
Variabile i parametri (3)
86
Variabile i parametri (4)
<xsl:value-of select="$ed"/>
88
Variabile i parametri (6)
89
Variabile i parametri (7)
90
Variabile i parametri (8)
91
Variabile i parametri (9)
<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
97
Transformarea documentelor XML
98
Transformarea documentelor XML
</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
'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
102
Bibliografie
103
Informatic Economic
Feed-uri Web
1
Cuprins
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;
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?
6
Ce sunt feed-urile web?
<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?
13
Ce este RSS?
14
Ce este RSS?
15
Ce este RSS?
16
Avantajele RSS
18
Avantajele RSS
restaurante anunarea unor meniuri speciale pentru masa de prnz sau cin
21
Pentru ce este utilizat 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
27
Cititoare RSS
28
Cititoare RSS
29
Cititoare RSS
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
33
Creare flux RSS
34
Creare flux RSS
36
Creare flux RSS
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
4
Introducere
8
Introducere
11
Introducere
12
Prezentare ebXML
13
Prezentare ebXML
mrime i
localizare geografic,
16
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
27
Prezentare ebXML
Un scenariu ebXML
(sursa: Multiple Messaging Services Profile for ebMS 3.0, RosettaNet) 29
Arhitectura ebXML
31
Arhitectura ebXML
Arhitectura ebXML
Viziunea operaional
Arhitectura ebXML
Viziunea funcional
Arhitectura ebXML
Descoperire BP
41
Arhitectura ebXML
42
Arhitectura ebXML
43
Arhitectura ebXML
44
Arhitectura ebXML
Meta-modelul ebXML
Arhitectura ebXML
49
Arhitectura ebXML
51
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
56
Arhitectura ebXML (29)
Baza de
date
Interfaa Interfaa
Transport serviciului de
Run time
serviciului de
afacere afacere
Pachet
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
Standarde EDI:
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
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
Legturile dintre diferite clase sau pachete definesc clase de asociere numite
entiti informaionale de asociere (EIAS).
UBL-1.0-OrderDocumentAssembly.jpg
Modelul spreadsheet
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
UBL-Order-1.0.xml
Modelul de implementare
UBL-PartyImplementationDiagram-1.0.gif
UBL-OrderImplementationDiagram-1.0.gif
Exemplu
Documentul tipribil:
OfficeOrder.Example-a4.doc
Concluzii
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
2
Arhitectura orientat pe servicii
Exemple de un servicii:
4
Arhitectura orientat pe servicii
5
Arhitectura orientat pe servicii
7
Arhitectura orientat pe servicii
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.
9
Arhitectura orientat pe servicii
11
Arhitectura orientat pe servicii
Componente SOA:
13
Arhitectura orientat pe servicii
14
Arhitectura orientat pe servicii
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
17
Prezentare Web Services
18
Prezentare Web Services
20
Prezentare Web Services
21
Prezentare Web Services
22
Prezentare Web Services
23
Prezentare Web Services
24
Sursa: http://msdn.microsoft.com/
Prezentare Web Services
25
Prezentare Web Services
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
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
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.
30
Prezentare Web Services
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
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.
36
Prezentare Web Services
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
(http://www.service-architecture.com/articles/cloud-computing/service-oriented_architecture_soa_and_cloud_computing.html) 40
Web services i cloud computing
(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).
(http://www.service-architecture.com/articles/cloud-computing/web_services_and_cloud_computing.html) 42
SOAP (1)
44
SOAP (3)
45
SOAP (4)
Un mesaj simplu SOAP conine cele trei pri: anvelopa, antetul (opional) i
corpul.
Mesaj SOAP 46
SOAP (5)
50
SOAP (9)
51
SOAP (10)
<?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)
53
SOAP (12)
<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)
<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)
<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)
57
UDDI (1)
59
UDDI (3)
60
UDDI (4)
63
WSDL (2)
66
WSDL (5)
WSDL Schema
Interface Implementation
<definitions> <definitions>
<import> <import>
<types> <service>
<message> <port>
<portType>
<binding>
67
WSDL (6)
WSDL Schema
68
WSDL (7)
Tipuri de mesaje
69
WSDL (8)
WSDL Schema
Implementation
<service> specific detaliile <definitions>
despre implementare
<port> conine adresa
<import>
<service>
<port>
70
WSDL (9)
72
WSDL (11)
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)
76
Implementri Web Services (2)
77
Implementri Web Services (3)
Exemplu
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
81
Implementri Web Services (5)
Exemplu de client SOAP
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]));
}
85
Departamentul de Informatic i
Cibernetic Economic
Securitatea afacerilor
electronice
4
Concepte de baz ale securitii
5
Concepte de baz ale securitii
7
Concepte de baz ale securitii
8
Relaiile ntre conceptele de baz ale securitii
9
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
13
Concepte de baz ale securitii
Resursa
uman
Procese
Tehnologie
14
Concepte de baz ale securitii
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
17
User Controller Business Data Layer Backend
Functions
Detection
Intrusion
Logging
Control
Access
Users
20
Cerine de securitate
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
23
Cerine de securitate
24
Cerine de securitate
25
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
30
Cerine de securitate
Controale de securitate
32
Cerine de securitate
Rol i responsabiliti
33
Cerine de securitate
Rol i responsabiliti
36
Atacuri asupra securitii
38
Atacuri asupra securitii
39
Atacuri asupra securitii
44
Atacuri asupra securitii
47
Ameninri ale securitii
49
Standarde de securitate
52
Standarde de securitate
53
Arhitectura de securitate definit prin standardul ISO 7498-2.
54
Standarde de securitate
56
Standarde de securitate
57
Standarde de securitate
58
Standarde de securitate
64
Politica de securitate
66
Politica de securitate
68
Evaluarea riscului
Reducerea riscurilor
70
Etapele pentru evaluarea riscului
71
Evaluarea riscului
75
Sisteme de criptare
76
Sisteme de criptare
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
79
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
85
Sisteme de criptare
86
Sisteme de criptare
87
Sisteme de criptare
88
Sisteme de criptare
91
Sisteme de criptare
93
Sisteme de criptare
97
Infrastructura de chei publice
98
Infrastructura de chei publice
99
Infrastructura de chei publice
Model arhitectural
PKI
CA Certification Authority
RA Registration Authority
100
Infrastructura de chei publice
101
Infrastructura de chei publice
106
Infrastructura de chei publice
2 3
108
Infrastructura de chei publice
112
Securitatea comunicaiilor
114
Securitatea comunicaiilor
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
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
119
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
122
Securitatea comunicaiilor
123
Securitatea comunicaiilor
126
Securitatea comunicaiilor
Mediul SOHO
127
Securitatea comunicaiilor
129
Securitatea comunicaiilor
Mediu de ntreprindere
130
Securitatea comunicaiilor
131
Securitatea comunicaiilor
132
Securitatea comunicaiilor
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
137
Ameninri asupra aplicaiilor Web
138
Ameninri asupra aplicaiilor Web
140
Ameninri asupra aplicaiilor Web
141
Ameninri asupra aplicaiilor Web
142
Ameninri asupra aplicaiilor Web
144
Concluzii
[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
Resurse Internet
147