JOIN Agenderen.nl Whitepaper

Uit JOIN wiki
Versie door Admin f.dondorp (overleg | bijdragen) op 25 jan 2018 om 05:57 (1 revision imported)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Ga naar: navigatie, zoeken

JOIN Agenderen whitepaper

Cloudomgeving

JOIN Agenderen is een cloudapplicatie die centraal wordt aangeboden op het Microsoft Azure platform. Bij de hosting instellingen voor Azure heeft Decos aangegeven dat JOIN Agenderen gehost moet worden vanuit de EU. De applicatie en de database draaien op Azure; de bestanden worden opgeslagen bij CloudVPS - een Nederlandse provider.

Er worden twee aparte omgevingen aangeboden: de testomgeving en de productieomgeving. Beide omgevingen hebben een eigen licentie, een eigen applicatie, eigen database en een eigen OData-koppelvlak. Dit betekent dat de lokale installaties (de aansluitingen op de JOIN Z&D omgevingen) ook twee keer uitgevoerd moeten worden. De testomgeving van JOIN Zaak & Document moet worden gekoppeld aan de testomgeving van JOIN Agenderen en datzelfde moet ook gebeuren voor de productieomgevingen. De gebruikers worden centraal aangemaakt (in Decos Cloudadmin) maar moeten wel in beide omgevingen apart van rollen en autorisaties worden voorzien.

OData koppelvlak

Vergaderapplicaties die gegevens uit JOIN Agenderen raadplegen maken gebruik van het OData koppelvlak. Dit is de enige beschikbare koppeling met JOIN Agenderen. Iedere aangesloten partij heeft een klant-gebonden account nodig om data op te halen. Iedere koppeling is in configuratie uit te voeren.

Het koppelvlak werkt op basis van queries die door de aangesloten applicatie worden uitgevoerd. Het OData-protocol kan het best worden voorgesteld als een query-mechanisme waarmee de aangesloten applicatie JOIN Agenderen kan bevragen. Welke informatie de aangesloten applicatie opvraagt is niet aan Decos om te bepalen. Dit maakt het OData koppelvlak erg krachtig en efficiënt: de bevrager hoeft alleen die data op te vragen die hij nodig heeft en wanneer hij die nodig heeft. OData is een open standaard die breed word geaccepteerd (documentatie).

Om onnodige bevragingen te voorkomen kan het koppelvlak werken met een trigger, waarbij er een signaal naar de aangesloten applicatie gestuurd wordt wanneer er nieuwe data beschikbaar is (in feite wanneer een vergadering (opnieuw) wordt gedistribueerd). De aangesloten applicatie kan vervolgens bepalen of en wanneer de nieuwe data opgehaald wordt. Deze trigger is niets anders dan een URL die wordt aangeroepen door JOIN Agenderen. De eventuele gegevens in de respons worden genegeerd.

Voor een koppeling is benodigd:

  • Een account op het OData koppelvlak, per organisatie in te stellen. Voor iedere organisatie die met (bijvoorbeeld) iBabs werkt moet er dus een OData account worden aangemaakt in JOIN Agenderen. Dit account wordt aangemaakt vanuit Agenderen, onder 'Koppelingen' in het beheermenu. Dit account moet ingesteld worden per verbinding: om zowel een productieomgeving als een testomgeving van (bijvoorbeeld) iBabs aan te sluiten, moet dus een account worden aangemaakt in de productieomgeving en in de testomgeving van JOIN Agenderen. Deze accounts hoeven niet hetzelfde te zijn en hebben bij voorkeur een ander (sterk) wachtwoord. Actie Decos.
  • Als de aangesloten applicatie gebruik wil maken van een trigger, moet een trigger-URL beschikbaar worden gesteld door de derdepartij (actie 3e) en geconfigureerd bij de koppeling (actie Decos).

Benodigdheden en licenties

