Tuesday, July 26, 2005

JUnit Testing von Sonic ESB Services

Da Services ja nur via Message-Austausch (im Idealfall) kommunizieren faende ich es ideal, wenn man die korrekte Nachrichtenverarbeitung eines Services durch In/Out/Fault/Error Endpoints simulieren koennte. D.h. der Test wuerde Messages auf dem In-Endpoint produzieren und korrekte Resultate auf den anderen Endpoints ueberpruefen.

Ich koennte mir folgende Vorgehensweisen vorstellen:

  1. JUnit standalone Testing der einzelnen Services: Befuellen der init(…) und service(…) Methoden via Mock Objects. Exit/Fault-Endpoints koennen ueber weitere Mock Objects simuliert werden. Vom Service produzierte Messages koennen damit wieder dem Test zur Verfuegung gestellt werden.


  2. ESB-basiertes Test Framework fuer Einzelservices :
    • Automatisches Deployment des Einzelservice in einen ESB Container incl SonicFS Eintraege, Service Configuration;
    • Automatische Verbindung und Konfiguration von Service Endpoints, notwendigen Queues und Verbindung der Endpoints mit dem Service;
    • Eine solche ESB-Konfiguration fuer einen Service koennte z.B. in XML (oder einem XAR File – ausser Queues) beschrieben werden und automatisch via esbadmin-Skripting bereitgestellt werden.

No comments: