Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/04/2015, 10:37
agleiva
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: Necesito Apoyo: Desarrollo de sistema Java y MySQL

Lo recomendable cuando necesitás un sistema distribuído es usar una arquitectura SOA con webservices (pueden ser REST o SOAP, aunque estos últimos ya se han quedado un poco viejos), o si te sentís temerario podes usar un Actor Framework (como Akka u Orleans).

Esto no solo significa un incremento en la seguridad (ya que los web services están especificamente diseñados para estar expuestos en internet y aún así mantener tu software libre de intrusiones), si no también en performance, ya que, por ejemplo, si una determinada operación dentro de la lógica de tu sistema requiere más de una consulta u operación contra la base de datos, el web service es el que se encarga de ejecutar estas operaciones, y estando dentro de la misma LAN que la base de datos te evitás el paso de información a través de internet, que es más costoso en tiempo.

Para ejemplificar:

Código Diagrama:
Ver original
  1. -                     Ubicación 1                                    Ubicación 2
  2.                         [DB]                                            [DB]
  3.                          /\                                              /\
  4.                          ||  (Red LAN)                                   || (Red LAN)
  5.                          \/                                              \/
  6.                     [Web Service]                                  [Web Service]
  7.                          /\                                              /\
  8.                          ||                                              ||
  9.                          ||                Ubicación 3                   ||
  10.                          ||=======>    [Aplicación Cliente]      <=======||    
  11.                           (Red WAN)                              (Red WAN)


Es decir, tu aplicación cliente en la ubicación 3 se comunica con los WebServices de ambas ubicaciones 1 y 2, a través de internet, y éstos hacen operaciones contra las DB a través de sus respectivas redes locales (LAN).

Más allá de todo esto, si estás sobre Windows te recomiendo que uses C#, que es mucho más moderno, productivo y placentero para trabajar que java.

Saludos

Última edición por agleiva; 25/04/2015 a las 10:45