Discussion:
programar en tres capas
Milton inostroza
2005-09-19 17:09:53 UTC
Permalink
estimados (as):

en un curso de la universidad estamos viendo la programación por
tres capas y el profesor dio la facilidad de utilizar las herramientas
que nosotros quisieramos. Yo tengo experiencia en python + gtk +
postgresql, pero nunca habia programado en tres capas mi consulta es
la siguiente:

- he trabajado con procedimientos almacenados con postgresql, pero
nunca he trabajado en los lenguajes pl/python o cosas por el estilo
(no recuerdo bien los nombres de los lenguajes que se pueden
utilizar en este motor de base de datos), la pregunta es: es correcto
implementar las reglas de
negocio en estos lenguajes y alojarlos en el motor de base de datos?,
se puede?.

en las capa GUI no tengo problema ya que tengo pensado utilizar python
+ gtk(primera opción) y PSP(cuando nos pidan cambiar la capa de GUI).

salu2!!, espero haberme explicado bien
--
Milton Inostroza Aguilera
Chema Cortes
2005-09-19 21:35:12 UTC
Permalink
Post by Milton inostroza
en un curso de la universidad estamos viendo la programación por
tres capas y el profesor dio la facilidad de utilizar las herramientas
que nosotros quisieramos. Yo tengo experiencia en python + gtk +
postgresql, pero nunca habia programado en tres capas mi consulta es
- he trabajado con procedimientos almacenados con postgresql, pero
nunca he trabajado en los lenguajes pl/python o cosas por el estilo
(no recuerdo bien los nombres de los lenguajes que se pueden
utilizar en este motor de base de datos), la pregunta es: es correcto
implementar las reglas de
negocio en estos lenguajes y alojarlos en el motor de base de datos?,
se puede?.
El objetivo principal de los procedimientos almacenados es el de preservar la
integridad referencial de los datos, aunque pueden usarse para muchas otras
cosas como agregaciones o vistas sofisticadas. El PL/PythonU sirve
perfectamente y es bastante fácil de utilizar.

De ninguna manera te recomiendo que la capa de negocio la introduzcas
dentro del
motor de base de datos. La capa de negocio está para desacoplar la capa de
presentación del gestor de datos. Piensa que a la hora de escalabilidad, la
capa de negocio se pasaría a un servidor de aplicaciones y que las bases de
datos podrían estar distribuídas entre varios servidores. No es muy habitual
que ocurra así, pero hay que tenerlo presente en el diseño.

Eso no quiere decir que no te puedas aprovechar de las vistas
personalizadas de
postgresql. Aprovecha que dispones de un buen gestor de datos para
hacer simplificar la capa de negocio en lo que puedas. Piensa que estás
trabajando
con un modelo teórico y que debes saber adaptarlo a tus necesidades.
Post by Milton inostroza
en las capa GUI no tengo problema ya que tengo pensado utilizar python
+ gtk(primera opción) y PSP(cuando nos pidan cambiar la capa de GUI).
Igual se sale de tu asignatura, pero hay otro modelo de 4 capas en el que el
servidor web ofrecería servicios web y sobre él se colocaría el interface
gráfico. Muchos webtoolkits te permiten hacer esta construcción. El webware,
por ejemplo, incluye algunos "reactores" para GTk y wxPython.
Chema Cortes
2005-09-20 11:43:36 UTC
Permalink
Post by Chema Cortes
Igual se sale de tu asignatura, pero hay otro modelo de 4 capas en el que el
servidor web ofrecería servicios web y sobre él se colocaría el interface
gráfico. Muchos webtoolkits te permiten hacer esta construcción. El webware,
por ejemplo, incluye algunos "reactores" para GTk y wxPython.
En realidad quería decir que era el "Twisted" quien tenía esos reactores:

http://twistedmatrix.com/users/warner/doc-latest/core/howto/choosing-reactor.xhtml
Milton inostroza
2005-09-20 17:03:18 UTC
Permalink
gracias, me sacaste de dudas, salu2!!

--
Milton Inostroza Aguilera

Continúe leyendo en narkive:
Loading...