Spring Integration - Appforce Network
Ci occupiamo di digital transformation e realizziamo soluzioni informatiche efficaci
erp, consulenza informatica, informatica, torino, italia, milano, ingegneria informatica, software, soluzioni software, gestionale, gestione aziendale, business, digital transformation
205
post-template-default,single,single-post,postid-205,single-format-standard,ajax_updown_fade,page_not_loaded,,qode_grid_1300,footer_responsive_adv,qode-content-sidebar-responsive,qode-theme-ver-16.8,qode-theme-bridge,disabled_footer_top,qode_header_in_grid,wpb-js-composer js-comp-ver-6.8.0,vc_responsive

Spring Integration

Spring Integration

Negli ultimi anni ci siamo imbattuti in progetti che richiedevano lo studio di soluzioni che, a fronte di uno stesso input, mettessero a disposizione diverse possibili “strade” da imboccare.

Il backend developing è pieno di soluzioni possibili, ma abbiamo voluto optare per un approccio sicuramente coraggioso e ambizioso: sviluppare applicazioni robuste e “bug resistant” anche a costo di doversi imbattere in tecnologie complesse e di non immediata comprensione.

Per questo, abbiamo deciso di porre la nostra attenzione al framework Integration di Spring, il quale mette a disposizione un’implementazione delle Enterprise Application Pattern (per saperne di più clicca qui), permettendo così l’integrazione di sistemi eterogenei in maniera rapida e molto robusta.

Il Pattern, molto in breve, mette a disposizione una una serie di componenti che permettono la manipolazione e l’instradamento di messaggi (Messaging) che permettono una veloce, asincrona ed affidabile comunicazione tra due sistemi.

I programmi sono tra di loro produttori (sender o producer) e ricevitori (reveiver o consumer)  e comunicano tra di loro inviandosi dei pacchetti (messages) attraverso delle code (channels) che li collegano tra di loro.

Il messaggio è semplicemente una struttura dati composta da un header e da un payload. L’header contiene i metadata del messaggio, che sono utilizzati dal sistema a livello interno.

Il payload contiene invece il vero e proprio “corpo” del messaggio inviato dal produttore.

Trasmettere un messaggio implica i seguenti cinque passaggi:

    1. Creazione: il produttore crea il messaggio popolandolo con i dati necessari
    2. Invio: il produttore aggiunge il messaggio al canale;
    3. Spedizione: il sistema di messaggistica sposta il messaggio dal produttore al ricevitore;
    4. Ricezione: il ricevitore legge il messaggio dal canale;
    5. Elaborazione: il ricevitore estrae i dati interessanti dal messaggio e li elabora secondo la sua logica

(fonte www.enterpriseintegrationpatterns.com)

La figura riportata sopra presenta due importanti concetti riguardanti il messaging:

    1. Send and Forget: il produttore invia il messaggio (passaggio #2) e si dimentica del pacchetto, passando ad un’altra elaborazione;
    2. Send and Forward: il produttore invia il messaggio (passaggio #2) e salva il messaggio originato in memoria o su disco. Al passaggio #3, il sistema salva a sua volta il messaggio nella memoria o sul disco del ricevente. Questo sistema di memorizzazione può essere ripetuto più volte, finché il messaggio non viene correttamente elaborato dal ricevente.

Creare un message da inviare tramite il messaging system permette di delegare al messaging  system stesso la responsabilità di consegnare correttamente il messaggio. Essendo incapsulato in come un messaggio unico, la consegna può essere riprovata finché il ricevente non ottiene esattamente una copia del messaggio originale, e tutto questo meccanismo risulta gestito dal messaging system.

Come detto in apertura, il Pattern mette a disposizione una serie di componenti, dei quali, però, parleremo in un successivo articolo.

Ciao e alla prossima!

No Comments

Post A Comment