Вы находитесь на странице: 1из 12

DIVISIN:

ING. INFORMTICA
ASIGNATURA:
PROGRAMACION EN AMBIENTE C/S
MAESTRA:

ING. Lizbeth Hernndez Oln


ALUMNA:

IZQUIERDO CRUZ PATRICIA DEL CARMEN

TEMA:
COM/DCOM

GRADO:

7 B

COATZACOALCOS, VER. A 23 DE NOVIEMBRE DEL 2015

COMO CREAR CLIENTES Y SERVIDORES COM/DCOM


No es necesario cambiar el cdigo para habilitar una aplicacin cliente para crear
una instancia de un servidor remoto mediante DCOM. La diferencia es la forma en
que empaquetar e implementar al cliente. Adems, hay algunas configuraciones de
seguridad que se debe hacer despus de instalar el cliente y el servidor. Puede
realizar estos ajustes mediante una utilidad denominada DCOMCNFG. En
particular, cuando el servidor provoca eventos, no slo son importantes la
configuracin
del
servidor,
pero
el
cliente
son
demasiado.
Los pasos siguientes demuestran cmo distribuir y configurar una aplicacin clienteservidor simple. Llamar al servidor DCOMDemoEvents_Svr y el cliente
DCOMDemoEvents_Cli. Crear una carpeta independiente para cada uno de ellos y,
con
el
propsito
de
este
artculo,
nombre
de
las
carpetas
c:\DCOMDemoEvents\Server y c:\DCOMDemoEvents\Client.

Crear el servidor
1. Inicie un nuevo proyecto de Visual Basic. En el cuadro de dilogo Nuevo proyecto ,
seleccione EXE de ActiveXy, a continuacin, haga clic en Abrir. Class1 se crea de
forma predeterminada.
2. Agregue el cdigo siguiente al mdulo de Class1:

3.
4. Option Explicit
5.
6. Public Event TimeUpdate(sTime As String)
7.
8. Public Sub CallMeBack()
9.

RaiseEvent TimeUpdate(Time())

10.
11. End Sub
12.
13. Public Function ServerTime() As String
14.
2

15.

' this method was included just in case we need

16.

' to test a method without call back.

17.

ServerTime = Time

18.
19. End Function

20. En el men proyecto , haga clic en la opcin Propiedades del proyecto .


21. Seleccione la ficha General .
22. En el campo Nombre de proyecto , escriba DCOMDemoEvents_Svr.
23. En el campo Descripcin del proyecto , escriba DCOMDemoEvents_Svr - Server.
24. Seleccione la ficha componente y, a continuacin, seleccione la opcin Archivos
de
servidor
remoto .
Nota: esta opcin hace que el compilador de Visual Basic genere los archivos VBR
y TLB que se necesitan para empaquetar las aplicaciones cliente que utilizan este
servidor. Los archivos contienen entradas del registro que deben incluirse en el
equipo cliente.
25. Cierre el cuadro de dilogo Propiedades del proyecto .
26. En el men archivo , seleccione Guardar comoy, a continuacin, guarde este
proyecto en la carpeta c:\DCOMDemoEvents\Server.
27. En el men archivo , seleccione Hacer DCOMDemoEvents_Svr y compile el
servidor.
28. En el men proyecto , seleccione la opcin Propiedades del proyecto y, a
continuacin, seleccione la fichacomponentes . En la ficha componente ,
seleccione Compatibilidad de versin, seleccione la opcinCompatibilidad
binaria y a continuacin, realice el binario de proyecto compatible con el archivo
ejecutable del servidor que acaba de crear (DCOMDemoEvents_Svr.exe). Por lo
que esta opcin, est garantizando todos los GUID se mantienen igual si vuelve a
compilar el servidor.

Crear el cliente
1. En el men archivo , seleccione la opcin Nuevo proyecto , seleccione EXE
estndary haga clic en Aceptar. Se crear Form1 de forma predeterminada.
2. En el men proyecto , haga clic en la opcin Propiedades del proyecto y, a
continuacin, seleccione la fichaGeneral .
3. En el campo Nombre de proyecto , escriba DCOMDemoEvents_Cli.
4. En el campo Descripcin del proyecto , escriba DCOMDemoEvents_Cli proyecto
- clientey, a continuacin, haga clic en Aceptar para cerrar el cuadro de
dilogo Propiedades del proyecto .
5. En el men proyecto , seleccione referenciasy agregue una referencia
a DCOMDemoEvents_Svr - Server.
6. En la seccin General Declarations de Form1, incluya la lnea siguiente:

