SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
¿Qué podríamos ver en GeneXus? Gustavo Proto gp@artech.com.uy
Presentationflow Scenario Improvements Benefits
SaaS Multi-TenancyShared DB Shared Data Base Shared Data Base separateSchemas IsolatedData Base
Manual Multi-tenancy Multi-TenancyShared DB Procedures Web panels Queries SDTs
AutomaticMulti-tenancy Identify as “TenantTransaction” Multi-TenancyShared DB Active Tenant DP
Underthecovers Multi-TenancyShared DB AddsTenantId to “Multi-Tenant transactions” Updates subtype groups Assigns/Filters by Tenant in CRUD operations
Benefits Multi-TenancyShared DB Less code Less errors Cleaner KBs Can be reverted at any time
Inheritance
Extendsproperty Inheritance StudentextendsPerson
Type of Relationships Total Partial Exclusive Inheritance Superpose
Benefits Inheritance Less code Easiersubtypedefinition Betterend-userexperience More functionality
IntensionalRelationships
IntensionalTransaction Include { UserId   ( ProgramId   ) }  IntensionalRelationships Authorized
Exclusions Include { UserId   ( ProgramId   ) } Exclude { UserId = NUserId ProgramId = NProgramId } IntensionalRelationships Authorized
Extended domains Domain ECommunicationType eMail MSN Skype IECommunitationType { IECType*   … } Initialize IntensionalRelationships Include { IECType = ECommunicationType.eMail } Include { IECType = ECommunicationType.MSN } … Include { IECType = ECType } ECommunitationType { ECType*   … }
Multiple documents Include { DocumentType =“Invoice” DocumentId= InvoiceId } Include { DocumentType =“Payment” DocumentId= PaymentId } … Include { DocumentType =“Purchase” DocumentId= PurchaseId } BKEntry { BKEntryId*   … InvoiceId PaymentId   … PurchaseId   … } BKEntry { BKEntryId*   … DocumentType DocumentId   … } Document IntensionalRelationships Invoice Payment Purchase
Implementation IntensionalRelationships SQL Views SelectUserId, ProgramIdFromUser, Program Where NOT EXISTS    (Select * fromNotAuthorizedWhereNUserId = UserId and NProgramId = ProgramId) Select‘email’ AS IECType UNION Select‘msn’ AS IECType UNION Select‘skype’ AS IECType UNION Select ECType as IECType From ECommunicationType Select‘Invoice’ AS DocumentType, InvoiceId as DocumentId from Invoice UNION Select‘Invoice’ AS DocumentType, PaymentId as DocumentId from Payment UNION Select‘Invoice’ AS DocumentType, PurchaseId as DocumentId from Purchase
Benefits IntensionalRelationships Less code More semantics KBseasiertounderstand Bettergeneratedcode performance
Customer { CustomerId* CustomerName   … CustomerStatus // Active | Inactive   … } Implicit Data Selector Foreach whereCustomerStatus = “Active”  … endfor Foreach UsingActiveCustomer()  … endfor
Implicit Data Selector Implicit            Yes Implicit Data Selector
Exceptions Foreach UsingONLYOtherDataSelector()  … endfor Foreach UsingNONE  … endfor Implicit Data Selector
Benefits Implicit Data Selector Less code Less errors KBseasiertounderstand
Other ,[object Object],Reorganizationbetweenversions Conditionalevents New/Updatecoderedundancy …

Mais conteúdo relacionado

Destaque

OTI PetroSmart Company Brochure (Email Version)
OTI PetroSmart Company Brochure (Email Version)OTI PetroSmart Company Brochure (Email Version)
OTI PetroSmart Company Brochure (Email Version)Charlotte Hambly-Nuss
 
[Infographic] Direct Deposit: Good for Businesses and their Employees
[Infographic] Direct Deposit: Good for Businesses and their Employees[Infographic] Direct Deposit: Good for Businesses and their Employees
[Infographic] Direct Deposit: Good for Businesses and their EmployeesPaychex
 
Worlds best yoga asana book
Worlds best yoga asana bookWorlds best yoga asana book
Worlds best yoga asana bookSatish Verma
 
Don´t Swim with Dolphins in Playa del Carmen
Don´t Swim with Dolphins in Playa del CarmenDon´t Swim with Dolphins in Playa del Carmen
Don´t Swim with Dolphins in Playa del Carmendontswimwithdolphins
 
2008 chen - towards fault-tolerant hla-based distributed simulations
2008   chen - towards fault-tolerant hla-based distributed simulations2008   chen - towards fault-tolerant hla-based distributed simulations
2008 chen - towards fault-tolerant hla-based distributed simulationsDaniel Vargas
 
Tejas verdes (2)
Tejas verdes (2)Tejas verdes (2)
Tejas verdes (2)dandavs
 
Juegos digitales y alfabetización digital: Entrevistas con profesores de prim...
Juegos digitales y alfabetización digital: Entrevistas con profesores de prim...Juegos digitales y alfabetización digital: Entrevistas con profesores de prim...
Juegos digitales y alfabetización digital: Entrevistas con profesores de prim...Ruth S. Contreras Espinosa
 
Alice au Pays des Merveilles
Alice au Pays des MerveillesAlice au Pays des Merveilles
Alice au Pays des Merveillesringrp
 
Growing Sunflowers In Blenheim Ass 2
Growing  Sunflowers In  Blenheim  Ass 2Growing  Sunflowers In  Blenheim  Ass 2
Growing Sunflowers In Blenheim Ass 2fergsun
 
Forpus y sus mutaciones CNJ (Primera parte).
Forpus y sus mutaciones CNJ (Primera parte).Forpus y sus mutaciones CNJ (Primera parte).
Forpus y sus mutaciones CNJ (Primera parte).guestcf1014
 
ODA.Daniel Mata,Cristian Ivan 2 b
ODA.Daniel Mata,Cristian Ivan 2 bODA.Daniel Mata,Cristian Ivan 2 b
ODA.Daniel Mata,Cristian Ivan 2 bDaniel Mata
 
Noções de Informática para Anac
Noções de Informática para AnacNoções de Informática para Anac
Noções de Informática para AnacPonto dos Concursos
 
Infecciones de transmisión sexual y otras infecciones del tracto reproductivo...
Infecciones de transmisión sexual y otras infecciones del tracto reproductivo...Infecciones de transmisión sexual y otras infecciones del tracto reproductivo...
Infecciones de transmisión sexual y otras infecciones del tracto reproductivo...Medsfriend group, Facultad de Medicina LUZ
 
Ferrovial Investors Presentation Jan Sep 2015
Ferrovial Investors Presentation Jan Sep 2015Ferrovial Investors Presentation Jan Sep 2015
Ferrovial Investors Presentation Jan Sep 2015Ferrovial
 

Destaque (20)

OTI PetroSmart Company Brochure (Email Version)
OTI PetroSmart Company Brochure (Email Version)OTI PetroSmart Company Brochure (Email Version)
OTI PetroSmart Company Brochure (Email Version)
 
[Infographic] Direct Deposit: Good for Businesses and their Employees
[Infographic] Direct Deposit: Good for Businesses and their Employees[Infographic] Direct Deposit: Good for Businesses and their Employees
[Infographic] Direct Deposit: Good for Businesses and their Employees
 
Worlds best yoga asana book
Worlds best yoga asana bookWorlds best yoga asana book
Worlds best yoga asana book
 
Don´t Swim with Dolphins in Playa del Carmen
Don´t Swim with Dolphins in Playa del CarmenDon´t Swim with Dolphins in Playa del Carmen
Don´t Swim with Dolphins in Playa del Carmen
 
Art grad
Art gradArt grad
Art grad
 
2008 chen - towards fault-tolerant hla-based distributed simulations
2008   chen - towards fault-tolerant hla-based distributed simulations2008   chen - towards fault-tolerant hla-based distributed simulations
2008 chen - towards fault-tolerant hla-based distributed simulations
 
Tejas verdes (2)
Tejas verdes (2)Tejas verdes (2)
Tejas verdes (2)
 
Juegos digitales y alfabetización digital: Entrevistas con profesores de prim...
Juegos digitales y alfabetización digital: Entrevistas con profesores de prim...Juegos digitales y alfabetización digital: Entrevistas con profesores de prim...
Juegos digitales y alfabetización digital: Entrevistas con profesores de prim...
 
Alice au Pays des Merveilles
Alice au Pays des MerveillesAlice au Pays des Merveilles
Alice au Pays des Merveilles
 
Growing Sunflowers In Blenheim Ass 2
Growing  Sunflowers In  Blenheim  Ass 2Growing  Sunflowers In  Blenheim  Ass 2
Growing Sunflowers In Blenheim Ass 2
 
Wunt
WuntWunt
Wunt
 
Forpus y sus mutaciones CNJ (Primera parte).
Forpus y sus mutaciones CNJ (Primera parte).Forpus y sus mutaciones CNJ (Primera parte).
Forpus y sus mutaciones CNJ (Primera parte).
 
ODA.Daniel Mata,Cristian Ivan 2 b
ODA.Daniel Mata,Cristian Ivan 2 bODA.Daniel Mata,Cristian Ivan 2 b
ODA.Daniel Mata,Cristian Ivan 2 b
 
Noções de Informática para Anac
Noções de Informática para AnacNoções de Informática para Anac
Noções de Informática para Anac
 
Infecciones de transmisión sexual y otras infecciones del tracto reproductivo...
Infecciones de transmisión sexual y otras infecciones del tracto reproductivo...Infecciones de transmisión sexual y otras infecciones del tracto reproductivo...
Infecciones de transmisión sexual y otras infecciones del tracto reproductivo...
 
Plan sucre
Plan sucrePlan sucre
Plan sucre
 
Ferrovial Investors Presentation Jan Sep 2015
Ferrovial Investors Presentation Jan Sep 2015Ferrovial Investors Presentation Jan Sep 2015
Ferrovial Investors Presentation Jan Sep 2015
 
Papá otto cafeteria
Papá otto cafeteriaPapá otto cafeteria
Papá otto cafeteria
 
Les divinitats gregues i romanes
Les divinitats gregues i romanesLes divinitats gregues i romanes
Les divinitats gregues i romanes
 
Formulacindequmicainorgni
FormulacindequmicainorgniFormulacindequmicainorgni
Formulacindequmicainorgni
 

Semelhante a 120 Que Podriamos Ver En Gene Xus

Windows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongWindows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongSpiffy
 
A guide through the Azure Messaging services - Update Conference
A guide through the Azure Messaging services - Update ConferenceA guide through the Azure Messaging services - Update Conference
A guide through the Azure Messaging services - Update ConferenceEldert Grootenboer
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsDirecti Group
 
Windowsazureplatform Overviewlatest
Windowsazureplatform OverviewlatestWindowsazureplatform Overviewlatest
Windowsazureplatform Overviewlatestrajramab
 
Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Chris Richardson
 
Event sourcing - from wtf to why to wow
Event sourcing - from wtf to why to wowEvent sourcing - from wtf to why to wow
Event sourcing - from wtf to why to wowDuncan Jones
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
 
Keynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the EnterpriseKeynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the EnterpriseMariaDB plc
 
Ymens - Bouncing off clouds - Rapid Development for Cloud Ready Applications...
Ymens - Bouncing off clouds - Rapid Development for Cloud Ready Applications...Ymens - Bouncing off clouds - Rapid Development for Cloud Ready Applications...
Ymens - Bouncing off clouds - Rapid Development for Cloud Ready Applications...Vlad Mihnea
 
Gel_DASgenexp_BOSC2009
Gel_DASgenexp_BOSC2009Gel_DASgenexp_BOSC2009
Gel_DASgenexp_BOSC2009bosc
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOALucas Jellema
 
Azure Platform
Azure Platform Azure Platform
Azure Platform Wes Yanaga
 
Can IBM i play with SOA?
Can IBM i play with SOA?Can IBM i play with SOA?
Can IBM i play with SOA?LANSA
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaLucas Jellema
 
Experiences in federated access control for UK e-Science
Experiences in federated access control for UK e-ScienceExperiences in federated access control for UK e-Science
Experiences in federated access control for UK e-ScienceEduserv
 
Experiences in federated access control for UK e-Science
Experiences in federated access control for UK e-ScienceExperiences in federated access control for UK e-Science
Experiences in federated access control for UK e-ScienceEduserv Foundation
 
SQL Server Data Services
SQL Server Data ServicesSQL Server Data Services
SQL Server Data ServicesEduardo Castro
 
Azure Mobile Services Workshop
Azure Mobile Services WorkshopAzure Mobile Services Workshop
Azure Mobile Services WorkshopEran Stiller
 
Service Oriented Infrastructure
Service Oriented InfrastructureService Oriented Infrastructure
Service Oriented InfrastructureHumberto Ramos
 

Semelhante a 120 Que Podriamos Ver En Gene Xus (20)

Windows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongWindows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan Wong
 
A guide through the Azure Messaging services - Update Conference
A guide through the Azure Messaging services - Update ConferenceA guide through the Azure Messaging services - Update Conference
A guide through the Azure Messaging services - Update Conference
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale Systems
 
Windowsazureplatform Overviewlatest
Windowsazureplatform OverviewlatestWindowsazureplatform Overviewlatest
Windowsazureplatform Overviewlatest
 
Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)
 
