Sviluppatori JDBC Freelance Italiani
L'accesso diretto al database da Java: dove serve controllo totale sulle query, sulle prestazioni e sulle elaborazioni massive
JDBC è l'interfaccia standard con cui un'applicazione Java parla con un database relazionale. Non è un prodotto ma una specifica, parte della piattaforma Java, e ogni produttore di database fornisce il proprio driver che la implementa: è questo che rende possibile cambiare database senza riscrivere l'applicazione, almeno in teoria. Sta sotto a tutto il resto — Hibernate e Spring Data ci passano sopra senza che si veda — e torna in primo piano in tre situazioni concrete: quando una interrogazione deve essere velocissima e ogni strato intermedio è un costo, quando si elaborano milioni di righe in una procedura notturna, e quando si integra un sistema legacy che non prevede nulla di moderno. Con FreelanceWWW trovi sviluppatori che sanno quando scendere a questo livello e, soprattutto, quando non serve.
Perché scegliere FreelanceWWW per JDBC
Inserisci gratuitamente il tuo progetto e ricevi fino a 10 proposte da sviluppatori Java qualificati e verificati
Sviluppo Nativo
Esperti in query SQL ottimizzate e stored procedure, elaborazioni massive e caricamenti a lotti, gestione dei pool di connessioni, transazioni e livelli di isolamento, integrazione con database legacy e sistemi gestionali, migrazione fra database diversi, prevenzione delle vulnerabilità da iniezione SQL e analisi delle prestazioni misurata sul database.
Velocità Esecuzione
Professionisti JDBC pronti a partire immediatamente sul tuo progetto.
Supporto Continuo
Messaggi istantanei con i candidati, prima e dopo l'assegnazione del progetto. Contatto diretto dalla lettura della proposta del freelance.
Sei uno sviluppatore JDBC?
Iscriviti gratis e comparirai in questa pagina, dove le aziende cercano il tuo profilo JDBC.
Crea il tuo profilo gratis- Iscrizione e profilo gratuiti
- Nessun abbonamento
- Nessuna commissione sui lavori
Domande frequenti
Quando conviene usare JDBC invece di un framework di mappatura?
In tre situazioni precise. Fuori da queste, uno strato di mappatura fa risparmiare tempo e riduce gli errori.
- Interrogazioni critiche per le prestazioni: report complessi, ricerche su grandi volumi, tutto ciò che richiede di sfruttare funzioni specifiche del database.
- Elaborazioni massive: caricare o aggiornare milioni di righe in una procedura notturna. Farlo oggetto per oggetto è lento di ordini di grandezza.
- Integrazioni con sistemi esistenti in cui il modello dei dati non somiglia a niente e mapparlo a oggetti costerebbe più di quanto renda.
Nella pratica i progetti seri usano entrambe le strade: mappatura per la logica applicativa, accesso diretto per i punti caldi.
Cambiare database è davvero possibile senza riscrivere?
In teoria sì, in pratica dipende da quanto si è rimasti sullo standard, e conviene essere realisti prima di prometterlo a un committente.
- Quello che si sposta facilmente: le operazioni standard su tabelle e colonne comuni.
- Quello che non si sposta: funzioni proprietarie, tipi di dato specifici, procedure scritte nel linguaggio interno del database, sintassi particolari per la paginazione.
- La regola pratica: più si è usato quello che il database ha di speciale — ed è spesso la scelta giusta per le prestazioni — meno si è portabili. È un compromesso da decidere consapevolmente, non da scoprire dopo.
Come ci proteggiamo dalle vulnerabilità nelle query?
Il rischio si chiama iniezione SQL ed è ancora oggi una delle vulnerabilità più sfruttate. La difesa tecnica è nota da vent'anni ed è semplice.
- Usare sempre parametri invece di costruire le query concatenando stringhe. È la singola regola che elimina la quasi totalità del problema.
- Utenze con i permessi minimi: l'applicazione non deve collegarsi al database con un utente amministrativo.
- Analisi automatica del codice nella catena di rilascio, che intercetta le concatenazioni sospette prima che arrivino in produzione.
Se stai commissionando un'applicazione che tratta dati personali, chiedi esplicitamente come viene gestito questo punto: è una domanda che un professionista si aspetta.
Che cos'è il pool di connessioni e perché me ne parlano?
Aprire una connessione al database è un'operazione costosa. Il pool ne tiene un certo numero già pronte e le presta all'applicazione, ed è uno dei parametri che più incidono sulla capacità di reggere il carico.
- Troppo piccolo: le richieste si mettono in coda e gli utenti percepiscono lentezza anche se il database è scarico.
- Troppo grande: si sovraccarica il database, che rallenta per tutti.
- Come si dimensiona: misurando, non stimando. È uno dei primi punti che un consulente guarda quando un'applicazione «va a scatti».
È una tecnologia superata?
No, è una tecnologia stabile, il che è una cosa diversa. La specifica non cambia da anni ed è ferma alla versione 4.3, ma è la fondazione su cui poggia ogni accesso ai dati in Java: qualunque framework moderno ci passa sopra.
- Il vantaggio della stabilità: il codice scritto oggi funzionerà fra dieci anni, e le competenze non si svalutano.
- Quando cercarla esplicitamente in un profilo: quando il progetto ha elaborazioni massive, report pesanti o integrazioni con sistemi datati.
- Quando non è il criterio giusto: per un'applicazione gestionale ordinaria, dove conta molto di più l'esperienza sul framework che la userà.