Upload
genexus
View
376
Download
0
Embed Size (px)
Citation preview
Presentation flow
o Scenarioo Improvementso Benefits
SaaSM
ult
i-Tenan
cy S
hare
d D
B
o Shared Data Baseo Shared Data Base separate Schemaso Isolated Data Base
Manual Multi-tenancyM
ult
i-Tenan
cy S
hare
d D
B
Procedures
Web panels
Queries
SDTs
Automatic Multi-tenancy M
ult
i-Tenan
cy S
hare
d D
B
Identify as “Tenant Transaction”
Active Tenant DP
Under the coversM
ult
i-Tenan
cy S
hare
d D
B
o Adds TenantId to “Multi-Tenant transactions”
o Updates subtype groupso Assigns/Filters by Tenant in CRUD
operations
BenefitsM
ult
i-Tenan
cy S
hare
d D
B
o Less codeo Less errorso Cleaner KBso Can be reverted at any time
Inheritance
Extends propertyIn
heri
tance
Student extends Person
Type of RelationshipsIn
heri
tance
Part
ial
Superpose
Exclusive
Tota
l
BenefitsIn
heri
tance
o Less codeo Easier subtype definitiono Better end-user experienceo More functionality
Inte
nsi
onal R
ela
tion
ship
s
Intensional TransactionIn
tensi
onal R
ela
tion
ship
s
Include{ UserId ( ProgramId )}
Authorized
ExclusionsIn
tensi
onal R
ela
tion
ship
s
Include{ UserId ( ProgramId )}Exclude{ UserId = NUserId ProgramId = NProgramId}
Authorized
Extended domainsIn
tensi
onal R
ela
tion
ship
s
Include{ IECType = ECommunicationType.eMail}Include{ IECType = ECommunicationType.MSN}…Include{ IECType = ECType}
DomainECommunicationType
eMailMSNSkype
ECommunitationType
{ ECType* …}
Init
ializ
e
IECommunitationType
{ IECType* …}
Multiple documentsIn
tensi
onal R
ela
tion
ship
s
Include{ DocumentType =“Invoice” DocumentId = InvoiceId}Include{ DocumentType =“Payment” DocumentId = PaymentId}…Include{ DocumentType =“Purchase” DocumentId = PurchaseId}
Invoice Payment Purchase
Document
BKEntry{ BKEntryId* … InvoiceId PaymentId … PurchaseId …}
BKEntry{ BKEntryId* … DocumentType DocumentId …}
ImplementationIn
tensi
onal R
ela
tion
ship
s
SQL ViewsSelect UserId, ProgramId From User, ProgramWhere NOT EXISTS (Select * from NotAuthorized Where NUserId = UserId and NProgramId = ProgramId)
Select ‘email’ AS IECTypeUNIONSelect ‘msn’ AS IECTypeUNIONSelect ‘skype’ AS IECTypeUNIONSelect ECType as IECType From ECommunicationType
Select ‘Invoice’ AS DocumentType, InvoiceId as DocumentId from InvoiceUNIONSelect ‘Invoice’ AS DocumentType, PaymentId as DocumentId from PaymentUNIONSelect ‘Invoice’ AS DocumentType, PurchaseId as DocumentId from Purchase
BenefitsIn
tensi
onal R
ela
tion
ship
s
o Less codeo More semanticso KBs easier to understando Better generated code performance
Customer{ CustomerId* CustomerName … CustomerStatus // Active | Inactive …}
For each where CustomerStatus = “Active” …endfor
For each Using ActiveCustomer() …endfor
Imp
licit
Data
Sele
ctor
Implicit Data SelectorIm
plic
it D
ata
Sele
ctor
Implicit Yes
Exceptions
For each Using ONLY OtherDataSelector() …endfor
For each Using NONE …endfor
Imp
licit
Data
Sele
ctor
BenefitsIm
plic
it D
ata
Sele
ctor
o Less codeo Less errorso KBs easier to understand
Other
o Transaction initializationo Reorganization between versionso Conditional eventso New/Update code redundancyo …
Muchas gracias