Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    15

    [Java][SQL] Come realizzare un database "mobile"

    Buongiorno,
    sto realizzando per un esame un'applicazione client-server che simuli una piattaforma di e-commerce; l'applicazione è realizzata in Java, e viene distribuita in due file .jar separati, uno per il client e uno per il server.
    Lato server, è implementato un database contenente gli utenti, i prodotti e l'elenco degli ordini; per il momento è realizzato con MySQL in Netbeans.
    Ho due problemi abbastanza importanti:
    1) come posso "impacchettare" il database nel file .jar del server, per eseguirlo sull'host su cui metterò il server?
    2) dato che il database può essere modificato, deve essere "spacchettato" nell'host che lo ospiterà... come posso quindi (dato che l'applicazione è multi-piattaforma) far scegliere al .jar il percorso in cui spacchettare il database?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Re: [Java][SQL] Come realizzare un database "mobile"

    Originariamente inviato da tenik
    1) come posso "impacchettare" il database nel file .jar del server, per eseguirlo sull'host su cui metterò il server?

    2) dato che il database può essere modificato, deve essere "spacchettato" nell'host che lo ospiterà... come posso quindi (dato che l'applicazione è multi-piattaforma) far scegliere al .jar il percorso in cui spacchettare il database?
    Mi pare di capire che il tuo intento sia solo quello di poter "trasportare" il database (non quello di tenerlo dentro ad un JAR). MySQL non è la soluzione adatta a questo scopo: richiede che vi sia un'applicazione (il server MySQL, appunto) installato sulla macchina dove dovrà girare l'applicazione. Servono database di tipo diverso. Ad esempio, JavaDB (o altri db simili) o un DB file-based.

    Le soluzioni sono molteplici:

    1) Se si lavora con un DB file-based, lo si deve estrarre da qualche parte: la cosa più semplice è estrarlo in una directory "nota all'applicazione" (spessissimo l'applicazione viene "installata" in una directory e il databse può essere estratto in una sottodirectory). Il problema della multipiattaforma non esiste: se i percorsi (relativi, sempre relativi!) li scrivi in modo unix-like (quindi con gli slash e non con i backslash alla windows), sarà la JVM a fare tutte le dovute conversioni per te. Es: "./database/" sarà sempre una directory chiamata "database" nella directory dell'applicazione. E funzionerà anche su Windows.

    2) Sempre nel caso di un DB file-based, una soluzione alternativa sul dove spacchettare i dati potrebbe essere quella di chiedere all'utente il percorso (magari usando un JFileChooser, così da facilitargli il compito).

    3) Se si lavora con un DB di tipo diverso (tipo JavaBD) allora questo sarà visto semplicemente come una libreria dell'applicazione (verrà, quindi, distribuito come una qualunque libreria, nella sua bella directory "lib", assieme al JAR). Sarà il DBMS a fare tutto il lavoro: creare l'eventuale directory per i dati, ecc. Ovviamente si deve pensare bene alla sua configurazione.

    4) Una soluzione completamente alternativa è quella di usare un DBMS on-line: ti togli il pensiero di dover impacchettare e spacchettare i dati. Certo, è necessario possedere un server o quantomeno un servizio di hosting con DBMS aperto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.