Mejo a de Ges ión de Se icios de TI a a és de ITIL y la
Tecnología Blockchain
Imp o ing IT Se ice Managemen using ITIL and Blockchain
Technology
T abajo Fin de G ado
Cu so 2021-2022
José And és Velasco San os
Yule Zhang
Di igido Po :
Ma ía C uz Valien e Blázquez
G ado en Ingenie ía del So wa e
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
1
2
Mejo a de Ges ión de Se icios de TI a a és de ITIL y la
Tecnología Blockchain
Imp o ing IT Se ice Managemen using ITIL and Blockchain
Technology
T abajo de Fin de G ado en Ingenie ía del So wa e
Depa amen o de Ing. So wa e e In eligencia A i icial
José And és Velasco San os
Yule Zhang
Di igido Po :
Ma ía C uz Valien e Blázquez
Con oca o ia: Junio 2022
G ado en Ingenie ía del So wa e
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
30 de mayo de 2022
3
4
Ag adecimien os
En p ime luga , que emos ag adece p o undamen e a nues a di ec o a del p oyec o,
Ma ic uz, po la p opues a que hizo pa a es e p oyec o, po las cons an es ayudas que
ecibimos de su pa e du an e odo el cu so, po manda nos a ículos de in e és y con ac os de
di e en es pe sonas, ambién po dedica iempo a euni se con noso os pe iódicamen e pa a
da seguimien o al p oyec o. Sus di ec ices e indicaciones nos han ayudado muchísimo pa a
a anza con el abajo, sin ella es imposible llega has a dónde es amos aho a.
Además, que emos ag adece a nues as amilias, pa ejas y amigos, po su apoyo y ánimo
cons an e.
5
6
Resumen
Mejo a de Ges ión de Se icios de TI a a és de ITIL y la ecnología Blockchain
Siendo la cla e pa a mejo a la calidad del se icio de TI en una emp esa, ITIL es una guía de
buenas p ác icas pa a la ges ión de se icios de TI y aba ca oda la in aes uc u a, el
desa ollo y las ope aciones de TI.
Blockchain cons i uye una ecnología segu a y anspa en e que u iliza la descen alización y el
hashing c ip og á ico pa a aplicaciones en el mundo eal. Puede ayuda a cada pe sona a
oma el con ol o al de cada mo imien o que ealiza de la mane a más segu a posible.
En es e p oyec o se p opone abaja en una solución pa a mejo a la ges ión de se icios de TI
pa a emp esas u ilizando SLA, el aspec o más undamen al de ITIL, y la ecnología Blockchain.
Palab as cla e: TI, Ges ión de Se icios, ITIL, Blockchain, SLA
7
8
Abs ac
Imp o ing IT Se ice Managemen using ITIL and Blockchain echnology
Being he key o imp o e he quali y o IT se ice in a company, ITIL is a guide o good p ac ices
o IT se ice managemen and co e s all IT in as uc u e, de elopmen and ope a ions.
The Blockchain is he mos secu e and anspa en echnology by using decen aliza ion and
c yp og aphic hashing in oday’s wo ld. I can help e e y pe son ake o al con ol o e e y single
mo e ha he makes in he sa es way possible.
In his p ojec we p opose o wo k o a solu ion o imp o e IT se ice managemen o
companies using SLA, he mos undamen al aspec o ITIL, and Blockchain echnology.
Keywo ds: IT, Se ice Managemen , ITIL, Blockchain, SLA
9
Capí ulo 1 - In oducción
1.1. Mo i ación
Hoy en día, la necesidad del depa amen o de la Tecnología de la In o mación (TI) sigue
c eciendo, y lo es á mos ando de una o ma inno ado a. Como a i ma el a ículo ¿Hace al a
un depa amen o de in o má ica? Pues, depende[3], en la ac ualidad, se es á iendo el impac o
del depa amen o de TI en el es o de los depa amen os.
“Algunas de es as cosas ya es án pasando y, en muchas o ganizaciones los que más
saben de Sales o ce es án en los depa amen os de en as, los que más saben de SAP
es án en inanzas o los que saben de las he amien as de da os es án en odas pa es
en modo de au ose icio. Algunos depa amen os de ‘inno ación’ o de in es igación y
desa ollo es án llenos de in o má icos, a o unadamen e.“
Po lo que se puede e que la TI ya no solo cons i uye una pa e impo an e en una emp esa,
sino que cada ez se es á haciendo más imp escindible.
Además, a aíz de la pandemia de la COVID-19 y la nue a ola de ele abajo, la ans o mación
digi al en las emp esas en el á ea de TI se ha acele ado de mane a muy signi ica i a,
p oduciéndose cada ez mayo demanda de se icios.
Po o o lado, debido a la c isis sani a ia y económica que se es á i iendo, se es án ce ando
muchas emp esas en el me cado. Se puede e en la siguien e no icia El ejido p oduc i o no
se ecupe a: España iene hoy 77.831 emp esas menos que an es de la pandemia[4] del
pe iódico El Mundo:
“No odas las emp esas que u ie on que baja la pe siana en España po la c isis de la
pandemia, han podido ol e a subi la. De hecho, a cie e de 2021 el país cuen a con
1.411.902 emp esas dadas de al a en la Segu idad Social, en e a las 1.489.733 que
enía en eb e o de 2020 an es de que i umpie a con ue za la pandemia.”
En es e sen ido, los en o nos emp esa iales son cada ez más compe i i os y las expec a i as
de la al a di ección son cada ez más ambiciosas en lo que espec a a los se icios de TI, an o
a ni el in e no como ex e no (es deci , se icios que desea o ece a sus clien es).
La Biblio eca de In aes uc u a de Tecnologías de In o mación (del inglés In o ma ion
Technology In as uc u e Lib a y, ITIL) puede ayuda a las emp esas a cumpli sus obje i os
16
o eciendo unos se icios de TI con mayo calidad. ITIL ha sido econocida in e nacionalmen e
como guía de buenas p ác icas pa a la ges ión de se icios de TI y es u ilizada po cien os de
o ganizaciones a ni el mundial demos ando su e icacia.
La adopción de los p ocesos de ITIL se hace necesa ia pa a pode ob ene se icios TI con
calidad y una alineación con el negocio en las emp esas, ya que los di ec i os de las emp esas
espe an que las necesidades de la o ganización se con ie an en soluciones, y que TI no
cons i uya un eno al negocio, como suele ocu i en cie as ocasiones.
Po o o lado, los se icios descen alizados basados en la ecnología Blockchain, aunque
oda ía no son lo su icien emen e madu os, es án demos ando su g an po encial en la
Indus ia g acias a la segu idad en su in aes uc u a, su anspa encia y su azabilidad.
Es po ello, que en es e p oyec o se p e ende hace uso de ITIL en combinación con la
ecnología Blockchain, a a és de la implemen ación de con a os in eligen es (del inglés sma
con ac s), pa a que dis in as o ganizaciones, independien emen e de su amaño y condición,
puedan ges iona los Acue dos de Ni el de Se icio (del inglés Se ice Le el Ag eemen s,
SLAs) con sus clien es de una mane a anspa en e, segu a y descen alizada asegu ando la
calidad de la ges ión del se icio.
Cabe des aca que en el momen o de la esc i u a de es e p oyec o no se ha encon ado ningún
abajo que incule ITIL con la ecnología Blockchain pa a ob ene los bene icios que pueden
o ece la usión de es os dos dominios.
1.2. Obje i os
El obje i o p incipal de es e p oyec o es la c eación de un sis ema descen alizado basado en la
ecnología Blockchain (conocido como Web3 ), que a o ezca la ges ión de los SLAs que se
1
es ablecen en e los p o eedo es de se icios de TI y sus clien es siguiendo las buenas
p ác icas de ITIL.
A pa i de es e obje i o p incipal, se es ablecen los siguien es obje i os especí icos:
● Implemen a el sis ema a a és de una in e az que sea lo más in ui i a, cómoda y
accesible posible. Pa a que, de es a mane a, el sis ema pueda llega al máximo público.
1h ps://www.ga ne .es/es/a iculos/que-es-la-web3
17
● Es ablece y mejo a la elación y comunicación en e p o eedo es de se icios de TI y
los clien es de mane a segu a y anspa en e a pa i de los SLAs.
● Ga an iza que an o los p o eedo es de se icios de TI como los clien es engan una
expec a i a cla a y sin ambigüedades del ni el de se icio que se a a con a a .
● Facili a la con a ación y moni o ización de los se icios de TI po pa e de los clien es a
a és de las ansacciones egis adas en Blockchain, median e la implemen ación de
con a os in eligen es ges ionados con monede os digi ales.
● Fa o ece la medición y e isión de los ni eles de se icio con a ados median e la
implemen ación de un cuad o de mando (del inglés dashboa d) que ecupe e los da os
de con a os in eligen e egis ados en Blockchain, y mues e los p incipales Indicado es
Cla e de Rendimien o (del inglés Key Pe o mance Indica o s, KPIs) inculados a los
SLAs.
● Adqui i nue os conocimien os en es ánda es y ecnologías pun e as que pe mi an
a on a con mayo ga an ía de éxi o la ida p o esional como g aduados uni e si a ios
in o má icos.
1.3. Plan de abajo
En la Figu a 1.1 se desc iben las ases del p oyec o y el iempo dedicado pa a cada una de
ellas:
Figu a 1.1 C onog ama de abajo
Se esumen las espec i as ases del plan de abajo a con inuación:
1. P ime a Toma de Con ac o: Es a ha sido la p ime a ase ealizada en es e p oyec o,
que ha consis ido en ene una isión inicial sob e el p oyec o, de ini los obje i os del
mismo y conoce las ecnologías que se an a u iliza .
18
2. In es igaciones: Du an e es a ase, se han ealizado in es igaciones sob e las
di e en es ecnologías, é minos y posibles implemen aciones de uncionalidades del
sis ema obje i o. El esul ado de es a ase es á e lejado en el Capí ulo 2 Es ado de la
cues ión de es e documen o.
3. Desa ollo Sis ema: Es a ase se ha en ocado en el desa ollo del sis ema, an o en lo
que espec a a la pa e del on -end como del back-end. Las ecnologías u ilizadas pa a
su implemen ación se mencionan en el Capí ulo 3 Tecnologías u ilizadas.
4. Dashboa d: En es a ase se ha desa ollado un dashboa d in ui i o que pe mi e
isualiza la in o mación cla e ela i a a los SLAs median e la aplicación de cie os KPIs.
5. Pasos Finales: Los pasos inales del p oyec o se han cen ado p incipalmen e en
comple a la memo ia, así como en mejo a pequeños aspec os del sis ema
implemen ado.
1.4. Es uc u a de la memo ia
El es o de la memo ia es á es uc u ada de la siguien e mane a:
Capí ulo 2 Es ado de la cues ión: Es e capí ulo con empla odos los conocimien os
impo an es que se equie en pa a la ealización del sis ema. Pa a ello, po un lado, se explica
ITIL y su aspec o más undamen al de ca a al ámbi o de es e p oyec o, los SLAs. Po o o lado,
en es e capí ulo se in oduce la ecnología Blockchain, así como sus é minos p incipales.
Capí ulo 3 Tecnologías u ilizadas: En es e capí ulo se p esen an odas las ecnologías que se
han u ilizado pa a es e T abajo Fin de G ado (TFG).
Capí ulo 4 Sis ema descen alizado basado en Blockchain que almacena SLAs, SLink: En
es e capí ulo se p esen a en de alle el sis ema desa ollado en es e abajo.
Capí ulo 5 T abajo indi idual: En es e capí ulo se de alla el abajo ealizado po cada uno de
los au o es del p esen e p oyec o.
Capí ulo 6 Conclusiones y abajo u u o: En es e capí ulo se desc iben las conclusiones
ex aídas del p oyec o, así como las u u as líneas de in es igación si se con inua á el
desa ollo.
19
Chap e 1 - In oduc ion
1.1. Mo i a ion
Nowadays, he need o he In o ma ion Technology (IT) depa men con inues inc easing, and i
is showing in an inno a i e way. As s a ed in he a icle Is an IT depa men necessa y? Well, i
depends [3], a p esen , he impac o he IT depa men is being seen in he es o he
depa men s.
“Some o hese hings a e al eady happening and, in many o ganiza ions hose who
know he mos abou Sales o ce a e in he sales depa men s, hose who know he mos
abou SAP a e in inance, o hose who know he da a ools a e e e ywhe e in
sel -se ice mode. Fo una ely, some ‘inno a ion’ o esea ch and de elopmen
depa men s a e ull o compu e scien is s.“
I can be seen ha IT is no only an impo an pa o a company, bu is becoming mo e and
mo e essen ial.
In addi ion, as a esul o he COVID-19 pandemic and he new wa e o elewo king, he digi al
ans o ma ion in companies in he IT a ea has accele a ed e y signi ican ly, p oducing an
inc easing demand o se ices.
On he o he hand, due o he cu en heal h and economic c isis, many companies in he
ma ke a e closing. I can be seen in he ollowing news The p oduc i e ab ic is no eco e ing:
Spain oday has 77,831 ewe companies han be o e he pandemic[4] om he newspape El
Mundo:
“No all he companies ha had o lowe he blind in Spain due o he pandemic c isis,
ha e been able o aise i again. In ac , a he end o 2021 he coun y had 1,411,902
companies egis e ed wi h Social Secu i y, compa ed o he 1,489,733 i had in Feb ua y
2020 be o e he pandemic b oke ou wi h o ce.”
In his sense, business en i onmen s a e inc easingly compe i i e and he expec a ions o
senio managemen a e inc easingly ambi ious ega ding IT se ices, bo h in e nally and
ex e nally ( ha is, se ices ha hey wan o o e o hei cus ome s).
The In o ma ion Technology In as uc u e Lib a y (ITIL) can help companies mee hei goals by
p o iding IT se ices wi h highe quali y. ITIL has been in e na ionally ecognized as a bes
20
p ac ice guide o IT se ice managemen and is used by hund eds o o ganiza ions wo ldwide,
p o ing i s e ec i eness.
The adop ion o ITIL p ocesses is necessa y in o de o ob ain IT se ices wi h quali y and
alignmen wi h he business in companies, since company manage s expec ha he needs o
he o ganiza ion become solu ions, and ha IT does no cons i u e a b ake on business, as o en
happens on ce ain occasions.
On he o he hand, decen alized se ices based on Blockchain echnology, al hough hey a e
no ye ma u e enough, a e showing hei g ea po en ial in he Indus y hanks o he secu i y o
hei in as uc u e, anspa ency and aceabili y.
Fo his eason, his p ojec in ends o make use o ITIL in combina ion wi h Blockchain
echnology, h ough he implemen a ion o sma con ac s, so ha di e en o ganiza ions,
ega dless o hei size and condi ion, can manage Se ice Le el Ag eemen s (SLAs) wi h hei
clien s in a anspa en , secu e and decen alized way, ensu ing he quali y o se ice
managemen .
I should be no ed ha a he ime o w i ing his p ojec , no wo k has been ound linking ITIL
wi h Blockchain echnology o ob ain he bene i s om he me ge o hese wo domains.
1.2. Objec i es
The main objec i e o his p ojec is he c ea ion o a decen alized sys em based on Blockchain
echnology (known as Web3 ), which a o s he managemen o SLAs es ablished be ween IT
2
se ice p o ide s and hei clien s ollowing good p ac ices o ITIL.
As o his main objec i e, he ollowing speci ic objec i es a e es ablished:
● Implemen he sys em h ough an in e ace ha is as in ui i e, com o able and
accessible as possible. So ha , in his way, he sys em can each he maximum public.
● Es ablish and imp o e he ela ionship and communica ion be ween IT se ice p o ide s
and cus ome s in a secu e and anspa en way by means o SLAs.
● Ensu e ha bo h IT se ice p o ide s and cus ome s ha e a clea and unambiguous
expec a ion o he se ice le el o be con ac ed.
2h ps://hb .o g/2022/05/wha -is-web3
21
● Facili a e he hi ing and moni o ing o IT se ices by cus ome s ia ansac ions eco ded
in Blockchain, by means o he implemen a ion o sma con ac s managed wi h digi al
walle s.
● P omo e he measu emen and e iew o con ac ed se ice le els by implemen ing a
dashboa d ha e ie es da a om sma con ac s egis e ed in Blockchain, and
displays he main Key Pe o mance Indica o s (KPIs) linked o SLAs.
● Acqui e new knowledge in s anda ds and cu ing-edge echnologies ha allow o ace
he p o essional li e o compu e science g adua es wi h a g ea e gua an ee o success.
1.3. Wo kplan
The Figu e 1.1 desc ibes he phases o he p ojec and he ime dedica ed o each o hem:
Figu e 1.1 Wo k schedule
The espec i e phases o he wo k plan a e summa ized below:
1. Fi s Con ac : This has been he i s phase ca ied ou in his p ojec , which consis s o
ha ing an ini ial ision o he p ojec , de ining i s objec i es and lea ning he echnologies
ha a e going o be used.
2. In es iga ions: Du ing his phase, in es iga ions on he di e en echnologies, e ms
and possible implemen a ions o unc ionali ies o he a ge sys em ha e been ca ied
ou . The esul o his phase is e lec ed in Capí ulo 2 Es ado de la cues ión o his
documen .
3. Sys em De elopmen : This phase has ocused on he de elopmen o he sys em, bo h
in e ms o he on -end and he back-end. The echnologies used o i s implemen a ion
a e men ioned in Capí ulo 3 Tecnologías u ilizadas.
22
4. Dashboa d: In his phase, an in ui i e dashboa d ha allows isualizing he key
in o ma ion ela ed o he SLAs h ough he applica ion o ce ain KPIs has been
de eloped.
5. Final S eps: The inal s eps o he p ojec ha e ocused mainly on comple ing he
memo y, as well as imp o ing small aspec s o he implemen ed sys em.
1.4. Memo y s uc u e
The es o he memo y is s uc u ed as he ollow way:
Capí ulo 2 Es ado de la cues ión: This chap e co e s all he impo an knowledge equi ed o
implemen he sys em. To do his, on he one hand, i explains ITIL and i s mos undamen al
aspec o he scope o his p ojec , which a e he SLAs. On he o he hand, i in oduces
Blockchain echnology, as well as i s main e ms.
Capí ulo 3 Tecnologías u ilizadas: This chap e p esen s all he echnologies ha ha e been
used o his Final Deg ee P ojec (FDP).
Capí ulo 4 Sis ema descen alizado basado en Blockchain que almacena SLAs, SLink:
This chap e p esen s in de ail he sys em de eloped in his p ojec .
Capí ulo 5 T abajo indi idual: This chap e de ails he wo k ca ied ou by each o he au ho s
o his p ojec .
Chap e 6 Conclusions and u u e wo k: This chap e desc ibes he conclusions d awn om
he p ojec , as well as u u e lines o esea ch i i s de elopmen con inues.
23
Capí ulo 2 - Es ado de la cues ión
Como ya se ha comen ado an e io men e en el p esen e documen o, el obje i o p incipal de
es e p oyec o es la c eación de un sis ema descen alizado basado en la ecnología Blockchain
que acili e la ges ión de SLAs en e clien es y p o eedo es de se icios de TI.
Po an o, en es e capí ulo, po un lado, pa a la pa e de ges ión de se icios de TI, se ealiza
una in oducción de los concep os de ITIL; y po o o lado, pa a la pa e de descen alización,
se de alla la ecnología Blockchain.
2.1. In oducción al ITIL
2.1.1. ¿Qué es ITIL?
Como ya se ha explicado an e io men e en la sección 1.1. Mo i ación, ITIL se co esponde con
las siglas en inglés de In o ma ion Technology In as uc u e Lib a y.
ITIL aba ca oda la in aes uc u a, desa ollo y ope aciones de TI, y cons i uye el es ánda de
ac o pa a la ges ión de se icio de TI en las o ganizaciones.
2.1.2. ¿Cómo unciona ITIL?
El ciclo de ida del se icio en ITIL cons a de las siguien es ases según el lib o Fundamen os
de la Ges ión de Se icios de TI basada en ITIL[2]:
1. Es a egia de se icio: Facili a a las o ganizaciones a es ablece me as y es a egias
pa a cumpli los equisi os y p io idades de los clien es.
2. Diseño del se icio: Ayuda al diseño de los p ocesos y unciones e incluye el diseño de
la ecnología, la in aes uc u a y los p oduc os de la ges ión del se icio de TI.
3. T ansición del se icio: Se p e ende encon a un nue o cambio o ganizacional a la
ez que se man ienen los se icios ac uales pa a ene una opción B de ca a a los
iesgos.
4. Ope ación del se icio: Ga an iza que las a eas ope acionales dia ias no se
in e umpan con el in de gene a alo pa a los clien es y los p o eedo es de los
se icios.
5. Mejo a con inua de los se icios: Se cen a en la mejo a con inua de los p ocesos.
24
Las emp esas pueden adop a algunas de es as e apas, siemp e y cuando sean adecuadas
pa a la o ganización. Es o hace que ITIL sea lexible y pueda adap a se según las dis in as
ci cuns ancias. La Figu a 2.1 mues a la isión del ciclo de ida del Se icio de acue do a ITIL.
Figu a 2.1 Ciclo de ida del Se icio3
2.1.3. Diseño de se icio de ITIL
Den o de la e apa de diseño de se icio de ITIL se ob ienen múl iples p ocesos (según el lib o
Fundamen os de la Ges ión de Se icios de TI basada en ITIL[2]:
● Ges ión del ca álogo de se icio
● Ges ión del ni el de se icio
● Ges ión de la capacidad
● Ges ión de la disponibilidad
● Ges ión de la con inuidad ITSCM (Ges ión de Con inuidad del Se icio de TI)
● Ges ión de la segu idad de la in o mación
● Ges ión de suminis ado es
3h ps://consul o a-imp esa.jimdo ee.com/m%C3%A9 odos/ amewo ks/i il/
25
Sin emba go, las aplicaciones de Web3 son o almen e dis in as:
1. No ienen una base de da os cen alizada pa a almacena da os de la aplicación, y
ampoco disponen de un se ido web donde se incluye la lógica del back-end.
2. Hay p o eedo es de se icio que pe mi en la conexión en e el clien e ( on -end) a la
Blockchain (Me aMask, po ejemplo) pe o se necesi a la i ma del clien e u ilizando su
p opia cla e p i ada.
3. Se pe mi e ecupe a da os de la Blockchain u ilizando The G aph ( e la sección 3.13.
The G aph pa a conoce en de alle The G aph).
Finalmen e, la es uc u a de aplicaciones de Web3 es la siguien e:
Figu a 2.5 Es uc u a de aplicaciones de Web27
7h ps://www.p ee hikasi eddy.com/pos / he-a chi ec u e-o -a-web-3-0-applica ion
32
2.2.2. Concep os impo an es den o de la Blockchain
●P ueba de abajo
La p ueba de abajo (del inglés P oo o Wo k, PoW), como indican en el lib o Mas e ing
E he eum: building sma con ac s and DApps[13], “Es una pieza de da os (la p ueba)
que equie e un cálculo signi ica i o pa a encon a ”. Se a a del p o ocolo de consenso
más conocido que consis e en que las pa es de una ed ealicen con éxi o un abajo
compu acionalmen e cos oso pa a accede a los ecu sos de dicha ed. Es o p o oca
ine iciencia, pues exis en al e na i as como la p ueba de pa icipación que consiguen lo
mismo de mane a más e icien e.
●P ueba de pa icipación
La p ueba de pa icipación (del inglés P oo o S ake, PoS), es un p o ocolo de
consenso que eemplaza al p o ocolo del pun o an e io apo ando segu idad,
escalabilidad a la ed y mayo e iciencia. Exis en unos pa icipan es de la ed llamados
alidado es que acceden a los ecu sos de dicha ed a cambio de ene bloqueada una
cie a can idad de c ip omonedas.
Se comen a en el lib o Mas e ing E he eum: building sma con ac s and DApps[13]:
“PoS pide a los usua ios que demues en la p opiedad de una cie a can idad de
c ip omoneda (su ‘pa icipación’ en la ed) pa a pode pa icipa en la alidación
de las ansacciones.”
No equie e abajos compu acionalmen e cos osos, po lo que es más e icien e que la
p ueba de abajo.
●C ip omonedas
Como monedas ísicas se usan pa a acili a ansacciones inancie as, las
c ip omonedas hacen la misma unción pe o siendo digi ales, se usan an o pa a
ansacciones inancie as como con a os in eligen es en In e ne de mane a
descen alizada, u ilizando c ip og a ía y p og amaciones a anzadas.
●Monede o digi al
A di e encia del monede o ísico, el monede o digi al no con iene c ip omonedas, sino
usa las cla es c ip og á icas necesa ias pa a accede a las c ip omonedas en la ed
33
co espondien e. Es o signi ica que el monede o digi al es más bien una lla e
elec ónica que pe mi e las acciones de comp a , ende y man ene las c ip omonedas
de o ma segu a y accesible.
En es e p oyec o se ha u ilizado Me aMask como el monede o digi al, ya que es muy
8
po en e y dispone de ex ensión de Ch ome .
9
●Token
Se llama oken a una unidad de alo basada en Blockchain y emi ida po un con a o
in eligen e. Un oken no es una c ip omoneda, aunque muchas eces se con unden
es os dos é minos pensando que son lo mismo. Los okens si en pa a múl iples usos
como el pago de comisiones den o de una aplicación descen alizada basada en
Blockchain o pa a o a p opues a en una aplicación descen alizada au ónoma.
●Con a o in eligen e
Como indican en el capí ulo 2 del lib o Blockchain: bluep in o a new economy[11],
“En el con ex o de la Blockchain, los con a os in eligen es signi ican
ansacciones de cadena de bloques que an más allá de las simples
ansacciones de comp a/ en a de di isas y pueden ene ins ucciones más
de alladas in eg adas.”
Pa a en ende qué es el con a o in eligen e, se ecue da lo que es un con a o, según el
capí ulo 2 del lib o Blockchain: bluep in o a new economy[11]:
“Un con a o en el sen ido adicional es un acue do en e dos o más pa es pa a
hace o no hace algo a cambio de o a cosa.”
Los con a os has a aho a han sido documen os esc i os, que equie en muchos cos es,
iempo y e ce os que in e ienen en el p oceso. Lo peo , los con enidos de es os
con a os pueden es a mal in e p e ados.
En cambio, los con a os in eligen es son unos “sc ip s” (códigos in o má icos) esc i os
con lenguajes de p og amación que se pueden ejecu a au omá icamen e. Po lo cual,
se puede e i a el las e de la in e p e ación al no se esc i o en los lenguajes que
hablamos.
9h ps://www.google.com/in l/es_es/ch ome/
8h ps://me amask.io/
34
Además, el con a o in eligen e se puede c ea po pe sonas ísicas y ju ídicas, o po
máquinas y p og amas, y su con enido es isible po odos y que no se puede cambia
al exis i sob e la ecnología blockchain. Es o le con ie e un ca ác e descen alizado,
inmu able y anspa en e.
2.2.3. Ven ajas de la Blockchain
Las p incipales en ajas de la Blockchain son:
●Descen alización: Al ealiza la ap obación de ansacciones de o ma
descen alizada, se e i a un pode cen alizado que ome decisiones que a ec an al
es o y consigue una mayo democ acia en e los in eg an es de la ed.
●Inmu abilidad: Como indican en el documen o The Ad an ages and Disad an ages o
he Blockchain Technology[14]:
“Lo inmu able se log a en las ansacciones aco dadas y compa idas a a és de
Blockchain. Cuando la ansacción se conec a a Blockchain, no es posible
cambia la o elimina la.”
Si bien puede se is a como des en aja an e e o es que pod ían no se subsanados,
la inmu abilidad que o ece Blockchain pe mi e que las ansacciones se lle en a cabo
sin al e ación posible.
●T anspa encia: Una Blockchain pública como E he eum, pe mi e e odas sus
ansacciones ealizadas de o ma pública, lo cual posibili a la azabilidad pe o siemp e
de o ma anónima.
●Red dis ibuida: Nadie es p opie a io de la ed y odos los in eg an es de la ed
gua dan la misma copia de da os de la ed, po lo que si un in eg an e su e un
pe cance, no exis i ía ningún p oblema a di e encia de un sis ema no dis ibuido.
●Bajos cos es pa a usua ios: Las ansacciones, po lo gene al, conlle an un cos e
mucho mejo que en la banca adicional.
●Rapidez: Las ansacciones en la Blockchain a dan muy poco en compa ación a la
banca adicional.
●Segu idad: Como indican en el lib o Blockchain: bluep in o a new economy[11]:
“Una de las p incipales en ajas es que Blockchain es una ecnología de empuja
(el usua io inicia y en ía in o mación ele an e al ed solo pa a es a ansacción),
35
no es una ecnología de i a (como pa a una a je a de c édi o o banco, la
in o mación pe sonal del usua io es á a chi ada pa a se ex aída cada ez que
se au o ice).”
De es a mane a, se e i a que los da os del usua io es én a chi ados en a ios si ios y
ga an iza la mayo segu idad.
2.2.4. Des en ajas de la Blockchain
Las p incipales des en ajas de la Blockchain son:
●Al o consumo de ene gía: Como indican en el documen o The Ad an ages and
Disad an ages o he Blockchain Technology[14],“La p incipal des en aja de Blockchain
es el al o consumo de ene gía.”
Algunas edes Blockchain u ilizan el p o ocolo de consenso p ueba de abajo, el cual
consume demasiada ene gía.
E he eum planea cambia es e po el p o ocolo de consenso p ueba de pa icipación,
que al ene un consumo ya azonable, p o oca ía que deja a de exis i es a des en aja.
● Sin copia de segu idad: Como indican en la in oducción del lib o Blockchain: bluep in
o a new economy[11], si un usua io pie de su cla e p i ada pa a accede a la
Blockchain, no hay mane a pa a ecupe a su cuen a y dine o.
36
Capí ulo 3 - Tecnologías u ilizadas
3.1. Ja asc ip
Ja asc ip es un lenguaje de p og amación que se u iliza como complemen o de HTML y CSS
10
pa a c ea páginas web debido a su in eg ación na i a en los na egado es (lenguaje
in e p e ado sin necesidad de compilación). También es u ilizado en la ac ualidad po muchos
ma cos de abajo (del inglés amewo ks) que pe mi en el desa ollo de aplicaciones de
di e en es ipos.
En es e p oyec o, se a a del lenguaje u ilizado an o en on -end como en back-end.
3.2. Reac
Como indican en el lib o Lea ning Reac : Func ional Web De elopmen wi h Reac and
Redux[9]: “Reac es una biblio eca popula u ilizada pa a c ea in e aces de usua io.” Reac 11
es un amewo k bajo en o no Node.js (en o no de ejecución pa a aplicaciones Ja aSc ip ) que
u iliza el lenguaje Ja asc ip pa a ayuda a c ea on -end in e ac i as de o ma sencilla. Se
enca ga de ac ualiza y ende iza los componen es de la página web de mane a e icien e.
Se a a del amewo k u ilizado en es e p oyec o pa a el on -end.
3.3. Gi Hub
Gi hub es una o ja pa a p oyec os so wa e u ilizando si sis ema de con ol de e siones GIT
12 13
. Es muy conocida po los desa ollado es y u ilizada po los au o es de es e p oyec o du an e
el es udio de la ca e a.
Se ha u ilizado en es e p oyec o an o pa a aloja el código del on -end como del back-end.
13 h ps://gi -scm.com/
12 h ps://gi hub.com/
11 h ps://es. eac js.o g/
10 h ps://de elope .mozilla.o g/es/docs/Web/Ja aSc ip
37
3.4. WebS o m
WebS o m es un en o no de desa ollo in eg ado (de inglés In eg a ed De elopmen
14
En i onmen , IDE) pa a Ja aSc ip y ecnologías elacionadas ( e la Figu a 3.1). Como indican
en su página o icial: “WebS o m es el IDE más in eligen e pa a Ja aSc ip ”. Tiene una in e az
muy in ui i a y hace que el p oceso de desa ollo sea más ag adable y o ganizado.
Es el IDE elegido pa a el desa ollo de es e p oyec o.
Figu a 3.1 WebS o m
3.5. Pos man
Pos man es una aplicación que eje ce de clien e HTTP pa a pe mi i es ea pe iciones HTTP
15
eques (del inglés, HTTP eques ) a a és de una in e az g á ica de usua io.
Es una he amien a u ilizada en el p oyec o pa a el desa ollo de la In e az de P og amación
de Aplicaciones (del inglés Applica ion P og amming In e ace, API) con back-end y The G aph.
15 h ps://www.pos man.com/
14 h ps://www.je b ains.com/es-es/webs o m/
38
En la Figu a 3.2 se mues a cómo ealiza la pe ición de ob ención de clien es a a és de
Pos man, en la sección 4.5.3. API REST se explica án odas las pe iciones HTTP ealizadas en
el back-end de es e p oyec o.
Figu a 3.2 Pos man
3.6. E he eum
3.6.1. ¿Qué es E he eum?
E he eum es una pla a o ma digi al que adop a la ecnología Blockchain y expande su uso a
16
una g an a iedad de aplicaciones. A día de hoy, se a a de la ed Blockchain con con a os
in eligen es donde más desa ollo exis e, a pesa de sus al as comisiones y len i ud de
ansacciones en la ac ualidad en e a o as edes Blockchain. P ueba de ello, es su
capi alización de me cado, la mayo de odas las edes Blockchain después de Bi coin.
16 h ps://e he eum.o g/en/whi epape /
39
3.6.2. ¿Cómo unciona E he eum?
En la ed de E he eum, exis e un o denado único y canónico (llamado máquina i ual de
E he eum o EVM), cuyo es ado han aco dado odos los pa icipan es de la ed. Cada usua io
(nodo) de la ed de E he eum man iene una copia del es ado de EVM, y cuando un usua io
quie e emi i una solici ud de ansacción (un cambio de es ado en la EVM), odos los demás la
e i ican, alidan.
El es ado ac ual de la EVM se almacena en la Blockchain que, a su ez, almacenan y acue dan
odos los usua ios. De es a o ma, se ga an iza la p o ección en la ed E he eum al máximo.
Al igual que Bi coin (la ed Blockchain pione a), se a a de una ed Blockchain con p o ocolo de
consenso p ueba de abajo (explicado en la sección 2.2.2. Concep os impo an es den o de la
Blockchain) lo que implica un gas o ene gé ico supe io a o as edes Blockchain que u ilizan el
p o ocolo de consenso p ueba de pa icipación (explicado al p incipio de es e apa ado).
También implica un gas o en comisiones supe io po la misma azón.
Aún así, se a a de la ed Blockchain más u ilizada pa a desa ollo de aplicaciones de
p opósi o gene al, siendo p ueba de ello la capi alización de me cado ac ual de E he eum y la
can idad de p oyec os elacionados.
La c ip omoneda u ilizada en es a ed es el E he (ETH), u ilizada an o pa a paga las
ansacciones como pa a en ío de dine o en e di ecciones.
Po o o lado, mien as que Bi coin es la ed pione a de Blockchain con el obje i o de se un
sis ema de pagos inancie os, E he eum iene el obje i o de c ea aplicaciones de p opósi o
gene al, exis iendo ya muchas de ellas.
3.6.3. T ansacciones en E he eum
Como indican en E he eum Whi e Pape [7], una ansacción en E he eum es “un paque e de
da os i mado que almacena un mensaje que se en ia á desde una cuen a de p opiedad
ex e na”. Las ansacciones con ienen:
1. El des ina a io de mensaje
2. Una i ma que iden i ique al emi en e
3. La can idad de ETH a ans e i del emi en e al des ina a io
4. Da os opcionales
40
5. Un alo STARTGAS, que ep esen a el núme o máximo de pasos compu acionales que
la ejecución de la ansacción puede oma .
6. Un alo de GASPRICE, que ep esen a la a i a que paga el emi en e po paso
compu acional.
3.6.4. Es uc u a de E he eum
E he eum se puede di idi po ni eles :
17
1. Máquina i ual de E he eum: En o no pa a con a os in eligen es en E he eum.
2. Con a os in eligen es: P og amas ejecu ables en la ed Blockchain de E he eum.
3. Nodos de E he eum: Conocidos como mine os, o man la ed Blockchain, alidan
ansacciones y pe mi en in e ac ua con la ed.
4. APIs de clien es E he eum: Lib e ías y aplicaciones que se comunican con la ed de
E he eum.
5. Aplicaciones de usua io inal.
Es la ed u iliza el p oyec o pa a almacena y ecupe a SLAs en la Blockchain.
3.7. Remix
Remix es un en o no de desa ollo de E he eum pa a compila y desplega con a os
18
in eligen es a la Blockchain. Es el IDE que se u iliza pa a ealiza p uebas de con a os
in eligen es y desplega los en en o no eal en el p oyec o.
La Figu a 3.3 mues a un ejemplo de despliegue en Remix. Se puede conoce más sob e el
despliegue en Remix en es e p oyec o en la sección 4.6.1. Despliegue del con a o in eligen e.
18 h ps:// emix-p ojec .o g/
17 h ps://e he eum.o g/en/de elope s/docs/e he eum-s ack/
41
4.3. F on -end
En es a sección se expond án odas las ecnologías y uncionalidades que se pueden obse a
en el on -end del sis ema SLink.
4.3.1. Página p incipal
En la Figu a 4.2 se puede obse a la página p incipal del sis ema SLink, que cons a de un
diag ama gi a o io de 360 g ados con nodos y líneas azules en el ondo, cada nodo es á
conec ado a a és de las líneas con el es o. De es a mane a, se asimila a la ed de
Blockchain, donde cada nodo iene el mismo egis o de da os que el es o de nodos.
En la pa e supe io de la página es á el nomb e del sis ema, SLink, y la licencia elegida pa a
es e sis ema ( e la sección 4.7.1. Licencia pa a conoce más de alle sob e la licencia).
Se ha aplicado un e ec o de eclado a la ase “Ab i u SLA AHORA, Ab i u SLA en
BlockChain” en colo blanco, si uada debajo del diag ama gi a o io pa a que la in e az sea más
in ui i a y llama i a.
Se disponen de dos bo ones en la pa e in e io de la página, si lo que se quie e es en ia y
egis a un SLA, al cliquea el bo ón izquie do, se lle a á a la página de SLA ( e la sección
4.3.2. Página de SLA y elemen os de SLA en SLink). Y si lo que se quie e es conoce sob e
SLink y en ia consul a al sis ema, al cliquea el de echo, se lle a á a la página de in o mación
y con ac os ( e la sección 4.3.9. Página de Conoce nos).
48
Figu a 4.2 Página p incipal
4.3.2. Página de SLA y elemen os de SLA en SLink
An es de conoce la página de SLA, se p ocede a explica p ime o los elemen os de SLA
aplicados pa a el sis ema SLink, se e án es os elemen os en la página de SLA.
An e io men e, en la sección 2.1.5. In oducción a los SLAs, se hablaba de los elemen os que
pueden ene los SLAs, y en es e sen ido, hay que ene cuen a de que los elemen os de los
SLAs se pod ían y se debe ían modi ica según las necesidades y uncionalidades de cada
o ganización. En es e caso SLink siendo un sis ema c eado con el in de es udio pa a un
T abajo Fin de G ado (TFG), se ha adap ado una e sión es ánda incluyendo los elemen os
más ele an es y comunes de un SLA ( e la Tabla 4.1 pa a conoce más en de alle).
A ibu os
Con enido
Pa es con a an es
Da os de los pa icipan es en el acue do: clien e (Di ección
E he eum, DNI, nomb e y apellidos, sexo, email, elé ono,
nomb e de emp esa, di ección de emp esa, código iscal de
emp esa), p o eedo (nomb e de emp esa, di ección de
emp esa, código iscal de emp esa).
Du ación del SLA
Pe iodo de igencia del acue do según las pa es
con a an es ( echa de inicio y in).
49
A ibu os
Con enido
Se icios cubie os
Se icios p es ados po el p o eedo al clien e.
Ho a io de se icio
Ho a ios en los que se p es a á el se icio (ho a de inicio y
in).
Licencias
Posibles licencias que se necesi a án du an e el cu so de
se icio.
Ni eles de se icio
Pa áme os bajo los que se p es a á el se icio.
Fac u ación
Pe iodos y mé odos de ac u ación.
Tabla 4.1 Elemen os de SLA en SLink
La página de SLA se a a de un o mula io donde se ecogen los da os que se indican en la
Tabla 4.1. Po mo i os de segu idad, pa a pode isualiza co ec amen e dicha página, se
necesi a que el clien e ya se haya dado de al a en el sis ema jun o con su di ección E he eum.
La mane a de da se de al a en el sis ema es a a és de hace clic en el bo ón “Conocenos” en
la página p incipal ( e la Figu a 4.2) o el link “con ac e con noso os” en la Figu a 4.3, en
ambos casos se llega á a la página de in o mación y con ac os ( e la sección 4.3.9. Página de
Conoce nos) pa a pode con ac a con noso os.
Si una pe sona no es clien e del sis ema, es deci , después de conec a con su monede o
digi al ( e la sección 4.3.3. Conec a con el monede o digi al pa a conoce más de alle sob e
cómo conec a con el monede o digi al), apa ece que la di ección de E he eum no es á
egis ada en el sis ema, se e á la pan alla que se mues a en la Figu a 4.3 con la in o mación
mos ada en la Figu a 4.4.
50
Figu a 4.3 Página de SLA ( isi an e)
51
Figu a 4.4 In o mación de e o ( isi an e)
En cambio, si una pe sona es clien e del sis ema, se e án las pan allas mos adas en la Figu a
4.5 y la Figu a 4.6) o ganizadas en o ma de o mula io. Es e o mula io iene 3 pa es
sepa adas que aba can oda la in o mación indicada en Tabla 4.1:
1. In o mación del clien e: Son campos no edi ables, ya que es a pa e de in o mación
es á almacenada en la base de da os p i ada cuando el clien e se egis ó en el
sis ema. Al en a con su p opia di ección de E he eum, se ecupe a la in o mación de la
base de da os. La in o mación del clien e disponible en es a pa e son:
● Di ección de E he eum
● DNI
● Nomb e y apellidos
● Sexo
● Email
● Telé ono
● CIF y nomb e de emp esa
● Di ección de emp esa
2. In o mación de la emp esa: Igual que la pa e de in o mación del clien e, los campos
de es a pa e ambién son no edi ables y que se ecupe e de la base de da os. La
in o mación de la emp esa disponible son:
● CIF y nomb e de emp esa
● Di ección de emp esa
3. De alles SLA: Se pedi á la siguien e in o mación de SLA al clien e pa a pode en ia lo:
● Fecha inicial y si la eno ación au omá ica
● Ho a io y cobe u a de se icio
● Sopo e ex a
● Pagado de licencias
52
● Ni el de se icio
● Pe iodo de epo e
● Pe iodo y mé odo de ac u ación
Cabe des aca que al inal de es a página se dispone de un campo de cálculo au omá ico del
p ecio o al de SLA, hay que ene en cuen a que es e p ecio es de e e encia, el p ecio eal se
puede a ia según las necesidades de cada clien e.
53
Figu a 4.5 Página de SLA (clien e) - pa e 1
54
Figu a 4.6 Página de SLA (clien e) - pa e 2
55
4.3.3. Conec a con el monede o digi al
Pa a conec a con el monede o digi al, simplemen e hay que hace clic en el bo ón e de
“Conec a monede o” colocado en la pa e supe io de cada página (excep o la p incipal, al y
como se mues a en la Figu a 4.7). Al hace clic en el bo ón, se mues a una en ana
eme gen e con odos los monede os disponibles ( e la Figu a 4.8), en es e caso, se ha
u ilizado la ex ensión de Me aMask en Ch ome, la cual se puede desca ga a a és de la
25
ienda online de Ch ome. Me aMask hace de puen e en e el sis ema SLink y la ed E he eum.
Figu a 4.7 Bo ón Conec a monede o
Figu a 4.8 Elegi monede o
Después de habe seleccionado Me aMask, se pide in oduci la con aseña de la cuen a, al y
como se mues a en la Figu a 4.9.
25
h ps://ch ome.google.com/webs o e/de ail/me amask/nkbih beogaeaoehle nkodbe gpgknn
56
Figu a 4.9 No i icación Me aMask
A con inuación, hay que selecciona la cuen a de E he eum que se quie e conec a ( e la
Figu a 4.10). Al es a conec ado con la cuen a de E he eum, si dicha cuen a ya es á egis ada
en el sis ema, se e á la página de SLA co ec amen e ( e la Figu a 4.5). En cambio, si no se
ha conec ado se e á el e o que se mues a en la Figu a 4.3.
57
Figu a 4.14 Lis ado de clien es
64
Figu a 4.15 C eación de clien e
65
Figu a 4.16 Ac ualización de clien e
66
Figu a 4.17 Lis ado de emp esas
67
Figu a 4.18 C eación de emp esa
68
Figu a 4.19 Ac ualización de emp esa
69
Figu a 4.20 Lis ado de SLAs
70
Figu a 4.21 Lis ado de da os de un SLA
71
Figu a 4.22 Lis ado de pe iciones de con ac o
72
4.3.6. Dashboa d
El sis ema p opo ciona un dashboa d pa a isualiza los KPIs inculados a los SLAs que
pe mi en a o ece la medición y e isión de es os, consiguiendo así uno de los obje i os
indicados en la sección 1.2. Obje i os. Pa a accede al mismo, se debe pulsa el bo ón de la
cabece a “Dashboa d”, como se mues a en la Figu a 4.5. Al igual que en el apa ado an e io ,
es e bo ón es isible únicamen e po el p o eedo de los se icios (p opie a io del con a o
in eligen e) en odas las pan allas sal o la p incipal y pa a ello, la di ección E he eum conec ada
debe á se la misma que iene el p opie a io del con a o in eligen e pa a de e mina si se a a
del p o eedo .
Como comen aba an e io men e en la sección 2.1.6. Los KPIs den o de ITIL, debido a la
limi ación del iempo y alcance, y la di icul ad de p oba el p oyec o en los en o nos
emp esa iales eales, se han de de ini unos KPIs p opios y p ác icos. Cada KPI se puede
isualiza en 4 espacios empo ales:
● Úl imos 7 días
● Úl imo mes
● Úl imo año
● Desde comienzo del año en cu so has a la echa ac ual (YTD po sus siglas en inglés
Yea To Da e)
Los KPIs se pueden clasi ica según el ipo de is a g á ica:
●G á ico de á ea: pe mi en mos a can idades en un espacio empo al a a és de un
á ea. Solo exis e un KPI pa a es a is a g á ica ( e la Figu a 4.23):
○ Can idad de SLAs c eados a lo la go de un espacio empo al.
●G á ico de ba as: pe mi en mos a can idades en un espacio empo al a a és de
ba as. Son los siguien es:
○ Can idad de SLAs c eados con un se icio de e minado a lo la go de un espacio
empo al (pa a odos los se icios con igu ados) ( e la Figu a 4.25).
○ Can idad de SLAs c eados con un se icio ex a de e minado a lo la go de un
espacio empo al (pa a odos los se icios ex as con igu ados).
○ Can idad de SLAs c eados con un espacio de se icio de e minado a lo la go de
un espacio empo al (pa a odos los espacios de se icios con igu ados).
73
Figu a 4.27 Cambio de idioma ( esul ado)
80
4.3.8. Página de A iso legal y polí ica de p i acidad
La página de a iso legal y polí ica de p i acidad aba ca la siguien e in o mación ( e la Figu a
4.28):
A iso legal:
● La du ación del de ec o de SLA en el sis ema es de 1 año, el clien e iene 3 meses
desde la echa inicial pa a cancela lo g a is.
● También el clien e puede cancela cuando quie a el se icio del p óximo año has a 2
meses an es de la p óxima echa de eno ación.
● La eno ación au omá ica depende o almen e del clien e.
● Todos los p ecios que se mues an en la página web son p ecios gene ales, si el clien e
iene una solici ud especí ica, puede con ac a con noso os.
● Los ho a ios de se icio que se mues an en la página web son ho a ios gene ales, se
pueden cambia pa a que se ajus en a las necesidades del clien e.
Polí ica de p i acidad:
● Nunca se compa i án los da os con idenciales del clien e con nadie más.
● El con enido de los emails de consul a y cualquie in o mación mencionada en los
mismos se á leído y analizado únicamen e po pe sonales au o izados po SLink.
● Los da os sensibles incluyen: DNI, nomb e y apellidos, di ección de co eo elec ónico,
núme o de elé ono, da os de la emp esa, di . de E h eum, p ecio o al de SLA.
● Todos los da os sensibles se gua da án en una base de da os p i ada y no se lanza á
en la Blockchain.
Se dispone de 2 mane as en el sis ema pa a accede a la página de A iso legal y polí ica de
p i acidad:
1. Al en ia un con ac o con SLink, se obliga a acep a la polí ica de p i acidad, se mues a
( e la Figu a 4.29) un enlace pa a i a es a página.
2. Al en ia un SLA a la ed E he eum a a és del sis ema, se necesi a que el clien e
acep e la polí ica de p i acidad, se mues a ( e la Figu a 4.30) un enlace pa a i a es a
página.
81
Figu a 4.28 A iso legal y polí ica de p i acidad
Figu a 4.29 Accede a A iso legal y polí ica de p i acidad ( o ma 1)
82
Figu a 4.30 Accede a A iso legal y polí ica de p i acidad ( o ma 2)
4.3.9. Página de Conoce nos
La página Conoce nos ( e la Figu a 4.31) hace de puen e en e el clien e y los pe sonales de
SLink, o eciendo un o mula io donde el clien e puede en ia pe iciones de con ac os al
sis ema y los siguien es da os de SLink:
● O icina cen al (di ección y elé ono)
● Se icio de sopo e écnico ( elé ono y email)
● Cen o de ope aciones (di ección y elé ono)
● A ención come cial ( elé ono)
El o mula io pide la siguien e in o mación al clien e ( e la Figu a 4.32):
● Nomb e
● Apellidos
● Email
● Di ección E he eum (opcional)
● Asun o
● Mensaje
83
Figu a 4.31 Página Conoce nos
84
Figu a 4.32 Fo mula io de con ac o
Cabe des aca que odas las pe iciones de con ac o en iadas a a és de es e o mula io
apa ece án en el apa ado Pe iciones de con ac o en la Lis a de en idades ( e la sección 4.3.5.
Lis a de en idades).
4.4. Con a o in eligen e
En es a sección se expone el con enido y diseño del con a o in eligen e.
Cabe menciona pa e de los ipos de da os en Solidi y u ilizados en la implemen ación del
con a o in eligen e del sis ema:
● En e os sin signo: uin
85
● Cadenas de ca ac e es: s ing
● Di ecciones E he eum: add ess
● Valo es bina ios: bool
4.4.1. Es uc u as
En la Figu a 4.33 se mues an las es uc u as exis en es del con a o in eligen e, las cuales
es án elacionadas en e ellas di ec amen e, po ejemplo, un SLA con iene un ID (iden i icado )
de se icio y po lo an o, debe á exis i un se icio con es e ID. De es a mane a, no exis e
edundancia de da os y además se educe el cos e de la ansacción que c ea un SLA al ene
meno núme o de da os que gua da .
Figu a 4.33 Diag ama del modelo de da os del con a o in eligen e
4.4.2. Va iables
Son odas aquellas a iables con cualquie isibilidad que se almacenan den o de un con a o
in eligen e.
Toda aquella a iable pública, puede se consul ada sin la necesidad de exis i una unción pa a
ello. Se mues an a con inuación las a iables en el con a o del sis ema.
En la Tabla 4.2 se mues a in o mación sob e el a i ubo “P o eedo ”.
86
Nomb e
P o eedo
Tipo
Di ección E he eum
Visibilidad
Público
Desc ipción
Se a a de la di ección E he eum del c eado del con a o, el conside ado
como p opie a io de es e.
Tabla 4.2 Va iable “P o eedo ”
En la Tabla 4.3 se mues a in o mación sob e el a i ubo “Ni eles de se icio”.
Nomb e
Ni eles de se icio
Tipo
Cadena de ca ac e es
Visibilidad
Público
Desc ipción
Se a a de los ni eles de se icio de los SLAs que pe mi e c ea el con a o.
Tabla 4.3 Va iable “Ni eles de se icio”
En la Tabla 4.4 se mues a in o mación sob e el a i ubo “IDs de se icios”.
Nomb e
IDs de se icios
Tipo
Dicciona io de pa es con cla e de ipo en e o sin signo y alo se icio
Visibilidad
P i ado
Desc ipción
Se a a de un dicciona io donde la cla e es el ID de un se icio y el alo es
bina io, indicando si exis e o no es e ID.
Tabla 4.4 Va iable “IDs de se icios”
En la Tabla 4.5 se mues a in o mación sob e el a i ubo “Se icios”.
Nomb e
Se icios
Tipo
Dicciona io de pa es con cla e de ipo en e o sin signo y alo se icio
Visibilidad
Público
Desc ipción
Se a a de un dicciona io donde la cla e es el ID de un se icio y el alo es
el se icio en conc e o.
Tabla 4.5 Va iable “Se icios”
87
En la Tabla 4.6 se mues a in o mación sob e el a i ubo “IDs de se icios ex a”.
Nomb e
IDs de se icios ex a
Tipo
Dicciona io de pa es con cla e de ipo en e o sin signo y alo bina io
Visibilidad
P i ado
Desc ipción
Se a a de un dicciona io donde la cla e es el ID de un se icio ex a y el
alo es bina io, indicando si exis e o no es e ID.
Tabla 4.6 Va iable “IDs de se icios ex a”
En la Tabla 4.7 se mues a in o mación sob e el a i ubo “Se icios ex a”.
Nomb e
Se icios ex a
Tipo
Dicciona io de pa es con cla e de ipo en e o sin signo y alo se icio
Visibilidad
Público
Desc ipción
Se a a de un dicciona io donde la cla e es el ID de un se icio ex a y el
alo es el se icio ex a en conc e o.
Tabla 4.7 Va iable “Se icios ex a”
En la Tabla 4.8 se mues a in o mación sob e el a i ubo “IDs de espacios de se icios”.
Nomb e
IDs de espacios de se icios
Tipo
Dicciona io de pa es con cla e de ipo en e o sin signo y alo bina io
Visibilidad
P i ado
Desc ipción
Se a a de un dicciona io donde la cla e es el ID de un espacio de se icio y
el alo es bina io, indicando si exis e o no es e ID.
Tabla 4.8 Va iable “IDs de espacios de se icios”
En la Tabla 4.9 se mues a in o mación sob e el a i ubo “Espacios de se icios”.
Nomb e
Espacios de se icios
Tipo
Dicciona io de pa es con cla e de ipo en e o sin signo y alo espacio de
se icio
Visibilidad
Público
88
Desc ipción
Se a a de un dicciona io donde la cla e es el ID de un espacio de se icio y
el alo es el espacio de se icio en conc e o.
Tabla 4.9 Va iable “Espacios de se icios”
En la Tabla 4.10 se mues a in o mación sob e el a i ubo “IDs de licencias”.
Nomb e
IDs de licencias
Tipo
Dicciona io de pa es con cla e de ipo en e o sin signo y alo bina io
Visibilidad
P i ado
Desc ipción
Se a a de un dicciona io donde la cla e es el ID de una licencia y el alo es
bina io, indicando si exis e o no es e ID.
Tabla 4.10 Va iable “IDs de licencias”
En la Tabla 4.11 se mues a in o mación sob e el a i ubo “Licencias”.
Nomb e
Licencias
Tipo
Dicciona io de pa es con cla e de ipo en e o sin signo y alo licencia
Visibilidad
Público
Desc ipción
Se a a de un dicciona io donde la cla e es el ID de una licencia y el alo es
la licencia en conc e o.
Tabla 4.11 Va iable “Licencias”
En la Tabla 4.12 se mues a in o mación sob e el a i ubo “IDs de pe iodicidades de in o mes de
e isión”.
Nomb e
IDs de pe iodicidades de in o mes de e isión
Tipo
Dicciona io de pa es con cla e de ipo en e o sin signo y alo bina io
Visibilidad
P i ado
Desc ipción
Se a a de un dicciona io donde la cla e es el ID de una pe iodicidad de
in o mes de e isión y el alo es bina io, indicando si exis e o no es e ID.
Tabla 4.12 Va iable “IDs de pe iodicidades de in o mes de e isión”
En la Tabla 4.13 se mues a in o mación sob e el a i ubo “Pe iodicidades de in o mes de
e isión”.
89
Todos ellos se gua dan en la base de da os p i ada, sal o el p ecio de las opciones de un SLA
que es a á en el iche o de con igu ación del sis ema (s c/con ig.js en el eposi o io del código
uen e del on -end).
Un clien e puede cambia de emp esa, pe o no se puede pe de la inculación a las emp esas
que pudie a ene an e io men e si c eó algún SLA con ellas. Po ello, la base de da os p i ada
almacena la inculación de un SLA con su clien e, emp esa y p ecio o al. Es e úl imo campo es
opcional, pe o po cues iones de endimien o se almacena den o de la base de da os p i ada,
ya que es os da os son los mos ados pa a los SLAs c eados en el lis ado de en idades.
Además, debido a que la o ma de con ac o pasa po ellena el o mula io pa a al inalidad, la
base de da os p i ada con iene la in o mación ace ca de un con ac o:
● Nomb e
● Apellidos
● Email
● Di ección de E he eum (opcional)
● Mo i o de con ac o
● Mensaje
Se puede conoce más en de alle en la Figu a 4.34.
96
Figu a 4.34 Diag ama elacional de la base de da os
4.5.2. The G aph en el back-end
Como se ha mencionado en la sección 3.13. The G aph, The G aph necesi a la gene ación de
e en os desde los con a os in eligen es de la ed Blockchain de E he eum pa a nu i e de
in o mación y, a pa i de es a, cons ui la in o mación es uc u ada que o ece en su API.
Los e en os que gene a el con a o in eligen e del sis ema es án en la sección 4.4.4. E en os.
A pa i de es os e en os, el subg a o del sis ema pe mi e con e i oda la in o mación ob enida
en la siguien e es uc u a de da os ( e la Figu a 4.35) pa a se consul ados:
97
Figu a 4.35 Diag ama de clases de The G aph
4.5.3. API REST
Con odo lo mencionado en los pun os an e io es, el back-end p opo ciona una In e az de
P og amación de Aplicaciones (del inglés Applica ion P og amming In e aces, API) que
p opo ciona un mecanismo de comunicación en e on -end y el p opio back-end.
Es a API es de ipo T ans e encia de Es ado Rep esen acional (REST po sus siglas en inglés,
Rep esen a ional S a e T ans e ). REST es un es ilo de a qui ec u a so wa e pa a el desa ollo
web que sigue unos p incipios como:
● A qui ec u a clien e-se ido (sepa ación de esponsabilidades y po abilidad).
● Ausencia de es ado (el es ado lo posee el clien e y no el se ido , de mane a que es e
debe p opo ciona oda la in o mación necesa ia al se ido en una solici ud).
● Sis emas po capas (el clien e debe ene únicamen e el conocimien o de la capa a la
que es á hablando).
Una pe ición a la API REST del sis ema debe ajus a se a un e bo (u ilizado pa a di e encia
acciones con una misma di ección), una URL y quizás a unos pa áme os de consul a al inal
de la URL. Exis en g an can idad de e bos pe o los u ilizados en el sis ema son:
● GET (consul a de ecu sos)
98
● POST (c eación de ecu sos)
● PUT (ac ualización de ecu sos)
● DELETE (eliminación de ecu sos)
En la Tabla 4.22 se mues a la API REST que o ece el sis ema pa a la ges ión de clien es.
Ve bo
POST
URL
cus ome s?e hAdd ess=A&name=B&su name=C&dni=D&email=E&phone=
F&p o ince=G&ci y=H&company=I
Desc ipción
C eación de un clien e donde:
●Aes la di ección de E he eum
●Bes el nomb e
●Ces el apellido
●Des el DNI
●Ees el email
●Fes el núme o de elé ono
●Ges la p o incia
●Hes la ciudad
●Ies la compañía
Ve bo
GET
URL
cus ome ?A
Desc ipción
Consul a de un clien e donde Aes la di ección de E he eum.
Ve bo
GET
URL
cus ome s
Desc ipción
Consul a de odos los clien es.
Ve bo
PUT
URL
cus ome s/A?&name=B&su name=C&dni=D&email=E&phone=F&p o ince=
G&ci y=H&company=I
Desc ipción
Modi icación de un clien e donde:
●Aes la di ección de E he eum
●Bes el nomb e
●Ces el apellido
●Des el DNI
●Ees el email
●Fes el núme o de elé ono
●Ges la p o incia
●Hes la ciudad
99
●Ies la compañía
Ve bo
DELETE
URL
cus ome s/A
Desc ipción
Bo ado de un clien e donde Aes la di ección de E he eum.
Tabla 4.22 API REST pa a ges ión de clien es
En la Tabla 4.23 se mues a la API REST que o ece el sis ema pa a la ges ión de emp esas.
Ve bo
POST
URL
companies?ci =A&name=B&add ess=C
Desc ipción
C eación de una emp esa donde:
●Aes el CIF
●Bes el nomb e
●Ces la di ección pos al
Ve bo
GET
URL
companies?A
Desc ipción
Consul a de una emp esa donde Aes el CIF.
Ve bo
GET
URL
companies
Desc ipción
Consul a de odas las emp esas.
Ve bo
PUT
URL
companies?ci =A&name=B&add ess=C
Desc ipción
Modi icación de una emp esa donde:
●Aes el CIF
●Bes el nomb e
●Ces la di ección pos al
Ve bo
DELETE
URL
companies/A
Desc ipción
Bo ado de una emp esa donde Aes el CIF.
Tabla 4.23 API REST pa a ges ión de emp esas
100
En la Tabla 4.24 se mues a la API REST que o ece el sis ema pa a la ges ión de SLAs.
Ve bo
POST
URL
slas?id=A&cus ome =B&company=C
Desc ipción
C eación de un SLA donde:
●Aes el ID
●Bes la di ección E he eum del clien e
●Ces el CIF de la emp esa
Recibe únicamen e los da os sensibles, el es o se encuen a en Blockchain.
Ve bo
GET
URL
slas?A
Desc ipción
Consul a de un SLA donde A es el ID.
De uel e odos los da os sensibles de un SLA.
Ve bo
GET
URL
heG aph/slas?A
Desc ipción
Consul a de un SLA donde A es el ID.
De uel e odos los da os públicos almacenados en la ed de E he eum de un
SLA.
Ve bo
GET
URL
slas
Desc ipción
De uel e odos los da os sensibles de odos los SLAs.
Ve bo
GET
URL
heG aph/slas?s a =A&end=B
Desc ipción
Consul a de odos los SLAs que es én en e AyB( echas y ho as en
milisegundos opcionales).
De uel e odos los da os públicos almacenados en la ed de E he eum de los
SLAs.
Tabla 4.24 API REST pa a ges ión de SLAs
101
En la Tabla 4.25 se mues a la API REST que o ece el sis ema pa a la ges ión de pe iciones de
con ac o.
Ve bo
POST
URL
con ac Reques s?name=A&su name=B&email=CðAdd ess=D&subjec =
E&message=F
Desc ipción
C eación de una pe ición de con ac o donde:
●Aes el nomb e
●Bes el apellido
●Ces el email
●Des la di ección de E he eum
●Ees el mo i o de con ac o
●Fes el mensaje
Ve bo
GET
URL
con ac Reques s
Desc ipción
Consul a de odas las pe iciones de con ac o
Ve bo
DELETE
URL
con ac Reques s?A
Desc ipción
Bo ado de una pe ición de con ac o donde Aes el ID.
Tabla 4.25 API REST pa a ges ión de pe iciones de con ac o
En la Tabla 4.26 se mues a la API REST que o ece el sis ema pa a la ges ión de se icios de
SLA.
Ve bo
GET
URL
heG aph//se ices/A?s a =B&end=C
Desc ipción
Consul a un se icio, de los SLAs que lo incluyan y que es én en e ByC
( echas y ho as en milisegundos opcionales).
Ve bo
GET
URL
heG aph//se ices?s a =A&end=B
Desc ipción
Consul a de odos los se icios, de los SLAs que los incluyan y que es én
en e AyB( echas y ho as en milisegundos opcionales).
Tabla 4.26 API REST pa a ges ión de se icios de SLA
102
En la siguien e Tabla 4.27 se mues a la API REST que o ece el sis ema pa a la ges ión de
se icios ex a de SLA.
Ve bo
GET
URL
heG aph//ex aSe ices/A?s a =B&end=C
Desc ipción
Consul a un se icio ex a, de los SLAs que lo incluyan y que es én en e By
C( echas y ho as en milisegundos opcionales).
Ve bo
GET
URL
heG aph//ex aSe ices?s a =A&end=B
Desc ipción
Consul a de odos los se icios ex a, de los SLAs que los incluyan y que
es én en e AyB( echas y ho as en milisegundos opcionales).
Tabla 4.27 API REST pa a ges ión de se icios ex a de SLA
En la Tabla 4.28 se mues a la API REST que o ece el sis ema pa a la ges ión de espacios de
se icios de SLA.
Ve bo
GET
URL
heG aph//se iceSpaces/A?s a =B&end=C
Desc ipción
Consul a un espacio de se icio, de los SLAs que lo incluyan y que es én
en e ByC( echas y ho as en milisegundos opcionales).
Ve bo
GET
URL
heG aph//se iceSpaces?s a =A&end=B
Desc ipción
Consul a de odos los espacios de se icio, de los SLAs que los incluyan y
que es én en e AyB( echas y ho as en milisegundos opcionales).
Tabla 4.28 API REST pa a ges ión de espacios de se icios de SLA
En la Tabla 4.29 se mues a la API REST que o ece el sis ema pa a la ges ión de licencias de
SLA.
Ve bo
GET
URL
heG aph//licenses/A?s a =B&end=C
Desc ipción
Consul a una licencia, de los SLAs que la incluyan y que es én en e ByC
( echas y ho as en milisegundos opcionales).
103
Ve bo
GET
URL
heG aph//licenses?s a =A&end=B
Desc ipción
Consul a de odas las licencias, de los SLAs que las incluyan y que es én
en e AyB( echas y ho as en milisegundos opcionales).
Tabla 4.29 API REST pa a ges ión de licencias de SLA
En la Tabla 4.30 y la Tabla 4.31 se mues a la API REST que o ece el sis ema pa a la ges ión
de epo es de e isión y ac u ación de SLA.
Ve bo
GET
URL
heG aph// e isionRepo /A?s a =B&end=C
Desc ipción
Consul a una pe iodicidad de in o mes de e isión, de los SLAs que la
incluyan y que es én en e ByC( echas y ho as en milisegundos
opcionales).
Ve bo
GET
URL
heG aph// e isionRepo ?s a =A&end=B
Desc ipción
Consul a de odas las pe iodicidades de in o mes de e isión, de los SLAs
que las incluyan y que es én en e AyB( echas y ho as en milisegundos
opcionales).
Tabla 4.30 API REST pa a ges ión de epo es de e isión de SLA
Ve bo
GET
URL
heG aph//billings/A?s a =B&end=C
Desc ipción
Consul a una pe iodicidad de ac u ación, de los SLAs que la incluyan y que
es én en e B y C ( echas y ho as en milisegundos opcionales).
Ve bo
GET
URL
heG aph//billings?s a =A&end=B
Desc ipción
Consul a de odas las pe iodicidades de ac u ación, de los SLAs que los
incluyan y que es én en e A y B ( echas y ho as en milisegundos
opcionales).
Tabla 4.31 API REST pa a ges ión de ac u ación de SLA
104
En la Tabla 4.32 se mues a la API REST que o ece el sis ema pa a la ges ión de mé odos de
ac u ación de SLA.
Ve bo
GET
URL
heG aph//billingMe hods/A?s a =B&end=C
Desc ipción
Consul a un mé odo de ac u ación, de los SLAs que lo incluyan y que es én
en e ByC( echas y ho as en milisegundos opcionales).
Ve bo
GET
URL
heG aph//billingMe hods?s a =A&end=B
Desc ipción
Consul a de odos los mé odos de ac u ación, de los SLAs que los incluyan y
que es én en e AyB( echas y ho as en milisegundos opcionales).
Tabla 4.32 API REST pa a ges ión de mé odos de ac u ación de SLA
4.6. Despliegue del sis ema
Los pasos necesa ios pa a ealiza el despliegue del sis ema equie en de un conocimien o y
dominio a anzado de p ác icamen e odas las ecnologías u ilizadas en el p oyec o.
En los siguien es apa ados se mues an odos los pasos.
4.6.1. Despliegue del con a o in eligen e
El p ime paso es dispone de la ex ensión Me aMask ins alada con una di ección E he eum
den o. Es a di ección debe con ene una can idad mínima de E he .
Pa a el desa ollo de es e TFG, se ha u ilizado una ed de p uebas de E he eum llamada
Rinkeby . De ca a al pago de ansacciones, exis en di e sas o mas de ob ene E he en la
27
ed de p uebas Rinkeby, una de ellas es a a és del siguien e enlace:
h ps:// auce s.chain.link/ inkeby.
El despliegue del con a o in eligen e se ealiza en el en o no de desa ollo in eg ado Remix .
28
Pa a ello, se debe i a su página web y ahí, conec a un monede o Me aMask con una di ección
que se á el c eado del con a o in eligen e (p o eedo de se icios).
28 h ps:// emix.e he eum.o g/
27 h ps://www. inkeby.io/#s a s
105
Figu a 4.44 Ve i icación y publicación del código de un con a o in eligen e
Pos e io men e, se p opo ciona el código del con a o in eligen e y si es el co ec o, el código ya
es a á en E he scan, siendo es e isible a cualquie pe sona desde su página web como se
puede e en la Figu a 4.45.
112
Figu a 4.45 Código e i icado y publicado de un con a o in eligen e
113
Una ez el subg a o es á c eado y el código del con a o in eligen e es á desplegado en
E he scan, es os son los pasos a segui :
1. Ins alación de The G aph CLI (necesa io ene npm o ya n ins alado, ambos son
ges o es de paque e Ja asc ip ) como se puede e en la Figu a 4.46.
Figu a 4.46 Ins alación de The G aph CLI32
2. Inicialización del subg a o como se puede isualiza en la Figu a 4.47.
Figu a 4.47 Inicialización del subg a o33
3. Esc i u a del subg a o: el comando an e io c ea una base de es uc u a pa a el
subg a o, a pa i del código público en E he scan. En el caso de SLink, es o no es
su icien e y se debe da o ma al modelo de da os como se indica en la sección 4.5.2.
The G aph en el back-end edi ando los a chi os:
a. Mani ies o (subg aph.yaml): de ine qué uen es de da os indexa á el subg a o.
b. Esquema (schema.g aphql): de ine los da os a ecupe a de un subg a o.
c. Mapeado (mapping. s): aduce los da os de las uen es de da os a las
en idades de inidas en el esquema.
Todos es os a chi os man ienen el mismo con enido siemp e sal o dos cambios necesa ios en
el despliegue den o del mani ies o. Es os son la di ección del con a o y el bloque de inicio
(bloque de la ed de E he eum donde se c eó el con a o in eligen e).
4. Despliegue del subg a o como se mues a en la Figu a 4.48 yFigu a 4.49.
33 h ps:// heg aph.com/docs/es/de elope /quick-s a /
32 h ps:// heg aph.com/docs/es/de elope /quick-s a /
114
Figu a 4.48 Gene ación y cons ucción del código de un subg a o34
Figu a 4.49 Au en icación y despliegue de un subg a o35
Una ez desplegado el subg ado, ya es á disponible pa a ealiza p uebas an o en la p opia
página de Subg aph S udio como ía API como se puede e en la Figu a 4.50.
Figu a 4.50 Página de edición de un subg a o donde se mues an a ios da os de es e
Pa a inaliza el despliegue de o ma co ec a, se ha de publica el Subg a o. Pa a ello, se hace
clic en el bo ón “Publish” y se con igu a cómo se desea ealiza la publicación como se puede
e en la Figu a 4.51. Se ecomienda ma ca la opción “Se el p ime o en señala es e
subg a o” pa a que se publique con mayo elocidad. Los subg a os en The G aph deben se
seleccionados po los cu ado es pa a pode se consul ados y, de es a mane a, sal amos el
paso de espe a a que un cu ado seleccione el subg a o. Es a opción no es g a ui a y se debe
35 h ps:// heg aph.com/docs/es/de elope /quick-s a /
34 h ps:// heg aph.com/docs/es/de elope /quick-s a /
115
paga con GRT, el oken de The G aph. Cuan a más can idad, más ápido se indexa á. Pa a
ob ene okens en la ed de p uebas Rinkeby, se ha de isi a el se ido de Disco d de The
G aph y segui los pasos indicados en es e (h ps://disco d.gg/ 7FP) en Disco d .
36
Figu a 4.51 Con igu ación pa a la publicación de un subg a o
Una ez el subg ado es á desplegado y publicado, se puede isi a en una di ección simila a
h ps:// es ne . heg aph.com/subg aph?id=XX,donde XX es el ID del subg a o gene ado,
aunque ambién se puede busca en la página h ps:// es ne . heg aph.com/ pa a consul a oda
36 h ps://disco d.com/
116
la in o mación disponible como se mues a en la Figu a 4.52. Es os enlaces son pa a la ed de
Rinkeby, en caso de se en la ed E he eum p incipal, desapa ece “ es ne ” de es os.
Figu a 4.52 Subg a o publicado a la espe a de se indexado
4.6.3. Despliegue del back-end en local
Los pasos a segui pa a desplega el back-end son:
1. Dispone de una ins ancia de MySQL en el sis ema pa a pos e io men e c ea la base
de da os p i ada den o de ella.
2. Dispone de Node.js en el sis ema pa a pode ejecu a aplicaciones Node.
3. Ejecu a el comando “npm ins all” desde una consola, den o del di ec o io aíz del
p oyec o. Es e comando ins ala á las dependencias del p oyec o.
4. Ejecu a el comando “node app.js” desde una consola, den o del di ec o io aíz del
p oyec o. Es e comando inicia á el p oyec o.
117
Todos es os pasos se encuen an en el iche o Readme.md en el eposi o io del código uen e.
4.6.4. Despliegue del on -end en local
El on -end sopo a an o el idioma español como inglés, po lo que muchos campos de la
con igu ación deben ene la aducción en ambos idiomas. Es os se ma can a con inuación con
la le a T.
Los pasos a segui pa a desplega el on -end son:
1. Indica la di ección E he eum p opie a ia del con a o in eligen e en el iche o con ig.js
del eposi o io del código uen e.
2. Con igu ación de las opciones de un SLA (disponible en el iche o s c/con ig.js del
eposi o io del código uen e del on -end):
a. Se icios: cada se icio debe con ene un id, un nomb e (T), una desc ipción
(T), un p ecio, una pe iodicidad del p ecio y una indicación de si es e es ijo u
ocasional.
b. Se icios ex a: misma con igu ación que los se icios.
c. Espacios de se icio: cada espacio de se icio debe con ene un id, un nomb e
(T), una ho a de inicio, una ho a de in, un p ecio, una pe iodicidad del p ecio y
una indicación de si es e es ijo u ocasional.
d. Licencias: cada licencia debe con ene un id y un nomb e (T).
e. Pe iodicidades de in o mes de e isión: cada pe iodicidad de in o mes de
e isión debe con ene un id, un p ecio, una pe iodicidad del p ecio y una
indicación de si es e es ijo u ocasional.
. Pe iodicidades de ac u ación: cada pe iodicidad de ac u ación debe con ene
un id y una pe iodicidad.
g. Mé odos de ac u ación: cada mé odo de ac u ación debe con ene un id y un
nomb e (T).
3. Dispone del back-end del sis ema.
4. Dispone de Node.js en el sis ema pa a pode ejecu a aplicaciones Node
(imp escindible pa a el pun o an e io ).
5. Ejecu a el comando “npm ins all” desde una consola, den o del di ec o io aíz del
p oyec o. Es e comando ins ala á las dependencias del p oyec o.
118
6. Ejecu a el comando “cd yujo/” desde una consola, den o del di ec o io aíz del
p oyec o. Es e comando cambia á la localización al código del p oyec o.
7. Ejecu a el comando “npm s a ” desde una consola, den o del di ec o io aíz del
p oyec o. Es e comando inicia á el p oyec o.
Todos es os pasos se encuen an en el iche o Readme.md en el eposi o io del código uen e.
4.7. Licencia y código uen e
4.7.1. Licencia
En es e p oyec o se ha aplicado la siguien e licencia de C ea i e Commons pa a el código
37
uen e, sal o la pa e de con a o in eligen e ( e la Figu a 4.53) Es o signi ica que se puede
usa lib emen e el abajo ci ando a los au o es, no es á pe mi ido el uso come cial,
modi icaciones ni ob as de i adas. Se puede obse a dicha licencia en la pa e supe io de
odas las páginas disponibles del sis ema.
Figu a 4.53 Licencia
Mien as pa a la pa e de con a o in eligen e, se ha u ilizado la licencia MIT , licencia de
38
so wa e lib e.
4.7.2. Código uen e
El código uen e de es e p oyec o es á disponible en las siguien es di ecciones de Gi Hub:
1. F on -end:h ps://gi hub.com/Yule1223/BC-ITSM.gi
2. Back-end:h ps://gi hub.com/JoseVelascoSan os/BC-ITSM-BE.gi
38 h ps://es.wikipedia.o g/wiki/Licencia_MIT
37 h ps://c ea i ecommons.o g/
119
Capí ulo 5 - T abajo indi idual
En es e capí ulo se de alla el abajo ealizado po cada uno de los miemb os del p oyec o.
5.1. T abajo indi idual de José And és
Realiza es e TFG supuso al p incipio un e o debido al desconocimien o de muchas de las
ecnologías que íbamos a u iliza . Pe o an es de pone nos a desa olla , mi compañe a Yule y
yo, u imos que ealiza di e sas in es igaciones. Las p ime as in es igaciones ue on sob e
ITIL, SLA, y la Blockchain de E he eum, en ese mismo o den pues o que p ime o end íamos
que conoce ITIL pa a da paso a los SLAs y a pa i de ello, end íamos el conocimien o sob e
qué debe con ene un SLA pa a a a de a e igua cómo Solidi y nos pe mi i ía desa olla un
con a o in eligen e pa a almacena los.
Una ez eníamos el conocimien o su icien e, empezamos el desa ollo. En mi caso, me ocupé
del back-end aunque debido a mi expe iencia p o esional con Reac -Na i e (ma co de abajo
pa a desa ollo mul ipla a o ma de disposi i os mó iles que nació a pa i de Reac ), ayudé a mi
compañe a con la a qui ec u a del on -end.
En p ime luga desa ollé una p ime a e sión del con a o in eligen e del sis ema. Es a p ime a
e sión, da ía luga a ealiza en onces un diseño de la base de da os pa a almacena los da os
sensibles. Teniendo es o, desa ollé la API REST con Exp ess pa a jun a odo y pe mi i la
c eación de un SLA al comple o.
El desa ollo del con a o in eligen e se ealizó de o ma i e a i a, donde en cada i e ación
nue a se ac ualizaba y mejo aba es e has a llega a la e sión inal.
Al mismo iempo que a anzaba en el diseño del con a o in eligen e, pensamos que se ía
buena uncionalidad ene un lis ado de en idades pa a ges iona es as y desa ollé esa pa e
que implicaba ac ualiza la API REST y c ea una nue a pan alla jun o con mi compañe a en
on -end.
El dashboa d ue lo úl imo en desa olla . Una ez pensamos en aquellos KPIs in e esan es
sob e un SLA, ealicé una in es igación y una p ueba de concep o sob e The G aph. Su gie on
dos p oblemas con ello: los e en os del con a o in eligen e no e an su icien es pa a el subg a o
y la ed de p uebas de The G aph no gene aba momen áneamen e okens pa a pode publica
120
el subg a o. El p ime p oblema se sol en ó ac ualizando el con a o in eligen e y el segundo,
con el paso de los días. Finalmen e conseguí publica el subg a o que pe mi ió o ece una API
pa a ealiza consul as sob e el con a o in eligen e del sis ema. Una ez se consiguió es o,
ac ualicé la API REST del back-end pa a o ece un pun o cen alizado de consul as sob e odo
el sis ema y desa ollé la pan alla co espondien e a ello en on -end.
121
pueda da se de al a po su cuen a. De es a mane a, el clien e aho a el iempo de
espe a y los pe sonales de SLink aho a la ca ga de abajo.
●Mos a mensajes de e o con llamadas API: Ac ualmen e no el sis ema no dispone
de mensajes de e o con llamadas API, se ía muy in e esan e ene lo.
●Roles y pe misos de la aplicación: La exis encia de oles y pe misos de la aplicación
pe mi i ía ene más de un p opie a io (de mane a que más de una di ección E he eum
pod ía isualiza la lis a de en idades y el Dashboa d) o la exis encia de usua ios con
pe misos pa a ello.
●Despliegue del sis ema ía on -end: Ac ualmen e el sis ema se despliega pa a un
en o no de p oducción de o ma manual. Si exis ie a un despliegue en on -end, de
mane a que se siguie an los pasos necesa ios sin eque i un conocimien o a anzado
po pa e del usua io, SLink pod ía se desplegado sin ayuda y eso aumen a ía la
iabilidad del sis ema.
●Con igu ación del sis ema ía on -end: En la e sión ac ual del sis ema, se debe
con igu a es e po un a chi o de con igu ación (s c/con ig.js en el eposi o io del código
uen e del on -end). Se ía in e esan e ene la posibilidad de ealiza es a con igu ación
desde el on -end y/o mos a la con igu ación ac ual en cualquie momen o.
●P uebas au oma izadas de oda la aplicación: Po ejemplo, ealización de p uebas
uni a ias pa a los componen es Reac c eados y pun os inales de la API REST del
back-end, p uebas uncionales pa a las pan allas del on -end y p uebas de endimien o
del sis ema en gene al.
●Cha en di ec o como mé odo de con ac o: Es a mejo a supone la exis encia de
pe sonal pendien e de a ende a clien es o bien un obo capaz de guia al clien e hacia
la ayuda necesa ia pa a su necesidad. Se ía ú il pa a da de al a a nue os clien es de
una o ma ápida y ac ual jun o a la exis en e opción de llamada ele ónica ( ambién
opción de con ac o ápido).
● De ini KPI más ap opiados según la necesidad de las o ganizaciones: Dado la
limi ación de iempo y alcance de es e p oyec o, se ha enido que de ini KPIs sencillos
siendo un p o o ipo. Se end á que de ini KPI más complejas según la necesidades de
cada emp esa en el en o no eal.
128
Chap e 6 - Conclusions and u u e wo k
This chap e p esen s he conclusions ob ained in his Final Deg ee P ojec (FDP) and he
u u e wo k ha could be ca ied ou i he de elopmen o his p ojec we e con inued.
6.1. Conclusions
The main conclusions ha we ob ain as a esul o he wo k ca ied ou o his FDP a e ela ed
o he in eg a ion o SLAs wi hin he E he eum Blockchain.
We ha e seen ha i o e s anspa ency since i is a ne wo k whe e any in e es ed ex e nal
pa y can ind ou abou he SLAs c ea ed and egis e ed wi hin i , gua an eeing aceabili y and
immu abili y ha pe haps only a ne wo k o his ype can ensu e as i is a decen alized ne wo k.
The use o his ne wo k is no an impedimen o he sys em SLink, because al hough i is ue
ha ansac ions las a ew seconds wi h he cu en P oo -o -Wo k consensus p o ocol, his
ime is accep able and he es o he imes whe e he ne wo k is in ol ed (consul a ions o he
Blockchain ne wo k ia The G aph) a e e y sho .
The G aph, because o how i wo ks (see sec ion 3.13.2. ¿Cómo unciona The G aph?), has he
a ailable da a o be que ied eady, so que y speed is no comp omised. In addi ion, The G aph
allows all kinds o que ies wi h nume ous con igu a ion op ions o hem, p o iding g ea
lexibili y when sea ching o da a on he sma con ac . This, oge he wi h an app op ia e da a
model hanks o he sma con ac e en s, allows you o ha e e e y hing you need o a
comple e dashboa d.
The accep ance in he business wo ld o ce i ica ions ob ained h ough he Blockchain is
al eady a eali y: Ibe d ola (a Spanish company dedica ed o he p oduc ion, dis ibu ion and
46
sale o ene gy), has ecen ly used his echnology o e i y o es . In addi ion, a he end o
47
Decembe 2021, a Judgmen o he P o incial Cou o Vi o ia admi ed he use o Blockchain
48
as a echnological elemen ha allows a minimum au hen ici y audi o an elec onic documen
48 h ps://www.pode judicial.es/sea ch/AN/openDocumen /954c 088a7a89e01/20220510
47
h ps://www.ciospain.es/segu idad/la- ecnologia-blockchain-se-cuela-en-la-jun a-de-accionis as-
de-ibe d ola
46 h ps://www.ibe d ola.es/
129
p esen ed as e idence in he p ocedu e. Bo h ac s con ey ha he ce i ica ion and ecogni ion
o sma con ac s es ablished and egis e ed in he Blockchain is inc easingly ecognized.
On he o he hand, when i comes o de elopmen , Ja asc ip is a e y e sa ile applica ion
echnology ha should be conside ed o agile de elopmen . As seen in his p ojec , Ja asc ip
has allowed us o wo k wi h a on -end amewo k (Reac ) and a back-end amewo k
(Exp ess). Ou side o his p ojec , c oss-pla o m mobile applica ions (Reac -Na i e o example
) and desk op applica ions (Elec on o example ) can be de eloped. As i his we e no
49 50
enough, he syn ax o languages like Solidi y a e qui e simila , which is a g ea help when
51
lea ning ano he echnology.
We also belie e ha ITIL adop ion should inc ease in ela ion o he IT se ices cu en ly o e ed
by companies due o he g ow h o he sec o in ecen yea s and wha may g ow in he u u e.
Despi e being used by hund eds o o ganiza ions, i is necessa y o apply ITIL good p ac ices in
many mo e o achie e quali y se ice p o ision in an inc easingly digi ized socie y; A company
should no only be digi ized o o e IT se ices, bu hese should also be o quali y.
Simila ly, uni e si y s uden s linked o any b anch o compu ing should be amilia wi h he
knowledge o SLA, since i is a undamen al pa o he con ac s o a company in he IT sec o .
Knowing he cha ac e is ics and applica ions o SLAs in he business wo ld would help imp o e
hei p o essional ca ee s.
Finally, we belie e ha Blockchain echnology has a g ea u u e o he poin o pe haps
comple ely e olu ionizing he IT sec o as i is known oday. The a i al o Web3, a new i e a ion
on he web wi h Blockchain echnology, inco po a es all he concep s o Blockchain echnology
such as decen aliza ion and digi al economy. Bu his echnology is no jus ha : i allows he
exis ence o c yp ocu encies (which con inue o g ow o e ime and he c ea ion o new
p ojec s, hey allow e e y hing ela ed o Blockchain o be p omo ed), NFTs (Non Fungible
Tokens) (allow a digi al p ope y o be egis e ed in a Blockchain) and Me a e ses (digi al
52
wo lds whe e mos use Blockchain echnology).
The objec i e o his FDP was o c ea e a decen alized sys em based on Blockchain echnology
o a o he managemen o SLAs be ween IT se ice p o ide s and clien s ollowing ITIL good
52 h ps://en.wikipedia.o g/wiki/Me a e se
51 h ps://www. u o ialspoin .com/solidi y/solidi y_basic_syn ax.h m
50 h ps://www.elec onjs.o g/
49 h ps:// eac na i e.de /docs/ja asc ip -en i onmen
130
p ac ices and we belie e ha his has been achie ed. Despi e no ha ing pu SLink in o a
p oduc ion en i onmen , we belie e ha i is a sys em ha achie es he abo e.
Thanks o his FDP, we ha e ob ained knowledge o nume ous echnologies:
●Reac as a on -end amewo k
●Pos man as a es ing applica ion o REST APIs
●E he eum as a Blockchain ne wo k in ended o applica ions
●Solidi y as a sma con ac language
●Remix as a de elopmen and deploymen en i onmen o sma con ac s on he
E he eum ne wo k
●G aphQL as a que y and da a manipula ion language o APIs
●The G aph as a sea ch engine o sma con ac s
● The es o he echnologies we e al eady known om he knowledge acqui ed in
subjec s o he so wa e enginee ing deg ee in he compu e science acul y o he
Complu ense Uni e si y o Mad id:
○Da abases (BD): In his subjec we we e gi en he in oduc ion o ela ional
da abases, and we we e augh o make que ies o he da abase.
○Web Applica ions (AW): In his subjec we we e augh he knowledge abou
HTML, CSS, Ja asc ip , and Exp ess, which a e used in he de elopmen o he
on -end o he sys em SLink. We also lea ned he managemen o web se ices
and he connec ion be ween hem.
○So wa e P ojec Managemen (GPS): In his subjec we we e augh o use
e sion con ol ools, wo k as a eam, lea n o w i e o mal documen s, and abo e
all, i was whe e we me ou di ec o o he FDP and he good ela ionship
be ween us began.
○E hics, Legisla ion and P o ession (ELP): In his cou se we we e in o med
abou he use o licenses, choosing an app op ia e license o p o ec ou wo k.
They also explained o us abou ee so wa e and he p ope y o FDP.
6.2. Fu u e wo k
The SLink sys em has nume ous expansion possibili ies ha , due o ime limi a ions and he end
o he s udy, ha e no been ca ied ou . He e a e some expansion possibili ies ha could be
ca ied ou in he u u e:
131
●Paymen o he SLA in he sys em i sel : Al hough he e is he paymen o a ee by he
clien o c ea e a new SLA in he sma con ac o he E he eum ne wo k (paymen
necessa y o pay o he ansac ion ha in oduces changes in he ne wo k), i would be
use ul ha e paymen me hods wi hin he sys em i sel . Fo example, i he chosen billing
me hod is bank ans e , you could p o ide he necessa y bank de ails o i and e en
eques a ans e eceip . I he chosen billing me hod is c yp ocu ency paymen , he
sma con ac could be modi ied o suppo his unc ionali y and make he paymen
oge he wi h he ansac ion ee.
●Documen managemen : Documen managemen o SLAs would be in e es ing, so
ha each SLA could ha e a se ies o documen s p o ided ei he by he se ice p o ide
o by he clien . This would make i possible, o example, o download he se ice le els
o e ed in a documen o o upload speci ic documen a ion eques ed om he clien by
he se ice p o ide .
●SLA summa y in he o m o a documen : This unc ionali y would make i possible o
ob ain a summa y o he SLA c ea ed by he clien in he o m o a documen and would
educe he complexi y o e iewing his SLA in he sma con ac ex e nally o he
sys em.
●Mo e digi al walle op ions: Cu en ly he sys em only has one digi al walle op ion,
Me aMask, i would be in e es ing i i had mo e op ions o each he la ges audience.
●Regis e a clien ia on -end: Cu en ly, i a clien wan s o egis e , hey ha e o send
a con ac eques h ough he Know Us page (see sec ion 4.3.9. Página de
Conoce nos), he ideal is o ha e a page whe e he clien can egis e by hemsel es. In
his way, he cus ome sa es he wai ing ime and he SLink pe sonnel sa es he
wo kload.
●Show e o messages wi h API calls: Cu en ly he sys em does no ha e e o
messages wi h API calls, i would be e y in e es ing o ha e i .
●Roles and pe missions o he applica ion: The exis ence o oles and pe missions o
he applica ion would allow i o ha e mo e han one owne (so ha mo e han one
E he eum add ess could iew he lis o en i ies and he Dashboa d) o he exis ence o
use s wi h pe missions o do so.
●Sys em deploymen ia on -end: Cu en ly he sys em is deployed o a p oduc ion
en i onmen manually. I he e was a on -end deploymen , so ha he necessa y s eps
132
we e ollowed wi hou equi ing ad anced knowledge on he pa o he use , SLink could
be deployed wi hou help and ha would inc ease he iabili y o he sys em as well.
●Sys em con igu a ion ia on -end: In he cu en e sion o he sys em, i mus be
con igu ed h ough a con igu a ion ile (s c/con ig.js in he on -end sou ce code
eposi o y). I would be in e es ing o ha e he possibili y o make his con igu a ion om
he on -end and/o show he cu en con igu a ion a any ime.
●Au oma ed es ing o he en i e applica ion: Fo example, uni es ing o buil Reac
componen s and back-end REST API endpoin s, unc ional es ing o on -end sc eens,
and o e all sys em pe o mance es ing.
●Li e cha as a con ac me hod: This imp o emen supposes he exis ence o s a
wai ing o a end o clien s o a obo capable o guiding he clien owa ds he necessa y
help o hei need. I would be use ul o egis e new clien s in a as and cu en way,
oge he wi h he exis ing elephone call op ion (also a quick con ac op ion).
●De ine he mos app op ia e KPIs acco ding o he needs o he o ganiza ions:
Gi en he limi ed ime and scope o his p ojec , simple KPIs had o be de ined as a
p o o ype. Mo e complex KPIs will ha e o be de ined acco ding o he needs o each
company in he eal en i onmen .
133
Bibliog a ía
1. Ana And és Ál a ez, Ca los Manuel Fe nández Sánchez y Bo is Delgado Riss. (2A.
ED.). GUÍA PRÁCTICA DE ISO/IEC 20000-1 PARA SERVICIOS TIC. Uni e sidad
Complu ense de Mad id. h ps://elib o.ne /es/e eade /uni e sidadcomplu ense/131803
[Úl imo acceso: 16/5/2022].
2. Jan an Bon (2008). Fundamen os de la Ges ión de Se icios de TI basada en ITIL. Van
Ha en Publishing.
h ps://books.google.com.pe/books?id=WdFEBAAAQBAJ&p in sec=copy igh # =onepag
e&q& = alse [Úl imo acceso: 20/5/2022]
3. Rod íguez, J. R. (1 de ma zo de 2022). ¿Hace al a un depa amen o de in o má ica?
Pues, depende. Tecnología++. Blogs Ins i ucionals UOC.
h ps://blogs.uoc.edu/in o ma ica/depa amen o-in o ma ica/ [Úl imo acceso: 16/5/2022]
4. OLCESE, A., & Moya, C. (3 de Feb e o de 2022). El ejido p oduc i o no se ecupe a:
España iene hoy 77.831 emp esas menos que an es de la pandemia. El Mundo.
h ps://www.elmundo.es/economia/mac oeconomia/2022/02/03/61 ab040 c6c832 698b4
5eb.h ml [Úl imo acceso: 16/5/2022]
5. González Fe nández-Villa icencio, N.; Menéndez No oa, J.L.; Seoane Ga cía, C.; San
Millán Fe nández, M.E. (2013). Re isión y p opues a de indicado es (KPI) de la
Biblio eca en los medios sociales. Re is a Española de Documen ación Cien í ica,
36(1):e005. h p://dx.doi.o g/10.3989/ edc.2013.1.919. [Úl imo acceso: 16/5/2022]
6. IBM Blockchain. (n.d.). Wha is Blockchain Technology?. IBM.
h ps://www.ibm.com/es-es/ opics/wha -is-blockchain [Úl imo acceso: 16/5/2022]
7. Vi alik Bu e in (2014). E he eum Whi e Pape .h ps://e he eum.o g/en/whi epape /
[Úl imo acceso: 24/5/2022]
8. Sinclai Da idson, P ima e a De Filippi, Jason Po s (2016). Economics o Blockchain.
h ps://pape s.ss n.com/sol3/pape s.c m?abs ac _id=2744751#:~: ex =The%20basic%2
0economics%20o %20blockchain,cos %20o %20p ocessing%20digi al%20in o ma ion%
2C [Úl imo acceso: 23/5/2022]
9. Alex Banks & E e Po cello (2017). Lea ning Reac : Func ional Web De elopmen wi h
Reac and Redux.h ps://media.g aphcms.com/H M5QEqWSweYEQBwClSG?dl= ue
[Úl imo acceso: 23/5/2022]
134
10. Nakamo o, S. (2008). Bi coin: A Pee - o-Pee Elec onic Cash Sys em.
h ps://bi coin.o g/bi coin.pd [Úl imo acceso: 24/5/2022]
11. Swan, M. (2015). Blockchain: bluep in o a new economy. Fi s edi ion. ed. O’Reilly,
Beijing : Sebas opol, CA.
h p://book.i ep. u/deposi o y/blockchain/blockchain-by-melanie-swan.pd [Úl imo acceso:
24/5/2022]
12. S einbe g, R. A. (2006). Measu ing ITIL: Measu ing, Repo ing and Modeling - The IT
Se ice Managemen Me ics Tha Ma e Mos o IT Senio Execu i es. T a o d
Publishing
h ps://www.sc ibd.com/book/387796481/Measu ing-I sm-Measu ing-Repo ing-and-Mod
eling- he-I -Se ice-Managemen -Me ics-Tha -Ma e -Mos - o-I -Senio -Execu i es
[Úl imo acceso: 25/5/2022]
13. An onopoulos, A.M.;Wood, G. (2019). Mas e ing E he eum: building sma con ac s and
DApps. Fi s edi ion. ed. O’Reilly, Sebas opol, CA.
h ps://dl.ebookswo ld.i /mo oman/Mas e ing_E he eum_And eas.M.An onopoulos.www.
EBooksWo ld.i .pd [Úl imo acceso: 25/5/2022]
14. Julija Goloso a; And ejs Romano s. (2018). The Ad an ages and Disad an ages o he
Blockchain Technology. IEEE. h ps://ieeexplo e.ieee.o g/documen /8592253 [Úl imo
acceso: 25/5/2022]
135
136