Dienstag, Juli 25, 2006

3. Expertengespräch zu SOA, BAM, BPM, CEP

19.6.2006: Regensburg. Auch hier wieder ein Bpel-Vortrag. Interessantes Event, im wesentlichen Bankenumfeld.

Vortrag OMG - Information Days

Nachtragsposting: So, die 3. OMG-Information Days sind vorüber. Ich konnte einen Vortrag zum Thema BPEL halten. Sehr gutes Publikum, hat Spaß gemacht. Veranstaltungsorte waren Düsseldorf (30.3.06). Frankfurt (5.4.06) und München (6.4.06).

Industrielle Produktion fachlicher Prozesse mit Hilfe der Business Process Execution Language (BPEL)

Inhalt:

a) allgemein
Die Business Process Execution Language (BPEL) bringt Bewegung in die herkömmliche Geschäftsprozessmodellierung (GPM), die bisher oft nur Dokumentationscharakter hatte. BPEL stellt das fehlende Bindeglied dar, mit dem sich der "ausführbare Geschäftsprozess" realisieren lässt. Services aus einer SOA lassen sich einfach orchestrieren, deployen und vor allen Dingen auch monitoren. Über Sensoren können Prozessdaten in Echtzeit abgegriffen werden. Beispiel: Durchschnittlich 800 Baufinanzierungen am langen Donnerstag werden erwartet. Bis Mittag nur 150 abgeschlossen. Aktiver Controlling-Eingriff möglich: Konditionen nicht ok? System nicht ok? Mitbewerberangebote besser?

b) Praxisprojekt
Dem Kunden geht die einfache Automatisierung von individuellen Prozessen allein mit BPEL nicht weit genug. Ziel ist vielmehr die "industrielle Produktion" von Prozessen, um eine für den praktischen Alltag ausreichende Umsetzungsgeschwindigkeit neuer Anforderungen erreichen zu können. Dazu wurde eine generisches System rund um die BPEL-Lösung von Oracle (BPEL Process Manager) aufgesetzt, welches eine extrem schnelle Umsetzung neuer fachlicher Prozesse erlaubt. Der Entscheidung für die Oracle Lösung ist eine gründliche Evaluierung von Produkten aller großen Hersteller wie IBM, BEA, SAP und Oracle vorausgegangen, inkl. Lasttests der implementierten prototypischen Lösungen. Ergebnis war, dass Oracle's Infrastruktur am stabilsten und am weitesten ausgereift erschien: die Oracle BPEL Engine bietet Clustering, Failover und damit optimale Skalierbarkeit und Ausfallsicherheit. Der Oracle BPEL Process Manager bietet eine herragende Designumgebung, die BPEL zusätzlich EAI und Workflow tauglich macht. Über diverse Adaptoren lassen sich wizardgesteuert Fremdsysteme einbetten (Files, Datenbanken, EJBs, Java-Klassen, JMS, JCA, Oracle Applications, etc.). Eine Workflow-Engine steht innerhalb der Oracle BPEL Laufzeitumgebung als eigener Service zur Verfügung und kann sehr konfortabel über Wizards in BPEL-Prozessflüsse eingebettet werden.

Der Vortrag erläutert die Grundlagen, Hintergründe und vor allem die technischen Kniffe, die zur Umsetzung dieser sehr generischen Sichtweise von Prozessautomation nötig waren.

Training: Oracle Content Services, BPEL and Web Services

Nachtragsposting (Feb. 2006): In Kürze steht unsere OC-Roadshow zum Thema Content Services an. Da kommt das dreitätige Training von Oracle in München zum Thema Integration von CS und BPEL gerade recht. Wir erhoffen uns die Einsparung von einigen Tagen eigener Evaluierung und können uns komprimiert mit den Knackpunkten auseinandersetzen.


Der erste Tag beginnt mit einem Überblick über die Positionierung der Content Services, einer Übersicht, welche Probleme überhaupt addressiert werden und einer Demo des Systems. Für beinahe alles, was über die UI getan werden kann, existieren nun Web Services. Leider wird für die Web Services noch rpc/encoded verwendet. Eine Umstellung auf document/literal ist aber in Planung. Generell gibt es nun reichlich Manager-Services, die die Funktionalitäten bündeln. Dabei kommt eine Art generische Signatur zum Einsatz: es wird konfiguriert, welche Artefakte in der jeweiligen Antwort erwartet werden und der Service stellt dann auch genau diese Artefakte und nicht mehr bereit. Interessant.


Tag 2: Intensives Basteln mit den vorhandenen Web Services. Sehr gutes Beispiel mit einer guten Musterlösung (Snippets wieder verwendbar). Es gibt zwei Kits: eins vom Development und eins vom Product Management. In letzterem befindet sich eine Art Framework, das die Arbeit mit den CS Web Services deutlich vereinfacht.


Tag 3: Integration mit Bpel. Das läuft völlig lose gekoppelt über zwei Queues (Oracle AQ). Siehe Screenshot. Leider ist aktuell auf Bpel-Seite nur eine Verwendung des Java-Embedding möglich. Aber die sich ergebenden Möglichkeiten sind sehr vielfältig...

Vortrag auf der W-Jax 2006

Cool. Heute hat sich Nicolai Josuttis gemeldet. Er koordiniert den SOA-Day auf der kommenden W-Jax. Zusammen mit Mirko werde ich dort den 1. Teil unseres BPEL-Vortrags halten können. Der 2. Teil folgt dann irgendwann im Laufe der Konferenz.

W-Jax: Swing Rich Clients auf Basis von Equinox

Mein Kollege Roland Schneider wird auch einen Vortrag auf der W-Jax halten. Sehr spannend:
Als OSGi Framework stellt Equinox eine sehr interessante Möglichkeit dar, Plug-in-basierte Anwendungen zu entwickeln. Viele Entwickler scheuen allerdings den Einsatz von SWT, weswegen sie sich nicht auf die Eclipse RCP konzentrieren. Diese Session erörtert die Möglichkeiten zur Kombinierung von Equinox mit Swing und stellt ein konkretes Beispiel eines Rich Client Framework auf dieser Basis vor.
 

Gastvortrag an der Uni Mannheim

4.7.2006: Habe heute meinen ersten Uni-Vortrag gehalten. In Mannheim, auf Einladung von Prof. Heinzl, zum Thema Bpel natürlich...

Vortrag auf der Jax 2006

Auch auf der Jax durfte ich was zum Thema Bpel erzählen. Es gab sogar zwei Session à 75 Minuten und es hätte trotzdem noch mehr Zeit sein können...
Gemeinsam mit Mirko von FSS Consulting, den ich in einem Projekt kennengelernt habe, haben die beiden Sessions echt Spaß gemacht.

Oracle BPEL und Oracle ESB

Nachtragsposting (Feb. 2006): Die Oracle BPEL Werkzeuge machen alle einen sehr guten Eindruck. Zum produktiven Einsatz ist allerdings dringend die Kopplung mit einem ESB nötig. Die Marketing-Aussage dazu ist nicht schwer zu finden: „Wir haben schon einen ESB.“ Aber was bedeutet das technisch? Sollte wirklich Interconnect zum ESB umgelabelt werden? Wird das die zu lösenden Probleme korrekt addressieren?

Spring RCP

Nachtragsposting (Feb. 2006): Endlich hatte ich paar Stunden Zeit, mir einmal das Spring Rich Client Project anzuschauen. Der Erstkontakt verläuft erwartungsgemäß stressfrei: erstmal auschecken aus dem CVS auf Sourceforge und entdecken der Verzeichnisstrukturen. Ein Ant File baut die Sourcen und ein weiteres im Samples Folder baut die PetClinic. Klappt wunderbar auf Anhieb und die Petclinic schaut nett aus, wenn das Beispiel auch ein sehr kleines ist.

Erste Eindrücke: die Grundkonzepte, die im Rich Client Umfeld nötig sind, sind Spring-like implementiert: wiring, ApplicationContext, Command-Pattern, Layout-Builder, Wizards, Validierung, etc. Hier kann man sicherlich einige programmiertechnische Kniffe lernen.

Aber: es existiert kaum Dokumentation, das bisschen, was da ist, ist eher veraltet. Zudem zeigen erste Experimente beim Erstellen von eigenen Masken doch noch einige Schwächen; man läuft zu schnell in Bugs, die man so einfach nicht erwarten würde.

Mein Bauchgefühl: da sich in diesem Projekt auch relativ wenig bewegt, kann man einiges an Konzepten dort abschauen, aber Spring RCP als Basis für eigene Rich Clients zu verwenden sehe ich aktuell nicht. Schade. Alternativ: trotzdem verwenden und als Commiter ins Projekt einsteigen....

ToDo: Als nächstes steht Eclipse RCP auf der Evaluierungsliste. Erste Projekte sind schon in Reichweite.

Spring Entwicklertage - Rückblick

Nachtragsposting (Feb. 2006): Vier sehr spannende Tage zum Thema Spring mit Eberhard Wolff liegen nun hinter uns. Die Veranstaltung lief parallel zur .NET Konferenz Basta des Software&Support Verlags in Frankfurt-Moerfelden. Inhalt war ein kompletter Überblick über die gesamte Spring Landschaft: Dependency Injection, Bean Wiring, AOP, JDBC Template, Hibernate, Remoting, MVC, Web Flow, RCP, Acegi. Fazit: viel gelernt und eine optimale Ausgangsbasis für unsere kommenden internen Spring Schulungen im März in München und Gummersbach.