Richtlinie: Nachrichtenanhänge
Diese Richtlinie zeigt, wie die Übertragung großer oder auf andere Weise komplexer Elemente als Anhänge an Nachrichten, nach Referenzierung oder Einschluss, gehandhabt werden kann. Dadurch wird dem Designer ermöglicht, Vorgaben bezüglich Leistung oder Bandbreite zu erfüllen.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

Einführung

Beim Design von Nachrichten gibt es gelegentlich Strukturen, die eigentlich als Dokumente oder andere zusammengesetzte und potenziell große Dateien realisiert wurden. Beispielsweise können Berichte oder Produktinformationen als PDF-Dateien verteilt werden oder es können Grafiken an eine Nachricht angehängt werden, die ein Produkt oder ein Element beschreiben. Das UML-Profil (Unified Modeling Language) für Softwareservices stellt den zusätzlichen Stereotyp <<Nachrichtenanhang>> (Message Attachment) bereit, der an Eigenschaften in einem Nachrichtenmodell angehängt werden kann und darüber informiert, dass der angegebene Inhalt auf bestimmte Weise an das Modell angehängt wird. Das ermöglicht dem Designer, eine detaillierte Spezifikation eines sehr wichtigen Aspekts des Nachrichtendesigns zur Verfügung zu stellen. Insbesondere hinsichtlich Leistung und Nutzung der Bandbreite kann die Übergabe von großen binären Anhängen ein wichtiger Faktor sein.

Anhänge oder Links

In einer Internetarchitektur gibt es einen Ansatz zur Übertragung großer Datenmengen, d. h. der Übergabe eines URL, der dem Empfänger erlaubt, den Inhalt über ein geeigneteres Protokoll als FTP herunterzuladen. Das ist auch sehr nützlich, wenn die Daten nicht oft geändert werden, weil sie in diesem Fall an einer allgemeinen Position für alle Clients abgelegt werden können. Darüber hinaus ist dieser Mechanismus günstig, wenn der Empfänger der Nachricht sich entscheidet, den zusätzlichen Inhalt nicht herunterzuladen. Das hat den Vorteil, dass die Anforderungen für den Download von Anhängen auf den Client gestellt werden können. Möglicherweise bedeutet das einen Nachteil und zusätzliche Arbeitslast für den Client.

Ein anderer Ansatz für Anhänge ist die so genannte Well Known Location (bekannte Position). Beispielsweise bezeichnet ein Teil der Servicedokumentation einen Basis-URL für Anhänge, und ein Element der Nachricht bezeichnet eine ID oder einen Dateinamen, die bzw. der an den URL angehängt werden kann, damit die konkrete Ressource heruntergeladen werden kann.

Codierung von Anhängen

Der Stereotyp "Nachrichtenanhang" (Message Attachment) hat ebenfalls eine Eigenschaft, die die Codierungsform des Anhangs bezeichnet. Obwohl der Name mit der Eigenschaft für eine Nachricht identisch ist, wird empfohlen, für die Werte, die zur Bezeichnung der Codierung für Anhänge verwendet werden, MIME-Typen zu verwenden. Diese Typen werden bereits von bestimmten Internetinfrastrukturen, z. B. dem HTTP-Protokoll bei der Übertragung von Binärdaten (z. B. Grafiken für Webseiten), verwendet.

Weitere Informationen zu MIME-Typen finden Sie im Dokument IETF RFC 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types.

Beispiel

Stellen Sie sich einen Service vor, der einen Produktkatalog bereitstellt. In diesem Service gibt es Operationen, mit denen Elemente gesucht, Abfragen ausgeführt und vollständige Produktinformationen zurückgegeben werden können. Eine Untergruppe des Modells der Produktdaten enthält Produkteinträge, denen je eine Grafik und möglicherweise ein vergrößerter Ausschnitt zur Verdeutlichung zugeordnet sind. Im Modell unten ist erkennbar, dass die zwei Grafiken als Anhänge zur Datenstruktur des Produktkatalogs gekennzeichnet sind. Im Diagramm ist nicht erkennbar, dass der Wert für die Codierungseigenschaft in beiden Fällen "image/jpeg" ist.

Diagramm ist im Textinhalt beschrieben.

Wie beim oben dargestellten Beispiel wäre es möglich, pro Grafik einen URL zu senden und dem Client die Entscheidung zu überlassen, ob und wann die konkrete Grafik heruntergeladen werden soll. Der URL würde dann das Protokoll und die Position für die Downloadoperation bezeichnen. Die folgende Abbildung zeigt eine Version der Datenstruktur des Produktkatalogs mit den Grafiken als Links.

Diagramm ist im Textinhalt beschrieben.