Frage

Ich habe gerade angefangen in BizTalk bei der Arbeit bekommen und würde gerne ich mit alles zu halten, habe gelernt, über DDD, TDD usw. Ist dies überhaupt möglich, oder bin ich zu haben, um immer die Visio wie Editoren beim Erstellen Dinge wie Pipelines und Orchestrierungen?

War es hilfreich?

Lösung

Sie können sicherlich viele der Konzepte von TDD und DDD gelten Entwicklung an BizTalk.

Sie können um das Konzept der Domain-Objekte entwerfen und entwickeln (obwohl in BizTalk und Integrationsentwicklung I oft Interface-Objekte finden oder kontrahieren ersten Entwurf ein nützlicher Denkweise zu sein - was für Nachrichten um an meinem Schnittstellen übergeben bekommen). Und Sie können auch folgen die ‚möglichst einfache Sache bauen, das wird funktionieren‘ und ‚nur die Dinge bauen, die Tests bestehen, machen‘ Philosophien TDD.

Allerdings Ihre Frage klingt wie Sie mehr über die Code-zentrierten Seiten dieser Konstruktion und Entwicklungsansätze sind gefragt.

Bin ich richtig, dass Sie möchten in der Lage sein, den Test Driven Development Ansatz zu folgen zunächst eine Unti Test zu schreiben, die eine Anforderung ausübt und fehlschlägt, ein Verfahren zu schreiben, die die Anforderung und führt den Test bestehen erfüllt - alles innerhalb von eine traditionelle Programmiersprache wie C #?

Für die leider ist die Antwort nein. Die Mehrheit der BizTalk Artefakte (Pipelines, Karten, Orchestrierungen ...) kann nur wirklich Plugins unter Verwendung des Visual Studio BizTalk gebaut werden. Es gibt Möglichkeiten, die darunter liegenden c # -Code sehen, aber man würde nie wollen, um zu versuchen und direkt diesen Code zu entwickeln.

Es gibt zwei Werkzeuge BizUnit und WebService Mocking durch ein Biztalk Request-Response verbraucht Port

Andere Tipps

Wenn Sie häufig den Einsatz von Rohrleitungen und benutzerdefinierten Pipeline-Komponenten in BizTalk machen, könnten Sie meine eigene PipelineTesting Bibliothek nützlich finden. Es ermöglicht Ihnen, NUnit (oder was auch immer andere Test-Framework Sie bevorzugen) verwenden, um automatisierte Tests für komplette Rohrleitungen, spezifische Pipeline-Komponenten oder sogar Schema (wie Flat-File-Schema) zu erstellen.

Es ist ziemlich nützlich, wenn Sie diese Art von Funktionalität verwenden, wenn ich so sagen darf ich (ich schweren Gebrauch davon auf meinen eigenen Projekten zu machen).

Sie können eine Einführung in die Bibliothek finden hier und der vollständige Code auf github . Es gibt auch einige weitere ausführliche Dokumentation über seine Wiki .

Ich stimme mit den Kommentaren von CKarras. Viele Menschen haben zitiert, dass als Grund für nicht BizUnit Rahmen mögen. Aber nehmen Sie einen Blick auf BizUnit 3.0. Es hat ein Objektmodell, das Ihnen den gesamten Testschritt in C # / VB anstelle von XML zu schreiben. BizUnitExtensions wird auch auf das neue Objektmodell aktualisiert.

Die Vorteile des XML-basierten Systems ist, dass es einfacher ist, Prüfschritte zu erzeugen, und es besteht keine Notwendigkeit, neu zu kompilieren, wenn Sie die Schritte aktualisieren. In meiner eigenen Extensions-Bibliothek, fand ich die XmlPokeStep (inspiriert von NAnt) sehr nützlich zu sein. Mein Team kann Prüfschritt xml on the fly aktualisieren. Zum Beispiel können sagen, dass wir eine Webservice zu nennen hatte, die einen Kundendatensatz erstellt und überprüft dann eine Datenbank für den gleichen Datensatz. Nun, wenn der Webservice die ID (dynamisch generiert) zurückkehrt, können wir den Testschritt für den nächsten Schritt im laufenden Betrieb (nicht in der gleichen XML-Datei natürlich) aktualisieren und dann verwenden, um die Datenbank zu überprüfen.

Von einer Codierung Perspektive sollte die Intellisense jetzt 3,0 in BizUnit angesprochen werden. Das Fehlen eines XSD tat Dinge schwierig in der Vergangenheit machen. Ich hoffe, eine XSD aussteigen, die in der IntelliSense helfen werden. Es gab einige Schnipsel als auch für eine alte Version von BizUnit aber die havent aktualisiert worden ist, vielleicht, wenn Theres Zeit ich, dass ein Go geben werde.

Aber zurück zu dem TDD-Problem, wenn Sie einen Teil der Absicht hinter TDD nehmen - die Spezifikation oder Verhalten angetriebenes Element, dann können Sie es zu einem gewissen Grad Biztalk Entwicklung gelten auch, weil BizTalk basieren stark auf Vertrag Getriebene Entwicklung . So können Sie Ihre Schnittstellen zuerst angeben und Stub Orchestrierungen usw. erstellen, sie zu verarbeiten und dann den Kern bauen aus. Sie könnten die BizUnit Tests zu dieser Zeit schreiben. Ich wünschte, es einige Werkzeuge waren, die diesen Prozess automatisieren könnte, aber jetzt gibt Arent.

Rahmenbedingungen wie der ESB Anleitung verwenden können Sie eine Basisplattform helfen geben abarbeiten, damit Sie die wichtigsten Anwendungsfälle durch das System iterativ implementieren.

Nur ein paar Gedanken. Hoffe das hilft. Ich denke, es lohnt zu ausgiebigen bloggen. Dies ist ein gutes Thema ping mich discuss.Do, wenn Sie Fragen haben oder wir können immer mehr hier diskutieren.

Rgds Benjy

Sie könnten BizUnit verwenden, um generische Testfälle zu erstellen und wiederverwenden sowohl in Code und Excel (für funktionale Szenarien)

http://www.codeplex.com/bizunit

BizTalk Server 2009 wird erwartet, dass mehr IDE integriert Testbarkeit hat.

Prost Hemil.

BizUnit ist wirklich ein Schmerz zu verwenden, da alle Tests in XML geschrieben werden statt einer Programmiersprache.

In unseren Projekten haben wir „portieren“ Teile BizUnit zu einem einfachen alten C # Test-Framework. Dies ermöglicht es uns BizUnit Bibliothek von Schritten direkt in C # NUnit / MSTest Code zu verwenden. Dies macht Tests, die leichter zu schreiben sind (mit VS Intellisense), flexibler, und am wichtigsten, leichter bei einem Testfehler zu debuggen. Der größte Nachteil dieses Ansatzes besteht darin, dass wir von der Haupt BizUnit Quelle gegabelt haben.

Eine weitere interessante Option, die wir für zukünftige Projekte in Betracht ziehen würde BooUnit , die ein Boo-Wrapper oben ist von BizUnit. Es hat ähnliche Vorteile wie unsere BizUnit „Port“, sondern hat auch den Vorteil, immer noch mit BizUnit anstelle von ihm von Forking.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top