G2W é uma ferramenta de conversão automática que transforma aplicativos para desktop em aplicativos web. Ela automatiza o processo de conversão, transformando telas complexas em páginas da web usando técnicas inteligentes para manter a lógica do código original e garantir que o usuário não note a mudança. A ferramenta gera automaticamente padrões web comuns e permite que o código original seja mantido de forma transparente durante a migração para a web.
Meu nome é Veronica Buitron e eu sou a VP de Serviços de Consultoria da Genexus USA. Primeiramente eu gostaria de agradecê-los pela oportunidade de participar deste evento.Estou honrada de estar aqui, apesar de ter me tornado a pessoa mais invejada da empresa.Mesmo o tempo não estando tão ruim agora em Chicago, fica muito melhor poder dizer “Estou indo pro Brasil” - obviamente as pessoas pensam em turismo, mas mesmo a trabalho vale a pena.Meu português está chegando ao fim, e como estou entusiasmada em poder compartilhar os recursos avançados de G2W, vamos fazer o resto da apresentação em espanhol – me disseram que é bem melhor que portunhol.Sem mais demoras, vamos ver do que se trata G2W – em espanhol.
Para entender de donde viene G2W es importante entender quienes comos nosotros. Somos una empresa que realizamos proyectos de consultoria de software con genexus hace mas de 17 años…Entre varios proyectos hemos llevado a cabo varios proyectos de migracion de sistemas genexus a web en Estados Unidos.En particular al hacer los projectos de migracionibamos viendo que por mas que las aplicaciones eran diferentes las tareas eran las mismas. Al hacer estas conversiones manuales fuimos viendo que el trabajo por mas que fuera para aplicaciones diferentes, las tareas eran repetitivas y tambien que nos costaba convencer a los clientes de hacer el projecto de migracion porque llevaba mucho tiempo y era caro.De ahí fue que surgio la ida de hacer el proceso de migracion mas efectivo y G2W es la respuesta a eso.-----Somos uma empresa que efetua projetos de consultoria de software com Genexus há mais de 17 anos...Temos levado a cabo vários projetos de migração de sistemas Genexus para a web nos EUA.Ao fazer estas conversões de forma manual, fomos vendo que apesar das aplicações serem diferentes, as tarefas eram repetitivas. Também era difícil convencer os clientes a efetuar o projeto de migração devido ao tempo requerido e altos custos.Daí surgiu a ideia de tornar este processo mais eficiente. G2W é a resposta a esse desafio.
Por otro lado si miramos a nuestros clientes y a la comunidad GeneXus vemos que año tras año hay conferencias como ir a web.Yo creo que las personas como ustedes que vienen a una conferencia de migracion a web es porque quieren ir a web. Entonces por que ya no estamos en web? (click)Simple. Porque es mucho trabajo.Si bien el trabajo es repetitivo y sabemos mas o menos los problemas que nos vamos a encontrar el volumen del trabajo asi que pensemos a ver si lo podemos dejar para el siguiente año a ver si me convenzo.Nosotros veiamostambien ese problema y pensamos que la unicasolucion para que no hay mas charla de migracion sin resultado es resolver el problema. Y que significa eso hacer el trabajo mas rapido, mas facil y menos costos.---------------El problema que G2W resuelve es con respecto a la migracion a web. Meanimaria a decir que si estan en esta charla es porque estan convencidos de ir a web, entonces porque no estan en el web?No es porque no sabemos como hacer la conversion ya que ARTech a hecho un buen trabajo de diseminar los problemas que se encuentran en la conversion y su solucion. Entonces por que? Porque dependiendo del tamaño de su aplicación lleva mucho trabajo (click). Sin embargo los casos de conversion no son tantos, hay mas o menos 30 casos de conversSeguramente todos coincidimos q es la cantidad de trabajo y no saber los problemas…(click) hay mas o menos 30 casos de conversion detectados, pero si tengo cientos o miles de objetos entonces tengo que resolver esos 30 casos en miles de objetos. A que suena eso? A un trabajo repetitivo… y como es la mejor manera de resolver un trabajo repetitivo… AUTOMATIZARLO------A qual problema nos referimos? Querer ir para a web, mas ainda não estar lá.Se vocês estão nesta sala, é porque estão convencidos da necessidade de ir para a web, então por que ainda não estão lá?Porque não sabem o que precisam fazer ou quanto trabalho vai levar?Seguramente concordamos que são a quantidade de trabalho e a falta de conhecimento sobre os problemas ...(click) – existem pelo menos 30 problemas típicos de conversão...Se temos milhares de objetos, então temos de resolver 30 problemas por objeto. Isto soa como um trabalho repetitivo – qual a melhor maneira de resolver um trabalho repetitivo – o que aprendemos com Genexus?AUTOMATIZANDO
Y la respuesta natural a resolver problemas repetitivos es automatizar.
G2W es la unica herramienta que automatiza los casos de conversion.Vamos a ver un poco como es el proceso automatico de G2W.-----G2W é a única ferramenta que automatiza a resolução dos problemas (ou casos) de conversão.
Entonces G2W automatiza los problemasque se encuentran en una KB cuando se trata de convertir a web convirtiendocodigo ytransformandocodigo. Queimplicaautomatizar un proceso de migracion?Implicapoderconvertir y transformartodosesoscasosqueacabamos de mencionar… de los cualesalgunos son casos simples y otros son casoscomplejosVamos a hechar un vistazo a G2W y los problemas de conversion queestanidentificados----No que implica automatizar um processo de migração?Implica poder converter e transformar todos estes casos que acabamos de mencionar – alguns são simples, outros complexosVamos dar uma olhada em G2W e os problemas de conversão que identificamos.-------------------------
De los casos de conversion a analizarqueacabamos de ver hay muchosque son problemas simples a resolver por lo tantoparaesoscasos G2W convierteutilizando la solucion simple recomendadaporARTech.Queproblemas son simples?PorejemploAllow nulls – nullable yesPdf report – propiedadespara verse en browserDe estamaneranosliberarnos de unatarearepetitiva.. Quesibienes simple al tenerquerepetirla en muchosobjsestediosa y propensa a generarerrores. Cuandotenemostareasrepetitivas la respuestaesautomatizar.------Dos casos de conversão a serem analisados que acabamos de ver, existem muitos que são simples de se resolver, e portanto G2W os converte utilizando a solução simples recomendada por Artech.Quais problemas são simples? Ex:Allow nulls – nullable yesPdf report – propriedadesparavisualizar no navegadorDesta maneira nos liberamos de uma tarefa repetitiva. Embora simples, o fato de termos de repeti-las em muitos objetos é tedioso e propenso a erros. Quando temos tarefas repetitivas, a resposta é automatizar.
Pero en la migracion a web tambientenemosque resolver problemascomplejos en la cual la solucionescompleja, no intuitiva.Problemasque a primerainstanciaesdificilencontrarle la solucion simple pararepetir.Por lo tantoesosproblemascomplejosrequierentransformacionesinteligentes (click). No basta con convertirsino se requiereunatransformacion. A queproblemasnosreferimos? Vamos a verlos.----Porem na migração a web também temos de resolver problemas complexos, os quais necessitam de uma solução complexa, não intuitiva.Problemas que a primeira vista não apresentam uma solução simples que possa ser repetida.Estes problemas complexos requerem transformações inteligentes (click). Não basta simplesmente converter se necessitamos de uma transformação.A que problemas nos referimos? Vamos vê-los.
Cuandounopiensa en unatransformacioncompleja, aparte de la orugaunopiensa en conversion de pantallas. Porquees un problemacomplejo? PorquetenemosobjetivosencontradosPor un ladoqueremosmostrartodo lo que hay en la pantalla win peroqueremosque se vea webEntonces… comopodemosconvertir la pantalla win a web? La unicamaneraesabstrayendoconocimiento de esapantalla y unavezquetenemos el conocimientopuropodemostransformarla a unapantalla webVamos a verun poco mas en detalleeseproceso----Porque este é um problema complexo? Porque temos objetivos conflitantes.Por um lado queremos exibir tudo que existe na tela win, porem queremos uma aparência web.Então... Como podemos converter a tela win para a web? A única maneira e abstraindo o conhecimento desta tela e uma vez que temos o conhecimento ‘puro’, podemos transforma-la em uma tela web.Vejamos este processo em detalhe:
Quecosaspodemosabstraer de estapantalla?(concentrarse en el “que” abstraemos y no el “como”)Accionesasociadas al evento enterAccionesasociadas a eventos de transaccioncomo delete etcY accionesgenerales de la pantallaA traves de estaclasificacionpodemosdeterminar la intencion de la accionparapoderrepresentarla de mejor forma en webUnavezquetenemosya el conocimientopuroesto lo plasmamos en unainstancia de pattern, que hoy son los g2w patterns peroqueestamostrabajando con dvelopparagenerarinstancias de wwplustambien.(mostrarinstancia del winvoices y largo el build all)----Que ‘coisas’ podemos abstrair desta tela?(Concentrar-se no “que” abstrair, nao em “como”)Ações associadas ao evento ‘ENTER”Ações associadas a eventos de transações, tais como ‘DELETE”, etc.Ações genéricas da telaAtravés desta classificação podemos determinar a intenção da ação para poder melhor representá-la na web.Uma vez que tenhamos o conhecimento puro vamos aplica-lo em uma instancia de ‘pattern’. Hoje isto é um padrão G2W porém estamos trabalhando com Dvelop para gerar instancias de WWPlus também.(mostrar instância de Winvoices e efetuar ‘build all’)
Asiqueda en web la pantalla anterior quevimos en win … lasseccionesidentificadas se mantienenperoorientadas a webLos botones se encuentranpordebajo de la grilla en vez de al costado, pues la idea esdarle un look web (pero se puedeconfigurar)Lasaccionesrelativas a la grilla se embebieron a la mismacomobotones grid (estotambienes configurable)------Esta e a tela win convertida para a web.As seções identificadas se mantem porem orientadas para a web.Os botões se encontram abaixo da grade ao invés de ao lado, pois a ideia e de termos uma aparência web (pode-se configurar).As ações relativas a grade estão embutidas na mesmo como botões na grade (também é configurável).
Y quetalestapantalla? (click) Es mucho mascompleja. Vamos a ver el proceso de abstraccion de estapantalla averquetantodifiere de la anterior. De igual forma abstraemos (click) filtros (click) y secciones de header, contenido y footer.Luegoabstraemos los controlescomo el (click) tab y tambien la intencion de los controles.Como porejemploque los textblockscomo DETALLE DOCUMENTS POR CLIENTE son en realidadunapropiedad del tab y no un textblockcualquiera.Tambiencomo antes (click) abstraemos los controles de grilla y (click) lasacciones.Hicimosalgunaabstracciondistinta? No, solo hay mascontrolespero el procesoes el mismo. Entonces en realidadnosdamoscuentaque al abstraer el conocimiento de quecontrolesestan en la pantalla y la intencion de los mismos, no importatanto la complejidad de la pantallayaque el procesoes el mismo. Entoncestrabajando con conocimientopuropodemos resolver todaslaspantallasrepitiendo el proceso.Estoquieredecirqueaplicamosel mismoproceso… parauna simple o compleja! Podemostransformarcualquierpantalla sin importarsucomplejidadY transformarlos en esto
Esatransformacioninteligente de laspantallasdejatodo el conocimientoreflejado en instancias de pattern de maneratal de hacerfacil el mantenimiento de la misma.El objetivo de G2W no es solo convertir la aplicacion win o texto a web perodejarla de maneratalqueesfacil de mantener mi conocimientoabstraido. G2W tienesupropio pattern que se incluye sin costo y no se comercializa de forma independiente o tambien genera instancias del potente pattern de WorkwithPlus el pattern de Dvelop generandoinstanciasautomaticamente de mi aplicacion windows teniendo de estamanera lo mejor de los dos mundos.-----Esta transformação inteligente das telas deixa todo o conhecimento refletido nas instancias de ‘pattern’, de maneira a facilitar a sua manutenção.O objetivo de G2W não é somente converter a aplicação win ou texto para a web, mas também deixá-la de tal forma que é fácil efetuar a manutenção do conhecimento abstraído.G2W tem seu próprio ‘pattern’ que é incluído gratuitamente e não se comercializa de forma independente. Pode-se também gerar instancias de WorkWithPlus – o padrão de Dvelop que gera instâncias automáticas de aplicações windows, temos assim o melhor dos dois mundos.
Sigamosanalizandoproblemascomplejos y veamosporejemplo el prompt. Hacerun prompt no esdificil,pero la complejidadesta en que a puedosimplementeconvertir mi prompt de win a web o puedoquererimplementarlo con un suggest o siquierodejarlocomo prompt perotambienusoeseobjeto en otros calls, entonces G2W me lo duplica de forma tal de poderutilizar la mejorpractica de usar el objeto window para un prompt y dejar el otroobjeto con el call web. Entoncesvemosqueinclusouna conversion que a primera vista parece simple como el prompt tienesuscomplejidades-----Continuemos analisando problemas complexos e vejamos por exemplo o ‘prompt’.Criar um prompt não é difícil, porém a complexidade está em que podemos simplesmente converter meu ‘prompt’ de win para a web, ou podemos querer implementá-lo com um ‘suggest’ ou deixá-lo como ‘prompt’ e também utilizar este objeto em outras chamadas. G2W o duplica de forma que podemos utilizar a prática recomendada de usar um objeto windows para um ‘prompt’ e outro objeto com chamada para a web.Vemos então que uma conversão que a primeira vista aparenta ser simples, como o ‘prompt’ acaba tendo suas complicações.
Pasemos a otroproblema de conversion queescomplejo y no afecta solo a pantallasquees el tema de que en web se pierde el estado del clientePor lo tanto hay flujos de mi aplicacionque a menosquecambie el codigo no se van a ejecutar de esamanera en web.Estoinvolucra a todos los objetos.(**Versi vale la penamostrar en la conversion la creacion de webpanels**)---Passemos a outro problema de conversão que é complexo e não afeta somente telas – o problema de que na web se perde o estado do cliente.Existem fluxos da minha aplicação que a menos que mudemos o código não serão executados da mesma maneira na web.Isto envolve todos objetos.(**Ver se vale a pena mostrar na conversão a criação de webpanels**)
Este es um ej tipico de stateless.. Es algo q em win se puede hacer pero no em webEsto es uma llamada a um objeto y luego a outro objeto... La idea es reproducir este comportamiento em web de manera transparenteVeamoslo em ejecucion.. Como se resolvio esta situacion em la kb de demo que he venido demostrando----Este é um exemplo típico de ‘stateless’. É algo que em win se pode fazer, mas não funciona em web.Efetuamos uma chamada de um objeto e em seguida uma outra chamada. A ideia é reproduzir este comportamento na web de forma transparenteVejamos isto em execução – como se resolveu esta situação na kb de demo que havíamos visto.
Gracias a la abstraccion de GeneXus mucho del codigoqueescribimossiguesiendovalidopor lo tanto G2Wcopiatodo el codigoquesiguesiendovalido al nuevoobjeto.Porejemplo el comandoudfes deprecated y pasa a serudp… g2w convierte el udfporudp sin modificar el codigoEl evento start se ejecutaunaunicavez en win pero en web se ejecutacadavezque se instanciaalguneventopor lo cualesnecesariomodificaralgo de dichoeventoparaque se ejecuteunavez al cominezo, igual q en winEl comando cursor no aplicaasi en web… g2w lo convierteparaque se mantengaesecomportamiento… veamos los resultados con g2w----Graças a abstração de Genexus uma grande parte do código que escrevemos continua funcionando, pois G2W copia tudo que continua sendo válido para o novo objeto.Ex: o comando UDF esta obsoleto, e passamos a usar UDP – G2W converte os UDF para UDP sem modificar o código.O evento ‘Start’ se executa uma única vez em win, porem na web se executa cada vez que um evento é instanciado. Por isso é necessário modificar o evento para que se execute uma única vez ao inicio, igual a Win.O comando ‘cursor’ não se aplica a web – G2W o converte para que se mantenha este comportamento – vejamos os resultados.
El evento start se ejecutaunaunicavez en win pero en web se ejecutacadavezque se instanciaalguneventopor lo cualesnecesariomodificaralgo de dichoeventoparaque se ejecuteunavez al cominezo, igual q en win----O evento ‘Start’ se executa uma única vez em win, porem na web se executa cada vez que um evento é instanciado. Por isso é necessário modificar o evento para que se execute uma única vez ao inicio, igual a Win.
El comando cursor no aplicaasi en web… g2w lo convierteparaque se mantengaesecomportamiento… veamos los resultados con g2wResumiendo>sibienexisteuna conversion necesaria en el codigoparareemplazarfuncionesporsusequivalentes en web, estasmodifican de forma minima la estructura del codigo---O comando ‘cursor’ não se aplica a web – G2W o converte para que se mantenha este comportamento – vejamos os resultados.Resumindo - embora exista uma necessidade de conversão de código, substituindo-se algumas funções por suas equivalentes da web, a estrutura do código é alterada de uma forma mínima.
Entoncestenemos conversion automaticaparaproblemas simples (click) y problemascomopantallas, stateless, prompts etc. tenemostransformacionesinteligentes---Temos então conversão automática para problemas simples (click) e para problemas como telas, ‘stateless’, ‘prompts’ etc temos transformações inteligentes.
Sinmiedo a equivocarmepuedoafirmarque la KB resultadoluego de la conversion de G2W esmejorque la KB dondeempezamos y en web.----Sem medo de errar podemos afirmar que a KB gerada logo após a conversão de G2W é melhor que a KB que tínhamos no início, e pronta para a web.
Como conclusion estamos seguros que la forma mas efectiva de ir a web, es con G2W. Tenemos la migracionautomatica con transformaciones inteligentes para tener lo mejor de los dos mundos, convertir automaticamente pero de la mejor manera web. ----Como conclusão temos certeza que a forma mais efetiva de migrar para a web é com G2W.Temos migração automática com transformações inteligentes para obter o melhor dos dois mundos – conversão automatica e no melhor estilo ‘web’.
G2W crece con GX---G2Wcresce com GX
G2w challenge... Nos envian um xpz com 1 o 2 objetos y se los damos convertidosen poco tiempo estaremos anunciando la version trial para que uds mismos puedan probar la conversion de sus objetosEsperamos que todos la bajen----Desafio G2W – enviem-nos um xpz com 1 ou 2 objetos e nós os devolveremos convertidos.Em pouco tempo estaremos anunciando a versão ‘trial’ para que vocês mesmos possam experimentar a conversão de seus objetos.Esperemos que todos a instalem.