2.3 Definition der Schnittstellen
Die Gestaltung der Schnittstelle zu
den Signaturfunktionen bzw. zum Netz gestaltet sich recht einfach als Definition
bestimmter Methodenaufrufe.
Signaturschnittstelle:
1. Dokument signieren
Klasse: Signature
Methode: getSignatureDocument(Document
Dokument, String Pseudonym, String Passwort)
Return: Document
2. Signatur prüfen
Klasse: Signature
Methode: validityDocument(Document
Dokument, String Prüferpseudonym, String Senderpseudonym)
Return: boolean
Netzschnittstelle:
1. Verbindung aufbauen
Klasse: TrusteeToSalesMan
Methode: sendTo(String
Host, String Port, File Request);
Return: File
2. Verbindungsanfrage bearbeiten
- Kommunikation initiiert
/ Serverklasse erzeugt (Treuhänder, Händler) und ruft in dieser folgende
Methode auf:
Klasse: Treuhänder/Händler
Methode: handleRequest(File
Request)
Return: File
- Serverklasse gibt
File an Kommunikationspartner zurück
Die Definition der Schnittstelle zwischen
den logischen Programmteilen Händler, Treuhänder und Kunde gestaltet
sich schwieriger, da sie von der Implementation des Protokolls direkt betroffen
ist. Es handelt sich um die unten spezifizierten XML-Dokumente.
Schnittstelle Kunde-Treuhänder:
1. Bestellung des Kunden
<!ELEMENT Bestellungkt (Kunde,Treuhaender,Haendler,Katalog_Nr,Gesamtbestellung,Ges_Preis,Geld)>
<!ELEMENT Kunde (KName,KIPAdresse,KPort)>
<!ELEMENT KName (#PCDATA)>
<!ELEMENT KIPAdresse (#PCDATA)>
<!ELEMENT KPort (#PCDATA)>
<!ELEMENT Treuhaender (TName,TAdresse,TTelefon,TIPAdresse,TPort)>
<!ELEMENT TName (#PCDATA)>
<!ELEMENT TAdresse (#PCDATA)>
<!ELEMENT TTelefon (#PCDATA)>
<!ELEMENT TIPAdresse (#PCDATA)>
<!ELEMENT TPort (#PCDATA)>
<!ELEMENT Haendler (HName,HIPAdresse,HPort)>
<!ELEMENT HName (#PCDATA)>
<!ELEMENT HIPAdresse (#PCDATA)>
<!ELEMENT HPort (#PCDATA)>
<!ELEMENT Katalog_Nr (#PCDATA)>
<!ELEMENT Gesamtbestellung (Eintrag+)>
<!ELEMENT Eintrag (ID,Preis)>
<!ELEMENT ID (#PCDATA)>
<!ELEMENT Preis (#PCDATA)>
<!ELEMENT Ges_Preis (#PCDATA)>
<!ELEMENT Geld (#PCDATA)>
2.Lieferung an Kunden
<!ELEMENT Lieferungtk (Treuhaender,Kunde,Ware+)>
<!ELEMENT Treuhaender (TName,TAdresse,TTelefon,TIPAdresse,TPort)>
<!ELEMENT TName (#PCDATA)>
<!ELEMENT TAdresse (#PCDATA)>
<!ELEMENT TTelefon (#PCDATA)>
<!ELEMENT TIPAdresse (#PCDATA)>
<!ELEMENT TPort (#PCDATA)>
<!ELEMENT Kunde (KName,KIPAdresse,KPort)>
<!ELEMENT KName (#PCDATA)>
<!ELEMENT KIPAdresse (#PCDATA)>
<!ELEMENT KPort (#PCDATA)>
<!ELEMENT Ware (Book,BSignatur_T)>
<!ELEMENT Book (#PCDATA)>
<!ELEMENT BSignatur_T (#PCDATA)>
3. Mangeldokument an Kunden
<!ELEMENT Mangelkunde (Treuhaender,Kunde,Status,Geld)>
<!ELEMENT Treuhaender (TName,TAdresse,TTelefon,TIPAdresse,TPort)>
<!ELEMENT TName (#PCDATA)>
<!ELEMENT TAdresse (#PCDATA)>
<!ELEMENT TTelefon (#PCDATA)>
<!ELEMENT TIPAdresse (#PCDATA)>
<!ELEMENT TPort (#PCDATA)>
<!ELEMENT Kunde (KName,KIPAdresse,KPort)>
<!ELEMENT KName (#PCDATA)>
<!ELEMENT KIPAdresse (#PCDATA)>
<!ELEMENT KPort (#PCDATA)>
<!ELEMENT Status(#PCDATA)>
<!ELEMENT Geld (#PCDATA)>
Schnittstelle Treuhänder-Händler:
1. Bestellung an Händler weiterleiten
<!ELEMENT Bestellungth (Treuhaender,Haendler,Katalog_Nr,Bestell_ID,Gesamtbestellung,Ges_Preis)>
<!ELEMENT Treuhaender (TName,TAdresse,TTelefon,TIPAdresse,TPort)>
<!ELEMENT TName (#PCDATA)>
<!ELEMENT TAdresse (#PCDATA)>
<!ELEMENT TTelefon (#PCDATA)>
<!ELEMENT TIPAdresse (#PCDATA)>
<!ELEMENT TPort (#PCDATA)>
<!ELEMENT Haendler (HName,HIPAdresse,HPort)>
<!ELEMENT HName (#PCDATA)
<!ELEMENT HIPAdresse (#PCDATA)>
<!ELEMENT HPort (#PCDATA)>
<!ELEMENT Katalog_Nr (#PCDATA)>
<!ELEMENT Bestell_ID (#PCDATA)>
<!ELEMENT Gesamtbestellung (Eintrag+)>
<!ELEMENT Eintrag (ID,Preis)>
<!ELEMENT ID (#PCDATA)>
<!ELEMENT Preis (#PCDATA)>
<!ELEMENT Ges_Preis (#PCDATA)>
2. Lieferung an Treuhänder
<!ELEMENT Lieferunght (Haendler,Treuhaender,Bestell_ID,Ware+)>
<!ELEMENT Haendler (HName,HIPAdresse,HPort)>
<!ELEMENT HName (#PCDATA)>
<!ELEMENT HIPAdresse (#PCDATA)>
<!ELEMENT HPort (#PCDATA)>
<!ELEMENT Treuhaender (TName,TAdresse,TTelefon,TIPAdresse,TPort)>
<!ELEMENT TName (#PCDATA)>
<!ELEMENT TAdresse (#PCDATA)>
<!ELEMENT TTelefon (#PCDATA)>
<!ELEMENT TIPAdresse (#PCDATA)>
<!ELEMENT TPort (#PCDATA)>
<!ELEMENT Bestell_ID (#PCDATA)>
<!ELEMENT Ware (Book,BSignatur_H)>
<!ELEMENT Book (#PCDATA)>
<!ELEMENT BSignatur_H (#PCDATA)>
3. Bezahlung des Händler
<!ELEMENT Bezahlung (Treuhaender,Haendler,Bestell_ID,Ges_Preis,Geld)>
<!ELEMENT Treuhaender (TName,TAdresse,TTelefon,TIPAdresse,TPort)>
<!ELEMENT TName (#PCDATA)>
<!ELEMENT TAdresse (#PCDATA)>
<!ELEMENT TTelefon (#PCDATA)>
<!ELEMENT TIPAdresse (#PCDATA)>
<!ELEMENT TPort (#PCDATA)>
<!ELEMENT Haendler (HName,HIPAdresse,HPort)>
<!ELEMENT HName (#PCDATA)>
<!ELEMENT HIPAdresse (#PCDATA)>
<!ELEMENT HPort (#PCDATA)>
<!ELEMENT Bestell_ID (#PCDATA)>
<!ELEMENT Ges_Preis (#PCDATA)>
<!ELEMENT Geld (#PCDATA)>
4. Mangeldokument an Händler
<!ELEMENT Mangelhaendler (Treuhaender,Haendler,Reklamation,Bestell_ID,Ges_Preis)>
<!ELEMENT Treuhaender (TName,TAdresse,TTelefon,TIPAdresse,TPort)>
<!ELEMENT TName (#PCDATA)>
<!ELEMENT TAdresse (#PCDATA)>
<!ELEMENT TTelefon (#PCDATA)>
<!ELEMENT TIPAdresse (#PCDATA)>
<!ELEMENT TPort (#PCDATA)>
<!ELEMENT Haendler (HName,HIPAdresse,HPort)>
<!ELEMENT HName (#PCDATA)>
<!ELEMENT HIPAdresse (#PCDATA)>
<!ELEMENT HPort (#PCDATA)>
<!ELEMENT Bestell_ID (#PCDATA)>
<!ELEMENT Ges_Preis (#PCDATA)>
<!ELEMENT Reklamation (Begruendung,Ware+)>
<!ELEMENT Begruendung (#PCDATA)>
<!ELEMENT Ware (Book,BSignatur_H)>
<!ELEMENT Book (#PCDATA)>
<!ELEMENT BSignatur_H (#PCDATA)>
Schnittstelle Kunde-Händler:
1. Kataloganforderung:
<!ELEMENT Kataloganforderung (Kunde,Haendler)>
<!ELEMENT Kunde (KName,KIPAdresse,KPort)>
<!ELEMENT KName (#PCDATA)>
<!ELEMENT KIPAdresse (#PCDATA)>
<!ELEMENT KPort (#PCDATA)>
<!ELEMENT Haendler (HName,HIPAdresse,HPort)>
<!ELEMENT HName (#PCDATA)>
<!ELEMENT HIPAdresse (#PCDATA)>
<!ELEMENT HPort (#PCDATA)>
2.Katalog:
<!ELEMENT Katalog (Katalognr,Haendler,Book+)>
<!ELEMENT Katalognr (#PCDATA)>
<!ELEMENT Haendler (Name,IPAdresse,Port)>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT IPAdresse (#PCDATA)>
<!ELEMENT Port (#PCDATA)>
<!ELEMENT Book (ID,Titel,Autor+,Preis,Kommentar?,ISBN,Verlag,Jahr)>
<!ELEMENT ID (#PCDATA)>
<!ELEMENT Titel (#PCDATA)>
<!ELEMENT Autor (#PCDATA)>
<!ELEMENT Preis (#PCDATA)>
<!ELEMENT Kommentar (#PCDATA)>
<!ELEMENT ISBN (#PCDATA)>
<!ELEMENT Verlag (#PCDATA)>
<!ELEMENT Jahr (#PCDATA)>
weiter