Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Aplicación Delphi en 3 capas (https://www.clubdelphi.com/foros/showthread.php?t=27208)

Rabata 15-11-2005 12:15:29

Aplicación Delphi en 3 capas
 
Sabeis si se puede migrar de alguna forma una aplicación de 2 capas win32 de delphi7 al modelo de 3 capas para poder ser ejecuta desde un navegador web cualkiera.....

Mi intención es k mis programas en delphi se puedan corer desde el internet explorer (por ejemplo) `pero claro esta k para esto tiene k ser n modelo de 3 capas, hay algunos lenguajes k lo hacen por ejemplo forms de oracle, el mismo ejecutable para cliente servidor te vale `para el de 3 capas y lo puedes usar en entorno web con el mismo propgrama y la misma apariencia sin modificar ninguna linea de codigo lo unico recomendabl es k la makina virtual de Java no lo hace correctamente y se aconseja el jinitiator para esta tarea....

¿Sabeis si en delphi hay algo asi? ¿lo soporta el delphi 2005, 2006 (esta a punto de salir si no ha salido ya)....

neon 15-11-2005 14:42:20

Hola,

Yo también quiero hacer más o menos lo que comentas. Aunque veo un poco dificil que puedas hacer lo que dices sin modificar ni una sola linea de código.

Lo que yo quiero hacer es crear un activeX Form con un editor de texto en su interior para poder ejecutarlo desde el IE. He conseguido crear una pequeña aplicación de ejemplo según: http://delphi.about.com/od/interneti...l/aa042099.htm

El problema que yo tengo es que no puedo meter un MenuItem en mi aplicación, debido a que no me lo muestra en el IE.

Aún investigo como solucionar este problema. Alguna idea?

JXJ 15-11-2005 17:52:51

¿y eso que es. ?

¿dos, tres, capas ?

¿hay de una. capa. y de más de tres capas?

Enan0 16-11-2005 14:42:45

Cita:

Empezado por JXJ
¿y eso que es. ?

¿dos, tres, capas ?

¿hay de una. capa. y de más de tres capas?

Si: 1ª Capa: visual
2ª Capa: Conexiones
3ª Capa: Acceso a datos

entonces si el dia de mañana dejas de trabajar por ejemplo de una base de ACCESS a una de SQL server (ejemplo a grandes rasgos) solo deberias cambiar el metodo de conexion y no tocar nada del acceso a datos (codigo SQL)

o si necesitas hacer modificaciones en las pantallas, las conexiones y demas deberian ser iguales

Rabata 16-11-2005 16:39:53

no se muy bien k te refieres con

Código:

1ª Capa: visual
2ª Capa: Conexiones
3ª Capa: Acceso a datos

Para mi un modelo de 3 capas es lago parecido a lo k defines es la tecnologia k se aplica para basarse en modelo-vista-conntrolador (MVC, patron de Diseño)
una capa se encarga de mostrar los datos al usuario (en el medio k sea, es independiente, runtime forms de oracle, executable de delphi,...., navegador web,..., solo son los formularios), la 2º capa lleva todas las reglas de negocios, osea los procediminetos que debes utilizar para interactuar entre la 1º y 3º capa(acceso de datos, base de datos, Oracle, Interbase, Sql-server, MySql,....la que quieras)


Ejemplo: Sistema Forms de oracle 9i, con el mismo Fichero Fmb y copiandolo al servidor de aplicaciones IAS, es capaz de abstraerte las 2 capas primeras ,ya que la 3º capa es la base de datos, te dejaria por un lado el formulario por otro las reglas de negocios y gracias a esto puedes ejecutar un formulario de lenguaje visual (sin cambiar nada del codigo) en el internet explorer gracias al JInitiator (se encarga de interactuar con tu navegador para transformarlo en html) maquina virtual de Java de oracle....

.......

JXJ 16-11-2005 19:40:21

¿que no todos los programas son en tres capas,
cuando usan un archivo de almacenado de informacion?

yo lo supongo por lo siguiente,

un pequeño programa de base de datos.
los botones y la grid, son la primer capa
la sentencias sql y los codigos dentro de los
eventos on click , on change, on create, etc,
son la segunda capa, y la tercera. la base de datos.
--
en un editor de texto,
si se quieren guardar la configuracion
de el color del fondo del richedit, y otras
opciones del usuario, el archivo ini, xml, o dat
pasaria a ser la tercera capa.


o ¿por que se le llaman de 3 capas?

Notese que no entiendo, esas separaciones,
de 1, 2, 3 capas.

vale gracias.

jachguate 17-11-2005 03:12:47

Cuando se menciona una aplicación de 3 o mas capas, generalmente se refiere a aplicaciones "delgadas" en el cliente, servidores de datos u otros tipos de servidores, etc.

Una forma típica de hacer una aplicación de 3 capas en delphi es usando Modulos de datos remotos (TRemoteDataModule) y MIDAS, donde separas la lógica en segmentos mas pequeños:

Motor de base de datos: Administra el acceso a los datos
Servidor de aplicaciones: Provee la lógica del negocio
Aplicación cliente: Interacción con el usuario.

De esa manera, las validaciones y actualizaciones se programan en el servidor de aplicaciones (que lo haces vos mismo).

La conectividad del cliente podes hacerla a través de sockets, de http, corba o DCOM. Con midas es posible incluso llegar al "modelo portatil" de una aplicación (briefcase mode) donde un cliente se conecta a la BD para leer datos, se desconecta y se va de viaje por el pais mientras captura pedidos de los clientes. Cada noche va a un internet cafe, conecta su laptop al servidor central y voltea los pedidos a la base de datos central para que sean procesados, por ejemplo.

En fin, solo intento darte una idea. El tema es muy amplio y tiene diferentes matices y formas de implementarlo.

hasta luego.

;)

lucasarts_18 17-11-2005 13:33:44

Hola:

Jachguate,¿ dónde se aprende todo esto ?, se ve muy interesante el tema...:D

Gracias de antemano.
Saludos.

lpmlpm 17-11-2005 17:29:38

Cita:

Empezado por lucasarts_18
¿ dónde se aprende todo esto ?, se ve muy interesante el tema...:D

Date una vuelta por aqui ahi hay ejemplos de como puedes trabajar con diferentes BD's cambiando solo una aplicación servidora y acceder a tu información desde PDA's o celulares o bien aplicaciones de escritorio indistintamente, los componentes son de paga pero si realmente requieres de estas características valen lo que pesan en oro...

lucasarts_18 17-11-2005 17:37:56

Gracias por el link :cool:

jachguate 17-11-2005 19:24:10

Cita:

Empezado por lucasarts_18
Hola:

Jachguate,¿ dónde se aprende todo esto ?, se ve muy interesante el tema...:D

Gracias de antemano.
Saludos.

Pues básicamente, leyendo y experimentando. Hay libros y artículos dedicados al tema: Multitier, DataSnap, Midas.

También hay libros que te introducen al tema, aunque ahora no recuerdo exactamente cuales, seguramente "La cara oculta de delphi" y "Mastering delphi" se encuentran entre ellos.

Hasta luego.

;)

lucasarts_18 17-11-2005 19:34:40

Hola:

Gracias, ahora mismo estoy viendo la cara oculta de delphi y están esos temas, empezaré a mirar estas tecnologías ya que son nuevas para mí.

Gracias ;)

Ivon Vides 31-07-2008 00:23:26

3 capas
 
Hola

Jachguate... estoy trabajando actualmente con el diseño de la capa intermedia y quiero tener el mayor performance. Está actualmente con un com+, comunicandose hacia los clientes con socket server de borland, el detalle es que la respuesta de las peticiones a las bases de datos, actualmente en mysql es algo tardado, le agregué un tsession para que que se cree una sesión por cada objeto com más no se si sea la mejor opción.

Se agradece la información.

Saludos.

sancarlos 02-08-2008 04:16:14

3 capas
 
Amigos , alguien con un ejemplito mas practico de que es 3 capas , me gustaria empezar a degustar este concepto.

egostar 02-08-2008 04:24:19

Cita:

Empezado por sancarlos (Mensaje 305230)
Amigos , alguien con un ejemplito mas practico de que es 3 capas , me gustaria empezar a degustar este concepto.

Hola

STFW Please

Salud OS

Khronos 03-08-2008 21:02:25

Probé el ejemplo de esta página y en Firefox 3 no me funcionó, pensé que lo tenía mal configurado o algo... pero no, debe de ser un bug. En Internet Explorer 7 y en Firefox 2 me funcionó.

La cuestión que me surge ahora es: Tu realizas una aplicación en 3 capas, ¿Si el ocx no contiene aplicaciones de la api de Windows como MessageBox o Beep, funcionaría en otros sistemas operativos como Linux o Mac?

Salu2

FGarcia 04-08-2008 02:55:16

No habia visto este hilo, no me cansare de recomendar este blog.

Si lo quieren descargar a pdf

¡Saludos!

jachguate 04-08-2008 18:00:10

Cita:

Empezado por Ivon Vides (Mensaje 304585)
estoy trabajando actualmente con el diseño de la capa intermedia y quiero tener el mayor performance. Está actualmente con un com+, comunicandose hacia los clientes con socket server de borland, el detalle es que la respuesta de las peticiones a las bases de datos, actualmente en mysql es algo tardado, le agregué un tsession para que que se cree una sesión por cada objeto com más no se si sea la mejor opción.

Un TSession?
Si estas usando BDE para atacar la base de datos, el rendimiento no será el mejor. Si tu base de datos va a ser mysql, tengo entendido que con zeos tiras muy bien de ella.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 00:08:18.

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