CONNECTED Conference 2023 - Aufzeichnungen jetzt hier verfügbar +++                     

Suche

über alle News und Events

 

Alle News

 

Am 09.05.2022 wurde ein Artikel von Microsoft...

Weiterlesen

Neben den altbekannten Logic Apps (Consumption),...

Weiterlesen

Im Jahr 2022 fallen eine Reihe von .Net Versionen...

Weiterlesen

SAP in die Power Platform integrieren – In einem...

Weiterlesen

Bicep Templates benutzen eine deklarative Syntax...

Weiterlesen

In BizTalk gibt es einige Alternativen, wie...

Weiterlesen

Wir sind auf ein seltsames Phänomen bei einem...

Weiterlesen

Nach der Migration konnten in VS 2019 „normale“...

Weiterlesen

Warum wir uns als Sponsor engagieren, warum und...

Weiterlesen

Für einen Kunden sollen Produktkataloge im XML...

Weiterlesen

Der QUIBIS WebDAV Adapter geht online – so haben wir’s gemacht

Der QUIBIS WebDAV Adapter geht online – so haben wir’s gemacht.

Wir haben uns dazu entschieden, einen WebDAV-Adapter für den BizTalk zu entwickeln, da wir einen WebDAV-Server anbinden mussten und es zu dem Zeitpunkt keinen käuflich erwerbaren Adapter gab.

Einige Kommunikationswege mit WebDAV-Servern kann man zwar mit dem HTTP-Adapter lösen, leider nicht aber die Anmeldung mit einem Zertifikat. So entschlossen wir uns, einen extra Adapter zu entwickeln.

Vor diesem Entschluss ist es übrigens ratsam, unter
https://social.technet.microsoft.com/wiki/contents/articles/12956.biztalk-server-list-of-third-party-adapters.aspx
zu kontrollieren, ob eventuell schon ein Adapter existiert, mit dem eine Lösung realisierbar ist.

Diesen Adapter stellen wir kostenfrei zur Verfügung:
http://www.quibiq.de/produkte/quibis-webdav-adapter

In diesem Blogpost möchte ich erklären, wie wir den Adapter entwickelt haben.

 

Der Einstieg: Auf jedem BizTalk-Server sind unter %BTSINSTALLPATH%\SDK\Samples\AdaptersDevelopment mehrere Sample Projekte vorinstalliert. Wenn man sich diese ansieht, fällt auf, dass die meisten Adapter in zwei Projekte beinhalten:
 

  1. Runtime Projekt: Adapter Endpunkte und Logik befindet sich in diesem Projekt.
  2. Management Projekt: Konfiguration, sowie XML Schemas die das Konfigurieren des Adapters in der BizTalk Konsole erlauben, zudem können Konfigurationsvalidierungen eingebaut werden.
     

In unserer Solution werden wir noch ein drittes Projekt anlegen, das sich um die Installation des Adapters kümmert, dazu verwenden wir WiX („Windows Installer XML“).

 

Folgende Klassen sind wichtig bei der Implementierung von Receive und Send:
 

Properties Klasse:

Erbt von ConfigProperties und hält alle Konfigurierbaren Werte für die entsprechende Richtung.

Der Konstruktor bekommt in der Signatur die IBaseMessage und den Property Namespace.

Aus dem Context der IBaseMessage wird mit dem Propertie Namespace die Konfiguration geladen und auf die Felder der Properties Klasse gemapped. 

Adapter Klasse:

Erbt von Receiver oder AsyncTransmitter.

Endpoint Klasse:

Erbt von AsyncTransmitterEndpoint oder ReceiverEndpoint.
Hält jeweils ein passendes Properties und Adapter Objekt

 

Send – Versand implementieren: Um die Transportlogik zu implementieren, navigiert man in die passende Endpoint Klasse und überschreibt (override) die „ProcessMessage“ Methode.

Spätestens in dieser Methode hat man dann auch die Möglichkeit, das Properties Objekt zu erstellen, über die Methode bekommt man die Message; den Property Namespace erhält man, indem man die „Open“ Methode überschreibt.

 

Receive – Empfang implementieren: Es gibt verschiedene Möglichkeiten, Daten zu empfangen, bei dem QUIBIS WebDAV Adapter haben wir uns für ein „Polling“ entschieden. Wenn wir die Methode „Open“ überschreiben, bekommen wir Zugriff auf den IBTTransportProxy, den wir später für den Batch benötigen.

Auch die Properties laden wir in der „Open“ Methode, wie auch in dem Send Endpoint. Dazu haben wir einen System.Threading.Timer verwendet, der mit der auszuführenden Methode und dem Intervall initialisiert wird.

In der Methode, in der die Daten empfangen werden, muss ein Batch Objekt erzeugt werden. Diesem Objekt kann man dann mit „SubmitMessage“ eine IBaseMessage hinzugefügt werden. Wenn man den Batch mit der „Done“ Methode beendet, werden die Nachrichten für den BizTalk sichtbar.

Entwicklung des Adapter Management Projektes: Im Management Projekt finden Validierungen der Konfiguration statt. So können z.B. Passwörter vor der Ausführung des eigentlichen Adapters überprüft werden, ohne die eigentliche Funktion des Adapters auszuführen.

Außerdem befinden sich XSD-Dateien im Projekt, die für die Darstellung in der BizTalk Administration Konsole zuständig sind, in diesen ist es möglich auch komplexe Datentypen anzulegen und im BizTalk z.B. als Dropdown oder Password Feld zu initialisieren.

Die Entwicklung des Adapters hat Spaß gemacht und war leichter als gedacht. Wer mehr zum Adapter wissen möchte, kann sich unter http://www.quibiq.de/produkte/quibis-webdav-adapter auch die Dokumentation anschauen.

 

Lukas Schuster, QUIBIQ Hamburg

Ihre Kontaktmöglichkeiten

Sie haben eine konkrete Frage an uns


 

Bleiben Sie immer auf dem Laufenden


 

Mit meinem "Ja" erkläre ich mich mit der Verarbeitung meiner Daten zur Zusendung von Informationen einverstanden. Ich weiß, dass ich diese Erklärung jederzeit durch einfache Mitteilung widerrufen kann. Bei einem Nein an dieser Stelle erhalte ich zukünftig keine Informationen mehr.

© QUIBIQ GmbH · Impressum · Datenschutz