2012-04-26 24 views
8

Il concetto SOA è facile da comprendere, ma non conosco affatto le architetture e le tecnologie di integrazione dei servizi aziendali come BPEL e Apache Camel.Differenze tra Camel e BPEL

So che BPEL aiuta a orchestrare i servizi e che Camel è un'implementazione di modelli di integrazione aziendale. Attualmente sto leggendo il noto libro di Enterprise Integration Patterns.

Ma il confine tra EIP e orchestrazione mi sembra molto sottile. Nella mia mente, Camel organizza anche i servizi a modo suo. Inoltre, Camel offre molti connettori in modo che i protocolli diversi possano essere facilmente utilizzati.

Camel è meglio di BPEL?
Oppure è possibile fare cose con BPEL che non si può fare con Camel?
Quali?
A proposito di ciò che ho letto, sembra che Camel sia meglio di BPEL per orchestrare i servizi REST: è vero?

risposta

6

Bpel è più una lingua/standard per le implementazioni di bpm e orchestrazione di servizi. È un po 'come mele e pere, poiché il cammello è un'implementazione del motore di integrazione. Probabilmente vorrai dare un'occhiata a bpel (o bpmn) per l'automazione aziendale di alto livello (come implementare un flusso di acquisto con più sistemi, processi a lunga esecuzione e logica aziendale). In Camel, in genere gestisci più aspetti tecnici come il routing e la conversione del protocollo wire. In genere in modo piuttosto stateless.

Ovviamente, c'è qualcosa nel mezzo - come il routing tra protocolli omogenei dove qualsiasi soluzione potrebbe fare. Come il tuo esempio di riposo. Si noti inoltre che Camel può essere eseguito insieme a Orchestration engiens come activti e apache ode.

7

Abbiamo cercato di rispondere a questa domanda molte volte nel mio precedente lavoro. I nostri prodotti erano TIBCO BusinessWorks (qualcosa come Apache Camel) e TIBCO iProcess (qualcosa come Apache ServiceMix).

E c'è venuto a semplice conclusione:

  • Se il processo è a lungo termine (di solito è necessario sospendere e attendere che l'approvazione da manager) che si desidera BPEL.
  • Se i processi sono più a breve termine e non vi sono persone coinvolte, si desidera l'integrazione (Camel).

Questo non è sempre applicabile e questi due mondi non hanno confini forti, ma è possibile semplificarlo. E ancora una nota: puoi fare processi simili a BPEL con prodotti di integrazione e viceversa. È solo una questione di approccio. Ma se ti attieni a queste regole, dovresti essere in grado di distinguere tra le due. Ci sono molti altri aspetti, ma penso che sia il più importante.