JOIN Agenderen wordt alleen ondersteund in combinatie met JOIN Zaak & Document. Dit betekent dat het gebruik van JOIN Agenderen in combinatie met Decos D5.2 (de voorloper van JOIN Z&D) niet ondersteund wordt.

Voor het gebruik van Agenderen is zoals gesteld JOIN Connect een vereiste. Deze component wordt standaard meegeleverd met JOIN Z&D, waarbij wel een licentie voor het gebruik van Connect is vereist. Deze licentie is onderdeel van Agenderen: als u Agenderen aanschaft krijgt u er dus een Connect-licentie bij.

Indien u JOIN Agenderen wilt gebruiken in combinatie met een applicatie van een derdepartij, is het OData-koppelvlak ook een vereiste. De licentie voor het koppelvlak staat los van de licentie voor Agenderen.

De testlicenties zijn altijd beschikbaar als de productielicenties zijn afgenomen. Het is denkbaar dat een organisatie alleen over een testlicentie beschikt om bijvoorbeeld het gebruik van Agenderen voor een bepaalde periode uit te proberen. Het is echter niet mogelijk dat een organisatie wel een productielicentie heeft maar geen testlicentie.

In totaal heeft een reguliere klant dus de volgende licenties:

  • JOIN Agenderen
  • OData
  • JOIN Agenderen Test
  • OData Test

Relatie met JOIN Zaak & Document

JOIN Agenderen moet kunnen communiceren met JOIN Zaak & Document. Bij het opmaken van een agenda worden documenten uit een vergaderdossier (uit JOIN Z&D) gehaald en bij distributie worden de meest recente versies van bestanden opgehaald en geconverteerd.

De koppeling tussen JOIN Z&D en JOIN Agenderen verloopt via JOIN Connect. Dit betekent dat in JOIN Z&D een Connect Applicatie moet zijn toegevoegd en dat er voor iedere vergadercollectie een Connect Entiteit moet bestaan. Als deze Entiteit er niet is, kan JOIN Agenderen het vergaderdossier niet benaderen. Hetzelfde geldt voor documenten: voor iedere documentcollectie moet ook een Entiteit aangemaakt zijn. Voor zaakdocumenten geldt dat er 1 Entiteit moet zijn aangemaakt voor zaakdocumenten, die gekoppeld is aan een Entiteit voor zaken, welke weer is gerelateerd aan een Entiteit voor zaaktypen. Alleen als deze keten goed is ingericht is het mogelijk om zaakdocumenten, documenten en vergaderdossiers via JOIN Connect te raadplegen.

Om dit verkeer mogelijk te maken moet de lokale JOIN Connect Service uiteraard kunnen communiceren met JOIN Agenderen. Daarvoor is onderstaande portconfiguratie nodig. Uiteraard moet de JOIN Connect Service ook daadwerkelijk draaien op de JOIN omgeving waar verbinding mee wordt gemaakt. Het kan voorkomen (zeker bij testomgevingen) dat deze service niet draait.

Lokale installatie

De lokale installatie omvat:

  • Het MEETING object - het registratietype 'Vergadering' wordt geïnstalleerd als dat type nog niet beschikbaar was.
  • Het knopje (een 'custom button' in termen van JOIN) waarmee JOIN Agenderen wordt geopend vanuit een vergaderdossier. Dit knopje is gekoppeld aan een itemprofiel. Dit betekent dat als er meerdere itemprofielen (metadatasets) gebruikt worden voor verschillende vergadersoorten, het knopje meerdere keren geïnstalleerd moet worden. Voor deze installatie (en eventuele toekomstige installaties) wordt een tool geïnstalleerd op de JOIN Z&D server.

Communicatie; poorten

Voor de correcte werking van Agenderen moet er verkeer mogelijk zijn op onderstaande poorten. Als tussenliggende apparatuur deze poorten blokkeert of afvangt, kan Agenderen niet goed functioneren.

Poort Richting Scope Beschrijving
80 Uitgaand Alle clients

HTTP, voor toestaan redirect naar HTTPS

