Domanda

Come utente Primavera condito ero dal presupposto che l'integrazione Primavera avrebbe più senso in un recente progetto che richiede alcuni (JMS) di messaggistica capacità ( maggiori dettagli ). Dopo alcuni giorni di lavoro con l'integrazione primavera si sente ancora come un sacco di configurazione di spese generali data la quantità di canali è necessario configurare per portare un po 'di richiesta-risposta (ascolto su JMS diverse code) di comunicazione in atto.

Quindi ero alla ricerca di alcune informazioni di base come Camel è diverso da Integrazione primavera, ma sembra che le informazioni là fuori sono abbastanza libero, ho trovato:

La domanda è: quali esperienze hai fatto sull'utilizzo una pila sopra l'altro? In quali scenari Consiglieresti Camel erano Integrazione Primavera manca il supporto? Dove si vede pro ei contro di ciascuno? Qualsiasi consiglio da progetti reali sono molto apprezzati.

È stato utile?

Soluzione

Abbiamo scelto Camel over Primavera-integrazione perché l'API fluente è veramente bello. Abbiamo effettivamente utilizzare in progetti di primavera e l'uso molla a parte configure di esso. Le API di programmazione sono chiare e c'è un grande insieme di componenti sensibili.

Abbiamo fatto una piccola sparatoria scala e in fondo in quel momento per la nostra esigenza Camel vinto. L'usiamo principalmente per trasferire file di dati interni da / per soggetti esterni, che di solito richiede conversioni di formato di inviarlo con FTP / SFTP / ... o allegarlo a un e-mail e inviarlo.

Abbiamo trovato il ciclo di modifica-compile-debug ridotta. Utilizzando groove di sperimentare la creazione di percorsi sono bonus aggiunto.

Primavera-integrazione è un grande prodotto troppo, e sono abbastanza sicuro che sarebbe soddisfare i nostri bisogni anche.

Altri suggerimenti

Ho solo raccomandare Integrazione primavera se già avete un progetto di primavera e basta aggiungere un po 'di integrazione utilizzando File "di base", FTP, JMS, JDBC, e così via.

Apache Camel ha due vantaggi principali:

  1. sono supportati Molte, molte tecnologie sempre.
  2. Inoltre, un (buon) DSL XML, ci sono le API fluente per Java, Groovy e Scala.

A causa Apache Camel ha un'ottima integrazione con la Primavera, Vorrei anche usare al posto se l'integrazione di primavera in maggior parte dei progetti di primavera.

Se avete bisogno di maggiori dettagli, potete leggere le mie esperienze nel mio post sul blog: L'imbarazzo della scelta: quale Integration Framework per l'uso - integrazione primavera, Mule ESB o Apache Camel?

ho recentemente condotto un cammello vs integrazione Primavera shoot-out con l'obiettivo di integrare Apache Kafka . Pur essendo uno sviluppatore Primavera appassionato, ho purtroppo trovato il mio sospetto con sempre crescente pila Progetto di Primavera conferma: La primavera è impressionante come CIO-Container per servire come colla per altro quadro, ma non riesce a fornire valide alternative a quei quadri . Ci potrebbero essere delle eccezioni a questa, vale a dire tutto ciò che a che fare con MVC, dove la primavera è venuto e dove fa un grande lavoro, ma altri tentativi di fornire nuove funzionalità in cima caratteristiche container inferiori per tre motivi e il caso d'uso SI Kafka conferma tutti loro:

  • Introduzione di un prolisso difficile da usare DSL per XML-configurazione.
  • pagine di codice XML di configurazione per ottenere tutti i componenti del framework cablati-up.
  • risorse mancanti per fornire funzionalità alla pari con quadri dedicati.

Ora, di nuovo ai risultati della mia shoot-out: la cosa più importante sono rimasto colpito dai cammelli concetto generale di percorsi tra gli endpoint . Kafka si integra perfettamente con questo concetto e le tre righe di configurazione sono sufficienti per ottenere tutto up-and-running. I problemi incontrati durante il processo sono indirizzati ordinatamente da ampia documentazione da parte del team di progetto così come un sacco di domande su StackOverflow. Ultimo ma non meno importante, c'è un l'integrazione completa nella primavera , che non lascia a desiderare.

Con SI, al contrario, la documentazione per l'integrazione Kafka è abbastanza intenso e non riesce ancora a spiegare chiaramente come integrare Kafka. L'integrazione di Kafka è premuto nella SI-modo di fare le cose, che aggiunge ulteriore complessità. Altra documentazione, per esempio su StackOverflow è anche meno abbondante e meno utile di Camel.

La mia conclusione:. Ciabattino bastone per il vostro commercio - l'uso molla come contenitore e Camel come framework di integrazione del sistema

Io davvero dipende da cosa si vuole fare. Se è necessario estendere qualcosa per costruire il proprio soluzione di messaggistica integrazione Primavera ha il modello di programmazione migliore. Se avete bisogno di qualcosa che supporta molti protocolli senza codice personalizzato, cammello è avanti di integrazione primavera.

Avere una sparatoria piccola scala è una buona idea, basta assicurarsi che si sta cercando di fare il tipo di cose che tipicamente si dovrebbe essere facendo nel progetto.

- disclaimer: io sono un integrazione Primavera committer

La maggior parte delle comparazioni di Camel e SI che ho visto non prendere in considerazione quanto segue:

1). L'effetto che la primavera di avvio ha avuto sulla produttività degli sviluppatori per l'integrazione primavera

.

2) L'effetto della primavera XD ha avuto sul rendere le applicazioni di integrazione Primavera disponibili senza la compilazione di codice -. Anche le fonti primavera XD e lavandini sono semplicemente adattatori Channel Integration primavera, quando stai cercando di estendere la primavera XD

3). L'effetto della primavera XD ha avuto sul rendere unificare l'integrazione Primavera, Batch primavera, dati Primavera (+ Hadoop!) In una pila, portando in modo efficace batch e flusso di elaborazione, il supporto HDFS / Apache Hadoop, e molto di più per Integrazione di primavera.

4). L'effetto del presto-to-be-released Integrazione Spring 4.0 Java DSL https://github.com/spring-projects/spring-integration-extensions/wiki/Spring-Integration-Java-DSL-Reference

Per la vostra considerazione,

/ Pieter (diniego io lavoro a Pivotal)

Stiamo usando Integrazione primavera per la nostra applicazione e ora valutando di passare ad Apache Camel, come abbiamo incontrato un sacco di problemi con il framework di integrazione di primavera. Qui ci sono un paio di questioni.

  1. Il CachingConnectionFactory che fornisce Primavera apre 1000 di connessioni inattive in IBM MQ e non v'è alcuna garanzia che questi collegamenti sono riutilizzati. E ancora queste connessioni resteranno aperti per sempre che crea problemi sul lato MQ. Ha dovuto riavviare l'applicazione ogni settimana in ambienti inferiori solo per aggiornare i collegamenti. Apache Camel offre anche Caching e le connessioni sembra andare su / giù in base al carico.

  2. Primavera non fornisce mapper per i parametri di QoS. Anche se si attiva QoS, la modalità di consegna e le proprietà di scadenza / TimeToLive si perde (sto per sollevare una questione JIRA per questo). Apache Camel gestisce questo e parametri QoS vengono inviati alle applicazioni a monte e non farlo cadere.

sto adesso lavorando su problemi con la gestione delle eccezioni e transazioni con Apache Camel, che sembrava primavera per gestire meglio con AOP.

In realtà, direi FTP è laureato il suo periodo di incubazione. Si può fare una semplice ricerca su forum SI / JIRA per vedere quali nuove caratteristiche sono state implementate e bug che sono stati risolti. Da varie chiacchiere sembra che ci sia già un certo uso di produzione fuori di esso, quindi vorrei suggerire di dare una seconda occhiata e, naturalmente, comunicare le vostre preoccupazioni a noi tramite

http://forum.springsource.org/forumdisplay.php?42-Integration
https://jira.springsource.org/browse/INT

Saluti Oleg

Disclaimer: io sono primavera Integrazione committer

Apache Camel è un ottimo quadro e molto completo anche. Ma se i vostri usi applicativi primavera, il mio consiglio personale è quello di utilizzare l'integrazione di primavera.

L'integrazione primavera è l'integrazione EIP quadro denuncia dell'ecosistema primavera-Source. Ha un'ottima integrazione con l'ecosistema: boot Primavera, Batch, XD; anche l'uso di base stessa astrazione partendo da Spring Framework 4. Alcune delle astrazione messaggistica sono stati spostati nel quadro, come prova che l'astrazione messaggistica di base di Integration Spring è molto forte. Ora framework Spring per esempio utilizzare l'astrazione di messaggistica per la primavera Web, il supporto presa web.

Un altro aspetto positivo in un'applicazione molla rispetto integrazione di Spring da utilizzare Apache Camel è che con l'integrazione di Primavera, è possibile utilizzare solo un contesto di applicazione. Ricordate che il contesto è un contesto Camel primavera. se avete la possibilità di utilizzare una nuova versione Primavera, suggerisco di usare l'integrazione primavera Java DSL per la configurazione. Io lo uso sui miei nuovi progetti, e ci si sente più leggibile e chiaro. Spero che questa riflessione può aiutare per le vostre valutazioni.

Una ragione per usare Camel over integrazione primavera è quando è necessario un set di EIP più ricco di funzioni. L'integrazione della molla non fornisce astrazioni più cose come ThreadPool.

Camel non fornire costrutti aggiuntivi per questa semplificazione alcuni degli aspetti del lavoro con il codice concomitante:

http://camel.apache.org/camel-23-threadpool- configuration.html

Se non avete bisogno di questo genere di cose e semplicemente si vuole file di connessione, JMS, FTP endpoint ecc ... poi basta usare Integrazione primavera.

Camel agire come middleware per applicazioni in cui si può effettuare la modellazione dei dati, trasformazione dei valori di messaggi e coreografia di messaggi.

Se l'applicazione corrente è in primavera e richiedono funzionalità che sono supportate da Integrazione primavera del EIP allora Integrazione La primavera è la migliore opzione altrimenti richiedono più di terze parti supporti / protocolli / formati di file etc

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top