Artikelindex

Asynchrone versus synchrone communicatie

Binnen systemen voor applicatie-integratie worden twee basismechanismen voor de onderlinge communicatie gebruikt: synchrone en asynchrone communicatie. Bij asynchrone communicatie wordt de informatie tussen één of meerdere verschillende systemen asynchroon bewogen. De applicatie-integratiesoftware is in staat om zich als het ware te ontkoppelen van de bron- of doelsystemen. Het gevolg is dat de verschillende applicaties, om de informatie te verwerken, niet afhankelijk zijn van de andere aangesloten systemen.

Het primaire proces bij asynchrone communicatie is als volgt.Het bronsysteem plaatst een bericht in een wachtrij. Vervolgens wacht dit systeem op de afhandeling en reactie van het doelsysteem (of de doelsystemen). Het bronsysteem kan echter wel doorgaan met andere activiteiten. Dit geeft direct het belangrijkste voordeel aan: de integratielaag blokkeert niet de applicatie in haar (andere) werkzaamheden. Doordat de systemen ontkoppeld zijn, kan de applicatie altijd doorgaan met haar werk, ongeacht de toestand van de andere applicaties.

In tegenstelling hierop, bij synchrone communicatie is de integratielaag volledig en direct gekoppeld met de andere applicaties. De andere applicaties zijn in dit model te zien als een verlengstuk van de bronapplicatie. De bronapplicatie dient dus te wachten totdat de doelapplicatie de informatie verwerkt heeft en een reactie terug heeft gegeven. Het nadeel van het synchrone model is dan ook de min of meer vaste koppeling tussen de verschillende applicaties. Omdat de applicatie afhankelijk is van de integratielaag, worden problemen in deze integratielaag, zoals netwerk- en doelserverproblemen, direct het probleem van de bronapplicatie. Deze applicatie kan niet verder met het verwerken van de informatie. Daarnaast blijkt dat de synchrone communicatie binnen een netwerk omgeving bandbreedte consumeert. Dit omdat er verschillende vormen van uitwisseling van informatie via het netwerk nodig zijn om een informatieverzoek af te handelen.

Het verschil laat zich het beste illustreren met een alledaags voorbeeld. Iedereen verstuurt wel eens een e-mail, een fax of belt iemand op. Hiervoor wordt gebruik gemaakt van het internet of het telefoonnet als transportmedium. Het e-mail proces kunnen we typeren als een asynchroon proces en werkt als volgt: je typt een e-mail, selecteert de geadresseerde en drukt op de zendknop.

Jouw computer zal, als het niet vast aan het internet verbonden is, contact zoeken met het internet (de integratielaag). Vervolgens wordt het bericht op de elektronische snelweg geplaatst en zal automatisch zijn weg vervolgen, totdat de ontvangende partij het weer oppakt.

Jouw proces is echter afgerond op het moment dat er op ‘send’ gedrukt is. Je kunt dus verder gaan met andere werkzaamheden, al dan niet gebruikmakend van de integratielaag, het internet.

Nu gaan we datzelfde bericht op een meer conventionele wijze versturen. We sturen het eerder geschreven bericht naar de faxprinter en faxen het naar de ontvangende partij. Hier is de integratielaag het netwerk van de KPN en dient er contact gemaakt te worden met de ontvangende partij. De ontvangende fax dient vrij te zijn en het netwerk toegankelijk. Gedurende het versturen van het bericht is jouw faxmachine en de bijbehorende telefoonlijn volledig bezet. De snelheid van verwerking is afhankelijk van het ontvangende systeem. Dit is een typisch voorbeeld van passieve synchrone communicatie.

Een derde manier om dit bericht naar de ontvanger te brengen laat zich illustreren door het telefoneren. Hierbij zijn beide (of zelfs meerdere) partijen direct met elkaar verbonden. Een respons kan door alle partijen op iedere moment gegeven worden. De ontvangende en de zendende partij kunnen elkaar afwisselen. Dit is een voorbeeld van interactieve synchrone communicatie.

Een vierde voorbeeld is de teleconferentie. De deelnemers zijn via verschillende telefoonlijnen met elkaar in contact. Gesprekken kunnen gelijktijdig met verschillende personen op verschillende locaties plaatsvinden. Deelnemers kunnen in principe onbeperkt afhaken en toetreden.

Het lijkt voor zich te spreken dat de nadelen van synchrone communicatie, vooral voor B2B-communicatie, groot zijn. Het asynchrone model zal daarom vaak de voorkeur genieten. Toch zien we weer een verschuiving naar interactieve synchrone communicatie. Applicaties, systemen en gebruikers communiceren interactief in steeds wisselende samenstelling en in wisselende patronen met elkaar. Was er eerst een duidelijk verschil tussen het bron- en het doelsysteem, de voortdurende interactie maakt dat onderscheid steeds moeilijker. Het doelsysteem kan ineens bronsysteem worden en vice versa. In het voorbeeld van de teleconferentie kunnen we zien dat dit heel gecompliceerd kan zijn. De complexiteit door interactie en vele (wisselende) deelnemers geeft, in combinatie met de bekende nadelen van synchrone communicatie, natuurlijk nieuwe uitdagingen voor applicatie-integratie.