View Full Version : Scelta architettura e linguaggio applicazione
foxmolder5
26-03-2008, 16:59
Devo realizzare un'applicazione per la gestione dei pazienti di un medico. Sono indeciso tra l'utilizzo di un'architettura web ( JAVA o PHP) oppure un'architettura classica per applicazione stand-alone.
La prima scelta mi permetterebbe una più facile realizzazione dell'interfaccia grafica ma dall'altro dovrei prestare maggiore attenzione alla sicurezza (limitazione accessi al server web, utilizzo di connessione crittografate SSL, ecc...) ed invece la seconda mi permetterebbe di avere meno noi su quest'ultimo punto ma una maggiore complessità e pesantezza dell'applicazione.
Innanzitutto pensavo di indirizzarmi verso JAVA poichè utilizzando il pattern MVC avrei un'alta riutilizzabile che si potrebbe tradurre in un facile passaggio da un tipo di architettura all'altra senza eccessivi interventi, però sicuramente tale scelta implica un tempo maggiore di sviluppo e una pesantezza maggiore dell'applicazione e del server stesso (tomcat - java VS apache - php).
voi cosa mi consigliate? nella scelta tra i due non ho considerato qualche aspetto importante?
kernel::panic
26-03-2008, 17:10
Secondo me la prima cosa che devi vedere è se c'è solo una persona (il medico) che accede all'applicazione.
Se così fosse ti conviene creare un'applicazione client-server che installerai sul PC del medico. Così non ti devi preoccupare di installare un web server. Come DB puoi usare Access o SQLite (io consiglio *vivamente* il secondo :p )
Se invece più persone accedono contemporaneamente all'applicativo ti conviene fare un sito web e usare come DB MySQL oppure Postgre oppure SQL Server Express.
Decisa questa architettura penserai poi al linguaggio :)
foxmolder5
26-03-2008, 17:12
Secondo me la prima cosa che devi vedere è se c'è solo una persona (il medico) che accede all'applicazione.
Se così fosse ti conviene creare un'applicazione client-server che installerai sul PC del medico. Così non ti devi preoccupare di installare un web server. Come DB puoi usare Access o SQLite (io consiglio *vivamente* il secondo :p )
Se invece più persone accedono contemporaneamente all'applicativo ti conviene fare un sito web e usare come DB MySQL oppure Postgre oppure SQL Server Express.
Decisa questa architettura penserai poi al linguaggio :)
il medico è solo uno, però penso che realizzerei l'applicazione in modo tale da supportare la multiutenza (ora non serve, ma forse in altri progetti potrebbe essermi utile, chi lo sa).
kernel::panic
26-03-2008, 17:20
Sinceramente mi sembra un pò esagerato costringere il povero medico ad installarsi sul portatile un webserver e un DB-engine quando se ne può fare a meno... per questo propenderei per un client-server...
Se crei un modulo per la comunicaziono col DB (ad esempio SQLite) e in futuro vuoi passare alla multiutenza, ti basterà riscrivere tale modulo per supportare ad esempio Postgre e installare l'applicazione client-server su più postazioni.
foxmolder5
26-03-2008, 17:46
Sinceramente mi sembra un pò esagerato costringere il povero medico ad installarsi sul portatile un webserver e un DB-engine quando se ne può fare a meno... per questo propenderei per un client-server...
Se crei un modulo per la comunicaziono col DB (ad esempio SQLite) e in futuro vuoi passare alla multiutenza, ti basterà riscrivere tale modulo per supportare ad esempio Postgre e installare l'applicazione client-server su più postazioni.
non ho mai utilizzato sqlite, casomai ci do 1 occhiata. al max pensavo di fargli installare mysql che non è pesante e fa egregiamente il suo lavoro :-) il tutto potrebbe esser gestito da una semplice app java, eliminando quindi qualsiasi web server.
edit: ho dato un'occhiata ad sqlite, ma non mi convince molto. sicuramente si addice all'ambito di utilizzo di questo progetto ma dall'altro non prevede metodi di sicurezza (basta copiare il file del db e ci si può accedere da 1 altro pc) oppure basta che il file si corrompa o altro e non si può + far nulla. è buono ma sicuramente troppo a basso livello per un'applicazione che basa il suo utilizzo sulle info presenti nel db.
Occhio alle licenze di MySql.
Se non produci un software open-source, allora dovrai pagare (far pagare) la licenza di MySql.
Non basta comunque dire "Il mio e' open-source", occore che sia una applicazione GPL. Cosa significhi meglio leggerlo.
Sql-Server express invece si puo' mettere dove si vuole senza limiti.
Stessa cosa anche per il tanto snobbato Oracle Express, piu' potente (ma anche piu' incasinato) degli altri due messi insieme, anch'esso assoultamente gratuito.
foxmolder5
26-03-2008, 18:54
Occhio alle licenze di MySql.
Se non produci un software open-source, allora dovrai pagare (far pagare) la licenza di MySql.
visto.ora vedo se passare a postgres
kernel::panic
26-03-2008, 19:28
visto.ora vedo se passare a postgres
PostgreSQL dal punto di vista sicurezza è molto buono: oltre ad avere login/password, puoi specificare nel file "pg_hba.conf" quali IP possono accedere al DB (mettendo solo 127.0.0.1 verranno accettate solo le connessioni dal PC locale).
Stessa cosa anche per il tanto snobbato Oracle Express, piu' potente (ma anche piu' incasinato) degli altri due messi insieme, anch'esso assoultamente gratuito. Molto interessante... non lo conoscevo, ma ci darò un'occhiata! ;)
Se usi Java pensa a JavaDB, è un server SQL embedded direttamente supportato da Sun.
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.