Sobre n-Capas

09/04/2004 - 20:16 por Alex Salinas | Informe spam
Hola a todos... alguien me podria proporcionar links que hablen sobre el
desarrollo de n-capas y como hacerlo en .NET???

Gracias por la información... y si alguien tiene experiencia en ello.. me
gustaría que me ampliara el panorama al respecto.

Preguntas similare

Leer las respuestas

#1 Cesar Ochica
10/04/2004 - 15:21 | Informe spam
Revisa el grupo microsoft.public.dotnet.vb alli encontraras unas discuciones
respecto al tema, mientras tanto revisa este link:
www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art140.asp

Espero te sirva.

Saludos

Cesar OChica
Bogotá - Colombia
Respuesta Responder a este mensaje
#2 Eduardo Sobrino
10/04/2004 - 15:29 | Informe spam
2004-04-10



En la literatura en general vas a encontrar un gran esoterismo (quiero decir
complejidad innecesaria) sobre el tema de desarrollo en capas. Por otro
lado no hay actividad más natural que el desarrollo en capas ya que al
hacerlo estamos reconociendo que existe una necesidad de separar un código
de otros para agrupar una funcionalidad con características similares o que
aplican a un contexto en particular y para reutilizar el código. Por
ejemplo, para el manejo de una cuenta es mejor tener una clase que se
encargue de crear una cuenta nueva, actualizar los datos, remover la cuenta,
validar los datos de la cuenta, etc. El tener una capa de componentes /
clases para el manejo de datos es una práctica común.



Luego que has separado un código de otros y lo has convertido en una clase
entonces puedes reutilizarlo con facilidad. En realizad el haberlo separado
no lo convierte en un desarrollo en capas. Cuando separas el código y lo
conviertes en una librería (en un "dll") y lo utilizas en cualquier
aplicación el contexto de ejecución seria uno local al domino de la
aplicación ("AppDomain" en .Net) o "thread" en el caso de código nativo. Lo
segundo que queda por decidir es en que contexto se ejecutará el código de
esta librería. Lo que se busca con este segundo esfuerzo es separar la
ejecución de la librería del proceso que instancia / utiliza una de sus
clases / tipos. Es aquí que tienes varias opciones en .Net.



Sobre Desarrollo en Capas en .Net



Puedes concluir con rapidez que lo primero que hay que hacer es un "dll" que
exponga una funcionalidad que quieres compartir, y segundo decidir en donde
vas ha ejecutar dicho código. Algunas de las opciones que tienes en .Net
son:



- Exponer la funcionalidad creando un servicio/servidor para servir
a clientes remotos utilizando "TCP/IP", "UDP" y/o otros protocolos de
comunicación. (Este es el más complicado de implementar).

- Exponer las clases / tipos en un WebService (similar aunque no
igual al anterior utilizando HTTP como protocolo de comunicación). (Este
IPC ("Interprocess Communication") es el mas sencillo de implementar)

- Exponer las clases / tipos en un componente servido
("ServiceComponent" utilizando "EnterpriceServices" [COM+]) (Este IP es el
mas sencillo de implementar [tan sencillo como los WebServices])

- Exponer las clases / tipos y funcionalidad utilizando ".Net
Remoting". (Este es relativamente sencillo de implementar aunque necesitas
escribir algún código para que el cliente se "pegue" al servicio)



En el futuro cercano bajo el próximo "release" de "Visual Studio" tendrás
más opciones. Por ahora los métodos de IPC en .Net son los descritos
arriba.



Espero que lo anterior inste a otros a abarcar y desarrollar más el tema.
Para mas información te recomiendo el MSDN que viene con "Visual Studio".
Busca bajo "WebServices", "EnterpirceServices", y ".Net Remoting". En el
Web busca en http://msdn.microsoft.com.



Eduardo Sobrino, MS MVP









"Alex Salinas" wrote in message
news:
Hola a todos... alguien me podria proporcionar links que hablen sobre el
desarrollo de n-capas y como hacerlo en .NET???

