Proponuję, abyś najpierw ujawnił swoje pojedyncze niezależne komponenty jako usługę przez Internet (nie rozumiałem, czy masz już do tego usługi sieciowe). Po tym .. najlepszy wybór zależy od obciążenia/złożoności systemu.
Zasadniczo można wybrać między usługą Orkiestracja a choreografia. Orkiestracja usług, wykonana za pomocą BPM/BPEL/ESB, jest wyborem architektonicznym, w którym pojedynczy komponent (orkiestrator/kompozytor usług) wie, jakie czynności należy wykonać i jest odpowiedzialny za wywoływanie usług w odpowiedniej kolejności (skonfigurowanych na samym orkiestratorze) . Obsługuje również zarządzanie transakcjami (w razie potrzeby).
Przeciwieństwem jest choreografia, w której każda pojedyncza usługa tworząca cały system wie, jak postępować, gdy otrzyma określoną wiadomość. W rzeczywistości jest to kwestia porozumienia między różnymi komponentami. Service Choreography to zdecentralizowane podejście do problemu składu usług.
Jeśli masz dużo usług, skomplikowane reguły i tak dalej ... prawdopodobnie łatwiej będzie korzystać z orkiestratora serwisowego, takiego jak jBPM lub coś w tym stylu.