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.

Dienstag, Februar 07, 2006

Spring-Schulung

Das Spring-Framework ist als leichtgewichtiger Ansatz in der Java-Welt nicht mehr zu übersehen - zu vielfältig sind die Vorteile. An allen möglichen Baustellen kommt man damit in Berührung - viele Projekte setzen bereits Teilaspekte ein. Um das Knowhow in die gesamte Mannschaft zu tragen, werden Stefan und ich kommende Woche Eberhardt Wolff auf den viertägigen Entwicklertagen zum Thema Spring erleben können. Gleich im Anschluss werden wir eine eigene Spring-Schulung ausarbeiten und bereits im März für die NL Gummersbach zum ersten Mal auflegen. Nach den Sommerferien wird wohl eine zweite Runde starten. Ich bin gespannt...

BPEL und Content Services

Praktisch: passend zu unseren Forschungen, wie man die Oracle Content Services sinnvoll mit BPEL integrieren kann, werden Tom und ich ein dreitätiges Training exakt zu diesem Themenkomplex besuchen: vom 20.2. bis 22.2. geht's nach München.

Donnerstag, Januar 19, 2006

Wie beschreibt man Architekturen?

Template zur Architekturbeschreibung: http://www.arc42.de/

Erste Services für Opitz

Habe die Pause genutzt, um mir eine kleine Roadmap für die ersten Opitz Services zurechtzulegen.
1) Es existiert bereits ein kleiner PVS-Service, der zurückliefert, ob ein bestimmtes Mitarbeiter-Kürzel noch frei ist, bzw. für einen Mitarbeiter-Namen ein den OC-Regeln entsprechendes (natürlich noch freies) Kürzel vorschlägt.
2) Norbert hat die SQL-Logik der Geburtstags-GUI überarbeitet, den Jahreswechsel-Bug gefixt und zwei PL/SQL-Funktionen angelegt. Daraus wird ein neuer Service mit 2 Operationen:
2a) Liefere alle Mitarbeiter, die in einem bestimmten Zeitraum Geburtstag haben.
2b) Liefere alle Mitarbeiter, die in einem bestimmten Zeitraum ein Jubiläum haben.
3) Urlaubsservice
3a) Liefere alle Mitarbeiter, die an einem bestimmten Tag Urlaub haben. Erweiterung der Geburtstags-GUI um die aktuellen Urlauber.

Service 1 arbeitet mit trivialen Datenstrukturen (boolean, String, etc.).
Services 2a, 2b und 3 liefern Arrays von Mitarbeitern. Hierzu sollte das Mitarbeiter.xsd von Ingo Meier verwendet werden, das auch für den Mitarbeiter-Einstellungs-Prozess (MEP) definiert wurde.

SOA-FAQ

Als OOP Nachmittagssession habe ich mir die SOA-FAQ Session ausgesucht. Arne Koschel, Gernot Starke und Stefan Tilkov wollen die 30 interessantesten Fragen im SOA-Umfeld diskutieren. Leider bleibt es im wesentlichen bei der Vorstellung der Problemstellungen, die Antworten sind nicht wirklich konkret. Aber das ist offenbar ein SOA-immanentes Problem...
Merke:
- SOA braucht Management-Support
- Wähle ein kleines Projekt, das auch mit gängigen Technologien funktionieren würde
- Beginne mit einem fachlichen Prozess, niemals mit technischen Services! Ist der erste Service ein Logging-Service, stimmt was nicht...
Fazit: Es gibt einfach keinen Konsens über nichts in der SOA-Welt. Nach Maßstäben des Niveaus auf dieser OOP bin ich wohl tatsächlich ein SOA-Experte... Bin mir nicht sicher, ob das eine gute oder eine schlechte Nachricht ist...

Jax 2006

Eigentlich schon abgeschrieben, aber jetzt kam doch noch die Zusage: auf der Jax im Mai 2006 darf ich noch mal als Speaker auftreten in gleich zwei Sessions: BPEL in der Praxis, einmal fachlich, einmal technisch. Hat sich also gelohnt, gleich drei Sessions mit unterschiedlichen Schwerpunkten einzureichen... :-)

OMG Information Days

Auf den kommenden OMG Information Days im März habe ich einen Slot für einen technischen Vortrag bekommen. Uwe Rödinger wird auch eine Session halten. Die Welt ist halt klein...

Aris und BPEL

Heute ist mir Uwe Rödinger von der IDS über den Weg gelaufen. Wie immer ergab sich spontan eine interessante Plauderei. Aris wird keinen Fokus auf BPEL-Modellierung bekommen. Stattdessen wird wohl ein SOA Designer eingebaut. Vision ist die Unterstützung des vollen SOA-Lifecycles: Services können identifiziert werden, abhängig von Schnittstellen könnten schon passende, bestehende Kandidaten vorgeschlagen werden. Kopplung zu einer Registry wird nötig sein. Interessant: d.h. Aris wird wohl nicht zum Service-Repository werden. Nach der Orchestrierung in Aris kann dann BPEL generiert und in passenden Tools mit technischen Artefakten ablauffähig gemacht werden. Roundtrip ist noch unklar. Mindnote: Spätestens im März Uwe noch mal kontakten, vielleicht schon für die Jax was gemeinsames möglich.

Eclipse WTP

Der Donnerstag auf der OOP startet für mich mit der Eclipse WTP Session. Die Web Tools Platform erweitert Eclipse um diverse Editoren und Werkzeuge für die Entwicklung von Web Projekten. Dazu zählt man HTTP, XML, XSD, J2EE (Servlets, JSP), WSDL, Web Services. Sehr interessant das ganze, allerdings gibt es für jeden dieser Bereiche weitaus produktivere Tools. Ohne Zweifel lässt sich aus der Implementierung der WTP eine Menge lernen, aber der Einsatz erscheint mir doch bis auf weiteres fraglich. Zumal für die Version 1.5, die Bestandteil des Eclipse 3.2 Releasetrains ist, kaum neue Features, sondern lediglich Konsolidierung der bestehenden Features geplant ist.

Mittwoch, Januar 18, 2006

Talkrunde zu BPEL

Ivana Trickovic, Frank Leymann und Gregor Hohpe diskutieren zum Thema BPEL. Spannende Aussage sind die drei wichtigsten Erfolgsfaktoren rund um BPEL:
1) Hersteller müssen zur Einhaltung ihrer eigenen Standards gezwungen werden. Zuviele Alleingänge würden den Tod von SOA und Web Services bedeuten.
2) Zweistufiges Programmieren ist wichtig: im großen und im Kleinen. Die Orchestrierung muss aus der Applikation herausgelöst werden. In Prozessen denken!
3) Virtualisierung! Servicebindung findet durch den ESB statt.