_Subdirección de Sistemas - DCAA - UNAM

1

Herramientas Cliente/Servidor

Contenido

I. II.

Introducción PowerBuilder 5.0 Object Power Ventanas de Datos Power Builder Distribuido Código de Máquina Servidores de Web Y la lista continúa Visual Basic 5.0 Nuevos Desarrollos ¿Qué es lo nuevo? Bloques de construcción Más alto, más fuerte, más rápido La fiebre de los componentes Delphi 3.0 ¿Qué es lo que revisamos? Velocidad, velocidad, velocidad Ya dentro del producto Orientación a objetos Usando Componentes Desarrollo en el Web Un digno contendiente Developer/2000 Orientación a los objetos Componentes Aplicaciones distribuidas y multitarea Despliegue en la Web Integración con Adiciones Desarrollo Declarativo Soporte al Servidor Universal Herramienta de máxima calidad Rferencia

III.

IV.

V.

VI.

_Subdirección de Sistemas - DCAA - UNAM
2

UNAM 3 . Es una pregunta común que pocas veces tiene una respuesta satisfactoria. mismas que se analizan a continuación.0 y DEVELOPER 2000. pero también tienen ventajas y desventajas propias. todas ellas tienen características comunes. A continuación se analizan y describen algunos softwares para desarrollo en sus últimas versiones.DCAA .Herramientas Cliente/Servidor Introducción ¿Qué herramienta de desarrollo se adapta a mis necesidades?. Los softwares son: POWERBUILDER 5.0. _Subdirección de Sistemas . VISUAL BASIC 5. Con estas herramientas se pueden desarrollar aplicaciones Cliente/Servidor. DELPHI 3.0.

0.0. además. como el Internet Developer Toolkit.pbl. La integración de PowerBuilder con ambientes de desarrollo es fácil de hacer. PB ofrece utilerías muy poderosas para el diseño y administración de Bases de Datos. la cual fue imposible de revisar.Herramientas Cliente/Servidor PowerBuilder 5. necesitarán que las librerías de desarrollo sean actualizadas también a la versión 5. sin embargo.UNAM 4 . una aplicación que se asegura de la regeneración y reconstrucción de los objetos de acuerdo a su línea de herencia. Para ayudar en este proceso. de tal forma que permite planearlas. Ventanas de Datos. la manipulación de datos. Además. PowerBuilder 5 está disponible también para Macintosh y UNIX. muchos ingenieros y programadores de esta plataforma recomiendan. Cuando se inicializa por primera vez. PB ofrece una mejora en la versión 5. [D1] PowerBuilder necesita una PC con un mínimo de 16 MB de RAM. cabe mencionar que PowerBuilder (PB) puede ser aplicado en diferentes niveles de desarrollo. Sin embargo. sobre todo en el caso de aquéllos que quieran convertir muchas de sus complejas librerías sin un enlace. manipularlas realizar transferencia de datos entre Bases de Datos por medio del pipeline painter. en un rango que va desde PB Desktop para pequeños proyectos de desarrollos hasta el PB Enterprise.0 a la actual. o . para los desarrolladores serios y creadores de software. ha sido mejorado en varios aspectos: cuenta con nuevas herramientas.0. que lo coloca como un producto dominante en el mercado corporativo para el desarrollo de sistemas de gran calidad.0: el Reconstructor. crearlas.DCAA . en vez de simpliemente seguir el orden que cada objeto tiene en el archivo pbl. _Subdirección de Sistemas . y las nuevas ampliaciones a partir de la versión 4. Posee una serie de “ painters” . y muchos otros objetos que personalizan una aplicación. Además.0. Para abrir PowerBuilder se necesitan unas librerías de PowerBuilder. la 5. PowerBuilder carga un conjunto de librerías que constituyen un grupo de buenos ejemplos que muestran muchas características de la herramienta.02. una máquina Pentium con 24 o 32 MB de memoria RAM como mínimo.2. sigue manteniendo su entorno de desarrollo tipo Visual Basic con ejecución en código nativo. un procesador 486 y aproximadamente 100 MB de espacio en disco duro. un desarrollador novato en esta plataforma puede visualmente pasar a través de varios ejemplos que demuestran la conectividad. pueden existir algunos problemas con la conversión de la versión 4 a la 5.0 PowerBuilder en su última versión. Usando el SQL Sybase. al menos con la opción del Internet Developer Toolkit. con los que un desarrollador puede construir Ventanas. Al momento de escribir este documento. el cual habilita la conexión con la mayoría de los RDBMS más importantes en el mercado. la versión más reciente de PowerBuilder era la 5.0. Para usuarios que vayan a actualizar su versión 4. que contienen los objetos que permiten configurar una aplicación particular.

DataWindow y DataStore ofrecen muchos beneficios excepcionales. El DataWindow de Powersoft tiene una larga lista de seguidores. PowerBuilder introdujo nuevos estilos de DataWindow para otros productos. La gente de Powersoft introdujo una gran cantidad de nuevas características POO en la versión 5. Al tener un sólido conocimiento de la metodología de la POO. se puede construir librerías de clases compuestas por varios tipos de objetos que pueden ser reutilizados por numerosos desarrolladores. Estas librerías se utilizan como una forma de reducir los costos de desarrollo.DCAA . una DataWindows oculta que los desarrolladores pueden usar para accesar y manipular datos detrás de la aplicación. la herramienta continúa demostrando las bondades de la POO (Programación Orientada a Objetos). es una buena idea construir sus propias librerías de PB.Herramientas Cliente/Servidor Object Power Aunque algunos críticos dicen que PowerBuilder no es un lenguaje completamente orientado a objetos. quienes utilizan esta tecnología día con día para OLTP y OLAP. El DataWindow de Rich Text permite a los desarrolladores construir objetos que permitan a los usuarios trabajar con archivos RTF y usar la funcionalidad de los procesadores avanzados de texto.UNAM 5 . en esencia. como Word y Excel de Microsoft. se aprecia la facilidad conque se puede visualmente reconstruir objetos reutilizables que hacen uso de la POO y los conceptos de herencia. y encapsulamiento. Los desarrolladores ahora pueden utilizar argumentos de los eventos definidos por los usuarios. algunas compañías ayudan a modularizar los componentes de PowerBuilder en encapsulamientos lógicos de negocios y así tomar ventaja de las reglas del negocio seguidas por los desarrolladores. lo cual ha sido bien recibido. Con la versión 5. La capacidad para el desarrollo de funciones completas sobrecargadas es una realidad. aunque no siempre alcanza la funcionalidad necesaria para un proyecto en particular. pero uno de los más destacados es su velocidad superior en tiempos de respuesta sobre los SQL _Subdirección de Sistemas .0. Algunas corporaciones siguen otro método y utilizan librerías de objetos listas para usarse. DataStore es. El DataWindow OLE permite que las aplicaciones de PowerBuilder sean utilizados por otras aplicaciones. ahora posee la habilidad para pasar argumentos a las funciones en sólo lectura. Otra adición poderosa que se le ha hecho a este producto es la del DataStore. lo que anteriormente no era posible hacer.0. si hay talento disponible. las cuales son proporcionadas por vendedores terceros. Después de escatimar en el mundo de C++. polimorfismo. Tomando en cuenta esto. Ventanas de Datos PowerBuilder deslumbró a más de uno de sus competidores en la facilidad de obtener y manipular información de las bases de datos. Varios eventos interconstruidos nos dan argumentos definidos que anteriormente sólo podían ser obtenidos por la llamada a ciertas funciones de PB. por ello.

Powersoft ha acortado la diferencia y ha brindado a los desarrolladores la posibilidad de crear código ejecutable nativo a 32 bits y . ya que se pudo constatar en la DB/Expo del pasado Diciembre (1996) donde PB mostró el acceso a las DataBlades por medio de un control ActiveX de Informix. es el soporte a la Base de datos Universal. nos da un desempeño Otro aspecto. Con la versión 5 . Esto ayuda a eliminar los tiempos muertos desde el tradicional punto de vista Cliente/Servidor. Código de maquina Un punto que siempre ha sido crítico en las versiones anteriores de PowerBuilder era su lentitud en la ejecución de su código pseudointerpretado en ambientes de aplicaciones Delphi con código compilado. que es una sorpresa de PB para los desarrolladores. Una aspecto que falla en la distribución vista de PowerBuilder. una aplicación cliente de PB puede utilizar funciones y otros procesos lógicos desde otro programa PB corriendo en una máquina separada.DCAA . PowerBuilder Distribuido La versión 5 de PB nos da la capacidad para que las aplicaciones desarrolladas puedan ser particionadas en un tercer servidor. ahora podemos preguntarnos: ¿PowerBuilder podrá permitir el manejo de datos no estándares?. DataCartridges (Oracle) y lo que venga en el horizonte. El candidato ideal para códigos compilados ejecutables que deben correr mas rápidamente que sus hermanos con pseudo-código son los que contienen scripts extensos y procesamientos matemáticos. pero en la versión 5. es que en esta versión no se usa CORBA o DCOM.dll’s o pseudo-código ejecutable y Librerías dinámicas de PowerBuilder (PBD’s).Herramientas Cliente/Servidor clásicos incrustados. los desarrolladores pueden centralizar los negocios de manera lógica en un solo servidor. La respuesta es definitivamente afirmativa.0. El último punto que se menciona en la revisión concerniente a los desarrollos de las bases de datos. lo cual da una gran escalabilidad a las aplicaciones de PB. es la posibilidad de pasar el código máquina ejecutable de objetos como bases de datos a PowerBuilder y DataWindows. Con DataBlades (Informix).UNAM 6 . pero el resultado superior. El código maquina ejecutable es mayor que cualquier pseudo-código. _Subdirección de Sistemas . Con los nuevos objetos de la versión 5. se requiere de más tiempo para construir las aplicaciones. debido a ello. Sin embargo. En la evaluación no se pudo observar la diferencia en velocidad de la versión 4 de PB con los DataWindows y en los SQL. tecnologías que siempre han sido códigos compilados. Powersoft ha hecho significativas implementaciones con la liberación de parches que ayudan a que el producto sea más sólido en esta área. Estos actos son una aplicación del código servidor. Con esta distribución. algunas pruebas muestran un definitivo beneficio en la velocidad cuando se usan DataWindows y DataStores sobre los SQL incrustados.

