Partij is de rol die (grotendeels) gemeenschappelijk is voor de bedrijven waarmee Van Hoecke interageert. Die bedrijven zijn dus zowel onze rechtstreekse klanten, als leveranciers, als klanten van handels, als ... Het gemeenschappelijke aspect is het hebben van een naam en contactgegevens. Het moeten ontvangen van vHizier, kan nog zo'n aspect zijn. Andere rollen die een "partij" heeft (zoals het leveren van goederen) worden door een andere reeks interfaces aangeboden. N.B. De rol "Partij" kan je vergelijken met de rol "AdministratiefProduct". Het gebruik van PartijID als identifier die naar de verschillende soorten partijen kan verwijzen, laat toe dat applicaties die enkel met contactgegevens te maken hebben, geen besef moeten hebben van de verschillende mogelijke soorten partijen. Het feit dat de volledige unieke identificatie (inclusief de scope/realm) ín de PartijID zit, verbergt de diversiteit van soorten partijen, aan applicaties die daar geen weet van moeten hebben. Dat maakt het geschikt als foreign key. Zie ook http://wiki.vanhoecke.be/ICT_Development/Knowledge_Base/Naming_guidelines_in_Cach%C3%A9 N.B. Dit verhindert uiteraard niet dat bepaalde applicaties controleren dat een binnenkomende PartijID de juiste rol (als klant of als leverancier) heeft. Net zoals sommige code zal moeten controleren dat een ontvangen ProductID effectief wel een TBX is, of een commercieel actief product. 1 1 TECH.Interface 1 %Status 1 %Status 1 %Status 1 %Status 1 %String 1 DOM.common.PartijID 1 %String 1 DOM.common.Adres 1 DOM.CRM.enu.ActiefStatus 1 %Boolean 1 %String 1 %String 1 %Date 1 DOM.CRM.enu.OpvolgingType 1 %String 1 %String 1 %ListOfObjects 1 %String 1 DOM.enu.Munt 1 %String 1 %String 1 %String 1 %String 1 %String 1 %String 1 %String 1 %String 1 %String 1 %String 1 Aanspreking:%String 1 Status:DOM.CRM.enu.ActiefStatus 1 Adres:DOM.common.Adres 1 BTWNr:%String 1 InitialenNaam:%String 1 1 Naam:%String 1 Datum:%Date 1 OpvolgingType:DOM.CRM.enu.OpvolgingType 1 Taal:%String 1 Tijdstip:%Date 1 1 Telefoon1:%String 1 Toenaam:%String 1 dtoPersoon:DOM.common.dto.Persoon DOM.common.Persoon 1 Persoon:DOM.common.Persoon 1 %String 1 %String