PDA

Ver la Versión Completa : Por donde Empezar por el Servidor o el Cliente


leury
12-06-2004, 07:19:18
Por donde empezar mi aplicacion Cliente/Servidor,

Diseño primero el Cliente ó el servidor ?

De Antemano Agradezco sus opiniones y sugerencias a si como el tiempo que se han tomado en leer este hilo.

ARRIVA LAS "CHIVAS DE MEXICO"

cbrrr
12-06-2004, 11:28:58
Esta pregunta es muy relativa, aunque, lo normal (o lo que yo he hecho siempre), es empezar definiendo las bases de datos y todo lo referente a ellas (índices principales, claves foráneas, referencias de integridad, cheks, ......). Vamos, todo lo que se desprende de un primer análisis de un problema

Luego, a medida que vas desarrollando el cliente, te das cuenta que faltan cosas en el servidor, es decir, algunos índices, algunos procedimientos almacenados, quizás algún trigger, ...., por lo que el desarrollo, tanto del cliente como del servidor, no termina hasta terminar la aplicación entera. Es un TODO que es difícil de gestionar por separado ya que hay mucha dependencia uno del otro.

DarkByte
12-06-2004, 11:45:49
Empieza por leer la Guía de estilo ;)

jachguate
13-06-2004, 05:36:59
De que tipo de aplicación estamos hablando?

DarkByte
13-06-2004, 08:45:58
Sinceramente, creo que lo mejor es, en un block de notas, aputar todas las caracteríasticas y comandos de la aplicación, después hacer el servidor, que suele ser la parte más robusta y la que va a guiar a los clientes, una vez terminada esta, ya vas a saber los comandos disponibles para los clientes.

cbrrr
13-06-2004, 09:44:41
De que tipo de aplicación estamos hablando? Por donde empezar mi aplicacion Cliente/Servidor Qué más da que la aplicación sea 2 capas o 3 capas? Es una aplicación C/S, donde hay procesos que se ejecutan en el Servidor y otros que se ejecutan en el Cliente

creo que lo mejor es, en un block de notas, aputar todas las caracteríasticas y comandos de la aplicación... A ésto, por si no lo sabes, se le llama análisis y, es algo más que apuntar en un bloc de notas las características de la aplicación. La lástima es que muchas veces no se suele hacer este análisis (por tiempo) y luego pasa lo que pasa, que las aplicaciones crecen de forma totalmente desordenada y cahótica.
El análisis (toma de requirimientos, distribución de procesos, flujo de datos,.....) es un 80% de una aplicación. El teclear el código, "hasta el más tonto lo sabe hacer" (es una manera de hablar, claro)

marcoszorrilla
13-06-2004, 10:59:37
He votado por el Servidor, las razones porque el servidor es quien luego va a facilitar los datos a los clientes y si éste no estuviese bien estructurado incluso habría cosas imposibles de realizar.

Creo que el primer punto importante es qué tablas, campos, claves foraneas, relaciones e índices vamos a necesitar.

El punto siguiente, sería establecer las reglas del negocio y ver donde han de residir, en el servidor o en el cliente, por poner un ejemplo, si la fecha de vencimiento de una factura es anterior a la fecha de emisión tendríamos que emitir un mensaje de error, pero sería ridículo y un gasto de recursos innecesario hacer viajar esta lógica al servidor para que la resolviera, cuando se puede resolver perfectamente en el cliente.....

Finalmente en virtud de un montón de consideraciones más, como quiera que los disparadores y todo lo que debiera residir en el servidor ya lo tendríamos implementado solamente quedaría lo que es el código puro y duro en Delphi o el lenguaje de que se trate.

Como es una encuesta se trata de que cada uno ponga su punto de vista si lo desea y vote, sin que para ello se necesite zaherir a nadie.

Un Saludo.

DarkByte
13-06-2004, 14:53:01
cada uno ponga su punto de vista si lo desea y vote, sin que para ello se necesite zaherir a nadie.
¿¿Y esto significa??

zaherir (l. faciem ferire, herir en la cara)

1 tr. Reprender [a uno] dándole en rostro con alguna acción o beneficio.
2 Mortificar [a uno] con reprensión maligna. **CONJU. [35] como hervir.

Ahh!! Una vez más he tenido que recurrir a diccionarios.com para "desencriptar" tu post. Vaya método de criptografía que usas... para mí que más seguro que MD5 :p

leury
14-06-2004, 07:56:13
De que tipo de aplicación estamos hablando?

En Fin una Aplicacion Cliente/Servidor, nada en especifico;

Sinceramente, creo que lo mejor es, en un block de notas, aputar todas las caracteríasticas y comandos de la aplicación, después hacer el servidor, que suele ser la parte más robusta y la que va a guiar a los clientes, una vez terminada esta, ya vas a saber los comandos disponibles para los clientes.

Buena Idea.



A ésto, por si no lo sabes, se le llama análisis y, es algo más que apuntar en un bloc de notas las características de la aplicación.

Bien, cbrrr pero hablando a nivel del analisis la pregunta sigue siendo la misma: ¿por donde empezar, por el cliente ó por el servidor?




He votado por el Servidor, las razones porque el servidor es quien luego va a facilitar los datos a los clientes y si éste no estuviese bien estructurado incluso habría cosas imposibles de realizar.
Un Saludo.
Bien marcoszorrilla, Respeto tu voto y acepto tus razones , pero que hay con el Cliente es quien te dice cuales son los datos que necesita del Servidor.


"POR QUE PRODUCIMOS MATERIAL INFORMATICO, NO A LA PIRATERIA INFORMATICA"

cbrrr
14-06-2004, 09:33:21
Bien, cbrrr pero hablando a nivel del analisis la pregunta sigue siendo la misma: ¿por donde empezar, por el cliente ó por el servidor? Bien, si te lees mis dos intervenciones, creo que he dejado claro por donde empezaría (servidor) ;)

haron
14-06-2004, 13:02:12
no empieces ni por el cliente ni por el servidor.

para mi, cliente es un terminal capaz de efectuar una serie de tareas.
servidor, es una maquina capaz de responder a las peticiones de cualquier terminal cliente.

se habla de 'cliente grueso' si el terminal tiene asignada mucho procesamiento o responsabilidades.

el tema es saber asignar la carga y las responsabilidades entre el cliente y el servidor.

si sabes distribuir la carga entre ambos lados de la balanza de manera que este equilibrada, quiere decir que eres un buen estratega programador.

marcoszorrilla
14-06-2004, 22:05:04
Leury:Bien marcoszorrilla, Respeto tu voto y acepto tus razones , pero que hay con el Cliente es quien te dice cuales son los datos que necesita del Servidor.

Pues muchas gracias, aunque creo que lo justo de un debate es respetar el voto de todos aceptar las razones y a la vez combatirlas.

En cuanto al cliente me va a decir lo que necesita el servidor, aquí podríamos muy bien caer en un "quid pro quo", o confusión, qué cliente el que paga la aplicación, totalmente de acuerdo, en cuanto a lo que me supongo que quieres decir el terminal cliente, este es mudo no me dirá nada y solamente se conectará y preguntará lo que pueda preguntar en virtud de lo que el servidor pueda o quiera darle, en orden a lo que tenga o de los permisos que exhiba quien se conecte.

Si nos referimos únicamente a la pregunta realizada me mantengo en lo dicho yo comenzaría siempre por el servidor, incluso es posible que le dotemos de más servicios de los previstos para que en el futuro si se nos pidiesen ciertos análisis o estadísticas estos pudiesen realizarse.

Un saludo y a ver si os animais y continuamos el debate.

eduarcol
14-06-2004, 23:42:20
Esta pregunta a mi me suena a la pregunta de quien fue primero la gallina o el huevo, pues mi punto de vista seria que debemos empezar con un buen analisis de sistemas, ya luego de tener estructurados los flujos del sistema es indiferente por dond comenzemos ya que tendriamos definidas y delimitadas las funciones de cada uno de los integrantes del mismo...