10
INSTITUTO TECNOLÓGICO SUPERIOR DE APATZINGÁN Geovanni Hernández Carranza ALUMNO: Geovanni Hernández Carranza. MATERIA: Programación en Ambiente Cliente- Servido FECHA: 26/ 11 / 2014 Docente: Hugo Alberto Torres Báez UNIDAD 4 COM/DCOM (Component Object Model/Distribuited COM) Km. 3.5 Carretera Apatzingán-Aguililla, Col. Tenencia de Chandio C.P. 60710, A.P. 49, Apatzingán, Michoacán, Tel./Fax (453)-534-25-13 y (453)-534-03-71 WEB http://www.itsapatzingan.edu.mx , Email: [email protected]

Formato Hoja Membretada Oficial 2013

Embed Size (px)

DESCRIPTION

hoja del tecnologico

Citation preview

Geovanni Hernndez Carranza

INSTITUTO TECNOLGICO SUPERIOR DE APATZINGN

ALUMNO: Geovanni Hernndez Carranza.

MATERIA: Programacin en Ambiente Cliente-Servido

FECHA: 26/ 11 / 2014

Docente: Hugo Alberto Torres Bez

UNIDAD 4COM/DCOM (Component Object Model/Distribuited COM)

UNIDAD 4COM/DCOM (Component Object Model/Distribuited COM 4.1 CREACION DE SERVIDORES COMCOM es el acrnimo de Component Object Model (Modelo de Objeto Componente) con lo cual se pueden crear objetos desde un lenguaje y poder utilizarlos en otro distinto en que fueron creados.Entonces, en este ejemplo se muestra como crear un objeto COM desde Python para poder utilizarlo desde VBA/Excel. EJEMPLO DE CREACION DE UN SERVIDOR COM EN PYTHON:Creamos un archivo llamado miservidorcom.py y escribimos en el: import sysimport pythoncomclass interprete_python:_public_methods_ = ["Evaluar"] #metodos a exportar por el servidor COM_public_attrs_ = ["Version"] #atributos a exportar por el servidor COM_readonly_attrs_ = _public_attrs_ #atributos de solo lectura_reg_progid_ = "interprete_python" #nombre para crear el objeto COM#asignamos el id de clase por medio de la funcion CreateGuid_reg_clsid_ = pythoncom.CreateGuid()#constructor, seteo de atributosdef __init__(self):self.Version = sys.version#evalua una expresion python y devuelve su resultadodef Evaluar(self, expresion):return eval(expresion)#Codigo para registrar el script en caso de ser ejecutado por linea de

comando por python.exeif __name__ == "__main__":

import win32com.server.registerprint sys.argvwin32com.server.register.UseCommandLine(interprete_python)raw_input("\nServidor COM instalado!")Antes de poder utilizar el objeto COM en VBA/Excel, hay que registrarlo con la siguiente instruccion desde la linea de comando:

python miservidorcom.py --registerDespus de haber registrado el servidor COM, ya podemos invocarlo desde VBA/Excel de la siguiente forma:

Option ExplicitSub Main()Dim Python As ObjectDim Version As StringDim Expresion As StringDim Resultado As String' Creo el objeto Python exportado por el Servidor COM:Set Python = CreateObject("interprete_python")' Obtengo un atributo del objeto python:

Version = Python.VersionMsgBox Version, , "Versin de Python:"DoExpresion = InputBox("Ingrese una expresin python para ser evaluada", "Ejemplo COM", "1+2")If Expresion = "" Then Exit Sub' Llamo al mtodo del objeto python:Resultado = Python.Evaluar(Expresion)MsgBox Resultado, , "Resultado:"LoopEnd Sub

4.2 Creacin de un Cliente En COM

4.3 AUTOMATIZACION Component Object Model (y derivados) se refiere a la capacidad de poder crear componentes COM que tengan la capacidad de ser usados sin necesidad de conocer los nombres y parmetros de los mtodos, de antemano. Esto sirve para que lenguajes como Visual Basic o los de scripting (VBScript, JScript) puedan invocar estos componentes mediante un valor numrico (algo as como "mtodo uno", "mtodo dos", etc). Esto se logra mediante los archivos idl/odl y la implementacin de la interfaz IDispatch.

4.4 ACTIVE TEMPLATE LIBRARYActive (ATL) Template Library es un conjunto de clases de C++ basadas en plantillas que permiten crear objetos pequeos, rpidos (COM) del modelo de objetos componentes.Tiene compatibilidad especial para caractersticas COM clave, incluidas las implementaciones comunes, interfaces duales, interfaces COM estndar de enumeradores, puntos de conexin, rasga interfaces, y controles ActiveX.Si tiene muchos programacin ATL, desear obtener ms informacin sobre atributos, una caracterstica nueva de Visual C++.NET que est diseado para simplificar la programacin COM.Para obtener ms informacin, veaProgramacin con atributos.

4.5 DCOM (DISTRIBUITED COM) Distributed Component Object Model(DCOM), en espaolModelo de Objetos de Componentes Distribuidos, es una tecnologapropietariadeMicrosoftpara desarrollarcomponentes softwaredistribuidos sobre varios ordenadores y que se comunican entre s. Extiende el modeloCOMdeMicrosofty proporciona el sustrato de comunicacin entre la infraestructura del servidor de aplicaciones COM+ deMicrosoft. Ha sido abandonada en favor del framework.NET.12La adicin de la "D" a COM fue debido al uso extensivo deDCE/RPC, o ms especficamente la versin mejorada de Microsoft, conocida comoMSRPC.En trminos de las extensiones que aade a COM, DCOM tena que resolver los problemas de Aplanamiento- Serializar y deserializar los argumentos y valores de retorno de las llamadas a los mtodos "sobre el cable". Recoleccin de basuradistribuida, asegurndose que las referencias mantenidas por clientes de las interfaces sean liberadas cuando, por ejemplo, el proceso cliente ha cado o la conexin de red se pierde.Uno de los factores clave para resolver estos problemas es el uso de DCE/RPC como el mecanismoRPCsubyacente bajo DCOM. DCE/RPC define reglas estrictas en cuanto al aplanamiento y a quin es responsable de liberar la memoria.DCOM fue uno de los mayores competidores deCORBA. Los defensores de ambas tecnologas sostenan que algn da seran el modelo de cdigo y servicios sobreInternet. Sin embargo, las dificultades que supona conseguir que estas tecnologas funcionasen a travs decortafuegosy sobre mquinas inseguras o desconocidas, signific que las peticiones HTTP normales, combinadas con losnavegadores webles ganasen la partida. Microsoft, en su momento intent y fracas anticiparse a esto aadiendo un transporte extra HTTP aDCE/RPCdenominado "ncacn_http" (Connection-based, over HTTP).

Certificado 42274Km. 3.5 Carretera Apatzingn-Aguililla, Col. Tenencia de Chandio C.P. 60710, A.P. 49, Apatzingn, Michoacn, Tel./Fax (453)-534-25-13 y (453)-534-03-71 WEB http://www.itsapatzingan.edu.mx, Email: [email protected]