• Non ci sono risultati.

Aedi eA C

N/A
N/A
Protected

Academic year: 2021

Condividi "Aedi eA C"

Copied!
70
0
0

Testo completo

(1)

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

(2)

lr s-subs ribe

lr s-subs ribe-DBrepli a

lr s-unsubs ribe

(3)

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 :

(4)

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;

(5)

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);

(6)
(7)

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,

(8)
(9)

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"/>

(10)

<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>

(11)

<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>

(12)
(13)

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

(14)

| |-- 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

(15)

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

(16)

| |-- 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

(17)

| |-- 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

(18)

| |-- 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

(19)

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

(20)
(21)

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

(22)

|-- 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

(23)

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

(24)

| |-- lr sUnsubs ribe.jsp

| `-- unsubs ribe.jsp

`-- Unsubs ribeDbRepl

|-- lr sUnsubs ribeDbRepl.jsp

(25)

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

(26)

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 RSA

Una 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 a

Fatto 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

(27)

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.p12

Quindiil 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

(28)
(29)

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.

(30)
(31)
(32)
(33)

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

(34)

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.

(35)

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.

(36)

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

(37)

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:

(38)

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òessereutilizzatasolamentenel

asoin 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.

(39)

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 utilizzatasolamentenel

(40)

FiguraJ.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.

(41)

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).

(42)

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 direttamente

dalla 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).

(43)

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 quando

il 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 o

(44)

FiguraJ.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 quando

il 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

(45)

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:

(46)

FiguraJ.18: Private Master

GRCS Port: ilnumero di porta delGRCS. In guraJ.27 viene mostratoun esempiodirisposta

J.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.

(47)

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.

(48)

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

(49)

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,

(50)

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

(51)

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

(52)

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.

(53)

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

(54)

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:

(55)

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.

(56)

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:

LRCS address: l'indirizzodel serverLRCS.

LRCS Port: ilnumero di porta delserver LRCS.

DataBase repli a Name: il nome della repli adel database.

(57)
(58)
(59)
(60)
(61)
(62)
(63)
(64)
(65)
(66)
(67)
(68)
(69)
(70)

Figura

Figura J.5: Set Quorum
Figura J.6: Risposta alla set quorum
Figura J.7: Get Quorum
Figura J.8: Risposta della get quorum
+7

Riferimenti

Documenti correlati

In realtà, essendo la coppia dei motori a riluttanza legata alla variazione delle mutue induttanze tra statore e rotore, le aperture di cava di statore (nel caso ci siano cave di

Inne, è stata proposta una strategia adattiva di gestione dei propulsori, orientata alla minimizzazione dell'utilizzo del motore endotermico e, al contempo, al mantenimento dello

Problema: dato α irrazionale, qual'è la stima migliore per una sua approssi- mazione tramite frazioni continue. Risponderemo dimostrando il

Esempio: Testa(X,Y):-Letterale1(X,Y), Letterale2(X,_) (join tra Letterale1 e Letterale2 sull'attributo X. nb: il simbolo don't care indica che del Letterale2 ci interessano tutte

A questo punto si può ricavare la formula della temperatura di equilibrio con il passaggio di stato. le sue molecole sono strutture puntiformi (senza

Si noti che i carichi “F” essendo direttamente agenti sui nodi non rientrano nelle soluzioni del sistema zero... Diagramma

= 10 cm ed R 2 = 20 cm, liberi di ruotare senza attrito attorno al loro asse (parallelo al suolo) rimanendo solitdali fra loro. Attorno ai due cilindri sono avvolte due

Un oggetto di massa m = 0.40 Kg, che si muove su un piano orizzontale, urta contro un altro oggetto di massa M = 1.0 Kg, inizialmente fermo, che è in contatto con l’estremità di