Relatics Synchronization

Standaard

Begin april is met een release van Relatics de functie Synchronization vrijgegeven. Gebaseerd op de technieken van Distributed Integration, wordt het onderhoud van veel dezelfde templates binnen een environment enorm vereenvoudigd. In dit artikel wordt kort uitgelegd wat Synchronization is, wat de voordelen van Synchronization zijn en waar rekening mee gehouden moet worden om Synchronization ook effectief in te zetten.

Wat is Synchronization

Synchronisation is een techniek om workspaces van verschillende projecten hetzelfde te houden. De truc van Synchronization zit hem erin dat de workspaces worden gebaseerd op een template. Een template is niets anders dan een โ€œbevrorenโ€ workspace zonder inhoud. In de environment maak je een nieuwe template en baseerd die vervolgens op een bestaande workspace (meestal een ontwikkel workspace).

 

Aanmaken van template in de environment

Afbeelding 1: Aanmaken van template in de environment

 

Vervolgens kan een project-workspace aan deze template gekoppeld worden.

 

Project-workspace koppelen (attach) aan template

Afbeelding 2: Project-workspace koppelen (attach) aan template

 

Voordelen van Synchronization

Synchronization mag dan niet spannend klinken, het is het wel. Doordat je nu meerdere workspaces kan baseren op รฉรฉn en dezelfde template, is het doorvoeren van wijzigingen opeens enorm eenvoudig geworden. Op deze manier kan een fout in een rapport, een selection extender die vergeten is, of een rol die net รฉรฉn optie mist, doorgevoerd worden in alle projecten door het op รฉรฉn plek te wijzigen. Maar ook een compleet nieuwe functionaliteit. Tot synchronization moest dit nog gedaan worden in elke workspace waar de fout zat door het opnieuw te bouwen of te kopiรซren. Duidelijk is dat dit enorm veel tijd scheelt en ook de kwaliteit van de workspaces veel beter maakt. Daarnaast worden de workspaces ook consistenter, wat het gebruik ervan eenvoudiger maakt.

Effectief inzetten van Synchronization

Uiteraard zijn er ook beperkingen aan de techniek. De belangrijkste is wel dat er alleen instanties/types overgezet kunnen worden en geen libraries. Of een workspace ook omgezet kan worden naar een template kan eenvoudig getest worden door de optie โ€œValidate for templateโ€ te kiezen (zie ook afbeelding 2).

Maar naast het technische deel van Relatics, zal er ook nagedacht moeten worden over het ontwikkelproces en hoe de templates โ€œgereleasedโ€ gaan worden. In eerdere klantgesprekken kwamen al wat vragen aan de orde. In welke tijdstermijnen worden er nieuwe templates gereleased? Worden er ook bugfix/hotfix-releases gemaakt naast de nieuwe ontwikkelingen? Hoe wordt data gemigreerd bij de verschillende projecten als er een wezenlijke datamodelwijziging in een release plaats vindt? Welke ruimte krijgen projecten nog om af te wijken van de standaard template, want niet altijd wil een project zijn eigen processen aanpassen aan nieuwe functionaliteit? Want wanneer een workspace niet meer โ€œaangehaaktโ€ (attached) blijft met een template, dan is de oude situatie van voor synchronisation weer van toepassing.

Conclusie

Synchronization is een welkome aanvulling aan Relatics. Het lost het irritante probleem van het bijhouden van bugfixes en features in meerdere workspaces op. Voor wie aan de slag wil met deze nieuwe functionaliteit, heeft een aantal stappen toe te voegen aan het ontwikkelproces. Daarnaast vraagt het ook een review van de huidige werkwijze rond het beheer van Relatics.