Documente Academic
Documente Profesional
Documente Cultură
Investete n oameni!
Programul Operaional Sectorial pentru Dezvoltarea Resurselor Umane 2007 2013
Proiect POSDRU/107/1.5/S/76813 Burse doctorale: investitii in cercetare-inovare-dezvoltare pentru viitor (DocInvest)
TEZ DE DOCTORAT
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi,
integrat prin tehnologii Internet of Services
COMISIA DE DOCTORAT
Preedinte Prof. dr. ing. Adina Magda Florea de la Universitatea Politehnica din Bucureti
Conductor de Prof. dr. ing. Aurelian Mihai de la Universitatea Politehnica din Bucureti
doctorat Stnescu
Referent Prof. dr. ing. Simona Iuliana de la Universitatea Politehnica din Bucureti
Caramihai
Referent Prof. dr. ing. Viorel Mnzu de la Universitatea Dunrea de Jos din Galai
Referent Prof. dr. ing. Mircea Ivnescu de la Universitatea din Craiova
Bucureti
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
2
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Cuprins
INTRODUCERE 10
1. Context economic actual i motivaia abordrii temei de dizertaie 10
3. Organizarea tezei 18
4. Lucrri susinute n vederea validrii publice a unor rezultate pariale ale demersului de
cercetare 19
ACKNOWLEDGEMENT 20
CAPITOLUL 1 21
1.2.1. Introducere 25
3
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
1.3.2.1. Introducere 39
1.3.2.2. Mediul de dezvoltare al organizaiilor virtuale 40
1.3.2.4. Concluzii 62
1.4. CONCLUZII 77
CAPITOLUL 2 78
2.3.1 Definiii 81
CAPITOLUL 3 114
5
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
CAPITOLUL 4 139
CAPITOLUL 5 152
CONCLUZII 166
ANEXE 169
BIBLIOGRAFIE 212
6
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
7
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
ABREVIERI
API Application Programming Interface
BPM Business Process Management (Managementul Proceselor de Afaceri)
BMPN Business Process Modeling and Notation
CAD Computer Aided Design
CIM1 Computer Integrated Manufacturing ( Producie asistat de calculator)
CIM2 Computer Independent Platform(Calculatoare independente de platform)
CN/RC Collaborative Network/Reea Colaborativ
CNO Collaborative Networked Organisation
CPS Cyber Physical System
DE Digital Enterprise
FI-PPP Future Internet Public Private Partnership
SME/IMM Small and Medium Enterprises/ntreprinderi Mici i Mijlocii
IP Indicatori de Performan
ICP/KPI Indicatori Cheie de Performan/ Key Performance Indicators
ICT Information and Communications Technologies
IoT Internet of Trust
IoS Internet of Services
IoK Internet of Knowledge
IoP Internet of People
KMS Knowledge Management System
MAS Multi Agent System
MDA Model Driven Analysis
MDD Model Driven Development
MP Msurarea Performanelor
OC Oportunitile de colaborare
ODP Open Distributed Processing
RDF Resource Description Framework
RFID Radio Frequency Identification
SBA Service Based Application
SBS Service Based System/Sistem Bazat pe Servicii
SCC Service Composition and Coordination
SI Service Infrastructure
SBA Service Based Application
SE Sensing Enterprise/ntreprinderea Vie
SLA Service Level Agreement
SMMDOV Sistem de Management al Mediului de Dezvoltare al Organizaiilor Virtuale
SOA Service Oriented Architecture
SOC Service Oriented Computing
URI Uniform Resource Identifier
VO Virtual Organisation
VBE Virtual Organisations Breeding Environment/Mediul de Dezvoltare al
Organizaiilor Virtuale
WSDL Web Service Description Language
WE Web Entrepreneurs/Antreprenorii Web
8
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
MULUMIRI
Prezenta lucrare a fost realizat n cadrul colectivului de Sisteme Dinamice cu Evenimente
Discrete al Facultii de Automatic i Calculatoare, Universitatea Politehnica din
Bucureti, sub coordonarea tiinific i atenta ndrumare a prof.dr.ing. Aurelian Mihai
Stnescu, cruia i aduc pe aceast cale calde mulumiri pentru sprijinul permanent i
nelegerea artat de-a lungul elaborrii acesteia.
Pe aceast cale doresc s le mulumesc doamnei prof.dr.ing. Simona Caramihai, domnului
prof.dr.ing. Mircea Ivnescu, domnului prof.dr.ing. Viorel Mnzu pentru
amabilitatea de a citi acest manuscris i pentru observaiile constructive i pertinente aduse.
Le mulumesc colegilor i prietenilor din cadrul facultii, n special: dr.ing. Georgiana Stegaru,
drd. Luiza Burlacu, l.dr.ing. Mihnea Moisescu, sl.dr.ing. Ioan Sacal, drd. ing. George Burlacu
i l.dr.ing. Clin Munteanu pentru ajutorul competent i sprijinul moral cu care m-au nconjurat.
Sincere multumiri doresc sa aduc si tuturor colegilor din universitate sau din alte centre
universitare, specialistilor din cercetare, proiectare si productie care vor avea amabilitatea si
rabdarea de a citi aceasta lucrare si de a comunica observatiile, sugestiile si aprecierile
dumnealor.
In final, dar nu in ultimul rnd, a dori s multumesc clduros pe aceasta cale familiei mele
pentru sprijinul moral i nelegerea oferite.
9
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
INTRODUCERE
n ultimii ani, dezvoltarea tehnologiilor ICT a permis evoluia internetului de la o simpl surs de
informare la o infrastructur care permite ntreprinderilor aflate n puternic concuren pe o pia
dinamic n curs de globalizare, specific noii economii digitale[1] integrarea sub modele de
management organizaional din categoria: ntreprindere Virtual, Organizaie Virtual, cluster,
etc., care pot fi denumite generic ntreprinderi Globale cu geometrie variabil. n ultimii ani,
sectorul e-serviciilor a cunoscut cea mai rapid cretere din lume, devenind un sector de afaceri
important n economia teriar[2]. Emergena unor paradigme pentru sisteme software ca de
exemplu: SaaS (Software as a Service), PaaS (Platform as a Service), IaaS (Infrastructure as a
Service), social web (Facebook, MySpace, LinkedIn) , Web 3.0(Semantic Web)precum i
explozia numrului de furnizori de coninut media, a terminalelor de comunicare (telefoane
inteligente, tablete, etc.) i a reelelor wireless de senzori (WSN - Wireless Sensor Networks)
ridic o problem major n ceea ce privete dezvoltarea ulterioar a tehnologiilor Future
Internet. nceput n anult 2012, direcia de cercetare DG2-CONNECT a lansat n cadrul
programului de parteneriat public-privat un ambiios program privind platforma pan-european
FI-WARE[3].
n acest context s-a dezvoltat o nou paradigm sistemic eterogen: FInES, denumit generic
Sisteme de mare complexitate pentru ntreprindere Virtual, dispersat geografic, integrate prin
tehnologii ICT specifice noului val de utilizare a Internetului. Motoarele de inovare sunt
cunoscute prin urmtoarele prescurtri IoS (Internetul Serviciilor), IoT (Internetul Obiectelor),
IoK (Internetul Cunoaterii), IoP(Internetul Socializrii). n acelai timp, FInES reprezint un
domeniu de cercetare multi-disciplinar i inter-disciplinar. [1]
Dintre cele patru motoare, Internetul Serviciilor reprezint o sintagm folosit pentru a descrie
felul n care serviciile compuse create sub form de servicii semantic web sunt utilizate ntr-o
gam larg de aplicaii, n domenii ca: industrie, logistic, financiar, e - Sntate, e - Energie, e -
Guvernan [3] i este bazat pe arhitectura SOA (Service Oriented Architectures).
de noi locuri de munc. SOA va susine transformarea ntreprinderilor n care indicatorii chei de
performan (KPI) vor fi urmrii cu ajutorul modelelor de tip RADAR, urmrind:
profitabilitatea, satisfacerea dorinelor clientului personalizat, agilitate, flexibilitate, scalabilitate,
etc..
11
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
12
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Producia inteligent are ca obiective: (i) gsirea unor noi ci inovative pentru producia
competitiv a unor materiale/produse noi sau existente care s satisfac nevoile unor piee n
continu cretere; (ii) crearea de procese agile n cadrul organizaiilor, capabile s rspund rapid
la fluctuaiile cerinelor clienilor; (iii) utilizarea eficient a resurselor; (iv) sustenabilitate prin
minimizarea impactului asupra mediului nconjurtor.
13
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
14
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Fig. 1.1. Primele cinci valuri i patru schimbri de paradigm avnd ca int FInES [31]
Agnes Kaposi i Margaret Myers [7] au propus o list de cinci trsturi fundamentale ale
paradigmei sistemice. Aceste cinci trsturi vor fi redate pe rndurile urmtoare [7]:
T1 ar trebui s fie construit n jurul a patru coloane disciplinare: tiin / Calcul / Inginerie /
Management.
T2 ar trebui s fie larg accesibile, cuprinztoare pentru orice persoan interesat, implicnd
membrii consiliului de administraie al organizaiei implicate n proiect, management,
subcontractori, specialiti, personal, politicieni, membri ai guvernului. Din aceast cauz,
conceptele trebuie s fie clar definite, definiiile trebuie s fie consistente i s formeze o
structur coerent. Folosirea notaiilor pentru o mai bun nelegere i evitarea ambiguitilor este
binevenit.
T3 ar trebui s utilizeze principiile avansate ale calitii. Conform acestor principii, un proiect
trebuie s satisfac nu numai cerinele clientului cel care pltete, dar trebuie s respecte i
mediul i s ia n considerare toate prile implicate ct i necesitile comunitii.
15
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
T5 ar trebuie s fie general: comun celei mai largi clase de probleme de dimensiune mic sau
mare, bazat pe filozofia teoriei sistemelor, i construite pe noiunea universal de sistem.
A.M. Stnescu a identificat un alt numr de ase trsturi ce pot fi adugate paradigmei sistemice
[8]. Acestea vor fi prezentate n continuare:
T6 ar trebui s fie susinut de ctre un suport formal coerent, bazat pe matematic discret,
meta-euristic i inteligen artificial.
T7 ar trebui s susin soluii centrate antropomorfic, dar avnd o abordare de tip CPS (Cyber
Physical System CPS).
T9 ar trebui s fie corelat cu alte paradigme complementare: nvarea pe tot parcursul vieii
(LLL), Internetul Viitorului i Ingineria Concurenta.
T10 dezvoltarea sistemului ar trebui s fie bazat pe noi abordri, i anume: MDA(Model
Driven Analysis), MDD(Model Driven Developmet), CIM2(Computer Independent Platform)
T11 ar trebui s foloseasc concepte noi, cum ar fi Software ca Serviciu (Software as a Service -
SaaS), Infrastructur ca Serviciu (Infrastructure as a Service - IaaS), Platform ca Serviciu
(Platform as a Service - PaaS ).
n continuare, prezenta lucrare va propune un set de noi trsturi importate pentru autor n ceea ce
privete paradigma sistemic.
T13 ar trebui s asigure un grad ct mai mare de adaptivitate al prilor componente i implicit
adaptivitatea sistemului.
FInES este paradigma sistemic care a stat la baza elaborrii programului individual de cercetare
n perioada 2010-2013.
Arhitectura de referin este, n esen, un model arhitectural predefinit, sau un set de modele,
parial sau complet instaniat/e, folosit cu succes ntr-o situaie particular de afacere sau ntr-un
context tehnic, mpreun cu artefactele care activeaz utilizarea sa.
Arhitectura de referin se refer la ingineria coerent i la proiectarea principiilor utilizate ntr-
un domeniu specific. Arhitectura de referin are drept obiectiv structurarea proiectrii unei
arhitecturi de sistem prin: definirea unei terminologii unificate, descrierea responabilitilor
16
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Scopul tezei este reprezentat de dezvoltarea unui cadru de modelare pentru managementul
organizaional al CNO.
17
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Care sunt paii unei proceduri ce trebuie aplicat n cadrul schimbrii organizaionale?
3. Organizarea tezei
Capitolul unu descrie stadiul actual al cunoaterii n domeniul sistemelor informaionale evoluate
complexe distribuite geografic dup cum urmeaz: trsturile caracteristice cadrului de modelare
al sistemelor informaionale evoluate (1.1), spaiul cunoaterii universului FInES(1.2.2) i
direcia de cercetare Horizon 2020 (1.2.3), clasa sistemelor Collaborative Networked Systems
(1.3.2), modele de compunere a serviciilor (1.3.3) i abordri privind adaptabilitatea aplicaiilor
orientate ctre servicii(1.3.4)
18
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Capitolul trei prezint soluia pentru problema identificat. Aceasta const ntr-un cadru de
modelare pentru managementul organizaional al metasistemului CNO organizat pe patru niveluri
i o metod ce conine mai muli pai ce vor fi aplicai n cadrul procesului de schimbare (3.3). n
(3.1) este prezentat ciclul de via al unei organizaii virtuale, iar n (3.2) sunt prezentate
dimensiunile VBE, acestea fiind extinse cu o vedere sistemic. n (3.4) este prezentat metoda
utilizat pentru implementarea mangamentului schimbrii n cadrul metasistemului CNO.
Capitolul patru prezint instrumentul software dezvoltat pentru analiza impactului schimbrilor la
nivel de procese modelate folosind standardul BPEL. n (4.2) este descris modelul de proces
orientat ctre servicii propus. n (4.3) este descris relaia dintre nivelul proces i nivelul servicii
iar n (4.4) este propus algoritmul pentru determinarea impactului schimbrilor n cadrul unui
proces orientat ctre servicii.
Capitolul cinci prezint studiul de caz. n (5.2) este descris scenariul propus iar n (5.3) sunt
descrise procesele BPEL create pentru studiul de caz descris, mpreun cu exemple de rulare a
aplicaiei dezvoltate pentru determinare a impactului schimbrilor la nivel de proces.
19
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Acknowledgement
20
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
CAPITOLUL 1
21
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
a) CNO
Prin prisma schimbrii de paradigm propus de trecerea de la societatea informaional la
societatea bazata pe cunoatere, comportamentul economic al ntreprinderilor si plasarea lor in
contextul social sufer modificri eseniale, n concordanta cu mediul de afaceri.
In acest context se poate observa evoluia ntreprinderii ntr-un mediu distribuit, interconectat,
precum si necesitatea transformrii modului de lucru in acest mediu.
Reelele colaborative (Collaborative Networks) reprezint una din cele mai relevante
paradigme organizaionale n cadrul industriei i al serviciilor. Participarea n cadrul unei reele a
devenit foarte important pentru o organizaie mic sau mijlocie care dorete s obin avantaje
asupra competiiei. Colaborarea reprezint o problem cheie n ceea ce privete ntmpinarea
cerinelor pieei, n special n sectorul de producie, prin schimbul de competene i resurse.
O reea colaborativ este o reea format din diferite entiti (organizaii, oameni, maini)
autonome, eterogene, distribuite geografic, dar care colaboreaz pentru atingerea unui scop
comun sau compatibil, aducnd astfel valoare adugat i ale crei interaciuni se bazeaz pe
infrastructura oferit de reelele de calculatoare . [9]
Un CNO poate fi definit ca un metasistem n care entitile / nodurile reelei sunt bazate pe
reelarea / relaionarea internetului viitorului i orientate organizaional pe un model
colaborativ.
22
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
In cadrul reelei colaborative se creeaz ntreprinderi virtuale (VO - Virtual Organization), entiti
independente de spaiul geografic, coerente si complementare din punct de vedere funcional.
Eficacitatea procesului de creare a ntreprinderilor virtuale st la baza apariiei unor organizaii
dinamice in cadrul unui mediu virtual de dezvoltare (VBE - Virtual Breeding Environment).
b) VBE
Virtual Breeding Environment (VBE) reprezint o asociaie de organizaii nfiinat pe baza unui
acord de cooperare pe termen lung, asociaie ce are ca principal scop posibilitatea crerii de
aliane temporare, uor configurabile. Principalul avantaj l constituie uurina de a gsi parteneri
n cadrul VBE, precum si posibilitatea de formare a unei reele colaborative n timp util, pentru a
eficientiza la maxim orice oportunitate de afacere. Conceptul de reea colaborativ este unul
dinamic, ntruct apar in permanen noi forme de reele colaborative in funcie de contextul
economic existent si de oportunitatea de afacere aprut.
c) IoS
Internetul Serviciilor (IoS - Internet of Services) reprezint o viziune a internetului n care orice
informaie, software, platform sau infrastructur este disponibil ca un serviciu web. Serviciile
web disponibile n cadrul IoS pot fi folosite de ctre oricine respect politica definit de
furnizorul de servicii. Avantajul major oferit de IoS este reprezentat de posibilitatea de a reutiliza
serviciile deja create pentru crearea de aplicaii cu o investiie minim n prealabil.
O definiie a serviciului web este publicat de ctre Consoriul World Wide Web (W3C) [7]:
Un serviciu web este un sistem software identificat de ctre un URI (Uniform Resource
Identifier), ale crui interfee publice si legturi sunt definite si descrise folosind XML. Definiia
lui poate fi descoperit de alte sisteme software. Aceste sisteme pot apoi s interacioneze cu
serviciul Web intr-o manier descris de definiia sa, folosind mesaje de tip XML, transmise pe
baza protocoalelor Internet.
d) SBS
Serviciile web sunt descrise, publicate, descoperite i pot fi compuse pentru a crea Sisteme
Bazate pe Servicii (SBS) care sunt distribuite. Serviciile web i SBS implic modificri majore n
felul n care software-ul este dezvoltat, instalat, meninut. Trei mari clase de provocri ce
trebuie adresate au fost identificate [8]:
24
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
1.2.1. Introducere
n acest paragraf vor fi prezentate cerinele/atributele/proprietile categoriei de sisteme FInES,
aa cum au fost ele prezentate n viziunea comisiei europene. n sub-paragraful 1.2.2 este
prezentat universul cunoaterii FInES i cele patru spaii ale sale: spaiul socio-economic, spaiul
ntreprinderii, spaiul aplicaiilor, platformelor i sistemelor ntreprindere precum i spaiul
tehnologic. Sub-paragraful 1.2.2 prezint direcia de cercetare Horizon 2020 mpreun cu cele
cinci teme de cercetare propuse: Internetul Viitorului n contextul Parteneriatului Public Privat,
antreprenoriatul Web, Sensing Enterprise, ntreprinderea Digital i Collaborative Awareness
Platforms .
Acest spaiu reprezint contextul extins n care opereaz ntreprinderea. Printre subiectele de
interes pot fi enumerate: responsabilitatea social, impactul asupra mediului, sau sistemul de
valori.
b) Spaiul ntreprinderii
Acesta este spaiul unde pot fi adresate cele nou caracteristici cheie, cunoscute ca i caliti de
baz ale ntreprinderii. Paradigma de continu inovare este susinut prin impactul celor nou
caliti de baz asupra noilor modele de producie i afaceri, noile paradigme de guvernan i
organizare, noi forme de cooperare.
c) Spaiul Aplicaiilor, Platformelor si Sistemelor ntreprindere
Acest spaiu este dedicat soluiilor ICT i sistemelor socio-tehnice care vizeaz sprijinirea
ntreprinderilor Viitorului ce vor opera n cadrul Internetului Viitorului. Aspectele conturate n
acest spaiu vor fi aliniate cu nevoile de afaceri pentru ntreprinderile Viitorului, care merg de la
managementul cunotinelor semantice pn la cooperarea online, precum i noi paradigme
operaionale cu scopul de a ncuraja inovarea continu.
25
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
d) Spaiul Tehnologic
Figura 1.2. reprezint o reprezentare sumar a relaiilor dintre cele patru spaii ale cunoaterii n
cadrul universului FInES. [14]
n continuare vom detalia fiecare spaiu.
Spaiul socio-economic
Spaiul socio-economic reprezint contextul cel mai larg n care o ntreprindere i desfoar
activitatea, interacionnd cu ali juctori de pe pia i mediul, avnd ca int producerea de
bunstare i satisfacia prilor implicate.
Datorit economiilor europene care nfrunt numeroase crize economice care se succed, s-a
format un curent conform cruia modelele socio-economice curente nu ar mai trebui s existe n
forma lor actual: s-a atins un punct de discontinuitate, un punct de bifurcaie. Sunt semne clare
26
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
c rile europene nu pot continua pe aceeai linie, datorit numeroaselor eecuri ale sistemelor
financiare, a degradrii mediului i a deteriorrii standardului de via al populaiei. Modelele de
dezvoltare europene au nevoie de o schimbare a paradigmei pentru a menine i mbunti
standardul curent de via.
Cheia problemei europene va fi gsirea n viitorul apropiat (urmtoarea decad) a unui model
capabil s garanteze creterea nivelului de trai, n contextul unor economii care nu vor putea s
ofere o cretere i expansiune constante. Obiectivul este de fapt obinerea unei bun-stri socio-
economice n cretere fr o cretere echivalent a bogiei produse de sistemele industriale.
Trebuie adresat n primul rnd modelul de cretere economic, unde mecanismele bazate pe
consumerism, dublate de o cretere a consumului i a produciei trebuie revizuite. Pentru aceasta,
o serie de noi direcii sunt luate n calcul privind reinterpretarea bogiilor unei ri privind din
perspectiva unor noi indicatori, satisfacerea nevoilor societii prin alte metode dect cele oferite
n cadrul societii bazate pe consum, optimizarea, reutilizarea i reciclarea bunurilor.
Pentru a atinge obiectivele precizate anterior, viziunea FInES este reprezentat de o societate
total interconectat, unde interoperabilitatea cultural va reprezenta baza unei noi forme de
inovare social. Internetul este cel care schimb metodele prin care persoanele se cunosc, in
legtura, schimb informaii, preri, cunotine.
Conform strategiei Lisabona, Europa trebuie s evolueze ctre o economie bazat pe cunoatere
[4]. Acest obiectiv pare mai greu de realizat dect s-a crezut iniial, probabil i datorit crizelor
economice. Dezvoltarea i adoptarea tehnologiilor bazate pe cunotine nu este suficient.
Oamenii stau la baza unei societi bazate pe cunotine. Trebuie imaginat un model socio-
economic unde dezvoltarea tehnologic va avea loc punnd oamenii n centru. Trebuie creat o
baz cultural pentru inovare care va fi adoptat nu numai n mediul de producie dar i n viaa
social, nivelnd astfel cunotinele i competenele fiecrui individ. Un alt rol esenial n mediul
socio-economic va fi jucat de ntreprinderi. Acestea reprezint principalul factor de producie,
avnd n acelai timp o contribuie important la evoluia social i cultural. ntreprinderile vor
aciona att n contextul intern fcnd aici referire la modelul organizaional, managementul
resurselor umane, producie i logistic precum i n contextul extern innd cont de strategiile de
marketing i relaiile cu clienii.
Spaiul ntreprinderii
Spaiul ntreprinderii este spaiul unde sunt adresate caracteristicile ntreprinderilor viitorului,
modelele de producie i de afaceri emergente, noi paradigme organizaionale i de conducere,
noi forme de cooperare, toate orientate ctre o inovarea continu. ntreprinderile viitorului ar
trebui s-i bazeze succesul pe cunotine, aptitudini i competene, creativitate i inovare,
contientizarea oportunitilor i a riscurilor, avnd o atitudine neleapt n ceea ce privete
riscurile, i adoptnd soluiile ICT n funcie de nevoile afacerii.
n acest spaiu vor fi adresate cele nou caliti de baz ale ntreprinderii viitorului. Acestea sunt
suficient de generale pentru a putea fi aplicate majoritii ntreprinderilor, independente de
mrimea lor, naionalitate sau sectorul industrial din care fac parte. Aceste caliti reprezint de
fapt nite obiective care trebuie atinse de ntreprinderi. Pentru a le putea atinge, ntreprinderile
trebuie s adopte noi forme organizaionale i noi abordri operaionale. Cele nou caliti de
baz ce vor fi descrise n continuare sunt: ntreprinderea umanist, ntreprinderea inventiv,
27
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
ntreprinderea Umanist
Timp de secole, scopul principal al ntreprinderilor a fost acela de a maximiza profitul si de a crea
bunstare. ncepnd cu revoluia industrial a lui Taylor [15] componenta uman a fost
subordonat acestui scop (de a maximiza profitul, i implicit i mainilor). Odat cu apariia
conceptului de economie a cunotinelor, bunurile tind s devin imateriale fiind reprezentate de
inteligena i cunotinele angajailor, introducnd o schimbare progresiv a mijloacelor de
producie, de la angajatori ctre angajai. ntreprinderea Umanist pune persoana (omul) n
centru, fie ea: un angajat, un consultant, un partener sau client. n ceea ce privete performana, o
ntreprindere Umanist are ca scop producerea de bunstare i bogie, considernd prile
interesate ca fiind: resursele umane, clienii, populaia din contextul socio-economic n care
ntreprinderea acioneaz. [16]
ntreprinderea Inventiv
ntreprinderea Inventiv este capabil s suporte ntregul ciclu al inovaiei, de la invenia n sine
i pn la producie i comercializare, implicnd toate departamentele, de la organizare pn la
logistic i resurse umane. De asemenea, ntreprinderea Inventiv este capabila s mbine
capacitatea de a inventa cu abilitatea de a transforma ideile inveniile, adic este capabil sa
transforme ideile inventive n aplicaii n domeniul afacerilor, pentru ca apoi s schimbe rapid
mecanismul de producie pentru a implementa noile soluii, fr a opri desfurarea afacerii.
ntreprinderea Agil
ntr-o lume n continu schimbare, schimbrile au o dubl influen asupra ntreprinderilor.
Influena pozitiv este reprezentat de soluiile inovative care pot fi adoptate in beneficiul
ntreprinderii i al parilor interesate, dac lum n considerare oportunitile de extindere a
pieelor de desfacere i a creterii produciei. Influena negativ este reprezentat de inovaia
declanat de competitori care devin agresivi, clieni nemulumii, sau de economia global
zguduit de criz. ntreprinderea Agil este ntreprinderea capabil s reacioneze la evenimentele
neprevzute, endogene sau exogene, dnd dovad de flexibilitate si adaptabilitate n organizare,
strategii si planuri de producie. [17] Acest tip de ntreprindere este de asemenea proactiv, fiind
capabil s anticipeze viitoarele schimbri, transformndu-se rapid pentru a prentmpina nevoile
inovative. [16]
ntreprinderea Cunoaterii
Cantitatea enorm de cunotine care poate fi produs sau descoperit pe Internet, i stocat intr-o
baz de cunotine, nu poate avea nici un efect asupra afacerii dac nu este pus n aplicare( nu
este nglobat n comportamentul agenilor ntreprinderii, fie ei umani sau artificiali).
ntreprinderea Cunoaterii depete graniele managementului cunotinelor, scopul ei fiind nu
numai acela de a acumula cunotine, ci de a gsi o modalitate de le pune n aplicare, de a stabili
contextul si efectele aplicrii lor, riscuri i alternative. [18]
28
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
ntreprinderea Lichid
Aceast caracteristic se refer la estomparea granielor ntreprinderii, unde o distincie ntre ceea
ce este interior i exterior ntreprinderii, cine sunt angajaii i partenerii sau cine sunt competitorii
i colaboratorii este greu de fcut. Noi forme de munc i colaborare vor nflori. Ca i n cazul
abordrii cloud, lichiditatea se va rspndi n cadrul ntreprinderilor i al sistemelor social-
tehnice, i dac va fi corect administrat, va aduce beneficii importante.
ntreprinderea Glocal
Globalizarea reprezint un fenomen aflat n continu expansiune de-a lungul a mai multor
dimensiuni: comercial, cultural, religios. ntreprinderile trebuie s abordeze problema globalizrii
pentru a supravieui i a se extinde, dar n acelai timp ele trebuie s opereze n anumite teritorii
unde se regsesc producia i pieele lor de desfacere, nvnd cum s fac fa normelor i
obiceiurilor locale. [19]
ntreprinderea Sustenabil
Aceasta este o dimensiune bine cunoscut a ntreprinderii, dar care nu poate fi neglijat.
Sustenabilitatea implic trei aspecte: economic, social, si al mediului nconjurtor. Ultimul aspect
implic impactul asupra mediului nconjurtor, de la consumul de materie prim i pn la
producerea de deeuri. Este important s reafirmm importana acestei dimensiuni deoarece
exist un risc de acomodare care duce la indiferen. Comportamentul verde ar trebui s devin
o mentalitate i un mod de lucru. Acesta, mpreun cu o atitudine plin de consideraie fa de
ecosistemul social, este o problem critic pentru bunstarea noastr i a urmailor notri.
Punctele de interes care afecteaz dezvoltarea ntreprinderilor viitorului pot fi organizate de-a
lungul a trei dimensiuni: dimensiunea cunoaterii, dimensiunea funcional i dimensiunea
29
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Spaiul tehnologic
Spaiul tehnologic cuprinde un set de arii de cercetare conectate cu FInES. Ariile tehnologice
identificate de comitetul FInES sunt reprezentate de: reelistic, cunotine, aplicaii, stocare de
date si interaciuni cu utilizatorul.
Antreprenoriatul Web
sociale const n faptul c obiectivele cetenilor i ale societii (climat, transport, mediu,
energie) nu pot fi adresate fr inovare.
n ultimii ani potenialul tehnologiilor Internetului Viitorului au stat la baza Internetului
Viitorului bazat pe Parteneriatul Public Privat (FI-PPP). Mai mult dect att, dezvoltndu-se cu
succes n ultima vreme, antreprenoriatul web este acum mai important dect oricnd nainte,
datorit n special a impactul crizei economice asupra creterii europene i ocuprii forei de
munc. Folosirea potenialul tehnologic al Internetului Viitorului pentru susinerea
antreprenoriatului web n sectoarele-cheie de activitate economic va fi o provocare major ce va
trebui depit n anii urmtori. n aceast direcie, aa cum a fost artat mai sus, FInES a definit
deja calitile de baz ale ntreprinderilor Viitorului.
Inovarea n domeniul afacerilor digitale se afl la intersecia a trei domenii mari de cercetare
(baza tehnologic, inovarea n domeniul afacerilor i antreprenoriatul). Bazele tehnologice au n
componen elementele tehnice cheie care faciliteaz dezvoltarea unor noi afaceri digitale sau
mbuntesc performana proceselor de afaceri existente. Inovarea n domeniul afacerilor se
ocup cu acele metode, unelte i cadre socio-tehnologice care permit implementarea diferitelor
modele de afaceri capabile s genereze reele de afaceri inovative n diferite sectoare economice.
Antreprenoriatul presupune dezvoltarea unor unelte specifice i a unor ecosisteme de afaceri
tehnico-economice care faciliteaz dezvoltarea sustenabil a ntreprinderilor Mici i Mijlocii
inovative i a ecosistemelor de afaceri.
Avnd la baz noiunile de Sensing Enterprise i de ntreprindere Digital, inovarea n domeniul
afacerilor digitale micoreaz distana dintre tehnologii, metode, unelte i cadre de afaceri cu
misiunea de a facilita emergena unor procese de afaceri mbuntite sau chiar noi n cadrul
ntreprinderilor, care s conecteze ntreprinderea cu reelele sociale de afaceri, Internetul
Obiectelor i cu capacitatea de a exploata bunurile tangibile i intangibile cum ar fi noiunea de
inteligen colectiv.
31
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
FI-PPP
32
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Pentru a realiza noi forme de inovaii i antreprenoriat n mediul afacerilor online, FI-PPP ca
instrument de inovare i ecosistem complex ce implic diferii actori trebuie s depeasc o serie
de obstacole. Printre obstacolele identificate de comisia european [22] se numr: (1) nevoia FI-
PPP de a rspunde la cererile pieei (dinamica pieei); (2) generarea de procese de afaceri
orientate ctre client. Provocarea este aici de a genera treptat procese de afaceri care implic
procese intense orientate client de valorificare a tehnologiei; (3) uzabilitatea i sustenabilitatea
Internetului Viitorului. Provocarea const aici n a genera modele business care s determine
inovarea modelelor: social, de servicii, industrial (uzabilitate). Pentru sustenabilitate, provocarea
pentru FI-PPP este aceea de a adoptat la scar larg de IMM-uri; (4) Deschiderea IMM-urilor
ctre inovare, este reprezentat de faptul c acestea au fost destul de reticente n ceea ce privete
adoptarea noilor tehnologii datorit unor constrngeri cum ar fi: timp, expertiz sau costuri [23],
[24].
Antreprenoriatul Web
Antreprenorii Web(WE Web Entrepreneurs ) sunt vzui n cadrul agendei digitale 2020 ca o
categorie a ntreprinderilor digitale, avnd caracteristici specifice. Conform comisiei europene
[25] reprezint o categorie aparte de antreprenori care creeaz noi servicii digitale i produse care
folosesc web-ul ca i component indispensabil. Antreprenorul Web este un inovator care prin
utilizarea aplicaiilor web i a serviciilor ofer soluii de afaceri inovare cu un scop.
Antreprenorii web sunt i vor fi ntr-un numr tot mai mare o for motivatoare n Uniunea
Inovaiei (termen definit de comisia european), avnd un impact asupra serviciilor i produselor
n fiecare domeniu incluznd aici web-ul i ntreprinderea digital.
33
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Conceptul SE a fost dezvoltat n cadrul FInES Cluster [26]. Definiia SE a fost publicat n [27]
i se refer la o ntreprindere capabil s anticipeze deciziile viitoare folosind informaia multi-
dimensional, capturat prin intermediul obiectelor fizice sau virtuale, care ofer valoare
adugat pentru a mbunti percepia asupra contextului global. Paradigma SE.ENV
imagineaz ntreprinderea ca o entitate inteligent complex capabil s simt i s reacioneze
la stimuli (business) n contextul obiectelor, echipamentelor i a infrastructurilor tehnologice
care posed capabiliti de procesare i transfer al datelor avansate, coopernd pentru a forma un
fel de sistem nervos n cadrul ntreprinderii. [28] Ea reprezint una din cele nou caracteristici
de baz ale ntreprinderii, aa cum a fost specificat mai sus.
Conceptul de ntreprindere care Simte deschide calea ctre o a treia lume (pe lng cea fizic i
virtual), lumea digital. n acest spaiu, fluxul continuu de informaii ce implic att obiecte
fizice i virtuale, precum i o inteligen decentralizat la scar larg, permite ntreprinderii s
dobndeasc noi capabiliti, proprieti si chiar noi identiti.
34
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Configurabilitatea dinamic este necesar pentru a asigura nivelul mare de flexibilitate necesar
sistemului pentru a opera. Datorit numrului mare de obiecte inteligente interconectate,
configurarea acestora este complex dar i critic pentru asigurarea integritii, robusteii dar i
securitii sistemului ntreprindere.
Opernd n trei dimeniuni diferite: fizic, virtual i digital SE va avea identiti multiple
deservite de multiple sisteme ntreprindere interactive. Ea poate avea obiective specifice n
fiecare dintre cele trei dimensiuni. Obiectele inteligente devin actori n cadrul ntreprinderii,
acionnd din proprie iniiativ la stimulii interni i externi i contribuind astfel la decentralizarea
inteligenei.
O serie de elemente cheie pentru SE sunt prezentate de ctre Man-Sze Li i reproduse n figura
1.6.
35
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
36
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Nevoia de dezvoltare a conceptului de ntreprindere Digital a rezultat din mediul business global
care este lovit de un val fr precedent de inovare. Astfel, ntreprinderea Digital reprezint o
imagine digital a ntreprinderii, cuprinznd date conceptuale dar i fizice, aspecte
comportamentale i structurale. Beneficiile rezultate din implementarea ntreprinderii Digitale
pentru economia european sunt multiple. Astfel, ntreprinderile europene vor deveni mai agile n
ceea ce privete adaptarea proceselor lor business si exploatarea infrastructurii tehnologice la
schimbrile din mediul de afaceri. De asemenea, vor fi capabile s schimbe informaii cu
furnizorii, clienii i partenerii, indiferent de poziia geografic sau diferenele culturale.
ntreprinderile vor putea de asemenea s adopte modele de referin business fr a avea nevoi de
aptitudini speciale, ntr-un mod rapid i uor, prin folosirea unor utilitare de asisten web care
vor oferi servicii pentru o nelegere mai uoar a modelelor n mediile de afaceri.
Viziunea comisie europene n Horizon 2020, de a implementa conceptul de ntreprindere
Digital, abordeaz problema cunotinelor care n cadrul ntreprinderii sunt fragmentate (stocate
n baze de date diferite, gestionate de diferite departamente folosind diferite utilitare fr a acorda
atenie interoperabilitii). Abordarea este fcut ntr-un mod holistic, i ncearc s garanteze
folosirea efectiv a cunotinelor disponibile pentru a permite ntreprinderii aflate ntr-un proces
continuu de nvare s propun colaborri, crend ecosisteme i valorificnd cunotinele
externe, resursele i capabilitile astfel nct acestea s devin centre de inovare.
Principalele provocri identificate de comisia european n ceea ce privete ntreprinderea
Digital sunt reprezentate de: (1) provocri politice i din mediul de afaceri; (2) provocri
tehnologice i din mediul de afaceri.
Agenda Digital 2020 ndeamn ctre folosirea CAPS pentru cultivarea inteligenei colective,
promovarea inovaiei i luarea unor decizii orientate ctre sustenabilitate i bazate pe o informare
mai bun.
Contientizarea privete fiinele umane i percepia lor asupra contextului n care opereaz,
incluznd aici motivaia, credinele, dorinele, inteniile att ale unei persoane, ct i a
comunitii/organizaiei din care face parte. Cunoaterea realitii reprezint n acest cadru doar o
dimensiune a contientizrii, deoarece nelegerea unei realiti a mediului de afaceri ncepe de la
o mulime mare de fapte ce vin din diferite surse, incluznd aici chiar i reelele senzoriale.
Procesul de dezvoltare al unei platforme ce permite contientizarea trebuie s ia n calcul i
dimensiunea uman. Oamenii pot fi considerai senzori vii care fac parte din contextul socio-
economic. De asemenea acetia sunt entiti sociale, asociindu-se n reele colaborative sociale ce
permit transferul de cunotine i judecata colectiv.
Exist un numr mare de iniiative care adreseaz problemele societii prin inovare n mediul de
afaceri. Acestea se aliniaz cu CAPS n arii cum ar fi: (1) dezvoltarea unor stiluri de via i
comportamente sustenabile ale populaiei prin contientizarea impactului consumatorilor asupra
resurselor; (2) obinerea de feedback din partea consumatorilor i observarea comportamentului
lor pentru mbuntirea procesului de decizie la diferite nivele ale ntreprinderii i a abordrilor
colaborative cu privire la rezolvarea problemelor i mbuntirea serviciilor publice, a mediului
37
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
urban, a internetului, etc. ; (3) folosirea contiinei colective pentru a crea noi modele economice,
sociale, democratice.
Este de ateptat ca i CAPS s ofere noi paradigme n ce privete reelele colaborative i
managementul cunotinelor, oferind suport pentru proiectarea i analiza ntreprinderilor.
Printre provocrile identificate de comisia european n ceea ce privete CAPS se numr: (1)
provocrile de ordin politic i business reprezentate de necesitatea regndirii modelului
organizaional n cazul introducerii platformelor CAPS n ntreprinderi, necesitatea reproiectrii
KMS (Knowledge Management System) care au fost concepute pentru o singur ntreprindere, nu
pentru ntreprinderi virtuale i au fost axate doar pe un singur domeniu; (2) provocrile
tehnologice reprezentate de: baze extinse de cunotine pentru reprezentarea domeniului de
afaceri al ntreprinderii, reprezentarea ciclului de via al cunotinelor, reele colaborative
sociale, soluii bazate pe semantic.
1.2.4. Concluzii
n acest paragraf am prezentat universul cunoaterii FInES i cele patru spaii ale sale, precum i
principalele arii de cercetare propuse de comisia european n cadrul direciei de cercetare
Horizon 2020, precum i o sintez a principalelor provocri ce trebuie depite pentru fiecare din
spaiul al cunoaterii sau direcie de cercetare.
n contrast cu adaptarea reactiv care este efectuat dup ce o deviere sau schimbare critic a
avut loc, va preveni situaiile nedorite prin anticiparea deciziilor i a activitilor de adaptare.
Pentru a reduce costurile i pentru a mbunti felul n care sunt fcute schimbrile n sistemele
complexe SBS, sunt necesare tehnologii care s permit adaptarea dinamic i automat a
sistemului prin auto-configurarea modelelor arhitecturale de servicii. n prezent exist o vairetate
de mecanisme de adaptare pentru configuraia iniial a infrastructurii de servicii dar exist
foarte puine soluii pentru adaptarea n momentul execuiei serviciilor prin reconfigurare. La
nivelul infrastructurii de servicii, o provocare semnificativ este de a oferi un comportament
autonom serviciilor, care s le permit s respecte cerinele SLA i s optimizeze folosirea
resurselor. Pentru dezvoltarea unei infrastructuri autonome sunt necesare metode pentru luarea
deciziei, realizarea de adaptri pro-active i reactive; studiul felului n care se poate face
colaborarea cu middlware-ul i sistemul de operare pentru optimizarea alocrii resurselor; noi
tehnici automate de negociere i asigurare a calitii.
Lucrarea de cercetare curent adreseaz necesitatea unui cadru holostic de monitorizare i
adaptare de-a lungul a mai multor niveluri ale SBS.
O definiie complet a reelelor colaborative este enunat de Camarinha-Matos [32] "O reea
colaborativ este autonom, dispersat geografic i eterogen n termenii mediului su de
desfurare, ai culturii, ai capitalului social i al scopurilor. Cu toate acestea, aceste entiti
colaboreaz pentru a atinge scopuri comune sau compatibile, iar interaciunile lor se defaoar
prin intermediul reelei de calculatoare. Spre deosebire de alte reele, n CN colaborarea este o
proprietate intenionat care provine din convingerea mprtit c membrii reelei pot atinge
scopuri care nu ar fi posibile sau ar fi mult mai costisitoare n cazul implementrii individuale."
In cadrul unei reele colaborative se creaz ntreprinderi virtuale (virtual organization - VO), care
nu sunt entiti fizice neaprat omogene din punct de vedere al siturii geografice, ci sunt
coerente i complementare funcional.
39
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Eficacitatea procesului de creare a ntreprinderilor virtuale (VO) este baza apariiei unor VO
dinamice ca rspuns la condiiile de colaborare create, esenial fiind crearea unui mediu de
dezvoltare al organizaiilor virtuale (Virtual Organization Breeding Environment - VBE).
Cum pot afla despre existena potenialilor parteneri i cum pot fi tratate sursele
incompatibile de informaii?
40
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Cum se pot obine informaii despre profilul de baz al organizaiilor, atunci cnd nu
exist niciun model comun, sau format standard?
Cum se poate realiza ncrederea ntre organizaii, care reprezint baza pentru orice
colaborare?
Activele VBE, ce ofer membrilor si: informaii generale i cunotine partajate (de
exemplu, definiii standardizate pentru produse i procese), instrumente software,
experien acumulat.
41
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Punerea la punct a unui model de afaceri viabil pentru stabilirea mediului de dezvoltare al
organizaiilor virtuale care s acopere problemele de finane VBE i de meninere n pia.
b) Membrii VBE
Structural, un mediu de dezvoltare al organizaiilor virtuale este o asociere deschis dar
reglementat de membri. Acesta are ca scop mbuntirea nivelului de pregtire a organizaiilor
membre pentru aderarea la poteniale viitoare organizaii virtuale, oferind astfel suport pentru
crearea de reele colaborative, n funcie de oportunitile viitoare.
Deoarece o parte din sarcinile necesare sunt deja realizate n cadrul VBE pentru toi membrii
acesteia nainte de stabilirea oricrei organizaii virtuale, crearea unei noi organizaii virtuale n
contextul unui VBE este mai puin costisitoare i mai eficient dect n cazul cutrii generalizate
de parteneri. Cu alte cuvinte, VBE contribuie substanial la creterea nivelului de pregtire al
membrilor acestuia pentru participarea la poteniale procese colaborative.
Un VBE nu trebuie s fie o organizaie nchis, noii membri se pot altura i adera la
asociaie, dar acetia trebuie s respecte principiile generale de funcionare ale asociaiei. De
exemplu, un membru asociat VBE ar putea s adere la un nivel minim de organizare pentru
42
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
implicarea ntr-o organizaie virtual, oferind un nivel minim de informaii administraiei VBE.
Un membru pe deplin activ al VBE contribuie la promovarea sa, creterea, i mbogirea
activelor VBE, i poate prelua un rol de broker al unei organizaii virtuale ntr-o ni de pia i
poate fi implicat n extinderea VBE n noi sectoare.
Prin urmare, pot exista diferite niveluri de apartenen la un VBE, fiecare n conformitate cu
un set diferit de drepturi i responsabiliti. n principiu, aceste niveluri se pot constitui ntr-un
interval, cu un grad sczut de apartenen la un capt al intervalului i un grad ridicat de
apartenen la cellalt capt. n cadrul structurii VBE, pentru formarea unei organizaii virtuale,
prioritate li se va da membrilor VBE n funcie de gradul de apartenen, dar n unele cazuri, n
funcie de lipsa sau insuficiena abilitilor si capacitilor necesare n cadrul VBE, ar putea
deveni necesar gsirea unui partener extern. Partenerul extern identificat va trebui apoi
s adere cel puin la nivelul cu cel mai mic grad de apartenen la VBE, de exemplu,
infrastructura comun i principiile de cooperare VBE . Pentru aceast ntreprindere, se va face
un training de ctre administratorul VBE sau de cei ce planific noi organizaii virtuale.
Un mediu de dezvoltare al organizaiilor virtuale ar putea include i alte tipuri de organizaii
(cum ar fi institutele de cercetare, organizaii guvernamentale, etc.) persoane care lucreaz pe
cont propriu(free-lancers). Scopul principal al includerii acestor tipuri de organizaii n cadrul
VBE este acela de a furniza diferite servicii suport membrilor VBE. Aceste instituii sunt referite
ca instituii suport. Serviciile tipice sau expertiza necesar n VBE pot include servicii juridice,
expertiza de marketing, de asigurare, de formare, etc. Pot fi identificate trei tipuri de organizaii
ce pot fi nregistrate n cadrul VBE:
Instituii non-profit care se implic n organizaii virtuale pentru a obine profit calitativ,
de exemplu, instituii academice i de cercetare.
leciile nvate care sunt mprtite de ali membri n spaiul on-line comun prevzut n cadrul
VBE.
O varietate de roluri pot fi asumate de ctre un numr mare de actori n VBE [38] [39] unde un
actor VBE reprezint fie o organizaie membr VBE, fie individ care reprezint o organizaie
membr VBE.
partener n cadrul unei organizaii virtuale: acesta este un rol fundamental jucat de un
membru VBE ntr-un VO.
broker: un rol efectuat de ctre un actor VBE care identific noi oportuniti de colaborare
(oportuniti de afaceri), promoveaz competenele i activele VBE i negociaz cu poteniali
clieni. Acest rol poate fi jucat i de o entitate din afara VBE.
planificator VO sau integrator de afaceri: un rol efectuat de ctre un actor VBE care
aflat n faa unei noi oportuniti de colaborare (identificat de un broker), identific
competenele i capacitile necesare, selecteaz partenerii (membri VBE i/sau parteneri din
afar, n cazul n care nu sunt suficiente competene i/sau capaciti din interiorul VBE), i
structureaz noile organizaii virtuale. n multe cazuri rolurile de broker i planificator VO
sunt asumate de acelai actor.
Coordonator VO: un rol efectuat de ctre un actor VBE, care va coordona o organizaie
virtual pe parcursul ciclului su de via, cu scopul de a ndeplini obiectivele stabilite pentru
oportunitatea de colaborare care a dus la formarea organizaiei virtuale.
Ciclul de via al mediului pentru dezvoltarea organizaiilor virtuale este reprezentat de totalitatea
etapelor prin care poate trece un VBE pe parcursul vieii sale, de la creare, operare i posibil
dizolvare(figura 1.7).
44
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Fiind o alian pe termen lung i jucnd un rol n pia/societate, dizolvarea unui VBE este o
situaie neobinuit. n schimb, este mult mai probabil ca VBE s treac printr-o alt etap, aa
numita etap de metamorfoz, n care poate s evolueze i s i schimbe forma i scopul. O
organizaie virtual poate fi creat doar n etapa operaional a VBE. Managementul VBE pe
parcursul tuturor etapelor ciclului de via se afl n centrul zonei de cercetare i dezvoltare
pentru VBE de generaia a doua. Iniiative n cercetare privind mediul de dezvoltare al
organizaiilor virtuale ce pot fi menionate sunt: THINK creative i VOmap ( [40], VOSTER
([41]), i PRODNET ([42]).
Funcionalitile de baz necesare pentru un VBE pot fi mprite n trei grupuri corespunztoare
cu fazele ciclului de via [34]:
Funcionalitatea de baz ce sprijin crearea VBE - Aceast etap cuprinde: (1) iniierea
/recrutarea, care necesit stabilirea i configurarea unei infrastructuri comune, recrutarea
potenialelor organizaii ce se pot altura VBE, i stabilirea unor ontologii de baz pentru
definirea viziunii i obiectivelor strategice ale VBE; (2) Fundamentarea VBE care presupune
parametrizarea sistemelor utilizate, stabilirea legturilor necesare, crearea bazelor de date
necesare (cu meta-date iniiale/ ontologii), i popularea acestor structuri informatice.
VBE este nevoie de o planificare pentru transferul cunotinelor colectate, informaii, active
ctre membrii si sau o alt organizaie pe baza unor acorduri definite.
Stabilirea unor relaii de ncredere ntre organizaiile n VBE este o pre-condiie pentru
cooperarea lor armonioas. Avnd n vedere c crearea efectiv de organizaii virtuale este scopul
principal al mediilor de dezvoltare a organizaiilor virtuale, msurarea nivelului de ncredere
ofer informaii fundamentale pentru stabilirea relaiilor de ncredere ntre organizaii. n timp ce
n cadrul unui VBE de mici dimensiuni cu douzeci pn la patruzeci de membri, organizaiile
pot avea o bun ans de a ajunge s se cunoasc reciproc, avnd o judecat subiectiv a
moralitii altora, ntr-un VBE mediu sau mare, analiza ncrederii pe care o ofer alte organizaii
este un obstacol pentru crearea organizaiilor virtuale i o mare provocare. Proiectarea si
dezvoltarea unei abordri bazat pe fapte pentru evaluarea nivelului de ncredere al organizaiilor
este de o importan deosebit pentru VBE de mari dimensiuni, n cazul n care, de obicei,
organizaiile membre ale acestora nu se cunosc reciproc.
Nu s-a ajuns nc la un consens n literatura de specialitate cu privire la definiia ncrederii i ce
constituie managementul ncrederii ntre entiti diferite. Cercettorii au recunoscut importana sa
n facilitarea interaciunilor i conlucrarea ntre persoane fizice, precum i organizaii [34].
Aa cum este folosit zilnic de ctre persoane, termenul de ncredere se refer la opinia cuiva
despre o alt persoan. Good [43] a oferit o definiie a ncrederii, care a fost utilizat pe scar
larg, ca probabilitatea subiectiv prin care un individ A se ateapt ca un alt individ B s
efectueze o anumit aciune de care depinde bunstarea lui A. n [44] ncrederea este definit ca
dorina unui pri de a fi vulnerabila la aciunile unei alte pri bazat pe ateptrile ca partea
creia i se acord ncrederea va efectua o aciune fr a fi monitorizat sau controlat. O alt
definiie propus de Grandison este: ncrederea este credina n competena unei entiti de a
aciona ntr-un mod sigur, de ndejde, ntr-un anumit context[45]. Rousseau[46] definete
ncrederea ca o condiie psihologic ce cuprinde intenia celui care acord ncrederea de a
accepta o vulnerabilitate bazat pe ateptrile pozitive privind inteniile i comportamentului
celui ce i se acord ncrederea. Msanjila i Afsarmanesh [47] definesc ncrederea ntre
organizaii, aa cum este ea aplicat n cadrul VBE ca ncrederea unei organizaii ntr-o alt
organizaie bazat pe rezultatele obinute prin evaluarea nivelului de ncredere al unei organizaii
bazat pe fapte.
Diversitatea dintre aceste definiii (i altele) i diferena ntre elemente identificate de ele face
dificil caracterizarea ntr-un mod corespunztor a ncrederii. n ciuda dificultilor ntmpinate
n consolidarea unei definiii a ncrederii, n practic se aplic zilnic conceptul de ncredere ca o
baz pentru cooperarea i colaborarea ntre persoane fizice, precum i n rndul organizaiilor.
Cercetarea asupra RCO a artat c eficiena unitilor VBE precum i crearea de VO depinde de
nivelul de ncredere oferit de organizaii. ncredere ntre organizaii n cadrul VBE este un subiect
complex, care trebuie s fie abordat considernd interdisciplinaritatea dintre domenii,
eterogenitatea i contradicia ntre interesele i obiectivele organizaiilor implicate [48].
46
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Actorii reprezint dou organizaii implicate ntr-o relaie de ncredere. Prima parte este
organizaia care evalueaz gradul de ncredere al celei de a doua pri. Cea de a doua
parte este organizaia care are nevoie de ncredere, nivel de ncredere al acesteia fiind
evaluat de prima parte.
Obiectivul se refer la scopul pentru care sunt stabilite relaiile de ncredere ntre
organizaiile implicate. Exemple de obiective sunt: invitarea unei organizaii s se alture
unui VO, selectarea unei organizaii ca i coordonator al VO, decizia unei organizaii de a
adera la un VBE, etc..
Perspectiva din care este privit ncrederea reprezint punctul de vedere specific al
unei organizaii privind principalele aspecte ce trebuie s fie luate n considerare pentru
evaluarea nivelului de ncredere al unei alte organizaii. n funcie de perspectiva din care
este privit ncrederea, organizaiile iau decizii n legtur cu informaiile necesare pentru
evaluarea nivelului de ncredere al unei organizaii.
Gestionarea eficient a unui VBE este strns legat de pregtirea membrilor VBE pentru
colaborarea n cadrul VO. Pregtirea organizaiilor joac un rol strategic, necesitnd timp i efort
pentru a fi stabilit i meninut de-a lungul ntregului ciclu de via al VBE [49]. Un
management eficient al unui VBE ajut la reducerea timpului de creare a VO. Organizaiile care
pot fi aduse mpreun de ctre un broker nu au nici o familiaritate una cu cealalt deoarece
acestea nu au colaborat ntre ele nainte. Prin intermediul VBE i al sistemului de management al
acestuia oportunitile de colaborare pot fi detectate mult mai eficient n termeni de timp i efort
iar selecia organizaiilor celor mai potrivite poate fi mult mai eficient.
Pentru ca organizaiile s fie pregtite n orice moment pentru colaborare este necesar gestiunea
diferitelor tipuri de informaii n cadrul VBE. Este necesar un set de funcionaliti de baz
pentru a sprijini administrarea membrilor VBE, incluznd nregistrarea lor, rolurile i drepturile.
Afsarmanesh i Camarinha [49] au identificat un numr de funcionaliti avansate ce adaug
valoare unui VBE: managementul competenelor n cadrul VBE, managementul apartenenei la
un VBE, managementul ncrederii inter-organizaionale n cadrul VBE, managementul activelor
VBE.
IECOS (Mexic). Gestionarea acestor reele de VBE poate fi facilitat de o serie de instrumente
semi-automate i servicii. Serviciile au ca scop sporirea eficienei efecturii activitilor n cadrul
VBE (reducerea resurselor necesare, de timp i costurile). Un numr de sub-sisteme sunt
dezvoltate n Sistemul de Management al Mediului de Dezvoltare al Organizaiilor Virtuale
(SMMDOV). Pe scurt, SMMDOV este dezvoltat pentru a sprijini administraia VBE n
urmtoarele activiti: Colectarea / managementul informaiilor privind performana
organizaiilor din VBE; Management profilelor i competenelor organizaiilor membre ale VBE,
VO, i chiar al mediului de dezvoltare al organizaiilor virtuale; Evaluarea, i gestionarea
ncrederii membrilor organizaiilor din VBE; Suport pentru cooptarea de noi membri i
gestionarea structurii VBE; Gestionarea activelor i managementul informaiilor VO n cadrul
VBE; Suport pentru procesele legate de luarea deciziilor n VBE.
n cazul proceselor de colaborare pe termen lung care nu sunt limitate la o singur oportunitate de
afaceri, cum ar fi n cazul lanurilor de aprovizionare, costurile i timpul de pregtire pentru
colaborare sunt accesibile innd cont de perspectivele pe termen lung. Pe de alt parte, pentru
anumite sectoare specifice de ni, n care toi actorii mprtesc aceleai instrumente sau
instrumente compatibile, cultur de afaceri i practici, este posibil formarea rapid a unui
consoriu chiar i pentru o oportunitate de afaceri pe termen scurt. Pentru celelalte cazuri, situaia
este mult mai critic. n special atunci cnd fereastra de oportunitate este scurt, pentru a facilita
formarea rapid a reelelor de colaborare este necesar ca potenialii parteneri sa fie pregtii i
gata s participe ntr-o astfel de colaborare. Pregtirea include o infrastructur interoperabil
comun, norme comune de exploatare i de cooperare. Orice colaborare necesit, de asemenea,
un nivel de baz de ncredere n rndul organizaiilor. n acest caz o soluie este crearea unei
asociaii pe termen lung format din entitile care se pregtesc s coopereze ori de cte ori apare
o oportunitate. Aceast asociere este un mediu de dezvoltare al organizaiilor virtuale [50] [51].
Un numr mare de proiecte de cercetare i dezvoltare au abordat aspecte specifice procesului de
creare de VO, aa cu se poate vedea n studiu VOSTER [41]. Dintr-un punct de vedere
metodologic pot fi considerate dou situaii n procesul de creare al VO:
2. Abordrile multi-agent
49
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
n cadrul acestei abordri, companiile (poteniali membri ai organizaiei virtuale) sunt considerate
ca furnizori de servicii, adic potenialul comportamentul colaborativ al fiecrei companii este
materializat printr-un set de servicii [50]. Aceast abordare presupune existena unei entiti care
menine un catalog de servicii n cazul n care companiile care furnizeaz servicii i public
oferta de servicii. Indiferent de implementare, sunt de obicei luate n considerare trei funcii
principale ale arhitecturilor orientate ctre servicii: public, descoper, invoc. n acest caz,
tehnologiile standard ar trebui s fie utilizate pentru descrierea serviciului, comunicaie i
formatul datelor. n cazul serviciilor web astfel de standarde includ: WSDL, UDDI, SOAP.
Aceast abordare reflect o selecie indirect a partenerilor. Ceea ce este selectat este serviciul
(nu furnizorul), aciunea imediat fiind compunerea serviciilor (sau orchestraia) complexe bazate
pe cele simple. Partenerii sunt implicit selectai prin intermediul serviciilor specifice care sunt
alese. Este totui posibil s se includ caracteristicile partenerilor n interogarea folosit pentru
cutarea de servicii. Procesele de publicare a serviciilor, descoperire, selectare, invocare i legare
(binding) ofer o alternativ pentru gestionarea competenelor organizaiei, selectarea
partenerilor i negocierea pentru configurarea VO n cadrul unui VBE.
Un exemplu timpuriu de abordare bazat pe servicii aplicat pentru sectorul turismului poate fi
gsit n [59]. n aceast lucrare au fost introduse abordri orientate spre servicii n cadrul VO
pentru sectorul turistic (proiectul WTIS). Un alt exemplu este dat de proiectul Osmos [60], care
s-a concentrat pe industria de construcii i a urmat o abordare bazat pe servicii pentru
proiectarea i dezvoltarea infrastructurii ICT.
Dei serviciile web sunt foarte populare, exist nc o serie de limitri n ceea ce le privete.
Cteva ntrebri necesare sunt: Sunt serviciile web ntotdeauna disponibile? Ct de dedicat este
furnizorul? Care este modelul de afaceri de baz i cum este echilibrat volumul de munc? Exist
dependene ntre servicii? Pot fi toate abilitile reprezentate ca servicii?
a) Concepte
GUVERNAREA
procesele i relaiile dintre ele ce sprijin ndeplinirea eficient a obiectivelor VO. Guvernarea
unei VO este strns legat de conceptul de guvernarea proiectului [63]. Se poate considera c
guvernarea proiectului:
subliniaz relaiile dintre toate grupurile interne i externe implicate n cadrul proiectului
descrie ntr-un mod adecvat fluxul de date referitor proiectului prilor implicate
asigur revizuirea ntr-un mod adecvat a tuturor problemelor ntlnite n cadrul fiecrui
proiect
Datorit duratei limitate a unei organizaii virtuale, managerul VO trebuie s adopte anumite
principii de guvernare. Principiile variaz n funcie de caracteristicile VO i de stilul personal al
managerului. Cteva stiluri de management ce pot fi identificate sunt: ncurajator, bazat pe auto-
organizare, dominat de timp sau management multi-organizaional [65]. Pentru a putea aciona,
managerul VO are nevoie de un anumit nivel de putere i autoritate. Deciziile manageriale pot fi
aplicate, dac managerul are un nivel de putere corespunztor. De aceea, trebuie luate n
considerare diferitele niveluri de putere asociate rolurilor manageriale. Distribuirea puterii poate
avea diferite motive, cum ar fi: mediul de afaceri, situaia economic, relaia cu clienii, asumarea
riscurilor, etc., aceasta trebuind a fi luat n considerare n selectarea abordrii de guvernare [66].
51
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Comportament
dorit, ateptat
52
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
la rezultatele ateptate. ntr-un mediu dinamic, aceast abordare necesit dezvoltarea unei
abordri n timp real de management al VO.
Pentru a gestiona eficient organizaiile virtuale, este necesar un domeniu de aplicare larg, care se
regsete de asemenea n definiia managementului VO. Principalele provocri in managementul
VO vin din caracterul temporar al acesteia i din distribuirea operaiunilor ctre mai multe
organizaii. VO are ca scop rspunsul rapid la schimbrile survenite n mediul su, astfel nct
este necesar un management dinamic, care poate s includ restructurarea abordrii manageriale
sau chiar a configuraiei VO. Pentru a identifica n timp real aciunile ce trebuie ntreprinse, un
sistem eficient de msurare a performanei ar trebui implementat, pentru a oferi indicatori de
ncredere n timp real asupra performanei organizaiei [72].
Organizaia virtual este creat pentru a ndeplini un anumit task. Rezultatele organizaiei virtuale
sunt reprezentate de ndeplinirea taskului (fr a depi restriciile de cost, timp i calitate). Un
management eficient al VO implic un control al eficienei acesteia. Eficiena VO poate fi
mprit n trei categorii diferite, care pot fi interdependente:
2. Eficiena VO i a colaborrii
b) Disoluia i motenirea VO
Aa cum a fost descris anterior, VO este o organizaie temporar cu urmtoarele faze ale ciclului
de via: crearea, operarea i evoluia, disoluia. Este creat pentru un anumit task, de cele mai
multe ori pentru a crea valoare pentru un client, iar dup ducerea la bun sfrit a taskului, este
dizolvat. Durata unei astfel de organizaii se poate ntinde de la cteva zile (taskuri foarte scurte)
la civa ani. n faza dizolvrii, nu este cunoscut dac un task asemntor va mai fi efectuat.
Produsul oferit clientului i participanii n noul VO nu sunt neaprat aceiai. Astfel, disoluia
sfrete colaborarea concret.
Proiectele se aseamn din punct de vedere conceptual cu organizaiile virtuale. PMBOK [73]
definete proiectele ca eforturi temporare ntreprinse pentru a crea un produs sau serviciu unic.
Proiectele mprtesc aceleai caracteristici, limitri temporare i n ceea ce privesc resursele.
De fapt, multe proiecte sunt efectuate ca VO, chiar dac definiia proiectului nu presupune
participarea diferitelor organizaii. Proiectele ntmpin, de asemenea, problema discontinuitii,
i a transferului cunotinelor de la un proiect la un altul viitor. n PMBOK, faza de nchidere de
proiect (corespunztoare disoluiei VO) este descris foarte pe scurt. Motenirea este definit ca
fiind leciile nvate, dar nu exist o definiie clar a modului n care se face acest lucru.
53
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Schindler i Eppler [74] vd nvarea din experienele proiectului prin intermediul a dou
metode: metode pe baz de proces i metode bazate pe documentare. n cadrul proiectelor
inginereti, aceste abordri se bazeaz pe date, informaii i cunoatere [75].
Astfel, n timp ce au creat valoare pentru clieni, partenerii VO i-au mbogit cunotinele, au
ctigat experien i consolidat reciproc relaiile. Experiena ctigat poate fi folosit pentru a
mbunti nivelul de pregtire din mediul de dezvoltare al organizaiilor virtuale. Dup
ndeplinirea taskului i dup ce organizaia virtual a fost dizolvat, nivelul de cunotine
mbuntit, experiena mpreun cu alte active trebuie returnate i motenite de mediul de
dezvoltare (reeaua) devenind astfel parte a activelor VBE.
Pentru a avea succes, managementul motenirii VO trebuie s fie urmat de managementul VBE,
deoarece organizaia virtual va fi dizolvat. Motenirea VO nu poate fi considerat de succes,
dac de exemplu, experiena stocat care este transmis ctre VBE nu este utilizat de ctre
aceasta din urm sau de o nou VO. Produsul/serviciul care este livrat clientului va deveni
proprietatea acestuia, astfel c aceasta nu face parte din motenirea VO. Obiectul motenirii
exclude activele care aparin exclusiv unui singur partener. Modelul VO i informaiile incluse n
acesta pot fi considerate ca motenire a VO.
Motenirea VO are rolul de a mri bagajul de active ale VBE. Activele VBE includ toate
elementele care au potenialul de a oferi valoare sau beneficii VBE sau membrilor ei atunci cnd
organizaii virtuale sunt create din VBE. Beneficiile pot fi realizate prin:
VO vor deveni mai eficiente i mai sigure n ceea ce privesc restriciile de timp, cost i
asigurarea calitii
creterea valorii membrilor VBE prin creterea nivelului lor de cunotine i a poziiei lor
pe pia
Sprijinul n cadrul licitaiilor prin oferirea de cunotine despre client i relaiilor strnse
cu acetia
Sprijinul comercializrii serviciilor VBE ctre noi clieni prin oferirea de informaii de
referin. Referinele i reputaia creat pot fi folosite pentru a convinge clienii.
Principalele faze ale procesului de motenire al VO precum i localizarea lor n VBE i n ciclul
de via al VO. Aceste faze includ:
Utilizarea motenirii VO: utilizarea poate avea loc n VBE sau n viitoare VO.
Managementul motenirii VO este necesar. Ar trebui s acopere att faza operaional a VBE ct
i ntregul ciclu de via al VO. Managementul motenirii VO implementeaz fazele motenirii
VO. De asemenea, definete regulile pentru colectarea, utilizarea i accesul la motenirea VO.
Motenirea crete numrul activelor VBE. Aceste active nu sunt concrete sau vizibile ca i
produsul creat pentru client, astfel nct VBE nu este de multe ori contient de existena lor.
Pentru a identifica diferitele forme de motenire a VO, o identificare a categoriilor de active ale
VBE este necesar. Romero i colaboratorii[76] au identificat trei categorii principale de active:
Capital financiar: resurse financiare i valori (bani, conturi, etc.), elemente de risc
Capitalul financiar este de obicei deinut de organizaii. Totui, este posibil n principiu, ca o
parte din profitul creat ntr-o organizaie virtual s fie motenit de VBE. Acesta poate fi folosit
pentru a plti serviciile comune de infrastructur, dezvoltarea de proceduri comune i posibil ca
fond de rezerv pentru rambursarea cheltuielilor unor clieni nemulumii.
Capitalul intelectual cuprinde toate datele, informaiile i cunotinele din bazele de date,
documentele precum i cunotinele tacite ale oamenilor. Informaiile pot consta n planuri i
experiena legat de realizarea lor, att din punct de vedere cantitativ ct i calitativ. Un model al
VO ct i o baz de date ce conine rezultatele msurtorilor de performan reprezint surse
importante pentru motenirea VO. Acestea pot fi transferate ca un pachet ctre VBE sau
informaia coninut de ele poate fi procesat mai nti.
Capitalul social are la baz colaborrile. Astfel, organizaiile virtuale n care partenerii
colaboreaz pentru atingerea unui obiectiv comun sunt contribuitori importani la capitalul social
al VBE prin relaiile de colaborare dintre membrii VBE i prin relaiile cu clienii.
Conform lui Schindler [74] factorii cheie pentru succesul nvrii n cadrul proiectului constau n
dezvoltarea i integrarea de metode bazate pe procese i documentaie, de exemplu nvarea
continu n cadrul proiectului n locul unei singure revizuiri. n contextul organizaiilor virtuale,
procesul de management al VO ar trebui s susin nvarea continu i colectarea de cunotine.
Exemple de metode bazate pe proces sunt: revizuirile, audit-ul, controalele.
Motenirea VO i propune s elimine decalajul introdus de caracterul temporar al acesteia.
Transformarea discontinuitii VO ntr-un proces continuu de nvare i mbuntire n VBE nu
este o sarcin uoar. Aceast sarcin necesit atenie la nivelul VBE i VO. n cadrul VBE
trebuie stabilite regulile de motenire, cine motenete ce, care sunt drepturile utilizatorilor i care
este gradul de accesibilitate i responsabilitile pentru managementul motenirii. Ar trebui
dezvoltate metode i instrumente pentru identificarea informaiilor importante i extragerea de
cunotine dintr-o cantitate mare de date i informaii. De asemenea, ar trebui identificate i
implementate practici de prezervare a activelor relaionale i structurale ale VO. Managementul
55
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
56
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
abordrile MP existente satisfac aceste cerine i cum pot fi acestea adaptate i completate pentru
a le satisface.
57
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Pentru a obine acest lucru, MP trebuie s atribuie valori indicatorilor de performan (IP), care
reprezint variabile ce evalueaz starea unui obiect ale crui performane sunt msurate, cum ar
fi: costul, rezultatul procesului de producie sau capacitatea de rspuns a unui partener. Indicatorii
de performan ar putea fi calitativi sau cantitativi. Indicatorii Cheie de Performan reprezint
componente eseniale sau critice care au un impact covritor asupra succesului organizaiei.
Pentru a obine valori pentru IP, trebuie efectuate msurtorile corespunztoare. Msurtorile ar
trebui nelese ntr-un sens general ca i colectare de date. Acest lucru poate fi realizat prin
ntrebarea persoanelor responsabile sau prin accesarea bazelor de date electronice. Variabilele
msurate se numesc metrici. Unele valori ale IP sunt calculate folosind mai multe metrici, de
exemplu indicatorul interval de timp poate fi calculat din valorile obinute pentru msurtorile
start i sfrit.
Valorile IP sunt furnizate de clienii MP. Principalul client este de obicei managementul
organizaiei n cauz. Pot fi de asemenea i ali clieni, cum ar fi angajaii organizaiei, clienii ei,
investitori sau alte pri interesate. Ei pot folosi valorile indicatorilor pentru o procesare i analiz
ulterioar .
Pentru a analiza felul n care msurarea parametrilor n cadrul organizaiilor virtuale este afectat
de caracteristicile acestora, vor fi prezentate n continuare principalele provocri pentru MP n
cadrul VO.
O prim provocare este reprezentat de independena membrilor VO. Acetia sunt n general
independeni unii fa de alii, lucrul acesta avnd dou mari consecine asupra VO. n primul
rnd, companiile au propriile afaceri n afara organizaiei virtuale i propriile obiective, planuri,
structuri i procese pentru afacerile lor. Pe de o parte, aceasta ar putea nsemna o competiie ntre
activitile din cadrul VO i alte activiti ce nu sunt legate de aceasta. Pe de alt parte, n multe
cazuri exist posibilitatea ca membrii organizaiei virtuale s devin competitori pentru alte
oportuniti de afaceri. A doua consecin este c VO are posibiliti limitate de a controla
partenerii dincolo de obligaiile contractuale. Acest lucru are urmtoarele implicaii pentru MP:
n mod normal, membrii VO nu pot fi forai s pun la dispoziie sursele lor de date sau
s ofere anumite date care nu au fost stipulate n contract. Atunci cnd apare necesitatea
unor Indicatori de Performan adiionali pe durata fazei operaionale, este necesar
bunvoina membrilor.
Pentru multe organizaii, este important s se pstreze controlul local n ceea ce privete
msurarea i furnizarea datelor
complementare de competene care sunt necesare pentru a ndeplini taskurile VO. n plus, ei pot
fi localizai oriunde pe glob. Astfel c au diferite structuri organizaionale i ICT, procese, culturi
interne, legislaii i culturi regionale. Aceste lucruri au urmtoarele implicaii pentru MP:
Sunt necesare diferite interfee pentru a face disponibile datele pentru MP n cadrul VO
deoarece sursele de date sunt eterogene, iar unii membri, n special cei mici, pot s nu
aib alte instrumente ICT n afara aplicaiilor de birou i de acces la internet
Distribuia partenerilor reprezint a treia provocare. Membrii VO pot fi localizai ntr-un mod
distribuit, chiar i n ri sau pe continente diferite. n aceste condiii, coordonarea fa n fa
sau transferul fizic de documente necesit eforturi suplimentare. Aceste condiii implic pentru
MP:
Necesitatea unor definiii clare pentru a evita necesitatea coordonrii la faa locului
Nu poate fi creat o baz de date care s conin un istoric, ca n cazul companiilor sau
reelelor colaborative statice
MP n cadrul VO trebuie fcut ntr-un mod colaborativ de ctre membrii si. Acest lucru
presupune existena unor obiective comune i angajamente privind MP
Nevoia de flexibilitate pentru a reduce sau limita resursele i timpul necesare pentru
implementarea i operarea sistemului de MP
Controlul local trebuie permis pentru a evita lipsa de ncredere n ceea ce privete
participarea n sistemul de MP
MP trebuie s fie bazat pe tehnologii ICT n cadrul VO pentru a fi accesibil ntr-un mod
eficient de ctre membrii distribuii ai organizaiei
60
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
normele de calitative, cantitative i de timp stabilite. Din perspectiva financiar, este analizat
costul. Indicatori de performan pentru fiabilitate, flexibilitate, comunicaie apar i n alte
abordri [86]. Totui, aceti indicatori nu au fost folosii pentru a msura eficiena colaborrii.
Perspectiva angajamentului este un element de baz al eficienei colaborrii n cadrul VO. Ea
nglobeaz aspectele eficienei colaborrii strns legate de atitudinea ctre organizaia virtual i
fa de interaciunea cu ali membri. Angajamentul ia n considerare contribuii ctre VO care nu
sunt definite formal, dar deriv din motivaia partenerilor.
fr a folosi fora
1.3.2.4. Concluzii
n acest paragraf sunt prezentate conceptele de reele colaborative, organizaie virtual, mediu de
dezvoltare al organizaiilor virtuale mpreun cu caracteristicile acestora i stadiul actual. Am
explicat care sunt membrii VBE, ciclul de via al unui VBE, ce presupune managementul VBE,
guvernarea i managementul VO i cum se poate msura eficiena colaborrii n cadrul VO. CN
implic utilizarea unei reele pentru a comunica i pentru a schimba informaii. Caracteristicile
serviciilor web cum ar fi flexibilitatea, reutilizarea, compozabilitatea au permis adoptarea
acestora n cadrul reelelor colaborative. Serviciile web furnizate de organizaiile ce fac parte
62
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
dintr-o reea colaborativ pot fi compuse pentru a forma un proces de afaceri n funcie de
oportunitile de afaceri aprute sau de necesitatea de colaborare ntre organizaii. n paragraful
urmtor sunt descrise principalele modele de compunere a serviciilor web.
1.3.3.1. Concepte
n [87] autorii identific urmtoarele grupe de motive ce determin adaptarea sistemelor
software: corective (eliminarea comportamentului eronat), adaptive (rspuns la schimbrile ce
afecteaz contextul), extensive (extind sistemul cu noi funcionaliti), i perfective (mbuntesc
caracteristicile unei aplicaii). De asemenea, adaptarea este clasificat la rndul su n mai multe
categorii: adaptare arhitectural (afecteaz structura sistemului), adaptarea implementrii
(afecteaz implementarea componentelor fr a modifica ns interfeele), adaptarea interfeelor
(afecteaz interfeele componentelor), adaptarea geografic (afecteaz distribuirea componentelor
de-a lungul reelei). n [88] abordrile adaptive sunt clasificate n: adaptri ale parametrilor, caz
n care variabilele ce determin comportamentul sistemului sunt afectate i adaptri ale
compoziiei, situaie n care pri structurale ale sistemului sunt schimbate. Separarea conceptelor
i proiectarea bazat pe componente a oferit programatorilor instrumentele necesare pentru a
construi sisteme adaptive ntr-un mod sistematic, tehnologia middleware permind
comportamentul adaptiv. Aceste tehnologii, combinate n diferite feluri, au condus la dezvoltarea
unei game largi de principii i abordri n ceea ce privete Adaptabilitatea aplicaiilor [88], [89].
Adaptarea(figura 1.9.) poate fi definit ca fiind procesul de modificare al unei aplicaii bazat pe
servicii pentru a satisface noi cerine sau situaii pe baza unor strategii de adaptare proiectate de
integratorul de sistem [90]. O aplicaie bazat pe servicii poate fi definit ca adaptabil dac
dispune de o bucl de control care s permit monitorizarea i ulterior modificarea aplicaiei pe
baza unor strategii predefinite. Aciunile de adaptare pot avea loc datorit unei probleme
identificate n timpul monitorizrii, datorit identificrii unei posibile optimizri, sau datorit
contextului de execuie(serviciile ce compun SBS, resursele de calcul disponibile, protocoalelor
folosite) schimbat.
Specificaiile de adaptare identific aspectele modelului SBS care sunt supuse schimbrii i care
sunt rezultatele ateptate n urma procesului de adaptare. Strategiile de adaptare sunt modalitile
prin care cerinele de adaptare sunt satisfcute: reconfigurare - modificarea parametrilor cureni ai
SBS, substituire - nlocuirea unui serviciu cu un altul, compensare - nlturarea efectului negativ
al unei aciuni anterioare prin executarea unor noi aciuni, replanificare - modificarea structurii i
modelului aplicaiei, recompunere a serviciilor, renegociere - modificarea SLA mpreun cu
furnizorul de servicii.
Strategiile de adaptare sunt realizate folosind mecanismele de adaptare disponibile ce pot
include instrumente pentru efectuarea efectiv a aciunilor de adaptare(mecanisme de realizare) i
instrumente pentru luarea deciziilor privind adaptarea (mecanisme de decizie - mecanisme
folosite pentru selectarea unei strategii de adaptare din mai multe alternative posibile, istoricul
adaptrilor anterioare, preferinele i deciziile utilizatorului).
63
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Procedura de adaptare poate viza diferite elemente ale SBS. Procesul de adaptare implic diferii
actori care acoper diverse roluri pe care utilizatorii le pot avea n proces. Atunci cnd aceste
roluri sunt ndeplinite de componentele software corespunztoare , putem vorbi de abordri auto-
adaptive.
O proprietate important a serviciilor care fac parte dintr-o arhitectur orientat ctre servicii
(SOA) o reprezint compozabilitatea lor [91]. O compunere de servicii combin mai multe
servicii mpreun pentru a obine un scop. Exist mai multe moduri de utilizare pentru
compunerea de servicii.
Cele mai importante modele de compunere de servicii sunt orchestrarea i coregrafia. Alte trei
modele de compunere de servicii sunt reprezentate de coordonarea i asamblarea serviciilor
precum i compunerea semantic a serviciilor [90].
Procesele de afaceri pot fi implementate prin orchestrarea funciilor business existente
implementate ca servicii. O astfel de orchestrare de servicii implementeaz o parte a procesului
de afaceri care este apoi publicat ca un serviciu ce poate fi folosit n alte procese de afaceri. ntr-o
orchestrare de servicii, un nou serviciu este creat prin combinarea mai multor servicii existente
ntr-un flux proces.
n contextul serviciilor web, au fost cteva ncercri in ceea ce privete limbajele pentru
modelarea orchestraiilor. Printre acestea se numr: Web Service Flow Language (WSFL) [92],
XLANG [93], BPML [94], BPEL [95]. Limbajul standard adoptat pentru orchestrarea serviciilor
web este WS-BPEL [95] BPEL reprezint convergena a dou limbaje anterioare, WSFL i
XLANG. Procesele de afaceri pot fi descrise n dou feluri. Procesele business executabile
descriu activitatea unui participant n interaciunea business. Procesele business abstracte sunt
specificate parial fr intenia de a fi executate. Un proces abstract poate ascunde o parte din
detaliile operaiilor necesare avnd astfel un rol descriptiv. Acesta poate fi folosit in mai multe
situaii, servind ca un ablon proces.
64
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
ntr-o orchestrare(figura 1.10), care este de obicei folosit ntr-un proces de afaceri privat, un
proces central (care poate fi un alt serviciu Web) preia controlul asupra serviciilor Web implicate
i coordoneaz execuia a diferite operaii asupra lor. Serviciile implicate nu au cunotin despre
faptul ca sunt parte a unei compoziii si al unui proces de afaceri. Doar coordonatorul central este
contient de scop, astfel nct orchestraia este centralizat avnd o ordine explicit definit
pentru operaii ct i pentru invocarea serviciilor.[96]
interaciunile ntre participani. Principalele paradigme sunt: interfa pentru interaciune n care
logica interaciunilor este definit global i interfa pentru interconectare n care logica
interaciunilor este definit pentru fiecare participant; (2) nivelul de abstractizare (specific
implementrii sau independent de implementare), care definete gradul de dependen ntre
notaiile folosite i un set particular de tehnologii.
Coordonarea serviciilor are loc atunci cnd serviciile trebuie s urmreasc un anumit protocol
condus de un coordonator central pentru a efectua o activitate distribuit. Modelele de coordonare
a serviciilor sunt folosite n cazul n care mai multe servicii trebuie s cad de acord asupra
rezultatului execuiei unui proces distribuit folosind un coordonator central i un protocol de
coordonare. Coordonarea serviciilor este similar cu coreografia de servicii cu diferena c
participanii nu trebuie s comunice unul cu cellalt, ci doar cu coordonatorul care decide
rezultatul protocolului (eec sau succes) informnd i participanii. Modele de coordonare a
serviciilor pot fi definite folosind WS-Coordination [100]. WS-Coordination definete un cadru
pentru modelarea interaciunilor ntre serviciile web. Standardul permite serviciilor participante
s ajung la un acord comun n ceea ce privete rezultatul aciunilor folosind un coordonator
bazat pe un protocol de coordonare. Coordonatorul este compus din trei servicii: (1) serviciu de
activare care permite unei aplicaii s creeze o instan de coordonare sau context; (2) serviciu de
nregistrare care permite unei aplicaii s se nregistreze la coordonator; (3) un set de protocoale
pentru coordonare specifice coordonatorului.
Modelele de asamblare a serviciilor definesc felul n care servicii diferite ar trebui mpachetate
mpreun ntr-o soluie software care s poat fi deploy-at. Asamblarea serviciilor se face n
timpul deployment-ului aplicaiilor bazate pe servicii.
Serviciile web semantice conin descrieri formale bogate ale capabilitilor lor ntr-un format
interpretabil de calculator. Acest lucru permite compunerea automat, descoperirea, invocarea
66
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
dinamic a serviciilor. Dezvoltarea serviciilor web semantice a fost posibil odat cu apariia i
evoluia web-ului semantic (Semantic Web). Cele mai importante iniiative privind adnotarea
semantic a serviciilor web sunt reprezentate de OWL-S [101] i WSMO (Web Service Modeling
Onthology) [102].
Metodele de abordare a problemei adaptrii asigurate prin servicii web pot fi clasificate conform
diferitor criterii. Rspunsurile la ntrebrile tradiionale n managementul ntreprinderii : De ce?,
Cine?, Care? si Cum are loc adaptarea? [103] definesc urmtoarele patru dimensiuni privind
dezvoltarea aplicaiilor orientate ctre servicii care asigur proprietatea de adaptabilitate a unui
VO.
67
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Proiectantul Adaptrii, care definete strategiile adaptrii pentru a duce la bun sfrit
cerinele adaptrii.
Iniiatorul Adaptrii, care iniiaz modificarea aplicaiei n raport cu modificrile
necesare ce au fost identificate anterior.
Executantul Adaptrii este responsabil pentru executarea aciunilor de adaptare definite
de strategia de adaptare aleas.
68
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
adaptare este predefinit n momentul designului aplicaiei, sau dinamic, atunci cnd strategia
este selectat n timpul execuiei. De asemenea adaptarea poate avea un grad diferit de
automatizare n funcie de gradul diferit de implicare al factorului uman n procesul de decizie.
n aceast seciune va fi prezentat un studiu asupra stadiului actual privind abordrile adaptive n
ceea ce privete aplicaiile bazate pe servicii. Vor fi prezentate iniial abordrile adaptive la
nivel de procese de afaceri, urmate de abordrile la nivel de compunere de servicii.
Numeroase abordri privind Adaptabilitatea proceselor de afaceri iau n calcul problema definirii
i utilizrii dinamice a diferitor variante de proces. Necesitatea folosirii mai multor versiuni ale
modelelor de procese este determinat de numeroasele situaii, contexte de afaceri i a clienilor.
Managementul numeroaselor variante devine o procedur complex i pasibil de erori atunci
cnd complexitatea modelelor i numrul de variante de procese crete.
n PROPOV(PROcess Variants by OPtions) [104] este proiectat un proces de baz iar variantele
acestuia sunt reprezentate ca un set de operaii care permit migrarea modelului de baz ntr-o
variant specific. Transformrile sunt reprezentate prin operaii de inserare, tergere sau mutare
a unui fragment de proces, precum i prin operaii de modificare a atributelor procesului.
Utilizarea unei operaii presupune ndeplinirea anumitor constrngeri: dependene, excludere
mutual, constrngeri privind ordinea execuiei i ierarhia. Variabile de context i reguli care
definesc relaia dintre ele sunt utilizate pentru asocierea unei variante de proces cu un anumit
context. La rulare sunt selectate variantele de proces corespunztoare pe baza informaiei
contextuale i a opiunilor selectate.
n [105], [107] sunt abordate problemele legate de transformarea dinamic a unui proces ctre
altul. Aceasta necesit definirea instruciunilor i a aciunilor de transformare a procesului.
70
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Aceste transformri ar trebui aplicate instanelor de proces care ruleaz ducnd astfel la probleme
i situaii neprevzute. Pe lng modelarea variantelor de proces, cele dou lucrri definesc
notaii i formalisme pentru descrierea i implementarea aciunilor de transformare. Aceste
aciuni definesc instruciuni pentru modificarea fluxului de control i a fluxului de date. n [106]
lista posibilelor aciuni cuprinde adugarea/tergerea de variabile, inserarea de taskuri,
adugarea/eliminarea succesorului unui task, schimbarea condiiilor unei tranziii. n [107]
aciunile includ de asemenea schimbri n ordinea operaiilor, tergerea taskurilor, etc. Lucrrile
n cauz propun de asemenea soluii pentru transformarea dinamic a instanelor proceselor.
METEOR-S [114], [115], [116] este un cadru pentru configurarea dinamic a serviciilor i
execuia fluxurilor de lucru abstracte folosind o mulime de servicii disponibile. Este folosit un
set de constrngeri funcionale i non-funcionale pentru procesele i serviciile implicate.
Modelele abstracte pentru fluxurile de lucru sunt definite de proiectant folosind BPEL. Modelul
de proces conine specificaii semantice n OWL care descriu caracteristicile funcionale i non-
funcionale ale modelului. Constrngerile non-funcionale se refer la proprietile ce descriu
71
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
n cazul proceselor bazate pe servicii web, calitatea general a procesului depinde de calitatea
oferit de serviciile componente. Chiar dac procesul funcioneaz corect, este necesar
adaptarea datorit unui nivel insuficient al calitii. Sistemul bazat pe servicii trebuie s
reacioneze pentru mbuntirea calitii proceselor. Scopul este de a selecta mulimea de servicii
disponibile la rulare ce corespunde constrngerilor dar i preferinelor utilizatorului. Selectarea
serviciilor i legarea lor reprezint un mecanism cheie pentru adaptare n cadrul acestor abordri.
72
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
73
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
n acest caz vorbim de mediere, o funcionalitate important ce ar trebui oferit pentru a permite
integrarea de-a lungul ntreprinderii. Trebuie generat un serviciu ce permite medierea
interaciunilor dintre dou servicii cu interfee diferite. Exist dou surse ce genereaz acest tip de
adaptare: eterogenitatea dintre nivelele superioare ale stivei de interoperabilitate precum i
numrul mare de clieni, fiecare dintre ei fiind capabil s suporte diferite interfee i protocoale.
Aceast mediere poate fi automat sau semi-automat. Adaptarea poate fi bazat pe semntur
(proprietile sintactice ale mesajelor schimbate), bazat pe ontologie (datele schimbate
reprezint diferite concepte), sau adaptarea bazat pe comportament (diferene n specificaiile
comportamentale).
Generarea de adaptri pentru nepotrivirile comportamentale este adresat n [127], [128], [129].
Abordarea necesit ca descrierile serviciilor participante s conin i numele protocolului de
interaciune implementat de serviciu. Acest protocol poate fi definit, de exemplu, ca un proces
BPEL abstract. Abordarea prezentat n [127] i propune generarea automat a unui adaptor
care garanteaz interaciunile non-blocante ale serviciilor, abordrile [128], [129] transfer
aceast problem integratorului de sistem. n [128] autorii propun o taxonomie pentru diferitele
neconcordane comportamentale i un set de modele comportamentale parametrizabile pentru
rezolvarea neconcordanelor. Modelul comportamental este pus n aplicare atunci cnd
neconcordana este detectat i propune o posibil strategie de adaptare integratorului de
aplicaie.
n [130] este abordat problema medierii prin propunerea unui cadru care s alinieze
implementarea intern a serviciilor cu o specificaie extern standardizat. Cadrul const ntr-o
taxonomie a diferitelor tipuri de nepotriviri dintre specificaiile externe i implementarea
serviciilor. Autorii consider c nepotriviri similare pot fi adresate folosind modificri similare
ale implementrii serviciilor. De aceea, pentru o nepotrivire, este folosit un ablon care descrie
abordarea adaptiv. Un ablon conine o serie de directive care specific locul unde va fi aplicat
logica adaptrii, i care sunt aciunile ce trebuie aplicate. Abordarea se bazeaz pe faptul c
serviciile sunt realizate ca procese BPEL, la fel ca i abloanele. Un instrument pentru
instanierea i execuia abloanelor este de asemenea prezentat de autori.
n [131] este prezentat un cadru bazat pe un protocol de mediere a serviciilor web semantice care
permite interaciunea ntre dou servicii n ciuda diferenelor de protocoale pe care se bazeaz
acestea. Medierea permite adaptarea automat a serviciului ce realizeaz invocarea pentru a fi
compatibil cu interfaa serviciului invocat.
care devine utilizabil n momentul instalrii i activrii procesului. Arhitectura care st la baza
SH-BPEL ofer instrumente pentru detectarea evenimentelor critice precum i aciuni de
recuperare ce pot fi invocate prin intermediul API-ului. Strategiile i deciziile pot fi predefinite n
cadrul managerului de proces i personalizate prin intermediul interfeei. O mulime de motoare
care ruleaz serviciile participante n coreografie pot efectua activiti de recuperare coordonate
prin intermediul unor interfee corespunztoare. Platforma permite recuperarea la nivel de
instan de proces precum i la nivel de model de proces. Cadrul SH-BPEL este extins n [133] cu
o metodologie i un modul ce permite nvarea strategiilor de reparare a serviciilor web prin
selectarea automat a aciunilor de reparare propuse. Modulul poate nva incremental tehnici de
reparare, pe msur ce erorile sunt reparate.
n [134], [135] autorii folosesc monitorizarea execuiei pentru detectarea n timp util a situaiilor
problematice. Instruciunile de monitorizare sunt definite ca aseriuni funcionale sau non-
funcionale n cadrul activitilor BPEL. Sunt propuse trei strategii pentru recuperare: retry,
rebind, sau restructurare. Instruciunile corespunztoare pentru aciunile n caz de retry i rebind
sunt introduse direct n specificaia de compoziie, n timp ce instruciunile de restructurare sunt
definite ca reguli de rescriere a fluxului de control al procesului. n [135] abordarea propus este
extins. Monitorizarea este fcut folosind o notaie specific: Web Service Constraint Language
(WSCoL), ce ofer faciliti expresive i extensibile pentru monitorizarea aseriunilor. Web
Service Recovery Language (WSReL) este propus pentru definirea specificaiilor de recuperare.
Limbajul introduce aciuni atomice de recuperare care pot fi grupate n proceduri complexe(pai).
Aciunile pot fi definite la nivel de serviciu (retry, rebind, ignore) sau la nivel de proces
(substituie, oprire) precum i aciuni de gestionare (notificare, log). Platforma se bazeaz pe un
motor de reguli ce gestioneaz specificaiile de recuperare i activeaz recuperarea.
n [136] autorii prezint MASC, un middleware bazat pe anumite politici pentru a efectua
autoadaptri n caz de excepie sau eroare n cadrul unei arhitecturi SOA. Politicile sunt definite
sub forma de reguli ECA (Eveniment - Condiie - Aciune) care descriu evenimente
declanatoare (erori ale aplicaiei, nceputul/sfritul unei instane de aplicaie, etc.) condiii n
care se aplic regulile (restricii ce se aplic asupra aplicaiei) i aciunile ce trebuie aplicate.
Politicile sunt reprezentate ntr-un limbaj care extinde standardul WS-Policy [137]. Limbajul
permite definirea de reguli i directive pentru adaptare i monitorizare. Regulile de monitorizare
definesc informaiile ce trebuie observate i transform situaiile nedorite n evenimente de eroare
ce vor fi procesate de regulile de adaptare. Abordarea permite specificarea a dou tipuri de
aciuni de adaptare: aciuni la nivel de proces i aciuni la nivel de mesaj. Aciuni posibile la nivel
de proces sunt: adugarea, tergerea, nlocuirea, schimbarea ordinii activitilor, suspendarea,
ntrzierea. Aciuni posibile la nivel de mesaj sunt: ncercarea de a invoca din nou un serviciu,
substituirea unui serviciu, invocarea concurent a mai multor servicii. Regulile de adaptare pot
avea asignate prioriti care s defineasc ordinea de execuie atunci cnd mai multe reguli se
aplic unui eveniment.
n WS-Diamond [138] autorii se focalizeaz pe diagnoza problemelor n compunerile de servicii,
ct i pe aciuni de recuperare pentru aceste probleme. Mediile de execuie pentru servicii sunt
extinse pentru a include caracteristici care s suporte procese de recuperare i diagnoz. Strategii
de reparare i mecanisme de implementare au fost studiate de-a lungul proiectului. Ele includ
aciuni la nivel de instan i de clas.
n [139] autorii propun o abordare care definete un cadru de modelare bazat pe politici simple i
o arhitectur pentru proiectarea i implementarea serviciilor n cadrul aplicaiilor mobile
75
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Acest tip de abordare permite definirea schimbrilor relevante la nivel de aplicaie i a felului n
care sistemul ar trebui s reacioneze la ele la un moment dat. Este utilizat specificaia
comportamental a aplicaiei pentru a defini explicit locaia variaiei. Pentru punctul de variaie
sunt definite o serie de alternative ce pot fi aplicate n funcie de anumite condiii i
particulariti.
Abordarea DySOA [141] pune problema reconfigurrii aplicaiei pentru a reaciona la schimbrile
critice n ceea ce privete parametrii de calitate a serviciilor. Aciunile adaptive corespund
selectrii i legrii unui nou serviciu sau unor schimbri n specificaia structurii de compoziie.
Abordarea se bazeaz pe modelarea explicit a diferitor variante corespunztoare punctelor de
variaie i pe definirea diferitor constrngeri care determin selectarea unei anumite variante.
Variantele pot fi fragmente de proces sau servicii componente i definesc variante funcionale sau
comportamentale. n cadrul DySOA, parametrii de calitate ai serviciilor sunt constant
monitorizai. Cnd anumite violri sunt identificate, posibilele variante sunt analizate i selectate
n punctele corespunztoare , astfel nct toate constrngerile s fie ndeplinite i optimizarea
parametrilor de calitate s fie realizat.
n [142] autorii modeleaz variabilitatea unui SBS la diferite nivele. La nivel de proces este
folosit BPMN pentru modelarea proceselor. Autorii denumesc Workflow Variability
flexibilitatea necesar la nivel de secven de activiti. Nivelul de servicii cuprinde definiia
serviciilor din perspectiva arhitectului. Compunerea dinamic a serviciilor este numit
Composition Variability i este modelat folosind BPEL. La nivel de interfa de servicii sunt
definite interfeele serviciilor folosind WSDL.
n [143] autorii afirm c pentru a aborda schimbrile n cadrul SBS sunt necesare urmtoarele
informaii: cunotine despre raionamentele care stau n spatele deciziilor, nelegerea
alternativelor, trasabilitate privind scopul prilor implicate i a elementele de realizare tehnic.
Ei susin c sistemele foarte flexibile i adaptabile nu pot fi specificate n avans i de aceea
consider c metodele de proiectare i tehnicile de modelare sunt necesare pentru a descrie
sistemele flexibile i evolutive ntr-un mod declarativ. Abordarea i orienteaz atenia ctre dou
tipuri de schimbri: (1) schimbri de tip top-down determinate de prile implicate. Noi
specificaii afecteaz serviciile existente i arhitecturile de servicii. De asemenea, negocierile cu
furnizori de servicii teri pot duce la noi acorduri privind nivelul calitii serviciilor (SLA) i de
asemenea la reconfigurarea arhitecturii de servicii; (2) schimbri de tipul bottom-up.
Rezultatele monitorizrii determin schimbri n configuraia curent pentru a respecta nivelul
agreat al calitii serviciilor. Pentru cele dou tipuri de schimbare sunt luate n considerare
urmtoarele: scopurile comune i specifice ale diferitelor pri implicate, cunotinele despre
76
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
77
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
CAPITOLUL 2
78
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Abilitatea a dou sau mai multe sisteme sau componente s schimbe informaii i s
foloseasc informaiile care au fost schimbate [147]
Nivelul business: reprezint nivelul superior al ntreprinderii unde sunt adresate toate
problemele legate de managementul operaiilor. Aceste probleme includ felul n care
ntreprinderea este organizat, cum acioneaz pentru a produce valoare, cum sunt luate
deciziile. Interoperabilitatea la acest nivel ar trebui vzut ca i abilitatea organizaiei de a
coopera cu organizaii externe, fie ele instituii publice sau private
79
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Nivelul serviciilor i aplicaiilor: acest nivel presupune toate soluiile ICT care permit
organizaiei s fie operativ: metode, instrumente i servicii pentru luarea deciziilor i s
interacioneze cu alte organizaii. Interoperabilitatea la nivel de servicii se refer la
abilitatea partenerilor de a cere, oferi i utiliza reciproc serviciile. Acest nivel este deseori
referit ca interoperabilitate tehnic.
Nivelul datelor: acest nivel reprezint nivelul la care are loc schimbul de date.
Interoperabilitatea semantic are o dimensiune vertical ce se ntinde de-a lungul celor patru
niveluri i are ca scop captarea i reprezentarea semnificaiei conceptelor i promovarea
nelegerii.
Interoperabilitatea semantic: are ca scop asigurarea c datele transmise prin mesaje ntre
dou sisteme au aceeai semnificaie n ambele sisteme.
2.3.1 Definiii
2.3.1.1 Arhitecturi ale ntreprinderii
O arhitectur este o descriere a dispunerii de baz i a conectivitii prilor unui sistem (fie
obiect fizic sau obiect sau entitate conceptual) [154]. Arhitectura poate avea mai multe sensuri,
n funcie de contextul in care este utilizat [154]: (1) o descriere formal a unui sistem la nivel
de componente pentru a ghida implementarea sa, (2) structura componentelor, interdependenele
lor i principiile i orientrile care le guverneaz proiectarea i evoluia n timp; (3) structura
organizatoric a unui sistem sau a unor componente.
Arhitectura ntreprinderii (EA Enterprise Architecture) definete componentele care alctuiesc
sistemul i ofer o schem/plan dup care sistemul poate fi dezvoltat. Pe baza ei ar trebui s fie
suportat raionamentul cu privire la structura, proprietile i comportamentul ei. De asemenea,
arhitectura permite gestionarea riscului si a complexitii a cror cauz sunt diveri factori, cum
ar fi tehnologia, dimensiunea, interfaa, contextul i prile interesate. Proiectarea la scar larg a
unor sisteme precum ntreprinderile ncepe de la un nivel de abstractizare nalt, pentru a asigura
coerena la nivel global, i continund apoi cu organizarea i s reprezentarea sistemelor
ntreprinderii la nivel de sub-sisteme i la nivel modular.
Un concept adiacent celui de EA este modelarea ntreprinderii (EM - Enterprise Modeling). EM
descrie n detaliu EA din diferite puncte de vedere, pentru a permite specificarea i punerea n
aplicare a sistemului. EA nu este o entitate executiv. Cu alte cuvinte, EA amplific
caracteristicile importante sau trsturile unui sistem, n timp ce modelele ntreprinderii descriu i
precizeaz sistemul n detaliu.
2.3.1.2 Concepte de baz ale arhitecturii ntreprinderii
Arhitectura ntreprinderii are ca scop crearea unei viziuni asupra viitorului sistem. Aceast
viziune este reprezentat ca o soluie cu un grad nalt de abstractizare care stabilete bazele pentru
proiectare, concentrndu-se pe caracteristicile i trsturile eseniale ale sistemului. Punctele forte
i punctele slabe pot fi apoi mult mai uor detectate i analizate. Pe de alt parte, de obicei,
designul n inginerie este mprit n modele preliminare i detaliate. Designul preliminar este, de
asemenea, numit design de arhitectura. Pe parcursul fazei preliminare de proiectare sunt definite
doar tipuri de soluii. Comunitatea ingineriei software consider, de asemenea, c arhitectura este
organizarea fundamental a unui sistem, ncorporat n componentele sale, n relaiile dintre ele i
cu mediul, cu principiile directoare ale designului i dezvoltrii sale [156]. Arhitectura
ntreprinderii este privit ca arhitectur complementar arhitecturii software, de natur s
documenteze organizarea la nivel de sistem i contextul de activitate n care funcioneaz
software-ul.
81
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
oferi acces la resursele lor ntr-un mod reciproc. n contextul ntreprinderilor aflate n reea,
interoperabilitatea se refer la capacitatea de interacionare (schimb de informaii i servicii) ntre
sistemele ntreprinderii.
83
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Infrastructura de integrare ofer servicii informatice pentru execuia unui model particular de
implementare oferind independen furnizorilor si portabilitate.
Aceste servicii permit ingineria si procesarea modelului. Componentele infrastructurii de
integrare sunt prezentate in figura 2.2. Controlul asupra execuiei modelului de descriere al
implementrii este oferit de entitatea business care primete evenimente si creeaz ocurene ale
proceselor din domeniu precum si coninut. Controlul proceselor de afaceri, managementul
resurselor si controlul activitilor (toate parte a entitii business) analizeaz coninutul
modelului, atribuie resursele, identific informaia necesar si se conecteaz la resursele IT i
resursele de producie prin entitile: comun, informaie si de prezentare. n cele din urm,
entitile business controleaz execuia proceselor din domeniu si a activitilor din cadrul reelei.
84
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
GRAI-GIM
GRAI-GIM [176] este o metodologie de modelare destinat descrierii general, axat pe detalii n
sistemul de control de fabricaie. Ea a fost dezvoltat de Laboratorul de automatizare si Productie
(LAP), la Universitatea din Bordeaux - Frana. Aceasta a luat forma sa actual n anul 1988.
Metoda GRAI a fost publicat pentru prima dat n 1977.
Metodologia propune diferite formalisme pentru a valorifica cunotinele n cadrul unei
ntreprinderi, de a structura sistemul de producie, i de a sprijini dialogul i schimburile ntre
85
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
diferii actorii. GRAI-GIM include: (1) Modelul de referin conceptual GRAI, (2) cadrul de
modelare GRAI-GIM, (3) metoda de modelare structural GRAI-GIM.
n GRAI-GIM, o ntreprindere const ntr-un sistem fizic, un sistem de decizie i un sistem
informaional. O ntreprindere poate fi descris prin patru vizualizri (figura 2.3):
funcional, fizic, decizional, i informaional.
De asemenea, o structur cubic a fost propus cu patru vizualizri n partea stng, i trei
domenii: fabricaie, organizaional i informaional (Figura 2.4)
activitate
activitate
Constrngeri
entitate entitate activitate
activitate
Constrngeri suport
informaie
relaie
Mecanism
nivelurile
funcii
activitate Constrngeri
de orizont
/ perioada
Constrngeri
entitate
Mecanism activitate
activitate
Structural
Mecanism
activitate
Mecanism
Fig. 2.3. Arhitectura de referin GIM i forme de reprezentare pentru faza de proiectare
86
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Vizualizare Domeniu
Informaional
Tehnologia
Decizional Informaiei
Fizic Tehnologia de
fabricaie
Funcional
Organizarea
Analiz
Proiectare
Proiectare
tehnic
Dezvoltare
Ciclu de via
Ciclul de via al metodologiei GIM-GRAI are cinci faze: (1) analiz, (2) proiectare
specificaiilor, (3) proiectare tehnic, (4) dezvoltare, i (5) operare. Poate fi observat n figura 2.4
c faza de proiectare a specificaiilor are dou niveluri de abstractizare: conceptual i structural.
Faza de proiectare tehnic are de asemenea dou niveluri de abstractizare, dar n acest caz nivelul
conceptual este nlocuit cu nivelul de implementare. Nivelele conceptuale sunt organizate
conform celor patru vizualizri menionate anterior: funcional, fizic, decizional,
i informaional. Nivelul structural al fazei de proiectare tehnic ct i cel de implementare sunt
organizate conform celor trei domenii: fabricaie, organizaional i informaional.
GRAI-GIM conine o metod orientat ctre utilizator i una orientat tehnic. Metoda orientat
utilizator transpune cerinele specificate de utilizator n: funcii, informaii, decizii i resurse.
Metoda orientat tehnic transform specificaiile utilizatorului n specificaii tehnice n termeni de
tehnologii informatice i de producie ce pot fi folosite pentru a implementa sistemul.
Obiectivul GRAI-GIM este de a dezvolta specificaii pentru sisteme de producie asistat de
calculator (CIM). Totui, metodologia se ocup numai de analiz i fazele de proiectare din ciclul
de via al sistemului de producie. Dei GRAI-GIM nu se ocup de dezvoltarea sistemului n
sine, ea produce datele de intrare pentru aceast faz . Este util ca referin, ghid.
PERA
PERA (Purdue Enterprise Reference Architecture) [169] fost dezvoltat la Universitatea Purdue n
perioada 1989-1994. PERA reprezint o arhitectur de referin i o metodologie care poate fi
folosit pentru a satisface conceptele legate de integrarea ntreprinderii. Arhitectura descrie ciclul
de via al unei ntreprinderi pornind de la faza iniial de identificare a proiectului i cobornd
prin toate fazele intermediare: concept, definiie, proiectare funcional, proiectare detaliat,
construcie i instalare, operare i ntreinere, renovare sau eliminare i pn la faza final a
dizolvrii ntreprinderii. PERA propune un set de aptesprezece concepte(practici recomandate)
87
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
88
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
GERAM
GERAM identific, n componenta sa cea mai important numit GERA (Generalized Enterprise
Reference Architecture Arhitectura generalizat de referin a ntreprinderii), conceptele de
baz pentru a fi utilizate n ingineria i integrarea ntreprinderii. GERAM a fost dezvoltat pe baza
unor contribuii semnificative din partea CIMOSA i a metodologiei integrate GRAI (GRAI /
GIM) i PERA. n urma analizei a diferitor cadre arhitecturale [178] cum ar fi: PERA, CIMOSA,
GRAI/GIM, Zachman, C4ISR/DoDAF, GERAM a fost preluat n procesul de standardizare
(CEN i ISO).
Munca Grupului de Lucru IFAC-IFIP (IFAC-IFIP Task Force) a adus o contribuie considerabil
la o mai bun i mai profund nelegere a arhitecturii de ntreprindere. Cu toate acestea, impactul
GERAM la nivel industrial nu este la fel de important precum ar fi fost de ateptat. Unul dintre
motive este, pe de o parte, lipsa de implicare a sectorului n studiu i, pe de alt parte,
caracteristicile conceptuale al studiului.
89
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Alte lucrri importante au fost dezvoltate n SUA: TOGAF, C4ISR (sau DoDAF). TOGAF este
dezvoltat de Open Group on Architecture Framework (Grupul deschis pentru cadrul arhitectural).
Acesta conine dou pri principale: Architecture Development Method (ADM) i Foundation
Architecture cu funcii/servicii generice pe baza crora pot fi construite arhitecturi i module
specifice [155]. Arhitectura C4ISR este dezvoltat de C4ISR Architecture Working Group
pentru a defini o abordare coordonat, adic un cadru pentru comand, control, comunicaii,
informaii, supraveghere i recunoatere a dezvoltrii arhitecturii, prezentarea i integrarea ei
[179]. De asemenea, este cunoscut sub numele de DoDAF (Arhitectura-cadru a Departamentului
Aprrii (DoD)), furniznd o abordare comun pentru dezvoltarea descrierii arhitecturii
Departamentului Aprrii (DoD), prezentarea i integrarea ei, att pentru operaiunile de rzboi
ct i pentru operaiunile i procesele comercial-economice [180].
n concluzie, arhitecturile de ntreprindere (de tip 2) dezvoltate n trecut reflect
fondul/competenele dezvoltatorilor lor i scopul pentru care au fost elaborate: de exemplu,
CIMOSA pentru producia integrat cu calculatorul, GRAI pentru managementul produciei i al
lurii deciziilor, PERA pentru ingineria de sistem, Zachman pentru sistemele informaionale i
DoDAF pentru managementul i coordonarea operaiunile militare [178].
2.3.2.2 Standarde privind integrarea la nivel de ntreprindere
Cele dou organisme de standardizare active n dezvoltarea unor standarde de arhitectur de tip 2
sunt: CEN TC310/WG1 i ISO TC184 SC5/WG1 [181]. Principalele rezultate obinute de cele
dou organisme sunt standardele: ISO 15704 [154] - Cerine pentru arhitectura i metodologiile
de referin ale ntreprinderii, i EN / ISO I9439 [159] - Integrarea ntreprinderii - cadru pentru
modelarea ntreprinderii. EN / ISO 19439 a fost dezvoltat pe baza unui pre-standard european,
ENV 40003, elaborat la nceputul anului 1990 de CEN TC310/WG1. Acesta definete conceptele
generice care sunt necesare pentru a permite crearea de modele ale ntreprinderii pentru activiti
industriale i constituie o baz conceptual pentru ingineria bazat pe modele a ntreprinderii.
EN/ISO 19439 este n concordan cu ISO 15704 i este considerat ca o punere n aplicare a
cerinelor definite n ISO 15704. Domeniul de aplicare al ISO 15704 include orice tip de modul
de control al produciei, n timp ce EN/ISO 19439, se concentreaz mai mult pe un proces de
monitorizare i control bazat pe model i executabil pe computer. Cu toate acestea, cadrul de
modelare este compatibil cu GERAM, care este descris n anexa la ISO 15704. Alt abordare
dezvoltat de organismele de standardizare industrial este standardul IEEE 1471 [156]. Acest
standard este preocupat de Practica recomandat pentru descrierea arhitectural a sistemelor
intensiv-software. Practica recomandat se adreseaz activitilor de creaie, analiz i suport al
arhitecturilor de sisteme intensive de software, precum nregistrrii acestor arhitecturi n termeni
de descrieri arhitecturale. Un cadru conceptual pentru descrierea arhitectural este astfel stabilit
(figura 2.6). Este definit coninutul unei descriere arhitecturale. Anexele ofer motivaia
conceptelor cheie i terminologiei, relaiile cu alte standarde i exemple de utilizare. Dei
abordarea privete n primul rnd ingineria software, conceptele sale arhitecturale se aplic la fel
de bine arhitecturii ntreprinderii.
90
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
O alt lucrare relevant este Open Distributed Processing Reference Model (RM-ODP), cunoscut
i sub numele de ISO 10746. El a reprezentat o iniiativ comun a ISO i ITU-T pentru a
dezvolta o arhitectur generic pentru Open Distributed Processing (ODP). ODP combin
conceptele de sisteme deschise i de calcul distributiv, avnd diferite perspective, cum ar fi, de
exemplu, i o perspectiv a ntreprinderii. O perspectiv/punct de vedere (asupra unui sistem)
este o abstracie care ntlnete specificaiile ntregului sistem n relaie cu un anumit set de
preocupri. RM-ODP definete cinci puncte de vedere [182], fiecare punct de vedere al modelul
descriptiv fiind susinut de un limbaj definit n Modelul descriptiv. Modelul descriptiv este
format din dou pri: (1) definirea limbajelor punctelor de vedere i (2) Cadrul arhitectural
pentru interaciunea obiectelor. Cele cinci puncte de vedere/perspective ale ODP-ului sunt:
ntreprinderile, informaiile, calculele, ingineria i tehnologia.
Dei au fost depuse eforturi considerabile pentru a dezvolta standarde asupra arhitecturilor de
ntreprindere, nici una din cele patru abordri prezentat mai sus nu a ajuns la o maturitate
suficient pentru a fi recunoscut i acceptat n industrie. Nu a fost nici o colaborare ntre cele
trei grupuri (ISO TC184/SC5, ISO/IUT-T i IEEE) pentru elaborarea standardelor. Chiar dac
pare dificil ca aceste standarde s fuzioneze, este totui necesar s se stabileasc o mapare ntre
ele, n scopul de a obine anumite interoperabilitii ntre modelele i sistemele construite
folosind aceste standarde.
91
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
LISI ofer un model matur de interoperabilitate care descrie creterea nivelului de sofisticare n
ceea ce privete capacitatea sistemelor de a face schimb de informaii ntre ele. El permite
identificarea cerinelor operaionale i de sistem n termeni de niveluri specifice de
interoperabilitate prin identificarea tipurilor de tranzacii informaionale
necesare, n context cu nivelurile stabilite n modelul de interoperabilitate. Nivelurile de
interoperabilitate, prezentate si n figura 2.7 sunt: izolat, conectat, funcional, domeniu i
ntreprindere. Modelul de referin LISI caracterizeaz cele cinci niveluri de interoperabilitate
printr-un set comun de capaciti necesare tuturor sistemelor informaionale care doresc s fie
interoperabile la un anumit nivel. Fiecare nivel de interoperabilitate trebuie s acopere toate cele
patru atribute care permit interoperabilitatea, cunoscute sub numele de PAID, i anume:
proceduri, aplicaii, infrastructur (servicii de hardware, de comunicaii, de securitate i de
sistem) i date. Modelul de referin LISI ofer, de asemenea, vocabularul comun i structura
necesare pentru a stabili interoperabilitatea ntre sisteme. La fiecare nivel, un cuvnt sau o
expresie evideniaz cele mai importante aspecte al PAID necesare pentru a atinge acest nivel.
Dei fiecare atribut (PAID) este semnificativ i trebuie s fie luat n considerare n definirea unui
nivel de interoperabilitate, importana i impactul relativ al contribuiilor fiecrui atribut variaz
n funcie de nivel [183].
Calculare
Descriere Mediu Nivel P A I D
ntreprindere Universal 4 Nivel Interactiv Topologii Model
ntreprindere multi- ntreprindere
92
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
dimensionale
Domeniu Integrat 3 Nivel De grup Reele Model
domeniu globale domeniu
Funcional Distribuit 2 Nivel Automatizare Reele locale Model
program ecran program
Conectat De la egal 1 Nivel local / Drivere Conexiune Local
la egal locaie standard de simpl
sistem
Izolat Manual 0 Control Neaplicabil Independent Privat
Acces
LISI ofer de asemenea un proces practic de evaluare pentru a determina nivelul de maturitate al
interoperabilitii pentru un sistem sau sistem dat pereche, capabilitile care pot lipsi,
implementri care sunt incompatibile, i opiunile disponibile pentru rezolvarea deficienelor i
pentru realizarea unui nivel din ce n ce mai nalt de maturitate. Un proces de evaluare practic
pentru determinarea ajungerii la maturitate a nivelului de interoperabilitate al unui sistem sau a
sistemului pereche dat este de asemenea definit. Pentru mai multe detalii, a se vedea [183].
Abordarea LISI este axat pe dezvoltarea interoperabilitii n sectorul militar al SUA. Deoarece
este construit cu concepte generice i modele, este folosit ca baz pentru elaborarea altor
modele mature de interoperabilitate, cum ar fi, de exemplu, modelul de maturitate organizaional
[184] i modelul de maturitate al interoperabilitii ntreprinderii [185].
Cadrul de interoperabilitate IDEAS
Cadrul de interoperabilitate IDEAS (figura 2.8) a fost dezvoltat de proiectul IDEAS pe baza
ECMA/NIST (ECMA/NIST Toaster Model), i a standardelor ISO 19101, ISO 19119 la care s-au
adugat atribute privind calitatea [186].
Cadrul este i el destinat s reflecte concepia conform creia interoperabilitatea este obinut pe
mai multe niveluri: coordonarea inter-ntreprinderi, integrarea proceselor economice, integrarea
semantic a aplicaiilor, integrarea sintactic a aplicaiilor i integrarea fizic.
La nivelul economic al modelului sunt abordate toate problemele legate de organizarea i
conducerea unei ntreprinderi. Printre altele, acestea includ modul n care o ntreprindere este
organizat, cum funcioneaz pentru a produce valoare, cum se gestioneaz relaiile sale (intern
cu propriul personal i extern cu parteneri, clieni si furnizori). Interoperabilitatea la acest nivel ar
trebui s fie vzut drept capacitatea organizaional i operaional a unei ntreprinderi de a
coopera n fapt cu alte ntreprinderi.
Nivelul economic include modelul decizional, modelul economic i cel al proceselor economice.
Modelul decizional a unei ntreprinderi definete ce/cum sunt luate deciziile i gradul de
responsabilitate al fiecrei uniti de operare, rolul i poziia. Modelul economic este descrierea
relaiilor comerciale ntre o ntreprindere i modul n care ofer produse sau servicii pe pia.
Procesele economice sunt un set de activiti care ofer valoare pentru clienii unei ntreprinderi
[187].
93
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Procese
economice
Cunotin Roluri n
e organizaie
Abiliti Atribute privind calitatea
Competene
Active de Perfor Disponibi Portabili
cunotine man litate tate
Aplicaii Managemen
Platform
tul soluiilor
Interaciune
la locul de
lucru
94
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Logica
aplicaiei
Procesul
aplicaiei
Date Date despre
Produs
Date despre
Proces
Date despre
Cunotine
Date
comerciale
Comunic
aie
Nivelul sistemelor ICT este preocupat de soluii ICT care permit unei ntreprinderi s opereze, s
ia decizii, s schimbe informaii n interiorul i n afara granielor sale. Execuia general a
aplicaiilor ntreprinderii va fi orchestrat de ctre modelul de procese economice identificat n
nivelul superior i va fi formal reprezentat i stocat n nivelul de mijloc (al cunotinelor).
Interoperabilitatea la nivel de sisteme ICT ar trebui s fi vzut ca fiind capacitatea sistemelor
ICT ale unei ntreprinderi de a colabora cu cele ale altor organizaii externe. Interoperabilitatea
trebuie s fie stabilit prin furnizarea de informaii prin intermediul comunicrii inter- i intra-
sistem. Nivelul ICT include diverse domenii, cum ar fi managementul soluiilor, interaciunea la
locul de munc, logica aplicaiilor, logica proceselor i logica datelor. Managementul soluiilor se
refer la instrumentele i procedurile necesare pentru a administra un sistem de ntreprindere.
Acesta include rolul i politica de management, instrumentele de monitorizare i simulare.
Interaciunea la locul de munc se refer la interaciunea utilizatorului uman cu sistemul, care ar
putea fi descris prin intrare, ieire i navigaie. Logica aplicaiilor descrie calculul efectuat de
ctre un sistem de ntreprindere pentru obinerea unui rezultat economic. Logica proceselor este
ordinea (de exemplu, pas-cu-pas) n care o aplicaie (sau un subset) este executat. Logica datelor
descrie datele necesare i datele produse de ctre un sistem de ntreprindere n timpul ciclului su
de via. Aceasta include servicii de stocare i de management al coninutului.
Dimensiunea semantic se ntinde de-a lungul nivelurilor: economic, ICT i de cunotine. Este
preocupat cu extragerea i reprezentarea sensului real al conceptelor, i astfel promoveaz
nelegerea lor. Perspectiv holistic privind interoperabilitatea impune luarea n considerare a
semanticii la fiecare nivel al unei ntreprinderi. Pentru ntreprinderile care doresc s colaboreze
unele cu altele i care necesit interoperabilitate la un anumit nivel, semantica este de prim
importan pentru a crea o nelegere comun [187].
oricrui atribut de calitate va avea un efect, uneori pozitiv i alteori negativ, asupra realizrii altor
atribute de calitate [ 186].
Cadrul de interoperabilitate IDEAS este prima iniiativ efectuat n Europa n cadrul FP5 - Fifth
Framework Programme adresat ntreprinderilor i probleme de interoperabilitate n fabricaie.
Este folosit ca baz pentru a elabora o foaie de parcurs ce va servi n dezvoltarea Proiectului
integrat ATHENA i a INTEROP NoE n cadrul FP6 - Sixth Framework Programme. Principalul
dezavantaj al interoperabilitii cadrului IDEAS este c se bazeaz pe cele trei domenii de
cercetare relevante (Modelare ntreprindere, platform arhitectural i ontologie) contribuind la
dezvoltarea interoperabilitii, mai degrab dect a se adresa domeniului interoperabilitii n sine.
Un cadru al domeniului de interoperabilitate trebuie s fie elaborat astfel nct probleme
cercetrii interoperabilitii s poat fi identificate i structurate cu precizie. Acest punct este
abordat n cadrul INTEROP NoE.
Cadrul european de interoperabilitate [188], [189] are ca obiectiv sprijinirea strategiei Uniunii
Europene de a oferi servicii de guvernare electronic centrate pe utilizator, prin facilitarea, la un
nivel pan-european, a interoperabilitii serviciilor i sistemelor ntre administraiile publice,
precum i ntre administraii i public (ceteni, ntreprinderi).
Acest cadru european de interoperabilitate este definit ca un set cuprinztor de politici, standarde
i linii directoare, care descrie modul n care organizaiile au fost de acord, sau ar trebui s fie de
acord, de a interaciona economic unele cu altele. Un cadru de interoperabilitate nu este, prin
urmare, un document static i ar putea fi adaptat, n timp, la cerinele induse de schimbrile n
tehnologii, standarde i n administraie. Figura 2.9 ofer o imagine de ansamblu a principalelor
aspecte ale cadrului de interoperabilitate european care sunt luate n considerare. EIF ofer
recomandri i definete generic standarde cu privire la organizare, aspecte semantice i tehnice
legate de interoperabilitate.
Cadrul european de interoperabilitate se bazeaz pe premisa c fiecare stat membru are, sau se
afl n proces de dezvoltare, a unui cadru naional guvernamental de interoperabilitate(GIF -
Government Interoperability Framework). EIF ncearc s completeze cadrele naionale de
interoperabilitate prin adugarea dimensiunii pan-european. Acesta ofer un set cuprinztor de
principii pentru cooperarea european n domeniul guvernrii electronice prin furnizarea de
recomandri i definirea standardelor generice cu privire la aspectele organizaionale, semantice
i tehnice ale interoperabilitii [190].
EIF este completat de ghidul arhitectural IDABC [191], care abordeaz interoperabilitatea dintr-
un punct de vedere mai tehnic i pragmatic. Att ghidul arhitectural ct i alte documente
prevzute n programul de lucru IDABC au ca scop ndrumarea practic i definirea de standarde
i infrastructuri necesare pentru implementarea interoperabilitii.
EIF identific trei tipuri de interaciune care acoper cea mai mare parte
din serviciile de guvernare electronic transfrontaliere disponibile la dat elaborrii cadrului:
Administrativ ctre cetean (A2C: administration to citizen) reprezint interaciunea direct
dintre ceteni sau ntreprinderi ale unui anumit stat membru, cu administraiile din alte state
membre i / sau instituii europene; Administrativ ctre administrativ (A2A: administration to
administration) - schimbul de date ntre administraii din diferite state membre; Administrativ
96
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
ctre mediul afacerilor (A2B: administration to business) - schimbul de date ntre diferite
instituii / agenii ale UE sau ntre o instituie/agenie UE i unul sau mai multe administraii ale
statelor membre [191]. De asemenea, EIF propune o clasificare interoperabilitii din punctul de
vedere al aspectelor de interoperabilitate: semantic, tehnic, organizatoric. Aceste aspecte se
concentreaz mai mult pe problemele ridicate de realizarea interoperabilitii dect pe nivelul
entitilor operaionale unde interoperabilitatea are loc prin schimbul de informaii.
Abordarea adoptat urmrete dou obiective majore, si anume s: (1) defineasc domeniul de
interoperabilitate al ntreprinderii prin elaborarea unui cadru de interoperabilitate bazat pe
97
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
98
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Trei categorii de bariere (conceptuale, tehnologice i organizatorice) sunt identificate dup cum
urmeaz [198]
STEP (Standard for the Exchange of Product Model Data) este folosit pentru reprezentarea de
obiecte 3D n proiectarea asistat de calculator CAD (Computer Aided Design) [200].
STEP este recunoscut de industrie ca un standard eficient de schimb al datelor ntre dou sisteme
CAD sau ntre sisteme CAD i sisteme de implementare. Primele pri ale standardului au fost
publicate n anul 1994 i reprezint rezultatul efortului membrilor comitetului ISO TC184/SC4
[201]. Versiunea iniial era concentrat pe dezvoltarea unei infrastructuri pentru standard care s
permit extensibilitatea sa ulterioar.
ISO 10303 acoper o mare varietate de tipuri de produse diferite ( de la electronice, mecanice, i
pn la mobilier arhitectural, etc.) precum i etapele ciclului lor de via (proiectare, analiz,
planificare, fabricarea, etc.). Pe msur ce noi pri/componente ale standardului sunt publicate,
aceast gam se extinde. Aceste componente sunt menionate ca ISO 10303-XXX, unde xxx este
numrul componentei. Fiecare parte reprezint un standard de sine stttor, n ciuda faptului c e
o component a unui ntreg mai mare i a interdependenei cu alte pri.
Schimbul de date ntre dou sisteme se face n prezent n doi pai. n primul pas datele sunt
transformate din formatul nativ al sistemului care transmite n formatul neutru al standardului
ISO 10303. Pasul doi presupune transformarea datelor din formatul ISO 10303 n formatul
sistemului care recepioneaz datele. Mediul de schimb este reprezentat de un fiier ASCII
(American Standard Code for Information Interchange). Standardul face o separare ntre modelul
informaional i implementarea fizic. Standardul ISO 10303-022 definete o interfa SDAI
(Standard Data Access Interface) ctre depozitele care conin informaie neutr ISO 10303.
Aceast interfa permite crearea unor legturi cu limbaje de programare cum ar fi C++ sau
JAVA. Entitile reprezentate i schimbate folosind STEP sunt definite folosind scheme scrise
ntr-un limbaj de modelare numit EXPRESS [202]. Aceste scheme pot fi interpretate de
calculator verificarea validitii lor fcndu-se ntr-un mod automat.
Prile implementabile ale standardului (AP - Application Protocols) definesc modele pe care
sunt bazate translatoarele. Fiecare AP este aplicabil unui stagiu al ciclului de via al unui produs.
Sistemul de numerotare al prilor componente este destul de complex, seria 01x fiind alocat
resurselor definitorii. Seria 02x este alocat metodelor de implementare. Standardele din seria
03x au scopul de a valida translatorii pentru conformitate cu standardul. Seria 04x conine resurse
generice integrate ce reprezint blocurile de baz ale standardului. Seria 1xx conine resurse
aplicaie integrate. Protocoalele aplicaie apar n seria 2xx iar seria 5xx conine construciile
aplicaie interpretate, urmtoarea direcie de cercetare.
ISO 14258
Obiectivul principal al standardului ISO 14258 [203] a fost de a defini concepte i reguli pentru
modelarea ntreprinderii i de a oferi direcii si constrngeri pentru oricine ncearc s modeleze o
ntreprindere sau procesele ei.
Conform standardului, exist trei metode prin care modelele pot fi legate ntre ele pentru a
dezvolta interoperabilitatea: integrat, unificat, federal.
n metoda integrat diverse modele sunt interpretate conform unui ablon comun. Modelele
standard sau referin trebuie s fie la fel de bogate ca i modelele constitutive. Toate modelele
pot fi ntr-un format standard, cu informaia filtrat sau translatat de aplicaii. ablonul comun
100
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
nu trebuie s fie neaprat un standard. El poate fi agreat de toate prile care elaboreaz modele i
construiesc sisteme.
Abordarea unificat presupune existena unui ablon comun ce ofer o structur comun la un
meta-nivel care ofer mijloacele stabilirii echivalenei semantice. ablonul reprezint baza pentru
un meta-model care s permit translatarea dintr-un model n altul. ablonul nu este executabil.
Pierderi de semantic sunt posibile.
n cadrul abordrii federative nu exist un ablon comun. Modelele trebuie luate ca atare, aa cum
sunt ntlnite. Pentru a stabili interoperabilitatea, prile implicate trebuie s ajung pe loc la un
acord, ntr-un mod dinamic, fr a exista un ablon predefinit.
ISO 15745
ISO 15745 [204] const n patru pri: (1) Descrierea general; (2) Descrierea de referin pentru
sisteme de control bazate pe standardul ISO 11898; (3) Descrierea de referin pentru sisteme de
control bazate pe standardul IEC 61158; (4) Descrierea de referin pentru sisteme de control
Ethernet.
Standardul propune un set de elemente i reguli pentru descrierea profilelor de interoperabilitate
la nivel de aplicaie. Elementele i regulile generice ofer abloane pentru dezvoltarea unor
profile de interoperabilitate la nivel de aplicaie (AIP Application Interoperability Profiles)
precum i la nivel de proces, resurse, schimb de informaie. Standardul este aplicabil pentru cadre
de integrare a aplicaiilor n domeniul automatizrii industriale.
ISO 16100
ISO 16100 [205] este compus i el din patru pri: (1) Cadrul de modelare ; (2) Metodologia de
profilare; (3)Interfeele pentru servicii, abloane pentru protocoale i capabiliti; (4) Metode,
criterii i rapoarte pentru teste de conformitate.
Standardul propune un cadrul de modelare pentru realizarea interoperabilitii ntre diferite
produse software folosite n domeniul de fabricaie. Cadrul de modelare adreseaz modele pentru
schimbul de informaie, obiecte software, servicii, etc. Standardul ofer i o metodologie pentru
construcia profilelor capabilitilor softurilor de fabricaie.
ISO 19440
Standardul ISO 19400 (2004) [206] propune structuri pentru modelarea ntreprinderii: semantic
comun pentru unificarea modelelor, poate fi folosit pe parcursul ntregului ciclu de via al
dezvoltrii modelelor, suport o abordare orientat proces. Standardul propune organizarea i
specializarea n funcie de scop, folosind abloane. Nu sunt permise maprile intre operaiile
funcionale i capabiliti. Nu este prezent un mecanism de versionare.
2.3.4. Concluzii
n paragraful curent am prezentat evoluia sistemelor informaionale de la EAI ncepnd cu
CIMOSA, GRAI-GIM, PERA, Zachmann, GERAM, EIS i continund cu: LISI, IDEAS, EIF i
ATHENA. Am identificat i discutat standarde privind interoperabilitatea. n continuare este
formulat problema de rezolvat.
101
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Avansul i inovarea tehnologic, globalizarea, apariia de noi modele de afaceri, dezvoltarea unei
piee unice Europene, schimbrile majore n cererea consumatorilor, schimbrile economice
determin ntreprinderile i personalul angajat s fie capabile i pregtite s se adapteze continuu.
Fora de munc adaptiv este reprezentat de angajaii care au dobndit cunotine transferabile,
ceea ce le permite s ocupe diferite roluri profesionale n cadrul ntreprinderii sau n afara ei, dac
este necesar.
102
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
103
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Este necesar definirea unui set de indicatori cheie de performan pentru evaluarea efectului
schimbrilor efectuate.
Este necesar de asemenea analiza i proiectarea unui cadru de modelare holistic al
managementului schimbrii organizaionale, care s ia n considerare diferitele niveluri ale
organizaie: nivel organizaie, nivel procese, nivel aplicaie, nivel date.
n capitolul urmtor este prezentat un astfel de cadru de modelare, care s rspund problemei
adresate. Pentru rezolvarea problemei, n paragraful urmtor a fost definit suportul formal.
2.5. SUPORT FORMAL PENTRU CUTAREA SOLUIILOR
104
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
nchis, bine format este decidabil n S. Putem spune despre un sistem formal S c este semi-
decidabil dac exist un algoritm care s recunoasc o teorem a lui S. S este nedecidabil dac nu
este decidabil sau semidecidabil.
O interpretare const dintr-un domeniu al discursului i o reprezentare a acestuia care asigneaz
valori semantice sau coninut fiecrei formule bine formate ale calculului ca i fiecrui
constituent al unui astfel de enun. n cazul n care toate axiomele sistemului formal sunt
adevrate pentru o anumit interpretare, atunci aceasta devine un model pentru sistem. O
interpretare este un model pentru o teorie sau pentru un set de enunuri dac reprezint un model
pentru sistemul formal n care teoria sau seturile de enunuri au fost exprimate i toate enunurile
sunt evaluate ca adevrate pentru modelul respectiv.
Se poate defini spaiul strilor unui sistem ca un domeniu ce conine valorile variabilelor de stare
ale programului sau ale specificaiei ce-l descrie. Comportamentul pe care sistemul l poate avea
poate fi descris n termenii valorilor acestui domeniu. Comportamentele sistemului pot fi
enumerate n ntregimea lor dac spaiul strilor este finit i suficient de mic.
Metodele de stare finit refer tehnici pentru automatizarea verificrii sistemelor cu numr de
stri finit sau a sistemelor cu stri infinite care pot fi reduse prin folosirea unor simetrii sau
uniformiti. Pentru o formul dat care s descrie o proprietate dorit a sistemului metoda de
stare finit determin ntr-un model specific dac formula este adevrat sau fals.
Metodele formale utilizeaz tehnici ce in de matematicile discrete i logica matematic pentru
specificare, proiectarea i construirea unui sistem de calcul i a unui software de mari dimensiuni.
Termenul formal provine din logica formal. Logica formal implic metode de raionare
independente de coninut i valide din punct de vedere al formei lor. Aceste metode implic
enumerarea tuturor ipotezelor i a pailor raionamentului. La fiecare pas, un numr ct mai mic
de reguli de inferen trebuie instaniate. Obiectivele metodelor formale sunt reducerea apelrii la
intuiia uman pentru evaluarea argumentelor precum i justificarea cerinelor sau ale altor
aspecte ale proiectrii sau implementrii sistemelor. Metodele formale au aprut ca o aplicare a
logicii matematice i a matematicilor discrete la problemele legate de sistemele de calcul. Ele
ncorporeaz un model al calculaiei.
Metodele formale pot fi utilizate n mod analitic pentru determinarea consistenei interne a unei
descrieri, a consecvenei unei proprieti cu cerinele propuse, evaluarea comparativ a dou
proiecte. Tot acestea pot fi utilizate n mod descriptiv pentru clarificarea cerinelor, proiectarea la
nivel nalt, pentru a facilita comunicarea unei cerine sau a unui proiect.
Metodele formale pot fi clasificate n funcie de nivelul de formalizare i scopul formalizrii n:
limbaje de specificare formal n care apar elemente de suport mecanizat, folosite pentru
verificri sintactice, interpretoare. Acest nivel ofer suport din punct de vedere al
ingineriei software pentru dezvoltarea de interfee, module, tipuri de date abstracte i
obiecte
106
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
sunt mai precise dect o descriere informal, tinznd s foreze o analiz mai minuioas
107
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
: [ ] (2.2)
Ideea de baz n cazul mainilor abstracte de stare este c un sistem de control poate fi modelat ca
o funcie de control la care se adaug starea. Sistemul evolueaz n timp. La fiecare iteraie sau
instaniere sistemul va citi valoarea unei variabile monitorizate, consult variabilele strii n care
se afl i produce perechea de rezultate: valoarea noii variabile monitorizate i valoarea noii stri.
Automatele de stare pot fi deterministe cnd exist o tranziie unic dintr-o stare n alta sau
nedeterministe atunci cnd putem avea zero sau mai multe tranziii dintr-o stare n alta. Un
automat determinist poate fi definit ca un tuplu (, , , 0 , ) unde S este un set finit de stri,
alfabetul de intrri , 0 este starea iniial, setul de stri finale, iar funcia de tranziie
ntre i . Un automat nedeterminist este de asemenea definit ca un tuplu (, , , 0 , )
singura diferen fiind dat de care face tranziia ntre i mulimea submulimilor lui i
este scris ca ().
Modelele orientate obiect reprezint sistemele ca pe colecii structurate de clase i obiecte cu
noiuni explicite de ncapsulare , motenire i relaii ntre obiecte. Ca metodologii de proiectare i
analiz informal orientat obiect pot fi amintite UML (Unified Modeling Language), BPMN
(Business Process Model and Notation) i BPEL (Business Process Execution Language). Prin
intermediul acestei metodologii o aplicaie poate fi structurat pe baza unor reprezentri de
diagrame multiple a sistemului de baz. n cadrul acestei abordri, clasele de obiecte sunt legate
de limbaje de programare orientate obiect i de teoria specificaiilor algebrice.
Spre deosebire de automatele de stare care sunt neintuitive pentru utilizatorul nespecialist, o
metod mult mai compact i modular de reprezentare a sistemelor de tip evenimente discrete o
constituie Reelele Petri (RP). Reelele Petri asigur un mediu uniform pentru modelarea, analiza
formal i proiectarea sistemelor cu evenimente discrete. Alte avantaje oferite de RP sunt
108
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
reprezentate de faptul c pot fi folosite pentru modelarea unor proprieti ca: sincronizarea
proceselor, operaii concurente, rezolvarea conflictelor, partajarea resurselor. Ca instrument
grafic, [207], RP permit reprezentarea ntr-un mod grafic a cerinelor complexe, ntr-un mod uor
de neles de utilizator. De asemenea, ele permit simularea grafic interactiv. Reelele Petri pot
fi clasificate n funcie de semnificaia jetoanelor care alctuiesc marcajul reelei n: RP de nivel
redus (RP ordinare, RP cu temporizare determinist, etc.)[208], [209] i RP de nivel nalt (RP
colorate, RP de timp real, RP cu tranziii fuzzy [210]).
Dac o poziie p este att poziie de intrare, ct i poziie de ieire pentru o tranziie t, atunci p i t
formeaz o bucl autonom. O reea Petri care nu conine bucle autonome se numete pur. Dac
toate arcele unei RP au pondere unitar atunci RP se numete ordinar. Dac cel puin un arc al
RP are pondere mai mare dect 1, atunci RP se numete generalizat.
Un marcaj atribuie unei poziii p un numr de jetoane mai mare sau egal cu 0. Dac un marcaj
atribuie unei poziii p ntregul k mai mare sau egal cu 0, atunci p este marcat cu k jetoane.
Poziiile unei RP pot conine oricte marcaje, dac nu sunt fcute precizri care s specifica
contrariul.
Prin modificare marcajului(regula tranziiei) este asigurat dinamica RP. O tranziie t este
validat dac fiecare poziie de intrare (predecesor) p a lui t este marcat un numr de jetoane
cel puin egal cu ponderea arcului de la p la t. O tranziie validat poate sau nu s fie executat
sau declanat, dac evenimentul asociat tranziiei are sau nu loc. Executarea unei tranziii
validate ndeprteaz W ( p, t ) jetoane din fiecare poziie de intrare (predecesor) p a lui t i adaug
W (t , p ) jetoane la fiecare poziie de ieire (succesor) p a lui t, unde W (t , p ) este ponderea arcului
de la t la p.
Semnificative pentru aceast lucrare sunt RP interpretate, acestea fiind n continuare descrise pe
larg.
ntr-o RP interpretat, o tranziie poate avea asociate evenimente i/sau condiii logice, situaie n
care tranziia este executat dac este valid i dac este ndeplinit condiia logic asociat n
momentul n care are loc un eveniment. Atunci cnd un marcaj este adugat unei poziii (ca
urmare a execuiei uneia dintre tranziiile sale de intrare), anumite operaii, care pot fi asociate
poziiei n mod explicit (modificarea unei variabile de stare globale, generarea unui eveniment,
etc.) sunt efectuate, iar marcajul poate fi indisponibil pentru o perioad de timp (pentru a permite
execuia tranziiei urmtoare) dac poziia respectiv este temporizat, adic dac are asociat o
durat (de indisponibilitate). Modelul de RP interpretate a fost introdus de M. Moalla. Pe baza
109
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
acestui model, David i Alla [211] au propus pe baza unor extensii i restricii un model de RP
interpretate de conducere/control (Controlled Interpreted Petri Nets). David i Alla folosesc
semantica server-ului infinit. Dac q marcaje sunt adugate simultan ntr-o poziie de ctre o
tranziie, ar trebui executat tranziia asociat cu aceast poziie de q ori? Aceast ntrebare nu
apare n cazul RP sigure(al cror marcaj este l-mrginit). Retelele Petri interpretate permit
modelarea si simularea interaciunilor ntre mai multe procese care se sincronizeaz prin
evenimente (generarea evenimentelor asociate tranziiilor unui proces reprezint operaii asociate
poziiilor celuilalt).
Modelele bazate pe timp sunt mai importante pentru evaluarea performanei dect pentru control.
Modelul de RP prezentat nu este temporizat.
Tranziia va fi executat dac este valid i condiia este adevrat atunci cnd are loc
evenimentul .
110
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Revenind, specificaiile formale reprezint caracterizri ale unui sistem existent sau planificat
exprimate ntr-un limbaj formal. O caracterizare const de obicei ntr-o colecie de axiome i
definiii ale cror sensuri i consecine sunt determinate de limbajul formal i regulile sale de
inferen.
Un limbaj formal de specificare este format dintr-o colecie de simboluri ce formeaz un alfabet
i un set de reguli sintactice, ce determin combinaiile de simboluri care reprezint o expresie
valid n limbaj. Cele mai multe limbaje formale utilizeaz logica tradiional: calculul
propoziiilor i calculul predicatelor. Cele mai multe limbaje de specificare sunt acceptate de
instrumente de analiz sintactic mecanizat iar o parte dintre ele sunt folosite de instrumentele
de analiz semantic pentru deductivitate. Ele au fost dezvoltate iniial pentru a fi utilizate n
formalizarea cerinelor, a algoritmilor i a programelor si pentru a reprezenta o baz pentru
raionamentele n aceste domenii. Limbajele de specificare formal trebuie s aib o baz
matematic solid pentru buna definire i credibilitate matematic a specificaiilor, dar i pentru a
furniza un cadru standard pentru nelegerea specificaiilor. n mod ideal, limbajul ar trebui s
aib o semantic formal complet. Cele mai multe limbaje de specificare formal vor adopta
tipuri de date din limbajele de date familiare precum i tipuri de date abstracte. Sintaxele utilizate
au n vedere familiarizarea i uurarea expresiei precum i utilitatea pentru documentare i
punerea la zi.
Tipizarea tare reprezint un capital semnificativ al limbajelor de specificare precum i al
limbajelor de programare. Limbajele de specificare se deosebesc de cele de programare prin
faptul c pot avea o mulime de tipuri sistem mai bogat. Un verificator de tipuri reprezint un
program ce valideaz consistena tipurilor, detectnd defectele, inconsistenele i omisiunile.
111
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Funciile totale mapeaz toate elementele domeniului pe elemente din codomeniul lor. Funciile
pariale mapeaz numai o parte din elementele domeniului lor pe elemente din codomeniu,
celelalte rmnnd nedefinite.
O specificaie const ntr-o colecie de axiome i definiii. Axiomele se aplic unor entiti noi
sau deja existente. Definiiile sunt axiome restrnse la definirea de concepte noi n termenii
conceptelor deja existente. Unele limbaje de specificaie limiteaz axiomatizarea arbitrar altele
asigur puin sau deloc faptul c definiiile sunt bine definite.
Limbajele de specificare conin de asemenea mecanisme care asigur monitorizarea i
ncapsularea. Exist de asemenea i mecanisme care accept i parametrizarea modulelor.
Stilul specificaiilor are implicaii variate n funcie de orientarea sa: descriptiv sau constructiv.
Stilul constructiv este asociat cu utilizarea definiiilor, n vreme ce stilul descriptiv este asociat cu
utilizarea axiomelor. Stilul descriptiv ncurajeaz o specificare abstract, pe cnd stilul
constructiv furnizeaz un numr ct mai mare de detalii i particulariti. Specificaiile
descriptive pot introduce inconsistene, fiind greu de neles de un cititor mai puin avizat.
Deoarece folosirea celor dou stiluri ar putea fi judicioas pentru unele aplicaii, este de preferat
s fie utilizate specificaii descriptive pentru nivelul de vrf al specificaiei, urmnd s fie
introduse pentru nivelurile inferioare specificaii constructive.
Specificaiile formale pot fi integrate cu dezvoltarea sistemului prin construirea unei ierarhii de
specificaii pe diferite nivele. Fiecare nivel corespunde cu o faz a ciclului de via al produsului,
referind sau fiind elaborat cu ajutorul nivelului precedent. Prin utilizarea probrii formale se
poate stabili c fiecare nivel al proiectrii este o implementare corect a nivelului precedent.
Probarea formal se face cu ajutorul unor funcii care relaioneaz obiectele de pe un nivel cu
obiectele de pe nivelul anterior, probnd c relaia se pstreaz pentru toate execuiile posibile.
Utilizarea specificaiilor formale este eficient din punct de vedere al costurilor dar i funcional
n prima parte a ciclului de via al sistemului.
Specificaiile formale pot conine erori datorate:
112
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Execuia permite simularea specificaiilor n cazul n care acestea au fost realizate ntr-un limbaj
formal de specificare direct executabil.
Probarea teoremelor i verificarea modelului sunt utilizate pentru detectarea anomaliilor logice i
a nepotrivirilor dintr-o specificaie formal. Validarea specificaiilor formale urmrete
consistena intern a acestora, semnificativitatea i completitudinea.
Specificaiile formale pot servi mai multor scopuri. O funcie important a specificaiilor formale
este calcularea, predicia i testarea comportamentului sistemului. Specificaiile formale pot avea
un rol descriptiv ce va furniza o baz pentru documentare. O alt funcie a specificaiilor formale
este reprezentat de clarificarea cerinelor i a proiectului de nivel nalt prin specificarea unui
enun concis i neambiguu relativ la cerinele fundamentale i proiectul de baz. De asemenea,
formalismele pot ajuta la exprimarea clar a ipotezelor implicite. Procesul de formalizare va
expune defectele semnificative din specificaie i de asemenea va duce la identificarea excepiilor
2.6. CONCLUZII
113
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
CAPITOLUL 3
114
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
cunoscute i aspectele VBE, indiferent de natura lor. n [6] au fost identificate 4 dimensiuni
aproape ortogonale ale cadrului referin de modelare al VBE:
115
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Strategia organizaional este un termen folosit pentru a referi felul n care o organizaie
trebuie s evolueze de-a lungul timpului pentru a-i atinge obiectivele. Necesitatea de
schimbare este identificat pe baza criteriilor de management al schimbrii ce sunt aliniate cu
strategia organizaiei(figura 3.2).
117
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
118
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Factorii interni, respectiv externi vor determina schimbri la diferite niveluri n cadrul
organizaiei. n continuarea sunt prezentate nivelurile organizaiei guvernate de managementul
schimbrii.
121
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
(ieftinirea preului
produselor vs.
mbuntirea
calitii lor,
cutarea unor noi
piee de
desfacere)
Factori socio- Strategia Strategia La nivelul ntregii Organizaia se
culturali organizaiei organizaiei se organizaii adapteaz cerinelor
adapteaz n cumprtorilor i
funcie de nevoile evolueaz n acelai
clienilor, procese timp cu acetia
noi sunt
dezvoltate (cum
ar fi procesele
pentru comerul
online),
organizaia este
retehnologizat
Factori Procesele Procesele sunt re- Procese, Organizaia
tehnologici interne ale proiectate pentru metodologia de beneficiaz de
organizaiei a utiliza n cadrul producie tehnologii de ultim
organizaiei noile generaie n procesul
tehnologii de producie,
oferindu-i un avantaj
asupra competiiei
124
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
125
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
n practic, persoanele care modeleaz folosesc un set de convenii, norme sau practici uzuale n
cadrul procesului de modelare. Aceste convenii de modelare pot fi vzute ca o standardizare
intern organizaiei n procesul de modelare. Ele specific modalitatea prin care un limbaj de
modelare a proceselor poate fi folosit n acest scop. n unele cazuri, conveniile de modelare
restricioneaz utilizarea limbajului de modelare a proceselor la un set redus de elemente sau
simboluri. n alte cazuri, conveniile de modelare fac modificri la specificaiile unui limbaj de
modelare a proceselor, prin schimbarea semanticii sau a sintaxei elementelor sau simbolurilor
[225].
Modelul rezultat poate fi diferit n funcie de tehnica de modelare folosit. Modelele pot fi
construite n cadrul mai multor sesiuni de modelare, sau/i prin folosirea diferitor abordri:
corectitudine prin proiectare, nelegere prin proiectare, etc.
126
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Fig. 3.3. Cadru modelare managementul schimbrii la nivel de proces (adaptat dup
[221])
n cadrul unei organizaii virtuale, n cazul intrrii/prsirii organizaiei virtuale de ctre membru
al acesteia, procesele n cadrul organizaiei virtuale vor trebui reproiectate. Pentru a determina
impactul produs, este nevoie de un instrument de analiz a impactului schimbrilor n cadrul unui
proces. Un astfel de instrument este descris n capitolul 4.
mbuntirea proceselor n cadrul unei organizaii poate fi realizat prin implicarea angajailor
din cadrul diferitelor niveluri sau departamente ale organizaiei n procesul de management al
schimbrii. Acetia pot identifica cu uurin punctele slabe n cadrul unui proces cu direct
impact asupra activitii lor sau resursele ce nu sunt folosite eficient de ctre acest proces.
Reelele Petri pot fi utilizate n cadrul organizaiilor pentru mbuntirea proceselor.
Pentru a crete aria de utilizare a Reelelor Petri au fost propuse o serie de instrumente de
modelare i analiz asistat de calculator. Unul dintre acestea este reprezentat de Reelele Petri
Baukasten (RPB) [226]. Scopul acestora este de a oferi un mediu suport pentru Reelele Petri n
cadrul aplicaiilor din punct de vedere teoretic i al instrumentelor. Reelele Petri Baukasten pot fi
vzute din patru perspective (figura 3.4): (1) perspectiva dezvoltatorului de aplicaii; (2)
perspectiva expertului; (3) perspectiva dezvoltatorului de instrumente; (4) baza comun.
127
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Scopul Reelelor Petri Baukasten este s ofere suport pentru diferii utilizatori ai Reelelor Petri.
Ele pot fi aplicate n domenii ca: producia automat, sisteme de control, managementul
fluxurilor de producie, etc. RPB permit unui inginer ce dezvolt aplicaii s foloseasc noiuni
legate de Reele Petri interpretate la nivelul aplicaiei. RPB permit dezvoltatorului de aplicaii s
foloseasc cele mai adecvate metode i tehnici caracteristice Reelelor Petri sau chiar Reelele
Petri cele mai potrivite pentru proiectarea unei aplicaii.
RPB ofer expertului n RP suport pentru elaborarea i extinderea tehnicilor formale, definirea
unor noi tipuri i noiuni ntr-un format standard, declararea proprietilor RP ntr-o manier
formal i constructiv, transferul rezultatelor ntre diferite tipuri de reele i publicarea
rezultatelor i a noiunilor ctre alte aplicaii.
Elementul central al RPB este reprezentat de tehnicile RPB. O tehnic RPB este dat ca o
combinaie consistent ntre un tip de RP, formalizarea ei, o procedur metodologic i
instrumentul informatic aferent. Tipul unei RP este dat de o descriere semi-formal a
caracteristicilor ei. Descrierea folosete noiuni de RP privind elementele constituente ale unei RP
cum ar fi poziii, marcaje, tranziii i a operaiilor de analiz sau a tehnicilor de construcie.
Descrierea formal a tipului RP este realizat din perspectiva expertului. Instrumentele
informatice sunt oferite n perspectiva dezvoltatorului. Procedura metodologic privind modul de
128
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
lucru cu un tip de RP ntr-o aplicaie practic este descris din perspectiva dezvoltatorului de
aplicaii. Ea definete secvena de activiti de dezvoltare, incluznd operaiile caracteristice
Reelelor Petri pentru verificare, structurare.
Baza comun
Baza comun [227] [228] cuprinde toate tipurile de RP pentru un anumit domeniu de aplicaii,
integreaz toate aceste tipuri ntr-o schem comun i definete relaiile dintre tipurile de RP. Se
dorete ca baza comun s fie structurat ntr-un mod ct mai simplu cu putin i ct mai uor de
neles pentru dezvoltatorii de aplicaii, dezvoltatorii de instrumente i experii n RP. Clasificarea
RP n cadrul bazei comune este reprezentat de o ierarhie specializat pe baza unor atribute.
Aceste atribute descriu noiunile legate de RP la un nivel conceptual.
Perspectiva dezvoltatorului de aplicaii [229] [228] ofer premisele dezvoltrii de aplicaii bazate
pe RP. Planificarea activitilor dezvoltate ntr-un domeniu se realizeaz pe baza tehnicilor
formale, instrumentelor i procedurilor tehnologice oferite de acest modul. Activitile de
modelare se bazeaz pe exemple, soluii standard i proceduri metodologice caracteristice unui
tip de RP.
Perspectiva expertului
Aceast perspectiv susine realizarea rapid de prototipuri pentru instrumente informatice bazate
pe RP. Aceste instrumente permit modelarea, simulare i analiza variantelor de RP.
Baza de date
Baza de date conine toate informaiile ce sunt puse la dispoziie de RPB. Informaiile sunt
structurate n funcie de diferitele grupuri de utilizatori i de baza comun.
Baza de date a aplicaiei conine metode, tehnici de dezvoltare a RP i exemple. Acestea sunt
descrise n funcie de numele lor, obiective, domeniile de aplicaie i cuvinte cheie specifice
aplicaiilor. Domeniile de aplicabilitate sunt caracterizate de un numr de aspecte ce reflect toate
entitile i ntrebrile specifice unui domeniu de aplicaie.
Baza de date caracteristic expertului cuprinde elemente teoretice legate de RP: cadrul abstract
al RP, tehnici, actualizri, transformri [230]. Scheme sunt folosite pentru reprezentarea
uniform a acestor noiuni.
129
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Baza de date comun conine versiunea curent a diagramei de clasificare a RP. Fiecare tip de RP
este descris folosind notaii UML. O ierarhizare a diferitelor tipuri de RP este realizat.
Serviciile
Serviciile de asisten sunt invocate n interfaa utilizator i opereaz pe baza de date. Exist dou
tipuri de servicii de asisten: de cutare i de ntreinere. Serviciile de cutare recupereaz datele
cerute conform parametrilor de intrare i prezint rezultatele cutrii ntr-o manier adaptat la
cerinele utilizatorului. Serviciile de ntreinere modific baza de date prin adugarea/tergerea de
nregistrri. Serviciile pot fi comune, specifice aplicaiei, instrumentelor i expertului.
Serviciile specifice expertului ofer suport experilor pentru cercetarea n domeniul RP:
Pentru dezvoltarea de tehnici formale
Pentru definirea de tipuri i noiuni ntr-un format standard
Pentru definirea proprietilor variantelor de RP ntr-o manier formal i constructiv
Pentru transferul rezultatelor ntre diferite tipuri de RP
Disponibilitatea rezultatelor i noiunilor pentru aplicaii
Accesul structurat la noiuni teoretice privind RP
Serviciile comune au un rol esenial. Ele nu sunt invocate direct de un utilizator ci indirect de un
serviciu specific unui tip de utilizator. Ele integreaz funcionaliti cum ar fi:
Cutare n baza de date comun
Actualizarea ntregii baze de date
Arhitectura pentru RPB se bazeaz pe tehnologii middleware i este compus din trei module:
interfaa grafic, stratul funcional i depozitul de date. Arhitectura RPB este ilustrat n figura
130
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
3.5. Interfaa utilizator este mprit n interfaa expert, interfaa dezvoltatorului de aplicaii i
interfaa dezvoltatorului de instrumente informatice.
Cadrul de modelare pentru RPB poate fi extins cu dou noi perspective(figura 3.5): perspectiva
membrului organizaiei i perspectiva analistului business.
n cadrul arhitecturii pentru RPB, interfeei comune i se adaug pe lng cele trei interfee
existente, o interfa specific membrului organizaiei. Prin intermediul acestei interfee membrul
organizaiei poate selecta i accesa procesul ce prezint interes pentru el. Acest proces este afiat
n cadrul unei interfee grafice i modelat cu un instrument ce respect standardul BPMN
(Business Proces Modeling and Notation) [231].
Instrumentul a fost dezvoltat n prealabil de dezvoltatorul de instrumente i este bazat pe RP.
Instrumentul suport adugarea de comentarii exprimate ntr-un format liber. Ele vor fi fcute de
ctre membrul organizaiei asupra activitilor ce trebuie mbuntite n opinia sa precum i
asupra diferitelor resurse ce sunt utilizate ineficient. Aceast metod ofer membrilor organizaiei
mputernicirea i responsabilitatea eliminrii lucrurilor care nu adaug valoare din perspectiva
lor.
131
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
n cadrul aceleai arhitecturi RPB, interfeei comune i se mai adaug o interfa specific
analistului business. Prin intermediul acestei interfee, analistul business are acces la procesele
din cadrul organizaiei construite de dezvoltatorul de instrumente. Analistul business poate
remodela procesele din cadrul organizaiei prin proiectarea unor noi versiuni. Aceste versiuni vor
fi stocate n baza de date dezvoltator de instrumente i vor putea fi verificate i aprobate de ctre
expert i dezvoltatorul de instrumente.
Cadrul de modelare RBP poate fi integrat i cu conceptul managerial lean six sigma [232].
Abordri curente ce utilizeaz lean six sigma pentru mbuntirea proceselor n cadrul
organizaiilor sunt reprezentate de platforma IBM Blueworks Live [233]. Aceast platform
combin tehnologii BPM (Business Process Management) proprietare IBM i arhitecturi SOA
mpreun cu conceptul lean six sigma pentru a accelera mbuntirea procesele n cadrul unei
organizaii i obinerea de rezultate.
Spre deosebire de abordarea prezentat, abordarea curent face uz de suportul oferit de RP i de
expertul n RP pentru mbuntirea proceselor organizaiei.
n acest context serviciile care stau la baza aplicaiei sunt compuse folosind unul din modelele
compunere prezentate n 1.3.3. Serviciile componente trebuie s respecte anumite criterii
conform acordului SLA(Service Level Agreement).
SLA are mai multe definiii posibile:
Conform BusinessDictionary.com SLA reprezint un contract ntre un furnizor de
serviciu i un client, n care sunt detaliate natura, calitatea i scopul serviciului oferit.
[234]
Conform Wikipedia, SLA este parte a unui contract de servicii, unde un serviciu este
definit formal.
n contextul serviciilor web, SLA reprezint un acord ntre un furnizor de servicii web i
un client ce definete obligaiile prilor implicate [235]. n primul rnd reprezint
obligaia unui furnizor de servicii web de a furniza un serviciu n conformitate cu
nivelurile de calitate negociate. Pentru a verifica respectarea nivelurilor de calitate
negociate, tehnici de monitorizare i control trebuie specificate. Un SLA specific de
asemenea i msurile ce trebuie luate n cazul nerespectrii nivelurilor de calitate
negociate, de exemplu o notificare ctre client.
132
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Calitatea serviciilor (Quality of Service) [236] face referire la proprietile non-funcionale ale
serviciilor web, cum ar fi performana, sigurana (reliability), disponibilitatea i securitatea.
Principalele cerine pentru suportul calitii serviciilor la nivel de servicii web sunt:
Disponibilitatea: este aspectul calitativ care atest dac serviciul web este prezent i gata
s fie utilizat. Valori mari pentru disponibilitate reprezint faptul c serviciul este n
marea majoritate a timpului pregtit pentru a fi utilizat.
Accesibilitatea: este aspectul calitativ care nivelul de capabilitate al unui serviciu web de
a deservi un request. Poate fi exprimat ca o probabilitate a ratei de invocare cu succes a
unui serviciu la un anumit moment.
Integritatea: este aspectul calitativ care denot felul n care serviciul web menine
corectitudinea interaciunilor. Execuia corect a tranzaciilor serviciului web va
determina corectitudinea interaciunilor.
Performana: este aspectul calitativ msurat n funcie de numrul de request-uri deservite
ntr-o anumit perioad de timp (throughput) i laten (timpul msurat ntre momentul
trimiterii unui request de ctre client i momentul n care clientul primete rspunsul).
Reliability: o msur a acestui aspect calitativ este reprezentat de numrul de eecuri al
serviciului raportat la o perioad de o lun sau un an. ntr-un alt sens, acest aspect calitativ
se refer la sigurana primirii mesajelor att de clientul serviciului ct i de furnizorul
serviciului
Reglementarea: este aspectul calitativ care se refer la conformitatea serviciului cu
regulile, legile, standardele i SLA stabilit.
Securitatea
n cazul n care anumii furnizori de servicii din cadrul organizaiei virtuale nu respect nivelul de
calitate negociat conform SLA este necesar managementul schimbrii. Serviciile respective pot fi
nlocuite cu alte servicii cu caracteristici funcionale asemntoare, n urma negocierii cu succes
al nivelului calitii noilor serviciilor.
Spre deosebire de celelalte situaii , dezvoltarea unor aplicaii n cadrul organizaiei presupune un
efort consistent i va fi analizat n continuare. Managementul la nivel de aplicaie este bazat pe
metodologia agile.
Planificare
Analiza
cerinelor Identificare
nevoi de
adaptare
Proiectare
Imple-
mentare
Testare Monitorizare
unitar
Testare n
privina
acceptrii
Respingere Operare
o nelegere clar a modului n care entitile de date sunt folosite de ctre servicii,
procese i logica de business
o nelegere clar a felului n care entitile de date sunt create, stocate, transportate i
raportate
care este nivelul i complexitatea implicate de transformrile necesare pentru schimbul de
informaii ntre aplicaii
care sunt cerinele n materie de software pentru integrarea la nivel de date cu clienii i
furnizorii ntreprinderii
calitatea datelor
securitatea datelor
interoperabilitatea la nivel de date
accesibilitatea datelor
134
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
utilitatea datelor
Calitatea datelor
n cazul unor carene privind calitatea datelor, sunt dezvoltate i aplicate proceduri de corectare a
erorilor. De asemenea, procesele care produc date eronate sunt supuse i ele procesului de
mbuntire.
Securitatea datelor
Datele trebuie protejate de utilizarea fr autorizaie i divulgare. Printre categoriile de date ce
trebuie protejate se numr: informaiile folosite n luarea deciziilor, informaiile proprietare
(informaii ce nu sunt publice: date financiare, rezultate ale unor teste, etc.) i informaiile
sensibile (informaii care dac sunt compromise pot leza organizaia ce le deine).
Securitatea trebuie luat n considerare i implementat nc de la definirea elementelor de date.
Sistemele, datele i tehnologiile trebuie protejate de accesul neautorizat i manipulare. n funcie
de importana datelor, nivelul de securitate poate fi mbuntit pentru anumite elemente de date.
Interoperabilitatea la nivel de date
Interoperabilitatea considerat la nivel de date este sintactic i semantic. Scopul
interoperabilitatea sintactic este acela de a asigura faptul c mesajele schimbate ntre dou
sisteme informatice au formate compatibile. Transmitorul mesajului codific mesajul folosind
reguli sintactice specificate de o gramatic iar receptorul decodific mesajul pe baza aceleiai
gramatici. Scopul interoperabilitii semantice este acela de a asigura faptul c mesajele
transmise ntre cele dou sisteme au aceeai semnificaie pentru ambele sisteme.
Un exemplu de management al schimbrii este reprezentat de stabilirea interoperabilitii la nivel
de date n momentul n care organizaia curent dorete s colaboreze cu o organizaie nou.
Mediatori care s asigure maparea din formatul curent de date ntr-un format comun celor dou
organizaii pot fi dezvoltai.
Accesibilitatea datelor
Accesul larg la date duce la eficien i eficacitate n luarea deciziilor, permind organizaiilor s
rspund rapid la diferitele solicitri. Accesul la informaie trebuie acordat diferitor grupuri de
persoane din cadrul organizaiei. Politica de acces la diferite categorii de date din interiorul
organizaiei sufer numeroase schimbri n funcie de persoanele care trebuie s aib acces la
aceste date la un moment dat. Diferite roluri pot fi acordate diferitor grupuri de persoane, cu
modaliti difereniate de acces: vizualizare, modificare, tergere.
Utilitatea datelor
n orice moment al existenei organizaiei trebuie asigurat accesul la datele utile factorului de
decizie din cadrul organizaiei. Datele redundante precum i colectarea datelor redundante trebuie
eliminate. De asemenea, trebuie stabilite categoriile de date eseniale n cadrul procesului de luare
al deciziei. Acestea pot fi reprezentate de indicatorii cheie de performan. O monitorizare atent
a acestor indicatori trebuie realizat.
135
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
136
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
n cadrul curentei cercetri au fost selectai civa indicatori considerai eseniali pentru scopul
lucrrii. Acetia sunt reprezentai de indicatorii cheie pentru procese:
timpul de avertizare al unui doctor n secia de urgen n cazul apariiei unui caz grav
muli pai ce se aplic la cele patru niveluri ale organizaiei considerate. Am identificat indicatorii
chei de performan ce trebuie considerai n managementul schimbrii. Atenia a fost concentrat
asupra nivelurilor procese i aplicaii. La nivelul procese am propus un cadru de modelare pentru
reproiectarea i validarea proceselor. Am extins de asemenea arhitectura pentru RPB pentru a
permite angajailor unei organizaii s mbunteasc procesele caracteristice zonei lor de lucru.
Procesele mbuntite de angajai vor fi validate de analistul business din cadrul organizaiei.
138
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
CAPITOLUL 4
4.1. INTRODUCERE
SOC (Service Oriented Computing) [243] este o paradigm ce utilizeaz serviciile ca i blocuri
constructive pentru a crea soluii software slab-interconectate. Serviciile sunt oferite de
componente software ce pot fi descrise, descoperite i compuse ntr-un mod interoperabil.
Serviciile implementeaz funcionaliti pornind de nivelul tehnic i pn la procese de afaceri
[244]. Aplicaiile bazate pe servicii (SBA) sunt construite pe baza arhitecturilor SOA. Serviciul
Web are o interfa descris ntr-un format procesabil main (specific WSDL). Alte sisteme
interacioneaz cu serviciul web folosind HTTP sau date serializate n formatul XML n
conjuncie cu alte standarde Web. Cele mai populare servicii web [245] utilizeaz standarde cum
ar fi WSDL [246], SOAP [247], WS-BPEL [95]. O proprietate important a serviciilor ce fac
parte din SOA este compozabilitatea lor [245]. Aa cum am artat i n paragraful 1.3.3 au fost
identificate patru modele de compunere a serviciilor: orchestraie de servicii, coreografie de
servicii, coordonare de servicii, asamblare de servicii.
Pe parcursul acestui capitol efortul va fi concentrat asupra orchestraiilor de servicii i a
limbajului WS-BPEL. WS-BPEL [95] este limbajul standard pentru modelarea comportamentului
orchestraiilor de servicii. Limbajul WS-BPEL este format din activiti de baz: Invoke, Receive,
Reply, Assign,Throw, Wait, Empty i activiti structurate: Sequence, If, While, RepeatUntill,
Pick, Flow, ForEach. Activitile de baz sunt atomice i descriu etapele elementare ale
comportamentului procesului. Activitile structurate codific logica de control a fluxului. Ele pot
conine activiti de baz sau alte activiti structurate (de exemplu mai multe activiti de tip
sequence n cadrul unei activiti de tip flow) .
Managementul schimbrii a fost studiat ntr-o gam larg de arii, cum ar fi: ingineria software,
sistemele distribuite, sisteme de gestiune al bazelor de date, sisteme informatice. Managementul
schimbrii pentru procesele de afaceri a fost studiat intensiv ncepnd cu mijlocul anilor 1990
[250][251][252][253][254][255][256]. Aceste studii se concentreaz asupra evoluiei proceselor
de afaceri i pe asigurarea flexibilitii n cadrul sistemelor de gestiune a fluxurilor de lucru. Nu
sunt luate n considerare relaiile proceselor cu serviciile.
A fost efectuat de asemenea un studiu asupra instrumentelor existente pe pia care permit
proiectarea de procese WS-BPEL. Punctul de interes a fost reprezentat de capacitatea
instrumentelor de a identifica impactul schimbrilor n cadrul procesului WS-BPEL. Cel mai
popular instrument este reprezentat de Eclipse BPEL Designer. Acesta este un software pentru
139
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
care utilizatorul nu trebuie s plteasc. Doi mari productori de software ofer de asemenea,
contra cost, instrumente pentru proiectarea proceselor BPEL: Oracle i IBM. Produsul
comercializat de Oracle se numete Oracle BPEL Process Manager iar cel comercializat de IBM
poart numele de IBM Integration Designer. Modelio BPEL Designer [257] este un instrument
care permite proiectarea grafic de procese conforme cu standardul BPMN i generarea de cod
BPEL pe baza acestora.
Eclipse BPEL Designer ofer suport pentru proiectarea de procese WS-BPEL [258]. Instrumentul
nu ofer suport pentru analiza impactului schimbrilor din cadrul procesului asupra celorlalte
activiti ale procesului sau a altor procese.
n cazul Oracle, ultima versiune disponibil este reprezentat de BPEL Process Manager
11.1.1.7.0 [259]. Aceast versiune nu a putut fi descrcat de pe site, doar clienii care au
contracte de suport cu cei de la Oracle avnd acces. A fost descrcat i analizat versiunea
10.1.3.3, ce vine ca un plugin preinstalat pentru JDeveloper 10.1.3.3. n urma studiului efectuat
am putut observa c Oracle BPEL Process Manager nu ofer suport pentru analiza impactului
schimbrilor n cadrul procesului. Diferena ntre versiunea analizat 10.1.3.3 i versiunea cea
mai recent, conform celor de la Oracle [260], [261] este reprezentat de introducerea corelrilor
condiionale pentru agregarea scenariilor.
n cazul IBM, o versiune de evaluare a instrumentului IBM Integration Designer 7.5.1 nu a putut
fi descrcat [262], ea fiind disponibil doar pentru companii. Conform documentaiei oferite de
IBM [263] instrumentul nu evalueaz impactul pe care o anumit schimbare n cadrul procesului
l poate avea asupra activitilor procesului n cauz sau asupra altor procese. Schimbrile
efectuate de la o versiune la alta a modelului de proces BPEL pot fi exportate din Integration
Designer i importate n IBM Business Modeler. n cadrul instrumentului IBM Business Modeler
schimbrile pot fi analizate, sesiznd diferenele dintre modelul de proces creat n Integration
Designer i implementarea propriu-zis. Aceste schimbri pot fi propagate foarte uor n
implementare sau respinse [264].
Nici n cazul Modelio, impactul schimbrilor n cadrul unui proces nu este luat n considerare.
n sistemele bazate pe servicii, pot exista dependene complexe ntre servicii i procesele de
afaceri. Managementul schimbrii reprezint o problem dificil n cadrul SOA datorit
caracterului dinamic al serviciilor i al distribuiei acestora [265]. Serviciile sunt cuplate cu
procesele business din care fac parte. Din diferite motive, serviciile i procesele business sufer
schimbri. O schimbare la nivel de serviciu afecteaz de obicei procesul business asociat precum
i celelalte servicii. La fel, o schimbare la nivel de proces afecteaz serviciile asociate. Din
aceast cauz, este necesar identificarea unor tipuri de schimbare posibil i a mecanismelor de
detecie a impactului acestor schimbri. Abordarea propus se bazeaz pe modele de procese
business orientate ctre servicii ce captureaz dependena dintre servicii i procesele business. Un
numr de tipare de impact al schimbrilor este identificat pe baza schimbrilor serviciilor.
Propagarea schimbrilor n cadrul proceselor business orientate ctre servicii poate fi identificat
pe baza tiparelor propuse. Pe baza unei taxonomii de schimbare, se efectueaz analiza propagrii
schimbrilor n cadrul unui proces business orientat ctre servicii. Un algoritm n acest sens este
propus.
140
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
S considerm scenariul n care un pacient internat n spital trebuie transportat la o alt unitate
spitaliceasc. Procesul de transfer al pacientului ctre alt unitate spitaliceasc (figura 4.1) se
realizeaz n mai muli pai. Fia medical este transmis ctre unitatea spitaliceasc secundar.
Dup primirea acceptului transferului fia de transfer a pacientului este eliberat i trimis ctre
unitatea spitaliceasc secundar. n acest scenariu, procesul de transfer pacient interacioneaz cu
doi parteneri: unitatea spitaliceasc secundar i partenerul care a instaniat procesul.
Interaciunea este realizat prin invocarea serviciilor expuse de un anumit proces. Fiecare serviciu
reprezint o vedere exterioar asupra procesului din punctul de vedere al unui partener.
Activitile private ale procesului, cum ar fi n acest caz activitatea de pregtire a procesului de
transfer nu sunt vizibile de ctre parteneri. Procesul prezentat n figura 4.1 reprezint un serviciu,
ce poate fi reprezentat printr-o reea petri simpl n care activitile de comunicare sunt
reprezentate prin tranziii, poziiile reprezentnd stri ale procesului(figura 4.2).
141
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
142
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
143
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
a) Nivelul proces
Nivelul proces conine procese de afaceri referite ca procesele interne. Un proces intern const
dintr-o schem de control a fluxului i diagrama fluxului de informaii .
Schema de control a fluxului const ntr-un set de activiti i relaiile de control asociate cu
acestea. Activitile sunt clasificate n activiti private (P-activiti) i activiti de comunicare
(C-activitati) [267], [268]. Activitile private sunt invizibile pentru parteneri. P-activitile
permise de standardul BPEL sunt: assign, throw, wait, empty, exit, rethrow. Activitile de
comunicare sunt folosite pentru schimbul de informaii cu partenerii. C-activiti permise de
standardul BPEL sunt: receive, reply, invoke.
Definiia 1 Schema de control a fluxului unui proces intern este definit ca un 3-tuplu:
SCF = (A, C, E), n cazul n care [266]:
Diagrama fluxului de informaii definete modul n care sunt transferate date ntre activiti.
Diagrama fluxului de informaii este cheia pentru nelegerea dependenei de date ntre activiti.
Ea este indispensabil pentru analiza impactului schimbrilor. Diagrama fluxului de informaii
este similar cu schema fluxului de date, definit n [269].
Definiia 2 (Diagrama fluxului de informaii) Fie SCF = (A, C, E) este schema fluxului de control
al unui proces intern. Diagrama fluxului de informaii este setul tuturor conexiunilor de date
= {1 , , }.
144
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
tuplu = (, ) .
b) Nivelul serviciilor
Nivelul serviciilor cuprinde serviciile ce reprezint de un proces intern. Fiecare serviciu este o
vedere exterioar a procesului intern din punct de vedere al unui partener. Prin interfaa unui
serviciu se ofer un comportament observabil de ctre un partener [270].
Definiia 4 (Serviciul) Un serviciu [266] este definit de un 2-tuplu = (, ), n cazul n care:
- = {1 , , } este un set de operaii. Fiecare operaie este asociat cu un set de mesaje;
- este un set de relaii de control dintre operaii. Fiecare tranziie = , ( ,
) reprezint invocarea operaiei de ctre . reprezint originea tranziiei,
reprezint operaia destinaie. Pentru o tranziie , () reprezint o constrngere pe tranziia
t. Tranziia t are loc imediat dup execuia operaiei origine. Dac () , tranziia t se execut
imediat ce condiia () devine adevrat.
145
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Pas iniial
outputVariables - hashMap {cheie - numele variabilei, valori - nodurile reprezentnd activiti
pentru care variabila este variabil de ieire}
inputVariables - hashMap {cheie - numele variabilei, valori - nodurile reprezentnd activiti
pentru care variabila este variabil de intrare}
variablesMap - hashMap { cheie - numele variabilei, valori de tipul variableUsage}
variableUsage - {inputs - set de noduri pentru care variabila este variabil de intrare, outputs - set
de noduri pentru care variabila este variabil de ieire}
Pentru fiecare nod ni al grafului SCF de la start ctre end:
( ) = (1 ) 1
<>
. ( ) (4.1)
= . ( )
. ( )
. ( ); . ( , )
<>
. ( )
= . ( )
. ( )
146
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
. ( ); . ( , )
Funcia FuncDep_delete_activities
Output:
Pentru toate
= (4.2)
<>
= . ( )
pentru fiecare
( )
Funcia FuncDep_add_activity
Output:
Pentru toate
= (4.3)
<>
= . ( )
147
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
pentru fiecare
( )
<>
= . ( )
pentru fiecare
( )
Funcia FuncDep_replace_activity
Output: (4.4)
=
FuncDep_delete_activity(SCF, DFI, , )
__(, , , )
Dac o activitate implicat n schimbare este de tipul c-Activitate, n funcie de partnerLink-ul
activitii respective ce este specificat n XML, va fi identificat procesul BPEL cu care activitatea
respectiv comunic.
Algoritmul presupune construirea iniial a listei de predecesori pentru fiecare nod al arborelui i
a hashMap-ului variablesMap ce conine variabilele i activitile pentru care acestea reprezint
intrri/ieiri, n timpul primei parcurgeri.
n momentul n care se dorete invocare uneia dintre funcii: FuncDep_add_activity,
FuncDep_delete_activity, FuncDep_replace_activity, lista de predecesori fiind deja construit, se
identific nodurile din arbore(activiti) pentru care o variabila de intrare/ieire a unei activiti de
ce este tears/adugat este variabil de ieire/intrare. Dac ntre cele dou noduri exist o cale
direct, atunci activitatea respectiv va fi afectat de activitatea ce este tears/adugat.
O diferen ntre abordarea propus i abordarea propus de Wang [266] este c abordarea
propus n aceast lucrare este particularizat pentru procese BPEL, n timp ce abordarea din
[266] este axat pe procese bazate pe servicii. Complexitatea algoritmului de
adugare/tergere/nlocuire activiti propus este liniar () deoarece n momentul parsrii
fiierului BPEL ce reprezint un proces BPEL, este construit ntreg arborele de activiti ce
compun procesul, mpreun cu predecesorii pentru fiecare activitate n parte i variabilele de
intrare i ieire, ce vor fi apoi stocate n clase Java de tipul java.util.HashMap. Complexitatea
adugrii/extragerii unui element dintr-o clas Java de tipul java.util.HashMap depinde de
148
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
implementare, dar este de obicei constant (1) i n cel mai defavorabil caz posibil (). Avem
astfel pentru determinarea impactului unei schimbri o complexitate ce va fi determinat de
iterarea mulimii de activiti implicate n schimbare egal () i de complexitatea necesar
adugrii/extragerii de variabile de intrare/ieire din implementrile de tipul java.util.HashMap
egal n cel mai defavorabil caz cu () . n cazul abordrii propuse n aceast lucrare
complexitatea total va fi egal cu suma celor dou complexiti, iar cum constantele sunt
eliminate n cazul calculului complexitii, ea va fi egal cu ().
n abordarea propus de Wang [266] pentru determinarea impactului schimbrilor, pentru fiecare
activitate curent implicat n schimbare se itereaz prin toate activitile procesului pentru a
detecta dependenele de date ntre activitatea curent implicat n schimbare i restul activitilor.
Complexitatea total va fi astfel (2 ), implicit mai mare.
O comparare a timpilor de execuie nu a putut fi realizat deoarece Wang folosete pentru
stocarea proceselor i a activitilor componente o baz de date, n cazul curent procesul BPEL
fiind reprezentat de un fiier n format XML.
4.5. IMPLEMENTARE
Implementarea s-a fcut folosind Java SE 1.7. Mediul de dezvoltare ales este Eclipse Juno.
Instrumentul grafic a fost realizat folosind Java swing. n momentul n care se ncarc un proces
BPEL(figura 4.3) exportat sub form de XML, documentul este parsat folosind un parser SAX.
n timpul parsrii de ctre parserul SAX a XML-ului, pe baza tag-urilor definite n standardul
WS-BPEL 2.0, este construit arborele ce reprezint procesul BPEL. Fiecrui nod din arbore i
este asociat o list de predecesori ce corespunde rutei n arbore de la nodul de start la nodul
curent. Pentru fiecare nod din arbore ce reprezint o activitate, se iau in considerare i .
Acestea sunt adugate n hashMap-ul variablesMap mpreun cu nodul pentru care constituie o
ieire, respectiv intrare.
n momentul n care se dorete tergerea/nlocuirea unor activiti sunt selectate activitile din
arbore ce vor fi terse(prima i ultima activitate). n momentul n care se dorete adugarea unor
activiti sunt selectate din arbore activitatea din arbore dup care se va face inserarea unei
activiti secveniale, respectiv prima i ultima activitate n cazul n care se va face inserarea unei
activiti paralele.
149
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
150
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
4.6. CONCLUZII
Analiza impactului schimbrilor n cadrul proceselor BPEL nlesnete adaptabilitatea n cadrul
Sistemelor Bazate pe Servicii. Instrumentul grafic ncarc i parseaz fiiere de tip xml
reprezentnd procese BPEL. Construirea arborelui de predecesori i a dependenei de date ntre
activiti pe baza variabilelor se face n momentul parsrii. Determinarea impactului schimbrilor
se face ntr-un mod optim, prin utilizarea hashMap-urilor de variabile ce conin nodurile pentru
care respectivele variabile reprezint intrri/ieiri. Aceste hashMap-uri sunt costruite n momentul
parsrii i utilizate n momentul determinrii impactului. Pentru validarea instrumentului de
analiz a impactului schimbrilor a fost conceput un studiu de caz prezentat n capitolul urmtor.
151
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
CAPITOLUL 5
STUDIU DE CAZ
Organizaia guvernamental pentru situaii de urgen UrgGov face parte dintr-un mediu de
dezvoltare al organizaiilor virtuale mpreun cu mai multe spitale, organizaii de intervenie n
caz de urgen, organizaii care se ocup cu distribuia de ap i alimente, organizaii de
monitorizare a calitii apei, aerului, solului. UrgGov decide s formeze o organizaie virtual
folosind ca parteneri organizaii dintre cele enumerate mai sus. Procesele stabilite n cadrul
organizaiei virtuale i n cadrul organizaiilor partenere se bazeaz pe servicii web.
Organizaiile de monitorizare a calitii apei, aerului, solului vor pune la dispoziie servicii web
prin care UrgGov va putea monitoriza n permanen calitatea acestor parametri n diferite zone
ale rii. Organizaiile de monitorizare meteo vor pune la dispoziie servicii UrgGov pentru
informarea asupra strii meteo n diferite zone ale rii i asupra prognozei meteo. Spitalele vor
informa prin intermediul serviciilor web UrgGov privind pacienii ce sufer de probleme cauzate
de poluarea cu cianuri. Pe baza datelor provenite de la aceste organizaii, UrgGov va lua decizii
privind planul de aciune. Organizaiile de intervenie vor avea rolul de a minimiza impactul
polurii asupra mediului.
n figura 5.1 este descris arhitectura business ca sistem a organizaiei virtuale create. Pe baza
valorilor obinute n urma monitorizrii meteo, a poluanilor i a sistemului medical UrgGov
decide i acioneaz prin intermediul actuatorilor.
152
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
n seciunea urmtoare sunt prezentate cteva din procesele ce pot fi stabilite n cadrul unei astfel
de organizaii virtuale, ntr-o situaie n care poluarea afecteaz mediul nconjurtor i sntatea
populaiei.
Pentru studiul de caz definit au fost proiectate mai multe procese folosind limbajul WS-BPEL de
modelare al proceselor.
153
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Fig. 5.2. Procesului ce descrie reacia organizaiei UrgGov ntr-o situaie de urgen
154
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
n cadrul procesului ce descrie reacia organizaiei UrgGov ntr-o situaie de urgen se obin
valori pentru datele meteorologice: temperatur, umiditate, vitez vnt, presiune atmosferic,
nivel precipitaii prin intermediu serviciilor meteo invocate prin: invokeServciuMeteo1,
invokeServciuMeteo2, invokeServciuMeteo3, precum i valori ale polurii apei, aerului i solului
pentru o anumit zona (invokeServiciuPoluareApa, invokeServiciuPoluareAer,
invokeServiciuPoluareSol). Pe baza informaiilor obinute pentru o anumit zon: nivel poluare
apa, nivel poluare aer, nivel poluare sol precum i pe baza valorilor meteo(nivel precipitaii n
cazul nostru) sunt luate anumite decizii n cadrul blocului if. n cazul n care nu sunt detectate
probleme valorile obinute sunt stocate ntr-o baz de date prin invocarea serviciului de
actualizare a bazei de date: invokeServiciuActualizareBazaDeDate. n cazul n care valorile
pentru poluani ai aerului/apei/solului depesc o anumit valoare organizaiile responsabile cu
intervenia n cazul polurii apei, aerului, apei sunt contactate prin invocarea serviciilor:
invokeServiciuInterveniePolSol, invokeServiciuInterveniePolApa,
invokeServiciuInterveniePolAer. n funcie de necesiti, poate fi solicitat o anumit cantitate
de ap sau alimente reprezentat aici de un numr ntreg. Pe baza solicitrilor organizaiilor
teritoriale sunt contactai distribuitorii de ap/alimente: invokeServiciuDistrib1,
invokeServiciuDistrib2. Procesul CutareIdentificarePersoane primete ca date de intrare numele
unei zone unde se vor cuta persoane care au fost afectate de dezastrul ecologic, diagnostica i
vor primi asisten medical de urgen(figura 5.3). Procesul returneaz CNP-ul unei persoane
afectate.Persoana afectat va primi asisten medical de urgen (procesul Asisten medical de
urgen). Valorile poluanilor pentru zona respectiv mpreun cu persoanele afectate sunt
adugate n baza de date pe acest ramur condiional.
155
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
156
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
n cadrul procesului de internare pacient (figura 5.5), pe baza fiei medicale a pacientului i este
repartizat acestuia un pat ntr-un salon, i este completat biletul de internare i fia de alimentaie.
157
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Procesul de transfer al pacientului ctre alt unitate spitaliceasc(figura 5.6) se realizeaz n mai
muli pai. Fia medical este transmis ctre unitatea spitaliceasc secundar
(invokeTransmitereFisaMedicalaPacient). Dup primirea acceptului
transferului(invokeObtinereAcceptAltaUnitate) fia de transfer a pacientului este
eliberat(invokeEliberareDocumentaieTransfer).
158
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
159
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Aa cum se poate vedea n figurile prezentate mai sus, nelegerea logicii proceselor BPEL este
dificil fr explicaii detaliate privind fiecare proces n parte. Activitile prezente n cadrul
procesului nu au o descriere iar variabilele folosite n cadrul activitilor sunt greu accesibile.
Determinarea impactului schimbrilor fr o nelegere riguroas a procesului n prealabil nu este
facil. Instrumentul pentru analiza impactului schimbrilor atac aceast problem prin analiza
repercusiunilor pe care le pot avea aciuni de modificare a procesului cum ar fi
tergerea/inserarea/nlocuirea de activiti.
1. n cadrul activitii Assign1 sunt iniializate valorile variabilelor de request (input) pentru
activitile invokeServiciuPoluareApa, invokeServiciuPoluareAer, invokeServiciuPoluareSol.
Aa cum am descris mai sus considerm c invocarea serviciilor respective se face pentru o
160
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
anumit zon. Deoarece se dorete ca iniializarea s nu mai fie fcut static, se dorete tergerea
activitii Assign1 i nlocuirea ei cu o activitate receive. Activitatea receive va avea ca variabil
de ieire: ServiciuPoluareApaPartnerLinkRequest. Efectul tergerii activitii Assign va afecta la
prima vedere activitile imediat urmtoare: invokeServiciuPoluareApa,
invokeServiciuPoluareAer, invokeServiciuPoluareSol. Conform instrumentului de analiz din
figura 5.8 urmtoarele activiti vor fi afectate:
Assign3; InvokeServiciuPoluareApa
n acelai timp sunt afiate activitile ce vor fi afectate n mod negativ de tergerea activitii
Assign1, dar care nu vor fi afectate ntr-un mod pozitiv de adugarea activitii receive:
InvokeServiciuPoluareSol; InvokeServiciuPoluareAer
Fig. 5.8. Impactul schimbrilor n cazul nlocuirii activitii Assign1 cu o activitate de tip receive
161
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
2. Organizaia care se ocup cu msurarea nivelului de poluare al apei i ale crei servicii sunt
utilizate n cadrul procesului prin InvokeServiciuInterventiePoluareApa decide s prseasc
organizaia virtual din diferite motive. Pentru a detecta impactul ieirii acesteia se va terge
activitatea InvokeServiciuInterventiePoluareApa. Rezultatul este(figura 5.9):
Fig. 5.9. Impactul schimbrilor n cazul tergerii unei activiti de tip invoke
CautareIdentificareSalvarePersoane
162
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Fig. 5.10. Evidenierea procesului la care se renun n cazul tergerii unei activiti de tip invoke
163
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
InvokeCompletareFisaAlimentatie
164
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
5.3. CONCLUZII
n cadrul situaiilor limit n care trebuie luate decizii imediate este nevoie de un instrument
capabil s analizeze impactul schimbrilor. n aceast direcie a fost elaborat studiul de caz ce
prezint o organizaie virtual ce se poate forma n cadrul unui dezastru ecologic. Procesele i
servicii web au fost definite n cadrul organizaiilor.
165
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
CONCLUZII
Pentru a face fa pieelor turbulente, ntreprinderile i modific modul de a face afaceri. Dei
multe ntreprinderi nc folosesc metode tradiionale, numeroase ntreprinderi folosesc
colaborarea cu alte ntreprinderi pentru a obine avantaje n ceea ce privete oportunitile de
afaceri i rspunsul la nevoile clienilor. Internetul serviciilor prin tehnologii cum ar fi serviciile
web i SOA, permite organizaiilor s colaboreze i s-i ating obiectivele ntr-o manier
flexibil ce necesit doar o conexiune la internet.
Fiecare ntreprindere are n mod tipic propriul sistem informaional, propria viziune i propriile
obiective, dar poate suferi influene externe provenite din interiorul reelei colaborative sau din
mediul de afaceri.
Organizaiile nu mai exist ca entiti de sine stttoare. Ele devin parteneri n cadrul unor
organizaii virtuale din dorina de a-i atinge scopul ntr-un mod eficient. Organizaiile virtuale
sunt temporare, avnd o durat relativ scurt de via, perioad n care pot fi supuse la numeroase
schimbri, prin plecarea sau adoptarea unuia sau a mai multor parteneri. Datorit mediului
turbulent de afaceri care influeneaz organizaiile, acestea trebuie s-i reproiecteze procesele n
funcie de necesitile de adaptare. Este nevoie un model care s permit managementul
schimbrii i care s pun accent pe procese.
Entitile de tip ntreprindere pot fi vzute ca sisteme i reprezint subsisteme ale metasistemului
CNO. Interaciunile ntre entiti sunt susinute de servicii web, servicii care pot fi compuse
formnd un sistem bazat pe servicii. SBS reprezint astfel un subsistem al metasistemului CNO.
n urma cercetrii asupra stadiului actual, a fost identificat necesitatea unui cadru holistic de
monitorizare i adaptare care s permit monitorizarea i adaptarea de-a lungul a mai multor
niveluri ale SBS. Integrarea monitorizrii de-a lungul nivelurilor tehnologice este necesar
pentru sistemele SBS ale viitorului, deoarece ofer o modalitate de localizare eficient, evaluare
i corelare a sursei problemei ce duce la o viitoare adaptare precum i a impactului adaptrii.
Aceast necesitate a fost transpus la nivel de sistem ntreprindere, i s-a concretizat n
propunerea unui cadru de modelare pentru managementul schimbrii la nivelul ntregului CNO
ce se concentreaz asupra proceselor organizaiei propunnd o metod de implementare a
managementului schimbrii bazat pe mai muli pai.
Cadrul de modelare este organizat patru niveluri: nivel organizaie, nivel procese, nivel aplicaii
i nivel date. Nevoia de schimbare n cadrul CNO este determinat de aciunea unor factori care
au fost clasificai n factori externi (factori specifici mediului de afaceri al organizaiei, factori
politici, factori economici, factori sociali, factori tehnologici) respectiv factori interni organizaiei
(mrimea organizaiei, metodologia de producie, oamenii, structura organizaional). Pentru
fiecare categorie de factori am identificat: ce se schimb, cum se schimb, unde se schimb i
posibilele rezultate ale schimbrii n funcie de fiecare factor n parte. Am propus o metod
166
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
pentru managementul schimbrii compus din mai muli pai ce se aplic celor patru niveluri ale
organizaiei considerate: P1. Identificarea factorilor ce genereaz Managementul Schimbrii;
P2. Identificarea nivelelor Managementului Schimbrii; P3. Managementul Schimbrii la nivel
de Organizaie; P4. Managementul Schimbrii la nivel de Proces; P5. Managementul Schimbrii
la nivel de Aplicaie; P6. Managementul Schimbrii la nivel de Date ; P7. Definirea KPI; P8.
Benchmarking. La nivelul procese am propus un cadru de modelare pentru reproiectarea i
validarea proceselor. Am extins de asemenea arhitectura pentru RPB pentru a permite angajailor
unei organizaii s mbunteasc procesele caracteristice zonei lor de lucru. Procesele
mbuntite de angajai vor fi validate de analistul business din cadrul organizaiei. La nivelul
aplicaie au fost luate n considerare contextul aplicaiilor SOA i contextul aplicaiilor non-SOA.
La nivel de date am considerat atribute eseniale ale entitilor de date i felul n care sunt acestea
afectate de managementul schimbrii.
De asemenea, este nevoie de reconfigurarea n mod dinamic a organizaiilor ntr-un timp ct mai
scurt. Impactul schimbrilor trebuie contientizat. Aceast problem este adresat de instrumentul
de evaluare al impactului schimbrilor, ce permite contientizarea impactului pe care
tergerea/adugarea/nlocuirea de activiti n cadrul proceselor o poate avea asupra celorlalte
activiti din cadrul procesului respectiv sau asupra altor procese. Procesele bazate pe servicii
web sunt specificate pe baza standardului WS-BPEL i reprezentate n format XML. Instrumentul
grafic ncarc i parseaz fiiere de tip XML reprezentnd procese BPEL. n timpul parsrii,
instrumentul construiete arborele de predecesori i a dependenei de date ntre activiti pe baza
variabilelor. Determinarea impactului schimbrilor se face ntr-un mod optim.
Avantajele oferite de instrumentului de analiz a impactului schimbrilor asupra proceselor WS-
BPEL au fost evideniate printr-un studiu de caz i constau n : contientizarea imediat, n timp
real, al impactului schimbrilor n cadrul unor procese WS-BPEL bazate pe servicii web.
Pe parcursul acestei lucrri pot fi identificate un numr de contribuii originale. Ele vor fi
prezentate n continuare.
ofere asisten pentru evoluia VO, s introduc noi abordri i mecanisme pentru construirea
ncrederii, definirea unei culturi colaborative, stabilirea unor sisteme de valori comune i a
principiilor de lucru/partajare a resurselor i cunotinelor ntre organizaii independente. Aceast
a doua generaie de VBE este un model/cadru de modelare bazat pe soluii organizaionale
evoluate (tip cluster, living lab, etc.) pentru asocierea entitilor eterogene ca precondiie de
punere n comun a resurselor: umane, tehnologice, financiare, etc. pentru atingerea unui scop
comun reprezentat de un set de indicatori cheie de performan, printre care pot fi enumerai:
profitabilitate maxim, satisfacerea specific (one-of-a-kind), eficiena folosirii resurselor,
acoperirea expertizelor competenelor profesionale. Scopul final este creterea potenialului
concurenial al unei companii mai, mici sau mijlocii, micro-ntrepridere care s evolueze ntr-un
ecosistem de afaceri (dinamic, turbulent, n curs de globalizare).
Am propus o metod pentru managementul schimbrii compus din mai muli pai ce se aplic
celor patru niveluri ale organizaiei(seciunea 3.5).
Am extins de asemenea arhitectura pentru RPB pentru a permite angajailor unei organizaii s
mbunteasc procesele din cadrul organizaiei caracteristice zonei lor de lucru(seciunea 3.4).
168
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
169
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
ANEXE
public class PickImpl implements BpelElement { public class ActivityImpl implements BpelElement {
private String name; private String name = null;
public static int pickNumber; private Boolean suppressJoinFailure = null;
private int localPickNumber; private ActivityType type;
private String partnerLink = null;
@Override
public void setName(String aName) { public String getName() {
name = aName; return name;
}
} public void setName(String name) {
this.name = name;
@Override }
public String getName() { public Boolean getSuppressJoinFailure() {
return name; return suppressJoinFailure;
} }
public void setSuppressJoinFailure(Boolean
public PickImpl() { suppressJoinFailure) {
pickNumber++; this.suppressJoinFailure =
localPickNumber = pickNumber; suppressJoinFailure;
name = "Pick" + localPickNumber; }
} public ActivityType getType() {
return type;
public String toString() { }
StringBuffer sb = new StringBuffer(); public void setType(ActivityType type) {
sb.append("Pick|number=" + this.type = type;
localPickNumber+"|name=" + name /*+"|type="+type*/); }
return sb.toString();
} public String toString() {
StringBuffer sb = new StringBuffer();
@Override sb.append("activity|name="+name
public boolean equals(Object obj) { +"|type="+type+ "|partnerLink="+partnerLink);
if (obj == null) { return sb.toString();
return false; }
}
if (getClass() != obj.getClass()) { public String getPartnerLink() {
return false; return partnerLink;
} }
final PickImpl other = (PickImpl) obj; public void setPartnerLink(String partnerLink) {
if (this.getName() == null) this.partnerLink = partnerLink;
return false; }
if (other.getName() == null)
return false; }
if (this.getName().compareTo(other.getName())
!= 0)
return false; package bpel.objects;
} import bpel.tree.Node;
-------------------------------------------------------
package bpel.objects; public class InvokeImpl extends ActivityImpl{
private String inputVariable = null;
import java.util.ArrayList; private String outputVariable = null;
import java.util.HashMap; private String operation = null;
import java.util.List; private String partnerLink = null;
private String portType = null;
170
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
171
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
!= 0)
return false; public String getOutputVariable() {
return outputVariable;
return true; }
}
} public void setOutputVariable(String
------------------------------------------------------- variable) {
package bpel.objects; this.outputVariable = variable;
}
public class OpaqueActivityImpl extends ActivityImpl {
private String name; @Override
public static int count = 0; public boolean equals(Object obj) {
private int localCount; if (obj == null) {
return false;
public OpaqueActivityImpl() { }
count++; if (getClass() != obj.getClass()) {
localCount = count; return false;
name = "OpaqueActivity" + count; }
} final ReceiveImpl other = (ReceiveImpl)
obj;
public String getName() { if (this.getName() == null)
return this.name; return false;
} if (other.getName() == null)
return false;
public void setName(String name) { if
this.name = name; (this.getName().compareTo(other.getName()) != 0)
} return false;
172
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
}
} -------------------------------------------------------
------------------------------------------------------- package bpel.objects;
173
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
} -------------------------------------------------------
package bpel.objects;
public AssignImpl() {
assignNumber++; public class RethrowImpl extends ActivityImpl {
localAssignNumber = assignNumber; private String name;
name = "Assign" + localAssignNumber; public static int count = 0;
} private int localCount;
} @Override
----------------------------------------------------------- public String getName() {
package bpel.objects; return name;
}
import java.util.ArrayList;
import java.util.List; public ScopeImpl() {
scopeNumber++;
public class ElseIfImpl implements BpelElement { localScopeNumber = scopeNumber;
private String name; name = "Scope" + localScopeNumber;
174
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (obj == null) { if (obj == null) {
return false; return false;
} }
if (getClass() != obj.getClass()) { if (getClass() != obj.getClass()) {
return false; return false;
} }
final ElseIfImpl other = (ElseIfImpl) obj; final WaitImpl other = (WaitImpl) obj;
if (this.getName() == null) if (this.getName() == null)
return false; return false;
if (other.getName() == null) if (other.getName() == null)
return false; return false;
175
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
if (this.getName().compareTo(other.getName()) if (this.getName().compareTo(other.getName()) != 0)
!= 0) return false;
return false;
return true;
return true; }
} }
-------------------------------------------------------
} package bpel.objects;
-----------------------------------------------------------
package bpel.objects; public class WhileImpl implements BpelElement {
private String name;
public class ElseImpl implements BpelElement { public static int whileNumber;
private String name; private int localWhileNumber;
public static int elseNumber;
private int localElseNumber; @Override
public void setName(String aName) {
@Override name = aName;
public void setName(String aName) {
name = aName; }
} @Override
public String getName() {
@Override return name;
public String getName() { }
return name;
} public WhileImpl() {
whileNumber++;
public ElseImpl() { localWhileNumber = whileNumber;
elseNumber++; name = "While" + localWhileNumber;
localElseNumber = elseNumber; }
name = "Else" + localElseNumber;
} public String toString() {
StringBuffer sb = new StringBuffer();
public String toString() { sb.append("While|number=" +
StringBuffer sb = new StringBuffer(); localWhileNumber+"|name=" + name /*+"|type="+type*/);
sb.append("Else|number=" + return sb.toString();
localElseNumber+"|name=" + name /*+"|type="+type*/); }
return sb.toString();
} @Override
public boolean equals(Object obj) {
@Override if (obj == null) {
public boolean equals(Object obj) { return false;
if (obj == null) { }
return false; if (getClass() != obj.getClass()) {
} return false;
if (getClass() != obj.getClass()) { }
return false; final WhileImpl other = (WhileImpl) obj;
} if (this.getName() == null)
final ElseImpl other = (ElseImpl) obj; return false;
if (this.getName() == null) if (other.getName() == null)
return false; return false;
if (other.getName() == null) if (this.getName().compareTo(other.getName()) != 0)
return false; return false;
if (this.getName().compareTo(other.getName())
!= 0) return true;
return false; }
return true; }
} -------------------------------------------------------
package bpel.tree;
}
----------------------------------------------------------- import java.util.ArrayList;
package bpel.objects; import java.util.List;
176
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
@Override
public boolean equals(Object obj) { }
if (obj == null) { -------------------------------------------------------
177
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
178
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
179
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
@Override
public void setName(String name) { }
this.name = name;
} if (!thisFoundEnd &&
verifyAgainstName(endNode, aNode)==0 ) {
public String toString() { thisFoundEnd = true;
StringBuffer sb = new StringBuffer(); elements.push(aNode);
sb.append("If|name=" + name if
/*+"|type="+type*/); (startNode.compareTo(endNode) == 0)
return sb.toString(); return new
} ReturnValues(true, true);
} else if (!thisFoundStart &&
@Override thisFoundEnd) {
public boolean equals(Object obj) { if
if (obj == null) { (verifyAgainstName(startNode, aNode)==0) {
return false; thisFoundStart
} = true;
if (getClass() != obj.getClass()) {
return false; elements.push(aNode);
} return new
final IfImpl other = (IfImpl) obj; ReturnValues(true, true);
if (this.getName() == null) }
return false; else {
if (other.getName() == null)
180
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
181
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
if
public class ThrowImpl extends ActivityImpl { (ret.foundStart && ret.foundEnd)
private String name; return new
public static int count = 0; ReturnValues(true, true, false);*/
private int localCount; foundStart =
private String inputVariable = null; ret.foundStart;
foundEnd =
public ThrowImpl() { ret.foundEnd;
count++; }
localCount = count; } else if (aNode.getData() instanceof
name = "ThrowActivity" + count; SequenceImpl) {
} Node<BpelElement> child =
children.get(0);
public String getName() { ReturnValues ret =
return this.name; locateDirectImpactNodes_v3(child, startNode, endNode,
} elements, foundStart, foundEnd);
foundStart = ret.foundStart;
public void setName(String name) { foundEnd = ret.foundEnd;
this.name = name; }
} else if (aNode.getData() instanceof
ActivityImpl) {
public String getInputVariable() { List<Node<BpelElement>> links =
return inputVariable; aNode.getLinks();
} for (Node<BpelElement>
link:links) {
public void setInputVariable(String variable) { ReturnValues ret =
this.inputVariable = variable; locateDirectImpactNodes_v3(link, startNode, endNode, elements,
} foundStart, foundEnd);
if (foundStart &&
@Override ret.foundStart && !foundEnd && ret.deadEnd)
public boolean equals(Object obj) { elements.pop();
if (obj == null) { else
return false; if
} (ret.foundStart && ret.foundEnd)
if (getClass() != obj.getClass()) { return new
return false; ReturnValues(true, true, false);
} foundStart =
final ThrowImpl other = (ThrowImpl) obj; ret.foundStart;
if (this.getName() == null) foundEnd =
return false; ret.foundEnd;
if (other.getName() == null) }
return false; }
if (this.getName().compareTo(other.getName())
!= 0) return new ReturnValues(foundStart,
return false; foundEnd, true);
return true; }
}
} /***
----------------------------------------------------------- * Implementation based on nodes to find the
package bpel.tree; * @param aName
* @param aNode
import java.util.ArrayList; * @return
import java.util.HashSet; */
import java.util.LinkedHashSet; public RetVal locateDirectImpactNodes_v5(
import java.util.List; Node<BpelElement> aNode,
Node<BpelElement> startNode, Node<BpelElement> endNode,
import bpel.objects.ActivityImpl; Stack<Node<BpelElement>>
import bpel.objects.BpelElement; elements) {
if (aNode.equals(startNode)) {
public class Node<T> { elements.push(aNode);
private T data = null; if (startNode.equals(endNode))
//private Node<T> parent = null; return new RetVal(true,
182
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
183
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
fatherDataDep = aFather;
} return new RetVal(foundEnd, true);
public int getChildreDataDepSize() {
return childrenDataDep.size(); }
}
public int verifyAgainstName(String aName,
public List<Node<T>> getChildrenNodes() { Node<BpelElement> aNode) {
return children; if (aNode.getData() == null ||
} (aNode.getData().getName() == null))
return -1;
public void addChildNode(Node<T> aNode) { return
children.add(aNode); aName.compareToIgnoreCase(aNode.getData().getName());
} }
184
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
}
} else if (element
@Override instanceof InvokeImpl) {
public boolean equals(Object obj) { InvokeImpl
if (obj == null) { invoke = (InvokeImpl) element;
return false; if
} (invoke.getOutputVariable() != null)
if (getClass() != obj.getClass()) {
return false; outputVariables.add(invoke.getOutputVariable());
} } else if (element
final Node<T> otherNode = (Node<T>) obj; instanceof ReceiveImpl) {
ReceiveImpl
return data.equals(otherNode.getData()); receive = (ReceiveImpl) element;
} if
(receive.getOutputVariable() != null)
outputVariables.add(receive.getOutputVariable());
} else if (element
instanceof ReplyImpl || element instanceof EmptyImpl) {
} /*nothing to do
----------------------------------------------------------- here*/
package gui; }
if (outputVariables.size()
import java.awt.BorderLayout; != 0) {
import java.awt.Component; for (String
import java.awt.Container; outVar: outputVariables) {
import java.awt.Dimension;
import java.awt.GridBagConstraints; LinkedHashSet<String> impliedNodes =
import java.awt.GridBagLayout; variablesMap.get(outVar).getInputs();
import java.awt.event.ActionEvent; for
import java.awt.event.ActionListener; (String nodeNameIter:impliedNodes) {
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; Node<BpelElement> impliedNode =
import java.awt.event.KeyEvent; namesHashMap.get(nodeNameIter);
import java.io.File;
import java.io.FileInputStream; if (impliedNode.containsPrevNodeName(nodeName))
import java.io.FileNotFoundException;
import java.io.IOException; outDep.add(nodeNameIter);
import java.util.ArrayList; }
import java.util.HashMap; }
import java.util.HashSet; }
import java.util.LinkedHashSet;
import java.util.LinkedList; }
import java.util.List; }
import java.util.Set; return outDep;
import java.util.Stack; }
185
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
import javax.swing.JTextArea; }
import javax.swing.JTree; }
import javax.swing.KeyStroke; } else {
import javax.swing.MenuElement; BpelElement element =
import javax.swing.MenuSelectionManager; (BpelElement) aNode.getData();
import javax.swing.Timer; if (element instanceof FlowImpl) {
import javax.swing.event.TreeSelectionEvent; /*flow behavior*/
import javax.swing.event.TreeSelectionListener; } else if (element instanceof
import javax.swing.plaf.basic.BasicComboBoxUI; SequenceImpl) {
import javax.swing.tree.DefaultMutableTreeNode; /*sequence behavior*/
import javax.swing.tree.DefaultTreeModel; } else {
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel; List<String>
inputVariables = new ArrayList<String>();
import org.xml.sax.InputSource; if (element instanceof
import org.xml.sax.SAXException; AssignImpl) {
import org.xml.sax.XMLReader; AssignImpl
import org.xml.sax.helpers.XMLReaderFactory; assign = (AssignImpl) element;
List<String>
import gui.MyTreeModelListener; inVariablesAssign = assign.getInputVariables();
for(String
import dependency.analyzer.DependencyAnalyzer; inVar:inVariablesAssign) {
if
import sax.parser.SaxParser_v1; (inVar != null)
import bpel.objects.ActivityImpl;
import bpel.objects.BpelElement; inputVariables.add(inVar);
import bpel.objects.ElseIfImpl; }
import bpel.objects.ElseImpl; } else if (element
import bpel.objects.EmptyImpl; instanceof IfImpl) {
import bpel.objects.ExitImpl; IfImpl
import bpel.objects.FlowImpl; ifImplementation = (IfImpl) element;
import bpel.objects.OpaqueActivityImpl; List<String>
import bpel.objects.PartnerLink; inVariablesAssign = ifImplementation.getInputVariables();
import bpel.objects.PickImpl; for(String
import bpel.objects.RethrowImpl; inVar:inVariablesAssign) {
import bpel.objects.ScopeImpl; if
import bpel.objects.SequenceImpl; (inVar != null)
import bpel.objects.WaitImpl;
import bpel.objects.WhileImpl; inputVariables.add(inVar);
import bpel.tree.Node; }
} else if (element
public class DepAnalyzerGui implements ActionListener, instanceof ElseIfImpl) {
ItemListener, TreeSelectionListener{ ElseIfImpl
JTextArea output; elseIfimplementation = (ElseIfImpl) element;
JScrollPane scrollPane; List<String>
String newline = "\n"; inVariablesAssign = elseIfimplementation.getInputVariables();
public final static int ONE_SECOND = 1000; for(String
String operationNames[] = {"addParalelActivity", inVar:inVariablesAssign) {
"addSequencialActivity", "replaceActivity(s)", if
"deleteActivity"}; (inVar != null)
String activityTypeName[] = {"receive", "reply",
"invoke", "assign"}; inputVariables.add(inVar);
JComboBox from = new JComboBox(); }
JComboBox to = new JComboBox(); } else if (element
JComboBox operation = new instanceof InvokeImpl) {
JComboBox(operationNames); InvokeImpl
JComboBox activityType = new invoke = (InvokeImpl) element;
JComboBox(activityTypeName); if
JComboBox inputActVariable = new JComboBox(); (invoke.getInputVariable() != null)
JComboBox outputActVariable = new JComboBox();
private JTree tree; inputVariables.add(invoke.getInputVariable());
protected DefaultTreeModel treeModel; } else if (element
private DefaultMutableTreeNode top; instanceof ReplyImpl) {
JLabel labelFrom; ReplyImpl
186
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
187
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
(JMenuItem)path[i].getComponent(); }
if ("".equals(mi.getText())) { public void treeStructureChanged(TreeModelEvent e) {
output.append("ICON-ONLY MENU }
ITEM > "); }
} else { -------------------------------------------------------
output.append(mi.getText() + " > "); package sax.parser;
}
} import java.util.ArrayList;
} import java.util.HashMap;
if (path.length > 0) output.append(newline); import java.util.LinkedHashMap;
} import java.util.LinkedHashSet;
}); import java.util.List;
timer.start();*/ import java.util.Set;
return menuBar; import java.util.Stack;
}
import org.xml.sax.Attributes;
public JSplitPane createHorizontalSplitPane(Container c1, import org.xml.sax.helpers.DefaultHandler;
Container c2){
splitPane = new import bpel.objects.*;
JSplitPane(JSplitPane.HORIZONTAL_SPLIT, import bpel.tree.Node;
c1, c2); import bpel.tree.Tree;
splitPane.setResizeWeight(0.5); enum State {
splitPane.setOneTouchExpandable(true); SEQUENCE, FLOW, PROCESS, ACTIVITY,
splitPane.setContinuousLayout(true); FOREACH, IF, ELSE, ELSEIF, WHILE, REPEATUNTILL,
PICK, DEFAULT
return splitPane; };
}
188
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
189
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
outputActVariable.addItem(name);
} public SaxParser_v1() {
inputActVariable.addItem(" stack = new Stack<Node<BpelElement>>();
"); isStackReadyForText = false;
outputActVariable.addItem(" inState = State.DEFAULT;
"); }
private String getTagAttribute( String uri, String localName,
activityType.setVisible(true); Attributes attribs) {
return attribs.getValue(localName);
activityTypeLabel.setVisible(true); }
} isStackReadyForText = false;
else if // if next element is complex, push a new instance on
(operationSelectedItem.compareTo("deleteActivity") == 0) { the stack
// if element has attributes, set them in the new instance
activityType.setVisible(false); if( localName.equals( "process" ) ) {
ProcessImpl p = new ProcessImpl();
activityTypeLabel.setVisible(false); p.setName(getTagAttribute(uri, "name",
attribs));
inputActVariable.setVisible(false); Node<BpelElement> root = new
Node<BpelElement>(p);
inputActVariableLabel.setVisible(false); namesHashMap.put("process", root);
startNode = root;
outputActVariable.setVisible(false); endNode = root;
stack.push(root);
outputActVariableLabel.setVisible(false);
} }else if (localName.equals("partnerLinks")){
} partnerLinksSection = true;
}); }else if (localName.equals("partnerLink") &&
partnerLinksSection) {
activityType.addActionListener(new PartnerLink partner = new PartnerLink();
ActionListener() { partner.setName(getTagAttribute(uri,
public void "name", attribs));
actionPerformed(ActionEvent event) {
JComboBox jc = partner.setPartnerLinkType(getTagAttribute(uri,
(JComboBox)event.getSource(); "partnerLinkType", attribs));
activitySelectedItem = partner.setMyRole(getTagAttribute(uri,
(String)jc.getSelectedItem(); "myRole", attribs));
if partner.setPartnerRole(getTagAttribute(uri,
(activitySelectedItem.compareTo("receive") == 0) { "partnerRole", attribs));
/*Node<BpelElement> nodeStack =
inputActVariable.setVisible(false); (Node<BpelElement>)stack.peek();
190
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
} else if (Node<BpelElement>)stack.peek();
(activitySelectedItem.compareTo("reply") == 0) { node.addParent(nodeStack);
nodeStack.addChildNode(node);
inputActVariable.setVisible(true); /**
* add previous nodes to current node
inputActVariableLabel.setVisible(true); */
//
outputActVariable.setVisible(false); node.addAllNodesToPrevPath(nodeStack.getPrevPath()
);
outputActVariableLabel.setVisible(false); //
} node.addNodeToPrevPath(nodeStack.getData().getNa
} me());
});
/**
inputActVariable.addActionListener(new * links
ActionListener() { */
public void createOrder(node, nodeStack);
actionPerformed(ActionEvent event) {
JComboBox jc = // if (State.SEQUENCE == determineState()) {
(JComboBox)event.getSource(); // if (nodeStack.getLastNodeInSeq()
inputVariableSelectedItem = == null) {
(String)jc.getSelectedItem(); //
} nodeStack.setLastNodeInSeq(node);
}); // /**
// * add previous nodes to current
outputActVariable.addActionListener(new node
ActionListener() { // */
public void //
actionPerformed(ActionEvent event) { node.addAllNodesToPrevPath(nodeStack.getPrevPath()
JComboBox jc = );
(JComboBox)event.getSource(); //
outputVariableSelectedItem = node.addNodeToPrevPath(nodeStack.getData().getNa
(String)jc.getSelectedItem(); me());
} // }
}); // else {
// Node<BpelElement>
c.anchor = GridBagConstraints.WEST; previusPathNode = nodeStack.getLastNodeInSeq();
c.gridwidth = GridBagConstraints.RELATIVE; //next- //
to-last previusPathNode.addLink(node);
c.fill = GridBagConstraints.NONE; //reset to default //
c.weightx = 0.0; //reset to default nodeStack.setLastNodeInSeq(node);
contentPane.add(labelFrom, c); // /**
c.gridwidth = GridBagConstraints.REMAINDER; // * add previous nodes to current
//end row node
c.fill = GridBagConstraints.HORIZONTAL; // */
c.weightx = 0.0; //
contentPane.add(from, c); node.addAllNodesToPrevPath(previusPathNode.getPre
vPath());
c.anchor = GridBagConstraints.WEST; //
c.gridwidth = GridBagConstraints.RELATIVE; //next- node.addNodeToPrevPath(previusPathNode.getData().
to-last getName());
c.fill = GridBagConstraints.NONE; //reset to default //
c.weightx = 0.0; //reset to default // }
contentPane.add(labelTo, c); // } else {
c.gridwidth = GridBagConstraints.REMAINDER; // /**
//end row // * add previous nodes to current node
c.fill = GridBagConstraints.HORIZONTAL; // */
c.weightx = 0.0; //
contentPane.add(to, c); node.addAllNodesToPrevPath(nodeStack.getPrevPath()
);
c.anchor = GridBagConstraints.WEST; //
c.gridwidth = GridBagConstraints.RELATIVE; //next- node.addNodeToPrevPath(nodeStack.getData().getNa
to-last me());
c.fill = GridBagConstraints.NONE; //reset to default // }
191
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
192
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
193
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
currentProcessName = */
processName; if (inputVariableName != null) {
} Node<BpelElement>
} fatherDataDependency =
} outputVariables.get(inputVariableName);
}); if (fatherDataDependency != null) {
//Create the scroll pane and add the tree to it. node.addFatherDataDep(fatherDataDependency);
JScrollPane treeView = new JScrollPane(tree);
fatherDataDependency.addChildrenDataDep(node);
treeView.setBorder( }
BorderFactory.createCompoundBorder(
BorderFactory.createTitledBorder("Tree if
view"), (!variablesMap.containsKey(inputVariableName)) {
VariableUsage vu = new
BorderFactory.createEmptyBorder(5,5,5,5))); VariableUsage();
return treeView;
} vu.addInput(node.getData().getName());
194
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
labelFrom.setVisible(true); //
labelTo.setVisible(true); node.addAllNodesToPrevPath(nodeStack.getPrevPath()
operationLabel.setVisible(true); );
} //
node.addNodeToPrevPath(nodeStack.getData().getNa
public void actionPerformed(ActionEvent e) { me());
// }
if (e.getSource() instanceof JMenuItem) { // else {
JMenuItem source = // Node<BpelElement>
(JMenuItem)(e.getSource()); previusPathNode = nodeStack.getLastNodeInSeq();
/*String s = "Action event detected." //
+ newline previusPathNode.addLink(node);
+ " Event source: " + //
source.getText() nodeStack.setLastNodeInSeq(node);
+ " (an instance of " + // /**
getClassName(source) + ")"; // * add previous nodes to current
output.append(s + newline); node
// */
output.setCaretPosition(output.getDocument().getLength()); //
*/ node.addAllNodesToPrevPath(previusPathNode.getPre
String sourceOfAction = source.getText(); vPath());
if (sourceOfAction.compareTo("Open File..") //
== 0) { node.addNodeToPrevPath(previusPathNode.getData().
Chooser frame = new Chooser(); getName());
output.setText(frame.fileName); // }
try { // } else {
root = // /**
parseBpelFile(frame.fileName); // * add previous nodes to current node
StringBuffer sb = new // */
StringBuffer(); //
printGraph(root,"", sb); node.addAllNodesToPrevPath(nodeStack.getPrevPath()
repopulateTree(root, top); );
output.setText(sb.toString()); //
currentProcessName = node.addNodeToPrevPath(nodeStack.getData().getNa
root.getData().getName(); me());
repopulateSelections(); // }
stack.push(node);
System.out.println(saxP.getKeysFromNamesHash } else if (localName.equals("reply")) {
Map().toString()); /*ActivityImpl a = new ActivityImpl();*/
} catch (Exception exc) { ReplyImpl a = new ReplyImpl();
exc.printStackTrace(); a.setName(getTagAttribute(uri, "name",
} attribs));
} a.setPartnerLink(getTagAttribute(uri,
} "partnerLink", attribs));
else if (e.getSource() instanceof JButton){ a.setType(ActivityType.REPLY);
JButton sourceButton = (JButton) e.getSource(); String variable = getTagAttribute(uri,
if (sourceButton.getText().compareTo("Analyze") "variable", attribs);
== 0) { a.setInputVariable(variables.get(variable));
System.out.println("Analyze button Node<BpelElement> node = new
pushed"); Node<BpelElement>(a);
System.out.println("fromSelectedItem="
+ fromSelectedItem); namesHashMap.put(node.getData().getName(), node);
System.out.println("toSelectedItem=" + endNode = node;
toSelectedItem); /**
* Data dependency for input
System.out.println("operationSelectedItem=" + */
operationSelectedItem); if (variable != null) {
Node<BpelElement>
if fatherDataDependency = outputVariables.get(variable);
(operationSelectedItem.compareTo("deleteActivity") == 0) { if (fatherDataDependency != null) {
DependencyAnalyzer da = new
DependencyAnalyzer(saxP.getNamesMap(), node.addFatherDataDep(fatherDataDependency);
saxP.getVariablesMap());
Stack<Node<BpelElement>> fatherDataDependency.addChildrenDataDep(node);
195
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
//da.locateDirectImpactNodes_v3(root, "Assign1", if
"Receive1S2", stack, false, false); (!variablesMap.containsKey(variable)) {
VariableUsage vu = new
da.locateDirectImpactNodes_v5(saxP.getValueFro VariableUsage();
mNamesHashMap(fromSelectedItem),
saxP.getValueFromNamesHashMap(fromSelectedItem), vu.addInput(node.getData().getName());
saxP.getValueFromNamesHashMap(toSelectedItem), stack);
variablesMap.put(variable, vu);
ArrayList<Node<BpelElement>> sequence = new } else {
ArrayList<Node<BpelElement>>(); VariableUsage vu =
while(!stack.empty()) { variablesMap.get(variable);
Node<BpelElement>
node = (Node<BpelElement>)stack.pop(); vu.addInput(node.getData().getName());
sequence.add(0, }
node);
}
output.setText(""); }
for (Node<BpelElement> Node<BpelElement> nodeStack =
element: sequence) { (Node<BpelElement>)stack.peek();
node.addParent(nodeStack);
output.append(element.getData().getName() + " nodeStack.addChildNode(node);
implies{"); /**
LinkedList<String> * links
outDepNameList = da.getOutputDependencies(null, */
element); createOrder(node, nodeStack);
for (String
depListName : outDepNameList) { // if (State.SEQUENCE == determineState()) {
// if (nodeStack.getLastNodeInSeq()
output.append(depListName + "|"); == null) {
} //
/*for nodeStack.setLastNodeInSeq(node);
(Node<BpelElement> childDataDep: // /**
element.getChildrenDataDep()) { // * add previous nodes to current
node
output.append(childDataDep.getData().getName() // */
+ "|"); //
}*/ node.addAllNodesToPrevPath(nodeStack.getPrevPath()
);
output.append("}\n"); //
if (element.getData() node.addNodeToPrevPath(nodeStack.getData().getNa
instanceof ActivityImpl) { me());
// }
ActivityImpl act = (ActivityImpl) // else {
element.getData(); // Node<BpelElement>
String previusPathNode = nodeStack.getLastNodeInSeq();
partLinkName = act.getPartnerLink(); //
if previusPathNode.addLink(node);
(partLinkName != null) { //
nodeStack.setLastNodeInSeq(node);
PartnerLink partLink = // /**
saxP.getPartner(partLinkName); // * add previous nodes to current
node
String partnerRole = partLink.getPartnerRole(); // */
//
for (String processNameIterator:parsers.keySet()) { node.addAllNodesToPrevPath(previusPathNode.getPre
vPath());
if //
(processNameIterator.compareTo(currentProcessName) != node.addNodeToPrevPath(previusPathNode.getData().
0) getName());
//
{ // }
// } else {
196
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
if // /**
(parsers.get(processNameIterator).matchPartnerLink(partner // * add previous nodes to current node
Role)){ // */
//
node.addAllNodesToPrevPath(nodeStack.getPrevPath()
output.append(element.getData().getName() + " );
implies process:"); //
node.addNodeToPrevPath(nodeStack.getData().getNa
me());
output.append(processNameIterator); // }
output.append("\n"); stack.push(node);
} else if (localName.equals("assign")) {
} AssignImpl assignAct = new AssignImpl();
assignAct.setName(getTagAttribute(uri,
"name", attribs));
Node<BpelElement> node = new
} Node<BpelElement>(assignAct);
}
} namesHashMap.put(node.getData().getName(), node);
}
} endNode = node;
Node<BpelElement> nodeStack =
} else if (Node<BpelElement>)stack.peek();
(operationSelectedItem.compareTo("addSequencialActivity" node.addParent(nodeStack);
) == 0) { nodeStack.addChildNode(node);
output.setText(""); /**
DependencyAnalyzer da = new * links
DependencyAnalyzer(saxP.getNamesMap(), */
saxP.getVariablesMap()); createOrder(node, nodeStack);
Stack<Node<BpelElement>>
stack = new Stack<Node<BpelElement>>(); // if (State.SEQUENCE == determineState()) {
// if (nodeStack.getLastNodeInSeq()
da.locateDirectImpactNodes_v5(saxP.getValueFro == null) {
mNamesHashMap(fromSelectedItem), //
saxP.getValueFromNamesHashMap(fromSelectedItem), nodeStack.setLastNodeInSeq(node);
saxP.getValueFromNamesHashMap(toSelectedItem), stack); // /**
// * add previous nodes to current
ArrayList<Node<BpelElement>> sequence = new node
ArrayList<Node<BpelElement>>(); // */
try { //
node.addAllNodesToPrevPath(nodeStack.getPrevPath()
System.out.println("stack size=" + stack.size()); );
if (stack.size() != 2) //
throw new node.addNodeToPrevPath(nodeStack.getData().getNa
Exception("For sequencial adding an activity 2 consecutive me());
nodes should be selected"); // }
} catch // else {
(Exception e1) { // Node<BpelElement>
previusPathNode = nodeStack.getLastNodeInSeq();
e1.printStackTrace(); //
} previusPathNode.addLink(node);
Node<BpelElement> //
frontNode = (Node<BpelElement>)stack.pop(); nodeStack.setLastNodeInSeq(node);
Node<BpelElement> endNode // /**
= (Node<BpelElement>)stack.pop(); // * add previous nodes to current
node
if ( // */
activitySelectedItem.compareTo("invoke") == 0 || //
activitySelectedItem.compareTo("assign")==0) { node.addAllNodesToPrevPath(previusPathNode.getPre
vPath());
output.append("Adding of a " + //
activitySelectedItem + " depends on{"); node.addNodeToPrevPath(previusPathNode.getData().
LinkedList<String> getName());
inDepNameList = //
197
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
da.getInputDependencies(inputVariableSelectedItem, // }
frontNode); // } else {
// /**
prevAffectedActByInsert = new // * add previous nodes to current node
HashSet<String>(inDepNameList); // */
for (String //
depListName : prevAffectedActByInsert) { node.addAllNodesToPrevPath(nodeStack.getPrevPath()
);
output.append(depListName + "|"); //
} node.addNodeToPrevPath(nodeStack.getData().getNa
me());
output.append("}\n"); // }
stack.push(node);
output.append("Adding of a " + }
activitySelectedItem + " implies{"); else if (localName.equals("exit")) {
LinkedList<String> ExitImpl exitImpl = new ExitImpl();
outDepNameList = Node<BpelElement> node = new
da.getOutputDependencies(outputVariableSelectedItem, Node<BpelElement>(exitImpl);
endNode);
} else if }
(activitySelectedItem.compareTo("receive") == 0) { else if (localName.equals("throw")) {
ThrowImpl throwImpl = new ThrowImpl();
output.append("Adding of a " + Node<BpelElement> node = new
activitySelectedItem + " implies{"); Node<BpelElement>(throwImpl);
LinkedList<String>
outDepNameList = throwImpl.setName(getTagAttribute(uri,
da.getOutputDependencies(outputVariableSelectedItem, "name", attribs));
endNode); throwImpl.setType(ActivityType.THROW);
String variable = getTagAttribute(uri,
postAffectedActByInsert = new "faultVariable", attribs);
HashSet<String>(outDepNameList);
for (String throwImpl.setInputVariable(variables.get(variable));
depListName : postAffectedActByInsert) {
namesHashMap.put(node.getData().getName(), node);
output.append(depListName + "|"); endNode = node;
} /**
* Data dependency for input
output.append("}\n"); */
if (variable != null) {
} else if Node<BpelElement>
(activitySelectedItem.compareTo("reply") == 0) { fatherDataDependency = outputVariables.get(variable);
if (fatherDataDependency != null) {
output.append("Adding of a " +
activitySelectedItem + " depends on{"); node.addFatherDataDep(fatherDataDependency);
LinkedList<String>
inDepNameList = fatherDataDependency.addChildrenDataDep(node);
da.getInputDependencies(inputVariableSelectedItem, }
frontNode);
if
prevAffectedActByInsert = new (!variablesMap.containsKey(variable)) {
HashSet<String>(inDepNameList); VariableUsage vu = new
198
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
if ( createOrder(node, nodeStack);
activitySelectedItem.compareTo("invoke") == 0 ||
activitySelectedItem.compareTo("assign")==0) { stack.push(node);
}
output.append("Added "+ activitySelectedItem + " else if (localName.equals("empty")) {
depends on{"); EmptyImpl emptyImpl = new EmptyImpl();
LinkedList<String> Node<BpelElement> node = new
inDepNameList = Node<BpelElement>(emptyImpl);
da.getInputDependencies(inputVariableSelectedItem,
199
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
frontNode);
namesHashMap.put(node.getData().getName(), node);
prevAffectedActByInsert = new endNode = node;
HashSet<String>(inDepNameList); Node<BpelElement> nodeStack =
for (String (Node<BpelElement>)stack.peek();
depListName : prevAffectedActByInsert) { node.addParent(nodeStack);
nodeStack.addChildNode(node);
output.append(depListName + "|");
} createOrder(node, nodeStack);
output.append("}\n"); stack.push(node);
}
else if (localName.equals("opaqueActivity")) {
output.append("Added " + activitySelectedItem + " OpaqueActivityImpl opaqueActivityImpl =
implies{"); new OpaqueActivityImpl();
LinkedList<String> Node<BpelElement> node = new
outDepNameList = Node<BpelElement>(opaqueActivityImpl);
da.getOutputDependencies(outputVariableSelectedItem,
endNode);
namesHashMap.put(node.getData().getName(), node);
postAffectedActByInsert = new endNode = node;
HashSet<String>(outDepNameList); Node<BpelElement> nodeStack =
for (String (Node<BpelElement>)stack.peek();
depListName : postAffectedActByInsert) { node.addParent(nodeStack);
nodeStack.addChildNode(node);
output.append(depListName + "|");
} createOrder(node, nodeStack);
output.append("}\n"); stack.push(node);
}
/*activities (all children) inside the flow are executed in
} else if parallel*/
(activitySelectedItem.compareTo("receive") == 0) { else if( localName.equals( "flow" ) ) {
FlowImpl f = new FlowImpl();
output.append("Adding of a " + Node<BpelElement> node = new
activitySelectedItem + " implies{"); Node<BpelElement>(f);
LinkedList<String>
outDepNameList = namesHashMap.put(node.getData().getName(), node);
da.getOutputDependencies(outputVariableSelectedItem, endNode = node;
endNode); Node<BpelElement> nodeStack =
(Node<BpelElement>)stack.peek();
postAffectedActByInsert = new node.addParent(nodeStack);
HashSet<String>(outDepNameList); nodeStack.addChildNode(node);
for (String /**
depListName : postAffectedActByInsert) { * links
*/
output.append(depListName + "|"); createOrder(node, nodeStack);
}
// if (State.SEQUENCE == determineState()) {
output.append("}\n"); // if (nodeStack.getLastNodeInSeq()
== null) {
} else if //
(activitySelectedItem.compareTo("reply") == 0) { nodeStack.setLastNodeInSeq(node);
// /**
output.append("Adding of a " + // * add previous nodes to current
activitySelectedItem + " depends on{"); node
LinkedList<String> // */
inDepNameList = //
da.getInputDependencies(inputVariableSelectedItem, node.addAllNodesToPrevPath(nodeStack.getPrevPath()
frontNode); );
//
prevAffectedActByInsert = new node.addNodeToPrevPath(nodeStack.getData().getNa
HashSet<String>(inDepNameList); me());
for (String // }
200
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
201
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
output.append(childDataDep.getData().getName() node.addNodeToPrevPath(nodeStack.getData().getNa
+ "|"); me());
}*/ //
// node.addParent(nodeStack);
output.append("}\n"); // nodeStack.addChildNode(node);
if (element.getData() //
instanceof ActivityImpl) { // stack.push(node);
// end ce era inainte
ActivityImpl act = (ActivityImpl) }
element.getData(); else if (localName.equals( "forEach")) {
String ForEachImpl forEach = new ForEachImpl();
partLinkName = act.getPartnerLink(); Node<BpelElement> node = new
if Node<BpelElement>(forEach);
(partLinkName != null) {
if createOrder(node, nodeStack);
(processNameIterator.compareTo(currentProcessName) !=
0) stack.push(node);
}
{
else if (localName.equals( "while")) {
if WhileImpl whileImpl = new WhileImpl();
(parsers.get(processNameIterator).matchPartnerLink(partner Node<BpelElement> node = new
Role)){ Node<BpelElement>(whileImpl);
} createOrder(node, nodeStack);
stack.push(node);
}
} else if (localName.equals("repeatUntil")){
} RepeatUntillImpl repeatImpl = new
} RepeatUntillImpl();
} Node<BpelElement> node = new
} Node<BpelElement>(repeatImpl);
DependencyAnalyzer
daAddActivity = new
DependencyAnalyzer(saxP.getNamesMap(), namesHashMap.put(node.getData().getName(), node);
saxP.getVariablesMap()); endNode = node;
Stack<Node<BpelElement>> Node<BpelElement> nodeStack =
stackAddActivity = new Stack<Node<BpelElement>>(); (Node<BpelElement>)stack.peek();
node.addParent(nodeStack);
daAddActivity.locateDirectImpactNodes_v5(saxP. nodeStack.addChildNode(node);
getValueFromNamesHashMap(fromSelectedItem),
saxP.getValueFromNamesHashMap(fromSelectedItem), createOrder(node, nodeStack);
saxP.getValueFromNamesHashMap(toSelectedItem),
stackAddActivity); stack.push(node);
}
ArrayList<Node<BpelElement>> else if (localName.equals("pick")) {
sequenceAddActivity = new PickImpl pickImpl = new PickImpl();
202
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
if ( namesHashMap.put(node.getData().getName(), node);
activitySelectedItem.compareTo("invoke") == 0 || endNode = node;
activitySelectedItem.compareTo("assign")==0) { Node<BpelElement> nodeStack =
(Node<BpelElement>)stack.peek();
output.append("Adding of a " + node.addParent(nodeStack);
activitySelectedItem + " depends on{"); nodeStack.addChildNode(node);
LinkedList<String>
inDepNameList = createOrder(node, nodeStack);
daAddActivity.getInputDependencies(inputVariableSelected
Item, frontNode); stack.push(node);
}
prevAffectedActByInsert= new else if (localName.equals("elseif")) {
HashSet<String>(inDepNameList); ElseIfImpl elseIfImpl = new ElseIfImpl();
for (String Node<BpelElement> node = new
depListName : prevAffectedActByInsert) { Node<BpelElement>(elseIfImpl);
output.append(depListName + "|");
} namesHashMap.put(node.getData().getName(), node);
endNode = node;
output.append("}\n"); Node<BpelElement> nodeStack =
(Node<BpelElement>)stack.peek();
node.addParent(nodeStack);
output.append("Adding of a " + nodeStack.addChildNode(node);
activitySelectedItem + " implies{");
LinkedList<String> createOrder(node, nodeStack);
outDepNameList =
daAddActivity.getOutputDependencies(outputVariableSelect stack.push(node);
edItem, endNode); }
else if (localName.equals("else")) {
postAffectedActByInsert = new ElseImpl elseImpl = new ElseImpl();
HashSet<String>(outDepNameList); Node<BpelElement> node = new
// for (String Node<BpelElement>(elseImpl);
depListName : outDepNameList) {
//
postAffectedActByInsert.add(depListName); namesHashMap.put(node.getData().getName(), node);
// } endNode = node;
for(String Node<BpelElement> nodeStack =
uniqueDepListName:postAffectedActByInsert) { (Node<BpelElement>)stack.peek();
node.addParent(nodeStack);
output.append(uniqueDepListName + "|"); nodeStack.addChildNode(node);
}
createOrder(node, nodeStack);
output.append("}\n");
203
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
stack.push(node);
}
} else if else if (localName.equals("source")) {
(activitySelectedItem.compareTo("receive") == 0) { Node<BpelElement> sourceNode =
(Node<BpelElement>)stack.peek();
output.append("Adding of a " + String linkName = getTagAttribute(uri,
activitySelectedItem + " activity implies{"); "linkName", attribs);
LinkedList<String> String key = "source_" + linkName;
outDepNameList = if (!linksHashMap.containsKey("target_"+
daAddActivity.getOutputDependencies(outputVariableSelect linkName)) {
edItem, endNode); linksHashMap.put(key,
sourceNode);
postAffectedActByInsert = new }
HashSet<String>(outDepNameList); else {
for (String Node<BpelElement> targetNode =
depListName : postAffectedActByInsert) { linksHashMap.get("target_"+ linkName);
targetNode.addParent(sourceNode);
output.append(depListName + "|");
sourceNode.addChildNode(targetNode);
//postAffectedActByInsert.add(depListName); /**
} * add previous nodes to current
node
output.append("}\n"); */
} else if targetNode.addAllNodesToPrevPath(sourceNode.getPr
(activitySelectedItem.compareTo("reply") == 0) { evPath());
} sourceNode.addChildNode(targetNode);*/
}
public static void printGraph(Node<BpelElement> aNode, }
String indent, StringBuffer sb) { else if (localName.equals("variable")) {
//System.out.println(indent + /*Node<BpelElement> nodeStack =
204
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
aNode.toString()); (Node<BpelElement>)stack.peek();
sb.append(indent + aNode.toString() + if (nodeStack.getData() instanceof
"\n"); ProcessImpl) {
if (aNode.getChildrenNodes().size() == 0 ProcessImpl p =
) (ProcessImpl)nodeStack.getData();
return;
indent+=" "; p.addVariablePair(getTagAttribute(uri, "name",
for(Node<BpelElement> attribs), getTagAttribute(uri, "messageType", attribs));
childNode:aNode.getChildrenNodes()) { }*/
printGraph(childNode, indent, try {
sb); if
} (variables.containsKey(getTagAttribute(uri, "name", attribs)))
} throw new
public Node<BpelElement> parseBpelFile(String Exception ("variables contains " + getTagAttribute(uri, "name",
fileName) throws FileNotFoundException, IOException, attribs));
SAXException { } catch (Exception e) {
File file = new File( fileName ); // TODO Auto-
InputSource src = new InputSource( new generated catch block
FileInputStream( file ) );
System.out.println( "--- SAX ---" ); e.printStackTrace();
}
SequenceImpl.seqNumber=0; variables.put(getTagAttribute(uri, "name",
FlowImpl.count = 0; attribs), getTagAttribute(uri, "messageType", attribs));
ElseIfImpl.elseIfNumber = 0;
ElseImpl.elseNumber = 0; }
EmptyImpl.count = 0; else if (localName.equals("condition")) {
ExitImpl.count = 0; // Node<BpelElement> stackTopNode =
OpaqueActivityImpl.count = 0; (Node<BpelElement>)stack.peek();
PickImpl.pickNumber = 0; // if (stackTopNode.getData() instanceof IfImpl
RethrowImpl.count = 0; || stackTopNode.getData() instanceof ElseIfImpl
ScopeImpl.scopeNumber = 0; // ||
WaitImpl.count = 0; stackTopNode.getData() instanceof ElseImpl) {
WhileImpl.whileNumber = 0; // String conditionExpression
// }
saxP = new SaxParser_v1(); sb = new StringBuffer();
conditionExpressionState = true;
XMLReader rdr = }
XMLReaderFactory.createXMLReader(); else if (localName.equals("copy")) {
rdr.setContentHandler( saxP ); Node<BpelElement> stackTopNode =
rdr.parse( src ); (Node<BpelElement>)stack.peek();
if (stackTopNode.getData() instanceof
Node<BpelElement> rootNode = AssignImpl) {
saxP.getRootNode(); assignCopyFlag = true;
saxP.printVariablesMap(); }
}
parsers.put(rootNode.getData().getName(), saxP); else if (localName.equals("from")) {
/*Node<BpelElement> anotherRoot = Node<BpelElement> stackTopNode =
saxP.getEndNode(); (Node<BpelElement>)stack.peek();
System.out.println("Eq test=" + if (stackTopNode.getData() instanceof
rootNode.equals(anotherRoot));*/ AssignImpl && assignCopyFlag) {
return rootNode; String part = getTagAttribute(uri,
} "part", attribs);
/**
public void itemStateChanged(ItemEvent e) { * variable is a WSDL message
/* JMenuItem source = (JMenuItem)(e.getSource()); type
String s = "Item event detected." */
+ newline if (part != null)
+ " Event source: " + source.getText() assignHashMap.put(part,
+ " (an instance of " + getClassName(source) + getTagAttribute(uri, "variable", attribs));
")" /**
+ newline * to be extended
+ " New state: " */
+ ((e.getStateChange() == }
205
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
ItemEvent.SELECTED) ? }
"selected":"unselected"); else if (localName.equals("to")) {
output.append(s + newline); Node<BpelElement> stackTopNode =
(Node<BpelElement>)stack.peek();
output.setCaretPosition(output.getDocument().getLength()); if (stackTopNode.getData() instanceof
*/ AssignImpl && assignCopyFlag) {
} String part = getTagAttribute(uri,
"part", attribs);
// Returns just the class name -- no package info. /**
protected String getClassName(Object o) { * variable is a WSDL message
String classString = o.getClass().getName(); type
int dotIndex = classString.lastIndexOf("."); */
return classString.substring(dotIndex+1); if (part != null) {
} String fromVariable =
assignHashMap.get(part);
/** /**
* Create the GUI and show it. For thread safety, * Data dependency for
* this method should be invoked from the input & output
* event-dispatching thread. */
*/ String
private static void createAndShowGUI() { toVariable = getTagAttribute(uri, "variable", attribs);
//Create and set up the window. if (fromVariable != null)
JFrame frame = new {
JFrame("MenuSelectionManagerDemo");
Node<BpelElement> fatherDataDependency =
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE outputVariables.get(fromVariable);
); if (fatherDataDependency
frame.setLayout(new BorderLayout()); != null) {
206
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
return panel;
} vu.addInput(stackTopNode.getData().getName());
}
public static void main(String[] args) { }
//Schedule a job for the event-dispatching thread: if
//creating and showing this application's GUI. (!variablesMap.containsKey(toVariable)) {
javax.swing.SwingUtilities.invokeLater(new VariableUsage
Runnable() { vu = new VariableUsage();
public void run() {
createAndShowGUI(); vu.addOutput(stackTopNode.getData().getName());
}
}); variablesMap.put(toVariable, vu);
} } else {
VariableUsage
@Override vu = variablesMap.get(toVariable);
public void valueChanged(TreeSelectionEvent
arg0) { vu.addOutput(stackTopNode.getData().getName());
// TODO Auto-generated method stub }
} }
} /**
class Chooser extends JFrame { * to be extended
*/
JFileChooser chooser;
String fileName; }
}
public Chooser() {
chooser = new JFileChooser();
int r = chooser.showOpenDialog(new // if next element is simple, push StringBuffer
JFrame()); // this makes the stack ready to accept character text
if (r == else if( localName.equals( "title" ) || localName.equals(
JFileChooser.APPROVE_OPTION) { "author" ) ||
fileName = localName.equals( "name" ) ||
chooser.getSelectedFile().getPath(); localName.equals( "headline" ) ) {
} //stack.push( new StringBuffer() );
} //isStackReadyForText = true;
} }
----------------------------------------------------------- // if none of the above, it is an unexpected element
package sax.parser;
else{
import java.util.LinkedHashSet; // do nothing
}
public class VariableUsage { }
private LinkedHashSet<String> inputs = new
LinkedHashSet<String>(); public void endElement( String uri, String localName, String
private LinkedHashSet<String> outputs = new qName ) {
LinkedHashSet<String>();
public void addInput(String inputName) { // recognized text is always content of an element
inputs.add(inputName); // when the element closes, no more text should be
} expected
isStackReadyForText = false;
public void addOutput(String outputName) {
outputs.add(outputName); // pop stack and add to 'parent' element, which is next
} on the stack
// important to pop stack first, then peek at top element!
public LinkedHashSet<String> getInputs() {
return inputs; Node<BpelElement> node;
} if( localName.equals( "process" ) ) {
node = (Node<BpelElement>)stack.pop();
public LinkedHashSet<String> getOutputs() { } else if( localName.equals( "sequence" ) ) {
return outputs; node = (Node<BpelElement>)stack.pop();
} }else if( localName.equals( "receive" ) ) {
207
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
node = (Node<BpelElement>)stack.pop();
public String toString() { }else if( localName.equals( "invoke" ) ) {
StringBuffer sb = new StringBuffer(); node = (Node<BpelElement>)stack.pop();
sb.append("{inputs:"); }else if( localName.equals( "reply" ) ) {
for (String input:inputs) { node = (Node<BpelElement>)stack.pop();
sb.append(input); }else if( localName.equals( "flow" ) ) {
sb.append("|"); node = (Node<BpelElement>)stack.pop();
} }else if( localName.equals( "if" ) ) {
sb.append("}"); node = (Node<BpelElement>)stack.pop();
sb.append("{outputs:"); }else if( localName.equals( "elseif" ) ) {
for (String output:outputs) { node = (Node<BpelElement>)stack.pop();
sb.append(output); }else if( localName.equals( "else" ) ) {
sb.append("|"); node =
} (Node<BpelElement>)stack.pop();
sb.append("}"); }else if (localName.equals("assign")) {
return sb.toString(); node = (Node<BpelElement>)stack.pop();
} }else if (localName.equals("while")) {
} node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("repeatUntil")) {
node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("pick")) {
node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("scope")) {
node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("forEach")) {
node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("exit")) {
node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("throw")) {
node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("rethrow")) {
node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("wait")) {
node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("empty")) {
node = (Node<BpelElement>)stack.pop();
}else if (localName.equals("opaqueActivity")) {
node = (Node<BpelElement>)stack.pop();
}
else if (localName.equals("copy")) {
assignCopyFlag = false;
}
else if (localName.equals("partnerLinks")) {
partnerLinksSection = false;
}
else if (localName.equals("condition")) {
Node<BpelElement> stackTopNode =
(Node<BpelElement>)stack.peek();
if (stackTopNode.getData() instanceof IfImpl
|| stackTopNode.getData() instanceof ElseIfImpl) {
String conditionExpression =
sb.toString();
String delims = "[ .,?!=/><]+";
String[]
tokens1=conditionExpression.split(">");
for (int i = 0; i<tokens1.length; i++)
{
String[] tokens2 =
tokens1[i].split("<");
for (int j=0;
j<tokens2.length; j++){
String[]
tokens3 = tokens2[j].split(delims);
for( int k=0;
208
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
k<tokens3.length; k++ ) {
if
(tokens3[k].startsWith("$")){
ifImplementation.addInputVariable(inVar);
}
if
(stackTopNode.getData() instanceof ElseIfImpl) {
elseIfImplementation.addInputVariable(inVar);
}
if (inVar !=
null) {
if
(!variablesMap.containsKey(inVar)) {
vu.addInput(stackTopNode.getData().getName());
variablesMap.put(inVar, vu);
} else
{
VariableUsage vu = variablesMap.get(inVar);
vu.addInput(stackTopNode.getData().getName());
}
}
}
}
}
}
// String[] tokens =
conditionExpression.split(delims);
// for( int i=0; i<tokens.length; i++ ) {
// if
(tokens[i].startsWith("$")){
// String inVar =
tokens[i].substring(1);
//
System.out.println("if invar=" + inVar);
// }
// }
conditionExpressionState = false;
}
}
/*Object tmp = stack.pop();
209
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
catalog = (Catalog)tmp;
210
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
return aState;
}
nodeStack.setLastNodeInSeq(node);
/**
* add previous nodes to current
node
*/
node.addAllNodesToPrevPath(nodeStack.getPrevPath()
);
node.addNodeToPrevPath(nodeStack.getData().getNa
me());
}
else {
Node<BpelElement>
previusPathNode = nodeStack.getLastNodeInSeq();
previusPathNode.addLink(node);
nodeStack.setLastNodeInSeq(node);
/**
* add previous nodes to current
node
*/
node.addAllNodesToPrevPath(previusPathNode.getPre
vPath());
node.addNodeToPrevPath(previusPathNode.getData().
getName());
if (previusPathNode.getData()
instanceof FlowImpl) {
FlowImpl flow =
(FlowImpl) previusPathNode.getData();
List<Node<BpelElement>> flowChildren =
previusPathNode.getChildrenNodes();
for (Node<BpelElement>
aNode: flowChildren)
211
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
node.addNodeToPrevPath(aNode.getData().getName())
;
}
} else {
/**
* add previous nodes to current node
*/
node.addAllNodesToPrevPath(nodeStack.getPrevPath()
);
node.addNodeToPrevPath(nodeStack.getData().getNa
me());
}
}
BIBLIOGRAFIE
[34] H. Afsarmanesh, L.M. Camarinha-Matos, S.S. Msanjila, (2007): Virtual Organizations Breeding
Environment: Key Results from ECOLEAD. In the proceedings of the International conference on
Cost Effective Automation in Networked Product Development and Manufacturing - IFACCEA'
2007. Monterey, Mxico
[35] M. Tolle, A. Zwegers, J. Vesterager: Virtual Enterprise Reference Architecture and Methodology
(VERAM), GLOBEMEN Jopint D412 & D43 deliverables, 2003
[36] A. Zwegers, M. Tolle, J.Vesterager (2003): VERAM: Virtual Enterprise Reference Architecture
and Methodology, in Karvonen, I, et. al. (Eds.) Global Engineering and Manufacturing in
Enterprise Networks, GLOBEMEN, VTT Symposium 224, VTT Information Service, pp. 17-38
[37] L.M. Camarinha-Matos, H. Afsarmanesh: Elements of a base VE infrastructure. Computers in
Industry, 51(2), 2003
[38] R. Mejia, A. Molina: Virtual enterprise broker: Processes, methods and tools, in Collaborative
business ecosystems and virtual enterprises, Kluwer, Boston, 2002
[39] A.Molina, and M. Flores: Exploration of Business Opportunities: The role of the virtual enterprise
broker, in E-Business and Virtual Enterprise. Managing Business Cooperation (L.M. Camarinha-
Matos, H. Afsarmanesh, R. Rabelo, Eds) Kluwer Academic Publishers, Boston, 2002
[40] L.M. Camarinha-Matos, H. Afsarmanesh, (Ed.s): Collaborative networked organizations A
research agenda for emerging business models, Kluwer Academic Publishers, ISBN 1-4020-7823-
4, 2004
[41] L.M. Camarinha-Matos, H. Afsarmanesh, M. Ollus, (editors) (2005): Virtual Organizations:
Systems and Practices, Berlin, New York: Springer Science
[42] L.M. Camarinha-Matos, H. Afsarmanesh: Infrastructures for Virtual Enterprises Networking
Industrial Enterprises. Kluwer Academic Publishers, ISBN 0-7923-8639-6, Porto, Portugal, 1999
[43] D. Good. Individuals, interpersonal relations, and trust. In Trust: Making and Breaking
Cooperative Relations. Edited by D.G. Gambetta, Basil Blackwell: New York, 1988, pg. 3148
[44] R.C Mayer, J.H. Davis, F.D. Schoorman. An integrated model of organizational trust. In
Academy of Management review. Vol 20 No. 3, 1995, pp 709-734.
[45] T. Grandison, & M. Sloman, (2000). A survey of trust in Internet applications. In the IEEE
Communication Survey Tutorial, Vol. 3, pp 216.
[46] D.M. Rousseau, S.B. Sitkin, R.S. Burt, & C. Camerer. Not so different after all: a crossdiscipline
view of trust. In Academy of Management Review, Vol. 23, 1998, pp. 393404.
[47] S.S. Msanjila, & H. Afsarmanesh. HICI: An approach for identifying trust elements The case of
technological perspective in VBEs. In proceeding of International conference on availability,
reliability and security (ARES-2007), Vienna, 2007, pp. 757-764.
[48] S.S. Msanjila, & H. Afsarmanesh. Trust Analysis and Assessment in Virtual Organizations
Breeding Environments. In the International Journal of Production Research, ISBN (print) 0020-
7543, Research, Taylor & Francis., Vol. 46, No 5, 2007, pp. 1253-1295
[49] H. Afsarmanesh, & L.M. Camarinha-Matos. A framework for management of virtual organization
breeding environments, in Collaborative Networks and their Breeding Environments, Springer,
ISBN 0387282599, 2005, pp. 35-49
[50] H. Afsarmanesh, & L.M. Camarinha-Matos (26-28 September). A Framework for Managementof
Virtual Organization Breeding Environments. Paper presented at the 6th IFIP Working
Conference on Virtual Enterprises, Valencia, 2005
[51] L.M. Camarinha-Matos & H. Afsarmanesh. Elements of a base VE infrastructure. J. Computersin
Industry, Vol. 51 (Issue 2), 2003, pp. 139-163
214
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
215
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
Development and Manufacturing. Monterrey, Mexico. 26. Oxford Dictionary of Current English
(2007). Oxford University Press. Oxford, 2-5 octombrie 2007
[71] K. Jansson, I. Karvonen, M.Ollus, P.Paganelli, R. Stewens, U. Negretto. Real Time Virtual
Organisations Management. In: Innovation and the Knowledge Economy - Issues, Applications,
Case Studies. (P. Cunningham, M. Cunningham (Ed)). ISBN 1-58603-563-0. IOS Press.
Amsterdam, 2005
[72] I. Westphal, K-D Thoben, M. Seifert. Measuring Collaboration Performance in Virtual
Organizations. In IFIP International Federation for Information Processing, Volume 243,
Establishing the Foundation of Collaborative Networks; eds. L. Camarinha-Matos, H.
Afsarmanesh, P. Novais, C. Analide; (Boston, Springer), 2007, pp. 33-42
[73] http://www.pmi.org/PMBOK-Guide-and-Standards.aspx
[74] M. Schindler, M. Eppler, 2003. Harvesting project knowledge: a review of project learning
methods and success factors. International Journal of Project Management 21. Elsevier Science
Ltd and IPMA, 2003, pp. 219-228
[75] FIATECH (2001). Guidelines and Drivers for Achieving Plant Lifecycle Data Management. The
owner operator forum. January 2001. http://www.fiatech.org
[76] D. Romero, N. Galeano, A.Molina. A conceptual model for virtual breeding environments value
systems, In IFIP International Federation for Information Processing, Volume 243, Establishing
the Foundation of Collaborative Networks; eds. L. Camarinha-Matos, H. Afsarmanesh, P. Novais,
C. Analide, (Boston, Springer), 2007, pp. 43-52
[77] A. Gunasekaran, C. Patel, E. Tirtiroglu: Performance measures and metrics in a supply chain
environment. International Journal of Operations & Production Management, Bradford, Vol. 21,
Iss. 1/2, 2001, pp. 71
[78] Ralf Hieber: Collaborative performance measurement in logistics networks : the model, approach
and assigned KPIs. In: Logistik-Management, Nrnberg, Vol. 4, No. 2, 2002
[79] M. Leseure, N. Shaw, G. Chapman: Performance measurement in organisational networks: an
exploratory case study. In: International journal of business performance management. Milton
Keynes, Genve, Vol. 3, No. 1, 2001
[80] Vince Kellen, Business Performance Measurement; Chicago 2003
[81] Peter Vervest, Kennetsh Preiss, Eric van Heck, Louis Pau: The Emergence of Smart Business
Networks. In: Smart Business Networks, Springer, Berlin 2005
[82] Robert S. Kaplan, David P. Norton, The Balanced Scorecard - Measures that Drive Performance,
Harvard Business Review, January-February, 1992
[83] Andy D. Neely, John F. Mills, Mike J. Gregory, Huw A. Richards, Ken W. Platts, Mike K.
Bourne: Getting the Measure of your Business. Findlay, London, 1996
[84] U. Bititci, T. Turner, M. Bourne:Performance Measurement: the comparison between a process
and a model approach. In: Int. J. Business Performance Measurement, Vol. 3, Nos. 2/3/4, 2001
[85] Bjrn Andersen, Tom Fagerhaug: Performance Measurement Explained: Designing and
Implementing Your State-of-the-Art System. ASQ Quality Press, Milwaukee, 2002
[86] Michael Hbig: Modellgesttzte Bewertung der Kooperationsfhigkeit produzierender
Unternehmen. Fortschritt-Berichte VDI Reihe 16 Nr. 140, VDI Verlag, Dsseldorf, 2002
[87] A. Ketfi, N. Belkhatir, P.-Y. Cunin: Dynamic Updating of Component-based Applications. In:
SERP, 2002
[88] P.K. McKinley, S.M. Sadjadi, E.P. Kasten, B.H.C. Cheng: A Taxonomy of Compositional
Adaptation. Technical report, Department of Computer Science and Engineering, Michigan State
University, 2004
216
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
[89] M. Aksit, Z. Choukair: Dynamic, Adaptive and Reconfigurable Systems Overview and
Prospective Vision. In: Short Paper Proceedings at (CAiSE), Porto, Portugal. CEUR Workshop
Proc., vol. 161, 2005
[90] M. Papazoglou, K. Pohl, M. Parkin, A. Metzger, Service Research Challenges and Solutions for
the Future Internet, Springer-Verlag Berlin Heidelberg, 2010
[91] F. Curbera, M. Duftler, R. Khalaf, W. Nagy, N. Mukhi, S. Weerawarana: Unraveling the Web
Services Web: an introduction to SOAP, WSDL, and UDDI. IEEE Internet Computing 6(2), 2002,
86-93
[92] F. Leymann: Web services flow language (wsfl 1.0). Technical report, IBM Corporation, May
2001
[93] Thatte, S.: XLANG Web Services for Business Process Design. Microsoft Corporation, 2001
[94] A. Arkin: Business Process Modeling Language, November 2002
[95] http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html
[96] http://www.oracle.com/technetwork/articles/matjaz-bpel1-090575.html
[97] G. Decker, O. Kopp, F. Leymann, M. Wesk: BPEL4Chor: Extending BPEL for modelling
choreographies. In: ICWS. IEEE Computer Society, 2007, pp. 296-303
[98] http://www.w3.org/TR/ws-cdl-10/]
[99] http://www.bpel4chor.org/]
[100] http://docs.oasis-open.org/ws-tx/wscoor/2006/06
[101] http://www.w3.org/Submission/OWL-S/
[102] http://www.w3.org/Submission/WSMO-primer/
[103] J. Hielscher, A. Metzger and R. Kazhamiakin: Taxonomy of Adaptation Principles and
Mechanisms, S-Cube Project Deliverable CD-JRA-1.2.2, 2009
[104] A. Hallerbach, T. Bauer, M. Reichert: Managing Process Variants in the Process Lifecycle. In:
10th Intl Conf. on Enterprise Information Systems, 2008
[105] F. Casati, S. Ceri, B. Pernici, G. Pozzi: Workflow Evolution. In: Thalheim, B. (ed.) ER 1996.
LNCS, vol. 1157, Springer, Heidelberg, 1996
[106] F. Casati, S. Ceri, B. Pernici, G. Pozzi: Workflow Evolution. In: Thalheim, B. (ed.) ER 1996.
LNCS, vol. 1157, Springer, Heidelberg, 1996
[107] M. Reichert, P. Dadam: ADEPTflex - Supporting Dynamic Changes of Workflows Without
Loosing Control. JIIS, 1998, pp. 93-192
[108] L.T. Ly, S.Rinderle, P. Dadam: Integration and Verification of Semantic Constraints in Adaptive
Process Management Systems. Data Knowl. Eng. 64(1), 2008, pp. 3-23
[109] F. Casati, S. Ceri, B. Pernici, G. Pozzi.: Workflow evolution. Data Knowl. Eng. 24(3), 1998, pp.
211-238
[110] J. Eder, W. Liebhart: Workflow recovery. In: Proc. of IFCIS Int. Conf. on Cooperative
Information Systems (CoopIS), Brussels, Belgium. IEEE Computer Society Press, Los Alamitos,
1996, pp. 124-134
[111] M. Reichert, S. Rinderle, U. Kreher, P. Dadam: Adaptive process management with ADEPT2. In:
Proc. of Int. Conf. on Data Engineering ICDE, Tokyo, Japan, 2005, pp. 1113-1114
[112] C.Hagen, G. Alonso.: Exception handling in workflow management systems. IEEE Trans.
Software Eng. 26(10), 2000,pp. 943-958
[113] R. Hamadi, B. Benatallah: Recovery nets: Towards self-adaptive workflow systems. In: X. Zhou,
S. Su, M.P. Papazoglou, M.E. Orlowska, K. Jeffery, (eds.) WISE 2004. LNCS, vol. 3306.
Springer, Heidelberg, 2004, pp. 439-453
217
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
[114] K. Verma, K. Gomadam, A.P. Sheth, J.A. Miller, Z. Wu: The METEOR-S Approach for
Configuring and Executing Dynamic Web Processes. Technical report, 2005
[115] K. Verma, R. Akkiraju, R.Goodwin, P. Doshi, J. Lee: On accommodating inter service
dependencies in web process flow composition. In: Proc. of Int. Semantic Web Services
Symposium, AAAI spring symposium series, Palo Alto (CA) USA, 2004
[116] Y. Wu, P. Doshi: Regret-Based Decentralized Adaptation of Web Processes with Coordination
Constraint. In: Proceedings of Service Computing Conference, SCC, 2007
[117] D. Bianculli, R. Jurca, W. Binder, C. Ghezzi, B.V. Faitings: Automated Dynamic Maintenance of
Composite Services Based on Service Reputation. In: Kramer, B.J., Lin, K.-J., Narasimhan, P.
(eds.) ICSOC 2007. LNCS, vol. 4749. Springer, Heidelberg, 2007, pp. 449-455
[118] M. Colombo, E. Di Nitto, M. Mauri: SCENE: A Service Composition Execution Environment
Supporting Dynamic Changes Disciplined Through Rules, ln: A. Dan, W. Lamersdorf, (eds.)
1CSOC 2006. LNCS, vol. 4294. Springer, Heidelberg, 2006, pp. 191-202
[119] M. Di Penta, R. Esposito, M.L. Villani, R. Codato, M.Colombo, E. Di Nitto: WS Binder: a
Framework to Enable Dynamic Binding of Composite Web Services. In: SOSE !06: Proceedings
of the 2006 international workshop on Service-oriented software engineering, New York, NY,
USA. ACM, 2006, pp. 74-80
[120] L. Cavallaro, E. Di Nitto: An Approach to Adapt Service Requests to Actual Service Interfaces.
In: SEAMS 08: Proceedings of the 2008 international work-shop on Software engineering for
adaptive and self-managing systems, New York, NY, USA. ACM Press, 2008, pp. 129-136
[121] D. Ardagna, M. Comuzzini, E.Mussi, B. Pernici, P. Plebani: PAWS: A FRAME- work for
Executing Adaptive Web-Service Processes. IEEE Software 24(6), 2007, pp. 39-46
[122] G. Spanoudakis, A. Zisman, A. Kozlenkov: A Service Discovery Framework for Service Centric
Systems. In: Proceedings of Service Computing Conference, SCC, 2005
[123] G.Chafle, K. Dasgupta, A. Kumar, S. Mittal, B. Srivastava: Adaptation in Web Service
Composition and Execution. In: International Conference on Web Serwices ICWS 2006, pp.
549-557
[124] G. Canfora, M. di Penta, R. Esposito, M.L. Villani: QoS-A ware Replanning of Composite Web
Services. In: ICWS 2005 Proc., Orlando, 2005
[125] T.Gao, H. Ma, I.-L.Yen, F. Bastani, W.T. Tsai: Toward QoS analysis of adaptive service-oriented
architecture. In: Toward QoS analysis of adaptive service-oriented architecture (SOSE), 2005, pp.
219-226
[126] P.C. Xiong, Y.S. Fan, M.C. Zhou, M.C.: Petri net-based Approach to QoS-aware Configuration
for WS. In: IEEE International Conference on Systems, Man and Cybernetics, 2007, pp. 1286-
1291
[127] A. Brogi, R. Popescu: Automated generation of BPEL adapters. IN: Dan, A., Lamersdorf, W.
(eds.) ICSOC 2006. LNCS, vol. 4294. Springer, Heidelberg, 2006, pp. 27-39
[128] B. Benatallah, F. Casati, D. Grigori, Ht.R.M. Nazhad, F. Toumani: Developing Adapters for
Web Services Integration. In: O. Pastor, Falcao e Cunha, J. (eds.) CAiSE 2005. LNCS, vol.
3520, Springer, Heidelberg, 2005, pp. 415-429
[129] M. Dumas, M. Spork, K. Wang: Adapt or perish: Algebra and visual notation for service interface
adaptation. In: S. Dustdar, J.L. Fiadeiro, AP. Sheth (eds.) BPM 2006. LNCS, vol. 4102. Springer,
Heidelberg, 2006, pp. 65-80
[130] W. Kongdenfha, R. Saint-Paul, B. Benatallah, F. Casati: An aspect-oriented framework for
service adaptation. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294. Springer,
Heidelberg, 2006, pp. 15-26
218
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
[131] S.K. Williams, S.A. Battle, J.E. Cuadrado: Protocol Mediation for Adaptation in Semantic Web
Services. In: 2nd European Semantic Web Conference, 2006, pp. 635-649
[132] S. Modafferi, E. Mussi, B. Pernici: Sh-bpel: a self-healing plug-in for ws- bpel engines. In:
Proceedings of the 1st Workshop on Middleware for Service Oriented Computing, MW4SOC
2006, Melbourne, Australia, 27 noiembrie-1decembrie 2006, pp. 48-53
[133] B. Pernici, A.M. Rosati: Automatic Learning of Repair Strategies for Web Services. In:
Proceedings of the Fifth European Conference on Web Services (ECOWS), 26-28 noiembrie,
2007, pp. 119-128
[134] L. Baresi, C. Ghezzi, S. Guinea: Towards Self-healing Service Compositions. In: First
Conference on the PRInciples of Software Engineering (PRISE), 2004, pp. 11-20
[135] L. Baresi, S. Guinea, L. Pasquale: Self-healing BPEL processes with Dynamo and the JBoss
rule engine. In: ESSPE 07: International workshop on Engineering of software services for
pervasive environments, 2007, pp. 11-20
[136] A. Erradi, P. Maheshwari, V. Tosic: Policy-driven middleware for selfadaptation of web services
compositions. In: van Steen, M., Henning, M. (eds.) Middleware 2006. LNCS, vol. 4290.
Springer, Heidelberg, 2006, pp. 62-80
[137] http://www.w3.org/Submission/WS-Policy/
[138] L. Console, M.G. Fugini: The WS-Diamond Team.WS-DlAMOND: an approach to Web
Services - DIAgnosability, MONitoring and Diagnosis. In: e- Challenges Conf. 2007, The Hague,
octombrie 2007
[139] E. Rukzio, S. Siorpaes, O. Falke, H. Hussmann: Policy based adaptive services for mobile
commerce. In: WMCS 05: Proceedings of the Second IEEE International Workshop on Mobile
Commerce and Services, Washington, DC, USA, IEEE Computer Society, 2005, pp. 183-192
[140] S. lllner, A. Pohl, H. Krumm, I. Luck, D. Manka, T. Sparenberg: Automated runtime management
of embedded service systems based on design-time modeling and model transformation. In: 3rd
IEEE International Conference on Industrial Informatics, 2005, pp. 134-139
[141] J. Siljee, I. Bosloper, J. Nijhuis, D. Hammer: DySOA: Making service systems self-adaptive. In:
B. Benatallah, F. Casati, P. Traverso, (eds.) ICSOC 2005. LNCS, vol. 3826. Springer, Heidelberg,
2005, pp. 255-268
[142] S.O. Hallsteinsen, E. Stav, A. Solberg, J. Floch: Using Product Line Techniques to Build
Adaptive Systems. In: SPLC, 2006, pp. 141-150
[143] R.Clotet, D. Dhungana, X. Franch, P. Grunbacher, L. Lopez, J. Marco, N. Seyff: Dealing with
Changes in Service-Oriented Computing Through Integrated Goal and Variability Modelling. In:
Proceedings 2nd International Workshop on VaMoS, 2008
[144] http://www.ifac-tc53.org/ accesat la 10.10.2013
[145] F.B. Vernadat, Enterprise Modeling and Integration (EMI): Current Status and
ResearchPerspectives. Annual Reviews in Control. 26, 2002, pp. 1525
[146] H. Panetto, J. Cecil, Information Systems for Enterprise Integration, Interoperability and
Networking: Theory and Applications, Enterprise Information Systems, DOI :
10.1080/17517575.2012.684802, 2013, pp. 1-6
[147] IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries ,
IEEE 610-1990, 1990
[148] Department of Defense Dictionary of Military and Associated Terms (Joint Publication 1-02),
U.S. Department of Defense. Accesat la 20.02.2013:
http://www.dtic.mil/doctrine/new_pubs/jp1_02.pdf
219
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
220
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
[169] T.J. Williams, The Purdue enterprise reference architecture, Computers in Industry 24 (2/3) (1994)
141158.
[170] D. Chen, G. Doumeingts, The GRAI-GIM reference model, architecture and methodology, in: P.
Bernus, et al. (Eds.), Architectures for Enterprise Integration, Chapman & Hall, London, 1996.
[171] A.-W. Scheer, Business Process Engineering. Reference Models for Industrial Enterprises, 2nd
edition, Springer-Verlag, Berlin, 1994
[172] J. Zachman, The Framework for Enterprise Architecture: Background, Description and Utility,
Zachman Institute for Advancement, 1996, http://www.zifa.com (effective link on April 2007)
[173] http://www.pera.net/Methodologies/Cimosa/CIMOSA.html
[174] http://cimosa.cnt.pl/
[175] http://cimosa.cnt.pl/Docs/Primer/primer5.htm
[176] http://www.atb-bremen.de/projects/prosme/Doku/oqim/grai_old.htm
[177] http://www.zachman.com/about-the-zachman-framework
[178] P. Bernus, L. Nemes, G. Schmidt (Eds.), Handbook on Enterprise Architecture, Springer-Verlag,
2003
[179] C4ISR, Architecture Working Group (AWG), C4ISR Architecture Framework, Version 2.0,
December 18, 1997
[180] DoD, DoD Architecture Framework Working Group, DoD Architecture Framework, Version 1.0,
vol. 1: Definitions and Guidelines, February 9, 2004
[181] http://www.pera.net/Standards/Relation_of_ISO_and_CEN.html
[182] ISO/IEC 10746-1, Information TechnologyOpen Distributed Processing Reference Model,
Overview, December 15, 1998
[183] C4ISR, Architecture Working Group (AWG), Levels of Information Systems Interoperability
(LISI), March 30, 1998.
[184] T. Clark, R. Jones, Organizational Interoperability Maturity Model for C2, Department of
Defense, Canberra, Australia, 1999
[185] ATHENA Integrated Project (507849), Framework for the Establishment and Management
Methodology, Deliverable DA1.4, 2005
[186] IDEAS, 2002, Thematic Network, IDEAS: Interoperability Development for Enterprise
Application and SoftwareRoadmaps, Annex 1DoW, May 13, 2002
[187] ATHENA, Advanced Technologies for Interoperability of Heterogeneous Enterprise Networks
and their Applications, FP6-2002-IST1, Integrated Project, 2003
[188] EIF, European Interoperability Framework, White Paper, Brussels, February 18, 2004.
[189] EIF, European Interoperability Framework for PAN-European EGovernment Services, IDA
Working Document, Version 4.2, January 2004
[190] http://ec.europa.eu/idabc/en/document/2319/5644.html
[191] http://ec.europa.eu/idabc/en/document/2317/5644.html
[192] D. Chen, M. Dassisti, A. Tsalgatidou, Interoperability Knowledge Corpus, Deliverable DI.1,
Workpackage DI, INTEROP NoE, November 25, 2005
[193] D. Chen, N.Daclin, Framework for Enterprise Interoperability, IFAC TC5.3 Workshop EI2N06,
Bordeaux, France, March 21, 2006
[194] ERISA, The European Regional Information Society Association, A Guide to Interoperability for
Regional Initiatives, Brussels, September 2004.
[195] IEEE 1471, gsit la: http://www.iso-architecture.org/ieee-1471/]
221
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
[196] Arne-Jrgen Berre, Brian Elvester, Nicolas Figay, Claudia Guglielmina, Svein G. Johnsen, Dag
Karlsen, Thomas Knothe and Sonia Lipp. The ATHENA Interoperability Framework,
http://www.txtgroup.com/newsletter/attachment/Athena_Paper.pdf
[197] C. Guglielmina, A. Berre, ATHENA, Project A4 (Slide Presentation), in: ATHENA
Intermediate Audit, Athens, Greece, September 2930, 2005.
[198] INTEROP, Enterprise Interoperability-Framework and knowledge corpus - Final report,
INTEROP NoE, FP6 Contract n 508011, Deliverable DI.3, May 21st 2007
[199] INTEROP (2004) Knowledge map of research in interoperability, D1.1, INTEROP NoE, WP1,
version 1
[200] Michael J. Pratt, Introduction to ISO 10303 - the STEP Standard for Product Data Exchange,
accesat pe data de 13.05.2013 la adresa http://www.mel.nist.gov/msidlibrary/doc/jcise1.pdf
[201] ISO, ISO 10303:1994 - Industrial Automation Systems and Integration - Product Data
Representation and Exchange. (The ISO web site is at http://www.iso.ch/cate/cat.html - search on
10303 to find a list of parts of the standard)
[202] D. A. Schenk and P. R. Wilson, Information Modeling: The EXPRESS Way, Oxford University
Press, New York, NY, USA, 1994 (ISBN 0-19-508714-3)
[203] http://www.mel.nist.gov/sc5wg1/std-dft.htm
[204] ISO 15745 (2000), Industrial automation systems and integration Open systems appli-cation
integration frameworks, ISO/TC/184/SC5
[205] ISO 16100 (2002), Industrial automation systems and integration Manufacturing soft-ware
capability profiling for interoperability, ISO/TC/184/SC5
[206] http://www.iso.org/iso/catalogue_detail.htm?csnumber=33834
[207] L. Stanciu, Logistic Industrial i Comercial Curs pentru master, Sisteme Informatice Aplicate
n Producie i Servicii, 2011
[208] I. Dumitrache, T.Dragomir, Automatica, vol. II, Editura Academiei Romne, 2012
[209] A. M. Stanescu, S. I. Caramihai, Sisteme Dinamice cu Evenimente Discrete, Editura Politehnica,
1996
[210] T. Leia T., A. Atilean, Sisteme cu evenimente discrete: modelare, analiz, sintez i control.
Editura Albastr, Cluj-Napoca, 1998
[211] T. Murata, R. David, H. Alla, Discrete, Continuous, and Hybrid Petri Nets, ISBN 3-540-22480-7
Springer Berlin Heidelberg New York, 2005
[212] Kovair, Change Management Process Identify, Evaluate & Implement , accesibil la:
http://www.kovair.com/itsm-solutions/change-management-process.html
[213] D. Nadier, M. Tushma, M.: Organizational Frame Bending: Principles for Managing
Reorientation, In The Academy ol MMingement EXECUT) Vt, 1989, Vol. III. No. J, pp. 194-204
[214] http://www.mbaknol.com/management-concepts/factors-affecting-organizational-change/
[215] http://ayushveda.com/blogs/business/organizational-change-influencing-factors/
[216] http://smallbusiness.chron.com/factors-may-cause-change-organization-203.html
[217] J. Kotter, "Change Management vs. Change Leadership -- What's the Difference?". Forbes
online. Accesat la data de 21.05.2013
[218] http://www.change-management.com/tutorial-2007prep-strategy.htm, accesat la 29.07.2013
[219] P.J.M. Frederiks and T.P. Van Der Weide, Information modeling: The process and the required
competencies of its participants. Data & Knowledge Engineering 58 (1), 4-20, 2006
[220] J. Recker,: A socio-pragmatic constructionist framework for understanding quality in process
modelling. Australasian Journal of Information Systems 14 (2), 2007, pp. 43-63
222
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
[221] Mendling, J., Recker, J., Reijers, H. A., PROCESS MODELING QUALITY: A FRAMEWORK
AND RESEARCH AGENDA, accesat la 01.08.2013 la http://bpmcenter.org/wp-
content/uploads/reports/2009/BPM-09-02.pdf
[222] M. Rosemann, J. Recker, M. Indulska, P. and Green: A study of the evolution of the
representational capabilities of process modeling grammars. In Advanced information systems
engineering - caise 2006 (Dubois, E. and Pohl, K., Eds), Springer, Luxembourg, Grand-Duchy of
Luxembourg, 2006, pp 447-461
[223] P. Soffer and Y. Wand, Goal-driven multi-process analysis. Journal of the Association for
Information Systems 8 (3), 2007, pp 175-202
[224] W. M. P. Van Der Aalst, A. H. M. Ter Hofstede, B. Kiepuszewski and A.P. Barros, Workflow
patterns. Distributed and Parallel Databases 14 (1), 2003, pp 5-51
[225] J. Recker, M. Indulska, M. Rosemann, P. and Green, How good is bpmn really? Insights from
theory and practice. In 14th European Conference on Information Systems (Ljungberg, J. and
Andersson, M., Eds), Association for Information Systems, Goeteborg, Sweden, 2006, pp 1582-
1593
[226] H. Weber, H. Ehrig, W. Reisig, A. Borusan, S. Lembke, J. Dehnert, M. Weber, A. Martens, J.
Padberg, C. Ermel, and A. Q. Emali: The Petri Net Baukasten of the DFG Forschergruppe PETRI
NET TECHNOLOGY, LNCS 2472, 2003, pp. 121
[227] J. Dehnert. The Common Base of the Petri Net Baukasten. In Int. Colloquium on Petri Net
Technologies for Modelling Communication Based Systems, Part II: The _Petri Net Baukasten.
Fraunhofer Gesellschaft ISST, October 1999
[228] H. Weber, S. Lembke and A. Borusan. Improving the Usability of Petri Nets with the Petri Net
Baukasten. In Advances in Petri Nets: Unifying Petri Nets, volume 2128 of LNCS. Springer, 2001
[229] S. Lembke. The Application Developer View of the Petri Net Baukasten. In Int. Colloquium on
Petri Net Technologies for Modelling Communication Based Systems, Part II: The _Petri Net
Baukasten_. Fraunhofer Gesellschaft ISST, October 1999, pages 231241
[230] DFG-Forschergruppe Petri Net Technology. Initial realization of the _Petri Net Baukasten_.
Informatik-Berichte 129, Humboldt-Universitat zu Berlin, October 1999
[231] http://www.bpmn.org/
[232] M. George: Lean six sigma for service, The McGraw-Hill Companies, Inc., 2003
[233] H. Skalle, B. Hahn: Applying Lean, Six Sigma, BPM, and SOA to Drive Business Results, accesat
la 13.09.2013 la http://www.redbooks.ibm.com/abstracts/redp4447.html
[234] http://www.businessdictionary.com/definition/service-level-agreement.html
[235] Web Service Level Agreement (WSLA) Language Specification, disponibil la:
http://www.research.ibm.com/people/a/akeller/Data/WSLASpecV1-20030128.pdf
[236] Understanding quality of service for Web services
http://www.ibm.com/developerworks/webservices/library/ws-quality
[237] Open Group Standard TOGAF Version 9.1, 2009, disponibil la
http://www.opengroup.org/architecture/togaf91/downloads.htm
[238] C.T. Fitz-Gibbon: Performance indicators, In: BERA Dialogues (2), ISBN 978-1-85359-092-4,
1990
[239] Key performance Indicators, Disponibil la:
http://management.about.com/cs/generalmanagement/a/keyperfindic.htm, 2013
[240] Examples of KPI, Key Performance Indicators for Different Roles, Disponibil la:
http://suite101.com/article/examples-of-kpi-performance-indicators-for-different-roles-a270390,
2013
223
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
[241] http://www.ic.gc.ca/eic/site/pp-pp.nsf/eng/home
[242] http://hammerora.sourceforge.net/document.html
[243] M.N. Huhns, M.P. Singh: Service-Oriented Computing: Key Concepts and Principles. IEEE
Internet Computing 9(1), 2005, pp.75-81
[244] M.P. Papazoglu, P. Traverso, S. Dustdar, F. Leymann: Service-Oriented Computing: State of the
Art and Research Challenges. Computer 40(11), 2011, pp. 38-45
[245] F. Curcubera, M. Duftler, R. Khahaf, W. Nagy, N. Mukhi, S. Weerawarana: Unravelling the Web
Services Web: An introduction to SOAP, WSDL, and UDDI. IEEE Internet Computing 6(2),
2002, pp. 86-93
[246] http://www.w3.org/TR/wsdl
[247] http://www.w3.org/TR/soap/
[248] http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.pdf
[249] M. Papazoglu, K. Pohl, M. Parkin, A. Metzger: Service Research Challenges and Solutions for
Future Internet, Springer-Vertag Berling Heidelberg, 2010
[250] F. Casati, S. Ceri, B. Pernici, G. Pozzi, Workflow evolution, Data Knowl Eng 24, 1998, pp. 211-
238
[251] G. Joeris, O. Herzog, Managing eolving workflow specifications. In: Proceedings of the 3rd
IFCIS International Conference on Cooperative Information Systems, New York Citym New
York, USA, 1998, pp.310-321
[252] M. Reichert, P. Dada: Adeptflex-supporting dynamic changes of workflows without loosing
control. J. Intell. Inf. Syst. 10(2): pp. 93-129
[253] M. Reichert, S. Rinderle, P. Dadam: On the common support of workflow type and instance
changes under correctenss constraints. In: Proceedings of the 2003 OTM Confederated
international conferences. CooplS. DOA. and ODBASE Catania, Sicily, Italy, 2003, pp.407-425
[254] S. Rinderle, B. Weber, M. Reichert, W. Wild: Integrating process learning and process evolution -
a semantics based approach. In: Proceedings of the 3rd international conference, Nancy, France,
BMP 2005, pp 252-267
[255] S.W. Sadiq, Handling dynamic schema change in process models. In: Proceedings of the 2000
Australasian dabasian conference, 2000, pp. 12-126
[256] W.M.P. Van der Aalst, A.H.M. Hofstede, B. Kiepuszewski, A.P. Barros, Workflow patterns.
Distr Parallel Databases 14(1), 2003, pp. 5-51
[257] http://archive.modeliosoft.com/en/modules/modelio-bpel-designer.html
[258] http://www.eclipse.org/bpel/
[259] http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html
[260] http://www.oracle.com/technetwork/middleware/bpel/overview/ds-bpel-11gr1-1-134826.pdf
[261] http://technology.amis.nl/2012/11/18/oracle-soa-suite-11g-ps-5-introduces-bpel-with-conditional-
correlation-for-aggregation-scenarios/
[262] http://www-01.ibm.com/support/docview.wss?uid=swg24030614
[263] http://pic.dhe.ibm.com/infocenter/esbsoa/wesbv7r5/index.jsp?topic=%2Fcom.ibm.wbpm.wid.bpel
.doc%2Ftopics%2Fcunact.html
[264] http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r1mx/index.jsp?topic=/com.ibm.btools.help
.modeler.doc/doc/tasks/widmodeling/analyzingchanges.html
[265] M. P. Papazoglou, The challenges of service evolution, in CAiSE, Montpellier, France, 2008,
pp. 115
[266] Y. Wang, J. Yang, W. Zhao: Change impact analysis for service based business processes, 2010
224
Configurarea dinamic a Organizaiei Colaborative de ntreprinderi, integrat prin tehnologii Internet of Services
[267] Business process execution language for web services version 1.1, 2003. [Online]. Accesat la
25.05.2013 la http://www.ibm.com/developerworks/library/ws-bpel/
[268] M. Dumas, B. Benatallah, and H. R. M. Nezhad, Web service protocols: Compatibility and
adaptation, vol. 31, no. 3, 2008, pp. 4044
[269] M. Reichert and P. Dadam, Adeptflex-supporting dynamic changes of workflows without losing
control, J. Intell. Inf. Syst., vol. 10, no. 2, 1998, pp. 93129
[270] G. Salaun, L. Bordeaux, and M. Schaerf, Describing and reasoning on web services using
process algebra, in ICWS, 2004, pp. 4352.
[271] L. de Alfaro and T. Henzinger, Interface automata, in joint ESEC/FSE, 2001, pp. 109120
225