NIEUWE PROGRAMMEERTAAL COMBINEERT WEBPROTOCOLLEN
Internet met blokken
Marie-José Klaver
(NRC Handelsblad, 14 oktober 2000)
De nieuwe programmeertaal bxxp is handig voor internet, want ze kan verschillende
signalen verzenden over één verbinding. De taal is een soort
'greatest hits'-combinatie van smtp, http en pop3.
Bixpy, Beep of Bee Ex Ex Pee. Hoe moet de afkorting BXXP worden uitgesproken?
Op de website over BXXP, een nieuwe programmeertaal voor internet, wordt momenteel
een enquête gehouden. Het wordt waarschijnlijk Bee Ex Ex Pee, maar Beep
maakt ook nog een kans om te winnen.
BXXP staat voor Blocks Extensible Exchange Protocol. BXXP bundelt een aantal
standaardelementen uit bestaande internetprotocollen, zoals SMTP (Simpel Message
Transfer Protocol), HTTP (HyperText Transfer Protocol) en POP3 (Post Office
Protocol 3). Al deze protocollen hebben hun eigen manier voor het initiëren
en autoriseren van een verbinding en het verzenden en ontvangen van data.
BXXP is een raamwerk van standaardonderdelen uit de verschillende internetprotocollen
die in andere programma's gebruikt kunnen worden. Als een soort 'greatest
hits'-album met de trucs die sinds de jaren tachtig worden gebruikt door ervaren
protocolontwerpers, zo wordt BXXP beschreven op de onlangs geopende site BXXP.org.
Prof. dr. Erik Huizer, hoogleraar Internetapplicaties aan de Universiteit
Twente en voorzitter van de Internet Research Task Force, noemt BXXP ''een
generiek internet applicatieprotocol gebaseerd op de architectuurlessen van
de internet engineers.'' BXXP is volgens Huizer, lid van de BXXP-werkgroep,
het ''internetantwoord op de telecom georiënteerde 'middleware'-initiatieven
zoals DCOM, CORBA, etc., waar alle Nederlandse universiteiten en de telecom
researchlabs nog steeds bij zweren.''
Programmeurs kunnen elementen uit BXXP importeren als ze nieuwe software
voor internet maken. Ze hoeven dan niet steeds het wiel opnieuw uit te vinden
als ze bijvoorbeeld een programma maken dat data moet uitwisselen tussen verschillende
servers. Een ander voordeel van BXXP is dat het protocol als een onderliggende
architectuur gebruikt kan worden als verschillende internettoepassingen, die
niets met elkaar te maken hebben, met elkaar worden gecombineerd in één
programma.
''Als je een protocol bouwt, moet je beslissen wat je gaat doen met de
verwerking van foutmeldingen en hoe je de grootte van objecten gaat behandelen.
BXXP lost dat allemaal voor je op. Negentig procent van het werk wordt voor
je gedaan,'' zo beschrijft Michael Mealling, werkzaam bij Network Solutions
en betrokken bij de Internet Engineering Task Force (IETF) de voordelen van
BXXP in Network World.
BXXP maakt gebruik van multiplexing, het combineren van verschillende signalen
om ze over één verbinding te sturen. Er zijn niet veel applicatieprotocollen
die dit doen. Meestal wordt er een aantal gelijktijdige connecties opgezet.
Als er gelijktijdige verbindingen worden opgezet, kunnen die meestal maar
van één soort zijn, bijvoorbeeld HTTP (voor webverkeer) of FTP
(om bestanden over te sturen). Met BXXP kan een programma een heleboel verschillende
verbindingen gelijktijdig verwerken. Gebruikers kunnen door BXXP bijvoorbeeld
tegelijkertijd chatten, surfen en bestanden uitwisselen, terwijl ze maar van
één netwerkverbinding gebruik maken.
vensters
Ook de autorisatie van die verbindingen is eenvoudiger door BXXP. Als iemand
verschillende HTTP-connecties maakt naar dezelfde website (verschillende vensters
in een browser opent, bijvoorbeeld op de site www.nrc.nl) worden die door
de server aan de andere kant behandeld alsof ze van verschillende entiteiten
komen. Met BXXP herkent de server dat ze allemaal dezelfde oorsprong hebben
waardoor de verbindingen sneller kunnen worden afgehandeld en het netwerk
minder snel overbelast raakt.
BXXP is bedacht door de Amerikaanse netwerkspecialist dr. Marshall Rose,
die heeft meegewerkt aan 60 internetprotocollen als SMTP, POP3 en SNMP (Simple
Network Managing Protocol). Waarschijnlijk wordt BXXP volgend jaar uitgeroepen
tot een officiële internetstandaard door de Internet Engineering Task
Force (IETF).
Een voorbeeld van een BXXP-toepassing is instant messaging, het uitwisselen
van boodschappen via programma's als ICQ, AOL Instant Messenger en Odigo.
Instant messaging (IM) is een van de populairste internettoepassingen. Vorig
jaar werden er 750 miljoen berichtjes uitgewisseld tussen gebruikers. Momenteel
bestaat er geen standaard voor instant messaging programma's. De tientallen
miljoen gebruikers van ICQ (net als AOL Instant Messenger eigendom van America
Online) kunnen niet communiceren met vrienden of collega's die MSN Messenger
van Microsoft gebruiken.
Er is veel kritiek op America Online dat met ICQ en AOL Instant Messenger
negentig procent van de IM-markt beheerst. De Federal Communications Commission
(FCC) de Amerikaanse toezichthouder op de telecommunicatiemarkt, onderzoekt
momenteel of er sprake is van een onterecht monopolie.
Vanuit de internetgemeenschap zijn er verschillende protocollen voorgesteld
voor een standaard voor instant messaging waar alle programma's aan moeten
voldoen zodat alle gebruikers met elkaar kunnen praten, ongeacht het merk
software dat ze gebruiken. Een van die standaarden berust op BXXP.
autorisatie
BXXP handelt alle verzoeken tot communicatie tussen de verschillende IM-programma's
af en zorgt voor authenticatie en autorisatie. Authenticatie is nodig om ervoor
te zorgen dat het programma aan de andere kant weet dat ik ook echt ICQ-gebruiker
22277780 ben of mjk@nrc.nl, waarna autorisatie tot het uitwisselen van berichtjes
volgt. Deze peer-to-peer toepassing (van de ene PC naar de andere) maakt BXXP
ook zeer geschikt voor filesharingmethodes zoals Napster en Gnutella, waarbij
gebruikers elkaar toestemming geven data van de harde schijf te halen.
Of BXXP veel gebruikt zal worden is onzeker. Erik Huizer: ''De logica zegt:
Jazeker, want met BXXP bouw je in een handomdraai een internetapplicatie.
De praktijk leert echter dat dit soort initiatieven zelden worden gebruikt.
Ontwerpers van nieuwe protocollen zijn erg eigenwijs en houden van het wiel
opnieuw uitvinden. Tenzij een bedrijf een BXXP-implementatie maakt die zo'n
goede interface heeft dat ook een niet-technicus een protocol kan bouwen (en
ik verwacht niet dat die implementatie mogelijk is), zal de praktijk blijven
overheersen.''
(Verschenen in NRC Handelsblad, 14 oktober 2000)