FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Creando una aplicaciones en tres (3) Capas
Hola a tod@s:
Bien en orden de ideas deseo poder pasar de crear aplicaciones de escritorio a generar aplicaciones cliente - servidor utilizando para los efectos un modelo en tres capas. Vista - Interfaz de usuario Lógica de Negocio - Valida de Datos que ingresan, procesamiento de los mismos y envió de peticiones al servidor Capa de Datos - Conexión a la BD, Validación de datos procesados para almacenar y envió de conjuntos de datos. En orden de datos lo anterior suena a retorica y a libro para principiante (en los cuales me cuento); de lo que he podido leer y buscando hacer algo sencillo pero practico, he encontrado que una opción es crear un servidor fuera de proceso; éste ya lo puede crear generando una aplicación para el efecto. He creado una segunda aplicación con la vista del usuario y he logrado ver lo datos que provienen del cliente. En orden de ideas eso me llevo buen tiempo pero funciono, ahora necesita saber como programo la capa del medio en la cual debe tener los procesos de la lógica; y en ese orden de ideas si debe realizar una tercera aplicación para generar esta capa, y como se conecta esta capa con la de datos y con la de vista. Agradezco sus comentarios y su tiempo Cordialmente gertorresm |
#2
|
||||
|
||||
Busca manuales (en el FTP del club puedes encontrar algunos) y revisa los temas sobre Datasnap. a ver si se acerca a lo que tienes en mente.
Siento no poder ser más concreto, pero es que la pregunta es muy amplia y algo confusa (para mi).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Cita:
Como dice Neftalí la mejor opción es DataSnap, que es una arquitectura nativa en Delphi y que ha sido repotenciada en las últimas versiones XE,XE2, XE3... Aunque a primera vista parezca que DataSnap es complejo, la verdad es que no lo es... Delphi se encarga del trabajo sucio y tu de lo que ya sabes. Por otro lado, el tema de manejar las tres capas es un tema de organización y disciplina... no debes dejar que la premura te haga perder el foco de la arquitectura. Me refiero a que muchas veces nos domina nuestra costumbre de programar procedimentalmente y todo en una capa.... Te dejo un link de un hilo similar en este foro |
#4
|
|||
|
|||
Estimados,
tengo una duda respecto a DataSnap... después de mucho leer y revisar videos, en los cuales siempre se desarrolla dos aplicaciones una servidor y otra cliente. El punto es que ocurre cuando se distribuye la aplicación terminada? cual es el modelo? Existe un servidor general, donde están montadas la base de dato, y además l aplicación servidor que hace las veces de conector entre la base de dato y el cliente final, esto es asi? O en cada distribución se incluye una aplicación servidor y cliente, y estas en conjunto se conectan al servidor de las base de dato? Esoy confundido, que se gana con esto, al tener una sola aplicación cliente con ventanas y todo eso, y sus respectivos DataModule con los conectores a la Base de dato... ?¿?¿ Estoy intentando profundizar en esto, ya que tengo una aplicación desarrollada en Delphi 2010, que se conecta a Firevird 2.5, pero ahora se quiere implementar en otras sucursales por medio de internet, manteniendo las bases de dato centralizadas. Gracias |
#5
|
||||
|
||||
Dependiendo de la infraestructura y los modelos de seguridad que maneje tu empresa/cliente, puedes tener uno o dos servidores.
Lo más recomendable es tener dos servidores, uno es el servidor de apliaciones y el otro el de base de datos, ésto por temas de seguridad de tus datos, ya que el servidor de aplciaciones es el único que se expone directamente. La idea con DataSanap, es que instales el programa Server, en el servidor de aplicaciones, via IIS (modelo ISAPI), o también puedes ponerlo a correr como un servicio de Windows, o como una aplicación ejecutada manualmente en dicho servidor. Ésta aplicación Server será la encargada de hacer TODA la gestión de conexión con la base de datos y envío de datos al cliente... Tu Servidor de base de datos, no se debe preocupar por las aplicaciones que la accesarán, asi que no importa si hablas de DataSnap u otra arquitectura... sencillamente es tu repositorio de datos. Por último, tendremos la aplicación cliente, que será la que debes ir instalando y actualizando en cada cliente... ésta se comunica con tu aplicación Server haciendo petición de datos o cálculos, pero no pega directamente a la BD, aun cuando ésta esté ubicada en el mismo servidor... Migrar tu aplicación tipo cliente servidor, donde tus datamodules se conectan directamente a la base de datos es un trabajo duro, pero no imposible, aunque depende del tamaño de tu aplicación y la organización que tengas de tu código... es un cambio de paradigma... En cuanto al "despliegue", hay que tener en cuenta que el cliente debe poder actualizarse frecuentemente, para ésto es bueno implementar un sistema actualización en línea de tu software... No es muy diferente a lo que pasa con Web... solo que a ti te parece que no instalas nada, pero en realidad estas lidiando con actualizaciones permanentes del cliente (Internet Explorer, Chrome, Firefox) y de sus frameworks (.Net y Java, si cabe) Un saludo, |
#6
|
|||
|
|||
Gracias Gatosoft, por tu pronta respuesta.
Entonces lo ideal es tener dos servidores, sin embargo, se podría utilizar uno solo que contenga el servicio de la aplicación y las propias base de datos... todos los ejemplos que he revisado el cliente y servidor de aplicaciones están en el mismo equipo, como y con que componentes se conectaría el cliente con el servidor de aplicación por medio de internet o red local? Algún ejemplo?? Como bien has dicho, no es un cambio menor traspasar mi aplicación a una de 3 capas, pero he tenido bastantes problemas de velocidad y principalmente desconección hacia la BD lo que provoca que la aplicación cliente se cuelgue... vale la pena hacer el esfuerzo y traspasar a este tipo de arquitectura? realmente mejorar la velocidad y principalmente el problema de que se cuelgue la aplicación? Como ya estoy pensando en modificar mi aplicación, valdrá la pena pensar en otra tecnología? cual? DataSnap es una buena opción considerando que en el futuro el proyecto completo involucra desarrollar algunas aplicaciones para Tablet y páginas web, es compatible esta tecnología con esto? Hartas preguntas, espero me puedan ayudar a decidirme. Gracias |
#7
|
||||
|
||||
Cita:
es una aplicación en tres capas. un saludo.
__________________
PepeLolo El hombre el único virus que mide más de unas cuantas micras |
#8
|
||||
|
||||
Cita:
Hace tiempo cuando empece a hacer apps "3-niveles" perdia mucho tiempo al separarlas desde el inicio. Eso complica enormemente la depuracion y hacer los test de las mismas. Al final, si la app no necesita soportar una arquitectura escalable empaquetarla en 1 o maximo 2 programas no tiene *nada* de malo. De hecho, con un servidor de datos como postgres se puede contar con un app que es especializado en manejar datos y permite hacer programacion de forma muy flexible. Con eso, tenes un modelo 2 niveles muy potente si lo sabes aprovechar. Piensa que es lo mas normal (y de hecho recomendado!) incluso para servicios como pinterest que arrancan de forma monolitica y luego se van "desacoplando" y distribuyendo. Ahora lo que describes como se logra? Es muy facil, realmente (de mi blog): http://blog.elmalabarista.com/tagged/delphi
__________________
El malabarista. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Reconectar en Tres Capas | teletranx | Conexión con bases de datos | 0 | 05-09-2007 00:36:13 |
Programacion En Tres Capas | OMARS | Internet | 2 | 08-08-2007 10:37:16 |
Tres capas | rastafarey | Firebird e Interbase | 4 | 07-07-2004 13:30:31 |
Programando en objetos en tres capas | quali | OOP | 2 | 21-02-2004 14:00:10 |
Aplicaciones de Tres Capas | muli | Varios | 1 | 10-01-2004 15:06:08 |
|