Foros del Web » Programación para mayores de 30 ;) » Java »

Arquitectura Cliente Servidor o Conexion Remota

Estas en el tema de Arquitectura Cliente Servidor o Conexion Remota en el foro de Java en Foros del Web. Hola gente, les consulto. Tengo que hacer un sistema en Java y la idea es que el sistema pueda correr en diferentes maquinas consultando una ...
  #1 (permalink)  
Antiguo 29/04/2014, 08:47
 
Fecha de Ingreso: mayo-2011
Mensajes: 31
Antigüedad: 13 años
Puntos: 0
Arquitectura Cliente Servidor o Conexion Remota

Hola gente, les consulto. Tengo que hacer un sistema en Java y la idea es que el sistema pueda correr en diferentes maquinas consultando una única base de datos. La duda esta en que usar.
Por un lado podría usar RMI.
Por otro lado podría poner la base de datos MySql en una PC y que ambas PC busquen en esa base de datos, con conexion a mysql.

No se cual es la ventaja y al diferencia/problemas con lo que me puedo encontrar al usar estas alternativas. Porque deberia usar RMI como arquitectura y no simplemente usar esta conexion directa a mysql.

Aclaro el sistema no es web.

Mil gracias
  #2 (permalink)  
Antiguo 29/04/2014, 11:54
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Arquitectura Cliente Servidor o Conexion Remota

No sé qué quieres decir con usar RMI, no dices entre quierss usar RMI.

Las opciones son dos

- Cada PC va a su bola contra la base de datos directamente instalada en otro PC (es una de las que comentas)
- Haces un unico programa java que acceda a la base de datos (llamemosle servidor) y las aplicaciones (llamemosla clientes) deben conectarse con ese programa servidor en vez de con la base de datos directamente (quizás eso es lo que quieres decir con RMI).

La ventaja de la primera opción es que es más sencilla de desarrollar.
La pega de la primera opción es que si una de las aplicaciones hace cambios en la base de datos, la otra no se entera, salvo que esté haciendo consultas periodicamente para ver si algo ha cambiado. Con la segunda opción (servidor y clientes) puedes solventar esto porque cuando uno de los clientes mande algo al servidor, el servidor puede hacer los cambios en base de datos y avisar de dichos cambios a todos los demás clientes.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 29/04/2014, 19:53
 
Fecha de Ingreso: mayo-2011
Mensajes: 31
Antigüedad: 13 años
Puntos: 0
Respuesta: Arquitectura Cliente Servidor o Conexion Remota

LO que quiero decir con RMI, es que RMI es para arquitectura cliente servidor y usar la base de datos en un servidor y las aplicaciones que corran contra esa base de datos es tambien cliente servidor. Entonces no entiendo cual de las 2 es la mas importante, mejor, etc... O porque una es una arquitectura y la otra no se le llama asi.

Gracias!
  #4 (permalink)  
Antiguo 30/04/2014, 02:09
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Arquitectura Cliente Servidor o Conexion Remota

La respuesta correcta es que depende. Depende de si las modificaciones que se hagan en un PC han de poder verlas el resto de máquinas. Si la respuesta es no, obviamente lo mejor es cada maquina con su servidor local. De esta manera ganas en seguridad (nadie puede ver datos de otros) y realmente separas instalaciones. Si la respuesta es que las modificaciones de una maquina influyen en los datos que el resto ha de ver, la mejor opción sin duda es tener una única base de datos.

En el caso de la última opción, existen dos opciones, hacer uso de la tecnología RMI o realizar directamente las peticiones contra el servidor externo. La ventaja de usar RMI es que estás implementando el patrón Facade, de forma que tu aplicación usa RMI para obtener los datos "de una fuente", sin necesidad de que la aplicación sepa si se trata de un MySql, un servidor Oracle o donde se encuentran estas BBDD.

Fuera aparte de que al usar RMI estás usando el patrón de diseño Facade, al separar la BBDD en otra máquina usas lo que se llama una arquitectura N-Tier.
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:20.