7.
8. Dim WithEvents MyEventObj As DCOMDemoEvents_Svr.Class1

Esto declara el objeto de servidor con los eventos. Despus de escribir en esta
lnea, debera ver MyEventObj en la lista de objetos para este formulario. La lista de
objetos del formulario se encuentra en el cuadro combinado superior izquierda en
el
mdulo
de
cdigo
del
formulario.

9. En la lista de objetos del formulario, seleccione MyEventObj. El vaco se crea


MyEventObj_TimeUpdate Sub.Escriba en la siguiente lnea de cdigo:

10.
11. MsgBox "Event from Server received. Time=" & sTime

12. Ponga un botn command en Form1 y cambie el ttulo del botn a Ejecutar con
eventos.
13. Coloque el cdigo siguiente en el botn, haga clic en evento:

14.
15.

On Error GoTo err1

16.
17.

Set MyEventObj = CreateObject("DCOMDemoEvents_Svr.Class1")

18.

MyEventObj.CallMeBack

19.

Exit Sub

20.
21. err1:
22.

MsgBox "Error: " & Err.Number & " - " & Err.Description

23. Coloque un segundo botn de comando en Form1 y cambie el ttulo del botn
a Ejecutar sin eventos.
24. Coloque el cdigo siguiente en el botn, haga clic en evento:

25.
26.

Dim MyObj As DCOMDemoEvents_Svr.Class1

27.

28.

On Error GoTo err1

29.
30.

Set MyObj = CreateObject("DCOMDemoEvents_Svr.Class1")

31.

MsgBox "Server time without events: " & MyObj.ServerTime

32.

Exit Sub

33. err1:
34.

MsgBox "Error: " & Err.Number & " - " & Err.Description

35. Una vez haya hecho esto, el cdigo del formulario debe ser similar al siguiente:

36.
37. Option Explicit
38. Dim WithEvents MyEventObj As DCOMDemoEvents_Svr.Class1
39.
40. Private Sub Command1_Click()
41.
42.

On Error GoTo err1

43.
44.

Set MyEventObj = CreateObject("DCOMDemoEvents_Svr.Class1")

45.

MyEventObj.CallMeBack

46.

Exit Sub

47. err1:

48.

MsgBox "Error: " & Err.Number & " - " & Err.Description

49.
50. End Sub
51.
52. Private Sub Command2_Click()
53.

Dim MyObj As DCOMDemoEvents_Svr.Class1

54.
55.

On Error GoTo err1

56.
57.

Set MyObj = CreateObject("DCOMDemoEvents_Svr.Class1")

58.

MsgBox "Server time without events: " & MyObj.ServerTime

59.

Exit Sub

60. err1:
61.

MsgBox "Error: " & Err.Number & " - " & Err.Description

62.
63. End Sub
64.
65. Private Sub MyEventObj_TimeUpdate(sTime As String)
66.

MsgBox "Event from Server received. Time=" & sTime

67.
68. End Sub

69. En el men archivo , seleccione Guardar comoy, a continuacin, guarde el


proyecto en la carpeta del cliente, c:\DCOMDemoEvents\Client.
70. Presione el botn F5 para ejecutar al cliente en el IDE y probarlo. Tenga en cuenta
que esta prueba es local para el equipo de desarrollo en este momento. Se est
ejecutando el servidor local de archivo EXE de ActiveX.
71. En el men archivo , seleccione Hacer DCOMDemoEvents_Cli para compilar al
cliente y, a continuacin, cierre Visual Basic.
Empaquetar el servidor
Utilice el Asistente de empaquetado y distribucin para empaquetar como de
costumbre el servidor para su distribucin. El servidor se crea una instancia de un
cliente remoto mediante DCOM. Al crear el paquete para el servidor, aparece un
cuadro de dilogo preguntando si este servidor se utilizar como servidor de
automatizacin remota y si desea incluir archivos de compatibilidad para este
propsito. Haga clic en NO slo porque DCOM no es la automatizacin
remota. Automatizacin remota es una tecnologa antigua que reemplaz DCOM.
Empaquetar el cliente
Al empaquetar el cliente, hay algunos pasos especficos que deben realizarse,
teniendo en cuenta que el servidor no se ejecuta en el mismo equipo que el
cliente. Los cambios realizados al paquete del cliente garantizan que se instala la
biblioteca de tipos (archivo .tlb) y algunas entradas del registro adicionales se
incluyen en lugar del archivo ejecutable del servidor en el equipo cliente. No es
necesario el ejecutable del servidor instalado en el equipo del cliente porque no va
a
ejecutarse
all.
Empaquetar al cliente siguiendo estos pasos:
1. Iniciar el Asistente de empaquetado y distribucin y, a continuacin, seleccione el
proyecto del cliente. Haga clic en el botn de paquete .
2. En el cuadro de dilogo Tipo de paquete , seleccione el Paquete de instalacin
estndary, a continuacin, haga clic en siguiente.
3. En el cuadro de dilogo Carpeta de paquete , seleccione la carpeta donde est
almacenado el paquete y, a continuacin, haga clic en siguiente. En este caso, es
c:\DCOMDemoEvents\Client\Package.
Nota: puede que un cuadro de dilogo que indica que no hay ninguna informacin
de dependencia para el servidor. Haga clic en Aceptar porque el servidor no tiene
ninguna
dependencia.
Ahora

debe

ser

en

el

cuadro

de

dilogo

de Archivos

incluidos .
8

Desactive el archivo ejecutable del servidor, DCOMDemoEvents_Svr.exe. No


desea distribuir la aplicacin ejecutable del servidor.
4. Haga clic en el botn Agregar y cambiar el cuadro combinado de Tipo de
archivo a Archivos de servidor remoto (*.vbr).
5. Seleccione la carpeta donde tiene el proyecto del servidor, en este caso,
c:\DCOMDemoEvents\Server y, a continuacin, seleccione el archivo VBR
relacionado DCOMDemoEvents_Svr.VBR.
6. Haga clic en Abrir y la cierra el cuadro de dilogo Agregar archivo . Nota que se
incluyen
dos
archivos,
DCOMDemoEvents_Svr.VBR
y
DCOMDemoEvents_Svr.TLB. Haga clic en siguiente.
7. En el cuadro de dilogo Servidores remotos , defina el nombre del equipo
(direccin
de
red)
donde
se
ejecutar
el
servidor.
Normalmente mantiene este campo en blanco porque puede que no sepa de
antemano donde est instalado el servidor. Si mantiene en blanco, se le pedir para
l al instalar el cliente. Para este ejemplo, mantngalo en blanco.
Haga clic en siguiente para continuar. Ahora puede continuar con los
procedimientos estndar para el Asistente de empaquetado y distribucin. En
nuestro ejemplo, haga clic en siguiente para todos los dems cuadros de dilogo.
Instalar el servidor
Instale al servidor en el equipo en el que desea ejecutarlo, utilizando el paquete de
distribucin que cre anteriormente.Si desea utilizar el equipo de desarrollo para
ejecutar el servidor, no necesita instalarlo porque Visual Basic realiza el registro
automticamente cuando compila el servidor.
Instalar el cliente
Instale al cliente en el equipo en el que desea ejecutarlo, utilizando el paquete de
distribucin que cre anteriormente.Dado que este cliente utiliza un servidor DCOM
y dej la ubicacin real del servidor en blanco cuando cre el paquete de
distribucin, ahora debe proporcionar esta ubicacin. Cuando el programa de
instalacin le pida esta ubicacin, proporcione el nombre del equipo donde instal
el servidor.

Establecer la seguridad del servidor


Si instal al servidor en un equipo con Microsoft Windows NT o Microsoft Windows
2000, necesitar configurar su seguridad. Hacerlo mediante DCOMCNFG, como se
muestra en los pasos siguientes, que se suponen que los equipos cliente y servidor
forman parte de un dominio, y el usuario ha iniciado sesin en el equipo cliente ha
iniciado sesin como un usuario de dominio. La configuracin sugerida es
simplemente una posible configuracin. Son muy genricas y proporciona un
acceso extenso al servidor. Recuerde que esto es slo un ejemplo. Al implementar
sus aplicaciones reales y la seguridad es una preocupacin para su entorno, debera
seleccionar opciones ms restrictivas. Adems, si el equipo que est utilizando para
probar este servidor de ejemplo se utiliza para ejecutar otros servidores, tome nota
de la configuracin actual antes de realizar los siguientes cambios y volver a la
configuracin original en cuanto termine con las pruebas.
1. En el equipo servidor, haga clic en el botn Inicio y, a continuacin,
seleccione Ejecutar. En el cuadro de dilogoEjecutar , escriba DCOMCNFGy, a
continuacin, haga clic en Aceptar. Debe tener derechos de administrador para
poder ejecutar DCOMCNFG.
2. Seleccione la ficha Propiedades predeterminadas y compruebe que Habilitar
COM distribuido en este equipoest activada.
3. Establecer el nivel de autenticacin predeterminado para Conectary establecer el
nivel de representacin predeterminado para identificar.
4. Seleccione la ficha Seguridad predeterminada .
5. Haga clic en el botn Modificar predeterminados en el panel Permisos de
acceso predeterminados .
6. Compruebe que todos y sistema estn incluidos en la lista con derechos Permitir
acceso. Si no lo estn, puede utilizar el botn Agregar para agregarlos a la
lista. Cuando la lista est completa, haga clic en Aceptar .
7. Haga clic en el botn Modificar predeterminados en el panel Permisos de inicio
predeterminados .
8. Compruebe que todos y sistema estn incluidos en la lista con permisos Permitir
inicio. Si no lo estn, utilice el botn Agregar para agregarlos a la lista. Cuando la
lista est completa, haga clic en Aceptar .
9. Seleccione la ficha aplicaciones , resalte su servidor, DCOMDemo_Svr.Class1 y,
a continuacin, haga clic en el botn Propiedades .
10. Seleccione la ficha General , establezca el nivel de autenticacin predeterminado
dey, a continuacin, seleccione la ficha ubicacin . La nica opcin activada
debe ejecutar la aplicacin en este equipo.
11. Seleccione la ficha seguridad y compruebe que estn activadas las opciones Usar
permisos de inicio predeterminado y utilizar permisos de acceso
predeterminados .
12. Seleccione la ficha identidad , seleccione el usuario que inicia la opcin, haga clic
en Aceptar para cerrar el cuadro de dilogo Propiedades del servidor y, a
10

continuacin, haga clic en Aceptar para cerrar DCOMCNFG.Como puede ver, el


servidor de prueba utiliza toda la configuracin predeterminada. Al implementar sus
propios servidores, debera definir valores concretos para su aplicacin. Toda la
configuracin personalizada tiene prioridad sobre los valores predeterminados.
Ahora est listo para probar el servidor. En el equipo cliente, inicie al cliente y, a
continuacin, haga clic en el botn Ejecutar . Debera ver un cuadro de mensaje
que indica la hora del servidor. Si no puede probar correctamente este ejemplo, vea
el artculo para solucionar problemas, Q269330, enumerado en la seccin
"Referencias".

Establecer la seguridad del cliente


Porque el servidor DCOM expone eventos que utiliza la aplicacin cliente, tambin
debe establecer permisos de DCOM en el equipo cliente para permitir que el
servidor realizar devoluciones de llamadas al cliente. Si el servidor DCOM no
expone eventos o si la aplicacin cliente no me consumen eventos, no tiene que
realizar este paso.
1. En el equipo cliente, haga clic en Inicioy, a continuacin, haga clic para
seleccionar Ejecutar.
2. En el cuadro de dilogo Ejecutar , escriba DCOMCNFGy, a continuacin, haga clic
en Aceptar.
Debe tener derechos de administrador para ejecutar DCOMCNFG.
3. Haga clic en la ficha Propiedades predeterminadas y, a continuacin, compruebe
que est seleccionadoHabilitar COM distribuido en este equipo .
4. Establecer el Nivel de autenticacin predeterminado para Conectary, a
continuacin,
establezca
el Nivel
de
representacin
predeterminado para identificar.
5. Haga clic en la ficha Seguridad predeterminada .
6. Haga clic en el botn Modificar predeterminados en el panel Permisos de
acceso predeterminados .

11

7. Compruebe que todos y sistema estn incluidos en la lista con Derechos de


acceso permitir. Si no estn incluidos en la lista, utilice el botn Agregar para
agregarlos a la lista. Cuando la lista est completa, haga clic enAceptar .

12

Вам также может понравиться