Servidor de Aplicaciones (COM+)

14/05/2007 - 11:58 por AOG | Informe spam
Estoy desarrollando una aplicación distribuida con VS Net 2005. En la capa
lógica de negocio utilizo la librería Enterprise Services (COM+). El enfoque
que yo he dado a mi proyecto es el siguiente: Clientes (IU), servidor de
aplicaciones (donde se aloja la capa de negocio) y servidor de BBDD
(SQLServer o MySQL), esta división será también física, es decir, cada
cliente tendrá su PC, habrá un equipo servidor de aplicaciones y otro de BBDD.
Estoy en fase de desarrollo y en mi máquina de trabajo tengo el cliente y
servidor de aplicaciones y en otro PC el servidor de BBDD. Mi Problema es el
siguiente: como puedo separar o exponer los componentes de negocio en un
servidor de aplicaciones, es decir, que mi clientes acceda remotamente a la
capa de negocio.
Es fácil a través de Servicios Web (IIS), tener un servidor con IIS y
exponer los componentes COM+ instalados en este servidor. Y creo que es el
sistema más idóneo, pero cuando estamos hablando de cliente que está en otro
sitio geográfico. Es más la pienso utilizar este sistema, pero para este tipo
de clientes. El problema es que la mayoría de clientes estarán en una red
local, y tengo entendido que el rendimiento no está bueno o no se
aprovecharía para este tipo de cliente (red local) mi pregunta es ¿como puede
exponer mi lógica de negocio (centralizado) a los cliente en una red local?
He oído Net remoting, pero no se como funciona y es un poco complejo,
también he oído de exportar los componentes COM+ de mi lógica de negocio en
Proxy de aplicaciones e instalarlos en los clientes para acceder al servidor.
Lo he intentado pero me da errores de acceso, etc. y no se si esto
funcionaría.
¿Qué me aconsejáis?, y si no os importa una pequeña explicación como se
perdía hacer lo que me aconsejáis.

Un saludo.
 

Leer las respuestas

#1 Alberto Poblacion
14/05/2007 - 13:07 | Informe spam
"AOG" wrote in message
news:
[...]
también he oído de exportar los componentes COM+ de mi lógica de negocio
en
Proxy de aplicaciones e instalarlos en los clientes para acceder al
servidor.



Ya que tienes los componentes dentro de COM+, lo que más sencillo te
resultaría es usar el Proxy de COM+, ya que así no tienes que programar nada
mientras que con Remoting o Web Services tendrías que añadir a tu código
toda la lógica necesaria para exponer la funcionalidad del componente.

Para usarlo, una vez que tengas la dll registrada en los servicios de
componentes (en el servidor), te vas a la herramienta de administración de
los Servicios de componentes en el panel de control, pulsas con el botón
derecho sobre el componente, y buscas la opción de Exportar. Sale un Wizard
que te da dos opciones: exportar todo el componente o exportar sólo el
proxy. En tu caso, te interesa exportar el Proxy. Esto genera un archivo de
instalación (.msi). Te lo llevas a los PCs y lo ejecutas, con lo cual te
crea el proxy en los PCs. Este proxy crea en el Registro las entradas
necesarias para que el PC se crea que tiene instalado un componente COM con
la funcionalidad de tu componente COM+, pero en realidad retransmite al
servidor todas las llamadas que se le hagan para que las ejecute el
servidor.
Para usarlo desde .Net, no debes poner en el proyecto cliente una
Referencia de tipo COM, sino una Referencia a la DLL de .Net. Al ejecutarlo,
.Net ya se da cuenta de que estás usando un componente de
EnterpriseServices, y enruta la llamada a través del Proxy en lugar de
ejecutar directamente la DLL a la que pusiste la referencia.

Preguntas similares