SOA verspielt - rekursive BPEL Prozesse

Ähnliche Dokumente
Union Investment

Implementierungsvarianten. mit Oracle Application Express

Wandel im Handel Microsoft Business IT-Lösung für mehr Erfolg

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Erstellen einer digitalen Signatur für Adobe-Formulare

Professionelle Seminare im Bereich MS-Office

Programmierkurs Java

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

1 topologisches Sortieren

Urlaubsregel in David

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

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

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Oracle RMAN..beim Recovery das Disaster erleben? Referent: Volker Mach, Fachbereichsleiter RSS, MT AG, Ratingen

Leichte-Sprache-Bilder

Programmteil Zeiterfassung für Projekt und Mitarbeiter

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Informatik-Sommercamp Mastermind mit dem Android SDK

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Kapiteltests zum Leitprogramm Binäre Suchbäume

teamsync Kurzanleitung

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

How to do? Projekte - Zeiterfassung

WebService in Java SE und EE

Anforderungen an die HIS

Lehrer: Einschreibemethoden

Barcodedatei importieren

Feiertage in Marvin hinterlegen

Die Rückgabe kann über folgende, von uns getestete Programme / Apps vorgenommen werden: Adobe Digital Editions Sony Reader for PC Bluefire Reader

Aufklappelemente anlegen

Zahlen auf einen Blick

Die Post hat eine Umfrage gemacht

Serienbrief mit Works 7.0

Institut für Existenzgründungen und Unternehmensführung Wilfried Tönnis, M.A. Installationshandbuch

Anleitung Postfachsystem Inhalt

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Internationales Altkatholisches Laienforum

Handbuch. ECDL 2003 Professional Modul 3: Kommunikation. Signatur erstellen und verwenden sowie Nachrichtenoptionen

Ein Sozialprojekt der Rotary Clubs Paderbon Kaiserpfalz

Anleitung zum Einspielen der Demodaten

ELO Print&Archive so nutzen Sie es richtig

Hilfe, ich verstehe meine APEX Seite nicht mehr! DOAG Development Konferenz, Düsseldorf

DOKUMENTATION VOGELZUCHT 2015 PLUS

Hilfe zur Verwendung digitaler Formulare

Software- und Druckerzuweisung Selbstlernmaterialien

TechNote: Exchange Journaling aktivieren

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Erstellen von x-y-diagrammen in OpenOffice.calc

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Das muss drin sein. Hallo, wir sind die Partei: DIE LINKE.

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Achtung! In Abhängigkeit Ihrer Lohnlizenz können einzelne Felder evtl. nicht angezeigt werden (z.b. Pfänd.summe, PV-frei, UV-frei).

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

Anleitung. Schritt für Schritt: iphone und ipad. Richten Sie Ihr -Konto mit Ihrem iphone oder ipad Schritt für Schritt ein.

repostor möchte Ihre TCO senken

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Kurzeinführung Excel2App. Version 1.0.0

Ihr CMS für die eigene Facebook Page - 1

Arbeiten mit dem Outlook Add-In

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Anleitung für die Lohnmeldung via ELM-Standard mittels PartnerWeb

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Pfötchenhoffung e.v. Tier Manager

1. Einführung. 2. Die Abschlagsdefinition

Anwendungsbeispiele Buchhaltung

Kampagnenmanagement mit Siebel Marketing/Oracle BI ein Praxisbericht

Internet online Update (Mozilla Firefox)

BlueEvidence Services in Elexis

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Zur Einrichtung der orgamax Cloud auf Ihrem ipad beschreiben wir hier die Vorgehensweise.

Anlegen eines DLRG Accounts

Anleitung zur Benutzung des jobup.ch Stellensuchendekontos

nessbase Projekte Über Projekte I

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Kurzeinweisung. WinFoto Plus

Bewährte Allfinanzkonzeption wird um einzigartiges Angebot für das deutsche Handwerk und den Mittelstand erweitert

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Tevalo Handbuch v 1.1 vom

Transkript:

SOA verspielt - rekursive BPEL Prozesse Referent: Guido Neander DOAG Nürnberg, 22.11.2012

MT AG business by integration Die MT AG ist ein IT-Dienstleister, der sich auf Prozess- und Softwareintegration in heterogenen IT- Landschaften seiner Kunden spezialisiert hat. Als anerkannter Partner der führenden Technologiehersteller verbinden wir die Agilität eines mittelständischen Unternehmens mit der Lösungskompetenz internationaler Beratungshäuser. Wir bieten daher ein durchgängiges und unabhängiges Portfolio von der Beratung über die Konzeption sowie Umsetzung bis hin zur Betreuung der Systeme. Neben der regionalen Nähe zu unseren Kunden leisten wir den entscheidenden Mehrwert durch engagierten und kompetenten Einsatz für ihren Geschäftserfolg. Die MT AG hat ihren Stammsitz in Ratingen und betreut ihre Kunden über diverse Niederlassungen in Deutschland sowie Luxemburg. 2 SOA verspielt - rekursive BPEL Prozesse

Inhalt 1. Einleitung 2. Sudoku 3. Rekursive Programmierung 4. Backtracking-Algorithmus 5. Technische Umsetzung 6. Deployment eines rekursiven BPEL-Prozesses 7. Demo 8. Fazit 3 SOA verspielt - rekursive BPEL Prozesse

Einleitung 4 SOA verspielt - rekursive BPEL Prozesse

Einleitung In diesem Vortrag wird eine Lösung vorgestellt, welche über einen rekursiven BPEL-Prozess ein Sudoku löst. Treffen hier auch die klassischen Vorteile und Nachteile gegenüber einer iterativen Programmierung zu? 5 SOA verspielt - rekursive BPEL Prozesse

Sudoku 6 SOA verspielt - rekursive BPEL Prozesse

Sudoku Regeln, und ein Rätsel Sudoku ist ein Logikrätsel. Ziel ist es ein 9 9-Gitter mit den Ziffern 1 bis 9 so zu füllen, dass jede Ziffer in jeder Spalte, in jeder Zeile und in jedem Block (3 3- Unterquadrat) genau einmal vorkommt. Ausgangspunkt ist ein Gitter, in dem bereits mehrere Ziffern vorgegeben sind. 7 SOA verspielt - rekursive BPEL Prozesse

Sudoku. und dessen Lösung 8 SOA verspielt - rekursive BPEL Prozesse

Rekursive Programmierung 9 SOA verspielt - rekursive BPEL Prozesse

Rekursive Programmierung Bei der rekursiven Programmierung ruft ein Programm sich selber wieder auf. Wichtig ist die Abbruchbedingung des eigenen Aufrufs zu erstellen, da ansonsten eine Endlosschleife entsteht. Vorteile der rekursiven Programmierung - je nach Algorithmus - sind: einfache Implementierung und vereinfachte Lesbarkeit Nachteile der Rekursion sind: jeder Funktionsaufruf kostet Zeit jeder Funktionsaufruf kostet Speicherplatz 10 SOA verspielt - rekursive BPEL Prozesse

Rekursive Programmierung Beispiel Fakultät Für alle natürlichen Zahlen n ist n! = 1 * 2* 3* * n Die Fakultät lässt sich auch rekursiv definieren: n! = 1, n = 0 n (n 1)!, n > 0 11 SOA verspielt - rekursive BPEL Prozesse

Rekursive Programmierung Beispiel Berechnung der Fakultät von 3 Bei der rekursiven Programmierung ruft ein Programm sich selber wieder auf. Wichtig Fact(3) ist = die 3 * Fact(2) = 3 * 2 = 6 Abbruchbedingung des eigenen Aufrufs, weil sich sonnst das Programm endlos aufrufen würde. Fact(2) = 2 * Fact(1) = 2 * 1 = 2 Vorteile rekursiver Programmierung liegen je nach Algorithmus, bei einfacher Implementierung und besserer Lesbarkeit. Fact(1) = 1 * Fact(0) = 1 * 1 = 1 Fact(0) = 1 12 SOA verspielt - rekursive BPEL Prozesse

Backtracking-Algorithmus 13 SOA verspielt - rekursive BPEL Prozesse

Backtracking-Algorithmus Ausgehend vom Startpunkt der Aufgabe, testet der Backtracking-Algorithmus sämtliche Möglichkeiten aus, um die Lösung zu finden ähnlich der Vorgehensweise des Rätsellösers auf dem Blatt Papier. Sobald erkennbar ist, dass eine Möglichkeit nicht funktioniert, wird diese verworfen und die nächste Richtung berechnet. Hierdurch wird sichergestellt, dass eine vorhandene Lösung immer gefunden wird, aber nicht alle Varianten berechnet werden müssen. Dies verringert die Laufzeit. Ist keine Lösung möglich, wird auch dies festgestellt. Bei komplexen Aufgaben kann die Suche sehr lange dauern. Der Backtracking-Algorithmus lässt sich leicht rekursiv implementieren. 14 SOA verspielt - rekursive BPEL Prozesse

Backtracking-Algorithmus 7 6 8 3 8 3 6 7 6 3 8 8 6 3 15 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung 16 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Sudoku-Struktogramm 17 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Der Backtracking-Algorithmus wurde mit 3 BPEL-Modulen realisiert. 18 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Erstes BPEL-Modul: Sudoku_konsistent. 1 Prüfung: In jedem Block (3 3- Unterquadrat) darf jede Zahl nur einmal vorkommen. 19 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Erstes BPEL-Modul: Sudoku_konsistent. 2 Prüfung: In jeder Zeile darf jede Zahl nur einmal vorkommen. 20 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Erstes BPEL-Modul: Sudoku_konsistent. 3 Prüfung: In jeder Spalte darf jede Zahl nur einmal vorkommen. 21 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Erstes BPEL-Modul: Sudoku_konsistent. 4. Danach wird das Ergebnis der Verarbeitung zurückgegeben. 22 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Zweites BPEL-Modul: suche_leere_zelle 23 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Zweites BPEL-Modul: suche_leere_zelle. 1. Zuerst wird der Block (3 3- Unterquadrat) gesucht, bei dem die meisten Felder gefüllt sind. 24 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Zweites BPEL-Modul: suche_leere_zelle. 2. Danach wird in diesem Block das erste leere Feld ermittelt. 25 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Zweites BPEL-Modul: suche_leere_zelle. 3. Anschließend wird das Ergebnis der Verarbeitung zurückgegeben. 26 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Drittes BPEL-Modul: BPEL_Sudoku. 27 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Drittes BPEL-Modul: BPEL_Sudoku. 1. Zuerst wird über das Modul suche_leere_zelle ein leeres Feld gesucht. 28 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Drittes BPEL-Modul: BPEL_Sudoku. 2. Danach wird für das leere Feld geprüft, ob das Sudoku mit die Zahlen 1 bis 9 konsistent ist. 29 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Drittes BPEL-Modul: BPEL_Sudoku. 3. Ist das Sudoku mit diesem Wert konsistent, wird der Suduko-Algorithmus (mit gefüllten Feld) rekursiv aufgerufen. 30 SOA verspielt - rekursive BPEL Prozesse

Technische Umsetzung Drittes BPEL-Modul: BPEL_Sudoku. 4. Abschließend wird das Ergebnis ausgewertet und zurückgegeben. 31 SOA verspielt - rekursive BPEL Prozesse

Deployment eines rekursiven BPEL- Prozesses 32 SOA verspielt - rekursive BPEL Prozesse

Deployment eines rekursiven BPEL-Prozesses Erster Deployment Versuch 1. Deployment des Programms ohne Rekursion 2. Implementierung der Rekursion (Erstellung der Referenz über die Resource Palette.) 3. Beim Deployment erscheint die Fehlermeldung, dass die Referenz nicht existiert 33 SOA verspielt - rekursive BPEL Prozesse

Deployment eines rekursiven BPEL-Prozesses Zweiter Deployment Versuch 1. Deployment des Programms ohne Rekursion 2. Speichern der WSDL im Dateisystem 3. Implementierung der Rekursion (Erstellung der Referenz über die gespeicherte WSDL mit der Option, eine lokale Kopie zu erstellen.) 4. Das Deployment erfolgt ohne Fehler 34 SOA verspielt - rekursive BPEL Prozesse

Demo 35 SOA verspielt - rekursive BPEL Prozesse

Fazit 36 SOA verspielt - rekursive BPEL Prozesse

Fazit Die Vor- und Nachteile rekursiver Programmierung treffen auch auf BPEL zu. Vorteile der Rekursion sind: Bei passenden Algorithmen lassen sich die rekursiven Programme mit weniger Entwicklungsaufwand kompakt und übersichtlich erstellen damit reduziert sich auch die Fehleranfälligkeit Nachteile der Rekursion können sein: jeder Funktionsaufruf kostet Zeit jeder Funktionsaufruf kostet Speicherplatz 37 SOA verspielt - rekursive BPEL Prozesse

Literaturempfehlung und Quellennachweis Buchempfehlungen Titel: Oracle SOA Suite 11g Handbook Autor: Lucas Jellema Verlag: Osborne Oracle Press Series Titel: Oracle SOA Suite Developer's Guide Autor: Matt Wright (Author), Antony Reynolds (Author) Verlag: Packt Publishing URL-Nachweis http://de.wikipedia.org/wiki/sudoku http://de.wikipedia.org/wiki/backtracking http://de.wikipedia.org/wiki/rekursive_programmierung http://blogs.bpel-people.com/2007/02/writing-recursive-bpel-process.html 38 SOA verspielt - rekursive BPEL Prozesse

MT AG Daten und Fakten Inhabergeführte AG Aktienkapital 1.500.000 Gründung 1994 Hauptsitz Ratingen Vorstand Friedrich Hess (Vorsitzender) Siegfried Lassak Aufsichtsrat Dr. Jürgen Schürenberg Matthias M. Richter Rainer Symanski Hamburg Niederlassungen Hamburg, Dortmund, Frankfurt, Luxemburg Beschäftigte (2012) 220 Festangestellte 80 Freiberufler Dortmund Ratingen Tochtergesellschaften MT-ifs GmbH, MT-ics GmbH Luxemburg Frankfurt 39 SOA verspielt - rekursive BPEL Prozesse

Besuchen Sie auch unsere weiteren Vorträge auf der DOAG 2012 Dienstag, 12 Uhr, Raum Riga Dienstag, 13 Uhr, Raum Seoul Dienstag, 14 Uhr, Raum Stockholm Dienstag, 15 Uhr, Raum Kopenhagen Dienstag, 16 Uhr, Raum Stockholm Mittwoch, 13 Uhr, Raum Riga Mittwoch, 15 Uhr, Raum Riga Mittwoch, 16 Uhr, Raum Seoul Donnerstag, 09 Uhr, Raum Istanbul Donnerstag, 14 Uhr, Raum Konf. EG Donnerstag, 15 Uhr, Raum Istanbul Donnerstag, 16 Uhr, Raum Oslo Dynamisch Unterschiede in Datensätzen auf Feldebene finden by S.O. Kelbert Route to ASM by Ernst Leber Automatische Generierung der ETL-Prozesse vs. ODI by Irina Gotlibovych Wiederverwendung von bestehendem PL/SQL Code in ADF Anwendungen by Hendrik Gossens Managed Code mit OWB Methoden und Wege by Bernhard Rosenberger Dateizugriff mit new I/O 2 by Wolfgang Nast WebServices in Java SE und EE by Wolfgang Nast Das Mysterium OPatch by Volker Mach Das größte APEX Projekt der Welt @ Union Investment by Niels de Bruijn Testen mit Pfefferminzgeschmack by Birgit Kratz APEX goes UNIT Testing by Oliver Lemm SOA verspielt rekursive BPEL Prozesse by Guido Neander 40 SOA verspielt - rekursive BPEL Prozesse

Vielen Dank. MT AG Balcke-Dürr-Allee 9 40882 Ratingen Telefon: +49 (0) 21 02 309 61-0 Telefax: +49 (0) 21 02 309 61-10 E-Mail: info@mt-ag.com www.mt-ag.com