1.1.4 GUID identificador global unico.
1.2.1 OLE (Object Linking And Embedding)
2 Tecnologías de Acceso a Base de Datos.
2.2 Métodos de Acceso a
datos.
2.3 Escoger un método de acceso
a bases de datos.
3 Concepción del sistema operativo.
3.1 Sistemas operativos
Windows.
3.2.1 Como Windows ejecuta el código.
3.2.4 Ejecutando aplicaciones.
3.2.6 Win32 Application Programming
Interface (API 32).
3.3 Comunicaciones de
procesos..
3.3.1 Desarrollando aplicaciones de
red.
4.1 Plataformas de
desarrollo.
4.1.1 Microsoft Visual Studio.
4.1.2 Escoger una herramienta de
desarrollo.
5.1 Esquema del marco de
trabajo.
5.2 El marco de trabajo de
Microsoft.
5.2.2 Modelos de Microsoft Solutions
FrameWork.
5.3 Manejando el código
fuente con Visual SourceSafe.
5.3.1 Características de Visual
SourceSafe.
6.1.2 Escoger un protocolo de red
para la aplicación.
6.3 Internet Information
Server (IIS).
6.3.2 Usando FrontPage para manejar un
sitio WEB.
6.4.1 Especificaciones de controles
ActiveX.
6.4.2 Ventajas de los controles
ActiveX.
6.4.3 Controles ActiveX en Microsoft
Office.
6.4.4 Controles ActiveX en Internet.
6.5.1 Scripting de servidor y
cliente.
6.5.2 Implementar scripts cliente.
Conocimientos:
|
q Explicar los beneficios de COM (Component Object Model) como modelo para desarrollar software. q Discutir el uso de tecnologías Active X y OLE como implementaciones de COM. q Comparar arquitecturas basándose en el rendimiento y facilidad de mantenimiento. |
COM es un estándar binario que define como deben ser diseñados y construidos los objetos que cumplan su especificación. Provee la estructura necesaria para comunicarse con otras aplicaciones o componentes. Ya que COM es un estándar binario los objetos realizados mediante su especificación pueden comunicarse con otros objetos independientemente del lenguaje de desarrollo o del sistema operativo en el que se encuentren.
Una aplicación cliente no debe preocuparse por el lenguaje de desarrollo del objeto COM que desea utilizar, solo debe de comunicarse con el a través de un interface estándar. Este es uno de los motivos por los que la tecnología COM esta revolucionando el desarrollo de software, ya que no requiere cambios en el hardware, lenguajes de programación o arquitectura de redes (este último caso afecta a DCOM).
COM activa la interpelación entre aplicaciones que han sido escritas en diferentes lenguajes. Y que corran en diferentes sistemas operativos. Todos los objetos soportan un interface estándar de manera que solo deban preocuparse por llamar o exponer sus interfaces.
Los objetos COM son componentes de software reutilizables que están especialmente diseñados para ser usados por un número indeterminado de aplicaciones cliente. Al contrario de COM los objetos creados en lenguajes orientados a Objeto (como C++) pueden ser reutilizados solo por aplicaciones escritas en el mismo lenguaje. La tecnología puede encapsular los objetos OOP dentro de DLL, ActiveX(OCX.), o ejecutables para permitir el uso a diferentes aplicaciones escritas en lenguajes diferentes.
Debemos tener en cuenta que tanto OLE como ActiveX usan COM en su implementación.
COM no especifica como los componentes están estructurados, solo especifica como interactúan entre ellos. El uso de un lenguaje de desarrollo u otro solo altera la arquitectura interna del objeto. COM hace posible que a través de unos interfaces independientes del lenguaje los objetos se comuniquen entre si.
Un objeto COM provee servicios a clientes. Un cliente no es necesariamente una aplicación, puede ser una pequeña porción de código, que accede a los servicios del objeto. Estos servicios son accesibles a través de un interface COM que puede ser llamado por los clientes.
Existen dos tipos principales de objetos, in-process y out-of-process. El primero de ellos esta implementado como una DLL y siempre corre en la máquina local. El segundo está implementado como un ejecutable y puede residir en una máquina remota.
Como ya se ha dicho los objetos COM exponen su funcionalidad a través de un interface. El interface del objeto COM provee un puntero, o posición de memoria, a la función que el cliente quiere llamar. Esta interacción entre el cliente y el servidor se conoce como contrato. Los servicios del objeto COM se conocen como métodos o funciones miembro.
El contrato define los siguientes puntos:
q Se usa un identificador único para distinguir cada mensaje.
q La localización de la función en el interface.
q El propósito de la función.
q Los argumentos y valores de retorno de cada función.
q
Los siguientes puntos no están definidos en el contrato:
q Como se debe implementar la función.
q El código de la función.
q El lenguaje usado para crear el objeto.
q La plataforma en la que el objeto debe correr.
Un interface no es un objeto, ni una clase de objeto. Los interfaces son clases abstractas que se deben diseñar para que puedan ser rehusados en una variedad de contextos.
Un objeto COM puede tener más de un interface, cada uno de ellos puede proveer de una funcionalidad diferente para diferentes clientes.. Todos los objetos COM soportan un interface estándar llamado IUnknow. El interface IUnknow dispone de tres métodos: AddRef, Release y QueryInterface.
q AddRef
Este método provee la actual creación de objetos COM. Cada instancia de un objeto COM usa el método para incrementar el contador de objetos. En Visual Basic el método AddRef se llama cuando se usa la función CreateObject.
q Release
El método se usa cuando se destruye un objeto para decrementar el contador de objetos instanciados. En Visual Basic se llama cuando se iguala la variable que representa el objeto a Nothing.
q QueryInterface
Esté método enumera los interfaces que el objeto soporta. Visual Basic provee esta capacidad a través de la orden Set.
Es un interface que se usa para no acceder directamente a loa interfaces COM, es decir provee de una manera de llamar a otro interface. Parecido a la función GetProcAdress para llamar a la función de una Dll. Es decir, se llama a un interface COM en dinámico. Soporta los siguientes métodos. El uso de este interface se conoce como late-binding.
q GetIDsOfNames
Busca en el interface indicado el nombre de una método, si lo encuentra facilita un puntero que podemos usar con una llamada a Invoke.
q GetTypeInfo
Devuelve información de tipo para un objeto.
q GetTypeInfoCount
Devuelve el número de interfaces que un objeto provee.
q Invoke
Provee acceso a la propiedades y métodos expuestos por un objeto.
En run-time, los clientes utilizan una llamada a Idispatch.GetIDsOfNames para consultar si el método o propiedad al que quieren llamar existe. Si la propiedad o el método existen en el objeto COM se devuelve el correspondiente ID. El ID puede ser usado para llamar al método o propiedad mediante el Idispatch.Invoke. Las funciones GetTypeInfoCount y GetTypeInfo obtienen información del componente acerca de interfaces métodos y propiedades.
Automation permite a un cliente ActiveX llamar a un método o propiedad directamente. Esta característica, llamada virtual table (VTBL) binding, no hace uso del interface Idispatch. El uso de la VTBL se conoce como early binding.. Esta técnica requiere que una librería provea información acerca de los tipos del objeto. El cliente obtiene información desde la librería de tipos en tiempo de compilación y entonces puede llamar a los métodos y funciones directamente. Esto permite a Visual Basic realizar chequeo de la sintaxis en tiempo de compilación. En run-time, este tipo de enlace es más rápido, ya que la llamada no debe pasar por el interface Idispatch
Los clientes usan punteros a instancias de interfaces. Un puntero a interface apunta a un array de punteros a funciones conocido como VTBL. Las funciones a las que apunta son conocidas como métodos o funciones miembro de interface. Por convención los nombres de los interfaces empiezan por “I”.
En Visual Basic usar una técnica u otra es muy parecido, pero puede representar diferencias de rendimiento enormes.
Código de Visual Basic que usa Late binding:
Dim
miObjetoMio As Object
Set
miObjetoMio = CreateObject(“ElObjetoCOM,ElInterface”)
MiObjetoMio.ElMetodoDelInterface()
Código de Visual Basic que usa early binding
Dim miObjetoMio As Clase.Objeto
Set miObjetoMio = CreateObject(“ElObjetoCOM.ElInterface”)
MiObjetoMio.ElMetodoDelInterface()
En la VTBL encontramos la lista de direcciones de todos los métodos y propiedades que son miembros de un objeto, incluyendo las funciones miembro de los interfaces que soporta. Los tres primeros elementos de la VTBL son los ya conocidos miembros del interface IUNknow. Las siguientes entradas son miembros de los otros interfaces soportados. OLE provee un número de interfaces que pueden ser usados y que generalmente empiezan por IOle,
COM usa GUIDs de 128 bits garantizando que será único, para identificar cada interface y cada componente COM. Los nombres humanos de los componentes (human-readables names) son asignados solo por conveniencia, y son validos únicamente en el ordenados donde esta instalado el componente. Esto ayuda a asegurar que no nos conectamos accidentalmente a el componente COM, interface o método, equivocado, incluso en redes con millones de componentes COM.
Cada componente COM debe tener un GUID llamado identificador de clase CLSID (Class Identifier) que hace referencia al componente. Cada interface del componente debe tener un GUID este es llamado IID (Interface Identifier). Los identificadores de clase se guardan en el registry, en la siguiente clave:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
Es un protocolo que permite que los componentes de software se comuniquen directamente a través de una red, en un marco seguro y de una manera eficiente. Antes llamado network OLE, DCOM esta diseñado para ser usado a través de múltiples protocolos de red. Esta basado en Open Software Foundation’s DCE-RPC, Y SOPORTA TANTO Java Applets como componentes ActiveX por medio de COM. Se pueden pasar datos a un applet Java con DCOM a través de Internet en tiempo real.
Cuando el cliente y el servidor residen en maquinas distintas, DCOM reemplaza las comunicaciones locales con un protocolo de red. Ni el cliente ni el servidor se enteran de esta característica de la comunicación.
El control de acceso de red se puede realizar con el Remote Automation Connection Manager. Para establecer la seguridad el Connection Manager debe estar instalado y corriendo en el ordenador remoto. Entonces puede ser usado con Visual Basic 5.o Enterprise para conectar con COM a través de remote automation o DCOM.
La pestaña Client Access de Connection Manager permite seleccionar un plan de seguridad para el ordenador remoto, puede adoptar los siguientes valores:
|
Nombre |
Valor |
Descripción |
|
Disallow All Remote |
0 |
No permite la creación de ningún objeto. |
|
Allow Remote Create By key |
2 |
Se permite la creación de un objeto solo si su Remote Activation
check box esta marcado. Se debe poner en el registry incluir el valor AllowRemoteActivation = Y en su
CLSID. |
|
Allow Remote Create By ACL |
3 |
Solo pueden crear el objeto los usuarios que esten en la Access
Control Lisit en el Registry. (Solo valido para NT) |
|
Allow All Remote Create. |
1 |
Todos los objetos pueden ser creados. |
Conocimientos:
|
q Explicar la implementación de Automation en los sistemas operativos de Microsoft. q Identificar las situaciones en que Remote Automation es una buena solución. q Uniform Data Transfer (UDT) como parte de solución de componentes. q Evaluar el uso de uno o más de las siguientes soluciones: documentos compuestos, OLE embebido, OLE enlazado y OLE drag and drop. |
Ole es un mecanismo basado en COM que permite ínter operar a las aplicaciones. Gracia a OLE la funcionalidad de muchas aplicaciones puede ser usada dentro de solo una de ellas. OLE puede usarse para crear documentos compuestos que pueden ser guardados en un fichero llamado fichero compuesto.
La tecnología OLE de documentos compuestos se apoya en una mezcla consistente en COM, structured storage, y Uniform Data Transfer (UDT). Un documento compuesto es esencialmente un objeto COM que puede estar embebido o linkado a un documento existente. Igual que un objeto COM, un documento compuesto expone el interface IUnknow, mediante el cual los clientes obtienen punteros a los otros interfaces.
Entre estos interfaces se encuentran: IoleObject, IoleLink IviewObject2.
Cuando un documento compuesto es creado, una aplicación es la contenedora y otra la servidora. El documento servidor puede estar linkado o embebido dentro de la aplicación container. Cuando un objeto esta linkado se guarda en un fichero separado. En cambio cuando esta embebido se guarda en el mismo fichero que el contenedor.
El uso de ficheros compuestos es altamente recomendable ya que el sistema de almacenamiento de OLE provee de un acceso eficiente y flexible a los datos representados por el objeto. El sistema de almacenamiento permite a los objeto o porciones de ser leídos del disco y pasados a memoria sin cargar el fichero entero. Esto se muestra muy útil cuando es preciso cargar un documento OLE que contiene un gran número de objetos o un objeto muy grande. Esto representa que las aplicaciones no deban esperar a cargar datos que no necesitan.
Los documentos compuesto OLE hacen posible que se puedan manipular diferentes formatos de datos desde una sola aplicación.
Usando objetos COM, los datos se guardan en un formato especifico definido como OLE structured storage. Este formato coge datos de otros documentos y los combina dentro de documentos compuestos.
El sistema OLE Storage es similar a un sistema de ficheros. Los datos pueden ser accedidos a través de un juego de interfaces proveídos por OLE. OLE es el proveedor de la implementación de este sistema de almacenamiento, ficheros compuestos.
La característica más importante de COM y básica para la integración entre aplicaciones es la interoperabilidad. Esta integración trae con ella la necesidad de escribir información en el mismo fichero para múltiples aplicaciones. La solución es crear un sistema de ficheros dentro de un fichero. OLE define un modelo para tratar un simple fichero como una colección de dos tipos de objetos, llamados storages y streams. El concepto es muy parecido al de directorios y ficheros. Este modelo se llama structured storage.
OLE structured storage es una sistema de almacenamiento jerárquico parecido a dispones de un sistema de almacenamiento de ficheros en un fichero. Se dispone de dos niveles de almacenamiento dentro del storage system:
q
Storage
objects
q
Stream
objects
Un storage object puede contener streams y/o otros storage objects; un stream object solo contiene datos. Cada objeto es asignado a su propio objeto storage. Los objetos y datos dentro de storage system son accedidos a través de interfaces OLE.
Structured storage provee de un camino simple para guardar objetos en ficheros compuestos. Su propósito es el de reducir las penalizaciones de rendimiento y sobrecarga que se asocian al guardar objetos separados en un fichero grande. COM guarda los objetos de forma separada en un solo fichero estructurado consistente en dos elementos principales: storage objects y stream objects. Igual que un fichero un objeto stream contiene datos consistentes en una secuencia de bytes.
Un fichero compuesto COM consisten en un object Storage principal que contiene al menos un objeto stream. Aunque puede contener un número ilimitado de objetos Stream y de objetos Storage que a su vez pueden contener otros objetos del mismo tipo.
El fichero no debe ser reescrito cuando se le añade un nuevo elemento, y tampoco si un elemento existente incrementa su tamaño. En lugar de eso el solo se rescribe el objeto afectado en la siguiente posición disponible y el objeto storage modifica su tabla de punteros que mantiene para poder localizar de sus objetos storage y stream. Este comportamiento incrementa el rendimiento.. Al mismo tiempo, structured storage permite a los usuario finales tratar un fichero compuesto como si fuera un fichero simple.
Los beneficios adicionales obtenidos son los siguientes:
q Acceso incremental
Si un usuario necesita acceder a un objeto dentro de un fichero compuesto, el usuario puede cargar y guardar solo el objeto, sin tener que cargar el fichero entero.
q Múltiples uso
Mas de un usuario final o aplicación puede leer y escribir información en el mismo fichero compuesto al mismo tiempo.
q Proceso de transacciones
El usuario puede leer o escribir al fichero compuesto COM en modo de transacción, donde las modificaciones realizadas al fichero se guardan en un buffer y puede darse marcha atrás.
q Pocos requerimiento de memoria
Structured storage permite que fichero pueda ser guardado en situaciones de poca memoria.
OLE automation es un servicio para integrar las herramientas de desarrollo y las aplicaciones. Esto capacita a una aplicación a exponer su funcionalidad, o a controlar la funcionalidad de otra aplicación en el mismo ordenador o en la red.
Las claves de OLE automation son:
q Las aplicaciones o componentes de software llamados OLE automation Servers pueden ser controlados por que su funcionalidad se expone y se hace accesible a las otras aplicaciones. Exponen su funcionalidad a través de objetos.
q Otras aplicaciones o herramientas de desarrollo, llamada OLE Automation Controllers, controla las OLE Automation Servers a través de programar código para acceder a la funcionalidad expuesta por los servidores.
OLE Automation es el termino que engloba a el proceso por el que una aplicación (container) puede enviar instrucciones a otra (Server) usando la funcionalidad expuesta por OLE, Las instrucciones son procesadas por el Server.
Conocimientos:
|
q Identificar que tecnologías ActiveX son apropiadas para usar en la implementación de una solución de negocio. q Identificar el uso apropiado de los controles ActiveX dentro de soluciones de componentes. Escogiendo la herramienta de desarrollo, q Evaluar el uso de Active Documents como componente de una solución. |
Un ActiveX se basa en la tecnología de COM. ActiveX puede ser usado para crear controles, documentos y componentes que corran en ordenadores cliente o en Internet. Los componentes ActiveX pueden ser desarrollados en muchos lenguajes de programación, incluyendo toda la familia de desarrollo de Microsoft.
La tecnología ActiveX deriva de OLE. Los controles ActiveX en principio eran controles OLE.
Son objetos reusables que incluyen elementos visuales y código. Se usan en algunos tipos de container, como pueden ser formularios o aplicaciones, para habilitar o aumentar la interacción del usuario con las aplicaciones. Estos controles tienen la extensión .ocx.
Aunque un control ActiveX puede ser contenido por una pagina WEB su uso no se limita a Internet. Desde casi todas las herramientas de creación de paginas Web, como FrontPage, se pueden insertar controles ActiveX en las paginas HTML.
Un control ActiveX es un objeto COM y se registra a si mismo. Sus ventajas son las siguientes:
q Requieren menos interfaces que los anteriores controles OLE.
q No necesitan una ventana y estar siempre activos.
q La activación In-Place permite interacción con un objeto OLE dentro un container.
q Tienen interfaces claramente definidos.
q Disponen de propiedades, eventos y métodos.
q Reducen la complejidad.
q Encapsulan la funcionalidad.
q Se puede upgradar fácilmente.
q Proveen de control de versiones.
q Soportan compartir información.
q Son reusables.
Los controles ActiveX se pueden usar en proyectos VisualBasic para realizar aplicaciones. Se añaden desde el menú Toolboox Components. Visual Basic instala y registra los controles ActiveX en \Windows\System o System32.
La infraestructura de los controles ActiveX permite insertarlos en pagina WEB y responder interactivamente a los eventos. Están optimizados para tener un tamaño pequeño y una gran velocidad, y soportan conexiones asíncronas . Las ventajas de los controles ActiveX de Internet son:
q Simplifican y automatizan las tareas.
q Muestran datos en otros camino que cajas de texto y tablas.
q Añaden funcionalidad a las paginas.
Para diseñar un control que trabaje en un entorno de Internet se necesita pensar en el bajo rendimiento en transmisión de datos por Internet. Para dar un buen rendimiento a un control debemos considerar lo siguiente:
q Un control ActiveX debe ser asíncrono. Para prever que el control no bloquee la funcionalidad del programa.
q Debe devolver el control al usuario rápidamente.
Conocimientos:
|
q Evaluar el uso de Active Documents como componente de una solución. |
Los documentos ActiveX son formularios que pueden aparecer dentro de un container. Se diseñan de la misma manera que los formularios de Visual Basic. Pueden contener objetos insertables, mostrar mensajes y formularios secundarios.
Usando documentos ActiveX se pueden desarrollar aplicaciones que se integren altamente con otros elementos de Internet. Se pueden integrar estos elementos para permitir al usuario navegar de manera transparente entre las paginas HTML y los documentos ActiveX.
En cierta manera los documentos ActiveX son aplicaciones Visual Basic para Internet. El 90 % de las cosas que se pueden realizar con una aplicación normal se pueden realizar en un documentos ActiveX.
Los documentos ActiveX no están instalados en el ordenador cliente pueden ser bajados automáticamente cuando el usuario accede a ellos a través de la navegación. más aun, pueden ser upgradados automáticamente si la versión disponible en el servidor es más nueva que la del cliente.
Muchas de las características se enfocan a proveer instalación, navegación y persistencia:
q Descarga automática de componentes a través de Internet.
Se puede crear un link al documento ActiveX para que el browser automáticamente busque y descargue todos los componentes necesario para correr el componente.
q Hyperlink Objects.
En un entorno hyperlink-aware container, se pueden usar las propiedades y métodos de objeto Hyperlink de Visual Basic para saltar a una URL o navegar a través de la history list.
q Merge menus.
Los menús de los documentos ActiveX pueden mezclarse con los menús de Browser.
q El objeto PropertyBag.
Cuando se carga un documento ActiveX en Internet Explorer se pueden guardar datos mediante el objeto PropertyBag.
Conocimientos:
|
q Evaluar ODBC como componente de una solución. q Comparar las diferentes soluciones de ODBC en rendimiento y mantenimiento. q Comparar OLE DB con el API ODBC y APIS nativos de acceso a datos. |
Una aplicación puede conectar a una base de datos externa mediante una gran variedad de técnicas. Basados en tres categorías: ISAM, ODBC y OLE DB. Cada tipo de interface esta basado en un tipo de almacén de datos.
Los datos salvados como texto en ficheros pueden ser accedidos de la manera tradicional. Para mejorar la velocidad los datos pueden ser guardados en formato binario llamado ISAM (Indexed Sequential Access Method). Muchos de los ficheros ISAM usan formatos propietarios para acceder a los datos, lo que trae la necesidad de un driver especifico. JET apareció con la intención de crear un estándar en el acceso a los ficheros ISAM.. JET carga los drivers ISAM para facilitar la comunicación con las bases de datos ISAM en diferentes formatos.
Open Database Connectivity es el interface estándar de la industria para acceder a bases de datos SQL. ODBC traduce las llamadas comunes de SQL ODBC y API a un formato reconocible para la base de datos SQL. A pesar de que ODBC se puede configurar como interface de bases de datos ISAM, para esta es mejor utilizar la tecnología JET.
OLE DB provee una integración universal de acceso a datos sobre redes de empresa desde un mainframe a PCs cliente. Se basa en COM, tiene un low-level interface de acceso a base de datos que capacita a bases de datos de todos tipos y tamaños a trabajar conjuntamente. Estos interface proveen de acceso a datos, manipulación, consistencia e interoperabilidad.
OLE DB extiende la funcionalidad de las bases de datos relacionales agrupando estas dentro de componentes lógicos y proveyéndolas de los eventos necesarios para que estos componentes se comuniquen.
Conocimientos:
|
q Explicar los beneficios de ADO (Active Data Objects). q Explicar los beneficios de RDO (Remote Data Objects). q Comparar DAO con ODBC y RDO. q Explicar los beneficios de SQL-DMO (SQL Distributed Management Objects). |
No existe un método de acceso a base de datos que sea mejor que otro, depende del tipo de base de datos.
DAO, RDO, ADO y SQL-DMO son métodos de acceso a base de datos preparados para recuperar y manipular datos en bases de datos relaciónales. El rendimiento es similar, pero cada uno esta optimizado para una situación en particular.
DAO es el interface COM de JET. Aunque esta optimizado para acceder a Microsoft Access, FoxPro, o ficheros dBase, también puede conectarse bases de datos ODBC. Esta característica a sido incorporada recientemente para proveer de un mejor soporte para bases de datos remotas.
Para conectarse usando DAO se deben seguir unos pasos específicos, crear una referencia, declara variables del objeto y abrir la conexión.
Para usar DAO lo primero es referenciar la librería. En estos momentos Microsoft DAO 3.5 Object Library. La librería de objeto contiene toda la información necesaria para escribir código para DAO.
El objeto DAO Workspace se usa para poner información del entorno, como el nombre del usuario, o que motor de base de datos usar. Cuando se usa DAO no se tiene que crear un objeto Workspace, ya que se crea automáticamente. Así y todo el objeto Workspace también puede usarse cuando usamos ODBCDirect para acceder a los datos.
El código para crear una variable Workspace en Visual Basic es el siguiente:
Dim wrkjet As workspace
Set wrkJet = CreateWorkspace(“”, “admin”, “”, dbUseJet)
Después se debe crear un objeto Database, que representa el objeto base de datos. Se pueden usar sus métodos y propiedades para manipular la base de datos abierta.
Dim db As Database
Después de crear la base de datos se debe usar el método OpenDatabase para abrir una conexión.
Se db = OpenDatabse(Nombre de la base de datos)
Después de abrir la conexión podemos empezar a manejar los datos para lo que usaremos el objeto Recordset.
Un Recordset representa los datos obtenidos por una consulta. Define un grupo de registros que pueden ser manipulados.
Código para abrir un recordset en Visual Basic.
Dim db As Database
Dim rs As Recordset
Set db = openDatabase(BasedeDatos)
Set rs=db.OpenRecordset(orden SQL), dbOpenDynaset, dbReadOnly)
...
...
rs.Close
db.Close
DAO puede usarse desde Visual Basic Script, y por lo tanto desde dentro de los productos de Microsoft Office.
Con DAO nos podemos conectar a bases de datos SQL mediante ODBC. Aunque tanto RDO como ADO son mejores soluciones para crear aplicaciones cliente / servidor.
Aunque no da un buen rendimiento DAO puede ser usado para abrir ODBC directamente. Se debe crear una cadena de conexión que contenga la información necesaria, el nombre del driver ODBC, el del servidor, el de la base de datos, el login y password del usuario. Esta cadena se pasa como parámetro a DAO.
Db.Connect =
“ODBC=Database=pubs;UID=Username;PWD=Password;DSN=PubsData”
El rendimiento no es correcto por las siguiente razones.
q Jet no siempre hace un uso inteligente de las conexiones dentro de ODBC.
Las conexiones normalmente son creadas y destruidas cuando se trata con los resultados. No se utilizan conexiones persistentes. Jet consume una gran parte de tiempo negociando y estableciendo las conexiones.
q Jet no mantiene una cache de la información entrante desde el data source ODBC.
Para acceder a cualquier información acerca del data source se debe realizar una conexión.
Para adjuntar un Data Source se pueden linkar tablas SQL como si fueran de Access. Este método normalmente es más rápido que el directo porque los fichero .mdb de Access proveen de una cache.
Existe otro método que es el uso de ODBCdirect. ODBCDirect es una característica de DAO que permite un acceso más directo a RDO. Cuando se abre un data source a través de ODBCDirect DAO ya no usa Jet para acceder a los datos, sino que usa ODBC. Esta característica es útil cuando en una misma aplicación debemos manejar una combinación de datos ISAM con datos ODBC.
Acceso mediante ODBCDirect
Dim wrkODBC As Workspace
Dim rs As RecordSet
Dim cn As Connection
Set wrkODBC = CreateWorkspace(“”,”Admin”,””, dbUseODBC)
Set cn = wrkODBC.OpenConnection(“”, , , ”ODBC; DATABASE=pubs; UID=sa;_
PWD=;DSN=Publishers”)
Set rs = cn.OpenRecordset(“SELECT * FROM stores”, dbOpenDynamic)
...
...
rs.Close
db.Close
cn.Close
Ventajas de usar DAO:
q Es un interface conocido.
DAO es el interface más maduro existente para los desarrolladores.
q Trabaja muy bien con ISAM.
Esta específicamente diseñado para trabajar con ISAM y dar un buen rendimiento.
q ODBCDirect.
Aunque no sea el mejor interface para conectarse mediante ODBC, ODBSDirect permite a DAO aprovecharse del rendimiento y ventajas de RDO, aunque limitado.
Desventajas de usar DAO:
q Rendimiento penoso con ODBC.
No esta diseñado para conectarse a ODBC.
q El modelo de DAO esta influenciado por ISA.
Si esta diseñado para ISAM es normal que su modelo de objetos se adapte a la características de ISAM.
q Empieza a desfasarse.
Esta vez son los ActiveX Data Objects los encargados, a priori, de remplazar a DAO.
Es una eficiente alternativa a DAO para las conexiones a bases de datos remotas. Representa una capa de objetos por encima del API ODBC. Puede ser llamado desde cualquier Sistema operativo de 32 Bits (Microsoft por supuesto). Da un mejor rendimiento y más flexibilidad que DAO cuando tratamos de acceder a motores de bases de datos remotos. Aunque se puede acceder a cualquier data source ODBC con RDO, su característica es que esta diseñado para aprovechar las ventajas de los servidores de bases de datos como Microsoft SQL Server.
RDO ofrece unas ventajas comparándolo con DAO cuando usamos una conexión ODBC:
q Puedes ejecutar consultas que devuelvan múltiples resultados, o ejecutar stored procedures que devuelvan resultados.
q Se puede limitar el número de filas devueltas y espiar todos los mensajes y errores generados por el remote data source sin comprometer la ejecución de la consulta.
q Soporta conexiones sincronas y asíncronas, con lo que la aplicación cliente no necesita estar bloqueada durante una consulta larga.
Es muy parecido a DAO. Debemos referenciar la librería de RDO, en estos momentos Remote Data Object 2.0.
Crear un objeto Connection, similar al objeto Database de DAO. Representa la conexión a la base de datos. Aunque el objeto Connection necesita de un objeto Environment, RDO automáticamente provee de uno por defecto, igual que DAO provee un objeto Workspace.
Crear una conexión con RDO
Set cn = New rdoConnection
With cn
.Connect = “DSN=pubs;UID=sa;PWD=”
.EstablishConnection
End With
Ventajas de usa RDO:
q Esta optimizado para acceso ODBC.
RDO se diseñó para ser usado con conexiones ODBC. Por lo tanto dispone de un buen rendimiento.
q Compatible con ISAM.
Desventajas de usar RDO:
q Solo soporta plataformas de 32 bits.
Solo se soporta en NT y Windows 95 y 98. En un entorno de 16 bits se debe considerar el uso de ODBCDirect con DAO.
q Requiere la versión Enterprise de los productos de Visual Studio.
Para implementar los comportamientos de RDO la aplicación debe estar desarrollada en VisualBasic 5.0 o Visual C++ ambos en su versión enterprise. No se puede usar desde Office97.
Los ActiveX Data Objects (ADO) representan el futuro del acceso a datos y es un componente fundamental de Universal Data Access.
ADO es el interface de OLE DB. Se a diseñado para acceder a bases de datos de diferentes tipos. Al contrario que DAO y RDO, ADO es un modelo de programación extensible. Usa proveedores independientes de datos para acceder a bases de datos específicas. ADO es un modelo de objetos independiente, esta característica posiciona a ADO como interface a situar por encima de DAO y RDO. ADO no es una implementación específica de interface de acceso a base de datos como RDO y DAO, ADO es un modelo de programación. Las futuras extensiones de ADO permitirán disfrutar de las ventajas provistas por diferentes data sources, como Jet.
ADO eventualmente proveerá de un superset de la funcionalidad de RDO 2.0., un interface más sofisticado, y un modelo de programación modificado. Como ADO es un componente basado en COM, cualquier aplicación o lenguaje capaz de trabajar con COM puede usar ADO.
Con ADO no es necesario crear objetos Workspace y Database, ADO puede realizar referencias directa a un objeto Recordset. La sintaxis es similar a la de RDO.
Lo primero es referencia la librería, por el momento Microsoft ActiveX Data Objects 1.5 Library.
Conexión con ADO
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Rs.Open “Select * From Authors”, “DSN=pubs; UID=sa; PWD=”
....
....
rs.Close
Ventajas de usar DAO:
q Un standard unificado.
q Extensibilidad.
En el futuro ADO será un superset de RDO.
q Interface COM.
Como ADO se basa en COM, cualquier aplicación o lenguaje capaz de trabajar con COM puede usar DAO. Por ahora no existen restricciones de licencia.
q
Active
Server Pages.
Los scripts de ADO están escritos con Visual Basic Scripting Edition.
Desventajas de ADO:
q Todavía no esta completamente desarrollado.
q Es un interface de nivel superior que OLE DB.
Microsoft SQL Server Distributed Management Object (SQL-DMO) es un modelo de objetos basado en COM que permite a los desarrolladores añadir características administrativas de SQL Server a las aplicaciones. Aunque algunas tareas administrativas puedan llevarse a cabo con el uso de stored procedures o DDL (Data Definition Language), SQL-DMO provee un sistema más sencillo para realizar estas tareas. Expone objetos de la base datos para que puedan ser manipulados por las aplicaciones cliente. Tablas, stored procedures, y propiedades del servidor se representan a través de un interface COM.
Usando SQL-DMO, las aplicaciones pueden incluir las siguientes capacidades:
q Mantenimiento de tablas.
q Acceso a la información de permisos del servidor.
q Bases de datos del servidos.
q Scripts generados para una tabla.
Conocimientos:
|
q Dado un escenario, escoger el método de acceso apropiado. |
Cuando escogemos un método de acceso a bases de datos se deben considera el formato de los datos, la necesidad de usar una combinación de formatos, y si el producto es nuevo o va a ser revisado. Se debe considerar también la vida útil de la aplicación, y si la aplicación será creada solo para un uso administrativo.
Los interfaces de datos tradicionalmente están diseñados para ser usados con un formato de datos especifico, por ejemplo DAO soporta bases de datos ISAM, mientras RDO se usa con ODBC. En cada caso el interface especifico es el que da un mejor rendimiento.
Si la aplicación necesita acceder a múltiples formatos, es posible usar más de un interface. Aunque esta combinación de formatos es ineficiente por culpa de la carga adicional de soportar dos modelos de objetos. Se debe considerar el uso de ADO.
Para una aplicación que se conecte a SQL Server solo para proveer de una herramienta administrativa se debe usar SQL-DMO.
Conocimientos:
|
q Identificar las diferencias de arquitectura entre Windows 95 y Windows NT. q Escoger entre los sistemas operativos de 16 bits, Windows 95, Windows NT Workstation y Windows NT Server para satisfacer los requerimientos. |
Existen tres sistemas operativos Windows;
Windows 3.1 o WFW (16 bits), Windows 95 y Windows NT.
Windows 3.1. es un sistema operativo de 16 bits que corre sobre MS-DOS. El soporte de red fue añadido en la versión 3.11(Windows For Workgropus). Windows 3.x fue pensado como sistema operativo de escritorio, en un entorno MS-DOS. Windows NT Workstation y Windows 95 lo han sustituido como sistema operativo de escritorio.
Windows 95 es un sistema de escritorio de 32 bits. Al contrario de Windows 3.x no necesita MS-DOS. Fue diseñado para ser totalmente compatible con las aplicaciones de 16 bits, mientras da soporte a las nuevas aplicaciones de 32 bits. Dispone de un gran soporte de red, y soporta conexiones punto a punto con otros Windows 95 o servidores como Windows NT Server.
Dispone del estándar Plug and Play que permite al ordenador modificar su configuración sin intervención del usuario (Jajaja 8-)). Simplemente se conecta el nuevo Hardware y el sistema operativo ya se encarga de reconocerlo y configurarlo. Plug and Play no esta soportado por Windows NT 4.0 y no necesariamente todo el Hardware lo soporta. Aunque si será soportado por la siguiente versión de Windows NT Workstation.
La versión OSR2 de Windows 95 a incorporado unas características nuevas a Windows 95:
q Sistema de ficheros FAT32.
q
Internet
Explorer 3.0.
q
DIRECTx
2.0 Y aCTIVEmOVIE.
q
Soporte
TCP/IP para múltiples DNS.
q
Windows
NT 4.0 messaging system client.
También incluye soporte para nuevo hardware.
El sistema de ficheros FAT32 es una mejora de FAT. FAT32 soporta discos más grandes y usa el espacio de una manera más racional. En FAT16 la tabla de ficheros se separa en bloques de 16K. Si un bloque se usa solo parcialmente el resto des espacio se desperdicia. FAT32 usa bloques de solo 4K, con lo que se pierde menos espacio. Además FAT16 solo soporta discos de 2 Giga bites, mientras que FAT32 los soporta de 2 terabytes. Solo las aplicaciones que accedan a bajo nivel al disco necesitarán ser revisadas.
Tanto NT Workstation como Server son sistemas operativos de 32 bits, para usuarios que necesiten de un sistema multitarea. Los siguientes entornos de negocios se benefician de las características de NT:
q Arquitectura.
q Diseño mecánico y electrónico.
q Ingeniería y construcción.
q Control de procesos.
q Desarrollo de software a medida.
q Contabilidad.
q Análisis financiero.
q Sistemas de tiempo real.
q Negocios de inversión.
En resumen, cualquier usuario que necesite la potencia de un sistema multiproceso puede usar Windows NT para correr múltiples aplicaciones simultáneamente.
Windows NT soporta aplicaciones en espacios de memoria separados. Cuando las aplicaciones corren en un espacio de memoria separado los fallos de una aplicación no deben afectar a las otras. Adema NT protege al sistema de aplicaciones que intentan consumir un gran tiempo de CPU y un gran espacio de memoria.
Windows NT Workstation incluye todas las capacidades de WFW, además de todas las de un sistema multitarea. Puede ser usado como un sistema operativo de usuario, sin conexión a red, trabajar en una red punto a punto o como una estación de trabajo en un dominio de Windows NT Server.
Windows NT Server es un potente servidor de red. Es una plataforma cliente / servidor diseñada para integrar la tecnologías existentes y futuras y proveer de una ventaja competitiva al disponer de un mejor acceso a la información. Las capacidades Multitarea y NTFS (New Technology File System) los hace el sistema operativo Windows más seguro y estable.
Sus características más destacables son:
q SMP.
Windows NT es un sistema multiprocesador simétrico (SMP). Lo que significa que NT usa todos los procesadores disponibles en ordenadores con más de uno.
q HAL.
Windows NT a sido diseñado para correr en diferentes plataformas hardware, con CPUs de diferentes tipos. NT separa el código del sistema operativo del hardware de la maquina usando una capa de aislamiento, llamada Hardware Abstraction Layer (HAL). Lo que permite a NT no depender del hardware y dar un buen rendimiento en cualquier plataforma.
q NTFS.
NTFS es el sistema recomendable para NT. NT soporta
otros sistemas de fichero, más de uno en el mismo ordenador. Solo Windows NT soporta NTFS.
NTFS soporta particiones más largas que otros sistemas de ficheros. Bajo NTFS in fichero puede ser de 16exabytes, cada exabyte es un billón de giga bites. Se deben tener en cuenta las siguiente consideraciones al implementar NTFS como sistema de ficheros:
1. Los usuarios no pueden ejecutar utilidades de reparación de disco en una partición NTFS.
2. No se pueden recuperar ficheros.
3. La fragmentación se ve altamente reducida.
4. Provee seguridad para el modelo de seguridad de NT, los permisos y las auditorias se pueden efectuar en ficheros y directorios.
5. Debido al bajo rendimiento no es recomendable usarlo en volúmenes memores a 400 MB.
La decisión dependerá en gran manera de las tareas a desarrollar. Windows 95 y NT tiene capacidades complementarias que pueden acomodarse a un gran rango de necesidades. La siguiente tabla indica el sistema operativo recomendado para cada entorno.
|
|
Windows NT |
Windows 95 |
|
Oficinas |
|
X |
|
Usuarios remotos |
|
X |
|
Alto rendimiento |
X |
|
|
Seguridad C-2 |
X |
|
|
Alta fiabilidad |
X |
|
Existen muchas ventajas de correr aplicaciones de 16 bits en máquinas virtuales separadas.
q Interoperabilidad.
Si sigue los estándar OLE y DDE puede operar con otras aplicaciones en máquinas virtuales separadas.
q Multitarea real.
Al correr cada aplicación de 16 bits en su propia máquina virtual todas tienen tiempo de CPU aunque una esté ocupada.
q Multiproceso.
Si todas las aplicaciones de 16 bits corren en un espacio de memoria compartido, solo puede ejecutarse una a la vez. Pero si están configuradas para correr en espacios separados de memoria (como en NT) pueden correr simultáneamente.
Conocimientos:
|
q Identificar las situaciones en las que es necesario guardar datos en el Registry. q Describir la arquitectura de WOSA (Windows Open Services Architecture), incluyendo Dll, manejo de memoria y scheduling. q Describir como Windows maneja los threads y procesos. |
Windows usa dos modos que mantienen la eficacia y la integridad del sistema: Modo usuario (user mode), modo núcleo (kernel mode). La arquitectura 80386 y procesadores mayores definen cuatro niveles de privilegio, llamados anillos(ring), para proteger el sistema. Esto se llama Intel Protection Model.
El nivel 0, el de más privilegio, también se conoce como modo núcleo (kerne). El nivel 3 o modo usuario es el de menor nivel. Windows solo usa estos dos anillo 0 y 3.
Es el modo de mayor privilegio, las aplicaciones tiene acceso directo a todo el hardware y direcciones de memoria. El software que corre en este modo tiene los siguientes atributos:
q Puede acceder al hardware directamente.
q Puede accede a toda la memoria del ordenador.
q No puede ser movido a una pagina virtual de memoria del disco duro.
q Dispone de mayor prioridad que los procesos en modo usuario.
El corazón Windows 95 y NT corre en modo kernel. Ya que los componentes del modo kernel esta protegidos por la arquitectura del procesador, este previene que un programa escriba sobre otro. Si un componente falla en el anillo 0 puede detener todo el sistema.
Windows 95 ha sido diseñado para mantener una alta compatibilidad con las viejas aplicaciones de 16 bits estas necesitan acceder directamente al hardware de la máquina. Windows NT no permite este nivel de acceso, pro lo que no todas las aplicaciones de 16 bits corren en NT.
El anillo 3 es el menos privilegiado de todos los modos del procesador., y no dispone de acceso directo al hardware de la máquina. Las aplicaciones que corren en el nivel 3 solo pueden acceder a sus propio espacio de memoria. Algunas de sus características son:
q No pueden acceder directamente al hardware.
Para proteger de una aplicación mal hecha el modo usuario no puede acceder directamente al hardware. Las peticiones de acceso a hardware deben darse a un componente del modo kernel.
q Están limitados para asignar espacio de direcciones.
Windows ayuda a proteger el sistema operativo, limitando el área de memoria a la que un proceso en modo usuario puede acceder. Esta limitación se lleva a cabo asignando solo ciertas direcciones de memoria a los procesos en modo usuario.
q Pueden ser paginado fuera de la memoria física, dentro de RAM En el disco duro.
La memoria virtual permite usar un espacio de disco duros como memoria adicional.
q Menor prioridad que los procesos en modo kernel.
Al tener menor prioridad no pueden ocupar la CPU cuando un proceso en modo kernel la necesita. Esto asegura que el sistema operativo no deba esperar a que una aplicación termine su tarea. Por lo que cualquier aplicación que falle en modo usuario no puede colgar el sistema.
Multitarea es la habilidad que tiene sistema operativo para correr más de una aplicación o tarea a la vez. Los procesos no se ejecutan a la vez, sino que el procesador pasa de uno a otro.
Una aplicación Windows consiste en uno o más procesos. Un proceso es, en términos simples, un programa ejecutable. Un proceso dispone de un espacio de direcciones y unos recursos asignados, y uno o mas threads corriendo en su contexto.
Un thread es la unidad más básica a la que el sistema puede dar tiempo de procesador. Un thread corre en el espacio del proceso y utiliza sus recursos.
Un proceso siempre tiene al menos un thread ejecutándose. Las aplicaciones de 16 bits solo disponen de un thread por proceso. Una aplicación de 32 bits puede tener varios threads por proceso.
Existen dos tipos de multitarea: cooperativa y preemptiva. En un sistema con multitarea cooperativa los procesos deben, voluntariamente, devolver el control del procesador antes de que otra aplicación pueda correr.
En la multitarea preemptiva es el sistema operativo el encargado de dar tiempo de CPU a las aplicaciones.
Los programas escritos para un sistema cooperativo debe de estar diseñados especialmente para dar el control al procesador en intervalos frecuentes. Un programa mal diseñado, o egoísta, dejará al sistema parado hasta que el programa termine.
Windows NT permite multitarea preemptiva de las aplicaciones de 16 bits. Provee también de protección total de la memoria en la que corren las aplicaciones de 16 bits ya que cada una de estas corren en su propia maquina virtual. Windows 95 usa multitarea cooperativa para las aplicaciones de 16 bits. Es necesario para mantener compatibilidad con las aplicaciones que esperan ser ellas las que devuelvan el control al sistema.
Scheduling es el proceso que usa el sistema operativo para determinar que thread va a recibir tiempo de CPU para su ejecución. Windows provee multitarea asignando a cada thread una prioridad de ejecución que permite a este usar los recursos del sistema. Scheduling se basa en una unidad de tiempo llama time slice. La longitud actual de time slice depende de la configuración del sistema. El rango de prioridades va desde 0 (la más baja) hasta 31 (la más alta). El thread con mayor prioridad es el que recibirá tiempo de CPU. La prioridad de cada thread se basa en dos puntos: la prioridad de su proceso y el nivel de prioridad del thread dentro de la prioridad del proceso.
La priority Class y priority levels se combinan para formar la prioridad base de un thread. Los niveles de prioridad de Windows se dividen en dos clases:
q Real Time.
Con un nivel de 16 a 31, se usa para operaciones criticas del sistema, y generalmente no se usa para las aplicaciones.
q Variable priority.
Se mueve entre 0 y 15, y se usa para determinar el tiempo de procesador para las aplicaciones. Solo el zero-page thread puede tener una prioridad de 0, y es un thread del sistema.
Los niveles de prioridad se pueden asignar a un proceso, disponemos de cuatro.
q Low.
Empieza la aplicación con una prioridad de 4.
q Normal.
Empieza la aplicación con una prioridad de 7.
q High.
Empieza la aplicación con una prioridad de 13.
q Real-Time.
Empieza la aplicación con una prioridad de 24.
En Windows 95 y NT cada proceso dispone de su propio espacio de direcciones que permite a estos direccionar 4 giga bites (GB) de memoria. A pesar de este comportamiento la disponibilidad de memoria física RAM y Disco limita esta capacidad. Windows reserva 2 GB para cada aplicación y 2 para el Kernel.
Casi ningún sistema esta ocupado con 4 GB de RAM. Por esto Windows usa memoria virtual. Con la memoria virtual Windows puede mover contenidos de la memoria al disco duro cuando la disponibilidad de RAM es baja, Este comportamiento se conoce como swapping.
El kernel mantiene un page map para relacionar las direcciones virtuales de cada proceso con sus direcciones físicas.
Los procesadores desde el 386 pueden mapear posiciones de memoria a cualquier dirección de 32 bits.
El almacenamiento físico y las direcciones virtuales de cada proceso están organizadas dentro de paginas, que son unidades de memoria cuyo tamaño depende del ordenador. Para los ordenadores de arquitectura x86 el tamaño es de 4K. Para maximizar y flexibilizar el manejo de memoria, el kernel puede mover paginas desde la memoria física hacia un fichero de pagina (Pagefile.sys) en disco, y viceversa. Cuando una pagina es movida a memoria física, el kernel modifica el page map del proceso afectado. Cuando el kernel necesita espacio en memoria física mueve las paginas más viejas al fichero de pagina. La manipulación por parte del kernel de la memoria es completamente transparente a las aplicaciones, que operan solo en su espacio virtual de direcciones.
Windows 95 y NT ejecutan las aplicaciones de modo distinto, sobretodo si hablamos de aplicaciones de 16 bits.
Windows usa un modelo interno de mensajería para controlar las aplicaciones. Los mensajes son generados por eventos que ocurren en un momento dado. El mensaje se pone en un mecanismo conocido como cola de mensajes (message queue. Una aplicación activa debe chequear frecuentemente esta cola de mensajes para recuperar sus mensajes.
Bajo Windows 3.1 solo disponemos de una sola cola de mensajes que es usada por todo el sistema. Las aplicaciones basadas en Win16 examinan la cola y extraen los mensajes dirigidos a ellas. El disponer de una sola cola causa algunos problemas, si una aplicación se cuelga esta puede impedir a las otras chequear la cola de mensajes.
Windows 95 soluciona el problema dando una cola de mensajes para cada aplicación de 32 bits. Cada thread en una aplicación de 32 bits puede tener su propio bucle de mensajes, y por lo tanto, no se ve afectado por el funcionamiento de otros procesos. Si una aplicación de 16 o 32 bits falla, las otras aplicaciones de 32 bits continúan ejecutándose y recibiendo sus mensajes o notificaciones de eventos.
En Windows 95 todas las aplicaciones de 16 bits comparten una sola cola de mensajes. Si un programa de 16 bits falla todas las aplicaciones de 16 bits restantes se encuentra con una cola de mensajes bloqueada hasta que el programa colgado se elimina.
Bajo Windows NT los programas se ejecutan en Maquinas Virtuales (VM Virtual Machine). Una VM es un entorno creado por el sistema operativo y el procesador que simula un ordenador entero. La maquina virtual aparece ante el programa como un ordenador, por lo que el programa dispone de acceso virtual a el hardware y todos los otros recursos.
NT corre las aplicaciones Win16 y DOS en su propio espacio de direcciones privado llamado Maquina Virtual Dos (VDM Virtual Dos Machine)
Windows 95 y NT pueden correr aplicaciones basadas en MS-DOS en VDMs separadas. Así y todo en Windows 95 algunas partes de la memoria son accesibles a todas las maquinas virtuales, lo que potencialmente es un peligro para el sistema.
Un device Driver es un traductor que acepta comandos desde el sistema operativo y los traslada a comandos específicos para un componente hardware. Los Device Drivers son desarrollados directamente los constructores de hardware. Permiten al desarrollador de aplicaciones no preocuparse por el hardware a usar, y a desarrollar sus aplicaciones de manera independiente al hardware. Ya que no se necesita conocer que hardware va a usar el usuario. Windows usa Device Drivers para los siguientes componentes:
q Pantallas.
q Sonido.
q Comunicaciones.
q Impresoras.
q Adaptadores de red.
Dependiendo de para que sistema Windows han sido desarrollados los drivers estos se califican en dos vías: protected-mode y real-mode.
Los drivers real-mode han sido creados para correr bajo el modo real de MS-DOS. No son tan seguros ni robustos como los drivers en protected-mode.
Los drivers protected-mode aprovechan las ventajas de la arquitectura 386, también se conocen como drivers virtuales (VxD), son más rápidos, comparten el acceso a los dispositivos. El sistema Windows puede correr más eficientemente el código de los drivers real-mode de 32 bits que el de 16 bits de drivers protected-mode.
Aunque Windows 95 soporta, por cuestiones de compatibilidad, soporta los dos tipos de driver, Windows NT solo soporta los driver real-mode. Se recomienda el uso de drivers de 32 bits siempre que sea posible.
El interface de programación Win32 permite a las aplicaciones aprovecharse de toda la potencia de la familia de los sistema operativos Windows. Las funciones de Win32, mensajes y estructuras forman un API consistente y uniforme para Windows 95 y NT. Muchas de las funciones del API están soportadas directamente por programas como Visual Basic. Las llamadas propias de Visual Basic son más simples que llamar al API, así y todo en muchos casos es necesario llamar directamente al API.
El código principal del sistema se encuentra en tres Dlls: USER32, GDI32 y KERNEL32.
USER32.DLL y USER32.EXE crean y mantienen las ventanas en la pantalla. User32.exe además captura las peticiones concernientes a los iconos y otros componentes del interface del usuario. User.exe envía las entradas de teclado, mouse u otros dispositivos de entrada a las aplicaciones.
GDI32.DLL y GDI32.EXE controlan el dispositivo de gráficos (GDI Graphics Device Interfaces). El GDI ejecuta las operaciones graficas para crear imágenes en el sistema y otros dispositivos. Tareas de GDI:
q Dibujar a la pantalla.
q Dibujar a la impresora.
q Encender y apagar píxel.
KERNEL32.DLL captura las operaciones básicas del sistema operativo, tales como:
q Manejo de memoria.
q Entrada y salida de ficheros.
q Cargar un programa.
q Ejecución de un programa.
Windows 95 soporta las versiones de 16 bits de User, GDI y Kernel para compatibilidad. Se usa una combinación de código de 16 y 32 bits para mantener la compatibilidad con las aplicaciones y drivers existentes, Y PARA DAR UN MEJOR RENDIMIENTO QUE Windows 3.1.
Windows 95 da prioridad al código de 32 bits donde sea posible para dar un mejo rendimiento sin sacrificar la compatibilidad. Windows 95 mantiene código de 16 bits por tres razones principales:
El código del sistema de 16 bits provee de compatibilidad con las aplicaciones y drivers anteriores diseñados para correr con Windows 3.x.
q En algunos casos, el código de 16 bits es más rápido que su equivalente de 32 bits.
q Usar código de 32 bits requiere más memoria que su equivalente de 16 bits.
Uno de los principales puntos de Windows 95 mes trabajar eficientemente en ordenadores con poca memoria (jajaja). El uso de 16 bits facilita este requerimiento.
El sistema I/O de Windows 95 y los drivers de dispositivos, como networking y sistema de ficheros, son totalmente de 32 bits. Todo el manejo de memoria y scheduling (kernel y virtual memory management). Son también 32 bits. Es posible que desde un proceso de 16 bits se quiera llamar a una función de 32 bits, o viceversa. Esto se puede realizar mediante una técnica llamada thunking.
Thunking ocurre cuando el sistema transforma una llamada de 16 bits a una de 32 bits. Windows 95 y Windows NT no permiten a los procesos incluir código de los dos tipos. Existen dos tipos de thunking.
|
|
Windows 95 |
Windows NT |
|
Generic
Thunks |
X |
X |
|
Flat
Thunks |
X |
|
q Generic Thunk permite a las aplicaciones de 16 bits cargar y llamar a una Dll de 32 bits en Windows NT y 96.
q CLAT Tunas, permite a una aplicación de 32 cargar y llamar a una Dll de 16 bits y viceversa.
Cuando declaramos una función del API en Visual Basic, las funciones de 32 bits son case sensitiva, mientras que las de 16 no lo son. Se debe tener en cuenta al trasladar funciones de 16 a 32 bits.
Es una base de datos unificada que guarda configuraciones de hardware y software del ordenador local. Tanto el sistema y las aplicaciones pueden guardar datos en el. El papel del registry es similar al que tenían los ficheros .INI en Windows 3.1. Algunas de las ventajas de usar el registry son: poder guardar más de un valor en una clave, y asignar diferentes tipos de datos a los valores. El registry puede ser accedido a través de la red.
En Windows 95 y NT el registro puede ser consultado y modificado con el editor del registry (REGEDIT.EXE), situado en la carpeta de Windows. Se debe de tener cuidado al modificar los datos del registry ya que este no reconoce errores de sintaxis ni semánticos, y no avisa si realizamos una entrada incorrecta. Una entrada incorrecta puede llevar a un malfuncionamiento del sistema.
El registry mantiene una estructura tipo árbol. Guarda los datos en dos ficheros que pueden variar con la configuración del sistema, pero deben ser divididos dentro de un fichero que contiene las características especificas del usuario, normalmente USER.DAT. Cada entrada en el árbol del registry se llama key. El registry es similar a un sistema de ficheros, cada key puede contener subkeys y datos. Una key puede tener cualquier número de entrada de datos, y cada dato puede ser de un tipo diferente. Cada entrada de dato se llama value.
Cada key puede contener los siguientes items:
|
Key
componet |
Requerido |
Descripcion |
|
Name |
Si |
String
usado para poder acceder a la key. Debe ser único relativo a otras keys en el
mismo nivel jerárquico. |
|
Class |
No |
Nombre
de la clase de objeto. Pensado para ser usado en asociación con el método de
clase code que las instancias de clases guardan en el registry. Normalmente
no se usa por las aplicaciones. |
|
Security
Descriptor |
No |
Las
keys usan los descriptores de seguridad estándar de NT, y pueden realizar
auditorias de control y restringir el control. |
|
Last write time |
No |
Un
indicador de tiempo 8time stamp) que indica la fecha de la última
modificación. |
|
Value(s) |
No |
Cero o
más piezas de información a ser guardados con la clave. Contiene un nombre
para identificar el valor, y un tipo para definir el tipo guardado en el
valor. |
HKEY_CLASSES_ROOT
Contiene el mismo tipo de datos que el fichero REG.DAT de Windows 3.1, información acerca de OLE y asociaciones de ficheros. Este mapa permite a correr o imprimir desde un programa cuando se selecciona un fichero de su tipo.
HKEY_LOCAL_MACHINE
Contiene especificaciones acerca del puesto de trabajo, drivers y otras características del sistema. Información especifica de la máquina acerca del hardware que ha sido instalado., puertos, de software, y otra información. Esta información es especifica de la máquina, no del usuario.
HKEY_USERS
Contiene información acerca de todos los usuarios de la máquina. Es donde se guarda la información de cada usuario. También puede servir como plantilla para la creación de las keys propias de los nuevos usuarios. Las característica generales incluyen varios programas por defecto, eventos, configuraciones del escritorio, y mas.
HKEY_CURRENT_USER
Contiene la configuración especifica del usuario para el sistema y programas. Esta se crea en run time, cuando el usuario entra en el sistema, desde la información del usuario guardada en la key HKEY_USERS. Esta información indica las preferencias del usuario en la configuración del entorno de su estación de trabajo. Otras informaciones son preferencias del color, escritorio, etiquetas, y mas.
HKEY_DYN_DATA
Esta clave contiene información dinámica del estado de varios dispositivos. La información de esta key se regenera cada vez que el sistema se inicia. Se usa para el Plug and Play. La información puede ser cambiada con la adición de nuevos dispositivos, o eliminando dispositivos. La información para cada dispositivo incluye la key de hardware asociada, problemas, y el estado actual del dispositivo. También contiene información de rendimiento del sistema obtenida con el monitor del sistema. No forma parte del registro, y se crea dinámicamente.
Conocimientos.
|
q Dado un escenario, identificar el tipo apropiado de comunicación entre procesos. |
Los desarrolladores pueden escoger entre un gran número de interfaces para desarrollar sus aplicaciones. Dependiendo de la complejidad de la aplicación se puede usar el interface de menor nivel, el API de los sockets de , o un ActiveX diseñado especialmente para dar la funcionalidad que el programa requiere, tal como el Web Browser Control.
Para aprovechar todas las ventajas del protocolo TCP/IP se pueden realizar las aplicaciones directamente con el API de los Sockets Windows. Aunque se puede usar Visual Basic para programar con el API Socket, este a sido diseñado como un interface para C por lo que si se quiere usar desde Visual Basic se deben crear todos los Declare.
Las especificaciones de los Sockets de Windows definen un interface de programación de red para Microsoft Windows. Este abarca tanto las familiares rutinas Berkeley socket como un juego de extensiones específicas para Windows diseñadas para permitir al programador aprovechar las ventajas naturales del sistema.
Las especificaciones de los Sockets Windows intentan proveer de un solo API con el que los desarrolladores de aplicaciones puedan programar y múltiples vendedores de software de red adapten.
El Microsoft Win32 Internet API (WinInet) provee con un acceso fácil a los protocolos estándar de Internet como Gopher, FTP Y HTTP. Abstrae estos protocolos con un interface de alto nivel familiar a los desarrolladores de Win32. Se puede llamar a las funciones del API WinInet desde cualquier lenguaje incluyendo Visual Basic. No hace falta conocer mucho de TCP(IP, Windows Sockets, o HTTP para usar este API. Además, este API ofrece una abstracción de las implementaciones actuales no se deberá rescribir la aplicación si el protocolo que envuelve cambia, bastará una actualización de WinInet Dll.
Ventajas de WinInet API:
q No es necesario conocer TCP/IP ni Windows Sockets.
Para convertir los protocolos de Internet en tareas orientadas a funciones, no se necesita escribir Sockets Windows ni estar familiarizado con el protocolo TCP/IP.
q No es necesario conocer los protocolos de Internet.
Mientras los conceptos soportados por los protocolos de Internet, como FTP y HTTP, son simples, las implementación actual de estos protocolos puede ser compleja.
q Un juego constante de funciones, dentro de un entorno en constante evolución.
Las funciones han sido diseñadas para adaptarse al futuro sin necesitar modificaciones, y evitar la necesidad de modificar la aplicación cada vez que los protocolos cambien. también los protocolos más avanzados, como HTTP versión 1.1, pueden se implementado sin cambiar las aplicaciones.
q Funciones estándar Win32.
Las funciones del API Win32 de Internet son similares a las funciones tradicionales de Win32. Tratan los elementos, los buffer y los retornos de manera similar.
q Acceso completo a los protocolos de Internet.
Ocasionalmente, las aplicaciones necesitan acceder a las características avanzadas de los protocolos de Internet. Las funciones de WinInet32 proveen este acceso.
q Alto rendimiento en aplicaciones multithread.
Las funciones WinInet32 son totalmente reentrantes y multithread. Las aplicaciones multithread pueden llamar simultáneamente a una función desde distintos threads sin que se produzca ningún error (Call & Pray). No es necesario realizar ningún tipo de sincronización en las llamas a las funciones WinInet32.
q Cache persistente.
Las funciones WinInet32 proveen de cache persistente para todos los protocolos.
Las funciones de WinInet32 están preparadas para realizar aplicaciones cliente fácilmente, no están pensadas para escribir las aplicaciones servidoras.
Usar los controles ActiveX específicos de red permite realizar más sencillamente aplicaciones de red.
El Microsoft Internet Transfer Control a sido diseñado para envolver el interface de Windows Sockets. El control soporta tanto HTTP como FTP. Usando el protocolo HTTP no podemos conectar a servidores World Wide Web para acceder a documentos HTML.
Con el protocolo FTP nos podemos conectar a un servidor FTP para bajar o subir ficheros. Las propiedades UserName y Password permiten identificarse en servidores privados que requieren autentificación. Los comandos FTP clásicos tales como CD y GET, se soportan a través del método Execute.
El Web Browser control añade rápidamente a una aplicación la funcionalidad de un navegador Web. El control automáticamente interpreta el HTML.
COM provee de una definición estándar de cómo las aplicaciones y objetos componentes se debe comunicar y compartir datos. Esta interacción se realiza a través de interfaces COM.
Es una especificación estándar binaria de cómo los objetos COM deben ser construidos y diseñados. Esto provee la estructura necesaria para ínter operar entre las aplicaciones o componentes. Al seguir un estándar binario las aplicaciones y los objetos componente puede comunicarse con los otros sin que importe el lenguaje en el que han sido desarrollados.
Ya que los objetos COM deben soportar un interface binario estándar, los desarrolladores pueden crear objetos COM con cualquier lenguaje de programación capaz de soportar el interface. Un aplicación cliente o un objeto componente no se deben preocupar del lenguaje en el que el objeto COM a sido escrito, solo debe comunicarse con el a través de in interface binario.
La arquitectura COM esta revolucionando la industria de creación de software sin requerir cambios de las arquitecturas de red, hardware o herramientas de programación.
COM habilita la interoperabilidad entre las aplicaciones escritas en lenguajes diferentes. Object Linking and Embedding (OLE) y ActiveX usan COM en su implementación. Mientras el termino ActiveX a reemplazado a OLE, OLE todavía se usa cuando no referimos a ciertas implementaciones como OLE Structured Storage y OLRE automation.
Los objetos COM son componentes de software reusables que estás específicamente diseñados para ser usados por otras aplicaciones. Antes de COM, los objetos creados con un lenguaje OOP, podían ser utilizados dentro del mismo lenguaje. La tecnología COM puede empaquetar y encapsular el objeto OOP dentro de DLLs reusables, ActiveX (OCX) controls, o ficheros ejecutables para un uso general entre varias aplicaciones de software o lenguajes de programación.
COM no específica como deben estar estructurados los componentes; especifica como deben interactuar. El lenguaje de programación y el entorno de desarrollo determinan la estructuras del objeto.
Un objeto COM provee de servicio a clientes. Un cliente es una pieza de código (no necesariamente una aplicación) que accede a los servicios de un objeto. Un servidor es una pieza de código que provee servicios a un cliente. Estos servicios se acceden a través de un interface COM que puede ser llamado por el objeto cliente.
Los dos tipos de objetos COM In-Process y Out-Process, proveen servicios, Un objeto InProcess está implementado como una Dll y siempre corre en la máquina local. Los objetos Out-of-Process están implementados como ejecutables y pueden residir tanto en la máquina local como en una remota.
Los objetos COM exponen su funcionalidad a través de interfaces. El interface de un objeto COM provee un puntero, o ubicación de memoria, a las funciones para que los clientes puedan acceder a la funcionalidad del objeto COM. Esta interacción entre el usuario y el servidor se conoce como contract (contrato).
El contrato entre los componentes de software define:
q Un identificador único para distinguir cada interface.
q La localización de la función en el interface.
q El propósito de la función.
q Los argumentos y valores de retorno de cada función.
El contrato no define:
q Como implementar la función.
q El código interno de la función.
q El lenguaje usado para crear el objeto.
q La plataforma en la que el objeto debe correr.
Un interface no es un objeto, ni un objeto clase. Los interfaces son clases abstractas que se debe diseñar para poder ser usadas en múltiples contextos.
El interface IUnknow es soportado por todos los objetos COM. Provee de tres métodos principales: AddRef, Release y QueryInterface.
q AddRef.
Cada vez que un una instancia del objeto se crea, se usa este método para incrementar el contador interno del objeto. En Visual Basic el método AddRef es llamado por la función CreateObject.
q Release.
Se usa para destruir un objeto y restarlo del contador interno. En Visual Basic se puede realizar igualando el objeto a Nothing.
q QueryInterface.
Provee una lista de los interfaces que el objeto soporta. Visual Basic provee de esta funcionalidad directamente a través de Set.
El interface IDispatch es un interface Automation, para controladores que no usan directamente el interface COM. Un fichero ejecutable, o DLL que use IDispatch es conocido como Automation Server. Cuando accedemos a un objeto a través de IDispatch se usa late-binding (linkaje dinamico), ya que ocurre en run time. Soporta los siguientes métodos:
q GetIDsOfNames.
Devuelve el puntero a un método, que será usado en la llamada a Invoke.
q GetTypeInfo.
Devuelve información de tipo del objeto.
q GetTypeInfoCount.
Devuelve el número de interface de información de tipo que un objeto provee.
q Invoke.
Provee acceso a las propiedades y métodos expuestas por el objeto.
En run time los clientes pasan una cadena con el nombre de la propiedad o método que desean llamar a IDIspatch.GetIDsOfNames. Si la propiedad o el método existe en el objeto, su ID es enviado al cliente. Este ID puede ser usado por el método IDispatch.Invoke. Las funciones GetTypeInfo y GetTypeInfoCount obtienen información sobre la librería de tipos del componente, acerca de los interfaces métodos y propiedades que soporta.
En Visual Basic se usa Late Binding cuando la declaración de la variable que contiene el objetos se a realizado como Object, es decir que la variable puede cambiar su tipo en cualquier momento de la ejecución.
Automation permite a un cliente ActiveX llamar a un método o propiedad directamente. Está característica se llama virtual table binding (VTBL), no usa el interface IDIspatch. Usar la VTBL también se conoce como enlace estático (early binding) en Visual Basic. Early Binding requiere información de tipo provista en forma de librería de tipo. Un cliente obtiene la información desde la librería de tipo en tiempo de compilación. Esta información de tipo permite a Visual Basic realizar un chequeo de la sintaxis. En run time, este tipo de enlace es más rápido, ya que la localización en memoria del Automation Server ya es conocida, los tipos de datos y la sintaxis a sido ya chequeada, y la llamada es directa y no usando el IDispatch Interface.
La VTBL lista las direcciones de todas las propiedades y métodos que son miembros de un objeto, incluyendo las funciones miembro de los interfaces que soporta. Los tres primeros puestos de la VTBL son los miembros del interface IUnknow, Las entradas siguientes son miembros de otros interfaces soportados.
COM usa GUIDs, enteros de 128 bits que garantizan ser únicos, para poder identificar cada interface y cada componente COM. Los nombres Human-Readables se asignan solo por conveniencia y son validos solo en el ordenador donde el componentes esta instalado. Esto asegura a que los componentes COM no se conectan accidentalmente a un componente erróneo.
Cada componente COM dispone de un GUID llamado identificador de Clase (CLSID) que se refiere al componente. Otro GUID debe ser creado para cada interface, conocido como identificador de Interface (IID).
DCOM es un protocolo que posibilita la comunicación directa entre componentes de software a través de una red de una manera fiables, segura y eficiente. Previamente llamado Network OLE, DCOM a sido diseñado para ser usado con por múltiples protocolos de red. Esta basado en la especificación DCE-RPC de Open Software Foundation (OSF), y soporta tanto applets de Java como componentes ActiveX.
Cuando el cliente y el componente residen en diferentes maquinas, DCOM simplemente reemplaza el proceso local de comunicación con un protocolo de red. Ni el cliente ni el servidor se preocupan de la situación del otro.
El nivel de acceso para un ordenador de red puede ser configurado mediante el Remote Automation Connection Manager. Debe estar instalado y ejecutándose en el ordenador remoto. Viene con Visual Basic 5.0 enterprise y puede ser usado para conectarse a COM a través de remote automation o DCOM.
El tab Client Access del Connection Manager permite seleccionar la configuración de seguridad del ordenador remoto. En la siguiente tabla se muestran los valores de RemoteActivationPolicy.
|
Nombre |
Numero |
Descripcion |
|
Disallow
All Remote |
0 |
No
permite crear ningún objeto. |
|
Allow
Remote Creates By Key |
2 |
Un
objeto puede ser creado solo si el check box Remote Activation esta seleccionado. Esto altera en el registry
los datos a guardar en su CLSID y incluye la siguiente subkey: AllowRemoteActivation=Y |
|
Allow
Remote Creates By ACL |
3 |
Un
usuario puede crear un objeto solo si la Access Control List para el CLSID
incluye al usuario. (Solo Windows NT). |
|
Allow
All Remotes Creates |
1 |
Permite
crear cualquier objeto. |
Conocimientos:
|
q Identificar situaciones en las que Microsoft Office, Microsoft BackOffice y Microsoft Visual Tool Suite son componentes de una solución apropiada. q Escoger la mejor plataforma de desarrollo. |
Se pueden crear soluciones usando una variedad de herramientas de desarrollo de Microsoft. Las más comunes están incluidas en Microsoft Visual Studio y Microsoft Office Suites.
Visual Studio 97 es una suite para la creación de aplicaciones multitier y Web, y para integrar las arquitecturas client / server y Internet.
Microsoft Office permite a los desarrolladores crear, manejar y distribuir potentes soluciones rápidamente.
Es un juego de herramientas visuales de desarrollo para crear aplicaciones de Internet y cliente servidor. Las herramientas en esta suite proveen de herramientas necesarias para los departamentos de MIS, proveedores de soluciones de software.
Incluye las siguientes herramientas de desarrollo:
q Visual Basic.
q Visual C++.
q Visual InterDev.
q Visual J++.
q Visual FoxPro.
También incluye una versión especial para desarrolladores de Microsoft Transaction Server y SQL Server.
Ofrece la manera más rápida y fácil de crear aplicaciones para Windows. Es un completo juego de herramientas que simplifican el RAD, tanto para programadores expertos como para noveles.
La palabra “Visual” en Visual Basic se refiere al método de crear las pantallas (GUI). En lugar de escribir numerosas líneas de código para describir la apariencia y posición de los controles en pantalla, se arrastra y se colocan elementos prefabricados dentro de su posición en la pantalla. “Basic” se refiere al lenguaje de programación Basic. Visual Basic es una evolución del lenguaje Basic original. Los novatos pueden crear aplicaciones útiles aprendiendo solo algunos métodos. Así y todo Visual Basic es lo suficientemente potente como para competir con otras herramientas de desarrollo más sofisticadas. Visual Basic provee de las siguientes funcionalidades:
q
RAD
(Rapid Application Development.
q Acceso a base de datos, para crear aplicaciones rápidas, de un alto rendimiento y componentes. (Por Dios, no tienen vergüenza).
q Desarrollo en equipo y compatibilidad con Visual Modeler, Visual Database Tools, Visual SourceSafe, y SQL Server.
q Desarrollar para una plataforma como Internet sin abandonar el código existente ni los conocimientos de desarrollo.
q La habilidad de crear componentes ActiveX para cliente servidor, Internet, y Microsoft Transaction Server.
q Código nativo optimizado para un alto rendimiento, y posibilidad de optimización para Pentium Pro.
Las ventajas de Visual Basic son las siguientes:
q Puede ser utilizado fácilmente para crear aplicaciones Windows.
q Tiene una curva de aprendizaje corta.
C++ es un lenguaje orientado a objetos. Aunque C++ puede ser usado como un lenguaje procedural, Las características orientadas a objetos de Visual C++ permiten a los desarrolladores aprovechar todas las ventajas del lenguaje.
Usando C++ y los conceptos de la orientación a objetos, se reducen los la programación al crear objetos reusables a través de múltiples proyectos. Provee de las siguientes características:
q Soporta estándares abiertos como OSI y ANSI.
q Soporta una variedad de metodologías de desarrollo..
q Soporta upgrades desde aplicaciones monousuario a cliente servidor multitier. Con un modelo de objetos distribuidos y un back end de alto rendimiento de bases de datos.
q Crea componentes de software reusables. Puede ser usado para crear potentes componentes de software de bajo nivel para ser usados en varias aplicaciones.
Las ventajas de Visual C++ son las siguientes:
q Crea aplicaciones totalmente funcionales para varias plataformas.
Con Microsoft Visual C++, los desarrolladores pueden usar el mismo código y el mismo juego de herramientas para escribir aplicaciones que corran en Windows NT, Windows 95 Windows CE y Macintosh.
q Compila programas para correr en MIPS R4000, Alpha, y procesadores PowerPC.
q Rápido desarrollo de bases de datos usando Visual Database Tools en Visual C++.
q Produce el código más rápido y pequeño para las aplicaciones de 32 bits de Windows95 y NT.
q Crea código basado en componentes nativo de COM.
q Rápida creación de Active Document Servers, containers, y Automation Objects, así como la creación y uso de controles ActiveX con MFCs y Wizards.
Permite a los desarrolladores crear y manejar proyectos Web compartidos. Este incluye una gran variedad de herramientas visuales dentro de un simple e integrado entorno de desarrollo. Visual Interdev automáticamente publica los nuevos contenidos en un Web Server y provee de manejo externo para el Web Site. El IDE incluye también Visual Database Tools para la creación y manejo de los datos en los Web Sites.
Algunas de las herramientas incluidas en Visual Interdev son:
q Herramientas de desarrollo de Active Server Pages (SQP).
q
Personal
Web Server (Solo Windows 95).
q
Web
Site Management.
q Image Composer para diseñar gráficos y modificar imágenes para paginas Web.
q Media Manager, un herramienta de creación multimedia que ayuda a combinar imágenes y sonidos.
q Music Producer para crear ficheros .wav y otros ficheros de sonido.
Las ventajas de usar Visual Interdev son las siguientes.
q Provee de un completo juego de soluciones para fabricar aplicaciones de Web dinámicas.
q Alta interacción con bases de datos que sean accesibles desde cualquier browse.
q Lenguajes de script familiares como Visual Basic Script, JavaScript, que pueden ser mezclados para crear aplicaciones.
q Provee de una gran varidad de componentes visuales y wizards que automáticamente generan HTML y script.
q Los scripts pueden ser testeados y los ficheros HTML ser vistos inmediatamente porque los ficheros master son modificados automáticamente en el servidor Web cuando los ficheros se guardan.
q Incluso sin control de código, varios desarrolladores pueden trabajar con ficheros en el mismo Web, simplemente creando su propia copia loca.
q No es necesario el acceso físico a la maquina que contiene el servidor de Web para modificar, crear o borrar ficheros de la aplicación Web, ya que todo el acceso se realiza a través de HTTP. Puede pasar a través de un prosa o FireWall ya que estos acepta HTTP.
Es una herramienta de desarrollo basada en Java orientada a objetos. Usa el mismo interface que Visual C++. El desarrollo de Visual J++ solo puede hacerse bajo Windows95 o NT 4.0. Así y todo, el código generado puede ser ejecutado en cualquier plataforma que soporte Java Virtual Machine.
Java Virtual Machine es necesaria para ejecutar aplicaciones Java. Es un emulador de procesador virtual en software. Las instrucciones se ejecutan en un procesador que es siempre el mismo, sin importar el sistema operativo en el que la maquina virtual este corriendo.
Este comportamiento facilita que el código Java pueda correr en cualquier plataforma que disponga de una Java Virtual Machine.
Las ventajas de usar Visual J++ son las siguientes:
q Realiza con código 100% compatible con Java(¿¿) Applets y aplicaciones, o las extiende integrándolas con las aplicaciones existentes. Un Applet es un programa Java que puede ser incluido en una pagina HTML. Cuando un usuario inspecciona un documento HTML que contiene un Applet Java, el código del Applet se transfiere al ordenador del usuario, y es compilado y ejecutado por el Browser.
q Se aprovecha de los conocimientos y código existente de Java.
q Compila más de 10000 líneas de código por segundo. (Será en su maquinorro de pruebas).
q Busca y localiza los bugs rápidamente; El debugger de Visual J++ puede debugar múltiples Applets simultáneamente desde dentro de un Browser.
q Alto rendimiento en acceso a bases de datos usando DAO y RDO.
q Usa componentes ActiveX con aplicaciones Java y crea componentes ActiveX con Java.
Es un entorno orientado a objetos especialmente pensado para la creación de aplicaciones de bases de datos. Permite construir objetos y clases con herencia real, encapsulación y otros rasgos de un entorno orientado a objetos robusto.
Provee de las herramientas necesaria para organizar tablas de información, ejecutar consultas, crear bases de datos relacionales integradas.
Igual que Visual Basic FoxPro puede ser usado para crear Automation Servers que expongan su funcionalidad que pueden ser usados y rehusados por otras aplicaciones. también, como Visual Basic, soporta Remote Automation para crear aplicaciones distribuidas.
Las ventajas de usar Visual FoxPro son las siguientes:
q Una ingeniería de acceso a bases de datos robusta, optimizada para grandes juegos de resultados, y la mejor elección para los desarrolladores XBase.
q Sigue el legado de las aplicaciones XBase en Windows95 y NT.
q El Visual Class Designer, que permite crear clases sin aprender la sintaxis de la orientación a objetos.
q RAD usando técnicas de programación Object Oriented.
q Librería de clases que pueden usarse para construir rápidamente aplicaciones desde componentes fiables.
Seleccionar la herramienta apropiada conlleva al análisis de la aplicación a desarrollar. Es necesario plantearse las siguientes cuestiones:
q ¿Correrá la aplicación en plataformas Windows?
q ¿Se usarán técnicas orientadas a objetos en el desarrollo?
q ¿Necesitará la aplicación correr en una pagina Web?
|
|
Visual
Basic |
Visual
C++ |
Visual
Interdev |
Visual
J++ |
Visual
FoxPro |
|
Orientación objetos |
|
X |
|
X |
X |
|
Creación de componentes reusables. |
X |
X |
|
X |
|
|
Compila programas que corran en MIPS, Alpha
y PowerPC. |
|
X |
|
|
|
|
Aplicaciones Internet para browser y Active
Server Pages. |
|
|
X |
|
|
|
Capacidades desarrollo cliente servidor. |
X |
X |
X |
|
X |
En contraste con la programación procedural, la programación orientada a objeto envuelve el uso del diseño y de la programación.
Los programas orientados a objetos consisten en módulos de software llamados objetos, que encapsulan tanto datos como procedimientos. Hay cuatro características principales del los lenguajes orientados a objetos:
q Abstracción.
q Encapsulación.
q Herencia.
q Polimorfismo.
Los componentes de Visual Studio que pueden considerarse como lenguajes orientados a objetos son:
q Visual C++.
q Visual FoxPro.
q Visual J++.
Visual C++ provee de la solución más potente para desarrollar componentes de software. Este incluye un editor COM para generar y mantener objetos COM. También incorpora Wizards para la generación de controles ActiveX. Visual C++ además provee de soporte nativo para COM, y un Wizard que genera objetos ATL. Para acelerar la generación de código de componentes pequeños y rápidos.
Visual Basic es uno de los caminos más rápidos para crear controles ActiveX. Sus Wizards soportan el desarrollo y explotación de los controles ActiveX, incluyen ActiveX Control Interface, el Property Page Wizard y el Setup Wizard.
Los desarrolladores que usen Visual J++ pueden usar componentes para extender el código de Java de las soluciones basadas en Windows y crear componentes ActiveX server. Este además incluye un wizard que facilita la creación de ActiveX Servers Components.
Si una aplicación necesita correr en varios tipos de procesadores, como MIPS, Alpha, RISC, o PowerPC, la mejor solución es Visual C++. Las aplicaciones de Visual Basic solo pueden correr en plataformas Windows.
C++ es un lenguaje estándar que es abierto, flexible, y altamente portable.
Para el desarrollo de aplicaciones Internet o intranet, Visual J++ y Visual Interdev son las soluciones más potentes. Visual J++ permite crear aplicaciones y componentes de software que corran en cualquier plataforma que incluyan una Java Virtual Machine o cualquier Browser que soporte Java.
Con Visual Interdev se pueden generar automáticamente paginas HTML y el script necesario para acceder a soluciones WEB de bases de dato, usando VBScript y JScript. Estas aplicaciones HTML pueden ser vistas desde cualquier Browser o plataforma.
Visual FoxPro permite desarrollar aplicaciones cliente servidor. Este es un desktop profesional para desarrolladores de bases de datos que deseen usar RAD, programación orientada a objetos, y es un excelente front end para acceder a servidores de bases de datos. Una aplicación cliente servidor desarrollada en Visual FoxPro ofrece velocidad, almacenamiento de datos masivo, y acceso seguro a los datos .
Visual Basic puede también ser usado para crear aplicaciones cliente servidor de alto rendimiento. El control Remote Data Control, basado en ODBC, esta optimizado para SQL Server y Oracle/. El Remote Data Control tiene una completa librería OLE para programar por encima de la base de datos. Visual Basic también provee soporte para consulta asíncronas.
Visual Interdev hace fácil la integración cliente / servidor y las tecnologías Web para desarrollar aplicaciones Web.
Además Visual C++ usa el framework cliente servidor y las MFCs para desarrollar aplicaciones de bases de datos. Esto se realiza usando clases o componentes para encapsular conectividad de bases de datos y transacciones.
Microsoft Office provee de inteligencia, aplicación, y funcionalidad de Internet a para ayudar a los usuarios a trabajar más eficientemente y efectivamente. Con Microsoft Office se pueden crear soluciones usando Visual Basic for Applications en cada aplicación de Microsoft Office.
Microsoft Office contiene un número de componentes que pueden ser usados en el desarrollo de soluciones de negocio.
q Microsoft Word simplifica el tratamiento de textos.
q Microsoft Excel es una hoja de cálculo.
q Microsoft PowerPoint es un software de presentaciones.
q Microsoft Outlook maneja e-mails, calendarios, agenda de grupos, contactos, tareas, etc...
q Microsoft Access es un desktop de base de datos relacional que permite al usuario compartir información y fabricar soluciones de negocio.
Microsoft Office Binder es una aplicación que permite a los usuario guardar múltiples documentos Office dentro de un solo fichero. Los tipos Office que se pueden guardar dentro de un fichero de Office Binder sol los siguientes:
q
Microsoft
Excel.
q
Microsoft
PowerPoint.
q Microsoft Word.
OFFICE Binder provee de un modelo de objetos muy simple que puede ser usado para guardar, leer e imprimir los documentos. Microsoft Office debe estar instalado para acceder a los objetos Binder a través de OLE Automation.
Es una nueva versión de Visual Basic incluida en las aplicaciones Office.
En lugar de trabajar con formularios y controles, como Visual Basic, VBA trabaja dentro del contexto de la aplicación. Las diferencia principale entre VB y VBA es que VBA no soporta eventos. En lugar de eventos, las aplicaciones que soportan VBA exponen objetos o funcionalidades como:
q Un gráfico o tabla en Microsoft Excel.
q Un formulario en Microsoft Access.
q Un documento en Microsoft Word.
Tenemos tres escenarios básicos en los que VBA se usa.
q Customizar una aplicación configurando los métodos y propiedades de sus objetos.
q Integrar componentes de terceros fabricantes (controles ActiveX) dentro de una solución a medida.
q Integrar objetos desde múltiples aplicaciones dentro de solo una.
Microsoft Office permite crear aplicaciones a medida mediante la exposición de la funcionalidad a través de objetos programables que aprovechen las ventajas de cada aplicación.
Se pueden usar los componentes de Office para crear soluciones a medida escribiendo la mínima cantidad de código, lo que resulta en un menor ciclo de desarrollo y soluciones más potentes. Usar componentes de Office añade estabilidad y estandarización los procesos de negocio en los que son usados. Pueden ser controlados e incorporados dentro de soluciones de negocio usando el lenguaje de programación VBA. Existen muchos niveles de objetos en VBA; así y todo el objeto Aplicación es necesario para crear una instancia de un componente Office.
|
|
|
|||
|
Planning |
q
Enterprise
Architecture Model. Se toman decisiones sobre la arquitectura
técnica necesaria. Abarca cuatro perspectivas: negocio, aplicación,
información y tecnología. |
q Busines Architecture. Describe como trabaja la
empresa. Se usa para descubrir las oportunidades de incrementar las ventas,
reducir los costes o mejorar la innovación. |
|
|
|
q Application Architecture. Describe los interfaces
servicios y modelos de aplicaciones necesarios. Se traduce dentro de la fase
del desarrollo en recursos como librerías, componentes, etc... |
|
|||
|
q Information Architecture. Describe lo conocimientos
necesarios que de debe tener la organización para realizar sus negocios u
operaciones. Ósea los datos, y como se manejan estos. |
|
|||
|
q Technology Architecture. Detalla las guías para adquirir
y/o desarrollar las aplicaciones. |
|
|||
|
Building |
q
Team
Model. Define un equipo de personas
trabajando en equipo y cooperando. |
q Program Management. Toma las decisiones criticas
necesarias para liberar el producto en el tiempo esperado. |
|
|
|
q Product Management. Adquiere conocimiento de los
deseos del cliente y los adapta al producto. |
|
|||
|
q Development. Desarrolla el producto, es
imprescindible que conozca los deseos del cliente. |
|
|||
|
q Testing. Asegura la calidad. Prueba los
APIs y interface del usuario, asegura que el producto se puede integrar con
el sistema existente. |
|
|||
|
q Logistics. Asegura una instalación correcta
y una fácil migración. |
|
|||
|
q User Education. Enseña al usuario. |
|
|||
|
q Process Model. Ayuda al equipo a establecer
unas guías para planear y controlar los resultados basándose en unas metas,
los recursos disponibles y el calendario. |
q Envisioning Phase. Asegurar que se cumplen los
requisitos presentes y futuros. Dividida en visión(percepción), scope(visto
bueno), approval(aprobado). |
|
||
|
q Planning Phase. Reunión con el cliente para
decidir la arquitectura de la solución. Culmina en Project Plan Approved.
Planning del calendario de los miembros del
equipo. |
|
|||
|
q Developing Phase. Culmina en el hito Scope
Complete. Se parte de un funcional finalizado, y mediante un bucle
desarrollo/depuración/arreglos se llega a una primera versión. |
|
|||
|
q Stabilization Phase. Culmina la entrega de la primera
versión, mientras todavía sigue el desarrollo. Se buscan y solucionan bugs. |
|
|||
|
q Application Model. Describe la arquitectura la
aplicación. Divide una aplicación en diferentes servicios. |
q User Services. Es la unidad que provee de
interface gráfico a la aplicación. Si el usuario de la aplicación es otra
aplicación entonces se define un interface de programación. |
|
||
|
q Bussines Service. Contiene el control lógico. Controla la secuencia de las reglas y la integridad de las operaciones. |
|
|||
|
q Data services. Provee del nivel mas bajo de
abstracción para manejo de datos. Los otros servicios no necesitan conocer
como ni donde están guardados los datos. |
|
|||
|
Managing |
q
Infraestructure
Model. Establece los principio para
manejar a la gente, tecnología y procesos que debe soporta la red en una gran
empresa. Intenta limitar el impacto tecnológico de un gran proyecto. Junta
los otros modelos de MSF para manejar un proyecto. |
|
||
|
q
Total
Cost of Ownership Model. Ayuda a reducir los costes y a reducir el impacto de la inversión. |
q Planning Phase. Muestra como calcular benchmark,
baseline, recuperación de la inversión y validación. Un benchmark es una
determinación total de los costes basandose en la media de la industria. Una
Baseline esta basada en el coste de adquirir, manejar y retirar los
existentes. |
|
||
|
q Building Phase. Se calcula el ROI (recuperar la
inversión) simulando el impacto de la solución propuesta. |
|
|||
|
q Managing Phase. Mira los resultados actuales
contrastándolos con los actuales. Muchos costes no se encuentran en la
adquisición sino en el desarrollo, soporte y mantenimiento de las nuevas
tecnologías. |
|
|||
Conocimientos:
q Dado un escenario, discutir el uso de Microsoft Solutions Framework (MSF) para guiar el desarrollo, test, y despliegue de una solución de negocio.
Microsoft Solutions Framework es una serie de flexibles e interrelacionados modelos que guían a una organización a través del proceso de aunar los recursos, gente y técnicas necesarias para asegurar que la infraestructura y la tecnología conducen al objetivo deseado. Los modelos ayudan al desarrollo y despliegue de la solución de software a través de tres ciclos planning (planificación), construcción (building) y gestión (management).
Para el ciclo de planning, MSF provee de un modelo de arquitectura de empresa. Para Building, provee el modelo de equipo, proceso, aplicación y riesgo del cambio. Para Management provee de los modelos de Infraestructura, Operaciones, y coste total de los modelos.
Puede ser implementado por si mismo o usado en conjunción con otras herramientas y técnicas. MSF esta diseñado para ayudar a las organizaciones:
q Rehabilitar la tecnología existente, aplicaciones, y arquitectura de datos con un mínimo alteramiento.
q Desarrollar disciplinas para organizar efectivamente los equipos y manejar el ciclo de vida de un proyecto.
q Soportar y manejar el despliegue, operaciones, y tecnologías de las soluciones.
Puede además ayudar en el planning, realizando, y manejando la infraestructura de tecnología. Este expone tareas de riesgo, suposiciones de planificación, y claves que deben ser descubiertas para que la solución pueda ser llevada a fin.
MSF puede ayudar a localizar los siguientes puntos:
q Como manejar los recursos informáticos.
q Como mejorar el desarrollo, reducir el mantenimiento, e incrementar la reutilización de tecnología.
q Como asimilar las modificaciones de requerimientos del negocio o del usuario sin desarrollar de nuevo el sistema por entero.
Cada modelo de MSF contribuye a el ciclo de desarrollo de software. Los puntos a resaltar sol la clara relación entre los objetivos de negocio de la compañía. Y las soluciones tecnológicas que deben implementarse. Los modelos y su propósito se listan en la siguiente tabla:
|
Modelo |
Descripción |
|
Team Model |
Define
un equipo trabajando en un marco de cooperación. |
|
Process Model. |
Ayuda
al equipo a establecer las guías del planning y controlar los resultados, los
recursos disponibles y el calendario. |
|
Application Model. |
Ayuda
al equipo a diseñar aplicaciones distribuidas que cojan toda la ventaja de la
reutilización de componentes. Los modelos Team y Process forman el corazón de
la disciplina MSF. |
|
Enterprise Architecture Model. |
Clave
para la feliz utilización de nuevas tecnologías. |
|
Solutions Design Model. |
Muestra
como la aplicación debe ser diseñada, desde la perspectiva de un usuario. |
|
Infraestructure Model. |
Establece
los principio de MSF para manejar a la gente, procesos y tecnología que
soporten redes en grandes empresas. |
|
Total cost of Ownership Model. |
Un
proceso para evaluar, mejorar, y manejar los costes. |
Muestra como estructurar los equipos para obtener la calidad optima al menor coste. El Team Model de Microsoft define un equipo trabajando de manera cooperativa. Cada miembro del equipo tiene un rol bien definido en el proyecto y una misión especifica. Esta metodología anima a los miembros y da como resultado un producto mejor. Los lideres de cada equipo son responsables de manejar, guiar y coordinar, mientras que los miembros del equipo se centran en sus misiones. Los seis roles del Team Model son:
q Program Management.
Toma las decisiones criticas necesarias para llegar al producto deseado en el tiempo deseado, coordina las decisiones para entregar el producto de una manera consistente con organizaciones estándares y los objetivos cumplidos.
q Product Management.
Articula la visión del producto o servicio, adquiere y cuantifica los requerimientos del cliente.
q Development.
Fabrica o implementa el producto o servicio, que conozca las expectativas y especificaciones del cliente, para que el sistema liberado sea del gusto del cliente y siga las especificaciones funcionales.
q Testing.
Asegura que todo producto liberado es correcto. Se deben testear tanto el interface de usuario como los APIs, y verificar que el nuevo software se integra dentro de los sistemas existentes.
q Logistics.
Asegura una fácil instalación y migración del producto para que soporte las nuevas operaciones.
q User Education.
Adiestra al usuario (como a un perro) a través de sistemas de aprendizaje. Esto reduce el coste de soporte y hace al producto más fácil de usar y utilizar.
Todos los miembros del equipo son responsables de la calidad del equipo. Esto ayuda a aseguras la calidad y poder entregar antes el producto o solución. En la implementación libera del agobio, reduce los costes de help desk y minimiza los costes de soporte durante la transición.
Es un modelo basado en hitos, que provee de unas guías y un planning y controla los resultados basándose en un propósito, los recursos disponibles, y el calendario. Es un modelo interactivo y adaptable que:
q Define hitos críticos pero manejables para el desarrollo.
q Crea una responsabilidad de equipo.
q Localiza los riesgos de un proyecto lo antes posible.
q Define las variables y prioridades que afectan al calendario.
Esta guías facilitan el tomo fácil de decisiones, reduce el trabajo sobrante, da moral, y como resultado un mejor producto. Toma características de rendimiento, o soporte como parte del proceso de desarrollo, el Process Model puede minimizar los riesgos asociados a la concepción de un nuevo producto.
Consiste en cuatro fases, cada fase culmina en un hito.
q Fase Envisioning (Concepción idea).
Asegura que los desarrollos cumplen tanto los requisitos presentes como los que se puedan presentar en el futuro. Requiere un pensamiento abierto acerca de las necesidades del negocio y las particularidades que las generan.
Puede evitar el concentrar esfuerzos en necesidades menores, o perpetuar procesos inefectivos. La fase Envisioning culmina en los hitos percepción(visión), visto bueno (scope), aprobación (approval). Una vez un nuevo producto o un nuevo servicio, es aprobado se forma un equipo de trabajo para definir el producto. En la percepción (Visión) se articulan los objetivos del producto o servicio y se toma una dirección. En visto bueno (scope) definimos los limites de una versión particular del producto.
q Fase Planning.
En Microsoft, el planning es cuando el cliente y el equipo acuerdan que se va a hacer y como el producto va a ser fabricado. Es una oportunidad para valorar los riesgos, establecer prioridades, y finalizar las estimaciones del calendario y los recursos.
Culmina en el hito Project Plan Approved (Claro nombre). El Project Plan contiene la especificación funcional del producto –Los roles de cada miembro se definen en MSF Team Model- y el calendario. Las especificaciones funcionales proveen al equipo del proyecto con la información en detalle para identificar que recursos necesitarán para cumplir los requisitos.
q Fase developing.
Culmina en el hito Scope Complete / First Use Milestone. Un funcional finalizado y aprobado y un plan de equipo proveen la base para que el desarrollo empiece. El equipo de desarrollo establece un número de hitos internos en el ciclo test/debug/fix.
Los clientes y el equipo evalúan la funcionalidad del producto y verifican que lo planes previstos se cumplen. Todo nuevo desarrollo se completa, y puede dejar funcionalidades aplazadas, que deben ser documentadas para el futuro.
q Fase Stabilization.
Culmina en la entrega de la release. Se realiza mientras todavía continua el desarrollo de código. Durante la fase de estabilización, se busca y encuentran bugs.
Describe el desarrollo de la aplicación. Establece las definiciones, reglas y relaciones en la forma de estructurar las aplicaciones. También ofrece guías para dividir una aplicación dentro de una red en servicios, y que funcionalidad puede ser empaquetada para ser reaprovechada.
Un servicio es una unidad de aplicación que implementa una operación, función o transformación que se aplica a un objeto. Tenemos tres categorías de servicios.
q User services.
Es la unidad de la aplicación que provee del interface. El usuario de una aplicación puede ser una persona u otra aplicación. Por lo que el interface puede ser un interface de usuario o de programación para otra aplicación.
q Bussines Service.
Son las unidades de una aplicación que contiene el control lógico, controla la ejecución de la secuencia de reglas del negocio y la integridad de las operaciones realizadas. Transforma los datos en información a través de la apropiada aplicación de las reglas de negocio.
q Data Services.
Provee la más baja capa de abstracción para manipular los datos. Mantiene la disponibilidad e integridad tanto de los datos persistentes como de los no persistentes. Gracias a ellos los Bussines Services no necesitan conocer ni donde ni como están guardados los datos, como están implementados o como se accede a ellos.
Estos servicios se usan para desarrollar aplicaciones multitier, son particularmente aplicables cuando el negocio esta integrado con las tecnologías de Internet. En particular se puede:
q Proveer a una aplicación con soporte a múltiples plataformas para entornos de estaciones de trabajo heterogéneas.
q Promover un estilo de interface de usuario consistente, con el mismo modo de navegación para todas las aplicaciones.
q Establece una presencia mantenida en WWW.
q Simplifica el desarrollo de aplicaciones a través de un mantenimiento centralizado de una aplicación en Internet Servers.
Provee de consistente juego de guías para planear, realizar, y manejar una infraestructura tecnológica. Este abarca cuatro perspectivas: negocio, aplicación, información, y tecnología. Visualizar cada perspectiva nos permite controlar mejor los cambios estratégicos para la empresa. MSF Enterprise Model cuenta con cuatro arquitecturas:
q
The
Bussines Architecture.
Describe la funcionalidad de las actividades que lleva a cabo la empresa. El proceso describe la arquitectura del negocio y resalta los puntos donde el uso de las nuevas tecnologías pueden ayudar. Las preguntas principales que debemos realizarnos son:
q ¿Cual es el negocio de las empresa?.
q ¿Qué servicios y recursos son necesarios para llevar a cavo el negocio?
q ¿Cuáles son los puntos fuertes?
q ¿Qué tiende a afectar al negocio?
q ¿Es mercado se esta expandiendo o al contrario?
q ¿Dónde estará situada la industria de aquí a cinco años?
q ¿Cuáles son los márgenes del negocio?
q ¿Tus principales procesos conocen y cubren las necesidades de tus clientes?
q ¿Los nuevos sistemas van a tener efectos positivos en el cash flow, facturación o ventas?
q
The
Application Architecture.
Describe los interface estándar, servicios, y modelos de aplicaciones necesarias. Describe también las interacciones y dependencias entre las aplicaciones de la solución. Las principales preguntas que debemos realizarnos son:
q ¿Que capacidades de integración hay con el sistema existente?
q ¿Que modelo de aplicación se usa dentro de la organización?
q ¿Dónde están los retrasos de la aplicación?
q ¿Qué aplicaciones son únicas para el negocio?
q ¿Qué aplicaciones pueden ser adquiridas a terceros vendedores de software?
q ¿Las aplicaciones necesita una alta complejidad o estabilidad?
q ¿Las aplicaciones principales pueden ignorar las necesidades del cliente?
q
The
Information Architecture.
Describe lo que la organización necesita conocer para realizar sus procesos y operaciones. Modelos de datos, planes de manejo de datos. Describe como los datos están conectados con el flujo de trabajo. Alguna de la información mas critica reside en la base de datos, pero no toda. Las preguntas principales que debemos realizarnos son:
q ¿Qué información es necesaria parea el negocio?
q ¿Cuales son los requerimientos y estándares de la industria?
q ¿Qué información critica se necesita?
q ¿Cuáles son los requerimientos funcionales de tus datos?
q ¿Cuáles son los requerimientos del proceso de datos y WorkFlow?
q ¿Existen leyes que afecten a los datos que necesitas?
q
The
Technology Architecture.
Muestra los estándares y guías para el desarrollo de: aplicaciones de cliente, bloques de la aplicación, servicios de infraestructura, componentes de red, y plataformas. Las preguntas principales que debemos realizarnos son:
q ¿Qué nivel de riesgo tecnológico es aceptable?
q ¿Se debe adoptar una solución estándar o comprar una a medida?
q ¿Puede la actual infraestructura tecnológica absorber las necesidades?
q ¿Se conoce que capacidad tecnológica es necesaria hoy y en el futuro?
Provee de una estrategia paso a paso para diseñar soluciones orientadas al negocio conducidas por necesarias del negocio. Este modelo une los modelos Application, Model, y Process Models, haciendo posible organizar los recursos donde pueden producir mejor.
Este modelo relaciona las soluciones de desarrollo con el negocio en dos caminos principales:
q Las soluciones son conducidas al contexto del negocio.
q Los usuario principales son consultados y envueltos en el desarrollo. También los profesionales se ven envueltos en la tarea de ayudar a loa usuarios finales para solucionar sus problemas sin cambiar la infraestructura.
Los modelos Application, Team y Process ayuda a planificar las necesidades técnicas y de negocio de una aplicación, los recursos pueden ser asignados mas efectivamente.
Tenemos tres fases en MSF Solution Design Model:
q Conceptual Design.
El diseño de un edificio empieza con el borrador de un arquitecto. Esto provee de un primer punto de vista al cliente. El diseño conceptual empieza por entender las necesidades reales del usuario.
q Logical Design.
El borrador del arquitecto es seguido por un plano que muestra el edificio. Esta segunda fase combina la vista del cliente con la vista y conocimientos del arquitecto. El diseño detallado ayuda a que todas las partes se envuelvan en el proyecto y se comuniquen entre ellas.
q Physical Design.
Se diseña la solución con todas sus características y detalles.
Se juntan el proceso MSF, TEam Models para implementar la infraestructura.
Ayuda a reducir los costes. Incluye:
q The role of value
Se puede reducir el TCO a cero eliminando todos los ordenadores de la empresa, aunque se pierden todas las ventajas competitivas resultantes. Se deben calcular los costes y optimizar el TCO a un valor único para cada organización.
q What is a real cost?
Existen una gran varidad de modelo TCO en la industria informática, coste anual por estación, variando entre $3200 y $13000.
q Applying TCO to your needs.
Algunos modelos TCO incluyen un gran porcentaje para tener en cuenta los costes de actividades no definidas de los usuario finales. Este comportamiento hace que el calculo sea más ajustado.
q Seeing the whole picture.
Se pueden tratar los costes para repartirlos entre diferentes dispositivos, red, desarrollo y otras áreas de costes.
El modelo TCO es un proceso continuo con tres estados. Planning, building y managing.
q Planning Phase.
El modelo muestra como calcular puntos de referencia, y líneas de salida. Un punto de referencia (benchmark) es una determinación total de los costes basados en un promedio de los costes de la industria. Una línea de salida (baseline) se basa en los costes actuales de compra, manejo, de retiro de los productos existentes.
q Building Phase.
Se calcula el ROI simulando el impacto del proyecto, y costes, basado en la migración y estrategia de desarrollo.
q Mamaging Phase.
Mide los resultados actuales constatándolos con los objetivos establecidos. Optimiza los siguientes elementos:
q
Hardware
y Software.
q Support: Mantenimiento, recuperación de desastres, ayuda, administración y cursos.
q
Development.
q
Management:
Redesm sistemas y datos.
q End-user costs: Cursos al usuario final, soporte, y toma de contacto general con el ordenador.
q Downtime/Other: Rendimiento aplicaciones, testeo.
q Telecommunications fees: Alquiler de líneas y otros gastos de comunicaciones.
Muchos costes no se encuentran en la adquisición de hardware y software sino en el desarrollo de software, soporte y mantenimiento de las tecnologías de la información.
Conocimientos:
q Identificar las ventajas de usar un gestor de versiones.
El control de versiones es una faceta critica del equipo de desarrolladores y el desarrollo de sitios WEB, este previene de perdidas accidentales de los ficheros; permitiendo acceso a versiones anteriores, y mezclar, bifurcar y manejar versiones. Cuando un fichero esta bajo control de versiones se pueden realizar cambios a este, salvarlo, y volver mas tarde a la versión previa. Microsoft Visual SourceSafe es una herramienta que permite manejar y controlar las versiones de código. Se puede integrar con cualquier producto de las Development Tools. Las características de Visual SourceSafe son las siguientes.
q Altamente integrado con cualquier herramienta de desarrollo.
q Provee de un fácil control de versiones.
q Trabaja con cualquier tipo de fichero, producido por cualquier herramienta de desarrollo.
q Se pueden ver los cambios realizados desde el Visual SourceSafe Explorer.
q Permite a los usuarios trabajar tanto a nivel de fichero como de proyecto, permitiendo la reutilización de componentes.
q Permite el desarrollo en equipo con características orientadas al proyecto, para incrementar la eficacia de las tareas mas comunes.
Soporta cualquier tipo de fichero. La única distinción que lleva a cabo es entre ficheros binarios y ficheros texto. Visual SourceSafe guarda los dos tipo, pero algunas características importantes como comparar ficheros no están disponibles en los de formato binario. La habilidad de trabajar con cualquier tipo de fichero hace de Visual SourceSafe una herramienta versátil para código fuente, manejo de documentos, de sitios WEB, o cualquier otra situación.
Se pueden desproteger fichero usando una herramienta de desarrollo de Microsoft o con el explorer de Visual SourceSafe.
El comando Get devuelve un fichero o varios desde la base de datos de Visual SourceSafe, dando una copia de solo lectura.
El comando Check Out marca un fichero o varios en la base de datos, y devuelve copias que pueden ser modificadas. Cuando se finaliza de editar los ficheros se puede poner en la base de datos con el comando Check In. Visual SourceSafe guarda todos los cambios realizados a los ficheros. La tecnología reverse delta asegura que todas las versiones de ficheros son accesibles minimizando el uso de disco.
Conocimientos:
q Escoger el protocolo adecuado para una aplicación Internet intranet.
Los protocolo de red se usan para conectar los ordenadores cliente a los servidores. Un protocolo de red es el lenguaje que los ordenares usan para compartir datos, se requiere tanto en Internet como intranet. El Transmission Control Protocol/internet Protocol (TCP/IP) es el protocolo mas bajo usado en Internet.
También puede ser usado en una intranet aunque los otros protocolos como NetBeui están específicamente pensados para redes de área local LAN.
Las redes están definidas en capas. TCP/IP combina un número de diferentes protocolos a través de múltiples capas de red. Entre cada capa existe un API o convención para interpretar los mensajes, o paquetes, que se pasan entre ellas. Bajo Windows, se escriben con el API Windows Sockets. El API Windows Socket permite escribir y correr las aplicaciones en diferentes implementaciones de TCP/IP.
Una aplicación es un protocolo particular construido en la capa aplicación de TCP/IP. Existen docenas de protocolos de aplicación de TCP/IP. Podemos usar alguno de los estándares o crear uno propio. La siguiente tabla muestra algunos de los protocolos más populares.
|
Protocolo |
Nombre |
Descripción |
|
DNS |
Domain Name System. |
Base
de datos distribuida que permite a las aplicaciones trazar un mapa de los
nombres de los ordenadores y direcciones IP. |
|
FTP |
File Transfer Protocol. |
Copia
ficheros desde una maquina Internet a otra. |
|
Telnet |
Telecomunications Network
Protocol. |
Login
remoto entre hosts que pueden correr sistemas operativos diferentes. |
|
HTTP |
Hypertext Transfer Protocol. |
Protocolo
para documentos de hipertexto, permite búsqueda, navegación u transferencia.
Es el protocolo usado por World Wide Web. |
|
NNTP |
Network News transport Protocol. |
Provee
acceso a los servidores de news existentes en Internet. |
|
SMTP |
Simple Mail Transfer Protocol. |
Protocolo
para intercambiar e-mail a través de Internet. |
Regula el flujo de datos entre las maquinas de la red que corran en IP. Se usan dos protocolos. Uno es TCP, y el otro es User Datagram Protocol UDP. TCP es un protocolo diseñado para tolerar fallos. TCP coge un mensaje de cualquier longitud, lo rompe en pequeñas piezas menores de 64K, y los pasa a la capa de red. Para garantizar la entrega correcta TCP usa mensajes de comprobación, entiende retardos de time-out, y usa checksum. Ya que TCP realiza todo este trabajo la capa aplicación asume que el paquete llega correctamente. Muchas aplicaciones usan TCP por este motivo.
Cuando se crea una solución basada en red, estas dos capas son puestas por el sistema operativo. La aplicación solo necesita establecer el protocolo de aplicación que debe usar una conexión abierta de red usando un interface, como Microsoft Win32 Internet API WinInet.
Cuando desarrollamos una aplicación pasa usar una red TCP/IP, debemos decidir si usar un protocolo existente o crear uno propio. La elección depende de la aplicación servidora. Por ejemplo si se soporta un Web Browsing en la aplicación se debe usar HTTP. Si es una aplicación cliente servidor que pasa datos se puede crear un protocolo propio.
Para configurar TCP/IP en una maquina cliente con Windows 95 se requiere la siguiente información:
|
Parámetro |
Descripción |
|
Dirección IP. |
Una
dirección IP es una dirección de 32 bits (dividida en cuatro octetos) usada
para identificar el TCP/IP host. Cada dirección IP tiene dos parte el ID de
red y el ID de host. El identificador de red identifica todos los host que
están en la misma red física. El ID de host identifica un host en la red.
Cada ordenador dispone de una dirección IP única. |
|
Submascara de Red. |
Se usa
para bloquear una porción de la dirección IP para que TCP/IP pueda distinguir
entre el ID de red y el ID de host. Cuando un host TCP/IP intenta
comunicarse, la mascara de subred se usa para determinar cuando el host es
local o remoto. |
|
Gateway por Defecto. |
Para
comunicaciones con un host en otra red, una dirección IP se debe configurar
como GateWay por defecto. Es la dirección TCP/IP donde se envían los paquetes
destinados a redes remotas. Si no se especifica un GateWay por defecto las
comunicaciones están limitadas a la red local o a redes con routers configurados en la tabla local de routing. |
Se puede usar Microsoft Dynamic Host Configuration Protocol (DHCP) para configurar y manejar automáticamente un pool de direcciones IP.
En el caso de que ocurran problemas, TCP/IP instala herramientas para permitir a los managers de red solucionar problemas en las maquinas cliente. Estos se realiza a través de tres herramientas: WINIPCFG, PING, y TRACERT.
q WINIPCFG.
Se usa para verificar los parámetros de la configuración TCP/IP en un host, incluyendo las direcciones IP, mascaras de subred, y gateway por defecto. Es útil para encontrar direcciones IP duplicadas.
q PING.
Después de comprobar la configuración con WINIPCFG, se puede usar Packet InterNet Groper (PING) para testear la conectividad. La utilidad PING es una utilidad de diagnostico usada para probar la configuración TCP/IP y diagnosticar los fallos de conexión. PING puede además se usado para determinar cuando un host TCP/IP esta disponible o es funcional.
q TRACERT.
Se usa para recoger información acerca de la ruta de un host remoto. Muestra que routers se usan para conectar a un ordenador remoto.
Conocimientos:
|
q Escoger un diseño apropiado para conectarse a una intranet o Internet, basado en la latencia y el ancho de banda. |
Las dos claves principales de una red son el ancho de banda y la latencia.
Es el termino usado para referirse a la velocidad a la que los datos son transferidos de un PC a otro. La cantidad de datos pasados a un cliente afecta al tiempo de respuesta. Por ejemplo, el tamaño y profundidad de color de una imagen en una pagina WEB afecta a la velocidad a la que el cliente puede bajar y abrir la pagina. Cuando desarrollamos aplicaciones de red, se debe considerar la velocidad a la que se conectan los clientes. En una intranet, las velocidades de la red son normalmente mucho más rápidas que en Internet.
Cuando diseñamos un contenido para WEB disponemos de un número de estrategias a seguir para limitar el impacto de un pequeño ancho de banda.
q Mostrar primero el texto.
Mostrar primero el texto es la opción por defecto en Microsoft Internet Explorer. Cuando se abre una pagina WEB, primero se carga y muestra el texto al usuario. Entonces el usuario empieza a leer el texto, mientras las imágenes se carga y muestran.
q Texto alternativo.
Se puede interrumpir el download de una pagina WEB. Aunque puede aparecer una pagina WEB incompleta se puede incorporar información complementaria. Es decir si se para una pagina los gráficos no se cargan, pero se pueden haber cargado ya las etiquetas de los gráficos y aparecer en lugar de estos. Además un WEB Browser puede
proveer de una ToolTip describiendo lo que el gráfico representa, tan larga como el texto alternativo del gráfico.
q Mejor varias imágenes pequeñas que una grande..
Si una pagina WEB puede proveer al usuario de un número de links a otras paginas, se pueden usar pequeñas imágenes para cada link en lugar de proveer de una sola imagen más grande. Mejora la carga.
q Entrelazar GIF.
En lugar de tener al cliente esperando a que se bajen todos los datos, la aplicación puede usar GIF entrelazados para devolver resultados parciales y minimizar los requisitos de ancho de banda. Un cliente puede ver un GIF entrelazado a medida que se baja. La imagen es borrosa pero incrementalmente mejora a medida que se bajan los datos.
La distancia física y el número de elementos de red envueltos retrasan los paquetes de datos mas pequeños significantemente. Este retraso es llamado latencia. En una red global como Internet, la latencia puede ser substancial. Cuando fabricamos una solución cliente / servidor a través de la red este retraso puede representar problemas por eso se debe incorporar el chequeo de errores.
Conocimientos:
|
q Usar Internet Data Conector, Active Server Pages ASP, o Microsoft FrontPage para proveer conectividad a Internet o intranet. |
Es una aplicación servidora diseñada para alto trafico. Es un componente de Windows NT Server. Ya que esta altamente integrado con el sistema operativo permite usar la misma seguridad de NY Server y NTFS para erigir sitios de Internet e intranet potentes, flexibles y seguros.
Permite trabajar dinámicamente y de una forma amigable. No se debe aprender un nuevo lenguaje de Script o a compilar aplicaciones para usar IIS. Soporta VBScript, Microsoft Visual Basic, Microsoft Visual J++, componentes Java, CGI, WinCGI, extensiones ISAPI, y filtros.
IIS también soporta Hypertext transfer Protocol (HTTP), File Transfer Protocol (FTP), y protocolos gopher. Es altamente extensible tanto a través del uso de Common gateway interface(CGI), como de Internet Server application programming interface (ISAPI).
Incluye un número de componentes que pueden ser usados para expandir las capacidades del sitio WEB:
q Un servidor de red de alto rendimiento.
q Un entorno de desarrollo de aplicaciones.
q Búsqueda de texto integrada.
q Multimedia streaming.
q Extensiones de manejo de sitio WEB.
Es una entorno de desarrollo abierto en el que se puede combinar Hypertext Markup Languaje (HTML), scripts, y componentes ActiveX para crear sitios WEB potentes y dinámicos. Proveen de soporte nativo tanto pata VBScript como JavaScript.
Es flexible como un programa CGI y scripts, pero ofrece mejor rendimiento. Al contrario que CGI, ASP corre in-process en el server, es multithread y esta optimizado para soportar un gran número de usuarios.
No se debe aprender un nuevo entorno para usar ASP. Este combina la facilidad de HTML con herramientas familiares como Visual Basic Scripting y componentes ActiveX. También soporta cualquier lenguaje script y componentes escritos en cualquier lenguaje, incluido Java.
NetShow On-Demand Provee de audio y vídeo a través de la red. NetShow Live Permite también componer.
Es el motor de búsqueda integrado con IIS y Windows NT Server 4.0 Una vez instalado, este realiza un índice de ficheros en el WEB Server; este índice puede ser utilizado desde cualquier WEB Browser. El índice se modifica automáticamente cuando se añade borra o modifica un fichero.
Soporta totalmente Java y JavaScript en el cliente y el servidor. Para correr Java, el cliente o servidor deben tener una Maquina Virtual de Java que puede interpretar el código Java. Java Virtual Machine se incluye con IIS, Microsoft Internet Explorer 3.0 y 4.0.
JavaScript es un lenguaje script de alto rendimiento diseñado para la creación de contenido activo para el World Wide Web. Permite links y mecanizar una gran variedad de objetos en paginas Web, incluyendo controles ActiveX y programas Java.
Es una herramienta de autor para la creación visual de webs. El cliente de FrontPage incluye una autor GUI de HTML. Las extensiones de servidor de FrontPage son colecciones de componentes servidor y APIs que permiten a las paginas WEB y sitios a ser realizados y manejados desde FrontPage. Los usuarios del cliente de FrontPage que quieran poner ficheros y mantenerlos en su sitio WEB remotamente tienen que poner en el Server las extensiones servidor de FrontPage. Se pueden usar las extensiones para crear aplicaciones a medida.
Usa las extensiones de servidor de FrontPage para manejar remotamente los sitios WEB con el software cliente de FrontPage. Las herramientas de administración de Windows NT pueden ser usadas para manejar los privilegios de acceso, monitorizar el acceso, y configurar los recursos del servidor.
Provee de una seguridad “handshake” que se usa para iniciar una conexión TCP/IP. Este resultado handshake resulta en un acuerdo entre el servidor y el cliente en el nivel de seguridad que van a usar y cumplir los requerimientos de autentificación para las conexiones. SSL también se usa para encriptar toda la información tanto de la petición HTTP como de la respuesta, incluyendo:
q La URL del cliente.
q Cualquier contenido enviado.
q Cualquier información de acceso a HTTP.
q Todos los datos devueltos desde el cliente al servidor.
Es una versión especial del protocolo HTTP que incluye privacidad. Cuando se usa en comunicación con un servidor se transporta sobre SSL.
Usando el explorer de FrontPage, gráficamente se puede examinar la estructura de un sitio WEB. Los links se representan gráficamente para ayudar a identificar los links rotos. El explorer de FrontPage provee de una primera vista del estado del sitio WEB y permite manejar permisos, asignar tareas, y añadir funcionalidad vía Wizards. Incluye una herramienta WYSIWYG el FrontPage editor.
Conocimientos:
|
q Escoger la tecnología ActiveX para una aplicación WEB. |
ActiveX esta basado en la tecnología COM que provee los bloques fundamentales usados en muchas de las aplicaciones Windows. ActiveX puede ser usado para crear controles, documentos, y componentes que corran en desktop o en Internet. Los componentes ActiveX pueden ser desarrollados en cualquier lenguaje, incluyendo todos los productos de desarrollo de Microsoft.
La tecnología ActiveX fue derivada de OLE. Los controles ActiveX en su origen fueron llamados controles OLE.
Los controles ActiveX son objetos reusables que incluyen elementos visuales y código. Estos se usan en algunos tipo de container, como un formulario o una aplicación, para activar o habilitar una interacción de usuario con la aplicación. Estos controles tienen la extensión ocx.
Para calificar un control ActiveX, el objeto debe.
q Ser un objeto COM.
q Ser auto registrable.
q Requieren de menos interface que los anteriores controles OLE.
q Pueden ser Windowless y estar siempre activos.
q In-Place activation permite interacción con objetos OLE dentro de un container.
q Tienen Interface claramente definidos.
q Proveen de propiedades, eventos y métodos.
q Reducen la complejidad.
q Encapsulan funcionalidad.
q Pueden ser actualizados fácilmente.
q Proveen de control de versiones.
q Soportan compartir información.
q Son reusables.
Las aplicaciones de Microsoft Office contienen un ToolBox compuesto de controles ActiveX, los siguientes son los usados en Office: Command Buttons, Option Buttons, Dialog Boxes y formularios.
La suite de Office permite crear formularios de una forma similar a Visual Basic.
La infraestructura de ActiveX permite a los controles ser incrustados en paginas WEB y responder interactivamente a los eventos. Con controles ActiveX de Internet están optimizados en tamaño y velocidad para soportar conexiones asíncronas. Algunos de los controles ActiveX de Internet son:
q
Animated
button.
q
Gradient.
q
Marquee.
q
Preloader.
q
Stock
ticker.
q View Tracker.
q Simplificar y automatizar las tareas de autor.
q Mostrar datos de una forma diferente que texto y tablas.
q Añaden funcionalidad a las paginas.
Para diseñar un control que trabaje en un entorno de Internet, se necesita considerar la lentitud de la transmisión. Pequeños botones y etiquetas, con solo uno bytes de datos son aceptables para ser usados en Internet y trabajar bien dentro de Browsers. Para dar un buen rendimiento se debe tener en cuenta lo siguiente:
q Los controles ActiveX deben ser asíncronos. No permite al control bloquear la funcionalidad.
q Deben convertirse en activos para el usuario lo más rápido posible.
Conocimientos:
|
q Dado un escenario, evaluar una aplicación cliente web. |
Los script es código que se escribe en la pagina WEB. El script corre en el ordenador cliente cuando el usuario interactúa con un control, o en el WEB Server antes de que la pagina sea devuelta al cliente. En los dos casos, se puede añadir script a la pagina WEB como texto ASCII.
Los browsers contienen interpretes de script. El primer propósito de añadir scripts clientes a una pagina WEB es crear procedures de eventos para controles. El script del cliente no se compila , y no esta encriptado, por lo que si se puede ver el código HTML de una pagina se puede ver el código del script. Para que un cliente script funcione el Browser debe dar soporte al lenguaje script empleado.
Los script de servidor corren en Active Server Page en un WEB Server antes de devolver la pagina al cliente. Cuando el usuario pide una Active Server Page, el lado servidor del script se ejecuta y genera el HTML a devolver al usuario. El script servidor no es visible a el usuario en la pagina devuelta.
Como el escript de servidor corre en el server tiene acceso a todos sus recursos, como bases de datos y ficheros ejecutables que residan en el.
Requieren un servidor WEB que soporte Active Server Pages. El Browser no necesita incorporar ninguna funcionalidad.
Cuando se usa un script cliente, el proceso ocurre en el ordenador del usuario mientras actúa con la pagina. Son útiles para:
q Validar valores de control en un formulario.
q Proveer de procedures de eventos para controles.
Cuando se usa un script servidor, el proceso ocurre en la maquina servidora. Se usan para:
q Acceder a bases de datos y devolver datos al usuario.
q Salvar el estado de información acerca de la sesión del usuario.
Para correr un script cliente debemos activar la funcionalidad en la pagina WEB, el código incrustado dentro de la pagina HTML es texto. Cuando se encuentra un script el Browser llama a un interprete de script.
Cualquier lenguaje de script puede ser usado para desarrollar aplicaciones. Pero los dos mas conocidos son VBScript y JavaScript.
q VBScript.
Microsoft Visual Basic Scripting Edition (VBScript) es un juego case-insensitive del lenguaje Visual Basic for Applications. Se soporta por Microsoft Internet Explorer. Es rápido, portable y se distribuye sin licencia.
q JavaScript.
Esta implementado por Microsoft como JScript. Es parecido al lenguaje C, y esta basado en Java. Se soporta por NetScape y Explorer.
Los dos son similares. En los dos se pueden definir variables, crear procedures, y acceder a las propiedades y métodos de los objetos.
Solo una sutiles variaciones en la sintaxis definen la diferencia entre los dos lenguajes. Ninguno es compilado, y los dos corren en cualquier plataforma Hardware, Los dos son interpretados, y la velocidad depende del Browser y no del lenguaje.
Decantarnos por uno u otro depende de la necesidad: Compatibilidad con los dos Browsers o Familiaridad de Programación.
El código del script esta contenido dentro de la etiqueta ZSCRIPT>. El parámetro LANGUAJE indica el tipo de lenguaje script a utilizar. Para VBScript es “VBScript” y para JavaScript “JavaScript”.
Cuando se escribe código script es recomendable, aunque no obligatorio, ponerlo todo dentro de la misma etiqueta. Se puede poner la etiqueta <SCRIPT> tanto en la sección BODY o HEAD de la pagina HTML.