Wie testen Sie Ihre Prozesse?

Ähnliche Dokumente
Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Richtig testen in SOA/BPM-Projekten

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Open Source. Hendrik Ebbers 2015

5.3 Das vrealize-automation-rollenkonzept

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Workflow, Business Process Management, 4.Teil

Bes 10 Für ios und Android

Version 0.3. Installation von MinGW und Eclipse CDT

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Java Entwicklung für Embedded Devices Best & Worst Practices!

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Die PayPal Testumgebung (Sandbox) Inhalt. Version Dezember 2013

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Collaboration Manager

Anleitung Grundsetup C3 Mail & SMS Gateway V

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

atcsv2ctm Ein Tool für die Foldergenerierung mittels Excel/CSV in einem CONTROL-M Umfeld

Man liest sich: POP3/IMAP

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Avira Support Collector. Kurzanleitung

Web Interface für Anwender

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim,

Primzahlen und RSA-Verschlüsselung

Integrationsprozesse. cross component BPM - Steuerung systemübergreifender Szenarien. Konrad Lubenow, FHTW Berlin, Juli 2007

Übung - Konfigurieren einer Windows-XP-Firewall

Lokale Installation von DotNetNuke 4 ohne IIS

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang

MEHR INNOVATION. MIT SICHERHEIT. COMPAREX Briefing Circle 2014

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

Übung: Verwendung von Java-Threads

Release Automation für Siebel

Automatisiertes Testen von Java EE-Applikationen mit Arquillian

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Windows Server 2008 (R2): Anwendungsplattform

Avira Professional Security/ Avira Server Security Version 2014 Release-Informationen

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

SDD System Design Document

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Konfiguration der Yeastar MyPBX IP-Telefonanlagen mit iway Business SIP Trunk

Service-Orientierte InterSystems GmbH 2009

Reporting Services und SharePoint 2010 Teil 1

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

SL PROVISOR Automation in der Qualitätssicherung sinnvoll erhöhen

