„COPYRIG
© Copyright 2013
Legal Discla
The informatioshall have no liliability which This documentpermission to cclearly referencThe circulationconfidential anAll rights reser
The P7th Fr
This dmade
D
GHT
3 by PREMANUS partner
aimer
on in this document is piability for damages of is mandatory due to ap
t may not be copied, repcopy, reproduce, or moced. n of this document is rend may not be divulgedrved. This document m
PREMANUS project (2ramework Programme
document does not reprof its content.
St
D3.2 - DINF
W
Contribut
Security
organisations
provided ‘as is’, and nof any kind including wipplicable law. produced, or modified
odify this document in w
estricted to the staff of td to third parties withoumay change without not
285541) is co-funded bfor R&D (FP7).
resent the opinion of th
Program
rategic Objec
Project T
Acro
Proje
DISTRIFORM
Work Packag
Lead Partne
ting Partner(
y Classificatio
Dat
Versio
o guarantee or warrantythout limitation direct,
in whole or in part for whole or part, an ackno
the PREMANUS partnut the express permissioice.”
by the European Union
he European Communi
mme Factori
ctive ICT-20
Title Produc
onym PREM
ect # 285541
IBUTEMATION
ge WP3
er Holo
s) Polim
on PU
te 31.10
on 1.0
y is given that the infor, special, indirect, or co
r any purpose without wowledgement of the au
tner organisations and ton of all of the Copyrig
n under the Information
ty, and the European C
ies of the Futu
011.7.3 Virtu
ct Remanufact
MANUS
1
ED PRON STO
Remanufactu
onix
mi, TIE, SAP
0.2013
rmation is fit for any paonsequential damages t
written permission fromuthors of the document
the European Commissght owners.
n and Communication T
Community is not respo
ure PPP
al Factories an
turing Service
ODUCORE
uring Informat
articular purpose. The athat may result from the
m all of the Copyright oand all applicable porti
sion. All information co
Technologies (ICT) the
onsible for any use that
nd Enterprise
e System
CT
tion Services
above referenced consohe use of these material
owners. In addition to stions of the copyright n
ontained in this docum
eme of the
t might be
s
ortium members s subject to any
such written notice must be
ment is strictly
Project –NoDate Classificati
<D3.2 -
Docum
Version
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.8
1.0
1.05
The resear(FP7/2007
o
ion
2855431-OcPU
Distributed P
ment history
Date
1/09/2013
15/09/2013
08/10/2013
12/10/2013
20/10/2013
22/10/2013
23/10/2013
20/10/2013
20/10/2013
28/10/2013
29/10/2013
rch leading to th7-2013) under g
1 t-13
Product Infor
y
Comments
Deliverable
First Draft V
Revision andDocument
Second revi
Revision and
Comments t
Comments t
Revision and
Revision and
Final Revisi
Final check
hese results hasgrant agreement
rmation Store
Structure and c
Version of the D
d improvement
sed version of t
d improvement
to the document
to the document
d improvement
d improvement
ion and docume
s received fundit no285541.
e>
content
Document
t of First Draft V
the Document
t of Second vers
nt
nt
t of Second vers
t of Second vers
ent ready
ing from the Eu
Version of the
sion of the Doc
sion of the Doc
sion of the Doc
uropean Comm
Auth
Jacopwith Lieu
Weia
Flavi
Weia
ument Flavi
Osca
Davi
ument Weia
ument Flavi
Jacop
Osca
unity’s Seventh
hor
po Cassina (Hh support of Nicubau (SAP)
an Xu (Holonix
vio Terenghi (Po
an Xu (Holonix
vio Terenghi (Po
ar Garcia (TIE)
id Potter (Polim
an Xu (Holonix
vio Terenghi (Po
po Cassina (H
ar Garcia (TIE)
h Framework P
ii
olonix) colas
x)
olimi)
x)
olimi)
mi)
x)
olimi)
olonix)
rogramme
Project –NoDate Classificati
<D3.2 -
Table o
1 EXE
2 THE
2.1 2.2 2.3 2.4
3 THE
3.1 3.2 3.3
3.3.3.3.23.3.3
3.4 3.5
4 CON
5 BIB
APPEND
A.1: TA.2: TA.3: T
APPEND
B.1: AB.1.B.1.
B.2: MB.2.1: B.2.2: B.3: M
B3.1B3.2B3.3
o
ion
2855431-OcPU
Distributed P
of contents
ECUTIVE SU
E PREMANU
INTRODUCTI
A COMPREHE
THE PREMAAN ARCHITE
E PREMANU
CLOUD SERV
THE REST W
APACHE SOL
1 The sof2 Apache3 Apache
THE SCHEDU
THE XML FI
NCLUSION
BLIOGRAPH
DIX A: THE
HE CLOUDSER
HE XMLDOCU
HE CLOUD SE
DIX B: XML
ADVERTISEMEN
1: Message X2: Message E
MESSAGES SUB
THE XSD SCH
A MESSAGE EMESSAGE COMI
1: Submitted q2: XSD Messa3:Apache Solr
1 t-13
Product Infor
UMMARY ...
US PROJEC
ION .................ENSIVE VIEW O
ANUS CLOUD
ECTURAL DESC
US CLOUD I
VICES’ COMPO
WEB SERVICE IN
LR AS THE DOC
ftware tool .....e Solr’s storinge Solr’s REST-ULED DAEMON
ILE MAPPERS ..
......................
HY ..................
IMPLEMEN
RVICESWS .....UMENTLEVEL
ERVICES DAEM
L MESSAGES
NTS COMING F
XSD schema: aExample ..........BMITTED TO AP
HEMA .............EXAMPLE ........ING FROM APA
query .............age Schema ....r’s reply .........
rmation Store
......................
T AND THE
......................OF THE PREM
D ROLE ...........CRIPTION OF TH
IMPLEMEN
NENTS AND IN
NTERFACE TO
CUMENT REPO
......................g data capabi-like web inter
N ...........................................
......................
......................
NTED CODE
......................LLER ...............MON ................
S AND RELA
FROM GATEWA
a graphic dep......................PACHE SOLR ..............................................ACHE SOLR AF
......................
......................
......................
e>
......................
E PREMANU
......................MANUS NETW
......................HE PREMANU
NTATION .....
NFRASTRUCTU
OWARDS THE GSITORY AND IN
.....................ilities .............rface .........................................................
......................
......................
E ....................
......................
......................
......................
ATED SCHE
AYS ...............iction .................................
......................
......................
......................FTER A QUERY
.....................
.....................
.....................
......................
US CLOUD ....
......................WORK AND ITS
......................US CLOUD .....
......................
URE .................GATEWAYS .....
NDEXING ENG
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
EMAS ............
......................
......................
......................
......................
......................
......................Y HAS BEEN SUB
......................
......................
......................
......................
......................
......................ARCHITECTUR
......................
......................
......................
......................
......................INE ..............................................................................................................................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................BMITTED .........................................................................
......................
......................
......................RE ..............................................................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
......................
iii
............. 1
............. 2
............. 2
............. 2
............. 3
............. 4
............. 6
............. 6
............. 9
........... 10
........... 11
........... 12
........... 13
........... 14
........... 15
........... 16
........... 17
........... 18
........... 18
........... 20
........... 24
........... 28
........... 28
........... 28
........... 29
........... 31
........... 31
........... 31
........... 33
........... 33
........... 34
........... 35
Project –NoDate Classificati
<D3.2 -
1 Ex
This deDescriptthe Clouprovide This is alifecycleand Clie
In the fcomponcloser loof thoseexchangreader wXML m
o
ion
2855431-OcPU
Distributed P
ecutive Sum
liverable inttion of Workud Services PREMANU
achieved thre of individuents, and thei
first chapter ents (among
ook at the ime Services, wged with the will be provid
messages invo
1 t-13
Product Infor
mmary
troduces thek were calledcan be thou
US Clients wough the use
ual products air functionali
of this docg which ther
mplementationwhat actionsexternal wo
ded with theolved.
rmation Store
e PREMANUd the PREM
ught of as a with a clear ie of an indexare stored. Tities are avai
cument the bre are of coun of those Ses are undertorld will be e complete co
e>
US Cloud SMANUS Distr
cloud compinterface forxed documenThe Cloud Silable via web
basic featureurse the Cloervices will btaken by thoalso specifieode that has
Services, whributed Prod
ponent (hencretrieval of
nt repositoryervices are ob service int
es of the PRoud Services)be exposed. Tose subsysteed. Finally, been written
hich in previduct Informate its name) information
y in which alonly loosely erfaces.
REMANUS ) have been The buildingems and what the end on and with c
ious versiontion Store. Bwhose purp
n from the Gll metadata acoupled to G
Network ansummarized
g blocks (subhat are the mof the deliveclear exampl
1
ns of the Basically, pose is to Gateways. about the Gateways
nd of its d; then a
bsystems) messages rable the les of the
Project –NoDate Classificati
<D3.2 -
2 Th
2.1 In
The PREnumber PREMAdifferentlocal BD
2.2 A
The PRE
‐ ‐ ‐
Figure 1how they
o
ion
2855431-OcPU
Distributed P
he PREMAN
ntroduction
EMANUS Cof key servi
ANUS Cloudt PREMANU
DSS.
A comprehe
EMANUS Sy
A set of PREA set of PREThe PREMA
1 (see below)y can be defi
Product Da
BDS
Client
Client
Client
1 t-13
Product Infor
NUS Proje
n
Cloud descriices to both d collects aUS Clients c
ensive view
ystem can be
EMANUS CEMANUS GANUS Cloud
) shows in defined in terms
Figure 1
ata Store
SS "Base"
rmation Store
ect and the
bed in this dClients and
advertisemenconnected to
w of the PRE
e described a
lients; Gateways; d.
etail how thes of smaller,
Overview of t
Information Di
P
App
Query Manager
App
App
e>
PREMANU
document isGateways c
nts regardingo it, acting a
EMANUS N
as an aggrega
ese three kindsimpler subp
the detailed PR
PREMANUS C
IDrectory
PREMANUS Clien
Man
r
Gateway
US Cloud
s basically anconnected tog product das a mediato
Network an
ation of the f
ds of componparts.
REMANUS arc
loud
D ManagementServer
t
PREMANU
InformatPublishin
IDnagement
Gatewa
n ICT infrasthe PREMA
data, and pror between r
nd its archi
following:
nents interac
chitecture
US Gateway
DB Connector
ionng
GatewInterf
ay
structure proANUS Netwrovides themremote gatew
itecture
ct with each o
r
wayface
Gateway
Gateway
Gateway
2
oviding a work. The m to the ways and
other and
Project –NoDate Classificati
<D3.2 -
Here is a
The PREdeliveryGateway
- - - - -
Most of view of
The roleNetworkPREMAshare incontain o
- -
For mor
The last is to allodo so, tcompose
- -
During tto descri
2.3 T
In the organizeexternal can be safter havnetwork
o
ion
2855431-OcPU
Distributed P
a brief depic
EMANUS Gy of such infy is a comple
a database (Dan ID Managan Informatia Gateway ina Service Bu
f these compoeach subsyst
e of PREMAk to be consu
ANUS Clientformation wother compo
a Product Daa Query Man
re informatio
component ow an advertthe Cloud med of two sub
the Informatthe ID Mana
the rest of thibe accuratel
The PREMA
PREMANUed into advenodes, usua
searched for ving matche
k have acces
1 t-13
Product Infor
tion of the d
Gateway’s duformation thex object, wh
DB) Connecger; ion Publishernterface; us.
onents have tem’s functio
ANUS Clienumed by thets can includ
with other paronents, such a
ata Store; nager.
on on the PRE
to be mentiotisement of Pmust of coubsystems, na
tion Directorager.
his documently its implem
ANUS Clou
US Cloud reertisements. Aally the produ
and are fored the specifss to the PR
rmation Store
ifferent obje
uty is twofoldrough the ushich consists
tor;
r;
a self-explanon, he should
nts is to enae applicationde a Gatewayrties. Besideas:
EMANUS C
oned is the PProduct Dataurse expose amely:
ry;
t, the focus wmentation and
ud Role
epository, alAn advertiseuct instance owarded to th
fied query coREMANUS
e>
cts mentione
d: to store inse of a web
s of, among o
natory name;d refer to del
able all infon componenty within theie the Gatewa
Clients’ struct
PREMANUSa to be search
a suitable
will particulad usage; the I
ll informatioement specifor product grhe requestingonditions. Al
Cloud, and
ed above.
formation ab service inte
others (cf. D2
; however, ifliverable D2.
ormation ands in the projr boundariesay and the B
ture, see deli
Cloud, the mhed and retriweb interfa
arly be on thID Manager
on about exfies the kindroup the instg system byll stakeholded all search
bout productserface. The t2.4 and D4.1
f the reader n4.
d resources ect, in partic
s, so that the BDSS, a PRE
iverable D2.4
most importaieved by othece. The PR
e Informatiohas yet to be
xisting remad of data thatance belong
y the directorers involved
requests ar
s and to allowtypical PRE
1):
needs a more
in the PREcular the BD subsystem i
EMANUS C
4.
ant function her nodes. InREMANUS
on Directory,e fully imple
anufacturingat can be qu
gs to. Advertry service, oin the PRE
re processed
3
w for the MANUS
e detailed
MANUS DSS. The is able to
Client can
of which n order to Cloud is
, in order emented.
g data is ueried by tisements obviously MANUS d by the
Project –NoDate Classificati
<D3.2 -
PREMAestablishinformat
Figure 2
The PRE
- -
2.4 A
Formally
1. 2. 3.
Among which alDirector
1.
2.
o
ion
2855431-OcPU
Distributed P
ANUS Cloudhed once a setion.
A quick overv
EMANUS cl
to get an oveto answer a B
An architect
y, the PREM
the Informatthe ID Manathe Access C
these, the mll informatiory was conce
Information to achieve information for one prodadvertisemenSearch interinterface. T
PREMAN(RIS + RS
1 t-13
Product Infor
d. Direct coearch reques
view of the com
loud provide
erview of allBDSS reque
tural descr
MANUS Clou
tion Directoragement ServControl Com
most importanon stored in teived to impl
indexing: athis, each sin the centra
duct type or nt feed, whicrface: accesshe Search i
PRGate
NUS ClientSG + BDSS)
rmation Store
ontact betwst has been a
mponents involPREM
s remanufact
data that is aest for specifi
ription of th
ud consists o
ry; ver;
mponent.
nt services arthe advertiselement three
an overview stakeholder wal Directory.instance. Thch is registerible to all Pinterface int
EMANUSeway (RSG)
e>
ween differenanswered, de
lved in a typicaMANUS Cloud
turing inform
available foric remanufac
he PREMA
of three differ
re those provements is sha
major block
of all availawho wishes Each advert
he stakeholdered by the infPREMANUSteracts with
P
G
nt PREMANetermining w
al instance of td role.
mation requir
r a specific pcturing data.
ANUS Clou
rent subsyste
vided by the ared across thks of function
able informats to share intisement detaer can bundlformation dir
S Clients throthe PREMA
PREMANUS Clo
PREMANUSGateway (RSG)
NUS stakehwhich stakeho
he PREMANU
red by the BD
roduct;
d
ems:
Informationhe network. nality.
tion within tnformation rails what infe all advertisrectory. ough a well-ANUS Clien
oud (RIS)
holders can older has the
US architectur
DSS for two
n Directory, tThe RIS Inf
the network.registers som
formation is sements into
-defined webnt to respon
PREMANUSGateway (RSG
4
only be e relevant
e, and the
reasons:
thanks to formation
In order me meta available
o a single
b service nd which
G)
Project –NoDate Classificati
<D3.2 -
3.
o
ion
2855431-OcPU
Distributed P
information ID, which spSubscriptionwhich will available inInformation determine if
1 t-13
Product Infor
is available pecifies whatn: The final continuously
n the centralDirectory, t
f there is a m
rmation Store
within the Pt type of infoblock includy update thel directory. the system ceaningful ma
e>
PREMANUSormation is ndes the abilite client as nWhenever n
compares it tatch.
S Network. Tneeded aboutty to create snew informanew meta into a list of s
The search tt the product.subscriptions
ation about tnformation itanding subs
takes a PRE. s to a specifthe product is uploaded scriptions in
5
MANUS
fic query, becomes into the
n order to
Project –NoDate Classificati
<D3.2 -
3 Th
In this cfocusingcontent general the index
3.1 C
Starting documenwhich co
‐ ‐
‐
‐
Basicallywhich ta
1.
2.
3. 4.
5. 6. 7.
o
ion
2855431-OcPU
Distributed P
he PREMAN
chapter, the g on both theof the chaptidea of howxing of the s
Cloud Serv
from the arcnt (i.e., D2.4onsists of the
A REST webA repositoryby a suitableA scheduledsecond foldeA couple of
o mapinde
o convfitte
y, the interacake place in t
At first the GadvertisemenOnce the advunderstandabThe mappedThe daemoneffectively dengine; After havingThe indexingThe documefor the activClient with c
1 t-13
Product Infor
NUS Cloud
implementate functioningter will be a
w the differenso-called pro
vices’ comp
chitectural d4 and D4.1)e following d
b service inty for XML-foe indexing end daemon to mer known to tintermediate
p advertisemeexing enginevert advertise
ed to the PRE
ction amongthe following
Gateway maknt; vertisement hble by the in
d file is storedn moves the adecoupling th
g moved the g engine cor
ent repositoryation of a secorrectly form
rmation Store
d implemen
tion of the Pg of the diffealso exemplint parts of syduct lifecycl
onents and
ocuments th, a Java impdifferent elem
erface intendormatted docngine, move the advthe aforemene componentents produce, ements as th
EMANUS Cl
g the various g order:
kes an RPC c
has been senndexing engind in a folder,advertisemenhe web servic
file, the daemrrectly stores y exposes wecond XML ematted data.
e>
ntation
PREMANUSerent componfied in a fewystem collable advertisem
d infrastruc
hat have beenplementationments:
ded to be quecuments, the
vertisementsntioned indexts able to: ed by the gat
hey are storedlients’ needs
components
call requestin
nt through thene; , which is pont from the foce interface e
mon posts it the advertiseb methods tencoder, who
S Cloud Servnents and thew diagrams, borate to enaments.
cture
n quoted in tn of the Clou
eried by the taccess and t
s from an inixing engine,
teways in a f
d in the repos.
s can be desc
ng the REST
e net, it is ma
olled periodicfolder at stepexposed to th
to the reposiement in thethat enable itose purpose i
vices will bee code that hmainly UM
ble the storin
he introductoud Services
typical PREMthe usage of w
itial receivin
format that ca
sitory in a se
cribed as a se
T web service
apped into a
cally by the d3 to another
he Gateways
itory; repository;
ts querying; tis to provide
e described has been wri
ML, which pring, the quer
tory paragraphas been de
MANUS Gawhich is med
ng directory t
an be read by
econd format
equence of a
e to store an
flat XML fo
daemon; r directory, ths from the ind
this in turn cthe PREMA
6
in detail, tten. The rovides a rying and
ph of this eveloped,
teway, diated
to a
y the
t that is
activities,
ormat
hus dexing
can call ANUS
Project –NoDate Classificati
<D3.2 -
The intesimple dflow. Fig
- - -
Within tand presless intu
o
ion
2855431-OcPU
Distributed P
Figur
ernal Cloud depiction of gures 4, 5 an
the softwarethe sequencethe activity f
the latter diasented using
uitive and und
1 t-13
Product Infor
re 3 An intuitiv
Services actthe subsyste
nd 6 are on th
e architecturee of states anflow.
grams the cog formal UMderstandable
rmation Store
ve representati
tivity flow iem’s structurhe contrary m
e, nd actions the
oncept intuitiML notation, e at first view
e>
ion of the Clou
is illustrated ure, together more formal
e system pas
ively explainwhich provi
w.
ud Services’ ele
in Figures with an easy(i.e. UML) r
sses through,
ned, without ides a much
ements and act
3, 4, 5 and y-to-grasp prepresentation
formalism, imore precis
tivities
6. Figure 3 picture of thens of, respec
in Figure 1 ise representa
7
shows a e activity ctively,
is refined ation, but
Project –NoDate Classificati
<D3.2 -
o
ion
2855431-OcPU
Distributed P
1 t-13
Product Inforrmation Storee>
8
Project –NoDate Classificati
<D3.2 -
At presethis chocould bevery intefrom masituationdetached
All elemcomponPREMAimpleme
Obvioustransparthrough
3.2 T
The REScalled C
The intecan be dWeb Seimplemereliabilit
o
ion
2855431-OcPU
Distributed P
ent, all compice was maie possible toeresting in reany Gatewayn, there could from the m
ments describent of the P
ANUS Cliententation of th
sly, when exrent membera suitable w
The REST w
ST web servCloudService
erface is basedescribed “aservices whicentations of ty and handi
1 t-13
Product Infor
Figu
ponents of thinly done foro deploy theeal productioys could be ld be many r
machines whe
Fig
bed so far haREMANUSts). This is bhis componen
xamined fror of the bigg
web service in
web service
vice interfacesWS (see ap
ed on the Jers a referencech make us
this API, ainess. Given
rmation Store
re 4 UML Clou
he Cloud Serr ease of im
e various comon environme
processed aredundant daere the web s
gure 5 UML C
ave been codClient (that
because the nt would be
om the outsger PREMAnterface, as w
e interface t
e exposed to pendix A.1).
rsey library , open sourc
se of the JAand it is stilall these cha
e>
ud Services Co
rvices are inmplementation
mponents onents, where sand stored siata repositorservices are r
Cloud Services
ded and unit-t translates thClients haveat most spec
side, the PRANUS Netwowould be natu
towards th
the Gateway.
for its functce, productioAX-RS APIll one of tharacteristics
omponent Diag
tended to ben . Howevern different msignificant nuimultaneouslries and the run.
Activity Diagr
-tested, withhe advertisee not been dculative.
REMANUSork, whose urally expect
he Gateway
ys has been i
ioning. Accon quality fraI”. Actually
he most widand its being
gram.
e deployed or, with a littlmachines. Thumbers of adly on a set orepositories
ram
the only excments from
designed yet,
Cloud appefunctionalitited in a SOA
ys
implemented
ording to its amework for y, it has beespread becg open sourc
on the same mle additionalhis scenario dvertisementof servers. Ithemselves
xception of ththe reposito
, and therefo
ears to be aies can be a
A architecture
d through a J
own creatordeveloping
een one of cause of its ce, it was de
9
machine; l work, it could be s coming In such a could be
he search ory to the ore every
a unique, asked for e.
ava class
rs, Jersey RESTful the first stability, finitely a
Project –NoDate Classificati
<D3.2 -
natural c
In the teinstanceinterface
The metThe inpuand whidocumen
The decbeen secthe URL
The decpreferredthat it is
The webthe inpuconfirmaweb inteissue cou
3.3 A
The mosthe entirtaken, an
o
ion
2855431-OcPU
Distributed P
choice.
est environme. However, e exposes on
thod is of POut string shouich has beent, a concret
ision to creacure to send L requested b
cision to used to other sta extremely w
b method reput was corration that therface level, uld then be l
Apache Solr
st important re infrastructn open sourc
1 t-13
Product Infor
Fig
ment, the weany other Ja
nly one web m
public
OST type, anuld be forman already de example of
ate a POST ina complex,
by the end us
e XML formandards such
widespread.
ply takes therectly accepe communicthe Gatewa
logged, track
r as the doc
node in the ture would bece product, w
rmation Store
gure 6 UML Cl
b service intava web servmethod, who
c String onPo
nd requires, aatted accordindetailed in df such a mes
nstead of a Gsensitive pie
ser. Wrappin
matted inputh as JSON b
e form of a vted, an “OK
cation has beay would be ked and solve
cument rep
entire Cloude useless. Afwhich has at
e>
loud Services S
terface has bver would s
ose interface
ostCallBack
as an input, ng to the XS
deliverablessage is given
GET methodece of inform
ng it in an enc
uts was takebecause of its
very simple sK” string iseen correctlyprovided wi
ed.
pository and
d Services syfter some resttracted over
Sequence Diag
been deployerve for the is given belo
(String mess
an XML striSD schema to
D2.4 and Dn.
d relies on semation througcoded form w
n at an archs readability
string, only as sent to th
y processed. ith the comp
d indexing
ystem is the search, the der the years th
ram
ed on top ofpurpose. Th
ow:
sage).
ing wrapped o which all adD4.1. In app
ecurity reasongh the net byworks more e
hitectural leand flexibili
an ACK/NAChe GatewayShould an ex
plete stack tr
engine
document reecision to adhe confidenc
f an Apachehe CloudSer
d in an encoddvertisementpendix B.1.2
ns. It would y simply addeffectively.
evel. XML hity, if not for
ACK messagey, which takexception be race of the i
repository: wdopt Apache ce of both de
10
e Tomcat rvicesWS
ded form. ts belong 2 of this
not have ding it to
has been r the fact
e. In case kes it as raised at ssue: the
without it, Solr was
evelopers
Project –NoDate Classificati
<D3.2 -
and end
3.3.1
In brief,text indeany serv
Solr ex
any pr
therefo- - - - -
Moreovecentralizreliabilit 1 The topApache S
o
ion
2855431-OcPU
Distributed P
users.1
The softwar
Solr is a doexing and se
vlet container
xposes RES
rogrammin
ore rather ea powerful fnear real-timdynamic clufull databaserich docume
er, the tool pzed configurty, stability pics addresseSolr (see Bibli
1 t-13
Product Infor
re tool
cuments’ repearches. Ther (usually Jet
ST-like HTT
ng languag
easy from afull-text searcme indexing, ustering, e integration,ent (e.g., Wo
provides distation systemand fault to
ed in this chaiography).
rmation Store
Figure 7 A
pository, whapplication
tty is a natura
TP/XML a
ge; the p
a developech engine,
, rd, PDF) han
tributed indem, and an autolerance, Sol
apter have bee
e>
Apache Solr ar
hich rests on has been w
al choice, bu
nd JSON
latform’s
er’s point o
ndling.
exing, replictomated failolr is currentl
en freely revi
rchitecture
the Lucene Jritten in Jav
ut other web
APIs that
integration
of view. So
ation and loover and recoly used to e
isited from th
Java search la and can becontainers ca
can be ca
n with oth
lr’s major f
ad-balanced overy mecha
enable the se
he official on
library to enae deployed ian be viable
alled from
her applian
features ar
d querying seanism. Becauearch and na
nline documen
11
able full-in almost as well).
almost
nces is
re:
ervices, a use of its avigation
ntation on
Project –NoDate Classificati
<D3.2 -
capabilit
Solr complatformcan be ru
3.3.2
Solr's bsomethininformatbe able t
This calthe contwhich th
That saidthe applin the scdefine a
A relativrespond distributalgorithmrequests
Anotherdocumenwould bphysicalresults.
If the ntechniqueffectivethe quer
o
ion
2855431-OcPU
Distributed P
ties of very l
mes also witm, view schemun as an alte
Apache Sol
asic unit of ng. In the tion. Naturalto better inte
ls for the detents of docuhe end users
d, Solr is maiance is ablechema the fieData Import
vely commoquickly eno
te incoming m, such as, s.
r useful technts that a sin
be possible tol server. An
number of doues of sharde, since it inries, and man
1 t-13
Product Infor
large internet
th an easy-tomas and logsrnative to th
r’s storing d
f informationSolr univers
lly, the definerpret them.
finition of anuments it willwill search f
ainly used to e to index at elds that appt Handler, w
n scenario isough to each
queries amfor instanc
hnique that ngle server po split the inincoming q
ocuments anding and repcludes a num
nage the resu
rmation Store
t sites whose
o use web grs, test queriee REST-like
data capabil
n is the docse, documennition of field
n appropriatel be indexingfor, and then
dealing withonce the file
pear in the dohich is actua
s that in whih of them. I
mong the cope, a round-r
needs to beplatform is nndex into muquery is sent
nd users is eplication. In mber of featuulting nodes.
e>
e transaction
graphic UI ths and perform
e interface ex
lities
cument, whints are compds is flexible
e schema forg. After that,expose the c
h XML files es it was sentocument. Fo
ally an additi
ich there areIn this case, pies in any robin mecha
e mentionednot able to haultiple piecet to all the s
extremely hithis case, S
ures to simp
numbers are
hrough whichm low- and h
xplained later
ch is basicaposed of fiee, but if one
r the stored d, one can feecorrect searc
whose struct, obviously,
or more componal configu
e so many quone could rway that se
anism, could
d is that of andle them fs, called shashard server
igh, it mighSolr's SolrClplify the proc
e really impre
h administrahigh- level tar.
ally a set oflds, i.e. mordefines field
data. The sched the reposith functionali
ture is relativ after the devplex cases, ituration file fo
ueries that threplicate copeems to be
d be used to
f sharding. Ifor RAM or iards. Each shs, which res
ht be necessaloud functiocess of distri
essive.
ators can maasks. This gr
f data that dre specific p
ds correctly,
hema tells Story with doity.
vely flat. In tveloper has t would be nor the platfor
he server is upies of an in
fit. Any sco route the
If one has index size rehard lives onspond with m
ary to combonality may ibuting the in
12
anage the raphic UI
describes pieces of Solr will
olr about cuments,
this case, specified
needed to rm.
unable to ndex and cheduling
different
so many easons, it n its own matching
bine both be more
ndex and
Project –NoDate Classificati
<D3.2 -
3.3.3
When a handler
In turn, terms anparser isExtendeprecisionparser isFinally, Lucene q
Input to
-
o
ion
2855431-OcPU
Distributed P
Apache Sol
user runs ais a Solr plug
in order to pnd parameters the DisMa
ed DisMax (n in searchess designed tothe Extende
query syntax
a query pars
search string
1 t-13
Product Infor
Figu
r’s REST-li
a search in Sg-in that defi
process a sears of a queryax one. Solr(eDisMax) qs, but the Diso provide an ed DisMax qx while still t
ser usually in
gs, that is, ter
rmation Store
ure 8 A multis
ke web inter
Solr, the seafines the logic
arch query, a y. Different qr also includquery parser.sMax query pexperience
query parser tolerating syn
ncludes:
rms to search
e>
erver installat
rface
arch query isc to be used
a request hanquery parserdes an earlie. The standaparser is musimilar to this an impro
ntax errors.
h for in the in
tion of Apache
s dealt with when Solr p
ndler calls a qrs support dier "standard"ard query pach more tole
hat of populaoved version
ndex;
Solr
by a requesrocesses a re
query parser,fferent synta" (Lucene) qarser's synta
erant of errorar search eng
of DisMax
st handler. Aequest.
, which interax. The defauquery parserax allows fors. The DisMgines such as
that handles
13
A request
rprets the ult query r, and an or greater
Max query s Google. s the full
Project –NoDate Classificati
<D3.2 -
-
-
Search pquery agqueries,
To help search re
FacetingWithin econstrain
Clusteriwhen coamong ssearchin
Contents
The URRespons
Althougsimilaritthrough feature program
3.4 T
The thCloudSe
1.
2. 3.
The proWindowWindowthat com
o
ion
2855431-OcPU
Distributed P
parameters fields, by apsearch resultparameters fin which resapplication's
parameters mgainst the enthe strategic
users zero inesults to aid
g is the arraeach categornt.
ng groups sontent is indesearch resultsng for.
s retrieved w
RL below suse Writer to u
gh the URL ties between the net by sof Apache
mmatically w
The schedul
hird componervicesDaem
It polls at fixadvertisemenIt moves theIt posts the a
ogram has bews Service. Aws environmeme with Apac
1 t-13
Product Infor
for fine-tunipplying Boolts; for controllinsults are to bs schema.
may also spetire index an
c use of filter
n on the confurther explo
angement of ry, Solr repo
search resultexed. - Clusts, and it can
with queries c
ubmits a simuse indentati
http://<h
is not exactlthis exampl
specifying itSolr is of
ith other app
led daemon
nent of thmon. This serv
xed times thents;
e advertisemeadvertisemen
een written As a remindent; instead, che Procrun
rmation Store
ing the querlean logic am
ng the presenbe presented
cify a querynd caches ther queries can
ntent they areoration: facet
search resuorts on the n
s by similartering can prhelp users ru
can also be o
mple query wion to make t
host>:<port>/
ly that of REle and the uss Id with a cf great inteplications.
n
he Cloud vice perform
e folder in wh
ents to a seconts to the ind
in Java andder, Java clathey must be(i.e., “prnsrv
e>
ry by increamong the sea
ntation of theor limiting t
y filter. As pae results. Bec improve sea
e looking forting and clus
ults into catenumber of h
rities discoverove useful bule out conte
ordered accor
with the Stanthe XML res
/solr/select?q
EST end posage of RESTcorrectly for
erest becaus
Services isms the follow
which the web
ond folder, wdexing platfor
d it relies onasses cannot e supported bv.exe”). Act
asing the imarch terms, o
e query respothe response
art of a searccause Solr alarch perform
r, Solr suppostering.
egories (whicits for releva
ered when abecause it reent that is no
rding to their
ndard Querysponse more
q=id:1&inde
int, the readTful web serrmatted quere it makes
s a scheduing steps:
b service exp
which can be rm.
n Apache Prbe run dire
by suitable .etually, this sa
portance of or by exclud
onse, such as to particula
ch response,llocates a sep
mance.
orts two spec
ch are basedant term, wh
a search is eeveals unexpt pertinent to
r relevance.
y Parser, andreadable.
ent=1.
der can apprervice: also inry string requ
it easy to
uled Windo
posed to the G
accessed by
ocrun to be ectly as scheexe applicatiame approac
particular sding content
s specifying ar fields of th
, a query filtparate cache
cial ways of
d on indexedhich is calle
executed, ratpected commo what they a
d requests t
eciate the syn this case, a uired. This po integrate
ows Service
Gateways pu
y Apache Sol
effectively eduled daemions, such asch has been e
14
strings or from the
the order he search
ter runs a for filter
grouping
d terms). d a facet
ther than monalities are really
he XML
yntactical resource
particular the tool
e called
uts the
lr;
run as a mons in a
the ones exploited
Project –NoDate Classificati
<D3.2 -
so far toreally scJava cla
Periodicare movmoving
After thindexingthe repo
The Clopolling t
The maitakes theif the WFTP pro
3.5 T
The termstructure
- -
The firsonPostBfrom theactivated
The poinline withfile flatte
The filesadvertise
Talking interfacethen be into a fo
o
ion
2855431-OcPU
Distributed P
o allow Apacheduled is tss to be exec
cally, a new ved accordinand the post
hat, the Runtg of advertissitory.
oudServicesDtime, the dire
in purpose oe advertisem
Windows Servotocol.
The XML fi
m “XML Filee so that the
Read by ApaRead by the
st mapper iBack web mee XMLDocud.
nt is that advh that which er has been t
s thus mappeements with
about the se is still in itdeveloped. A
ormat that co
1 t-13
Product Infor
ache Tomcat the executioncuted.
thread is creng to their titing of the ad
time singletoements to Ap
Daemon comectories at ste
of the daemoment. Therefo
vice was par
ile mappers
e Mappers” rXML files c
ache Solr; PREMANU
is not reallyethod, a leveumentLevell
vertisements would norm
taken, by ma
ed are the rethe “translat
second mapts design staAnyway, the uld be easily
rmation Store
to be run an of a batch
eated by the ime label. Tdvertisements
on is used topache Solr. T
mes with a simeps 1-2, and
on is to effeore, these twortially modif
s
refers to twoan be:
US Clients.
y a standaloelFile() instruer class. Th
sent by Gatemally be expeapping it into
al ones posteted” ones in t
per, it has age. When th
aim of this sy understood
e>
as a service ofile, which
Windows SThe time labs.
o call the “pThis is a ver
mple configuthe directory
ctively decoo systems cofied to perm
o different ob
one componuction is pre
his is actuall
eways can hected by Apa
o a different s
ed into Apacthe attachem
not yet beehat interface second encoby the Clien
on Windowscalls “prnsrv
ervice, so thbel is necess
post.jar” Javry simple and
uration file, thy in which th
ouple Apacheould be evenit, for instan
bjects that mo
nent: after eesent, which ly the way i
have a very cache Solr. Sostructure with
che Solr. Thements.
en implemenis more cleader would be
nts, including
s machines. v.exe”, whic
hat all files inary to perfe
va executabled effective w
hrough whiche “post.jar”
e Solr from n deployed onnce, the trans
odify the adv
examining thbelongs to ain which the
omplex struco, the decisioh the same in
e reader can
nted as the arly defined,e to transformg the BDSS.
In this casech in turn en
n the folder ectly synchro
e, which perway of addin
ch the user caexecutable r
the web sern different msferal of file
vertisement’s
he real codan object inse first comp
cture, whichon to make tnformation c
compare the
PREMANU, this compom the advert
15
, what is ables the
at step 1 onize the
rmits the ng files to
an set the resides.
rvice that machines, es via the
s internal
e of the stantiated ponent is
h is not in the XML content.
e original
US Client nent will tisements
Project –NoDate Classificati
<D3.2 -
4 Co
In this d
The CloPREMAthe Clou
A workialthoughClients a
o
ion
2855431-OcPU
Distributed P
onclusion
deliverable th
oud ServicesANUS Refereud.
ing prototyph some minoare thorough
1 t-13
Product Infor
he architectur
s have beenence Archite
e of the Cloor details of hly designed.
rmation Store
re and implem
n developed cture, and D
oud Services the impleme
e>
mentation of
according tD4.1, which s
has been dementation mig
f the Cloud S
to what waspecifies the
eveloped andght be prone
Services has
s agreed in messages se
d tested, ande to changes
been describ
D2.4, whicent by the Ga
d is availableas the PRE
16
bed.
ch is the ateway to
e for use, MANUS
Project –NoDate Classificati
<D3.2 -
5 Bib
[1] Solr
[2] Rafa
[3] Jerse
o
ion
2855431-OcPU
Distributed P
bliography
Wiki ‐ http
al Kuc – Apa
ey Library O
1 t-13
Product Infor
p://wiki.apach
ache Solr 4 C
fficial Web S
rmation Store
he.org/solr/
Cookbook, 20
Site - https://
e>
012
/jersey.java.n
net/
17
Project –NoDate Classificati
<D3.2 -
Append
A.1: Th
package import jimport jimport jimport j import jimport jimport jimport jimport jimport jimport jimport jimport jimport jimport jimport jimport jimport jimport j import oimport o import c@Path("/public c{ @ @ @ @
o
ion
2855431-OcPU
Distributed P
dix A: The
he CloudSe
com.holoni
java.io.Filjava.io.Strjava.text.Sjava.util.D
javax.naminjavax.ws.rsjavax.ws.rsjavax.ws.rsjavax.ws.rsjavax.ws.rsjavax.ws.rsjavax.xml.pjavax.xml.pjavax.xml.tjavax.xml.tjavax.xml.tjavax.xml.tjavax.xml.tjavax.xml.t
org.w3c.domorg.xml.sax
com.holonix/togateway/class Cloud
@POST @Path("/onc@Produces(M@Consumes(Mpublic Stri{
Docu Docu
try {
1 t-13
Product Infor
implement
ervicesWS
x.cloudserv
e; ingReader; impleDateFoate;
g.InitialCo.Consumes; .FormParam;.POST; .Path; .Produces; .core.Mediaarsers.Docuarsers.Docuransform.Reransform.Soransform.Trransform.Trransform.doransform.st
.Document;
.InputSourc
.cloudservi") ToGateway
allback") MediaType.TEMediaType.APng onPostCa
umentBuilder
umentBuilder
builder Document
b);
XMLDocum
TransforTransforSource s
InitialC
rmation Store
ted code
ices.ws;
rmat;
ntext;
Type; mentBuildermentBuildersult; urce; ansformer;ansformerFam.DOMSourceream.Stream
e;
ces.utiliti
EXT_PLAIN) PPLICATION_FallBack(@For
rFactory fac
r builder;
= factory.n
t document =builder.pars
mentLeveller
rmerFactory rmer aTransfsrc = new DO
Context ctx
e>
r; rFactory;
actory; e; mResult;
ies.XMLDocum
FORM_URLENCOrmParam("mes
ctory = Docu
newDocument
= se(new Inpu
r leveller=
tranFactoryformer = traOMSource(lev
= new Init
mentLeveller
ODED) ssage") Stri
umentBuilde
Builder();
tSource(new
new XMLDocu
y = TransfoanFactory.nveller.leve
ialContext(
r;
ing message)
rFactory.new
w StringRead
mentLevelle
rmerFactoryewTransformlFile());
);
)
wInstance()
der( message
er(document)
y.newInstancmer();
18
;
e ) )
);
ce();
Project –NoDate Classificati
<D3.2 -
}
o
ion
2855431-OcPU
Distributed P
} catc { }
}
1 t-13
Product Infor
String a
String p
SimpleDan
String xp
Result dn
aTransfo
ch (Exceptio
return
return "
rmation Store
arrivalDirecctx.lookup
providerCode
ateFormat danew SimpleDa
xmlFileName=providerCode
dest = new StreamReormer.transf
on e)
"Error ‐ "
"OK";
e>
ctory = (St("java:comp
e="feed";
ateFormat = ateFormat("
= e + "_" + d
esult( newform( src, d
+ e.getSta
ring)/env/arriva
yyyyMMddHHm
ateFormat.f
File(arrivadest );
ckTrace();
lDirectory"
mssSSS");
ormat(new D
lDirectory+
");
Date()) + ".
+xmlFileName
19
.xml";
e));
Project –NoDate Classificati
<D3.2 -
A.2: Th
package import jimport j import oimport oimport oimport oimport o public c
o
ion
2855431-OcPU
Distributed P
he XMLDo
com.holoni
java.util.Ajava.util.L
org.apache.org.w3c.domorg.w3c.domorg.w3c.domorg.w3c.dom
class XMLDo
private Doc
public XMLD{
this}
public Docu{
DOMI DocuElem StriStri List
for { } retu
}
private Str{
Stri Node for { }
1 t-13
Product Infor
ocumentLev
x.cloudserv
rrayList; ist;
xerces.dom..DOMImpleme.Document; .Element; .NodeList;
cumentLevel
ument input
DocumentLeve
s.inputXMLDo
ment levelF
Implementati
ument resultment root=re
ing strAuthoing strFeedI
t<Element> egetEleme
(Element en
Element root.app
urn result;
ring getFeed
ing result="
eList feedCh
(int j=0;j<
System.o if (feed{ r b}
rmation Store
veller
ices.utilit
DOMImplemenntation;
ler {
tXMLDocument
eller(Docume
ocument=inpu
File()
ion domImpl=
t=domImpl.cresult.getDoc
or=getAuthorId=getFeedId
entries= entList(inpu
ntry:entries
doc=createDpendChild(do
dId()
"";
hildren=inpu
<feedChildre
out.println(
dChildren.it
result=feedCbreak;
e>
ties;
ntationImpl;
t;
ent inputXML
utXMLDocumen
=new DOMImpl
reateDocumencumentElemen
r(); d();
utXMLDocume
s)
DocNode(entoc);
utXMLDocumen
en.getLength
(feedChildre
tem(j).getNo
Children.it
;
LDocument)
nt;
lementationI
nt(null, "adnt();
nt.getDocum
ry,result,s
nt.getDocume
h();j++)
en.item(j).
odeName()==
em(j).getFi
Impl();
dd", null);
entElement(
trAuthor,st
entElement(
getNodeName
"feed:id")
rstChild().
), "feed:en
trFeedId);
).getChildN
e());
getNodeValu
20
ntry");
Nodes();
ue();
Project –NoDate Classificati
<D3.2 -
o
ion
2855431-OcPU
Distributed P
retu}
private Str{
Stri Node for {
} retu
}
private Ele{
Elem Node Node if ( retu
}
private Lis{
List Node for { } retu
}
private Ele
{ Elem docE
1 t-13
Product Infor
urn result;
ring getAuth
ing result="
eList feedCh
(int j=0;j<
System.o if (feed{
rf
b}
urn result;
ement getEle
ment result=
eList childr
eList nodeLi
(nodeList.geresult=(
urn result;
t<Element>
t<Element> r
eList childr
(int j=0;j<
result.a
urn result;
ement create
ment docEntr
Entry.append
rmation Store
hor()
"";
hildren=inpu
<feedChildre
out.println(
dChildren.it
result= feedChildren.getNodeValubreak;
ement(Elemen
=null;
ren=element.
ist=element.
etLength()>0(Element)nod
getElementL
result=new A
ren=element.
<children.ge
add((Element
eDocNode(Ele Str
ry=document.
dChild(creat
e>
utXMLDocumen
en.getLength
(feedChildre
tem(j).getNo
n.item(j).gue();
nt element,
.getChildNod
.getElements
0) deList.item
List(Element
ArrayList<El
.getElements
etLength();j
t)children.
ement inputFing strAuth
.createEleme
teField("aut
nt.getDocume
h();j++)
en.item(j).
odeName()==
etFirstChil
String tag)
des();
sByTagName(t
(0);
t element, S
lement>();
sByTagName(t
j++)
item(j));
FeedEntry, Dhor, String
ent("doc");
thor", strAu
entElement(
getNodeName
"feed:autho
d().getFirs
)
tag);
String tag)
tag);
Document docstrFeedID)
uthor, docum
).getChildN
e());
or")
stChild()
cument,
ment));
21
Nodes();
Project –NoDate Classificati
<D3.2 -
o
ion
2855431-OcPU
Distributed P
docE Elem Elem ElemdocE ElemdocEidTu ElemdocE ElemdocE ElemdocE ElemElemdocE docE ElemElemListfor {
} Elem ElemElemdocE ElemdocE
ElemElemdocE
ElemdocE
1 t-13
Product Infor
Entry.append
ment id=getE
ment mainIdN
ment descripEntry.append
descript
ment idTupleEntry.appenduple.getAttr
ment publicaEntry.append
publicat
ment timestaEntry.append
timestam
ment update=Entry.append
document
ment title=gment owner=gEntry.append
owner.geEntry.append
owner.ge
ment contentment QLMListt<Element> Q(Element QL
docEntry
docEntryQ
ment accessI
ment erp=getment method=Entry.append
method.gment addressEntry.append
address
ment securitment auth=geEntry.append
auth.getment role=geEntry.append
rmation Store
dChild(creat
Element(inpu
Node=getElem
ption=getEledChild(creattion.getFirs
e=getElementdChild(creatribute("IDVa
ationId=getEdChild(creattionId.getTe
amp=getElemedChild(creatmp.getTextCo
=getElement(dChild(creatt));
getElement(igetElement(tdChild(createtAttribute(dChild(createtAttribute(
t=getElementts=getElemenQLMDescriptiLMDescriptio
y.appendChilQLMDescript
y.appendChilQLMDescripti
Info=getElem
tElement(acc=getElement(dChild(creatgetTextContes=getElementdChild(creats.getTextCon
ty=getElemenetElement(sedChild(creattTextContentetElement(sedChild(creat
e>
teField("fee
utFeedEntry,
ment(id, "Ma
ement(mainIdteField("id"stChild().ge
t(mainIdNodeteField("id_alue"), docu
Element(id, teField("pubextContent(
ent(id, "TimteField("pubontent(), do
(inputFeedEnteField("upd
inputFeedEnttitle, "OwneteField("tit("DatasourceteField("tit("PropertyU
t(inputFeedEnt(content, ions=getElemon:QLMDescri
ld(createFietion.getAtt
ld(createFieion.getAttr
ment(content
cessInfo, "E(erp, "MethoteField("accent(), documt(erp,"AddreteField("accntent(), do
nt(accessInfecurity, "AuteField("acct(), documeecurity, "RoteField("acc
ed_id", str
, "ID");
ainID");
dNode, "Desc", etTextConte
e, "IDTuple_tuple_valueument));
"Publicatioblication_id), document
meStamp"); blication_tiocument));
ntry, "Updatdated", upda
try, "Titleer"); tle_data_soueUID"), doctle_propertyID"), docum
Entry, "Cont"QLMList")mentList(QLMiptions)
eld("descriribute("Pri
eld("descriibute("Valu
t, "AccessIn
ERP"); od"); cess_info_ement)); ess"); cess_info_adcument));
fo, "Securituth"); cess_info_sent)); ole"); cess_info_se
FeedID, doc
cription");
nt(), docum
"); e",
onID"); d", ));
imestamp",
ted"); ate.getTextC
");
urce_uid", ument)); y_uid", ent));
tent"); ; MLists, "De
ption_primamaryKey"),d
ption_valuee"),documen
nfo");
rp_method",
ddress",
ty");
ecurity_aut
ecurity_role
ument));
ment));
Content(),
scription")
ary_key", document));
e", nt));
h",
e",
22
;
Project –NoDate Classificati
<D3.2 -
}
o
ion
2855431-OcPU
Distributed P
retu
}
private Ele{
Elemfielfiel retu
}
1 t-13
Product Infor
role.get
urn docEntry
ement create
ment fieldElldElement.seldElement.se
urn fieldEle
rmation Store
tTextContent
y;
eField(Strin
lement=documetAttribute(etTextConten
ement;
e>
t(), docume
ng fieldName
ment.createE("name", fient(content);
nt));
e, String co
Element("fieeldName); ;
ontent, Docu
eld");
ument docum
23
ent)
Project –NoDate Classificati
<D3.2 -
A.3: Th
package import import import import import import import import import import import import import import import import public {
o
ion
2855431-OcPU
Distributed P
he Cloud Se
e com.holon
java.io.Fijava.io.Fijava.io.IOjava.io.Injava.nio.fjava.nio.fjava.nio.fjava.nio.fjava.text.java.util.java.util.java.util.java.util.java.util.java.util.
com.sun.is
class Solr
private st private st private stprivate stprivate stprivate st private Sc public sta{ try { } cat { } } public voi{ ret
1 t-13
Product Infor
ervices Dae
ix.cloudser
le; leInputStre
OException; putStream; ile.Directoile.FileSysile.Files; ile.Path; SimpleDateFArrayList; Date; Properties;concurrent.concurrent.concurrent.
tack.intern
PostService
tatic final
tatic SolrPo
tatic Stringtatic Stringtatic Stringtatic int ti
cheduledExec
atic void ma
y
if(args{
} else if{
} else {
}
tch(Exceptio
e.print
id start()
trieveConfig
rmation Store
emon
rvices.servi
eam;
oryStream; tems;
ormat;
Executors;ScheduledExTimeUnit;
nal.logging.
e
Logger logg
ostService s
g arrivalDirg repositoryg postJarDirimeInterval=
cutorService
ain(String a
s.length ==
service.st
f(args.lengt
service.sto
logger.info
on e)
tStackTrace
gurationProp
e>
ice;
xecutorServi
.Logger;
ger =Logger
service = ne
rectory="";yDirectory="rectory="";=0;
e executor;
args[])
1 && "star
art();
th == 1 &&
op();
o("Required
();
perties();
ice;
.getLogger(S
ew SolrPostS
"";
t".equalsIg
"stop".equa
param: sta
SolrPostServ
Service();
noreCase(ar
lsIgnoreCas
rt or stop"
vice.class)
rgs[0]))
se(args[0]))
");
24
;
)
Project –NoDate Classificati
<D3.2 -
o
ion
2855431-OcPU
Distributed P
exe exe
} public voi{ if { } } private vo{ Pro try {
} cat { } } public cla{ @Ov pub {
1 t-13
Product Infor
ecutor = Exeecutor.sched
timeInt
id stop()
(executor !
executo
oid retrieve
operties pro
y
InputSt.getRes prop.lo arrivalrepositpostJartimeInt
tch (IOExcep ex.prin
ass SolrPost
verride blic void ru
System. RuntimeProcesstry {
rmation Store
ecutors.newSduleAtFixedRterval , Tim
!= null)
or.shutdown
eConfigurati
op = new Pro
tream inputSsourceAsStre
oad(inputStr
lDirectory=ptoryDirectorrDirectory=pterval=Integ
ption ex)
ntStackTrace
tEngine impl
un()
.out.println
e rt = Runtis pr=null;
Long curre
System.out ArrayList<S
get
moveFilesTo ArrayList<S
get pr = rt.exe
e>
SingleThreadRate(new SolmeUnit.SECON
();
ionPropertie
operties();
Stream = Soeam("config
ream);
prop.getProry=prop.getprop.getProger.parseIn
e();
lements Runn
n("Start Ex
ime.getRunt
ntTimestamp
.println(cu
String> filFilesToBeMo
oRepository
String> filFilesToBePo
ec(getCmdSt
dScheduledExlrPostEnginNDS);
es()
lrPostServi.properties
perty("arriProperty("rperty("postt(prop.getP
nable
port");
ime();
=getCurrent
rrentTimest
esToBeMovedoved(current
y(filesToBeM
esToBePosteosted(filesT
ring(filesT
xecutor(); e(), 0,
ce.class.ge");
valDirectorepositoryDiJarDirectorroperty("ti
Timestamp()
amp);
= tTimestamp);
Moved);
ed= ToBeMoved);
ToBePosted))
etClassLoade
ry"); irectory"); ry"); imeInterval"
);
;
);
25
er()
"));
Project –NoDate Classificati
<D3.2 -
";
o
ion
2855431-OcPU
Distributed P
}
prifil
{
}
pri { }
pri {
}
pri {
1 t-13
Product Infor
} catch ({
}
ivate ArrayLlesToBeMoved
ArrayLi for (St{
}
return
ivate void m
File re for (St{
}
ivate Long g
SimpleD
return
ivate String
String
for (St{
}
rmation Store
try { int} catch (Inte{ e.p}
(IOException
e.printSta
List<String>d)
ist<String>
tring fileTo
String file(String) f.subSequen fileToBeMo result.add
result;
moveFilesToR
epository=ne
tring fileTo
File file=
file.rename
getCurrentTi
DateFormat dnew SimpleD
Long.parseL
g getCmdStri
cmdString="
tring fileTo
cmdString+
e>
exitValue=
erruptedExc
printStackTr
n e)
ckTrace();
> getFilesTo
result=new
oBeMoved:fi
eName= ileToBeMovece(arrivalDoved.length
(repository
Repository(A
ew File(rep
oBePosted:f
new File(fi
eTo(new Fil
imestamp()
dateFormat DateFormat(
Long(dateFo
ing(ArrayLis
"java ‐jar
oBePosted:f
=" \"" + fi
=pr.waitFor(
eption e)
race();
oBePosted(A
ArrayList<
lesToBeMove
d Directory.le());
yDirectory +
ArrayList<St
ositoryDire
ilesToBePos
leToBePoste
e(repositor
= "yyyyMMddHH
rmat.format
st<String> f
\"" + postJ
ilesToBePos
leToBePoste
();
rrayList<St
String>();
d)
ength(),
+ fileName);
tring> file
ctory);
ted)
ed);
ry,file.getN
HmmssSSS");
(new Date()
filesToBePo
arDirectory
ted)
ed +"\"";
ring>
;
esToBePosted
Name()));
)));
osted)
y + "post.ja
26
d)
ar\"
Project –NoDate Classificati
<D3.2 -
reposit
}
o
ion
2855431-OcPU
Distributed P
}
pri {
tory=FileSy
} }
1 t-13
Product Infor
return
ivate ArrayL
ArrayLi Path
stems.getDe Directotry {
} catch (
} for (Pa{
}
return
rmation Store
cmdString;
List<String>
ist<String>
efault().get
oryStream<Pa
childrenOfD
(IOExceptione.printSta
ath childOfD
Long timestLon.su
1, chi
if (timest{ res}
result;
e>
> getFilesTo
result=new
tPath(arriva
ath> childr
Directory =
n e) { ckTrace();
Directory:c
tamp= g.parseLongbstring(chi
ldOfDirecto
amp<=curren
ult.add(chi
oBeMoved(lo
ArrayList<
alDirectory)
enOfDirecto
Files.newD
hildrenOfDi
g(childOfDirildOfDirecto
ory.toString
tTimestamp)
ildOfDirecto
ng currentT
String>();
);
ry=null;
DirectoryStr
rectory)
rectory.toStory.toString
g().indexOf(
ory.toString
Timestamp)
ream(reposit
tring() g().indexOf(
(".")));
g());
27
tory);
("_")+
Project –NoDate Classificati
<D3.2 -
Append
B.1: Ad
B.1.1: M
In the freader sh
o
ion
2855431-OcPU
Distributed P
dix B: XML
dvertisemen
Message XSD
figure belowhould howev
1 t-13
Product Infor
L messages
nts Coming
D schema: a
w, the XSD sver refer to D
F
rmation Store
s and relate
g from Gat
a graphic dep
schema folloD2.4 and D4.
Figure 9: The
e>
ed schemas
teways
piction
owed by adv1 to have a f
advertisement
s
vertisementsfinal descript
ts’ XSD schem
s is graphication of the sin
a
ally represenngle fields.
28
nted. The
Project –NoDate Classificati
<D3.2 -
B.1.2: M
<?xml ve<feed:PR
o
ion
2855431-OcPU
Distributed P
Message Exa
ersion="1.0REMANUS.fee<feed:title<feed:link <feed:updat<feed:autho
<fee</feed:auth<feed:id>ur<feed:entry
<ID>
</ID<Upd<Tit </Ti<Con
</Co
</feed:entr<feed:entry
<ID>
1 t-13
Product Infor
ample
" encoding=d xmlns:feee>PREMANUS Fhref="http:ed> 2013‐06‐
or> ed:name>Gateor>
rn:uuid:77D7y> >
<MainID> <
< <
<</MainID<Publica<TimeSta
D> dated>2013‐0tle>
<Owner Ditle> ntent>
<QLMList <
<
<
<
<
</QLMLis<AccessI <
< < <</Access
ontent> ry> y> >
rmation Store
"UTF‐8" stad="http://wFeed</feed:t//www.examp‐20T13:10:36
eway</feed:n
7860B‐930C‐4
> <Description
2b33</Descriptio<IDTuple IDVOriginalID=
<OEM<Cla<Ser
</IDTuple> D> ationID>2.1.amp>13717338
06‐20T13:10:
DatasourceUI
t> <Description4d9d‐9519‐6<Description 9ba3‐1bccd<Description 4530‐97fc‐<Description 4102‐b2ef‐<Description b6a4‐9de08st> Info> <ERP>
<Met<Add
</Ad</ERP> <Security>
<Aut<Rol
</Security>sInfo>
e>
andalone="nowww.premanustitle> ple.com"/> 6.483</feed
name>
46E1‐9FD3‐18
n> 85bd‐be5a‐4on> Value="urn:="716123123>0716123</OssID>012384ial>12345</
.1</Publicat836 </TimeSt
:36.407</Upd
ID="Product
n PrimaryKe6f4c88feeb6n PrimaryKed64b2a07 pron PrimaryKe‐9868abcbe9cn PrimaryKe‐fdf2471ee66n PrimaryKe8b74e7d0 pro
hod>GET</Meress>
http://1?product
dress>
h/> e/>
o"?>s.eu/xmlSche
:updated>
8C5F0F6BED4<
4452‐a52b‐e2
epc:id:sgti846.12345" OEM> 4</ClassID>/Serial>
tionID> tamp>
dated>
s" Property
y="product_9 property y="name" Vaoperty for ry="CAD_Filec1 property y="parent_V6e property y="BOM" Valoperty for r
ethod>
128.4.23.44:tID=bearing
ema/InfoPubl
</feed:id>
290bfbc15fe
n:0716123.0Schema="EPC
UID="Licens
_ID" Value="for recordIlue="New edrecordId‐1"/" Value="Nefor recordI
VIN" Value="for recordIue="New 979recordId‐1"/
5050/Produc
lisher/">
012384.12345C">
sePlate"/>
"New 346920dId‐1"/> df6bf07‐fdb2/> ew 21e83cfe‐Id‐1"/> "New a7c8bd3Id‐1"/> 9a0066‐e2e5‐/>
ctDB/getProd
29
5"
d6‐28ba‐
2‐49e8‐
‐5e82‐
30‐d311‐
‐4f58‐
ductInfo
Project –NoDate Classificati
<D3.2 -
</feed:P
o
ion
2855431-OcPU
Distributed P
</ID<Upd<Tit </Ti<Con
</Co
</feed:entrPREMANUS.fe
1 t-13
Product Infor
<MainID> <
< <
<</MainID<Publica<TimeSta
D> dated>2013‐0tle>
<Owner Ditle> ntent>
<QLMList < <
< < < </QLMLis<AccessI <
< < <</Access
ontent> ry> ed>
rmation Store
> <Description
2b33</Descriptio<IDTuple IDVOriginalID=
<OEM<Cla<Ser
</IDTuple> D> ationID>2.1.amp>13717338
06‐20T13:10:
DatasourceUI
t> <Description4df0‐b3cb‐f<Description9cb‐4013318<Description455d‐ad35‐a<Description4fb2‐97cb‐4<Description9a08‐1c6018
st> Info> <ERP>
<Met
</Me<Add
</Ad</ERP> <Security>
<Aut<Rol
</Security>sInfo>
e>
n> 85bd‐be5a‐4on> Value="urn:="716123123>0716123</OssID>012384ial>12345</
.2</Publicat836</TimeSta
:36.407</Upd
ID="Product
n PrimaryKef4512181cedn PrimaryKe840085 propn PrimaryKeab4c32c7602n PrimaryKe468bb513cfcn PrimaryKe82904e5 pro
hod> GET
thod> ress>
http://1?product
dress>
h/> e/>
4452‐a52b‐e2
epc:id:sgti846.12345" OEM> 4</ClassID>/Serial>
tionID> amp>
dated>
s" Property
y="product_a property y="name" Vaerty for rey="CAD_File2 property y="parent_Vc property y="BOM" Valperty for r
128.4.23.44:tID=bearing
290bfbc15fe
n:0716123.0Schema="EPC
UID="Motor"
_ID" Value="for recordIlue="New b9cordId‐1"/>" Value="Nefor recordI
VIN" Value="for recordIue="New 654ecordId‐1"/
5050/Produc
012384.12345C">
/>
"New 5b90960Id‐1"/> 90135ba‐c519> ew a1a5aad9‐Id‐1"/> "New fb1ac3bId‐1"/> 4c0014‐cc76‐/>
ctDB/getProd
30
5"
09‐152f‐
9‐4fb5‐
‐0ae3‐
b1‐860c‐
‐43a3‐
ductInfo
Project –NoDate Classificati
<D3.2 -
B.2: M
B.2.1: T
Messageenvelopeadvertiseof inform
B.2.2: A
<?xml ve<add>
o
ion
2855431-OcPU
Distributed P
essages sub
The XSD sc
es submittede which wrements. In evmation. Ever
A message
ersion="1.0
<doc> <fie
</fi<fie
<fie
<fie </fi<fie
</fi
<fie </fi
<fie
</fi<fie
</fi<fie
</fi<fie </fi<fie
</fi<fie
1 t-13
Product Infor
bmitted to A
chema
d to Apacheraps “doc” very “doc” ery field has a
Figure 10
Example
"?>
eld name="Au Gat
eld> eld name="Fe
urneld name="id
2b3eld name="ID
urnield> eld name="Pu 2.eld> eld name="Pu 13
eld> eld name="Up
20eld> eld name="Ti
Productsield> eld name="Ti
LicensePield> eld name="QL New 3ield> eld name="QL New e
ield> eld name="QL
rmation Store
Apache Sol
e Solr have tags, and
element therea name, whic
0: XSD schema
uthor"> teway
eedID"> n:uuid:77D78d"> 3385bd‐be5a‐DTupleValue"n:epc:id:sgt
ublicationID1.1
ublicationTi71733836
pdated"> 013‐06‐20T13
itleDataSours
itlePropertyPlate
LMListProduc346920d6‐28b
LMListName">df6bf07‐fdb
LMListCADFil
e>
lr
an extreme“doc” tags
e are many “ch identifies i
a of messages s
860B‐930C‐46
‐4452‐a52b‐e"> tin:0716123
D">
imestamp">
3:10:36.407
rceUID">
yUID">
ctID"> ba‐4d9d‐9519
> b2‐49e8‐9ba3
le">
ely simple Xare basical
“field” nodesits purpose, a
ubmitted to Ap
6E1‐9FD3‐18
e290bfbc15f
.012384.123
9‐6f4c88feeb
3‐1bccd64b2a
XSD schemally a replicwhich conv
and a text con
pache Solr
C5F0F6BED4<
e</field>
45
b69 property
a07 property
a: there’s acation of thvey the variouontent.
/field>
y for recor
y for record
31
n “Add” he single us pieces
rdId‐1
dId‐1
Project –NoDate Classificati
<D3.2 -
o
ion
2855431-OcPU
Distributed P
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie<fie
</doc> <doc>
<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
</fi<fie
1 t-13
Product Infor
New 2ield> eld name="QL New
ield> eld name="QL New
ield> eld name="Ac
GET ield> eld name="Ac
http://1ield> eld name="Aceld name="Ac
eld name="AuGateway
ield> eld name="Fe
urn:uuidield> eld name="id
3b3385bdield> eld name="ID
urn:epc:ield> eld name="Pu
2.1.2 ield> eld name="Pu
13717338ield> eld name="Up
2013‐06‐ield> eld name="Ti
Productsield> eld name="Ti
Motor ield> eld name="QL
New 5b90ield> eld name="QL
New b901ield> eld name="QL
New a1a5ield> eld name="QL
New fb1aield> eld name="QL
New 654cield> eld name="Ac
GET
rmation Store
21e83cfe‐5e8
LMListParenta7c8bd30‐d3
LMListBOM">979a0066‐e2
ccessInfoERP
ccessInfoAdd128.4.23.44
ccessInfoSecccessInfoSec
uthor">
eedID"> d:77D7860B‐9
d"> d‐be5a‐4452‐
DTupleValue":id:sgtin:07
ublicationID
ublicationTi836
pdated"> ‐20T13:10:36
itleDataSours
itleProperty
LMListProduc09609‐152f‐4
LMListName">135ba‐c519‐4
LMListCADFil5aad9‐0ae3‐4
LMListParentac3b1‐860c‐4
LMListBOM">c0014‐cc76‐4
ccessInfoERP
e>
82‐4530‐97fc
tVin"> 311‐4102‐b2e
2e5‐4f58‐b6a
PMethod">
dress"> :5050/Produ
curityAuth"/curityRole"/
930C‐46E1‐9
‐a52b‐e290bf
"> 716123.01238
D">
imestamp">
6.407
rceUID">
yUID">
ctID"> 4df0‐b3cb‐f4
> 4fb5‐a9cb‐40
le"> 455d‐ad35‐a
tVin"> 4fb2‐97cb‐46
43a3‐9a08‐1
PMethod">
c‐9868abcbe9
ef‐fdf2471ee
a4‐9de08b74e
ctDB/getPro
/> />
FD3‐18C5F0F
fbc15fe
84.12345
4512181ceda
01331840085
b4c32c76022
68bb513cfcc
c60182904e5
9c1 property
e66e propert
e7d0 propert
ductInfo?pr
6BED4
property f
property f
property f
property f
property f
y for recor
ty for reco
ty for reco
roductID=bea
for recordId
for recordId
for recordId
for recordId
for recordId
32
rdId‐1
rdId‐1
rdId‐1
aring
d‐1
d‐1
d‐1
d‐1
d‐1
Project –NoDate Classificati
<D3.2 -
</add>
B.3: M
B3.1: Su
In order using th
The fieldthe primsearches
o
ion
2855431-OcPU
Distributed P
</fi<fie
</fi<fie<fie
</doc>
essage com
ubmitted qu
to get the pre following h
http:
d that was inmary key of ts performed b
1 t-13
Product Infor
ield>eld name="Ac
http://1ield> eld name="Aceld name="Ac
ming from A
uery
revious examhttp URL:
://localhost:9
ndexed in thethe indexingby PREMAN
rmation Store
ccessInfoAdd128.4.23.44
ccessInfoSecccessInfoSec
Apache Sol
mple message
9943/solr/sel
e original advg engine, andNUS Clients.
e>
dress"> :5050/Produ
curityAuth"/curityRole"/
r after a qu
e from Apac
ect?q=id:2.2
vertisement wd it is the on.
ctDB/getPro
/> />
uery has be
che Solr, the
2.2&indent=1
was Publicatne that shoul
ductInfo?pr
een submitt
document re
1.
tionID; this fld be provid
roductID=bea
ted
epository wa
field acts theded as a para
33
aring
s queried
erefore as ameter in
Project –NoDate Classificati
<D3.2 -
B3.2: X
An Apac“result” paramet
o
ion
2855431-OcPU
Distributed P
SD Message
che Solr repltag in the grers and searc
Figu
1 t-13
Product Infor
e Schema
ly consists oraphic schemching perform
re 11: Graphic
rmation Store
f a header (hma). The “lst”mances; the p
cal representat
e>
here specified” element inpayload cont
tion of the XSD
d by the tag ncorporates atains all info
D schema of A
“lst”) and a pll meaningfurmation the c
pache Solr’s re
payload (looul details aboclient asked
replies
34
ok for the out query for.
Project –NoDate Classificati
<D3.2 -
B3.3:Ap
<?xml v
<respons
o
ion
2855431-OcPU
Distributed P
pache Solr’s
version="1.
se>
<lst name="
<int
<int
<lst
</ls
</lst>
<result nam
<doc
1 t-13
Product Infor
s reply
.0" encodin
responseHea
t name="stat
t name="QTim
t name="para
<str nam
<str nam
<str nam
<str nam
st>
me="response
c>
<str nam
<str nam
<str nam
u
</str>
<str nam
2
</str>
<str nam
u
</str>
<str nam
2
</str>
<str nam
1
</str>
<str nam
2
</str>
<str nam
M
</str>
<str nam
F
</str>
<arr nam
<
<
rmation Store
ng="UTF-8"?
ader">
tus">0</int>
me">5</int>
ams">
me="indent">
me="q">2.2.2
me="_">13808
me="wt">xml<
e" numFound=
me="author">
me="author_s
me="feed_id"
urn:uuid:77D
me="descript
2b3385bd‐be5
me="id_tuple
urn:epc:id:s
me=" id">
2.2.2
me="publicat
1371733836
me="updated"
2013‐06‐20T1
me="title_da
Maintenance
me="title_pr
Filter
me="descript
<str>product
<str>parent_
e>
?>
>
>true</str>
2</str>
892737757</
</str>
="1" start="
>Gateway</st
s">Gateway</
">
D7860B‐930C
tion">
5a‐4452‐a52
e_value">
sgtin:07161
tion_timesta
">
13:10:36.40
ata_source_
roperty_uid
tion_primary
t_ID</str>
_VIN</str>
str>
"0">
tr>
/str>
‐46E1‐9FD3‐
b‐e290bfbc1
23.012384.1
amp">
7
uid">
">
y_key">
18C5F0F6BED
5fe
2345
D4
35
Project –NoDate Classificati
<D3.2 -
</respon
o
ion
2855431-OcPU
Distributed P
</do
</result> nse>
1 t-13
Product Infor
<
<
</arr>
<arr nam
<
<
<
<
<
<
<s
<
</arr>
<str nam
G
</str>
<str nam
h
p
</str>
<str nam
<str nam
<long na
oc>
rmation Store
<str>filter_
<str>filter_
me="descript
<str>
New 4
reco
</str>
<str>
New
reco
</str>
<str>
New
reco
</str>
str>
New
reco
</str>
e="access_i
GET
me="access_i
http://128.4
productID=be
me="access_i
me="access_i
ame="_versio
e>
_Type</str>
_Quantity</
tion_value"
424d154e‐fc
rdId‐1
b7e3c7f5‐e4
rdId‐1
118a909d‐93
rdId‐1
a6283e88‐8b
rdId‐1
info_erp_met
info_addres
4.23.44:505
earing
info_securit
info_securit
on_">144786
str>
>
3e‐4527‐8fd
4d7‐48a0‐9e5
3bf‐4130‐ae5
bea‐44e9‐814
thod">
s">
0/ProductDB
ty_auth"/>
ty_role"/>
33712547266
de‐303aeff05
5f‐e857cb097
57‐90059a4ca
4a‐bc76363e3
/getProduct
56</long>
5176 propert
7899 propert
afc3 propert
3197 propert
tInfo?
36
ty for
ty for
ty for
ty for