Download - Arquitectura DNA
![Page 1: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/1.jpg)
Arquitectura DNA
Componentes ActiveX
Base de Datos
![Page 2: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/2.jpg)
Arquitectura DNA
DNA (Distributed InterNet Applications Architecture) de Microsoft
Diseño de aplicaciones de 3 capas.– Servicios de Presentación– Servicios de Lógica de Negocios– Servicios de Datos
![Page 3: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/3.jpg)
Aplicación de 3 Capas en Web
PresentaciónPresentación Lógica de Lógica de NegocioNegocio
Servicios de Servicios de DatosDatos
BrowserBrowserHTMLHTML
Inte
rne
t In
form
ati
on
Inte
rne
t In
form
ati
on
Se
rve
r y
AS
PS
erv
er
y A
SPDCOMDCOM SQL ServerSQL Server
Compo
nent
es
Compo
nent
es
CO
M C
OM
HTTPHTTP
Equipo NT 1Equipo NT 1 Equipo NT 2Equipo NT 2
![Page 4: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/4.jpg)
Lógica de Negocios
Los componentes de la lógica de negocios con soporte COM+ pueden desarrollarse como DLL’s tipo ActiveX en :– Visual Basic 6.0 – Visual C++ 6.0 (por motivos de
rendimiento)
![Page 5: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/5.jpg)
Cómo crear una DLL En Visual Basic 6.0 crear un nuevo
proyecto ActiveX DLL
![Page 6: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/6.jpg)
...Cómo crear una DLL
En Project/References especificar las librerías a utilizar, por ejemplo:
![Page 7: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/7.jpg)
...Cómo crear una DLL Agregar las clases necesarias
– Procedimientos– Funciones
Agregar Módulos .BAS– Rutinas Generales
Grabar el proyecto– proyecto.vbp (definición del proyecto)– archivos.cls (cada una de las clases)– archivos.bas cada uno de los módulos
![Page 8: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/8.jpg)
...Cómo crear una DLL Para validar si no hubo problemas con la ejecución
de una DLL se recomienda que en cada función se tengan las siguientes líneas:
Dim oContext As ObjectContextOn Error GoTo ManejoErrorSet oContext = GetObjectContext........ ‘ código If Not oContext Is Nothing Then ' Program is running under COM+
GetObjectContext.SetComplete ' Alert MTS that operation was successful
End IFSet adoCmd = Nothing ‘si hay comandos de base de datos
Exit Function
![Page 9: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/9.jpg)
...Cómo crear una DLL
ManejoError:
If Not oContext Is Nothing Then ' Program is running under COM+
GetObjectContext.SetAbort ' Alert MTS that operation failed
nombre_función = False ‘si es que es función booleana
Set adoCmd = Nothing ‘si hay comandos de base de datos
End If
Err.Raise Err.Number, Err.Source & " " & ”Clase.Función", Err.Description
End Function
![Page 10: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/10.jpg)
...Cómo crear una DLL
Crear la DLL– En File / Make proyecto.dll
• Asignar nombre
En el Component Services– Crear nueva aplicación (Empty or prebuilt)– Registrar la DLL (drag and drop)
![Page 11: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/11.jpg)
Ejemplo
Suponer que se tiene una DLL llamada Convierte.DLL y esa DLL tiene una clase llamada CNumeroLetra.
La clase tiene varias funciones y una de ellas es la siguiente:Public Function NUMERO_A_LETRA(ByVal numero As Variant,
ByVal MEDIDASINGULAR As variant, ByVal MEDIDAPLURAL As variant) As String
......
End Function
![Page 12: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/12.jpg)
...Ejemplo En una ASP, cuando se quiera utilizar la
función anterior es necesario hacer lo siguiente:<%
set objLetra = Server.CreateObject(”Convierte.CnumeroLetra")letra = objLetra.NUMERO_A_LETRA(request("cantidad"),"PESO","PESOS")%>
![Page 13: Arquitectura DNA](https://reader036.vdocuments.pub/reader036/viewer/2022082611/56812a45550346895d8d78ad/html5/thumbnails/13.jpg)
Base de Datos
Ver ejemplo