You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

 

Kenmerken

Kenmerk

Beschrijving

Ontkoppel categorie

Database ontkoppeling (2)

Complexiteit

Middel

Related patterns/solutions

 

Samenvatting

Lijsten worden gevuld vanuit stamdata. Deze lijst definieer alle mogelijke waarden binnen een domein. Dit domein eenvoudig kunnen uitlezen van een bron en toepassen binnen de domein laag. De lijst wordt beheerd en bepaald buiten de applicatie. Bijvoorbeeld landenlijsten, beroepencodes, gemeentes, etc.

Context

Binnen applicaties wordt er regelmatig gebruikt van lijsten in de vorm van een value of instance list. The content of a value list could be defined design-time or run-time. In this document solution will be shown to fill a value or instance list. Every solution has it's own pros and cons.

The table below mentions the most critical considerations regarding the implementation of instance or value lists within Blueriq.

 

 EigenschapOmschrijving
Kennis ontsluitingDesign-time validatie 
Run-time validatie 
Versiebeheer list content? 
Implementatie kenmerkenInlezen uit externe bron 
Ververs moment value list 
Geen deployment nodig/no design-time changes needed. 
Onderhoudbaarheid 
Out of the box 

 

Probleem

Content of a value list changes more often compared to the application which uses the value list. Seperating application behaviour from maintenance of value list content which could be depend on external resources.

Oplossingen

Voor de oplossing wordt rekening gehouden met de kenmerken die benoemd zijn in de tabel onder "Context".

Er zijn verschillende oplossingen mogelijk waarbij de bovenstaande kenmerken in meer- of mindere mate gerealiseerd kunnen worden. Per geval dient de best passende oplossing te worden gekozen. In de tabel hieronder worden de belangrijkste eigenschappen getoond en hoe elke oplossing daarop scoort.

 

 EigenschapValue list (statisch)Value list
(dynamisch)
Instance list
(statisch)
Instance list
(dynamisch)
Kennis ontsluitingDesign-time validatie(green star)(red star)(green star)(red star)
Run-time validatie(green star)(green star)(green star)(green star)
Versiebeheer list content?(red star)(red star)(red star)(red star)
Implementatie kenmerkenInlezen uit externe bron(red star)(green star)(red star)(green star)
Ververs moment value listdesign timestart applicatiedesign timesession time
Geen deployment nodig/no design-time changes needed.(red star)(green star)(red star)(green star)
Onderhoudbaarheid(green star)/(red star)3(star)(star)/(red star)3(star)
Out of the box(green star)(star)1(green star)(red star)2

1External source vinkje bij Value List en wat configuratie. BE werk.

2Maatwerk voor inlezen bron en creeren van instanties. TE werk.

3Depends on number of values/instances in the list.

Hieronder worden per oplossing in het kort de verschillen in de implementatie beschreven. Voor de realisatie van de daadwerkelijke oplossing wordt verwezen naar het desbetreffende patroon en wordt een concreet voorbeeld beschreven.

 

Oplossingen:

  • Value list static
  • Value list dynamic
  • Instance list static
  • Instance list dynamic

Value list static

Eenmalig in Studio de value list definiëren. Deze waarde veranderd run-time niet meer.

Wijizigen van de value list vereist een model aanpassing en deployment.

Bij value list met < 10 is onderhoudbaarheid goed, bij 100+ is deze slecht.

Voorbeeld

Het vullen van een value list binnen Blueriq wordt beschreven in MyBlueriq.

 

Value list dynamic

Met een external rule kunnen ook bedrijfsregels worden geïmplementeerd en worden ontsloten. In vergelijking met de Functie is het met een external rule niet mogelijk om autonomie te waarborgen. Een external rule maakt gebruikt van attributen binnen hetzelfde domein als de applicatie zodat ongewenste vermenging mogelijk is. Daarnaast is de onderhoudbaar laag doordat een external rule een regel is die in code wordt geïmplementeerd. Bedrijfsregels wil je niet in code implementeren maar in Blueriq vanwege de onderhoudbaarheid.

Voorbeeld

Het vullen van een value list binnen Blueriq wordt beschreven in MyBlueriq.

Instance list static

Instances should be created design-time and show instances by using an instance linker. Define a relation attribute to catch the instances.

Voorbeeld

The implementation of an static instance list will be described in MyBlueriq.

Instance list dynamic

Some custom code is needed to implement dynamic instance list. An external resource must provide the values for the instance list and instances should be created run-time.

Voorbeeld

No example available. Too bad joh.

Issues en overwegingen

Value lists die regelmatig wijzigen via een external value list. Value lists die constant zijn, bijvoorbeeld geslacht, ja/nee/onbekend, die realiseren d.m.v. een value list design time. Bij een external value list heb je niet de mogelijkheid om design-time model validatie toe te passen. In een expressie kan een value gebruikt worden die run-time niet mogelijk blijkt te zijn. Dit wordt run-time pas geconstateerd.

Gerelateerde patronen

 

  • No labels