nl-digigo / visi

Beheeromgeving van de VISI open standaard.
https://nl-digigo.github.io/visi/
6 stars 4 forks source link

Koppelen van (interne en externe) processen [Technische Oplossing] #34

Open JanaxLooij opened 6 years ago

JanaxLooij commented 6 years ago

In dit issue wordt de in issue 1007 vastgelegde wens technisch verder uitgewerkt.

Dit is een tweede uitwerking na discussie over dit onderwerp op 20-06-2014 door Jos, Jeroen G, Peter, Jeroen vdB, Arne en Gé.

Uitgangspunten zijn

er is nog niet beoordeeld of de raamwerken in één of meerdere projecten aanwezig zijn koppeling vind plaats door overname van de waarde van een SE naar een SE in een andere raamwerk koppeling vind plaats door bij het behandelen van een bericht een antwoordbericht uit een ander raamwerk aan te bieden de koppeling van 2 of meer raamwerken wordt beschreven als mappings naar de verschillende raamwerken in een aparte xml

mappings vinden plaats op de volgende raamwerk onderdelen

Simple Element Type User Defined Type Appendix Type

MessageInTransaction Type

Detaillering Mapping

ieder raamwerk is herkenbaar aan een eigen Namespace

een mapping verwijst van een Type in een raamwerk naar een Type in een ander raamwerk

voorbeeld: raamwerkA:SE:Reactietermijn - raamwerkB:SE:ReactionPeriod

een mapping kan meerdere keren voorkomen, een SE in het ene raamwerk kan naar meerdere SE's in het andere raamwerk worden gemapt

Detaillering Simple Element Type

De mapping vind plaatst op hetzelfde niveau, dus als een SE binnen een CE/CE structuur als kolom is gedefinieerd dan wordt er van uitgegaan dat ook het gemapte SE als kolom is gedefinieerd

Detaillering User Defined Type

er moeten conversie mogelijk zijn tussen verschillende UDT's, dus van bijvoorbeeld STRING met een regex pattern naar een DECIMAL type

wanneer conversie niet mogelijk is kan de waarde van een SE worden overgedragen als STRING. De gebruiker zal dan mogelijk het bericht moeten aanpassen voordat het verzonden kan worden

Detaillering koppelen van transacties tussen verschillende raamwerken

transacties tussen de verschillende raamwerken kunnen op dezelfde wijze gekoppeld worden als op dit moment transacties binnen een raamwerk worden gekoppeld. Dus door bij de previous van een transacties te verwijzen naar een andere transactie. In dit geval dus voorafgegaan door de namespaces van de beide raamwerken.

Eerdere uitwerking Om te beginnen staat hier een eerste technische oplossing van Jeroen van der Burg, alleen dit is nog voor het koppelen van raamwerken binnen een project, terwijl op 28-02-2014 de focus uiteindelijk terecht kwam op het koppelen van visi projecten.

-- Hiermee definieer je welke raamwerken er gekoppeld moeten worden ENTITY Framework; id : STRING; END_ENTITY;

-- Hiermee definieer je welke SimpleElementen moeten worden overgenomen ENTITY SimpleElementLink; sourceFrameworkId : STRING; sourceSimpleElementId : STRING; destinationFrameworkId : STRING; destinationSimpleElementId : STRING; condition : STRING; -- eventueel conditionSourceDestination en conditionDestinationSource END_ENTITY;

-- Wijzigingen tov MessageInTransactionType uit bestaande systematiek : -- frameworkId toegevoegd -- message t/m appendixTypes zijn van het type STRING ENTITY MessageInTransactionType; frameworkId : STRING; requiredNotify : OPTIONAL INTEGER; dateLaMu : OPTIONAL DATETIME; userLaMu : OPTIONAL STRING; received : OPTIONAL BOOLEAN; send : OPTIONAL BOOLEAN; state : OPTIONAL STRING; initiatorToExecutor : OPTIONAL BOOLEAN; openSecondaryTransactionsAllowed : OPTIONAL BOOLEAN; firstMessage : OPTIONAL BOOLEAN;

message : STRING; previous : OPTIONAL SET [0:?] OF STRING; transaction : STRING; transactionPhase : OPTIONAL STRING; group : OPTIONAL STRING; appendixTypes : OPTIONAL SET [1:?] OF STRING; END_ENTITY;

-- Omdat de berichten, transacties etc. objecten niet aanwezig zijn in dit bestand moeten de verwijzingen van het type STRING zijn. -- Deze STRING kunnen we opbouwen als PROJECTID:OBJECTID omdat een : nooit in een id mag voor komen. -- Als in de previous en appendixType een verwijzing met - begint verwijdert dit deze optie in het originele raamwerk. -- Dit bestand wordt na de raamwerken ingelezen zodat alle verwijzingen gecontroleerd kunnen worden en het bestand wordt in zijn geheel gewijgert als er een verwijzing niet klopt.

