Sto sviluppando un'applicazione con 3 lati, desktop (JavaFX), server (Tomcat) e Android.
E un server di database MySQL.
L'app riceve email e le converte in attività. Le attività vengono inviate ai dispositivi Android dall'app desktop. L'utente del dispositivo Android fa tutto con l'attività e invia l'attività con nuove informazioni al server.
L'app desktop prende i dati dal database.
Ora funziona, ma procede troppo lentamente dal desktop, a causa del possibile potenziale carico del server.
Il server ha 3 attività:
- Lettore e-mail JavaMail e scrivere nel database.
- Invia messaggi PUSH ai dispositivi Android e ricevi alcune informazioni da loro e scrivi nel database.
- Ricevi la posizione GPS dai dispositivi Android e scriverla nel database.
I miei dubbi sono:
A) Separa il lato server in 3 progetti.
- Lettore di posta
- Invia PUSH ai dispositivi Android.
- Recettore di posizione GPS
B) Separa il database in 2 database:
- Per la posizione GPS.
- Per le informazioni sulle attività.
Questa procedura renderà l'app più veloce?
Modifica per rispondere a Clinton Bosch:
Sto usando Hibernate per connettermi al database, ecco il mio file di configurazione di ibernazione:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.max_size">150</property>
<property name="hibernate.c3p0.timeout">100</property>
<property name="hibernate.c3p0.max_statements">0</property>
<property name='connection.username'>root</property>
<!-- Database connection settings -->
<property name='connection.driver_class'>com.mysql.jdbc.Driver</property>
<!-- JDBC connection pool (use the built-in) -->
<property name='connection.pool_size'>10</property>
<!-- SQL dialect -->
<property name='dialect'>org.hibernate.dialect.MySQLDialect</property>
<!-- Echo all executed SQL to stdout -->
<property name='show_sql'>false</property>
<!-- Mapping files -->
</session-factory>
</hibernate-configuration>