Aplicaciones Web con Delphi

Anuncio
Artículos técnicos Grupo Danysoft:
Aplicaciones
Web con Delphi
Por Pablo Reyes – Grupo Danysoft
noviembre de 2002 - (902) 123146
www.danysoft.com
Aplicaciones Web con Delphi 7
Una de las novedades más importantes en Delphi 7 es IntraWeb de la empresa AToZed Software. Este producto,
disponible también para C++Builder, Kylix, JBuilder y .NET, es un marco de trabajo que simplifica el desarrollo de
aplicaciones Web reduciendo la curva de aprendizaje al mínimo.
La misma filosofía
Una de las principales ventajas de IntraWeb es que nos permite utilizar las mismas herramientas que utilizamos para
el desarrollo de aplicaciones de escritorio. Esto significa que un programador Delphi que normalmente desarrolla
aplicaciones de escritorio y no conoce las tecnologías relacionadas con el desarrollo de aplicaciones Web como
HTML, JavaScrip y demás, puede desarrollar en pocos días y con mínimo esfuerzo una interface Web para sus
aplicaciones de escritorio.
Aplicaciones de escritorio
Normalmente cuando desarrollamos una aplicación de escritorio lo que hacemos es crear uno o más formularios,
añadir componentes a ellos, escribir código para algunos eventos y de vez en cuando presionar F9 para compilar y
ejecutar y ver si todo funciona como esperamos. Este proceso es iterativo y muchas veces es necesario depurar para
encontrar los errores que estamos cometiendo.
Delphi es una herramienta de desarrollo madura y su entorno de desarrollo es una prueba de ello. Los programadores
Delphi estamos acostumbrados al diseñador de formularios (Form Designer), a la paleta de componentes, al
inspector de objetos (Object Inspector), al editor de código (Code Editor) y al depurador integrado. También
conocemos el lenguaje de programación Delphi y los componentes de la VCL, sobre todo sus propiedades, métodos
y eventos.
Aplicaciones IntraWeb
Cuando desarrollamos una aplicación Web con IntraWeb lo que hacemos es crear uno o más formularios (que luego
se convertirán en páginas Web), añadir componentes a ellos (que luego se convertirán en código HTML), escribir
código para algunos eventos (que luego se convertirán en código JavaScript o se ejecutarán del lado del servidor) y
de vez en cuando presionar F9 para compilar y ejecutar y ver si todo funciona como esperamos. Este proceso es
iterativo y muchas veces es necesario depurar para encontrar los errores que estamos cometiendo.
Desarrollar una aplicación Web con IntraWeb es prácticamente igual que desarrollar una aplicación de escritorio.
Utilizamos el mismo diseñador de formularios, añadimos a ellos componentes de la paleta de componentes,
utilizamos el inspector de objetos, el editor de código y el depurador integrado de la misma forma que lo hacemos
durante el desarrollo de aplicaciones de escritorio. También utilizamos el lenguaje Delphi y componentes
equivalentes a los de la VCL con las mismas propiedades, métodos y eventos.
Una imagen vale más que mil palabras
Como programadores que somos, queremos ver código fuente e imágenes de pantalla para saber de qué nos están
hablando. Pues bien, veamos un ejemplo.
Supongamos que queremos desarrollar una aplicación de escritorio que le permite al usuario ingresar su nombre y al
hacer clic en un botón que aparezca una ventana de diálogo con un mensaje de bienvenida.
Aplicación de escritorio
El formulario en cuestión sería similar al siguiente:
El código para el evento OnClick del Button sería similar al siguiente:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Hola ' + Edit1.Text);
end;
Al ejecutar la aplicación el resultado obtenido debería ser similar al siguiente:
Supongo que esta aplicación no entraña ningún misterio para los programadores Delphi.
Aplicación Web con IntraWeb
El formulario en cuestión sería similar al siguiente
El código para el evento OnClick del IWButton sería similar al siguiente:
procedure TformMain.IWButton1Click(Sender: TObject);
begin
WebApplication.ShowMessage('Hola ' + IWEdit1.Text);
end;
Al ejecutar la aplicación el resultado obtenido debería ser similar al siguiente:
A ver quién encuentra las siete diferencias.
IntraWeb provee una modalidad mediante la cual no es necesario instalar la aplicación en un servidor Web ya que la
misma aplicación tiene la capacidad de funcionar como un servidor Web, es decir, es capaz de aceptar
requerimientos HTTP y responder con contenido HTML. Esta es la modalidad que he utilizado en este ejemplo. En
la imagen de arriba puede verse el formulario de la aplicación generada por IntraWeb desde el cual podemos abrir el
navegador para comprobar el funcionamiento de nuestras páginas HTML. Esta aplicación funciona como un servidor
Web. También es posible generar aplicaciones ISAPI y Apache.
Componentes de la página IWStandard
IntraWeb provee los siguientes componentes equivalentes a los de la página Standard de la VCL.
•
•
•
•
•
IWApplet: permite incluir un objeto Applet en un formulario y acceder por código a sus propiedades.
IWButton, IWCheckBox, IWComboBox, IWEdit
IWFile: permite cargar (upload) un archivo desde el navegador
IWFlash: permite incluir un objeto Flash en un formulario
IWHRule
•
•
IWImage
IWImageFile: similar a IWFile pero para archivos de imágenes
•
•
•
IWList, IWLabel, IWListBox
IWLink: permite incluir un enlace en un formulario
IWMemo, IWMenu
•
•
•
•
IWRadioGroup, IWRectangle
IWRegion: similar a ScrollBox
IWText, IWTimer, IWGrid, IWTreeView
IWURL: similar a IWLink con la diferencia de que permite especificar una dirección URL y cuando el
usuario hace clic en el enlace se abre una nueva ventana del navegar que navega a dicha dirección.
Componentes enlazados a datos también
IntraWeb también provee una serie de componentes enlazados a datos equivalentes a los de la página Data Controls
de la VCL. Estos componentes utilizan los mismos componentes de acceso a datos a los que estamos acostumbrados.
Veamos un ejemplo. Supongamos que queremos desarrollar una aplicación que permite navegar los registros de la
tabla Animals.xml disponible con la instalación de Delphi.
Aplicación de escritorio
El formulario en cuestión sería similar al siguiente:
Creo que no es necesario mostrar esta aplicación en ejecución ya que todos sabemos como se vería.
Aplicación Web con IntraWeb
El formulario en cuestión sería similar al siguiente:
Al ejecutar la aplicación el resultado obtenido debería ser similar al siguiente:
Tal y como podemos hacerlo para aplicaciones de escritorio, con IntraWeb podemos generar una página que permita
no sólo navegar un conjunto de datos sino también insertar, editar y eliminar registros sin necesidad de escribir ni
una sola línea de código. Una particularidad que tienen las aplicaciones Web es la gestión de sesiones. Tampoco
tenemos que preocuparnos de ello ya que IntraWeb se encarga de gestionar sesiones por nosotros de manera
transparente.
Componentes de la página IWData
IntraWeb provee los siguientes componentes equivalentes a los de la página Data Controls de la VCL.
•
IWDBCheckBox, IWDBComboBox, IWDBEdit, IWDBGrid, IWDBImage, IWDBLabel, IWDBListBox,
IWDBLookupListBox, IWDBLookupComboBox, IWDBFile, IWDBMemo, IWDBNavigator, IWDBText
Características adicionales
IntraWeb provee una serie de componentes del lado cliente que permiten, entre otras cosas, trabajar con un conjunto
de datos del lado cliente que el usuario puede navegar sin necesidad de generar requerimientos al servidor Web para
obtener los datos del registro a mostrar. También provee componentes para mostrar gráficos de barras dinámicos, es
decir, que el usuario pueda modificar su apariencia indicando, por ejemplo, qué datos desea ver, y rejillas dinámicas
en las que el usuario puede ordenar y filtrar los datos por la columna que desee.
Integración de WebBroker y WebSnap
IntraWeb provee componentes que permiten integrar las páginas generadas por IntraWeb con aplicaciones
WebBroker o WebSnap. De esta forma es posible mantener aplicaciones de este tipo sin dejar de aprovechar las
ventajas que ofrece IntraWeb.
Conclusión
IntraWeb permite desarrollar aplicaciones Web de la misma manera que desarrollamos aplicaciones de escritorio. Su
curva de aprendizaje es mínima. Un desarrollador Delphi puede comenzar a desarrollar aplicaciones Web con
IntraWeb en cuestión de días.
Para instalaciones pequeñas, IntraWeb nos da la posibilidad de desarrollar aplicaciones Web autónomas, es decir,
que no requieran de un servidor Web. Para instalaciones más grandes, podemos desarrollar aplicaciones ISAPI y
Apache.
Con IntraWeb podemos reutilizar los DataModules de nuestras aplicaciones de escritorio para dotarlas con una
interfaz Web en tiempo record y mantener ambas aplicaciones compartiendo dichos DataModules sin tener que
duplicar la lógica de datos.
IntraWeb también está disponible en versión CLX para Kylix. .
Para más información
El siguiente paso, puede ser revisar la documentación que incluye Delphi o para avanzar más rápido, asistir al curso
que regularmente impartimos en el Grupo Danysoft sobre IntraWeb, del cual le incluimos el temario a continuación:
Cursos Delphi 7: “Creación de sitios Web con IntraWeb”
Este curso explica como crear sitios Web utilizando IntraWeb. IntraWeb provee un marco de trabajo para la creación
de sitios Web con herramientas similares a las utilizadas para la creación de aplicaciones GUI (Graphical User
Interface – Interface Gráfica de Usuario) tradicionales. Es decir, crear un sitio Web con IntraWeb es casi igual a
crear una aplicación GUI tradicional. IntraWeb no sólo permite la creación de un sitio Web completo. También
puede ser utilizado como herramienta para la creación de páginas Web en aplicaciones WebBroker y WebSnap.
Además, IntraWeb provee componentes que facilitan la creación de páginas Web dinámicas con una interface de
usuario rica desde el punto de vista visual y funcional.
Objetivo
El objetivo de este curso es capacitar al alumno para el desarrollo de sitios Web con páginas dinámicas sin tener que
aprender a utilizar nuevas herramientas de diseño y ocultando la complejidad propia de la creación de un sitio Web.
Duración
La duración de este curso es de 18 horas. Normalmente se imparte durante 3 días en jornadas de 6 horas cada una.
Temario
1.
2.
3.
4.
5.
6.
Introducción a IntraWeb
1.1. ¿Qué es IntraWeb?
1.2. El entorno de desarrollo IntraWeb
Diseño de páginas simples
2.1. Componentes visuales más comunes
2.2. Manejadores de eventos
2.3. Componentes visuales avanzados
Diseño de páginas enlazadas a datos
3.1. Componentes enlazados a datos
3.2. Actualizaciones y gestión de errores
Componentes avanzados
4.1. Componentes del lado cliente
4.2. Componentes de control
Arquitectura de una aplicación IntraWeb
5.1. El objeto WebApplication
5.2. Cómo gestiona IntraWeb un proyecto
5.3. IntraWeb como servidor Web
Integración con WebBroker y WebSnap
6.1. Creación de páginas Web
6.2. Invocación de páginas Web
Para +información o conocer las próximas fechas en las que se impartirá, visite http://www.danyform.com
o remita un email a formació[email protected]
Descargar