Webmodule. Informationen zur neuen Version der Online Auftragserfassung / Tracking & Tracing

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Der konsequente Verzicht auf alles Unnötige verhindert Komplexität, den wohl größten Kostentreiber im Unternehmen. (Peter May, Lernen von den

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version:

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

OutLook 2003 Konfiguration

Continuous Delivery in der Realität eines Großunternehmens

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

SAP NetWeaver Gateway. 2013

Einreichung zum Call for Papers

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

VMware vrealize Automation Das Praxisbuch

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Anleitung zur Webservice Entwicklung unter Eclipse

Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service

Verarbeitung der Eingangsmeldungen in einem Callcenter

Zugriff auf Unternehmensdaten über Mobilgeräte

Einzelplatz - USB-Lizenz

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Alle Informationen zu Windows Server 2003 Übersicht der Produkte

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Installation von NetBeans inkl. Glassfish Anwendungs-Server

PHPNuke Quick & Dirty

Administrator Handbuch

RESTful Web. Representational State Transfer

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Impuls-Studie Enterprise Mobility

Windows 8 Lizenzierung in Szenarien

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone

Windows Small Business Server (SBS) 2008

Avira Server Security Produktupdates. Best Practice

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

Getting Started Guide CRM Online, 2013 & 2015 xrm1 Verpflegungspauschalen

a.sign Client Lotus Notes Konfiguration

impact ordering Info Produktkonfigurator

Einfach wie noch nie. Der mypackage-ansatz. Ihre Lösung zur automatisierten Client-Bereitstellung. mypackage im Überblick

BytStorMail SAAS als Relay

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Cisco Security Monitoring, Analysis & Response System (MARS)

Gemeinsam mehr erreichen.

Testen und Testautomatisierung in agilen Projekten

Xpert.IVY das GUI ist entscheidend!

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Kurzanleitung Kredit über Santander Bank

Transkript:

Wie testen Sie Ihre Prozesse? Wolfgang Strunk (Talend) und Johannes Rost (C1 WPS) WAM Workshop 2011 C1 WPS GMBH //// Vogt-Kölln-Straße 30 //// 22527 HAMBURG //// GERMANY

Talend is a global Leader in Integration Venture-backed San Francisco (Los Altos) Corporate Orange County (Irvine) Business R&D Tech Support New York (Tarrytown) Business Tech Support Boston Business Tech Support Adoption rates 10 million downloads 600,000 users 2,500 customers Paris (Suresnes) Corporate Business R&D Tech Support Company facts Leading company for Open Source integration technology Roots in France and Germany Currently 450 employees, planned 550 until end of 2011 Utrecht Business Milan (Curno) Business Tech Support London (Maidenhead) Business Tech Support Bonn, Düsseldorf, Nuremberg, Munich Corporate Business R&D Tech Support Tokyo Business Tech Support Beijing R&D Tech Support 16.11.2011 //// Seite 2

AGENDA 1. Möglicher Prozess auf Basis einer SOA/BPM-Architektur 2. Definition eines Prozesstests 3. Schrittweise Reduktion der Komplexität des Testfalls 4. Anforderungen an einen ESB aus Sicht von Testfällen 5. Vorstellung des Talend ESB 6. Beschreibung des Testframeworks 7. Besonderheiten in der neuen Version des ESB 16.11.2011 //// Seite 3

Ein einfacher Prozess 16.11.2011 //// Seite 4

einige Services 16.11.2011 //// Seite 5

viele Systeme 16.11.2011 //// Seite 6

viele Systeme Enterprise Service Bus Prozess Engine Enterprise Service Bus Legacy Systeme 16.11.2011 //// Seite 7

Ein möglicher Testfall 16.11.2011 //// Seite 8

Viele Systeme im Test führen zu hohem Aufwand Es ist sehr aufwendig einen Test auf Basis der richtigen Systeme durch zuführen Alle verwendeten Systeme müssen in der richtigen Version verfügbar sein. Unabhängige Entwicklung der einzelnen Prozesse und Services wird erschwert. Passende Testdaten müssen in allen Systemen vorliegen und werden durch einen durchlauf unter Umständen verbraucht. Bestimmte Fehlersituationen sind unter umständen schwer zu erzeugen. Auftretende Fehler lassen sich aufgrund der zahlreichen involvierten Systeme schwer lokalisieren 16.11.2011 //// Seite 9

Dummies nehmen einen Teil der Komplexität weg Dummy Dummy 16.11.2011 //// Seite 10

Testdummies für die Prozesstests Für Prozesstest mit Dummies müssen immer noch mehrere Systeme zusammenspielen. Für unterschiedliche Testfälle braucht man unter Umständen unterschiedliche Dummies. In einem Test mit Dummies wird immer noch zu viel getestet und es gibt zu viele Fehlerquellen neben dem zu testenden Prozess. Durch die Implementierung von Service-Dummies entsteht zusätzlicher Quellcode, der ebenfalls gewartet werden muss. Dummy Dummy 16.11.2011 //// Seite 11

Der eigentliche Prozess 16.11.2011 //// Seite 12

endet mit den ausgetauschten Nachrichten 16.11.2011 //// Seite 13

endet mit den ausgetauschten Nachrichten Enterprise Service Bus Prozess Engine Enterprise Service Bus 16.11.2011 //// Seite 14

Nachrichten basiertes Testen Wenn der ESB die Möglichkeit bietet Testfälle an beliebigen Schnittstellen einsetzen zu können muss ein Prozesstest nur aus einem definierten Satz Nachrichten bestehen: Die Nachrichten können an den Prozess gesendet werden Oder werden vom Prozess erwartet Einzelne Testfälle unterscheiden sich durch den Austausch der verwendeten Nachrichten: Testen des Kontrollflusses durch die Art der Nachrichten Testen des Datenflusses durch den Inhalt der Nachrichten 16.11.2011 //// Seite 15

Testen des Kontrollflusses: Variante A 1 2 16.11.2011 //// Seite 16

Testen des Kontrollflusses: Variante B 1 2 16.11.2011 //// Seite 17

Testen des Datenflusses durch Nachrichteninhalt Vorname: Max Name: Muster 16.11.2011 //// Seite 18

Was muss ein Testframework eines ESBs leisten? Der Prozess sollte in der normalen Umgebung ausgeführt werden. Der ESB muss es zulassen, dass sich der Testfall anstelle der echten Services in den Nachrichtenfluss einklinken kann. Sätze von Nachrichten müssen als Testfälle konfiguriert werden können: Welche Nachrichten gesendet werden Welche Nachrichten erwartet werden Einzelne Werte in den Nachrichten sollten als Variablen exportiert werden: Steigerung Wiederverwendbarkeit von Testnachrichten Ermöglicht eindeutige Werte über alle Testläufe (zum Beispiel für Korrelation) 16.11.2011 //// Seite 19

BPM Integration with SOPERA ASF Call SOPERA Providers in Business Processes Intalio BPMS Server SOPERA Adapter In-memory web service calls Call Business Processes from SOPERA Consumers Human Interaction and Workflow Dynamic Provider Lookup & Location Independence Service Activity Monitoring Consumer Provider Provider Provider SOPERA Participants SOPERA service calls Security & Policy Handling Registry Integration (Drag&Drop) Talend 2011 20

Prozesstests: ein erster Ansatz mittels Testservices Services können neben der vollen Implementierung auf Basis von Hintergrundsystemen noch eine Testimplementierung bereitstellen Dadurch werden die Abhängigkeiten zum Zustand der Hintergrundsysteme entfernt Diese Tests können zum Testen von Erreichbarkeit von Services, korrekter Anbindung an den Prozess, Berechtigungen, usw. genutzt werden. Nachteile: Es entsteht zusätzlicher Aufwand für die Testimplementierung Das Setup für solche Integrationstests ist immer noch komplex (z.b. Deployment der Services) Talend 2011 21

Talend 2011 22 Das Test-Framework ist ein Black-Box-Test auf Basis der fachlichen Prozesse basiert auf Testszenarien pro zu testendem Workflow Gliederung in Testfälle und Testschritte Testfälle decken unterschiedliche Ausführungspfade im Workflow ab (z.b. Genehmigung von Urlaub, Ablehnung von Urlaub, Fehler bei Urlaubsbuchung) Testschritte definieren einzelne Aktionen zur Durchführung und Prüfung der Testfälle wird unterstützt durch den generischen Testconsumer und den generischen Testprovider Der Consumer ruft die Prozesse auf und kann mit dem Workflow über den TMS interagieren. Test-Engine Test-Engine Testconsumer Workflow Integrationssystem Testprovider Service (Testprovider) Service von Dritten erstellt Service im Projekt erstellt

Prüfen des Nachrichteninhalts je nach Request wird eine definierte Response als Antwort gesendet Modifizieren der Responses durch feldweises Kopieren von Werten Der erwartete Nachrichteninhalt für vom Prozess gesendete Requests wird ebenfalls in der Konfiguration des Testfalls festgelegt. Die Vorbedingungen lassen sich als XPath-Ausrücke formulieren, z.b. /Brief/Absender/Name= Müller Um die Testfälle flexibler zu machen, werden Variablen eingeführt, die in der Konfiguration verwendet werden und vom Testfall gesetzt werden: Nachricht: <Brief> <Absender> <Name>${name}</Name> Vorbedingung: /Brief/Absender/Name= ${name} Talend 2011 23

Einsatzszenarien Service-Simulation zur Entwicklungszeit Parallele Entwicklung von Service-Konsumenten und Services Konsumenten können gegen Mockups getestet werden Test-Konsument zum Schnittstellen-Test Schrittweise Entwicklung von Test-Konsumenten Regressionstests der Service Implementierung über einen Test-Konsumenten Workflow-Test, Prozess-Test In einem Workflow-Test können Services durch Mockups ersetzt werden. Die Simulation von Benutzeraktionen an der Benutzerschnittstelle übernimmt ein Test-Konsument. Talend 2011 24

Talend ESB Components Development Runtime Eclipse STP/WTP REST & Web Services Apache CXF REST & Web Services Apache Camel Mediation Apache Maven Build & Deploy Talend ESB Studio Apache ActiveMQ Message Broker Apache Karaf OSGi Eclipse Equinox OSGi Talend ESB Project Management Chairs Strategic Board Member Expert Group Member Talend 2011 25

Talend ESB Components Development Runtime Operation Eclipse STP/WTP REST & Web Services Route Builder Mediation Service Builder Integration Apache Maven Build & Deploy Talend ESB Studio Apache CXF REST & Web Services Apache Camel Mediation Apache ActiveMQ Message Broker Apache Karaf OSGi Secure Token Server Security Service Locator Distributed Registry Rules Engine Business Rules Eclipse Equinox OSGi Talend ESB Talend Admin Center Management & Monitoring Service Activity Monitoring Tracking & Tracing VMware Hyperic HQ Management & Monitoring Repository Metadata & Projects Talend Administration Center Documentation & Examples Project Management Chairs Strategic Board Member Expert Group Member Talend 2011 26

Das Apache Camel Projekt Leistungsfähiges Integrationsframework Open Source Apache License v2 Homepage des Projekts: http://camel.apache.org Aktive und wachsende Community Camel basiert auf EIPs! Messages und Exchanges Processors Endpoints Producers und Consumers Languages, Expressions und Predicates TypeConverters Routes CamelContext, Services und Registries Talend 2011 27

Routing in Camel Konvention vor Konfiguration! Eine Route ist (vereinfacht) ein Consumer, der mit einem zusammengesetzten Processor verbunden ist Ein Processor verarbeitet einen Exchange, indem er die eingehende Message nutzt und optional eine ausgehende Message erzeugt (oder eine Exception) Die out Message des vorherigen Processor ist die in Message des jeweils nächsten Gibt der vorherige Processor keine out Message zurück, wird die vorige in Message zur out Message Am Ende der Verarbeitung wird die letzte out (oder in) Message zur Rückgabenachricht und vom Consumer zurückgeschickt out in out in out in out Consumer Pipes and Filters EIP (Processors) Exchange Diagramm aus Camel in Action, Manning 2011 Talend 2011 28

Talend 2011 29 Routen debuggen Um Routen zu debuggen, können Sie mit einem vereinfachten Testfall beginnen Unit Tests (JUnit) nutzen das Test Kit von Camel nutzen http://camel.apache.org/testing.html mock://... Endpoints nutzen Logdateien und den log://... Endpoint nutzen Camel Tracer Interceptor nutzen http://camel.apache.org/tracer.html den Java Debugger einer IDE (z.b. Eclipse) nutzen Camel Debugger nutzen http://camel.apache.org/debugger.html die Funktionen von JMX und Notifications nutzen

Talend 2011 30 Message Transformation Message Translator Wie können Applikationen, die unterschiedliche Datenformate nutzen, miteinander kommunizieren? Implizit mittels TypeConverter Explizit in er DSL deklariert Normalizer Wie werden Nachrichtenverarbeitet, die semantisch gleich sind, aber unterschiedliche Formate haben? from("direct:set-body").setbody().constant("goodbye World") from("direct:bean").to("bean:translatorbean") from("direct:processor").process(translatorprocessor) from("direct:template").to("velocity:templates/report.vm")

Talend 2011 31 Talend ESB Route Builder Route Builder Endpoints EIPs Processors Custom components Configuration Components Endpoints Code Generation 100% Java Camel Code Packaged as OSGi Bundles Execution in the IDE Debugging Live statistics Short dev cycles

Talend 2011 32 Q & A Thank you! Merci! Vielen Dank! Use our forums http://www.talendforge.org/forum/ to ask questions or email wstrunk@talend.com and we will get back to you via email