Professional Documents
Culture Documents
Aplicaciones Web
Copyright 1988 - 2013| Artech Consultores S. R. L.
Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento
explcito de Artech Consultores S.R.L. La informacin contenida en este documento es para uso personal nicamente.
Marcas Registradas
Artech y GeneXus son marcas registradas de Artech Consultores S.R.L. Todas las dems marcas mencionadas en
este documento son propiedad de sus respectivos dueos.
Objetivo ............................................................................................................................ 4
Preparacin ....................................................................................................................... 4
Parte 1 .............................................................................................................................. 5
Parte 2 .............................................................................................................................. 9
Parte 3 ............................................................................................................................ 14
Cmo recepciono la notificacin y hago una carga liviana de la pantalla ante la llegada de
esta notificacin? ....................................................................................................... 16
Parte 4 ............................................................................................................................ 17
Glosario ........................................................................................................................... 19
Se trata de una aplicacin de una agencia de viajes, compuesta por un backend para ingreso de
datos, y un frontend, destinado al usuario final (que selecciona y compra paquetes tursticos).
Preparacin
Para este laboratorio utilizaremos la versin GeneXus Tilo y el browser Chrome.
&Path = "C:\LabWeb\material\Data\Data\"
Ejecutar el procedimiento ProcLoaddata (opcin Run with this only) para inicializar la base de
datos.
Si desea puede hacer un Freeze del estado actual de la base de conocimiento en caso que
quiera volver al inicio del prctico nuevamente. Para ello seleccionar la opcin View ->
Versions; posteriormente seleccionar el men contextual Freeze y seleccionar un nombre por
ejemplo Inicial.
Parte 1
Ejecutaremos el Backend de nuestra aplicacin de ejemplo.
Tip: Cmo ubicar los objetos generados con el Pattern Work With? Sobre la
solapa del objeto, botn derecho -> Locate in Folder View. A la izquierda (en
el Folder View) tendremos el objeto seleccionado y la lista de objetos generados
por el pattern.
1. Ejecutar el link Work With Airport. Acceder a los diferentes aeropuertos existentes usando
la Transaccin Airport.
2. Ejecutar el link Work With Flights. Ingresar a la Transaccin Flight para ingresar un
vuelo (opcin ). Ingresar valores en los campos Arrival Airport, Departure Airport,
Flight Price, que provoquen error segn las rules de la Transaccin.
Hacer Build With This Only de la Transaccin Flight y observar el nuevo comportamiento.
1. En GeneXus, abrir el Web Panel AttractionsList. Este Web Panel contiene un grid freestyle
que carga las atracciones tursticas filtrando por el parmetro CategoryId (categora de
atraccin turstica).
Tip: Cmo marcar un objeto como Startup Object? Seleccionar el objeto con
botn derecho -> Set as Startup Object.
Abrir el objeto Master Page AppMasterpageFront. Ver que contiene un men llamado
SmoothNavMenu (un User Control). A travs de los User Controls se puede enriquecer la
interfaz de usuario y dar mayor flexibilidad al desarrollo.
Sub 'SmoothNavMenu'
&SmoothNavMenuData = GetCategories()
EndSub
El Data Provider GetCategories barre la tabla de categoras tursticas y carga una coleccin
de datos estructurados que devuelve al llamador.
Para terminar con la construccin del men en la Master Page, descomentar el siguiente
cdigo:
Ejecutar F5 (Run).
Este Web Panel contiene un botn Book que permite realizar la reserva del paquete. Como
es de esperar al momento de hacer la reserva se solicita al usuario que se autentique. Para la
autenticacin usaremos el GAM (un mdulo de seguridad que se incorpora de manera
automtica a la base de conocimientos).
El botn Book usa el tipo de datos Window para que se abra una ventana embebida en la
pgina con un nuevo form (objeto TripReservationForm).
Event 'Book'
&window.Object = TripReservationForm.Create(PackTourId)
&window.Open()
EndEvent
Parte 3
Seguimos trabajando sobre el frontend de la aplicacin.
Event OnMessage(&NotificationInfo)
if (&NotificationInfo.Object="Post")
&postid = &NotificationInfo.Id.Trim().ToNumeric()
&postid.Visible=false
&commentNotificationInfo.FromJson(&NotificationInfo.Message)
&PostTitle = &commentNotificationInfo.PostTitle
&PostCustomerName = &commentNotificationInfo.PostCustomerName
&PostCustomerPhoto.FromURL(&commentNotificationInfo.PostCustomerPhoto)
if &PostCustomerPhoto.IsEmpty()
&PostCustomerPhoto.FromImage("anyone")
endif
grid1.Load()
endif
Endevent
Este evento procesa la notificacin recibida y agrega una lnea al grid con dicha informacin.
Para validar dicho mecanismo puede ejecutar 2 instancias del browser y agregar diferentes
comentarios a la misma atraccin, notar que al confirmar un comentario en una de las pginas,
se refresca en ambas instancias.
Language: Java
Data Source: mySQL
Target Path: JavaCloud
En las propiedades del generador especificamos Deploy to cloud = yes y tambin el Deploy
Virtual Directory, al cual le asignaremos labweb concatenado con su usuario GXtechnical.
Luego, en la propiedad Deploy Server URL, escribimos: http://apps4.genexus.com
Modificar las propiedades del datastore default de la misma forma; para las propiedades
Database name, User id y User password utilizar labweb concatenado con el usuario de
GXtechnical. Adems, la propiedad Server Name es: apps4.genexus.com
Ejecutar nuevamente el procedimiento ProcLoaddata utilizando la opcin Run with this only.
Utilizar la opcin Run para ejecutar la aplicacin, se espera que ejecute el objeto AttractionsList
en el ambiente generado en la nube.
Si lo desea puede revisar las diferentes partes del prctico en este caso ejecutando en un
ambiente paralelo en la nube.
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?17227
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?16964
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?22455
Web Notifications
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?22442
Web Fonts
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?22701
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?20075
Cloud Prototyping
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?15046
Multimedia Fields
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?20117