SlideShare une entreprise Scribd logo
1  sur  24
¿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 …

Contenu connexe

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus 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
 

Plus 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...
 

Dernier

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Dernier (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

120 Que Podriamos Ver En Gene Xus

Notes de l'éditeur

  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.