Gracias por la información... y si alguien tiene experiencia en ello.. me
gustaría que me ampliara el panorama al respecto.


Respuesta Responder a este mensaje
#3 Alex Salinas
12/04/2004 - 16:34 | Informe spam
Gracias por la Info... me interesó mucho y buscaré en los links que me han
dado...

ya empeze a leer sobre las opciones que hay en .NET y haciendo un analisis
de cada una de ellas, aun no decido cual tiene mayor equilibrio o se acopla
a lo que yo quiero y la plataforma tecnologica conla que cuento... luego
les explico mas a fondo este punto para que me ayuden a elegir-.. de
mientras voy a leer todo lo referente al tema...

Gracias de nuevo y saludos...


"Eduardo Sobrino" escribió en el mensaje
news:
2004-04-10



En la literatura en general vas a encontrar un gran esoterismo (quiero


decir
complejidad innecesaria) sobre el tema de desarrollo en capas. Por otro
lado no hay actividad más natural que el desarrollo en capas ya que al
hacerlo estamos reconociendo que existe una necesidad de separar un código
de otros para agrupar una funcionalidad con características similares o


que
aplican a un contexto en particular y para reutilizar el código. Por
ejemplo, para el manejo de una cuenta es mejor tener una clase que se
encargue de crear una cuenta nueva, actualizar los datos, remover la


cuenta,
validar los datos de la cuenta, etc. El tener una capa de componentes /
clases para el manejo de datos es una práctica común.



Luego que has separado un código de otros y lo has convertido en una clase
entonces puedes reutilizarlo con facilidad. En realizad el haberlo


separado
no lo convierte en un desarrollo en capas. Cuando separas el código y lo
conviertes en una librería (en un "dll") y lo utilizas en cualquier
aplicación el contexto de ejecución seria uno local al domino de la
aplicación ("AppDomain" en .Net) o "thread" en el caso de código nativo.


Lo
segundo que queda por decidir es en que contexto se ejecutará el código de
esta librería. Lo que se busca con este segundo esfuerzo es separar la
ejecución de la librería del proceso que instancia / utiliza una de sus
clases / tipos. Es aquí que tienes varias opciones en .Net.



Sobre Desarrollo en Capas en .Net



Puedes concluir con rapidez que lo primero que hay que hacer es un "dll"


que
exponga una funcionalidad que quieres compartir, y segundo decidir en


donde
vas ha ejecutar dicho código. Algunas de las opciones que tienes en .Net
son:



- Exponer la funcionalidad creando un servicio/servidor para


servir
a clientes remotos utilizando "TCP/IP", "UDP" y/o otros protocolos de
comunicación. (Este es el más complicado de implementar).

- Exponer las clases / tipos en un WebService (similar aunque no
igual al anterior utilizando HTTP como protocolo de comunicación). (Este
IPC ("Interprocess Communication") es el mas sencillo de implementar)

- Exponer las clases / tipos en un componente servido
("ServiceComponent" utilizando "EnterpriceServices" [COM+]) (Este IP es


el
mas sencillo de implementar [tan sencillo como los WebServices])

- Exponer las clases / tipos y funcionalidad utilizando ".Net
Remoting". (Este es relativamente sencillo de implementar aunque


necesitas
escribir algún código para que el cliente se "pegue" al servicio)



En el futuro cercano bajo el próximo "release" de "Visual Studio" tendrás
más opciones. Por ahora los métodos de IPC en .Net son los descritos
arriba.



Espero que lo anterior inste a otros a abarcar y desarrollar más el tema.
Para mas información te recomiendo el MSDN que viene con "Visual Studio".
Busca bajo "WebServices", "EnterpirceServices", y ".Net Remoting". En el
Web busca en http://msdn.microsoft.com.



Eduardo Sobrino, MS MVP









"Alex Salinas" wrote in message
news:
> Hola a todos... alguien me podria proporcionar links que hablen sobre el
> desarrollo de n-capas y como hacerlo en .NET???
>
> Gracias por la información... y si alguien tiene experiencia en ello..


me
> gustaría que me ampliara el panorama al respecto.
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida