Client CLI
Iprogrammi lienteriguardantiilGRCS,eseguibilidalineadi omando sono
i seguenti: r s- omplete-op r s- omplete-ops r s- reate-repl r s-fet h-master-repl r s-get-proto ol r s-get-quorum r s-get-stat r s-print-dfd ont r s-private-master r s-set-quorum r s-subs ribe-file r s-subs ribe-ldb r s-subs ribe-repl r s-update-db r s-update-file r s-unsubs ribe-lid
Gli eseguibiliCLI perquanto riguardail LRCS sono:
lr s-get-status lr s-nowat h lr s-remove-wat her lr s-restart-wat her lr s-set-dbupdater lr s-set-gr s lr s-stop-wat her
lr s-subs ribe
lr s-subs ribe-DBrepli a
lr s-unsubs ribe
Metodi remoti liente GRCS lass WRCS__ reateRepli aResponse { publi : har
∗
addr; int err ode; }; lass WRCS__getVersionResponse { publi : Version res; int err ode; }; lass WRCS__getMasterURIResponse { publi : har∗
file ; har∗
lr s; int err ode; }; lass WRCS__getUPProto olResponse { publi : NS_ProtEnum res; int err ode; }; lass W R C S _ _ g e t Q u o r u m R e s p on s e { publi : int res; int err ode; }; lass WRCS__getStatusResponse { publi :NS_UpdStatus res; int err ode; }; lass WRCS__listRepsResponse { publi : std::ve tor<xsd__string> list ; std::ve tor<int> vers; int err ode; }; lass WRCS__listLRCSsResponse { publi : std::ve tor<xsd__string> list ; int err ode; }; lass WRCS__updateDBRespon se { publi : UpdId res; int err ode; }; lass W R C S _ _ u p d a te D Bb Re sp ons e { publi : double imprStatus; NS_UpdRes res; int err ode; }; lass WRCS__updateFileResponse { publi : UpdId res; int err ode; }; lass WRCS__updateFilebResponse { publi : double imprStatus; NS_UpdRes res; int err ode; }; lass WRCS__updateFilebResponse { publi : double imprStatus; NS_UpdRes res; int err ode;
int WRCS__ ompleteOp(URI addr, int& err ode);
int WRCS__ ompleteOps(int& err ode);
int WRCS__getVersion(LId lfn , VOname vo,
WRCS__getVersionResponse &r);
int WRCS__getMasterURI(LId lfn , VOname vo,
WRCS__getMasterURIResponse& r); int W R C S _ _ g e t U P Pr o to o l( WRCS__getUPProto olResponse &r); int WRCS__getQuorum(W R C S _ _ g e t Q u o r u m R e s p on s e &r); int W R C S _ _ g e t S t a t us(UpdId id, WRCS__getStatusResponse &r); int WRCS__listReps(LId lfn , WRCS__listRepsResponse& r);
int WRCS__listLRCSs(WRCS__listLRCSsResponse& r);
int W R C S _ _ p r i n t D f d C o n t(int& error ode);
int WRCS__subs ribeRepli a(FileURL rep, LId lfn ,
URI lr s , int master,
int& err ode);
int WRCS__setQuorum(int quorum, int& err ode);
int WRCS__subs ribeFile(LId lfn , int& err ode);
int WRCS__subs ribeLDB(LId ldb, int& err ode);
int WRCS__unsubs ribeLId(LId lid , int& err ode);
int W R C S _ _ u n s u b s r i b e L R C S( har
∗
lr s , int& err ode);int WRCS__updateDB(LId lfn , FileURL sr , int quorum,
VOname vo, int version , WRCS__updateDBRe spons e &r);
int WRCS__updateDBb(LId lfn , FileURL sr , int quorum,
VOname vo, int version , W R C S _ _ u p d a t e D BbR es pon se &r);
int WRCS__updateFile(LId lfn , FileURL sr , int quorum,
Version ver, VOname vo, WRCS__updateFileResponse &r);
int WRCS__updateFileb(LId lfn , FileURL sr , int quorum,
Version ver, VOname vo, WRCS__updateFilebResponse &r);
Metodi remoti liente LRCS lass WLRCS__getUpdStatusResponse {publi : NS_UpdStatus res; int err ode; }; lass WLRCS__unsubs ribeResponse {publi : har
∗
res; int err ode; }; int W L R C S _ _ g e t U p d S t a t u s(UpdId id, WLRCS__getUpdStatusResponse &r);int WLRCS__removeWat her( har
∗
dbname, int& err ode);int WLRCS__restartWat her( har
∗
dbname, int& err ode);int WLRCS__setGRCSad dre ss( har
∗
host, har∗
port,int& err ode);
int WLRCS__stopWat her( har
∗
dbname, int& err ode);int WLRCS__subs ribe( har
∗
n a m e, int& err ode);int WLRCS__subs ribeDBrepli a( har
∗
ldb, har∗
dbname,har
∗
repuser , har∗
reppassw, har∗
subtype,int& err ode);int WLRCS__unsubs ribe(WLRCS__unsubs ribeResponse &r);
int WLRCS__unsubs ribeDBrepli a( har
∗
ldb,Des rizione WSDL del metodo
getStatus
<?xml version="1.0" en oding="UTF
−
8 "?> <definitions n a m e="Servi e"targetNamespa e="http://lo alhost:80/Servi e.wsdl"
xmlns:tns="http://lo alhost:80/Servi e.wsdl"
xmlns:SOAP
−
ENV="http://s hemas.xmlsoap.org/soap/envelope/"xmlns:SOAP
−
ENC="http://s hemas.xmlsoap.org/soap/en oding/"xmlns:xsi="http:// www.w3.org/2001/XMLS hema
−
instan e"xmlns:xsd="http:// www.w3.org/2001/XMLS hema"
xmlns:WRCS="http://tempuri.org/WRCS.xsd"
xmlns:SOAP="http://s hemas.xmlsoap.org/wsdl/soap/"
xmlns:MIME="http://s hemas.xmlsoap.org/wsdl/mime/"
xmlns:DIME="http://s hemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
xmlns:WSDL="http://s hemas.xmlsoap.org/wsdl/"
xmlns="http://s hemas.xmlsoap.org/wsdl/">
<types>
<s hema targetNamespa e="http://tempuri.org/WRCS.xsd"
xmlns:SOAP
−
ENV="http://s hemas.xmlsoap.org/soap/envelope/"xmlns:SOAP
−
ENC="http://s hemas.xmlsoap.org/soap/en oding/"xmlns:xsi="http:// www.w3.org/2001/XMLS hema
−
instan e" xmlns:xsd="http:// www.w3.org/2001/XMLS hema" xmlns:WRCS="http://tempuri.org/WRCS.xsd" xmlns="http://www.w3.org/2001/XMLS hema" elementFormDefault="unqualified" attributeFormDefault="unqualified"><import namespa e="http://s hemas.xmlsoap.org/soap/en oding/"/> <simpleType n a m e=" T
−
UpdStatus"><restri tion base="\input{appendi e.tex}xsd:string"> <enumeration value="CREATED"/>
<enumeration value=" FAILED"/> <enumeration value="UNCOMPLETED"/> <enumeration value="DONE"/>
<enumeration value="NA"/> </restri tion>
</simpleType>
<!
−−
operation request element−−
><element n a m e="getStatus"> < omplexType>
<sequen e>\input{appendi e.tex}
<element n a m e="id" type="UpdId"
minO urs="1" maxO urs="1"/> </sequen e>
</ omplexType>
</element>
<!
−−
operation response element−−
><element n a m e="getStatusResponse"> < omplexType>
<sequen e>
<element n a m e="res" type="NS
−
UpdStatus"minO urs="1" maxO urs="1"/> <element n a m e="err ode" type="xsd:int"
minO urs="1" maxO urs="1"/> </sequen e> </ omplexType> </element> </s hema> </types> <message n a m e="getStatus"> <part n a m e="parameters" element="WRCS:getStatus"/> </message>
<message n a m e="getStatusResponse">
<part n a m e="parameters" element="WRCS:getStatusResponse"/> </message>
<portType n a m e="Servi ePortType"> <operation n a m e="getStatus">
<do umentation>
Servi e definition of fun tion W R C S _ _ g e t S t a t us
</do umentation>
<input message="tns:getStatus"/>
<output message="tns:getStatusResponse"/> </operation>
<SOAP:binding style="do ument"
transport="http://s hemas.xmlsoap.org/soap/http"/> <operation n a m e="getStatus">
<SOAP:operation soapA tion=""/> <input>
<SOAP:body parts="parameters" use="literal"/> </input>
<output>
<SOAP:body parts="parameters" use="literal"/> </output> </operation> </binding> <servi e n a m e="Servi e"> <do umentation> gSOAP 2.7.9 generated servi e definition </do umentation> <port n a m e="Servi e" binding="tns:Servi e"> <SOAP:address lo ation="http://lo alhost:80"/> </port> </servi e>
Albero delle dire tory
dell'appli azione Web onstanza
L'appendi e ontienel'alberodelledire torydell'appli azioneWeb onstanza.
onstanza/ |-- GuiGr s | |-- CompleteOp | |-- CompleteOps | |-- CreateRepl | |-- Fet hMasterRepl | |-- GetProto ol | |-- GetQuorum | |-- GetStat | |-- ListLserv | |-- ListReps | |-- PrintDfd ont | |-- PrivateMaster | |-- SetQuorum | |-- Subs ribeFile | |-- Subs ribeLdb | |-- Unsubs ribeLid | |-- Unsubs ribeLr s | |-- UpdateDb | |-- UpdateFile | `-- holders |-- GuiLr s | |-- GetStat | |-- RemoveWat her
| |-- RestartWat her | |-- SetGr s | |-- StopWat her | |-- Subs ribe | |-- Subs ribeDbRepl | |-- Unsubs ribe | `-- Unsubs ribeDbRepl |-- META-INF `-- WEB-INF |-- lasses | |-- Gr s | | |-- CompleteOp | | |-- CompleteOps | | |-- CreateRepl | | |-- Fet hMasterRepl | | |-- GetProto ol | | |-- GetQuorum | | |-- GetStat | | |-- List | | |-- List_ultimo | | | `-- holders- opia | | |-- PrintDfd ont | | |-- PrivateMaster | | |-- SetQuorum | | |-- Subs ribeFile | | |-- Subs ribeLdb | | |-- Unsubs ribeLid | | |-- Unsubs ribeLr s | | |-- UpdateDb | | `-- UpdateFile | |-- Lr s | `-- holders |-- lib `-- tags
Sottopa kages Gr s e relative
lassi
L'appendi e ontienel'elen odeisottopa kages delpa kage Gr selerelative
lassi: Gr s/ |-- CompleteOp | |-- GsiPort.java | |-- R sCompleteOp.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- CompleteOps | |-- GsiPort.java | |-- R sCompleteOps.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- CreateRepl | |-- GsiPort.java | |-- R sCreateRepl.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- Fet hMasterRepl
| |-- CopyFile.java | |-- GsiPort.java | |-- R sFet hMasterRepl.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- GetProto ol | |-- GsiPort.java | |-- R sGetProto ol.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- GetQuorum | |-- GsiPort.java | |-- R sGetQuorum.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- GetStat | |-- GsiPort.java | |-- R sGetStat.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- List | |-- GsiPort.java | |-- R sListReps.java | |-- R sListserv.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- PrintDfd ont | |-- GsiPort.java | |-- R sPrintDfd ont.java | |-- Servi e.java
| |-- Servi ePortType.java | `-- Servi eStub.java |-- PrivateMaster | |-- GsiPort.java | |-- R sPrivateMaster.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- SetQuorum | |-- GsiPort.java | |-- R sSetQuorum.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- Subs ribeFile | |-- GsiPort.java | |-- R sSubs ribeFile.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- Subs ribeLdb | |-- GsiPort.java | |-- R sSubs ribeLdb.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- Unsubs ribeLid | |-- GsiPort.java | |-- R sUnsubs ribeLid.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- Unsubs ribeLr s | |-- GsiPort.java | |-- R sUnsubs ribeLr s.java
| |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java |-- UpdateDb | |-- GsiPort.java | |-- R sUpdateDb.java | |-- Servi e.java | |-- Servi eLo ator.java | |-- Servi ePortType.java | `-- Servi eStub.java `-- UpdateFile |-- GsiPort.java |-- R sUpdateFile.java |-- Servi e.java |-- Servi eLo ator.java |-- Servi ePortType.java
Pa kages Lr s e relative lassi
L'appendi e ontiene l'elen odelle lassi del pa kage Lr s:
Lr s/ |-- GsiPort.java |-- Lr sGetStat.java |-- Lr sRemoveWat her.java |-- Lr sRestartWat her.java |-- Lr sSetGr s.java |-- Lr sStopWat her.java |-- Lr sSubs ribe.java |-- Lr sSubs ribeDbRepl.java |-- Lr sUnsubs ribe.java |-- Lr sUnsubs ribeDbRepl.java |-- Servi e.java |-- Servi eLo ator.java |-- Servi ePortType.java `-- Servi eStub.java
Pagine JSP relative ai metodi del
GRCS
L'appendi e ontiene l'albero delle dire tory delle pagine JSP relative ai
metodi lientedelGRCS.
GuiGr s/ |-- CompleteOp | |-- ompleteOp.jsp | `-- r sCompleteOp.jsp |-- CompleteOps | |-- ompleteOps.jsp | `-- r sCompleteOps.jsp |-- CreateRepl | |-- reateRepl.jsp | `-- r sCreateRepl.jsp |-- Fet hMasterRepl | |-- fet hMasterRepl.jsp | |-- masterRepl.jsp | `-- r sFet hMasterRepl.jsp |-- GetProto ol | |-- getProto ol.jsp | `-- r sGetProto ol.jsp |-- GetQuorum | |-- getQuorum.jsp | `-- r sGetQuorum.jsp |-- GetStat | |-- getStat.jsp | `-- r sGetStat.jsp
|-- ListLserv | |-- listLserv.jsp | `-- r sLserv.jsp |-- ListReps | |-- listReps.jsp | `-- r sListReps.jsp |-- PrintDfd ont | |-- printDfd ont.jsp | `-- r sPrintDfd ont.jsp |-- PrivateMaster | |-- file.jsp | |-- privateMaster.jsp | |-- r sPrivateMaster.jsp | `-- sele tfile.jsp |-- SetQuorum | |-- r sSetQuorum.jsp | `-- setQuorum.jsp |-- Subs ribeFile | |-- r sSubs ribeFile.jsp | `-- subs ribeFile.jsp |-- Subs ribeLdb | |-- r sSubs ribeLdb.jsp | `-- subs ribeLdb.jsp |-- Unsubs ribeLid | |-- r sUnsubs ribeLid.jsp | `-- unsubs ribeLid.jsp |-- Unsubs ribeLr s | |-- r sUnsubs ribeLr s.jsp | `-- unsubs ribeLr s.jsp |-- UpdateDb | |-- r sUpdateDb.jsp | `-- updateDb.jsp `-- UpdateFile |-- r sUpdateFile.jsp
Pagine JSP relative ai metodi del
LRCS
L'appendi e ontiene l'albero delle dire tory delle pagine JSP relative ai
metodi lientedelLRCS.
GuiLr s/ |-- GetStat | |-- getStat.jsp | `-- lr sGetStat.jsp |-- RemoveWat her | |-- lr sRemoveWat her.jsp | `-- removeWat her.jsp |-- RestartWat her | |-- lr sRestartWat her.jsp | `-- restartWat her.jsp |-- SetGr s | |-- lr sSetGr s.jsp | `-- setGr s.jsp |-- StopWat her | |-- lr sStopWat her.jsp | `-- stopWat her.jsp |-- Subs ribe | |-- lr sSubs ribe.jsp | `-- subs ribe.jsp |-- Subs ribeDbRepl | |-- lr sSubs ribeDbRepl.jsp | `-- subs ribeDbRepl.jsp |-- Unsubs ribe
| |-- lr sUnsubs ribe.jsp
| `-- unsubs ribe.jsp
`-- Unsubs ribeDbRepl
|-- lr sUnsubs ribeDbRepl.jsp
Manuale utente
J.1 Installazione
Per installarel'interfa ia Web ène essario disporre di:
•
un server Tom at.•
unaJVM.NelleprovefatteèstatoutilizzatoJava5nellaversioneJDK (Java Development Kit)della J2SE (Java Standard Edition).•
le omponenti spe i ate nel manualeutente diCONStanza [16℄.Le pagineJSP ed il byte- ode Javasono in lusiin un pa hetto RPM di
nome onstanza.rpm. Il pa hetto RPM esegue la messa in opera
automa-ti a dell'interfa ia Web, infatti le varie omponenti dell'appli azione Web
sono state inserite inun le ditipo WAR, hiamato onstanza.war.
All'installazione del pa hetto RPM viene eseguito un pi olo s ript he
eseguelamessainoperadell'interfa iaWebsuTom atedaggiunge,nel aso
non sia presente, una riga nel le $CATALINA_HOME/bin/set la sspa th.s h
on ilper orsoallalibreria og-url.jar ne essaria all'ese uzione delleJava
Server Pages da browser. La libreriaè in lusa in onstanza.war.
Per eseguire i programmi liente è ne essario ongurare la GSI sulla
ma hina in ui è installatoTom at, ome spe i ato nelmanuale utente di
CONStanza [16℄.
Nell'utilizzo previsto, ilserver Tom at girerà suuna ma hina dierente
rispetto a quella da ui il liente eettua le ri hieste attraverso il browser.
Ad ogni modo il liente può installare il server Tom at sulla sua ma hina
J.2 Congurare Tom at
Comegiàa ennato nel apitolopre edente, peravere unamaggiore
si urez-zanel asostandard in uiil lientesi onnette adun serverTom atremoto,
la onnessione avviene attraverso HTTPS. Per fare iò è ne essario
esegui-re le opportune ongurazioni in Tom at, la versione utilizzata nelle prove
eettuate è la5.5.20 (per maggiori dettagli si rimandaalla do umentazione
spe i a diTom at).
Innanzitutto per quelli he lavorano on ve hie JVM, tipo la 1.3, 'è
bisogno di installare un pa kage relativo alla si urezza, JSSE (Java
Se u-re So ket Extension), reperibile al link http://java.sun. om/produ ts/jsse/.
Nelleversionipiù re ente ilpa kage JSSE è giàin luso.
JSSE usa un keystore per salvare e re uperare i erti ati, il keystore
altro non è he un repository di erti ati.
Quello he serveperattivareilproto olloHTTPSsuTom atèun
erti- ato. Attraverso iltoolkeytool, presente nelpa kage JSSE, generiamo una
hiaveed una ri hiesta di erti ato per Tom at:
keytool
−
genkey−
alias tom at−
keyalg RSAUna voltarmato dalla CAil erti ato deve essere importato:
keytool
−
import−
alias tom at−
truste erts−
file <il_ ertifi ato_di_tom at>Quindi ène essario importare an he il erti ato dellaCA:
keytool
−
import−
keystore/usr/lib/j2sdk1.5
−
sun/jre/lib/se urity/ a erts−
file< ertifi ato_della_CA>
−
alias aFatto questo andiamo a modi are il le di ongurazione server.xml
he si trova nella sotto artella onf di Tom at. In questo le dobbiamo
toglierei ommentiallaseguente parte:
<!
−−
Define a S S L HTTP/1.1 Conne tor on port 8443−−
><Conne tor port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
a eptCount="100" s heme="https" se ure="true"
lientAuth="false" sslProto ol=" TLS" />
Quindisempreall'internodiquestaparte ambiamoilvaloredell'elemento
Inne dato he nel nostro aso non abbiamo utilizzato la password di
defaultprevistaperilkeystore,ène essariospe i arelapasswordutilizzata
aggiungendo:
keystorePass="password_utilizzata_per_il_keystore"
J.3 Congurare il browser
Perpermetterel'autenti azionedel lienteène essario istruireil browser, in
modo he presenti il erti ato al server.
Nelleprove fatteè stato utilizzatoun browser Firefox,e ome erti ato
liente, il solito erti ato utilizzato dal liente per a edere a CONStanza
(user ert.pem). Il erti ato deve essere onvertito in formato PKCS12
per poter essere presentato dal browser. Abbiamo eettuato la onversione
utilizzando openssl.
openssl pk s12
−
export−
in .globus/user ert.pem−
inkey .globus/userkey.pem−
out red.p12Quindiil erti ato nelformatoPKCS12 può essere aggiuntoal browser. In
Firefox leoperazionida eseguire sono leseguenti:
•
Dal menu Modifi a selezionare Preferenze.•
Andare allavo e Avanzate e s egliereCifratura.•
Selezionare Mostra Certifi ati.•
Andaresullavo eCertifi ati Personaliedattraversoiltastoimporta importareil proprio erti ato.In questo modo dal browser on il erti ato è possibile onnettersi al
serverTom atsu uisitroval'interfa iaWeb per onstanzaallaportas elta
per il proto ollo HTTPS (nelle nostre prove la 8443). Per prima osa si
ri eveun avviso dipresentazionedel erti atodelserver Tom at,una volta
a ettato viene hiestalapassword del erti atoutente, una voltaimmessa
appare lapagina iniziale.
J.4 Pagina iniziale
J.5 Creazione Proxy
Perpotereseguirelevariefunzionalità lienteène essario hesullama hina
in uirisiedeilserver Tom at,quindilama hina he eettuale hiamateai
metodi, sia presente un erti ato proxy. Cli ando sul link Create Proxy
si a edeallapagina mostratain guraJ.2.
ComesinotasempredallaguraJ.2ène essarioimmetterelapassphrase
del proprio erti ato utente. Cli ando su invia ri hiesta viene eseguito il
omandogrid-proxy-inite reatoil erti atoproxysullama hinain ui
viene eseguito ilserver Tom at.
J.6 Convalida dei dati
Pertuttiiformtestualiin uil'utenteimmettedati,siariguardantiilGRCS
he LRCS viene eettuata una onvalida dei dati. In tutti i ampi in ui
viene hiesto di inserire un indirizzo, sono a ettati indirizzi nella forma
nomehost.nomedominio o indirizzo IP, in entrambi i asi senza il numero
di porta. L'indirizzonon deve essere pre eduto daltipodi proto ollo, ome
http:// o httpg://.
Nei ampitestualirelativiallaporta possonoessere inseritisolo aratteri
numeri i.
Nel aso in ui i dati inseriti non superino la onvalida, apparirà un
messaggiodi alert edelle indi azioni ome mostratoingura J.3.
J.7 GRCS User Interfa e
Selezionando il ollegamento GRCS User Interfa e dalla pagina iniziale si
a ede ad una pagina on i ollegamenti alle varie funzioni, mostrata in
gura J.4.
J.7.1 Set Quorum
Questo omando è utilizzato per settare il valore del quorum. All'inizio il
quorumviene settatoutilizzandoilledi ongurazionedelGRCS. L'utente
può ambiarequestovaloreutilizzandoquesto omando. Unavolta ambiato
tutte le operazioni di update utilizzeranno il nuovo valore. Come mostrato
ingura J.5 ilform si ompone di:
•
RCS address: l'indirizzodel GRCS.FiguraJ.5: Set Quorum
•
Quorum: selezionare un valore peril Quorum.Adesempio eseguendo la ri hiesta on il quorum ad1 otteniamo la risposta
mostratain guraJ.6.
J.7.2 Get Quorum
ChiamandolaGet Quorumèpossibileottenereilvaloredelquorumutilizzato
dalGRCS.Come si vede dalla gura J.7i ampi dainseriresono:
•
RCS address: l'indirizzodel GRCS.•
Port: ilnumerodi porta delGRCS. Un esempiodi risposta èmostrato ingura J.8.J.7.3 Get Stat
FiguraJ.6: Risposta allaset quorum
univo o omposto da un valore intero. Questo valore è ritornato dalle
ope-razioni Update File e Update DataBase. Come si vede dalla gura J.9 i
valoridainserire nelform sono:
•
RCS address: l'indirizzodelGRCS.•
Port: il numero diporta delGRCS.•
update ID: l'intero identi ativounivo odell'operazione diupdate.J.7.4 Get Proto ol
Chiamando la funzione Get Proto ol si interroga il server GRCS sul
pro-to ollo utilizzato. Come mostrato in gura J.10 i valori di input ne essari
sono:
•
RCS address: l'indirizzodelGRCS.FiguraJ.7: Get Quorum
J.7.5 Subs ribe File
Attraverso Subs ribe File si registra un nome logi o per un insieme di
repli he. Comemostrato ingura J.12i valoridi inputne essari sono:
•
RCS address: l'indirizzodel GRCS.•
Port: ilnumerodi porta delGRCS.•
Logi al File Name: ilnome logi o he vogliamo utilizzare. Un esempiodi risposta èmostrato ingura J.13.J.7.6 Complete Ops
Questafunzione er a di ompletaretutte leoperazionidi updaterimastein
sospeso. Come mostratoingura J.14 ivalorida inserirenel formsono:
•
RCS address: l'indirizzodel GRCS.FiguraJ.8: Risposta della get quorum
J.7.7 Complete Op
La Complete Op er a di ompletare le operazioni di update rimaste
pen-denti su uno spe i o LRCS. Attraverso Print DFD Container è possibile
visualizzaresulGRCSuna listadieventualioperazionidiupdate nonan ora
on luse. Come mostratoingura J.15i valorida inserirenel formsono:
•
RCS address: l'indirizzodelGRCS.•
Port: il numero diporta delGRCS.•
LRCS address: indirizzo delLRCS.•
LRCS port: porta delLRCS.J.7.8 Print DFD Container
Quando un'operazione diupdate peruna repli a fallis ea ausa
dell'impos-sibilità di raggiungere LRCS, il GRCS salva al une informazioni in modo
dapoter tentare di ompletare l'operazione in seguito. Questeinformazioni
FiguraJ.9: Get Status
delle operazioni non on luse per ias un LRCS. Questa listaapparirà nella
s hermatadi outputdelserver GRCS. Come mostratoingura J.16ivalori
dainserire nel form sono:
•
RCS address: l'indirizzodel GRCS.•
Port: ilnumerodi porta delGRCS.J.7.9 Private Master
Attraverso Private Master si registra una repli a master per un le name
logi o. Inquestomodolarepli anonverràaggiornatadalRCS.IlserverRCS
aggiornerà solamente le repli he reate attraverso Create Repli a. Come
mostratoin guraJ.17 ivaloridainserire nelformsono:
nomeho-Figura J.10: Get Proto ol
•
GRCS Port: ilnumero di porta delGRCS.•
Logi al File Name: illenamelogi o heviene assegnatoattraverso Subs ribe File.•
LRCS host name: l'indirizzodel LRCS, (sempre nella forma nomeho-st.nomedominioo indirizzo IP).•
LRCS Port: ilnumero di porta delLRCS.•
Repli a: quideveessereinseritoilpathdellarepli a,(adesempio /ho-me/ema/ iao.tex). L'opzionesfogliapuòessereutilizzatasolamentenelasoin uisia ede all'interfa iagra adirettamentedalla ma hina
su uièinstallatoilserverTom at. Nel aso in uia ediamo alserver
Tom at da un'altra ma hina, il valore di repli a deve essere inserito
manualmente.
•
Host Name: Si deve mettere il nome host oppure l'indirizzo IP della ma hina su uisi trovala repli a di uiabbiamoinserito il path.Figura J.11: Risposta Get Proto ol
J.7.10 Create Repli a
Questo omando reaeregistraunarepli aperunlenamelogi o(spe i ato
in Logi al File Name) a partire da un le sorgente (Repli a). La repli a
verrà reata sul LRCS spe i ato. Come mostrato in gura J.19i valorida
inserirenel formsono:
•
GRCS host name: l'indirizzodelGRCS, (sempre nella forma nomeho-st.nomedominioo indirizzo IP).•
GRCS Port: ilnumerodi porta del GRCS.•
Logi al File Name: ille namelogi o.•
LRCS host name: l'indirizzodel LRCS, (sempre nella forma nomeho-st.nomedominioo indirizzo IP).•
LRCS Port: ilnumerodi porta del LRCS.•
Repli a: quideveessereinseritoilpathdellarepli a,adesempio /ho-me/ema/ iao.tex. L'opzione sfogliapuò essere utilizzatasolamentenelFiguraJ.12: Subs ribe File
su ui è installato il server Tom at. Nel aso in uia ediamo al
ser-ver Tom at da un'altra ma hina, il path del le deve essere inserito
manualmente, ri ordandosidi fareiniziare ilpath on loslash.
•
Master. Opzione non onsiderata.•
Host Name: Si deve mettere il nome host oppure l'indirizzo IP della ma hina su uisi trovala repli a di uiabbiamoinserito il path.J.7.11 Fet h Master Repli a
Questo omando permette di ottenere una opia della repli a master di un
lename logi o. Inizialmente, ome mostratoin guraJ.20 sideve s egliere
se la opia è lo ale o remota. Nel aso di opia lo ale il form di input non
prevede il ampodiinserimentodell'indirizzohost su uieettuare la opia,
ma solamente il ampo on il path per il le di destinazione. Infatti la
opia viene eettuata sulla ma hina su ui si esegue il omando, quindi la
ma hina su uirisiede Tom at.
FiguraJ.13: Risposta Subs ribe File
sullama hina in uirisiedeTom at,il omando èeseguitosullama hinain
uirisiedeTom at, la opialo alesaràquindieettuatasuquestama hina.
Come mostrato in gura J.21, i vari ampi del form di input in aso di
opia lo ale sono:
•
GRCS host name: l'indirizzodelGRCS.•
GRCS Port: ilnumerodi porta del GRCS.•
Logi al File Name: ille namelogi o.•
file://ilpathdidestinazione,puòessereinserito onosenzaloslash iniziale.Nel aso di opiaremota,la opiaèeettuataattraversogsiftpsullo host
spe i ato. Nel form è infatti presente un ampo aggiuntivo in ui inserire
l'indirizzohost. ComemostratoinguraJ.22,ivari ampi delformdiinput
in aso di opia remotasono:
•
GRCS host name: l'indirizzodelGRCS.•
GRCS Port: ilnumerodi porta del GRCS.•
Logi al File Name: ille namelogi o.•
Host: l'indirizzohost didestinazione (an he inquesto aso può essere inseritonella formanomehost.nomedominioo indirizzo IP).Figura J.14: Complete Ops
J.7.12 Update File
Attraverso Update Fileil lespe i ato nel ampo Fileè opiatointutte
lerepli hedellenamelogi ogestitodalRCS.Sipuòspe i areun quorum,
ovvero il minimo numero di repli he. Come mostrato in gura J.23, i vari
ampidel formdi inputsono:
•
GRCS host name: l'indirizzodelGRCS.•
GRCS Port: ilnumero di porta delGRCS.•
Logi al File Name: il lename logi o.•
File: ilpath delleda opiare,L'opzione sfogliapuòessereutilizzata solamente nel aso in ui si a ede all'interfa ia gra a direttamentedalla ma hina su ui è installato il server Tom at. Nel aso in ui
a ediamoalserver Tom atdaun'altrama hina, ilvalore deveessere
inseritomanualmente, ri ordandosidifareiniziareil path on loslash.
•
Host Name: l'indirizzohost su uisitrovaillespe i ato(puòessere inseritonella formanomehost.nomedominiooindirizzo IP).FiguraJ.15: Complete Op
•
Mode: permette di s egliere due modalità, una blo ante e l'altra no, s egliendo la modalità blo king, il omando si blo a no a quandoil server ha terminato di inviare le ri hieste di update a tutti i server
LRCS raggiungibili.
J.7.13 Update DataBase
Questo omando è utilizzato per aggiornare tutte le repli he di un
deter-minato database logi o, utilizzando un le ontenente omandi SQL. Come
mostratoin guraJ.24, ivari ampi delformdi input sono:
•
GRCS host name: l'indirizzodelGRCS.•
GRCS Port: ilnumerodi porta del GRCS.•
Logi al File Name: ilnome delle logi oFiguraJ.16: PrintDFD Container
ui si a ede all'interfa ia gra a direttamente dalla ma hina su ui
èinstallatoilserver Tom at. Nel aso in uia ediamoal serverT
om- at da un'altra ma hina, il valore deve essere inserito manualmente,
ri ordandosidi fareiniziare ilpath on lo slash.
•
Host Name: l'indirizzo host su ui si trova il logle spe i ato (può essere inseritonella formanomehost.nomedominio oindirizzo IP).•
Quorum: settare ilvaloreperil quorum.•
Version viene ignorato.•
Mode: permette di s egliere due modalità, una blo ante e l'altra no, s egliendo la modalità blo king, il omando si blo a no a quandoil server ha terminato di inviare le ri hieste di update a tutti i server
LRCS raggiungibili.
J.7.14 List Repli as
Questo omanda permette di ottenere la lista delle repli he raggiungibili di
FiguraJ.17: Private Master
•
GRCS host name: l'indirizzodelGRCS.•
GRCS Port: ilnumerodi porta del GRCS.•
Logi al File Name: ilnome delle logi o.J.7.15 List LRCS server
Questo omando presenta lalistadei server LRCS he sono registrati adun
GRCS spe i ato. Come mostrato in gura J.26, i vari ampi del form di
input sono:
FiguraJ.18: Private Master
•
GRCS Port: ilnumero di porta delGRCS. In guraJ.27 viene mostratoun esempiodirispostaJ.7.16 Subs ribe Logi al Database
Questo omando è utilizzatoper registrare un nuovo database logi o. Viene
utilizzatopereettuareulterioriregistrazionioltreaquelleeettuateinbase
alledi ongurazionedelGRCS, hevengonoeettuatealsuoavvio. Come
mostratoingura J.28, i vari ampidel formdi inputsono:
•
RCS address: l'indirizzodelGRCS.•
Port: il numero diporta delGRCS.•
Ldb: il nome deldatabase logi o.Figura J.19: CreateRepli a
J.7.17 Unsubs ribe Logi al Dataset
Questo omando permette di togliere la registrazione eettuata attraverso
Subs ribe Logi al Database Come mostrato in gura J.30, i vari ampi
del form diinput sono:
•
RCS address: l'indirizzodel GRCS.•
Port: ilnumerodi porta delGRCS.FiguraJ.20: Choose destinationtype
J.7.18 Unsubs ribe LRCS
Serve perrimuovere un LRCS dalGRCS spe i ato Come mostratoin
gu-raJ.31, i vari ampidel formdi inputsono:
•
RCS address: l'indirizzodelGRCS.•
Port: il numero diporta delGRCS.•
LRCS: ilnome delLRCS.J.8 LRCS User Interfa e
Selezionandoil ollegamentoLRCS User Interfa edallapaginainiziale
(-gura J.1)si a edeaduna paginamostratain guraJ.32 on i ollegamenti
allevarie funzioni riguardantiil server LRCS.
J.8.1 Get Stat
Get Stat dovrebbe essere utilizzato per hiedere al LRCS lo stato di una
ri hiesta di aggiornamentodi una repli a. Attualmente non è an ora
dispo-nibile questa funzionalità, quindi il risultato he si ottiene è il messaggio
FiguraJ.21: Fet h Master Repli afor lo altype
•
LRCS address: l'indirizzodel server LRCS.•
LRCS Port: ilnumerodi porta del serverLRCS.•
Operation ID: l'intero identi ativodell'operazione diupdate.•
Debug: settato su on permette di ottenere in risposta informazioni aggiuntive.J.8.2 Remove Wat her
Questo omando è utilizzatoperrimuovere un Wat her da un database,
gu-FiguraJ.22: Fet h Master Repli afor remote type
•
LRCS address: l'indirizzodel serverLRCS.•
LRCS Port: ilnumero di porta delserver LRCS.•
Operation ID:l'intero identi ativodell'operazione diupdate.•
Debug: settato su on permette di ottenere in risposta informazioni aggiuntive.J.8.3 Restart Wat her
Questo omando serveperfare ripartireilmonitoraggio,unavolta he viene
Figura J.23: Update File
•
LRCS address: l'indirizzodel server LRCS.•
LRCS Port: ilnumerodi porta del serverLRCS.•
Operation ID: l'intero identi ativodell'operazione diupdate.•
Debug: settato su on permette di ottenere in risposta informazioni aggiuntive.J.8.4 Set Gr s
del-FiguraJ.24: Update DataBase
razione del server LRCS. Per ambiare tale valore si usa questo omando.
Comemostrato ingura J.37, i vari ampi delform diinput sono:
•
LRCS address: l'indirizzodel serverLRCS.•
LRCS Port: ilnumero di porta delserver LRCS.•
GRCS Address: l'indirizzodel serverGRCS.•
GRCS Port: ilnumero di porta delserver GRCS.Figura J.25: ListRepli as
J.8.5 Stop Wat her
Questo omandoserveperfermare ilmonitoraggioeettuatodalWat her su
undeterminatodatabasemaster. Sipuòfarriprendereil ontrolloutilizzando
Restart Wat her. Come mostrato in gura J.38, i vari ampi del form di
input sono:
•
LRCS address: l'indirizzodel server LRCS.•
LRCS Port: ilnumerodi porta del serverLRCS.•
Database Name: ilnome del database.•
Debug: settato su on permette di ottenere in risposta informazioni aggiuntive.J.8.6 LRCS Subs ribe
Lasottos rizione delserver LRCS dovrebbe avvenire in automati o on una
Figura J.26: ListLRCS
essere eettuata una nuova registrazione attraverso questo omando. Come
mostratoingura J.38, i vari ampidel formdi inputsono:
•
LRCS address: l'indirizzodel serverLRCS.•
LRCS Port: ilnumero di porta delserver LRCS.•
Name: il nome delserver LRCS.•
Debug: settato su on permette di ottenere in risposta informazioni aggiuntive.J.8.7 Subs ribe DataBase Repli a
Con questo omando si registra una nuova slave repli a di un database sul
serverLRCS.Unavoltaeseguitoquesto omando,larepli asottos rittaverrà
aggiornata ogni volta he LRCS ri eve un omando diupdate peril dataset
logi oa ui siriferis e larepli a. Il omando deveessere utilizzatoquando il
serverLRCSègiàattivoelarepli anonèstatasottos rittaautomati amente
all'avvio. Come mostratoinguraJ.40, i vari ampidel formdiinputsono:
Figura J.27: Risposta ListLRCS
•
LRCS Port: ilnumerodi porta del serverLRCS.•
Logi al DataBase Name: ilnome delserver LRCS.•
Userame: lo username per a edere allarepli a deldatabase.•
Password: lapassword per a edere allarepli a deldatabase.•
Debug: settato su on permette di ottenere in risposta informazioni aggiuntive.J.8.8 LRCS Unsubs ribe
Con questo omando si rimuoveun server LRCS da un sistema RCS. Come
mostratoin guraJ.41, ivari ampi delformdi input sono:
•
LRCS address: l'indirizzodel server LRCS.•
LRCS Port: ilnumerodi porta del serverLRCS.FiguraJ.28: Subs ribeLogi al Database
J.8.9 LRCS Unsubs ribe DataBase Repli a
Questo omando serve per rimuovere una repli a se ondaria diun database.
Comemostrato ingura J.42, i vari ampi delform diinput sono: