Arquitectura DNA
Componentes ActiveX
Base de Datos
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
Aplicación de 3 Capas en Web
Browser
HTML
HTTP
Presentación
Internet Information
Server y ASP
Equipo NT 1
Equipo NT 2
DCOM
Lógica de Negocio
SQL Server
Servicios de
Datos
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)
Cómo crear una DLL

En Visual Basic 6.0 crear un nuevo
proyecto ActiveX DLL
...Cómo crear una DLL

En Project/References especificar las
librerías a utilizar, por ejemplo:
...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
...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 ObjectContext
On Error GoTo ManejoError
Set oContext = GetObjectContext
........ ‘ código
If Not oContext Is Nothing Then ' Program is running under COM+
GetObjectContext.SetComplete ' Alert MTS that operation was successful
End IF
Set adoCmd = Nothing ‘si hay comandos de base de datos
Exit Function
...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
...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)
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
...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","PES
OS")
%>
Base de Datos

Ver ejemplo
Descargar

Arquitectura DNA