443 Uitgaand Alle clients

HTTPS, voor gebruik van Agenderen en Agenderen Testomgeving

HTTPS voor login en controle van licenties

9354 Uitgaand JOIN Z&D server

Azure service bus om push-berichten te sturen naar de lokale JOIN Connect Service

9350
9351
9352
9353
Uitgaand JOIN Z&D server

Azure service bus relay om vanuit Agenderen gegevens op te halen uit de lokale JOIN Z&D omgeving via JOIN Connect

Op advies van Microsoft dient daarnaast de volledige IP-reeks van het West-EU datacenter te worden opengesteld voor uitgaand verkeer:

Poort Richting Subnet/mask
5671, 9352 Uitgaand 104.214.192.0/19
104.214.224.0/20
104.214.240.0/24
104.214.241.0/24
104.214.242.0/23
104.214.244.0/22
104.214.248.0/21
104.40.128.0/17
104.45.0.0/18
104.45.64.0/20
104.46.16.0/21
104.46.32.0/19
104.47.128.0/19
104.47.160.0/21
104.47.168.0/24
104.47.169.0/24
104.47.170.0/23
104.47.172.0/22
104.47.176.0/20
13.69.0.0/19
13.69.32.0/21
13.69.40.0/27
13.69.40.128/25
13.69.40.32/28
13.69.40.48/28
13.69.40.64/26
13.69.41.0/24
13.69.42.0/23
13.69.44.0/22
13.69.48.0/20
13.69.64.0/19
13.69.96.0/19
13.73.128.0/28
13.73.128.128/25
13.73.128.16/28
13.73.128.32/27
13.73.128.64/26
13.73.129.0/24
13.73.130.0/23
13.73.132.0/22
13.73.136.0/21
13.73.144.0/20
13.73.160.0/21
13.73.168.0/26
13.73.168.112/28
13.73.168.128/25
13.73.168.64/27
13.73.168.96/28
13.73.169.0/24
13.73.170.0/23
13.73.172.0/22
13.73.176.0/20
13.73.224.0/21
13.80.0.0/19
13.80.128.0/19
13.80.160.0/28
13.80.160.128/25
13.80.160.16/28
13.80.160.32/27
13.80.160.64/26
13.80.161.0/24
13.80.162.0/23
13.80.164.0/22
13.80.168.0/21
13.80.176.0/21
13.80.184.0/28
13.80.184.128/25
13.80.184.16/28
13.80.184.32/27
13.80.184.64/26
13.80.185.0/24
13.80.186.0/23
13.80.188.0/22
13.80.192.0/19
13.80.224.0/21
13.80.232.0/24
13.80.233.0/28
13.80.233.128/25
13.80.233.16/28
13.80.233.32/27
13.80.233.64/26
13.80.234.0/23
13.80.236.0/22
13.80.240.0/20
13.80.32.0/28
13.80.32.128/25
13.80.32.16/28
13.80.32.32/27
13.80.32.64/26
13.80.33.0/24
13.80.34.0/23
13.80.36.0/22
13.80.40.0/21
13.80.48.0/20
13.80.64.0/20
13.80.80.0/21
13.80.88.0/24
13.80.89.0/28
13.80.89.128/25
13.80.89.16/28
13.80.89.32/27
13.80.89.64/26
13.80.90.0/24
13.80.91.0/28
13.80.91.128/25
13.80.91.16/28
13.80.91.32/27
13.80.91.64/26
13.80.92.0/22
13.80.96.0/19
13.81.0.0/20
13.81.128.0/19
13.81.16.0/28
13.81.16.128/25
13.81.16.16/28
13.81.16.32/27
13.81.16.64/26
13.81.160.0/28
13.81.160.128/25
13.81.160.16/28
13.81.160.32/27
13.81.160.64/26
13.81.161.0/24
13.81.162.0/23
13.81.164.0/22
13.81.168.0/21
13.81.176.0/20
13.81.18.0/23
13.81.192.0/19
13.81.20.0/22
13.81.224.0/21
13.81.232.0/28
13.81.232.128/25
13.81.232.16/28
13.81.232.32/27
13.81.232.64/26
13.81.233.0/24
13.81.234.0/23
13.81.236.0/22
13.81.24.0/21
13.81.240.0/20
13.81.32.0/19
13.81.64.0/21
13.81.72.0/27
13.81.72.128/25
13.81.72.32/27
13.81.72.64/26
13.81.73.0/24
13.81.74.0/24
13.81.75.0/24
13.81.76.0/22
13.81.80.0/20
13.81.96.0/19
13.88.200.0/21
13.93.0.0/20
13.93.104.0/21
13.93.112.0/20
13.93.16.0/24
13.93.17.0/28
13.93.24.0/21
13.93.32.0/20
13.93.48.0/21
13.93.56.0/24
13.93.57.0/28
13.93.64.0/19
13.93.96.0/27
13.93.97.0/24
13.93.98.0/24
13.94.128.0/19
13.94.160.0/28
13.94.161.0/24
13.94.168.0/21
13.94.176.0/20
13.94.192.0/20
13.94.208.0/21
13.94.216.0/27
13.94.217.0/24
13.94.218.0/24
13.94.224.0/19
13.95.0.0/19
13.95.104.0/21
13.95.112.0/20
13.95.128.0/19
13.95.192.0/19
13.95.224.0/20
13.95.64.0/19
13.95.96.0/26
13.95.96.128/26
13.95.96.192/28
13.95.96.64/27
13.95.96.96/28
13.95.97.0/24
137.116.192.0/19
137.117.128.0/17
168.61.56.0/21
168.63.0.0/19
168.63.112.128/25
168.63.112.16/28
168.63.112.64/26
168.63.113.0/24
168.63.114.0/23
168.63.116.0/22
168.63.120.0/21
168.63.96.0/20
191.233.64.0/18
191.237.232.0/22
191.239.200.0/23
191.239.202.0/24
191.239.203.0/27
191.239.203.64/27
193.149.80.0/22
193.149.84.0/22
213.199.128.0/21
213.199.136.0/22
213.199.180.112/28
213.199.180.32/28
213.199.183.0/24
23.100.0.0/20
23.101.64.0/20
23.97.128.0/17
23.98.46.0/24
40.112.112.0/21
40.112.120.0/22
40.112.124.0/24
40.112.125.0/24
40.112.126.0/23
40.112.36.128/26
40.112.96.0/20
40.113.128.0/18
40.113.96.0/19
40.114.128.0/24
40.114.129.0/24
40.114.130.0/23
40.114.132.0/22
40.114.136.0/21
40.114.144.0/21
40.114.152.0/26
40.114.152.128/25
40.114.152.64/26
40.114.153.0/24
40.114.154.0/23
40.114.156.0/22
40.114.160.0/19
40.114.192.0/18
40.115.0.0/18
40.118.0.0/17
40.68.0.0/19
40.68.104.0/28
40.68.105.0/24
40.68.112.0/20
40.68.128.0/19
40.68.160.0/20
40.68.176.0/26
40.68.176.64/28
40.68.177.0/24
40.68.184.0/21
40.68.192.0/19
40.68.224.0/21
40.68.232.0/26
40.68.232.64/28
40.68.233.0/24
40.68.240.0/20
40.68.32.0/20
40.68.48.0/28
40.68.49.0/24
40.68.56.0/21
40.68.64.0/19
40.68.96.0/21
40.74.0.0/20
40.74.16.0/20
40.74.32.0/20
40.74.48.0/20
40.80.0.0/18
40.82.0.0/16
52.166.128.0/20
52.166.144.0/21
52.166.152.0/28
52.166.153.0/24
52.166.160.0/19
52.166.192.0/20
52.174.16.0/20
52.174.32.0/19
52.174.8.0/28
52.174.9.0/24
65.52.128.0/19
94.245.97.0/24