Introducción
Normalmente cuando se desarrolla una aplicación hay muchas partes de la misma que pueden ser reutilizadas en varios objetos.
El objetivo de los Web Components es permitir un alto grado de reutilización de estas partes (componentes) disminuyendo así el costo de desarrollo y mantenimiento de las aplicaciones.
Alcance
Objetos: Web Panels
Lenguajes: C/SQL - Java - Visual Basic - C#
Interfaces: Web
Descripción
Los "Web Components" son Web Panels que tienen una propiedad que indica que son componentes. Es decir, pueden ser ejecutados por sí solos como cualquier otro Web Panel o pueden formar parte de otro objeto Web Panel o Web Transaction y por ende permiten a los diseñadores de aplicaciones Web GeneXus un alto grado de reutilización de los mismos.
Cualquier parte de un Web Panel que se repita en varios Web Panels o Web Transactions de una aplicación puede ser definida como Web Component.
Algunos ejemplos de ello: menús, login, área que permite la personalización, etcétera.
En lugar de tener implementado por ejemplo, la carga del menú en cada uno de los Web Panels que requieren el mismo, la idea es programarla en un Web Component y reutilizarlo en cada Web Panel que requiere un menú.
Definición de Web Components
Para definir un Web Panel como Web Component se debe configurar la propiedad "Web Component" del objeto en "YES". Se debe notar que un Web Panel definido como Web Component no pierde ninguna de sus demás facilidades, o sea, si por ejemplo es un Web Panel MAIN, puede ser ejecutado en forma autónoma.
Los Web Components se generan dentro del mismo HTML del Web Panel que los contiene. Esto es, el servidor resuelve la inclusión del Web Component en tiempo de ejecución y devuelve al navegador el código HTML con el Web Component ya incluido.
Ejemplo
El siguiente ejemplo ayuda a entender mejor la funcionalidad de los Web Components, su utilidad y potencia:
http://www.artech.com.uy/cgi-bin/webartech/hdcver03.exe?S,31,0,407
Para ver el ejemplo funcionando, se debe ejecutar el web panel "hcontent"
Por más información:
http://www.artech.com.uy/Solis/gxdl/iehelp.htm?Español/GeneXus_Solis/GeneXus/Internet/Docum/ReleaseNotes/7.5/WebComponents.htm