24
¿QUÉ PODRÍAMOS VER EN GENEXUS? Gustavo Proto [email protected]

120 Que Podriamos Ver En Gene Xus

  • Upload
    genexus

  • View
    376

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 120 Que Podriamos Ver En Gene Xus

¿QUÉ PODRÍAMOS VER EN GENEXUS?

Gustavo [email protected]

Page 2: 120 Que Podriamos Ver En Gene Xus

Presentation flow

o Scenarioo Improvementso Benefits

Page 3: 120 Que Podriamos Ver En Gene Xus

SaaSM

ult

i-Tenan

cy S

hare

d D

B

o Shared Data Baseo Shared Data Base separate Schemaso Isolated Data Base

Page 4: 120 Que Podriamos Ver En Gene Xus

Manual Multi-tenancyM

ult

i-Tenan

cy S

hare

d D

B

Procedures

Web panels

Queries

SDTs

Page 5: 120 Que Podriamos Ver En Gene Xus

Automatic Multi-tenancy M

ult

i-Tenan

cy S

hare

d D

B

Identify as “Tenant Transaction”

Active Tenant DP

Page 6: 120 Que Podriamos Ver En Gene Xus

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

Page 7: 120 Que Podriamos Ver En Gene Xus

BenefitsM

ult

i-Tenan

cy S

hare

d D

B

o Less codeo Less errorso Cleaner KBso Can be reverted at any time

Page 8: 120 Que Podriamos Ver En Gene Xus

Inheritance

Page 9: 120 Que Podriamos Ver En Gene Xus

Extends propertyIn

heri

tance

Student extends Person

Page 10: 120 Que Podriamos Ver En Gene Xus

Type of RelationshipsIn

heri

tance

Part

ial

Superpose

Exclusive

Tota

l

Page 11: 120 Que Podriamos Ver En Gene Xus

BenefitsIn

heri

tance

o Less codeo Easier subtype definitiono Better end-user experienceo More functionality

Page 12: 120 Que Podriamos Ver En Gene Xus

Inte

nsi

onal R

ela

tion

ship

s

Page 13: 120 Que Podriamos Ver En Gene Xus

Intensional TransactionIn

tensi

onal R

ela

tion

ship

s

Include{ UserId ( ProgramId )}

Authorized

Page 14: 120 Que Podriamos Ver En Gene Xus

ExclusionsIn

tensi

onal R

ela

tion

ship

s

Include{ UserId ( ProgramId )}Exclude{ UserId = NUserId ProgramId = NProgramId}

Authorized

Page 15: 120 Que Podriamos Ver En Gene Xus

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* …}

Page 16: 120 Que Podriamos Ver En Gene Xus

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 …}

Page 17: 120 Que Podriamos Ver En Gene Xus

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

Page 18: 120 Que Podriamos Ver En Gene Xus

BenefitsIn

tensi

onal R

ela

tion

ship

s

o Less codeo More semanticso KBs easier to understando Better generated code performance

Page 19: 120 Que Podriamos Ver En Gene Xus

Customer{ CustomerId* CustomerName … CustomerStatus // Active | Inactive …}

For each where CustomerStatus = “Active” …endfor

For each Using ActiveCustomer() …endfor

Imp

licit

Data

Sele

ctor

Page 20: 120 Que Podriamos Ver En Gene Xus

Implicit Data SelectorIm

plic

it D

ata

Sele

ctor

Implicit Yes

Page 21: 120 Que Podriamos Ver En Gene Xus

Exceptions

For each Using ONLY OtherDataSelector() …endfor

For each Using NONE …endfor

Imp

licit

Data

Sele

ctor

Page 22: 120 Que Podriamos Ver En Gene Xus

BenefitsIm

plic

it D

ata

Sele

ctor

o Less codeo Less errorso KBs easier to understand

Page 23: 120 Que Podriamos Ver En Gene Xus

Other

o Transaction initializationo Reorganization between versionso Conditional eventso New/Update code redundancyo …

Page 24: 120 Que Podriamos Ver En Gene Xus

[email protected]

Muchas gracias