onsdag, august 22, 2007

Modeller

Logisk model:
En overordnet beskrivelse af betjeningssituationen, i hvilken linkpakkens koncept er indpasset
Flowcharts:
Stringente forløb tiltænkt programmørerne af opsamler-komponent og programudvidelser (plugins).

Flowchart: Brugerens forløb



Bemærkninger:
"Kopier fra internet-browser": Se Flowchart IE Plugin
"Kopier fra Email program": Se Flowchart Outlook Plugin
Flere detaljer set fra opsamler-komponentens synspunkt, se Flowchart opsamler

Flowchart: Opsamler




















Bemærkninger:

Rå data indkapsles i XML I en CDATA sektion:

<metadata>

<note><![CDATA[ {rå data } ]]></note>

</metadata>

Flowchart: Outlook plugin



XML-streng A:
<request>
<command method="startSession"/>
<app type="mail" name="Outlook" version="{?}"/>
<patron name="{Afsendernavn}" email="{ Afsender }"/>
<title>{emne}</title>
<note>{mailindhold}</note>
</ request>

XML-streng B:
<request>
<command method="startSession"/>
<app type="mail" name="Outlook" version="{?}"/>
<patron name="{Afsendernavn}" email="{ Afsender }"/>
<title>{emne}</title>
<note>{note}</note>
</ request>

Bemærkninger:
<command/> er tiltænkt opsamler-komponenten - den er en mulig implementering af en API til opsamleren.

Flowchart: Internet Explorer Plugin

XML-streng:
<metadata>
<dc:identifier>{sidetitel}</dc:identifier>
<dc:title>{sidetitel}</dc:title>
<dc:description>{description metatag}</dc:description>
<note>{note/HTML fra side}</note>
</metadata>

Bemærkninger:
prefixet “dc” er Dublin Core. Til namespace declaration bruges xmlns:dc='http://purl.org/dc/elements/1.1/'.
Den samlede mængde af metadata elementer tænkes samlet under et element af navnet ”collection”, således:
<collection>
<metadata>…</metadata>
<metadata>…</metadata>
<metadata>…</metadata>
</collection>

tirsdag, august 14, 2007

Opsamlerkomponent: beskrivelse og udkast til krav

Beskrivelse
En serviceapplikation/tynd klient/daemon, der kan arbejde i baggrunden på computeren og kalde en webservice med et SOAP Document. Den aktiveres hver gang indhold kopieres til windows klippebord, og henter dette indhold. Data sendes derefter øjeblikkeligt videre til en webservice på nettet, klippebordet og opsamleren tømmes, og opsamleren er klar til næste kopiering.

Diagram



Overordnede krav
  • Er selvstændig, og er ikke nogen udvidelse til eksisterende programmer.
  • Skal have en dokumenteret API, så den kan kaldes fra både applikationer som mailprogrammer og webbrowsere. Mulig implementering af API: kommandoer, der ryger i klippebordet og således opfanges af komponenten.
  • Overfører data via SOAP-protokollen
  • Konfigurerbar mht. detaljer som:
    • URL til modtagende webservice
    • Sti til placering af lokal (dvs. på den enkelte workstation) error log
      Netværksti til placering af global error log (samler op på fejl på tværs af workstations)
    • Sti til arbejdsfolder for det aktuelle SOAP dokument
    • Sti til skabelon: SOAP dokument
    • dialogX: bredde på browservindue, når der skal åbnes dialogboks
    • dialogY: højde på browservindue, når der skal åbnes dialogboks
    • Hvilke tastekombinationer der aktiverer komponenten
  • Indikatorlys tydelig på Windows' desktop, der indikerer når komponenten er klar, aktiv, sender data m.m.
  • Skal vedligeholde oversigt over de seneste 10 sessions fra skabt fra hhv.:
    • dette netværk
    • denne workstation
    • denne windows account

Metoder/funktioner
forward()

  1. Aktiveres ved aflæsning af indhold i windows klippebordet.
  2. tjekker at session er startet/er åben (i hvilket tilfælde der allerede eksisterer et SOAP dokument i arbejdsfolder). Hvis ikke, køres metoden startSession() inden der fortsættes.
  3. Indsætter indhold i SOAP-dokumentets BODY-element.
  4. Sender kopi af det aktuelle SOAP-dokument til modtagende webservice. Svaret fra webservicen overskriver SOAP-dokumentets BODY-element.
  5. det aktuelle SOAP dokument gemmes som fil i arbejdsfolder
Der skal være mulighed for at svaret i (4) kan aktivere dialog()-metoden med en specifik URL, der skal åbnes.

dialog()
Anvendes typisk ved afslutning af en session eller hvis indholdet af session skal gennemses.
  1. tjekker at session er startet/er åben (i hvilket tilfælde der allerede eksisterer et SOAP dokument i arbejdsfolder). Hvis ikke, køres metoden startSession() inden der fortsættes.
  2. indsætter tekst-streng i SOAP-dokumentets BODY-element.
  3. åbner default web-browser med dimensionerne dialogX, dialogY. I dette vindue åbnes den modtagende webservice, der modtager kopi af det aktuelle SOAP-dokument og reagerer på det.
  4. Hvis session skal sluttes, køres endSession()
startSession()
  1. Henter SOAP Dokument skabelon og opretter SOAP dokument som kopi heraf.
  2. indsætter evt. startdata i SOAP dokumentets BODY-element
  3. Sender kopi af det aktuelle SOAP-dokument til modtagende webservice. Svaret fra webservicen overskriver SOAP-dokumentets BODY-element.
  4. det aktuelle SOAP dokument gemmes som fil i arbejdsfolder
  5. Indikatorlys tændes (Opsamleren er aktiveret+"i session")

endSession()
  1. sletter aktuel SOAP dokument fra arbejdsfolder
  2. slukker indikatorlys (Opsamleren viser "aktiveret"+"ingen session i gang")