Con una gran lista de soporte de terceros. las librerías de runtime de PB se deben de instalar en el cliente de la Web. Para desempeñar esta tarea. El IDK también viene con unas librerías de clases para la Web.995 dólares. Pero no hay dada más lejos de la verdad. Estas librerías consisten de una gran número de funciones que pueden generar el HTML necesario para la interacción con browser y usuario. el cual está actualmente disponible para ser usado con PowerBuilder para aplicaciones de Internet/Intranet: Plugins y Web.UNAM 7 . los cuales sirven para manejar la comunicación con la actividad de la Web. los desarrolladores quizás se asombrarían si Powersoft dejara perder a PowerBuilder en la competencia con productos de desarrollo para la Web. que es un asistente que ayuda a los desarrolladores a construir páginas html a partir de las salidas de las librerías de PowerBuilder que contienen las reglas necesarias del negocio. Estos programas de PB asisten en el procesamiento lógico de respuestas. soporte a ActiveX y más) lo que hace que PowerBuilder continúe siendo el líder reconocido por grandes empresas y desarrollos visuales del tipo RAD.Herramientas Cliente/Servidor Servidores de Web Con la tardanza con que se presentaron las herramientas de desarrollo para el Web por parte de Powersoft.DCAA . y el IDK en sí mismo para construir un aplicación simple que accese una base de datos de Oracle 7 y regrese información para browsers como Netscape o Internet Explorer. La segunda estrategia es la distribución de Plug-ins. Se pude usar la combinación de un servidor personal que viene dentro de IDK. hasta la versión completa de 2. dando una buena interacción con cualquier servidor de bases de datos que se utilice como backend. tanto para Window como para DataWindow. que pueden ser usados para correr con PowerBuilder sobre la Web. y que es una herramienta RAD bien diseñada. el cual va desde 295 dólares para la versión de escritorio. El IDK viene con un wizard. con las opciones de desarrollo que el profesional del software de hoy necesita para construir sus aplicaciones Cliente/Servidor. _Subdirección de Sistemas . Y la lista continúa Se puede observar entonces que la versión 5. Powersoft ha seguido dos estrategias en este sentido: la primera es la incorporación del Internet Developer Kit. Website.0 de PowerBuilder está muy completa. las habilidades orientadas a los objetos se amplían (mecanismos poderosos de bases de datos. El precio de PowerBuilder varía de acuerdo al nivel de desarrollo que se necesite. Una parte integral de una aplicación de la Web de PB es una distribución de ejecutables de PowerBuilder.

sin embargo ahora –usando VB 5. Esta revisión está basada en la versión beta de VB 5 que ya está disponible. en una nueva encarnación de la IDE (Integrated Development Enviroment). El Servidor de Transacciones Microsoft Edición Desarrollador finalmente permite a VB abarcar una escala de cientos de usuarios. colocan a esta herramienta en lo mas alto de la lista de las herramientas de desarrollo Cliente/Servidor. Por último. los desarrolladores pueden crear aplicaciones basadas en los componentes destinados a Internet. VB 5 no sólo tiene los mecanismos para crear componentes ActiveX para cliente. Nuevos Desarrollos Las nuevas características en VB 5. Aunque otras herramientas también pueden crear estos componentes. una alta velocidad de acceso a las bases de datos. sino que también los tiene para el browser de la Web.0. Intranet. y en el IDE del Cliente. y además aplica el mismo paradigma en la construcción de los controles ActiveX. lo que nos permite construir nuestras interfaces mediante el ensamble de partes de componentes preconstruidos. una vez más. VB 5. y el nuevo servidor de transacciones de Microsoft (Viper). VB 5 está listo para la tecnología Cliente/Servidor. es la implementación del componente con la capacidad de creación de la tecnología de ActiveX en VB 5. Este proceso permite optimizar una aplicación y una arquitectura para que alcance un buen desempeño.DCAA . en la cual se centrará el presente artículo. como la compilación de código nativo. El depurador T-SQL permite a los desarrolladores depurar procedimientos almacenados interactivamente al mismo tiempo. el cual permite simular y analizar aplicaciones en escenarios distribuidos antes de comenzar a especificar alguna arquitectura. Servidores Web. y un mejor ambiente de desarrollo son sólo la punta del iceberg[D2]. aunque no menos importante.UNAM 8 . Los desarrolladores pueden construir controles para cualquier _Subdirección de Sistemas . La mejor característica. con un nuevo compilador nativo y ligas veloces a las bases de datos.0) para cuando algún desarrollador quiera construir desde la Base de datos. se incorporó una nueva versión de VBA (Visual Basic Aplication).0 Edición Profesional incluyen un número de significativas ampliaciones de desempeño y productividad que.0. junto con la inclusión de la tecnología IntelliSense. los desarrolladores requerían de un ambiente especial de desarrollo para ActiveX. VB sigue el camino de las más poderosas.Herramientas Cliente/Servidor Visual Basic 5. En adición al nuevo desarrollo enfocado hacia ActiveX.0 La versión 5 es la siguiente etapa en la evolución de Visual Basic (VB): relacionado con la Plataforma Active de Microsoft. ahora tiene un verdadero repositorio (Microsoft Repository 1. y los tradicionales ambientes Cliente/Servidor. es el Explorador de Desempeño de Aplicaciones (APE). Características avanzadas.0 sigue el mismo paradigma de desarrollo que VB 4. Antes.0–. compartiendo las mismas características de desarrollo para las tradicionales aplicaciones de VB. Además.

0 viene en tres presentaciones: la Edición de Aprendizaje para quienes sólo desean hacer programas sencillos. la Edición Enterprise para aquellos que lo necesitan para toda una corporación. es una revolución: es notable que se trata de algo más que un ambiente de programación. y. y Margin Indicator. y Oracle. es ahora el lenguaje para cientos de otros productos. VB 5. Los desarrolladores pueden agregar valor en la creación de aplicaciones VBA porque el código es portable hacia otros ambientes y aplicaciones. los controles ActiveX. ¿Qué es lo nuevo? VBA. y una herramienta de depuración). y Herramientas de Bases de Datos Microsoft.0 se pueden cargar muchos proyectos a la vez. la Edición Profesional para aquellos que desean crear básicamente aplicaciones Cliente/Servidor e Internet/Intranet (incluyendo en esta edición. Visual SourceSafe.Herramientas Cliente/Servidor cosa. y una docena más de productos no Microsoft. List Properties/Methods. Con la versión 5. Remote Data Objects (RDO). el repositorio y el compilador nativo). más que una evolución. La característica IntelliSense es realmente una referencia de sintaxis de un objeto modelo que protege a los desarrolladores de sus peores enemigos: ellos mismos. lo cual es una gran ayuda para crear controles de tal forma que los desarrolladores puedan cargar tanto el proyecto del control como el proyecto del host al mismo tiempo. finalmente. Project. Existen desarrolladores que no tendrán problemas en encontrar la forma de utilizar estas nuevas características e interfaces. List Constraints. y entonces darán a la aplicación su comportamiento con la colocación del código atrás de los controles o por cambios en las propiedades del control. soporte multiproyecto y editor ampliado. Word. . Quik Info. La edición Enterprise incluye SQL Server. como Borland Delphi. Los desarrolladores armarán la interfaz usando controles GUI preconstruidos . El proyecto del host puede crear un archivo ejecutable que permitirá al host el control para pruebas. Quienes consideraban a VBA como otro lenguaje de aplicaciones propietarias pueden ahora dar otro vistazo y cambiar su opinión. Complete Word. proyecto y ventana de propiedades. Access. un visualizador de objetos. VBA no sólo es un lenguaje: es toda una máquina de lenguaje (un editor. Lo realmente nuevo en herramientas son las características IntelliSense.UNAM 9 . el lenguaje nativo para Visual Basic. Servidor de transacciones Edición Desarrollador. éstos pueden ser usados en otros ambientes de desarrollo que puedan usar Activex. desde los controles de subclases hasta la posibilidad de combinación de más de 1000 controles comerciales de ActiveX. además de las nuevas herramientas de depuración. El cambio en el IDE. Cabe señalar que éste es el mismo paradigma utilizado por las herramientas de la competencia. Los desarrolladores avanzados pueden encontrarle usos muy buenos a IntelliSense. PowerPoint. Data Tips. Las características IntelliSense están disponibles para el código Window incluido.DCAA . Una vez creados dichos controles ActiveX. Desde la ventana de proyecto se pueden ver ahora todos los _Subdirección de Sistemas . incluyendo Excel.

Una vez creados los controles usando VB 5.0 es la habilidad de crear controles ActiveX. se agrega un proyecto de control blanco ActiveX. es una tarea relativamente fácil.0 usa el mismo paradigma de desarrollo visual para construir controles ActiveX que los usados para otras aplicaciones. o mediante la combinación de algunos controles existentes.Herramientas Cliente/Servidor componentes de todos los proyectos cargados. métodos. Las nuevas características de depuración incluyen la habilidad de cargar ventanas locales.UNAM 10 . En la versión previa de Visual Basic. y cualquier otro dispositivo de cómputo en red. Todo es cuestión de dibujar la Interface. y archivos de recursos. manejo de eventos y procedimientos definidos por el usuario. Haciendo click en el símbolo “más” se puede desplegar cuántas raíces hay y cuantas están incluidas en el proyecto. módulos.. Primero que nada se crea un test container para la creación de un estándar ejecutable usando VB 5. y finalmente se dibuja la interfaz para el control.0. el aspecto más destacado en VB 5. Ahora existen dos tabuladores. el cual muestra las variables corrientes y permite encontrar exactamente dónde están localizadas estas variables y dónde son referenciadas. formas. luego. y una ventana inmediata. Bloques de construcción Haciendo a un lado las nuevas características. se pueden definir dichos controles incluyendo Páginas Web. usted puede ver las propiedades de los objetos por categorías o alfabéticamente. Alfabético y Categoría: mientras se utiliza el tabulador alfabético se podrán ver las propiedades alfabéticamente. Debemos recordar que ActiveX ofrece muchas de las características proporcionadas por Java. La ventana de variables locales da la información de todas las variables declaradas en los procedimientos. El objeto browser también permite desplegar funciones y retornar tipos y nombres de parámetros. Cada proyecto es representado por una raíz en la ventana de proyecto. lo que permite crear controles mediante la modificación de controles existentes de reuso. La ventana inmediata permite examinar cualquier expresión VBA. Las ventanas locales también incluyen un visualizador de llamadas al Stack. propiedades personales. Esto incluye a todos los controles ActiveX. La ventana de Watch permite monitorear el valor de una variable o expresión en particular y permitir cambios al valor durante la ejecución. Construir sus propios controles ActiveX. aplicaciones Cliente/Servidor.DCAA . clases. a través de mecanismos de subclases pseudo orientadas a objetos. El Object Browser es una nueva y excelente implementación. una ventana de watch. y el Stack de llamadas despliega una lista de todas las llamadas activas a procedimientos. VB 5. Con esta versión. formas y clases. Además se pueden buscar objetos a través de todas las librerías a la vez. y si se utiliza el tabulador por categoría se verán las propiedades por categoría. así como de los valores almacenados en ellos. Un mecanismo de hiperliga permite mover directamente al objeto referenciado y permite una fácil navegación de la jerarquía de clases. fijar _Subdirección de Sistemas . módulos. documentos.0. la ventana de propiedades desplegaba los atributos de controles. El browser puede distinguir entre propiedades.

Más alto.UNAM 11 . y da a cada una de ellas precios diferentes. Sin embargo. El desempeño de acceso a las bases de datos también es bueno. es simple y fácil de utilizar. Si se es un desarrollador o Webmaster. y servicios DCOM como enlaces. Una vez que se está seguro que la aplicación funciona. Microsoft está moviéndose de un enfoque de uso de servidores COM – donde los mecanismos participan de las aplicaciones– a la construcción y desarrollo de controles ActiveX. Microsoft necesita enseñar a los desarrolladores cómo lograr que esta arquitectura pueda solucionar problemas de aplicación y desarrollo. Una vez hecho lo anterior. Sin embargo. VB ayudará a crear contenidos dinámicos ActiveX. Microsoft ahora vende dos. La idea. podemos creer que este paradigma tendrá más sentido. con ActiveX como front-end. _Subdirección de Sistemas . VB puede ayudar a realizar una rápida actualización de lista. tres. Todo lo que se necesita es presionar F5 para correr la aplicación y ver cómo trabaja. Es claro además que Java empieza a interrelacionarse con Microsoft[D3]. más rápido Durante la evaluación se pudo observar que su desempeño es realmente bueno: no sólo el IDE corre rápido. sino que no requiere de intérprete. Si se planea cualquier trabajo con componentes ActiveX. VB está dando el salto a la fabricación de controles ActiveX que todos estaban esperando. es un serio golpe. La estrategia principal implica que. servidor Active como back-end. no tiene problemas de desempeño. se pueden utilizar los controles en un aplicación externa. Es claro que Microsoft está basando todos sus productos en los controles ActiveX en estos días. y n soluciones. pues hasta el momento la creación de controles ActiveX requería de un desarrollador con conocimientos en Visual C++ o alguna otra herramienta selecta. y agregar algún código VBA de manejo de eventos. Si se comprende la estrategia de la Plataforma Active. y ésta es la forma en que se harán la mayoría de los programas Cliente/Servidor de las compañías en el futuro. y esto. si se es un desarrollador de VB. es obligar al consumo.DCAA . los productos de Microsoft son algo difíciles de manejar con ActiveX y la Plataforma Active. como podemos observar. quiérase o no. VB será la herramienta a utilizar. más fuerte.Herramientas Cliente/Servidor las propiedades. es hora de usar y probar este control. yo encontré dificultades en determinar si el mayor desempeño es el resultado de la adición de un nuevo compilador nativo o si la capa de acceso a las bases de datos es más rápido. obviamente. La fiebre de los componentes Algunos de los problemas que se pudieron observar en esta pequeña revisión de Visual Basic es el cambio de paradigma de las últimas versiones. Entonces. Sin embargo.

¿Qué es lo que más preocupa a todos los programadores? Más de una persona contestará a la pregunta diciendo que se trata de la velocidad. pero este beneficio ya no es importante hoy en día ya que Delphi trata de recuperar el liderazgo en herramientas de desarrollo para soluciones completas en los desarrolladores de Microsoft Windows. Servidor de bases de datos locales. El primero es una Pentium a 66 Mhz con 32 MB de RAM que corre Microsoft Windows 95. La verdadera velocidad requería el uso de algo más complejo.0 Workstation. seguramente habrá leído algún articulo acerca de la herramienta de desarrollo 4GL de Borland Internacional Inc. Hasta que Delphi llegó. algo como C++. Delphi. el cual es una poderosa herramienta de monitoreo para clases y mensajes.0 Si compró alguna revista de computación alrededor de 1995. Delphi definitivamente ha hecho el salto a los ejecutables eficientes. los usuarios de 4GL estaban condenados a la lentitud del interprete de código para sus aplicaciones Cliente/Servidor.DCAA .Herramientas Cliente/Servidor Delphi 3. Las herramientas de este tipo son muy usuales cuando se desarrollan grandes sistemas Cliente/Servidor. El producto ha sido instalado y probado en dos diferentes sistemas. se recibe una sorpresa al ver una variedad muy buena de herramientas y utilidades en el folder de Delphi.. editor de imágenes y Winsight32. Estas incluían un explorador de bases de datos. _Subdirección de Sistemas . la cual nos da muchas nuevas y poderosas características no soportadas en las versiones anteriores. y ocupó aproximadamente 89 MB de espacio en disco. hace algún tiempo. bases de datos locales (interbase). la cual instaló todo en el disco duro. ¿Qué es lo que revisamos? Se revisó una copia de la Suite Cliente/Servidor de Delphi 3. Se eligió la instalación por default. Borland ha hecho que la industria entera se preocupe en crear herramientas de programación 4GL que compilen ejecutables de verdadero código nativo. El segundo era una Pentium a 100 Mhz con 64 MB en RAM que corre Microsoft Windows NT 4.UNAM 12 . Al seleccionar la instalación por default.

0. Delphi no se durmió en sus laureles. Por ejemplo.UNAM 13 . La versión 3. La guía de escritura de componentes es un manual de Delphi que explica cómo hacer los procedimientos orientados a objetos. Pero la velocidad por sí misma no es suficiente en los ambientes de hoy en día.DCAA . cuando se inicia Delphi y se crea una nueva forma. era si mantenía la reputación de su predecesor sobre la velocidad del código ejecutable. Por diseño. La mayor implementación de Delphi fue la tecnología de compilación con la llamada a paquetes. lo que hace al cliente más pequeño. cuando se crea el ejecutable. Para esto. incluyendo encapsulamiento.dll. Esto es. y dio un paso para ser todavía mejor. se puede especificar el procedimiento en el código que sea especificado con el objeto. Haciendo igualmente los cambios requeridos en un nivel bastante avanzado de la comprensión de la orientación a objetos. ahora es la extensión. Lo correcto.0 usa compilador de código nativo de 32 bits. Ya dentro del producto Delphi 3.Herramientas Cliente/Servidor Velocidad. al igual que el cliente. Pensando en futuras versiones. de cualquier forma. mientras que la versión 2 producía archivos ejecutables de aplicación semicontenidos. Haciendo doble click en un objeto en particular. las técnicas avanzadas de orientación a objetos podrán ser mas _Subdirección de Sistemas . es bueno tener un profundo conocimiento en Pascal con objetos. lo cual hizo que muchos usuarios pudieran hacer fácilmente la conversión y sentirse cómodos con el ambiente. muchas nuevas características han sido agregadas.0 es un Pascal con objetos en el lenguaje de codificación. Otra ventana contiene el código de la aplicación. Orientación a objetos Delphi 3. Cada objeto tiene una ventana separada de información que contiene las propiedades. Pascal con objetos exhibe todos los atributos de la orientación a objetos. ésta es automáticamente derivada de una preexistente clase base del objeto forma. polimorfismo y herencia.0 tiene muchas referencias a la Interface tipo Visual Basic. éste debe ser lo más compacto posible. como reescribir un método de un objeto anterior o la creación de sus propios componentes básicos de clase. Esto es bastante similar en la versión 2. velocidad La primera cosa que se quería saber acerca de Delphi. velocidad. Ahora se tiene la opción de compilar el ejecutable acompañado de un archivo . relaciones y los eventos. Esto hace posible usar las técnicas más avanzadas de la orientación a objetos en Delphi 3.

el cual a su vez es heredado de otro paquete . En este campo. ActiveX Creation permite crear controles Activex de una forma sencilla. Active Web Deployment ayuda a activar rápidamente las aplicaciones para desplegarlas en la Web. Así como por un lado el cliente tiene su contraparte.0 permitía la compilación de relativamente pequeños ejecutables con su tecnología de paquetes. Active Insight es el nombre de las cuatros tecnologías ActiveX de Delphi que son usadas en los desarrollos Cliente/Servidor.dll. todos los paquetes estarán disponibles para ser heredados.UNAM 14 .exe puede ser heredado desde un objeto en un paquete . Delphi viene con Visual Component Library (VCL32). En medio de la batalla entre Microsoft Corp.. Por ejemplo. Usando OCX y controles ActiveX en Delphi 3. Todas las técnicas programación orientada a de la objetos pueden ser usadas entre diferentes paquetes compilados. La línea estratégica principal de todo esto es que Delphi posea las más sofisticadas capacidades de la orientación a objetos. Usando Componentes Nuestra industria está del todo frenética sobre el uso de controles ActiveX y componentes de Java. y List Viewer. las cuales son buenas para manejos de datos y herramientas multimedia.0. Hay algunas cosas que se han dicho para tomar partido en la contienda y estar con quien permita hacer una integración de sus productos lo más similar posible. Así en general. un objeto en un paquete . Active Form permite cambiar cualquier ventana Delphi que se esté creando a una forma activa lista para Internet.0 va más lejos que la versión anterior con la implementación de lo que se llama Broker Technologies. Delphi estableció un conjunto de productos suyos firmados en el campo de Microsoft.DCAA . Constraint Broker propaga los constraint de las _Subdirección de Sistemas . Para ampliar su arsenal distribuido.Herramientas Cliente/Servidor gráficas. éste alcanza nuevos niveles de simplicidad. Rich Edit. y CORBA. la cual contiene más de 100 componentes reusables que los desarrolladores pueden utilizar simplemente arrastrando y soltando (drag and drop) donde diseñan y crean sus aplicaciones. Estas combinadas con el poder de hacen más poderoso que Cómputo Distribuido Anteriormente mencionamos que Delphi 3. ambiente completo para COM y DCOM. Un COM interconstruido permite tener un desarrollos tecnologías ActiveX lo antes. DCOM. por otro lado el servidor de la tecnología Broker tiene 4 áreas: Remote Data Broker permite el paso de tipo de datos cursor al cliente en oposición al tipo de dato arreglo estándar en COM. Esto incluye Interface de Windows 95 con elementos de Tree Views.dll. Bussines Object Broker da un objeto medianamente robusto para la localización transparente de conexiones perdidas o rotas hacia los servidores de las reglas del negocio. y Sun Microsystems Inc. Delphi 3. Delphi ha triunfado.

Apropiadamente desde el SQL Explorer se puede arrastrar y soltar tablas enteras o campos específicos de una forma. tales como tablas de datos. Microsoft SQL Server. es bastante innovador. Informix. _Subdirección de Sistemas . el cual va arriba de la versión 2. el cual está orientado al uso de componentes de Java. Jbuilder. y triggers para cualquier base de datos a la cual se esté conectado. Todas las grandes RDBMS están soportadas vía SQL Links de Delphi. Desarrollo en el Web La revisión no es completa sin una discusión del Web. y DB2. Borland ofrece otro producto. Finalmente.DCAA . el cual permite crear ISAPI (para Internet Explorer) o NSAPI (para Netscape) con extensiones . Sybase. Donde se pueda poner todas estas herramientas y técnicas juntas. Todos los objetos para el acceso a los datos necesarios para hacer la conexión serán automáticamente colocados en la forma. Usted puede arrastrar y soltar cualquiera de los 15 controles ActiveX dedicados a los protocolos y estándares. La primera de estas capacidades que llamó mi atención fue el SQL Explorer. pero actualmente Delphi es estrictamente ActiveX. El hecho de que Delphi utilice la tecnología ActiveX significa que por ahora no se pueden usar los componentes para desarrollar aplicaciones Java. de modo que el trabajo pueda ser continuo siempre y cuando no se conecte a las bases de datos. se pueden manipular sus atributos en el Object Inspector.dll que permiten tanto al cliente como al servidor tener control para las aplicaciones de Internet.Herramientas Cliente/Servidor bases de datos al cliente. Acceso a las Bases de Datos Completamente enfocado a la velocidad. Esta herramienta muestra los objetos de una bases de datos.UNAM 15 . Una de las características más importantes que posee Delphi para el desarrollo en la Web. Cada vez que se arrastra uno de estos objetos hacia la forma. el Web Broker da una alta velocidad de diseminación de información sobre la Web usando HTML y tecnologías HTTP mas allá de los escenarios. ahora tiene un conjunto de herramientas robustas de acceso de datos. o actualizar fácilmente sus documentos en el Web. básicamente se tendrá la habilidad para crear una aplicación completamente funcional que le permitirá correr. el ambiente Delphi. constraints. es su compilador de código nativo. el producto que alguna vez causó impacto en la comunidad desarrolladora en el campo de los accesos a las bases de datos. incluyendo Oracle. Me alegré al ver y reconocer cada una de las características avanzadas de las bases de datos –como los paquetes de Oracle Corp– y que usted puede usar con SQL para modificar cualquier cosa directamente. La forma en que se tiene acceso a los datos de las bases de datos. dentro de un browser.

Si el ambiente Windows es su base de desarrollo.UNAM 16 . y SQA– le ha dado buenos comentarios a este producto dentro de la industria.Herramientas Cliente/Servidor Delphi 3 está completamente soportado por las conexiones a las bases de datos por ODBC en adición a los drivers nativos SQL Links. los desarrolladores pueden codificar sus aplicaciones relativamente independientes de un vendedor específico. Usando el BDE. como las nuevas capacidades de reportes y asistencias de sintaxis para el desarrollador del código. Delphi permite el acceso del BDE de manera centralizada en oposición al acceso local en cada máquina. FoxPro. Los desarrolladores quizá prefieran el uso de Btrieve u ODBC en su caso. yo quedé impresionado con todo lo que ha hecho Delphi en tan poco tiempo. Muchos prefieren los driver SQL Links por su buena velocidad. Delphi 3. entonces Delphi ciertamente podría pasar como un real contendiente. Para promover los múltiples desarrollos. Los Oficiales de Borland dijeron que estas características estarán disponibles en las últimas versiones de este producto cuando las demandas del mercado sean mayores. pero con las mejoras de la tecnología ODBC. e Informix. El desarrollador ahora puede escoger el uso de la BDE para el acceso de las Bases de Datos.0 ofrece muchas otras características dignas de mencionar. El Borland Database Engine (BDE) es el fundamento sobre el cual las bases de datos construyen los accesos. Nuevas adiciones a la lista incluyen a Microsoft Acces. Una elemento que falta en el paquete de bases de datos de Delphi es la habilidad para manejar los nuevos datos de los objetos relacionáles disponibles en los servidores universales. Con toda la funcionalidad que el BDE brinda. El mayor cambio con respecto a la versión 2 de BDE es la forma de agregar flexibilidad. la brecha se ha reducido. _Subdirección de Sistemas . no se porque muchos desarrolladores no los utilizan. DB” . Un digno contendiente Considerando lo anterior. Además. PVCS.DCAA . pero no está limitado a esto. y si desea tener herramientas 4GL. Esto es usado principalmente cuando se desarrollan aplicaciones para el Web que necesitan el acceso a los motores de bases de datos remotas. El soporte para terceros vendedores –como Microsoft. La última noticia de cambio del BDE es el incremento de soporte para otros vendedores.

Cada bloque correspondía a las tablas de las bases de datos y cada campo a una columna en la tabla. y campos. el valor heredado de la propiedad de clase puede ser _Subdirección de Sistemas . Permitían fijar una jerarquía de clases. Esta es una revisión orientada a la comparación entre las características que ofrece tanto la versión 1. Una propiedad de clase de cualquier objeto en una aplicación. pero las ganancias son en portabilidad. Herencia: Las propiedades de las clases designan listas de propiedades y métodos.Herramientas Cliente/Servidor Developer/2000 Developer/2000 permite a los usuarios construir sofisticados sistemas que se pueden escalar desde trabajos en grupos hasta empresas. bloques. sino que también requiere de habilidades superiores en su uso para producir resultados magníficos. Sin embargo esto no sólo se refiere a la capacidad de producir aplicaciones maravillosamente ricas y poderosas bases de datos en las manos de un talentoso desarrollador. podemos observar que las herramientas de desarrollo de aplicaciones de Oracle tenían ya los rudimentos de la orientación a objetos. como la versión 2.4 de Developer/2000.DCAA . Retrocediendo 10 años atrás.0. En contraste con algunas herramientas de desarrollo que pueden ser conseguidas y usadas durante horas para producir aplicaciones rápidas y sucias. y una firme integración con las bases de datos de Oracle.UNAM 17 . Developer/2000 es una herramienta virtuosa. la versión corriente en el mercado. Dándole al desarrollo de aplicaciones de bases de datos una parte de arte y otra de ciencia. planificar y crear. la analogía entre la creación de una obra maestra de música y una obra maestra de software no es más distinta que la diferencia entre notas y sonidos. y las Formas porción de Developer/2000 ahora ofrecen muchas más características de la programación orientada a los objetos. escalabilidad. Estos objetos pueden heredar todas las propiedades que tienen sentido para ellos. Si es necesario. pero esto sólo era el principio. Orientación a los objetos Comencé usando el RBDMS de Oracle como herramienta de desarrollo antes de 1986. practicar. la cual se planea vender al final de la primavera. los cuales pueden ser heredados o sobrescritos por objetos inferiores en la jerarquía. aunque las clases nuevas no podían ser definidas por el desarrollador. Developer/2000 requiere horas e incluso días para estudiar. Las herramientas de Oracle continuaron evolucionando durante años. Los métodos de objetos en SQL *Forms son definidos por los triggers (que son diferentes a los store procedures que se ejecutan en el servidor). cuando SQL *Forms tenía una jerarquía de clases llamadas formas.

y los objetos dentro del paquete pueden ser modificados. Si sobrescribimos cualquier punto. y sólo hereda las propiedades y métodos que tengan sentido para el objeto en cuestión. DataSource Transparency permite construir bloques de templetes basados en tablas de las bases de datos y permite acceder a la base de datos internacional con Developer/2000 sin ningún código requerido. También se puede sustituir la herencia y cambiar las propiedades en los hijos.UNAM 18 . Los sistemas de software complejos pueden ser muy largos y engorrosos para trabajar en ellos. Developer/2000 resuelve las referencias e incorpora la última versión del objeto fuente. la definición del objeto es incorporada en el módulo fuente inmediato. un puntero al objeto en el módulo fuente es incorporado en el módulo destino. Se puede solucionar este problema mdiante la organización y la estructuración de la aplicación en módulos separados. Con los nuevos Object Subclassing. Cuando se hace referencia a un objeto. funciones. el polimorfismo es implementado usando el concepto de sobrecarga. Así mismo. mediante la organización del código PL/SQL dentro de las librerías y paquetes. Dependiendo de los _Subdirección de Sistemas . El hecho de dividir un programa en componentes separados puede reducir esta complejidad. Cuando se copia el objeto. estos valores pueden ser tomados por default en el valor de las propiedades de las clases si es requerido. y Aplicaciones y Paquetes de Bases de Datos. Esta capacidad permite a los objetos y los métodos ser encapsulados dentro de un módulo fuente y reusados a través del ambiente de desarrollo. PL/SQL Libraries ofrecen un mecanismo para reusar aplicaciones y sirven para el uso de métodos de la actual implementación. Cuando subsecuentemente se abre o se genera la forma. Polimorfismo significa que diferentes clases de objetos pueden implementar la misma función de una manera que sea apropiada para la clase. un paquete es creado y probado. Cualquier cambio subsecuente hecho al objeto fuente no es reflejado al módulo destino. Reuso de Objetos. y otros programas objetos con programa simple. Developer/2000 es inteligente para la herencia de las propiedades. Una aplicación o Paquete de Bases de Datos es una colección encapsulada de procedimientos relacionados.DCAA . La sobrecarga es un método de implementación de la misma unidad de programa que se encuentra múltiples veces dentro de un paquete PL/SQL. se tiene la opción de copiar o referenciar el objeto. Polimorfismo. La Modularidad puede ser alcanzada por Developer/2000 en el más alto nivel de estructuración de la aplicación en múltiples formas y en el nivel procedural. Cuando los objetos son heredados. Dentro de Developer/2000. Las formas dan esta funcionalidad en tres maneras: DataSource Transparency. Arrastrar y soltar objetos permite la herencia de objetos y código que puede ser copiado o referenciado entre aplicaciones.0 de Developer/2000 el Object Subclassing puede ser agregado al Form Builder para superar algunas de las limitaciones existentes de las propiedades de las clases. los cambios hechos a la estructura de las propiedades del padre son automáticamente heredados por los hijos. El encapsulamiento permite a los programas cambiar para dar confiabilidad con un mínimo monto de esfuerzo. Encapsulamiento. Modularidad. y el nuevo objeto en el módulo destino puede ser modificado sin preocupación alguna. En la versión 2. PL/SQL Libraries.Herramientas Cliente/Servidor reescrito.

UNAM 19 . preferentemente en un ambiente que puede ser ejecutado en el _Subdirección de Sistemas . se les da la habilidad de mover código entre cliente y servidor. Este año Oracle publicó el Suite Web Developer. el cual permite el desarrollo de cartuchos PL/SQL para NCA. Oracle InterOffice. Se puede también llamar directamente al . y contiene licencias para muchas herramientas de desarrollo de Oracle: Developer/2000. controles VBX y DDE. OLE Automation. El NCA de Oracle propone resolver el problema de la competencia de estándares con el Inter-Cartridge Exchange (ICX). ActiveX será soportado en las versiones futuras. y ActiveX será parte de una larga estrategia de productos que Oracle denomina Network Computing Architecture (NCA). CORBA 2. EL ICX ofrece un mecanismo de puenteo COM/CORBA que permitirá a los clientes ActiveX/COM accesar otros cartuchos (CORBA. el polimorfismo y la modularidad pueden ser usados para la creación de rutinas genéricas que desempeñan diferentes funciones dependiendo de la clase en la que sean aplicadas.0. Componentes La versión actual de Developer/2000 para Windows permite integrar las aplicaciones con otros componentes. Oracle anunció el NCA. Aunque el soporte a los componentes ActiveX no está incluido en la versión actual de Developer/2000. y objetos ActiveX. la unidad apropiada de programa es aplicada a los argumentos. Una de éstas es lograda mediante la partición de las aplicaciones. como OLE 2. Oracle 7 Universal Server o WorkGroup Server. Al particionar en dos las aplicaciones. El suite Web Developer soporta escritorios ActiveX. En la esencia de la arquitectura estándar de facto: CORBA 2. Developer/2000 puede ser usado para crear cartuchos para el desarrollo de formas SQL basadas en la Web. el NCA de Oracle también incluye un ambiente de objetos distribuidos basado en una infraestructura de software CORBA/IIOP.Herramientas Cliente/Servidor argumentos pasados al paquete.DCAA . Las aplicaciones multitarea son otra forma de redes de computadoras distribuidas. plug-ins de browser. Aplicaciones distribuidas y multitarea En adición al soporte dado para la tecnología de componentes como ActiveX y Java.dll de un PL/SQL dentro de Developer/2000. modelación.0 incluye IIOP para la Interoperabilidad de los objetos e IDL para las interfaces de lenguaje neutral. el cual soporta aplicaciones cliente a través de estándares de facto como Java. Netscape ONE y Java. como la 2.0. Java) a través de IIOP. y un Kit de cartuchos de desarrollo para computación en red. WebServer 3. herramienta de análisis y diseño). A través de CORBA y del mapeo de lenguajes a IDL.0. De este modo. Designer/2000 (CASE. El último año. en el futuro permitirá el desarrollo de otros cartuchos soportados por esta arquitectura.0 y HTTP/HTML.

y diseño de tareas. Oracle soporta muy bien el lenguaje PL/SQL en ambos frentes de la conexión cliente/servidor. Además de la doble división. Oracle ofrece la división de aplicación mediante arrastrar y soltar (drag and drop) unidades de programas PL/SQL.0 de Developer/2000.UNAM 20 . y en un proceso regenerativo se asegura que estas modificaciones personales sean sincronizadas y consistentes con el Depósito Designer/2000. Previamente se construyeron formas o reportes que pueden ser reversivamente rehechas dentro de Designer/2000 para aplicaciones futuras ampliadas y mantenidas. muchos de los cuales trabajan con Developer/2000. reportes. modelación. explotando a cada una ellas. y gráficas construidas en Developer/20000 para correr dentro del browser de la Web. El Web site alliance.oracle. Developer/2000 puede crear aplicaciones tripartitas que están centralizadas en la lógica del negocio en las aplicaciones servidoras medianamente divididas. Despliegue en la Web El concepto de desplegar aplicaciones de bases de datos en plataformas Internet/Intranet es la ganancia del momento. Integración con Adiciones Designer/2000 es actualmente mencionado como una adición que trabaja con Developer/2000 para el CASE. Oracle ha mantenido una fuerte integración entre estos dos diseños y herramientas de desarrollo durante años.DCAA .com lista información acerca de los agregados dados por terceros vendedores. Oracle tiene más de 6000 socios que dan adiciones a lo que hacen los productos de software de Oracle. análisis. y esta capacidad de las formas es la base de la estrategia de partición de las compañías. Designer/2000 genera aplicaciones para correr en múltiples plataformas con características nativas. En la versión 2. el cartucho de la Web permite desplegar aplicaciones interactivas en la Web mediante la habilitación de formas. _Subdirección de Sistemas . Las aplicaciones generadas por Designer/2000 pueden ser ampliadas en Developer/2000.Herramientas Cliente/Servidor mismo lenguaje tanto en el servidor como en el cliente.

Designer/2000 también puede jugar el papel en la declaración de desarrollo de aplicaciones. El Servidor Universal opción Spatial Data es una colección de programas y paquetes escritos en PL/SQL con lo que la versión actual de Developer/2000 puede hacer llamadas procedurales a los _Subdirección de Sistemas . seleccionando un formato de reporte de la galería de estilos de reportes. ellos dan todo el master/detail de la coordinación y bloque inteligente de la transacción.0 contiene declaración de soporte para muchos tipos de datos y reportes. da una completa Interface query-byexample. con soporte para las bases de datos distribuidas heterogéneas. Soporte al Servidor Universal EL servidor Universal de Oracle ha generado un gran cantidad de presión porque ha incrementado el interés en los tipos de datos complejos no relacionales.DCAA . Developer/2000 puede crear aplicaciones de la definición de la base de datos sin requerir ningún código procedural. e incorpora una barra de herramientas para la operación del desempeño de la base de datos. Esto da el manejo del modelo de desarrollo a través del estándar industrial y de las técnicas de modelado como lo es una entidad de relación. el flujo de datos y el modelado de matriz. que significa que un tipo de dato complejo puede ser manipulado proceduralmente con Developer/2000. donde imágenes y sonidos son regularmente usados para acompañar los tradicionales tipos de datos como texto y números. Además. Además. y de la corrida del reporte. Developer/2000 versión 2. Algunas de las cosas más interesantes vienen de la Web. la jerarquía de funciones. y controles VBX. contenedores OLE. Los reportes pueden ser desarrollados declarativamente en Developer/2000 mediante la definición de Queries y de otras relaciones en la Interface punto y click del modelador de datos. un menú para invocar operaciones de y todos los mensajes y manejo de errores. La construcción de aplicaciones usando el Developer/2000 punto y click declara características automáticamente establecidas a todas las interacciones con las bases de datos basadas en definiciones del servidor. sonido.Herramientas Cliente/Servidor Desarrollo Declarativo Las reglas del negocio son declaraciones sobre las formas de los procedimientos en la descripción de las aplicaciones. Otras áreas de interés son las bases de datos relacionales hechas para aplicaciones no tradicionales como bases de texto y Sistemas de información Geográficos (GIS). PL/SQL soporta el tipo de dato LONG.UNAM 21 . controles ActiveX. Gracias a la integración con Oracle 7. agrega constraint a las bases de datos de la aplicación. El Servidor Universal de Oracle incluye dos opciones de servidor para guardar y buscar tipos de datos complejos: el ConText para datos textuales largos y la opción Spatial Data para datos geográficos. incluyendo cartas.

La versión 2. y la actualización 2. una herramienta de alto nivel para crear aplicaciones de bases de datos relacionales. Referencia Byte.Herramientas Cliente/Servidor programas Spatial Data. "Toolsc-s" _Subdirección de Sistemas . que incluye desarrollos Intranet/Internet. Los desarrolladores pueden ahora dedicar más tiempo para aprender a usar esta herramienta de desarrollo a todo su potencial.UNAM 22 . Esto también agrega un conjunto de nuevas características de programación orientada a objetos y soportada por el extenso NCA de Oracle.DCAA .0 permite basarse en un bloque almacenado en la base de datos como procedimiento. permitiendo tomar ventaja fácilmente de los tipos de datos extendidos Herramienta de máxima calidad Developer/2000 es de alta calidad. Developer/2000 es una excelente elección para construir aplicaciones portables. Mayo 1997. las cuáles pueden ser escalables para las bases de datos.0 extiende el desarrollo tradicional basado en host Cliente/Servidor.

Sign up to vote on this title
UsefulNot useful