Aandachtspunten: Eigenaarschap van interne versus externe processen Versie van interne / externe processen. Raakvlak tussen interne en externe processen Aanpassen van een raakvlak met wederzijdse goedkeuring.

Acties:

input van brainstorm verwerken tot een eerste versie van de oplossing (actie: Ge = gedaan); ...

Attachments

flipover-brainstorm-1224.jpg notitie-van-Peter-Willems-over-Koppelen van raamwerken - TC003.pdf Koppelen externe en interne processen.pptx Koppelen raamwerken User stories.docx Doc-0008932 - 0.2 - Koppelen interne en externe processen met VISI.pdf Doc-0008932 - 0.3 - Koppelen interne en externe processen met VISI.pdf

This work item was migrated from CodePlex

CodePlex work item ID: '1224' Assigned to: 'jholweg' Vote count: '2'

JanaxLooij commented 6 years ago

[jvgeijlswijk@20-6-2014] Een eerste oplossing is besproken op 20-06-2014, en behelst een mapping tussen elementen van meerdere raamwerken. Raamwerken zijn te indentificeren op namespace, en in de mapping kan aangegeven worden dat element X uit raamwerk ON gelijk is aan element Y uit raamwerk UAV. Dit kan o.a. voor UserDefinedType, en SimpleElementType. Voor MessageInTransactionType zal de previous van MITT2 uit raamwerk ON gelijk gesteld worden aan MITT898 uit raamwerk UAV.

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[jvgeijlswijk@20-6-2014] Peter Willems schreef op 20-06-2014: "Enige tijd geleden heb ik over het onderwerp “koppelen van raamwerken” een notitie opgesteld.

Misschien zitten daar nog aspecten in die nog de moeite waard zijn."

De notitie is bijgevoegd.

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[UnknownUser@20-6-2014]

JanaxLooij commented 6 years ago

[jvgeijlswijk@5-9-2014] Dit punt is op 5 september 2014 niet opgepakt.

JanaxLooij commented 6 years ago

[UnknownUser@5-9-2014]

JanaxLooij commented 6 years ago

[UnknownUser@7-9-2014]

JanaxLooij commented 6 years ago

[UnknownUser@10-7-2015]

JanaxLooij commented 6 years ago

[UnknownUser@10-7-2015]

JanaxLooij commented 6 years ago

[UnknownUser@10-7-2015]

JanaxLooij commented 6 years ago

[UnknownUser@10-7-2015]

JanaxLooij commented 6 years ago

[jholweg@10-7-2015] Use case "Koppelen externe en interne processen.pptx" toegevoegd.

JanaxLooij commented 6 years ago

[Arne_Bruinse@10-7-2015] eerste stap user stories voor koppelen raamwerken

JanaxLooij commented 6 years ago

[UnknownUser@10-7-2015]

JanaxLooij commented 6 years ago

[UnknownUser@30-10-2015]

JanaxLooij commented 6 years ago

[jholweg@30-10-2015] Recente discussie en bestaande documenten zijn samengevoegd tot document "Doc-0008932 - 0.2 - Koppelen interne en externe processen met VISI.pdf". Op basis hiervan zal de volgende sessie verder worden gediscussieerd.

JanaxLooij commented 6 years ago

[UnknownUser@11-12-2015]

JanaxLooij commented 6 years ago

[UnknownUser@11-12-2015]

JanaxLooij commented 6 years ago

[jholweg@11-12-2015] Besproken in VISI Technisch comite dd 11-12-2015 met Ge Spees, Niek Pluimert, Peter Willems, Thomas Brink, Jeroen van Geijlswijk en Jaap Holweg. Conclusie: dit is de enige mogelijke oplossingsrichting. Van high-level ideeen en problemen die gezien werden is er nu dus een concrete oplossingsrichting duidelijk. Daarmee kan dit workitem gesloten worden, en een nieuw workitem worden opgevoerd die evt. punten kan krijgen voor de volgende VISI versie (vanaf 1.7 dus mogelijk om te implementeren). De oplossingsrichting is volgens de VISI TC leden afdoende duidelijk om voor een volgende versie zowel de technische details uit te werken (zoals b.v. hoe zo'n mapping er precies uit zou moeten zien) als de implementatie te doen.

JanaxLooij commented 6 years ago

[jholweg@11-12-2015] File Doc-0008932 - 0.3 - Koppelen interne en externe processen met VISI.pdf has been added, workitem is set to Resolved.

JanaxLooij commented 6 years ago

[jholweg@11-12-2015] See https://visi.codeplex.com/workitem/4663 for implementation workitem