Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-09-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Disco compartido vs webservice

hola amigos queria saber su opinion al respecto (ventajas y desventajas) de crear una LAN con disco compartido de una maquina(donde esta la bd), y crear un webservice.

El disco compartido no es un servidor, osea tiene una capa menos, y las consultas estan en el cliente, en la aplicacion que accede a este disco.
En cambio el servicio web puede ser accesado desde cualquier parte del mundo y no solo en LAN, tambien se pueden administrar procesos generales, es decir si quiero contabilizar el total de tickets de una empresa (ejemplo) al tener un disco compartido como se haria? en un webservice es una fuuncion.

Otra cosa: Se puede utilizar una base de datos de MYSQL con disco compartido? porque es el sistema que mas se utilizar..
Gracias Saludos.
Responder Con Cita
  #2  
Antiguo 16-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que no te he entendido.
Un servidor de base de datos (mysql, postgresql, firebird, etc.) no debe tener nada compartido.
Los clientes solamente hacen peticiones al servidor (por el puerto predeterminado de cada base de datos) y es el propio servidor de bases de datos (mysql, postgresql, firebird, etc.) el que se encarga de preparar la información y devolverla al cliente.
Por lo tanto el servidor puede estar en cualquier lugar con acceso a internet.
Responder Con Cita
  #3  
Antiguo 16-09-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Creo que no te he entendido.
Un servidor de base de datos (mysql, postgresql, firebird, etc.) no debe tener nada compartido.
Los clientes solamente hacen peticiones al servidor (por el puerto predeterminado de cada base de datos) y es el propio servidor de bases de datos (mysql, postgresql, firebird, etc.) el que se encarga de preparar la información y devolverla al cliente.
Por lo tanto el servidor puede estar en cualquier lugar con acceso a internet.
Entonces como funciona un sistema en red con disco compartido? osea una aplicacion de 2 capas, en un disco la bd y en otro la aplicacion, sin webservice?
Responder Con Cita
  #4  
Antiguo 16-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que no hay que compartir nada. Justo lo contrario, los clientes no tienen necesidad de conocer dónde está el servidor, ni siquiera si está en local o en... Nueva Zelanda.
El servidor de bases de datos trabaja a través de un puerto. Los clientes hacen peticiones al servidor de bases de datos, que puede ser una IP o un alias, por ejemplo: servidoroculto.
En el caso de firebird tienes un fichero de alias, donde asocias 'servidoroculto' a, por ejemplo: 111.222.88.77:/mnt/datos/basedatos.fdb
Pero el cliente no tiene porqué saber la ruta real, usará el alias 'servidoroculto'
Por supuesto, en el servidor no hay que compartir absolutamente nada, al contrario, lo que debes hacer es protegerlo lo más posible para que nadie entre. En el caso de firebird solamente necesita el puerto 3050 abierto, en mysql es otro puerto, postgresql es otro, etc.

Creo que es eso lo que preguntas.
Responder Con Cita
  #5  
Antiguo 16-09-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Es que no hay que compartir nada. Justo lo contrario, los clientes no tienen necesidad de conocer dónde está el servidor, ni siquiera si está en local o en... Nueva Zelanda.
El servidor de bases de datos trabaja a través de un puerto. Los clientes hacen peticiones al servidor de bases de datos, que puede ser una IP o un alias, por ejemplo: servidoroculto.
En el caso de firebird tienes un fichero de alias, donde asocias 'servidoroculto' a, por ejemplo: 111.222.88.77:/mnt/datos/basedatos.fdb
Pero el cliente no tiene porqué saber la ruta real, usará el alias 'servidoroculto'
Por supuesto, en el servidor no hay que compartir absolutamente nada, al contrario, lo que debes hacer es protegerlo lo más posible para que nadie entre. En el caso de firebird solamente necesita el puerto 3050 abierto, en mysql es otro puerto, postgresql es otro, etc.

Creo que es eso lo que preguntas.
Pero y para que sirve crear un webservice por ejemplo? cual es la ventaja? si el servidor de base de datos acepta consultas de clientes?
Responder Con Cita
  #6  
Antiguo 16-09-2014
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Hola,

Porque para que tu aplicación se comunique con el servidor necesita utilizar las librerías de cada motor o de la capa que accede a la DB (Ej: ODBC).
Este panorama se complica cuando tienes un cliente en windows, un cliente en algún sistema de móviles y un cliente web y es donde los WebServices son funcionales; Porque no importa el motor que tengas para la DB, solo debes invocar el mismo método del webservice desde cualquiera de los clientes para obtener el mismo resultado.

Además, los webservices trabajarán por el puerto de la web (HTTP, HTTPS) y no tendrás que abrir otro puerto al mundo entero.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #7  
Antiguo 16-09-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Cita:
Empezado por movorack Ver Mensaje
Hola,

