Dienstag, 29. Juli 2008

Erfahrungen mit BPEL Designer und Engine in Netbeans 6.1

Vor kurzem habe ich die neue 6.1er Version von Netbeans auf ihre Unterstützung für BPEL getestet. Über den BPEL Designer und die BPEL Laufzeitumgebung berichte ich getrennt. Zunächst zum BPEL Designer. Der graphische Designer war in den bisherigen Versionen bereits recht gut. In der Version 6.1 bedient er sich noch etwas besser. Mit Drag & Drop und Cut & Paste lassen sich schnell die Aktivitäten eines Prozesses gruppieren. Für die Feinarbeit wird dann XPath benötigt. Den komfortablen Mapper für das graphische Editieren von XPath Ausdrücken gibt es bereits länger. Neu ist ein Editor für Prädikate, mit dessen Hilfe auch XPath Einsteiger komplexe XPath Ausdrücke meistern können. Der Screenshot zeigt wie ein Prädikat graphisch editiert werden kann.




Danach findet man die durch das Prädikat eingeschränkte Menge im Mapper und kann diese einfach verwenden. BPEL Prozesse lassen dich bereits während der Entwicklung auf Mausklick graphisch debuggen. Der BPEL Debugger bietet alles, was man von Debuggern so kennt:

  • Breakpoints
  • Watches
  • Call Stack

Lässt man nach einem Breakpoint den Debugger mit Resume weiterlaufen, so kann man der Ausführung seines Prozesses zusehen. Das ist dann wie BPEL Television, vorausgesetzt man hat ein paar Services, die die Ausführung etwas bremsen, damit nicht alles zu schnell für das Auge abläuft.



Mit dem BPEL Editor kann man auch die Features Correlation und Compensation in seinen Prozessen verwenden. Ob diese dann in der Engine ausgeführt können beschreibe ich als nächstes.
Die als JBI Komponente realisierte BPEL Engine läuft im Open ESB, der typischerweise wieder in einem Glassfish Application Server ausgeführt wird. Nach der Installation von Netbeans sind die Server bereits alle fertig eingerichtet, so dass man sofort loslegen kann. Das Deployment eines BPEL Prozesses dauert nur Sekunden. Auch die Ausführung eines Prozesses erfolgt zügig in wenigen Millisekunden. Allerdings führt die SOAP Engine nicht alles aus, was man mit dem Designer erstellt hat. Compensation und Correlation funktioniert nur mit den einfachsten Beispielen. Leichte Modifikationen führen zu nichtssagenden Exceptions. Oft reicht die Umstellung der Reihenfolge um Fehler zu verursachen oder zu beheben. Die Unterstützung für die Synchronisation von nebenläufigen Aktivitäten mittels Link fehlt noch immer. Baut man die Links manuell ein, meldet bereits der Editor, dass die Engine keine Links unterstützt. Die Engine beherrscht zwar die forEach Aktivität von BPEL 2.0, nicht jedoch die parallele Ausführung mittels:

<forEach ... parallel="yes">
...
</forEach>

Für den ernsthaften Einsatz fehlt dem Team Netbeans, Open ESB und BPEL Komponente noch die Unterstützung der Correlation, Compensation und Synchronisation. Correlation und Compensation sind ja bereits vorhanden, so dass Hoffnung auf Bugfixes in der nächsten Version besteht.

Keine Kommentare:

Kommentar veröffentlichen