Event sourcing - from wtf to why to wow
Event sourcing - from wtf to why to wowEvent sourcing - from wtf to why to wow
Event sourcing - from wtf to why to wow
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
Keynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the EnterpriseKeynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the Enterprise
 
Ymens - Bouncing off clouds - Rapid Development for Cloud Ready Applications...
Ymens - Bouncing off clouds - Rapid Development for Cloud Ready Applications...Ymens - Bouncing off clouds - Rapid Development for Cloud Ready Applications...
Ymens - Bouncing off clouds - Rapid Development for Cloud Ready Applications...
 
Power
PowerPower
Power
 
Gel_DASgenexp_BOSC2009
Gel_DASgenexp_BOSC2009Gel_DASgenexp_BOSC2009
Gel_DASgenexp_BOSC2009
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOA
 
Azure Platform
Azure Platform Azure Platform
Azure Platform
 
Can IBM i play with SOA?
Can IBM i play with SOA?Can IBM i play with SOA?
Can IBM i play with SOA?
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas Jellema
 
Experiences in federated access control for UK e-Science
Experiences in federated access control for UK e-ScienceExperiences in federated access control for UK e-Science
Experiences in federated access control for UK e-Science
 
Experiences in federated access control for UK e-Science
Experiences in federated access control for UK e-ScienceExperiences in federated access control for UK e-Science
Experiences in federated access control for UK e-Science
 
SQL Server Data Services
SQL Server Data ServicesSQL Server Data Services
SQL Server Data Services
 
Azure Mobile Services Workshop
Azure Mobile Services WorkshopAzure Mobile Services Workshop
Azure Mobile Services Workshop
 
Service Oriented Infrastructure
Service Oriented InfrastructureService Oriented Infrastructure
Service Oriented Infrastructure
 

Mais de GeneXus

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsGeneXus
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!GeneXus
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in ActionGeneXus
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...GeneXus
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?GeneXus
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroGeneXus
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y PlataformasGeneXus
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosGeneXus
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaGeneXus
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 StudentsGeneXus
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsiveGeneXus
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusGeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosGeneXus
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAPGeneXus
 
Going mobile
Going mobileGoing mobile
Going mobileGeneXus
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusGeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusGeneXus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...GeneXus
 

Mais de GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in Action
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuro
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y Plataformas
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 

Último

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 

Último (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 

120 Que Podriamos Ver En Gene Xus

Notas do Editor

  1. Buenos días, mi nombre es Gustavo Proto, pertenezco al Equipo de Desarrollo de GeneXus.En esta presentación quisiera contarles sobre algunos escenarios que han captado nuestra atención y para los cuales estamos “procesando” una solución. El objetivo es hacerlos partícipes de npor la frecuencia en que se dan, el trabajo que generan en los que estamos trabajando. Estamos hablando de escenarios habituales en el desarrollo de aplicaciones cuya conceptualización podría con el objetivo de
  2. Esta es una foto del equipo de desarrollo durante una reunión de “brainstorming”.Quizás ustedes no se hayan dado cuenta durante el evento pero esta gente que ustedes pueden ver deambular por los pasillos cabizbaja, con cara de preocupada (hasta que da su charla) también se ríe. Aquí está la prueba!Esta gente vibra y disfruta, de diferentes formas, lo que hace. Ojalá ustedes puedan disfrutar del mismo modo haciendo su trabajo utilizando el nuestro: GeneXus.Esta charla muestra algunos de los escenarios que en esa y otras reuniones hemos aislado, discutido y, en algunos casos seguimos discutiendo en nuestro Wiki interno que cuenta ya con 10000+ páginas con unas 46000 revisiones.Que se discute, no quedan dudas.Creemos que es importante para todos que ustedes conozcan nuestra forma de trabajo y que estén al tanto de los principales escenarios que queremos resolver. Estamos juntos en este barco.
  3. Seguramente muchos de ustedes conozcan el significado de SaaS (Software as a Service). A los efectos de esta presentación, es la venta del uso de una aplicación a demanda. En este esquema, la aplicación “sirve” a sus usuarios (Tenants), normalmente desde servidores pertenecientes al propietario de la aplicación o a ISPs (Internet Service Provider).Los costos del servicio se ven afectados por diferentes variables: hardware, software, ancho de banda, etc. En general, cuanto más Tenantspodramos servir con el mismo “equipamiento”, menores serán los costos unitarios.Por otro lado, los requerimientos de los Tenants, a nivel de seguridad, disponibilidad, nivel de utilización, etc. deben ser considerados si queremos “llegar” a Tenants “de porte”.Los puntos anteriores afectan la arquitectura de las aplicaciones que se quieren vender en esta modalidad. En grandes líneas, tenemos tres categorías, en orden inverso de costo: Base de datos separadas Base de datos compartida y esquemas separados Base de datos compartidaCon GeneXus pueden implementarse cualquiera de las categorías mencionadas. Sin embargo, la opción de menor costo al usuario, que es soportar varios Tenants compartiendo la base de datos implica un alto nivel de cambio y/o mantenimiento de la aplicación.
  4. Supongamos la aplicación de Invoicing, característica de la demostración de GeneXus como la vemos en el diagrama de transacciones. Transformar en multi-tenant esta aplicación, implica dos tipos de tareas. Por un lado el mantenimiento/seguridad/selección de tenants que, en última instancia, termina determinando el "Active Tenant". Por otro, una vez identificado el "Active Tenant", hacer que la aplicación lo considere en las operaciones que corresponda:Filtros por tenant en las consultas (procedimientos, web panels, queries, etc.)Actualizaciones a la base de datosCambiar definiciones de subtiposMantener todo lo anterior
  5. La solución propuesta implica los siguientes pasos:Agregar la transacción de Tenant.-Identificar la transacción anterior como la "Tenanttransaction“. Identificar las transacciones Customer, Invoice y Product como "Multi-Tenanttransaction”Ver que, en este caso, la transacción Country NO se seleccionó como Multi-Tenanttransaction porque se entiende que los Countries son globales (los ingresados por un Tenant son visibles por los otros).-Por último, se define un Data Provider (que llamaremos TenantDP) que tenga como miembro al menos la llave primaria de la transacción identificada como "TenantTransaction".
  6. En este escenario, se tiene una transacción de Person y dos subtipos de ella, Student e Instructor. El concepto es modelar que existen personas y que, adicionalmente, algunas pueden ser estudiantes y algunos instructores.Si bien esto es modelable en GeneXus, existen algunas cosas que nos gustaría mejorar para lo cual estamos trabajando en lo que llamamos “Ingreso del subtipo y supertipo juntos”.
  7. Una transacción puede “Extender” a otra como forma de especialización. En este ejemplo decimos que Student extiende Person y esto nos da bastante potencia adicional. Por ejemplo:- La definición de subtipos es más “natural” para este caso ya que se define en la misma transacción que extiende No es necesario duplicar reglas o eventos. Pueden ser heredados automáticamente de la transacción extendida. El resultado final es más amigable para el usuario finalLa transacción que extiende puede tener más atributos que la extendida.
  8. Adicionalmente, podríamos expresar la relación entre la transacción “padre” y la “hija” así como la de cada “hija” con sus hermanos. Entre la transacción “padre” y las “hijas” podríamos hablar de relación Total (todos los registros del padre tienen al menos un hijo) o Parcial (hay registros del padre sin hijos). Entre los hermanos podríamos hablar de relación Exclusiva (no puede tener hermanos) o Superpuesta (puede tener hermanos).Esto nos daría un conocimiento adicional que nos permitiría automáticamente controlar las operaciones CRUD sobre la transacción padre y sus hijas. Por ejemplo, teniendo una relación Total y Exclusiva, al eliminar un registro de la transacción hija se eliminaría automáticamente la del padre.
  9. Supongamos que tenemos las transacciones User y Program, en una aplicación de autorización, y que todos los usuarios tienen acceso a todos los programas. Podemos decir que existe una relación de “está autorizado” entre User y Program. Podríamos definir dicha relación con una transacción Authorized como la que se indica.En GeneXus, sin embargo, la transacción Authorized almacena la relación entre usuarios y programas por “extensión”, es decir, sólo los registros existentes en dicha transacción representan a los usuarios y los programas a los que están autorizados.Esto es inconveniente en la medida que, siguiendo con que todos los usuarios están autorizados a todos los programas, tendríamos que insertar en la transacción Authorized las combinaciones posibles de User y Program, y mantenerla.
  10. Una posible alternativa es indicar que la transacción Authorized es una transacción por intensión. Con esto, estaríamos indicando que las tuplas de la transacción se calculan, en este caso, a partir de otras transacciones.Una posible notación para definir la forma de calcular las tuplas de esta transacción es la mostrada que se lee como: “Include” las combinaciones posibles de UserId y ProgramId.Claro que un esquema de seguridad donde todos acceden a todo es un lio. Por ello, tenemos que introducir algunas restricciones.
  11. Es evidente que una aplicación de seguridad donde todos tienen acceso a todo es, al menos, poco práctica. Agreguemos entonces la transacción NotAuthorized que indica qué usuarios NO están autorizados a qué programas.Esto nos llevaría a modificar la forma de calcular las tuplas de la transacción Authorized, de la siguiente forma.
  12. Otroescenario en el quepodríamosutilizarlasrelacionesporintensiónes el queidentificamoscomo “Dominiosenumeradosextensibles en run-time”. En esteescenario, se tiene un dominio del cual, en diseño, conocemossolamenteuna parte de los valoresposibles. Este subgrupo de valoresesrelevante en la medida en que son utilizados en el código.Porejemplo, tenemos el dominio de los “Tipos de comunicaciónelectrónica”. No podemos saber de antemanoquétipos se inventarán en el futuro. Poresotenemosunatransacciónquepermitirámantenerlos. Sin embargo, sísabemosquenecesitamosuno, el email, porque la aplicación lo necesita (en algúnmomentomanda mails). Para esesubgrupo, definiríamos un dominioenumerado.Estonoslleva a que, durante la instalación, debamoscargar la transacción de “Tipos de comunicaciónelectrónica” con los valores del dominioenumerado y, obviamente, ponerreglasqueevitenqueseaneliminados/modificados.Una forma de mejorar la definiciónesevitar la carga y definir la transaccióon “Tipos de comunicaciónelectrónicaimplícita”, que se cargaríacomo se muestra.
  13. Otro escenario interesante es el que ocurre, por ejemplo, con la contabilidad. Los movimientos contables suelen referenciar a los documentos que los originaron. Modelar esto considerando todas las posibilidades es complejo y normalmente se modela de la forma que se muestra.Este diseño tiene el inconveniente de recorrer los movimientos contables mostrando datos de los documentos que lo originan requiere un case (case DocumentType = “Invoice”, ForEach a Invoice, por ejemplo).
  14. Se define un Data Selector y se identifica como un Data Selector Implícito (propiedad).
  15. Aquí se muestra el caso en que se quiere utilizar un Data Selector cualquiera pero NO el implícito y también el que no se quiere utilizar ninguno.