Domanda di progettazione Java

0

Sto considerando le opzioni per la progettazione di un sistema in java che accetta file di dati da sistemi diversi applica alcune trasformazioni ai dati, dati concat da più file per produrre alcuni file di dati di output per i sistemi a valle. Le trasformazioni di dati non sono per trasformazione del record, ad es. Ho bisogno di leggere un record, quindi cercare nel file un altro record che corrisponda al modello di un dato campo dal primo record

Stavo pensando al lotto di primavera, ma mi è stato chiesto di prendere in considerazione anche altre opzioni. Gentile aiuto con qualsiasi suggerimento, aspetti da considerare durante la progettazione e la valutazione delle opzioni.

    
posta user222970 21.05.2013 - 15:40
fonte

1 risposta

2

Bene, a seconda della complessità e del carico dell'applicazione, Spring Batch può o non può essere una buona soluzione. Questa è strettamente un'opinione personale, ma ho scoperto che, mentre Spring Batch ti consente di prototipare rapidamente alcuni meccanismi di batching (devi solo implementare la logica di business, tutti i meccanismi di batch vengono fuori dalla scatola) può risultare lento se tu avere a che fare con quantità molto grandi di dati (trattamenti molto complessi) e le prestazioni sono critiche.

D'altra parte, ho notato dalla tua domanda che dici "accetta file di dati da sistemi diversi applica alcune trasformazioni ai dati". Se i file provengono da canali diversi (come ftp, servizio web, ecc.) Allora Mule ESB potrebbe essere un buon quadro per te. Viene fornito con connettori per tutti i vari modi di avere comunicazioni tra macchine (vari tipi di servizi Web, ftp e persino e-mail) e offre un modo semplice per creare componenti discreti per vari trattamenti di tali file, che è possibile incatenati come preferisci. Inoltre, la cosa è open source, quindi puoi scaricarlo facilmente e provare in tempo reale per vedere se è una buona soluzione per te.

Oltre a questo, se la domanda complessiva del progetto non è molto complessa in termini di esigenze logiche non di business (come: l'invio / ricezione di file avviene solo in un modo e / o il trattamento dei file è semplice e abbastanza stabile da non richiedere alcun sistema modulare di fantasia per i moduli di trasformazione, ecc., puoi andare un po 'più a basso livello e aggiungere semplicemente una libreria che gestisce la tua comunicazione (come forse Jersey per comunicazioni di servizi Web o Apache commons-net per FTP, ecc.) E quindi codificare tutto il resto a mano. Il JDK ha già alcune librerie che potrebbero essere utili, come i parser XML (StAX, JaxB), un modo semplice per gestire I / O di file (nio2), ecc.

    
risposta data 21.05.2013 - 16:03
fonte

Leggi altre domande sui tag