====== Multiknotenkommunikation via HTTP ====== Eine Kommunikation((auch Interknotenkommunikation)) zwischen verschiedenen eBiss Systemen oder eBiss Knoten lässt sich via HTTP darstellen. Diese sieht sequentiell wie folgt aus: eBiss\nKnoten A->URL&Port: HttpSendChannel URL&Port-->eBiss\nKnoten B: PortEventListener eBiss\nKnoten B->eBiss\nKnoten B:Job\nmit\nChannelReceiver URL&Port->eBiss\nKnoten B: HTTPReceiveChannel Für die Multiknotenkommunikation wird also unterschieden zwischen einem sendenden- und einem empfangenden System/Knoten. Das empfangende System benötigt folglich einen [[kommunikation:kanal:httpReceive|HttpReceiveChannel]] welcher auf eine spezifizierte URL und Port empfängt. Damit dieser Kommunikationskanal geöffnet werden kann, brauch es zusätzlich einen [[prozessdefinition:automatisierungen:port]] der auf der selben URL(und Port) horcht und im Ereignisfall einen Job antriggert, welcher den vorher definierten Kommunikationskanal öffnet. Im sendenden System bedarf es lediglich eines [[kommunikation:kanal:httpSend|HttpSendChannel]] der auf die im Zielknoten eingerichtete URL sendet. ==== Notwendige Einstellungen im empfangenden System ==== ^Komponente^Beschreibung| |[[kommunikation:kanal:httpReceive|HttpReceiveChannel]]|Dort muss die Option //MultiMessages// per anhaken der CheckBox aktiviert werden. Dies erlaubt das der HttpChannelSender mehr als eine (alle vorhandenen) Nachrichten, die an die exakt gleiche URL gehen über eine Verbindung zu senden. Das ist besonders bei localhost-Übergaben sinnvoll. Durch diese Optimierung läuft nur ein Thread für alle Nachrichten.| |[[prozessdefinition:automatisierungen:port]]| URL und dedizierter Port | |[[prozessdefinition:jobs:jobsteps:kommunikation:channelreceiver]]|In einem Job, welcher vom [[prozessdefinition:automatisierungen:port]] getriggert wird und den [[kommunikation:kanal:httpReceive|HttpReceiveChannel]] öffnet.| ==== Notwendige Einstellungen im sendenden System ==== ^Komponente^Beschreibung| |[[kommunikation:kanal:httpSend|HttpSendChannel]]|Dort muss die Option //UsePlainHttpSender// per anhaken der CheckBox aktiviert werden. Dies veranlasst, dass nicht mehr der System.Net.HttpClient verwendet, sondern ein eigener, der schneller ist und eben auch MultiMessages (s.u.) unterstützt. Jedoch ist es so, dass diese keien Proxy-Settings und ähnliches unterstützten.\\ \\ Desweiteren muss die Option //MultiMessages// per anhaken der CheckBox aktiviert werden. Mit dieser Einstellung wird das Gegenstück zu den Einstellungen beim ChannelReceiver(des empfangenden Systems/Knotens) gesetzt.\\ \\ Nur wenn diese beiden Optionen gesetzt sind und auch //UsePlainHttpSender//, funktioniert dieses MultiMessage Feature.| |[[prozessdefinition:jobs:jobsteps:kommunikation:channelsender]]|//SortMessageyByRecipientAddress// auf true setzen. Dadurch werden die Nachrichten entsprechend sortiert.|