Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Document Message – Wikipedia
Document Message – Wikipedia 👆 Click Here!
aus Wikipedia, der freien Enzyklopädie
  • Symbol für Entwurfs­muster Document Message (Dokumentnachricht)
    Symbol für Entwurfs­muster Document Message (Dokumentnachricht)

Document Message (von englisch document ‚Dokument‘ und message ‚Nachricht‘) ist ein Entwurfsmuster in der Softwarearchitektur und -entwicklung aus der Kategorie Nachrichtenaufbau (Message Construction) im Werk Enterprise Integration Patterns von Gregor Hohpe und Bobby Woolf.[1]

Erläuterung

[Bearbeiten | Quelltext bearbeiten]
Übermitteln von Daten mit Hilfe einer Document Message (Dokumentnachricht)

Wen eine Anwendung Daten an eine andere übermitteln möchte, könnte sie das mit einem Dateitransfer oder einer gemeinsamen Datenbank bewerkstelligen. Diese Ansätze haben allerdings ihre Defizite. Die Übertragung funktionierte mit einer Nachrichtenübermittlung möglicherweise besser. Eine Datenstruktur kann mit einer Dokumentnachricht (Document Message) zuverlässig zwischen Anwendungen übertragen werden.

Verwendungsbeispiel

[Bearbeiten | Quelltext bearbeiten]

Im folgenden Beispiel in Java wird die DSL von Apache Camel[2] verwendet, das auf den Enterprise Integration Patterns basiert.[3]

package org.wikipedia.de.eip.message.construction;

import static java.lang.System.out;

import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
import javax.swing.text.StringContent;

import org.apache.camel.Message;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;

class DocumentMessageSample {

	private static DefaultCamelContext cc = new DefaultCamelContext();

	public static void main( final String... args ) throws Exception {

		final StringContent text = new StringContent();
		text.insertString( 0, "*** containing document ***" );
		final PlainDocument doc = new PlainDocument( text ); // Document

		cc.setName( "Document Message Sample" );
		cc.addRoutes( new RouteBuilder() {

			@Override
			public void configure() {

				from( "timer:start?repeatCount=1" ) // EIP Sender
						.log( "Sending..." )
						.process().message( m -> m.setBody( doc ) )
						.process().message( m -> print( "Sending Document", m ) )
						.to( "direct:receiver" ) // EIP Receiver
						.setId( "Sender" );

				from( "direct:receiver" ) // EIP Receiver
						.log( "Receiving..." )
						.process().message( m -> print( "Receiving Document", m ) )
						.setId( "Receiver" );
			}
		} );
		cc.start();
		Thread.sleep( 2000 );
		cc.stop();
		cc.close();
	} // main()

	static void print( final String process, final Message m ) {
		try {
			final PlainDocument doc = (PlainDocument) m.getBody(); // Document packed in Message
			out.printf( "%s %s: %s%n", process, m, doc.getText( 0, doc.getLength() ) );
		}
		catch ( final BadLocationException e ) {
			e.printStackTrace();
		}
	} // print()

} // DocumentMessageSample

Ausgabe

[Bearbeiten | Quelltext bearbeiten]
...
11:55:00.042 [Camel (Document Message Sample) thread #0 - timer://start] INFO  Sender - Sending...
Sending Document Message: *** containing document content ***
11:55:00.045 [Camel (Document Message Sample) thread #0 - timer://start] INFO  Receiver - Receiving...
Receiving Document Message: *** containing document content ***
...

Verwandte Muster

[Bearbeiten | Quelltext bearbeiten]

Andere Muster aus der Kategorie Nachrichtenaufbau (Message Construction) sind Message, Command Message, Event Message, Request-Reply, Return Address, Correlation Identifier, Message Sequence, Message Expiration und Format Indicator.

Weiter verwandte Muster sind Remote Procedure Invocation, File Transfer, Guaranteed Delivery, Point-to-Point Channel, Publish-Subscribe Channel, Request-Reply, Shared Database.

Literatur

[Bearbeiten | Quelltext bearbeiten]
  • Gregor Hohpe, Bobby Woolf: Enterprise Integration Patterns. Designing, Building and Deploying Messaging Solutions. Hrsg.: Addison-Wesley. 1. Auflage. Addison-Wesley, 2003, ISBN 978-0-321-20068-6 (englisch, 480 S.). 

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • Gregor Hohpe, Bobby Woolf: Document Message. Messaging Patterns → Message Construction. In: Enterprise Integration Patterns. Gregor Hohpe, Bobby Woolf, abgerufen am 6. Dezember 2020 (englisch). 

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ Gregor Hohpe, Bobby Woolf: Enterprise Integration Patterns. Designing, Building and Deploying Messaging Solutions. Hrsg.: Addison-Wesley. 1. Auflage. Addison-Wesley, 2003, ISBN 978-0-321-20068-6, S. 143–145 (englisch, 480 S.). 
  2. ↑ Java DSL. In: Apache Camel User Manual. Apache Software Foundation, abgerufen am 6. Dezember 2020 (englisch). 
  3. ↑ Enterprise Integration Patterns. In: Apache Camel User Manual. Apache Software Foundation, abgerufen am 14. Dezember 2020 (englisch). 
Entwurfsmuster
V – D
Erzeugungsmuster

Abstrakte Fabrik | Erbauer | Fabrikmethode | Prototyp | Singleton | Multiton | Objektpool

Strukturmuster

Adapter | Brücke | Decorator | Fassade | Fliegengewicht | Kompositum | Stellvertreter

Verhaltensmuster

Beobachter | Besucher | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette | Interceptor | Nullobjekt | Protokollstapel

Muster für objekt-
relationale Abbildung

Datentransferobjekt | Table Data Gateway | Row Data Gateway | Active Record | Unit of Work | Identity Map | Lazy Loading | Identity Field | Dependent Mapping | Embedded Value | Serialized LOB | Inheritance Mapper | Metadata Mapping | Query Object | Command-Query-Responsibility-Segregation

Nachrichten-
übermittlungsmuster
Integrationsarten

File Transfer | Shared Database | Remote Procedure Invocation | Messaging

Nachrichtenaufbau

Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator

Endpunkte

Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator

Kanäle

Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus

Nachrichtenvermittlung

Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker

Nachrichtenumwandlung

Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model

Systemmanagement

Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger

andere

Application Controller | Business Delegate | Data Access Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control (IoC) | Lock | Model View Controller (MVC) | Model View Presenter (MVP) | Model View Update (MVU) | Model View ViewModel (MVVM) | Page Controller | Registry | Remote Facade | Repository | Service Locator | Session State | Table Module | Template View | Threadpool | Transaction Script | Transform View | Two-Step View | Value Object

Siehe auch:  Analysemuster | Architekturmuster | Integrationsmuster | SOA-Muster
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Document_Message&oldid=257670512“
Kategorien:
  • Nachrichtenaufbau
  • Enterprise Integration Patterns

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id