Porque para que tu aplicación se comunique con el servidor necesita utilizar las librerías de cada motor o de la capa que accede a la DB (Ej: ODBC).
Este panorama se complica cuando tienes un cliente en windows, un cliente en algún sistema de móviles y un cliente web y es donde los WebServices son funcionales; Porque no importa el motor que tengas para la DB, solo debes invocar el mismo método del webservice desde cualquiera de los clientes para obtener el mismo resultado.

Además, los webservices trabajarán por el puerto de la web (HTTP, HTTPS) y no tendrás que abrir otro puerto al mundo entero.
Y entonces para lo que estoy haciendo no es necesario webservice? porque es un negocio que solo usara computadoras de escritorio, pero igualmente las aplicaciones de 3 capas son superiores a las de 2 capas.
Un sistema con base de datos como mysql y una aplciacion en delphi tiene solo 2 capas.
Responder Con Cita
  #8  
Antiguo 16-09-2014
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Los modelo de infraestructura son importantes y necesarios según los requerimientos. Si tu modelo de negocio solo necesita un programa monolítico para que funcione eso no lo hace inferior a un programa con plugins.
Analiza lo que requieres y construye basándote en las necesidades presentes y futuras de tu modelo. Teniendo en cuenta que muchas de las necesidades futuras podrían implementarse en fases posteriores.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #9  
Antiguo 17-09-2014
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
Amigo giulichajari,

Considero que no hay una relación clara entre una BD en una carpeta compartida y un webservice... estas hablando de dos cosas muy distintas.

Asumo que utilizas un tipo de base de datos como Paradox, cuyos archivos se puedn colocar en una carpeta y ser accesados por tus programas.... Éste esquema es un poco obsoleto, pues tiene en general los mismos problemas que trabajar concurrentemente sobre un archivo de excel...exagerando un poco (o tal vez no...)

Hoy dia ya no hablamos de bases de datos propiamente, sino de motores de bases de datos (o manejadores de bases de datos relacionales), que se encargan a través de protocolos (TCP/IP) de adminsitrar conexiones y tráfico de datos...

Si hablas de un MySql, instalas el motor en un servidor, donde se crea la estructura de archivos/carpetas que equivalen a la BD, pero tu usuario no deberias enterar de ésto, sino de la dirección IP y el puerto que la Bd utilizar para la conexión. en tu programa, entonces utilizaras un par de componentes que haran el trabajo de comunicación.

Por otro lado el WebService, está mas orientado a recibir peticiones de negocio, interpretarlas y hacer una tarea o devolver un resultado específico. Otra cosa es que tu Web service dentro de su lógica se conecte a un motor de base de datos (en cualquier ubicación) y haga lo que tenga que hacer...
Responder Con Cita
  #10  
Antiguo 17-09-2014
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 13
engranaje Va por buen camino
A mi me da la sensación de que igual estas equivocado con lo que significan las capas. Aunque realmente compiles un ejecutable que se conecta a un sistema gestor de bd a traves de una ip y un puerto. Tu ejecutable puedes estar diseñado y desarrollado en varias capas, de modo que si necesitas cambiar el sistema gestor de bd solo tengas que realizar un cambio mínimo en los fuentes que se encargan del trabajo con la bd, pero ninguno sobre los fuentes que se encargan de la gestión de esos datos, y tampoco ninguno en los fuentes que se encargan de la presentación visual de la información. Las capas se refieren a la estructura interna de tu aplicación
Responder Con Cita
  #11  
Antiguo 17-09-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
El tema es que pensando un poco no se si es necesario el webservice, ademas de que este es un poco mas de trabajo para desarrollarlo.
Puedo directamente tener el motor de base de datos en una maquina y una o varias aplicaciones que actuen sobre el server. por ejemplo yo tenia pensado una aplicacion de terminal de punto de venta, y otra para el jefe.
El requisito que me dio el cliente es que si se corta internet poder seguir trabajando, para lo cual habia pensado crear un webservice por sucursal y uno central. En estos webservice se encuentran las instrucciones sql de insercion modificacion, etc. A diferencia del otro modelo donde estan en la aplicacion que se conecta al motor de base de datos.
Pero para el modelo anterior que es mas sencillo(no el webservice), tener simplemente el motor de base de datos y las aplicaciones clientes tendria que distribuir la base de datos, por lo menos tener una copia en una maquina que tenga instalado el motor por cada sucursal.

Muchas gracias por responder a todos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Acceso a fichero compartido Maximiliano666 Varios 0 13-09-2012 12:25:23
Bibliotecas de terceros en hospedaje compartido D-MO Python 4 11-09-2012 02:18:17
Componente compartido inter-forms. yapt OOP 4 08-06-2010 16:55:32
Imagen de disco duro de sistema a un disco externo usb Wonni Windows 20 05-06-2007 13:11:55
archivos "bloqueados" por windows98 en disco compartido pvizcay Windows 0 17-05-2007 17:16:37


La franja horaria es GMT +2. Ahora son las 00:51:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi