[Bitrepository-devel] Bitrepository pillar requirements

Kåre Fiedler Christiansen kfc at statsbiblioteket.dk
Fri Jun 17 16:39:31 CEST 2011


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)
 * Angivelse af credentials for at kunne kommunikere med message bussen (er det username/password, eller er det et certifikat?) 
 * 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)
 * En måde at få fat i en konkret destination, givet en kø-ID (BITMAG-239, BITMAG-262)
-----

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

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

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

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


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

Hilsen
  Kåre


-- 
Kaare Fiedler Christiansen - Software developer
THE STATE AND UNIVERSITY LIBRARY, 
Universitetsparken 1, 8000 Aarhus C, Denmark.
Phone: +45 89462036


More information about the Bitrepository-devel mailing list