permettetemi di aggiungere chiarezza, facendo la distinzione tra BPM, orchestrazione, e ESB, attraverso modelli di progettazione e le specifiche.
In generale, "Orchestrazione" è stata definita come un modello composto che utilizza i modelli di progettazione Process Abstraction, Process Centralization e State Repository. In virtù dell'implementazione dello State Repository Pattern e contrariamente a un post precedente, Orchestration supporta processi aziendali sincroni e long run, proprio come BPM.
La principale distinzione pratica tra il 2 è che il middleware di orchestrazione (ad esempio WebSphere Process Server, BizTalk, Oracle BPEL Manager e Windows Workflow Foundation) supporta la maggior parte delle specifiche WS *. Questo include BPW, Ws Security, Ws Atomic Transaction, Ws Business Activity, Ws Reliable Messaging, ecc., Mentre la maggior parte degli strumenti BPM no.
Come risultato, sentitevi liberi di utilizzare Orchestration a livello Enterprise, ma state molto attenti all'utilizzo di BPM in tale ambito.
In pratica, entrambi gli strumenti BPM e Orchestration consentono la rappresentazione grafica di un processo aziendale. La distinzione è che Orchestration può essere espressa tramite Vendor-Neutral BPEL (Business Process Execution Language), mentre BPM è espresso tramite Specifico fornitore BPMN (Business Process Modeling Notation). Questo è un altro motivo per evitare gli strumenti BPM a livello SOA/Enterprise.
Nei casi in cui uno strumento BPM implementa le specifiche Ws *, è un motore di orchestrazione per tutti gli scopi pratici. La distinzione è che gli strumenti BPM basati su strumenti BPMN e orchestrazione specifici del fornitore si basano su BPEL fornitore-neutrale.
Nei casi in cui sia BPM che Orchestration devono coesistere, limitare il BPM all'architettura dell'applicazione (ad esempio lo stile MVC) e consentire a Orchestration di promuovere la condivisione delle risorse aziendali.
Un ESB è un animale completamente diverso. Dovrebbe essere utilizzato per processi asincroni anziché sincroni e si affida a un diverso insieme di modelli di progettazione (ad esempio Service Broker, Accodamento asincrono, Routing intermedio e Pattern di Content Enricher)
Risposta perfetta! Grazie per la spiegazione. (http://stackoverflow.com/questions/345749/is-orchestration-an-esb-responsibility) questa domanda è anche molto simile e ha ricevuto una risposta magnificamente. –
ottima spiegazione! –