[Bitrepository-devel] Bitrepository pillar requirements

Kåre Fiedler Christiansen kfc at statsbiblioteket.dk
Tue Jul 12 19:40:24 CEST 2011


Hej alle,

Jeg har lovet Mikis at følge op på mine to mails med udeståender fra
pillars, så det kommer indlejret i det nedenstående:

On Fri, 2011-06-17 at 16:39 +0200, Kåre Fiedler Christiansen wrote:
> Hej,
> 
> I forbindelse med implementationen af SB's pillar, kan jeg konstatere at det ikke er helt klart specificeret hvordan nogle af vores protokolmæssige ting skal konkretiseres. Jeg skriver lige en liste af ting. Jeg hører gerne feedback på maillisten, ellers er det ting vi kan diskutere på næste møde. Jeg har prøvet at skrive issues på, hvor jeg har kunnet identificere dem.
> 
> FORBINDELSE TIL MESSAGEBUS 
> -----
> Når vi skal forbinde til messagebussen er der brug for en klar specifikation af hvordan det skal gøres.
> 
> Jeg har et indtryk af at det indeholder nogle af følgende elementer:
>  * URL til messagebussen
>  * URL til alternative messagebusser, og beskrivelse/henvisning til hvordan man falder tilbage på en anden messagebus i tilfælde af fejl (BITMAG-200)

Det er mit indtryk at dette er afklaret, og at alle informationer kan
indeholdes i en URL som kan indeholdes i settings for en BrC.

Jeg synes det bør beskrives helt præcist på denne side:
https://sbforge.org/display/BITMAG/ActiveMQ+Message+Bus
eller en underside

>  * Angivelse af credentials for at kunne kommunikere med message bussen (er det username/password, eller er det et certifikat?) 

Det er jeg stadig i tvivl om. Også det bør nok stå på
https://sbforge.org/display/BITMAG/ActiveMQ+Message+Bus

>  * Destination(er) man skal lytte på; og efter diskussionen på sidste møde nok også deres type(r) (BITMAG-239, BITMAG-262)
>  * Destination(er) man skal sende til som indledende kommunikation - måske kun ALARM-topic? - og måske deres type(r) (BITMAG-239, BITMAG-262)

Det er mit indtryk at det er afklaret og skal skrives i BrC settings med
ActiveMQ kø-url-syntaks.
Det bør nok beskrives i pinlige detaljer her:
https://sbforge.org/display/BITMAG/Queues+and+topics

>  * En måde at få fat i en konkret destination, givet en kø-ID (BITMAG-239, BITMAG-262)

Det er mit indtryk at det er afklaret og der skal benyttes ActiveMQ
kø-URL-syntaks.

Jeg har dog afprøvet om man kan genskabe temporære destinationer udfra
et navn, og det kan man IKKE. Derfor er det nødvendigt at huske på
destinationer fra JMS-beskedens headere når man skal svare på beskeder
der bruger temporære destinationer.

> -----
> 
> BEHANDLING AF BESKEDER
> -----
> Beskeder der bliver sendt over message bussen har et antal elementer der skal være sat i headers. Det bør være klart beskrevet hvordan det skal behandles.
> 
> Særligt tænker jeg på "ReplyTo"-køer, CorrelationID og BitRepositoryCollectionID. (BITMAG-24)

Det er faktisk rimeligt godt beskrevet, men vi skal være sikre på at
beskrive det som et krav at man benytter det korrekt, hvis det skal
kunne bruges.
https://sbforge.org/display/BITMAG/Division+of+message+content+between+xml+and+message+headers

> -----
> 
> UDVEKSLING AF FILER
> -----
> Det er aftalt at vi benytter HTTP eller HTTPS. Det skal beskrives præcist hvordan disse skal benyttes.
> 
> Hvilke HTTP verbs benytter vi? GET og PUT? Eller POST? Må vi bruge chunking? Er der nogen HTTP headers der skal benyttes på nogen bestemt måde? Skal vi understøtte f.eks. HTTP 1.1? (BITMAG-162)
> -----

Det viser sig at være rimeligt beskrevet i
https://sbforge.org/display/BITMAG/HTTPS+as+File+Exchange+protocol
men jeg savner stadig lidt formulering til krav der gør at man kan anvende det i praksis.
Hvilke certifikater den indgår ved HTTPS tror jeg stadig er udestående, men der står lidt her:
https://sbforge.org/display/BITMAG/Security


> KRYPTERING og AUTENTIFIKATION
> -----
> Vi har aftalt at det er baseret på certifikater, men jeg har ikke fundet nogen operationel beskrivelse af hvordan.
> 
> På messagebussen: Er det noget der er direkte understøttet af ActiveMQ, sådan at autentifikation og kryptering foregår automatisk, og der blot kræves et certifikat fra klienten? Eller skal vi eksplicit selv kryptere/deskryptere/signere indholdet af beskederne? I så fald, præcist hvordan og med hvilke algoritmer?
> 
> På dataoverførslen, bruger vi HTTP authentication med certifikater? Hvordan? (BITMAG-135, BITMAG-164)
> -----

Det der vides står her
https://sbforge.org/display/BITMAG/Security
Jeg tror det er noget tættere på at være operationelt end jeg troede, men jeg har ikke nået at forsøge at anvende det i praksis.

> ALARMER
> -----
> Når vi skal sende alarmer, hvornår og hvordan afgøres hvilke fejlkoder vi skal bruge? (BITMAG-53)
> -----

Stadig udestående men handler primært om protokollen, som jeg hurtigt følger op på i en mail om lidt, som dog ikke er helt så udtømmende.

> Den samlede pointe er at vi er temmelig langt fra at have en præcis specifikation af hvad der skal til for at implementere et ben (udover selve protokollen). Hvordan når vi videre mod det mål? Jeg forestiller mig vi har brug for en sektion af wiki'en der indeholder noget der minder om det jeg har beskrevet her, blot med svar og ikke spørgsmål :-)

Det synes jeg stadig kunne være en god idé: En slags liste af hvad der
skal til for at implementere en pillar, som henviser til de relevante
sider.

Det er nok noget der skulle ligge under denne side:
https://sbforge.org/display/BITMAG/Security

Hilsen
  Kåre



More information about the Bitrepository-devel mailing list