New to Magnet.me? Sign up now to get your own personalised job matches.

Sign up
View photo gallery

Pact op een EventBus

  • Type Internship
  • Degree Bachelor
  • Location Veenendaal, NetherlandsKruisboog 42VeenendaalNLVeenendaal3905 TG
  • Posted
  • Start date -
  • Deadline -
  • INTERNITIT

Find your job faster with a profile

Directly see your job matches and find a job that's perfect for you.

Zie jij jezelf al onderzoeken of de huidige Pact (bedacht om compatibiliteit tussen consumers en providers te valideren) .NET implementatie zich leent om uitgebreid te worden en of dit werkt wanneer je een EventBus gebruikt, zoals RabbitMQ? Lees dan snel meer over deze afstudeeropdracht!

Meer informatie

Bij al onze klanten worden de systemen die we bouwen opgetrokken uit meerdere services. Soms is dat nog een Service Oriented Architecture waarbij de contracten voor het verzenden en ontvangen van data vastgelegd zijn in een Canonical Schema. Steeds vaker zal daarvoor een Micro Services architectuur voor worden ingezet, waarbij wellicht gecommuniceerd wordt over een Event Bus. In zo’n omgeving weet je niet altijd wie de afnemers zijn en is het daardoor lastig te bepalen welke data je moet delen. Consumer-Driven Contracts zou hier een oplossing kunnen bieden. De compatibiliteit tussen providers en consumers kan dan worden gevalideerd met een tool als ‘Pact’.

Pact is bedacht om compatibiliteit tussen consumers en providers te valideren. Bij Pact bepalen consumers de informatie die ze nodig hebben. Vanuit een test bij de client wordt een request gestart die wordt opgevangen en opgeslagen door een mock provider. Vanuit de test geef je een verwacht resultaat terug. Bij het testen van de provider wordt juist vanuit de test een request naar de provider gestuurd en wordt het resultaat opgevangen en opgeslagen. Tot slot worden de verwachtingen en resultaten vergeleken en wordt gecontroleerd of deze compatibel zijn.

Dit zou goed moeten werken in een landschap waar REST gebruikt wordt. Helaas is er nog niets wanneer je een EventBus gebruikt zoals RabbitMQ.

In de officiële Pact specificatie is hier met de laatste release wel ondersteuning aan toegevoegd, maar in de implementatie voor .NET is dit (nog) niet verwerkt.

Opdracht

Consumer Driven Contracts is het keyword. Maar zonder validatie op de compatibiliteit is er te weinig garantie op het correct samenwerken van verschillende deelsystemen. Jij gaat onderzoeken of de huidige Pact .NET implementatie zich leent om uitgebreid te worden. Je voert dit vervolgens uit of komt met een alternatieve oplossing.

Je gaat deze opdracht samen met iemand van Info Support verder uitwerken. Dit met als doel om tot een definitieve afstudeeropdracht, compleet met deliverables, te komen die bij jou past! Wij zien graag dat je afstudeerperiode een onvergetelijke tijd wordt en een mooie start van jouw carrière. Jouw ontwikkeling staat centraal en daar bieden we je bij Info Support alle ruimte voor!

Benodigde technieken en/of interesses

  • .NET
  • Webscale IT

People also viewed