Edge Standaard: dynamische content in cache

Cache-techniek moet zorgen voor een snelle distributie van web content, maar lijkt enkel mogelijk voor statische inhoud. Nochtans wordt de roep om verpersoonlijkte inhoud luider. ESI, Edge Side Includes, moet die twee verzoenen.

Oracle en Akamai hebben het voortouw genomen om een gemeenschappelijke standaard te ontwikkelen voor webinhoud en webtoepassingen. ESI (Edge Side Includes) is een markup-taal die gebruikt wordt om fragmenten van webpagina's te definiëren zodat de pagina's dynamisch samengesteld kunnen worden en gebracht kunnen worden vanuit de uithoeken (edge) van het netwerk. Uniek aan ESI is een mechanisme om de content transparant te beheren doorheen de Application Server oplossingen, doorheen Content Infrastructure en Content Management systemen, en CDN's (Content Delivery Network).  Zo kunnen bedrijven dankzij ESI toepassingen één keer ontwikkelen, en pas op het tijdstip van het in werking stellen van de toepassing beslissen waar die toepassing samengesteld moet worden: op de application server, bij de infrastructuur van de webcontent, bij het beheerssysteem voor die content, of bij het netwerk dat de content aflevert. Op die wijze wordt de toepassing vereenvoudigd, de ontwikkeltijd wordt verkort, en de kosten worden gedrukt.

Op het WereldWijde Web is de tijd van de statische webpagina's voorbij. Hoe langer hoe meer brengen de e-bedrijven content die dynamisch aangemaakt wordt: catalogi van producten, veilingen, beurzen, aandelenkoersen, nieuws, weerberichten. Dit alles moet de klant aantrekken en aan de site binden. Webontwikkelaars gebruiken daar vaak technologieën voor zoals JavaServer Pages (JSP) en Active Server Pages (ASP), voornamelijk omdat het gemakkelijker is om zulke inhoud-rijke websites te ontwerpen en te onderhouden wanneer alle informatie in een database bijgehouden wordt. 

Terwijl dynamisch aangemaakte content voor de eindgebruiker een interessantere ervaring betekent en voor de ontwerper van de toepassing een gemakkelijkere manier van werken is, stelt het de e-bedrijven voor een nieuwe uitdaging: de webpagina's snel brengen. Wanneer het verkeer op de websites toeneemt kan de rekenkracht die nodig is om de gepersonaliseerde pagina's on-the-fly te brengen voor duizenden gebruikers tegelijkertijd voor heel wat vertraging zorgen.

Dynamisch betekent extra belasting
De aanmaak van dynamische content zorgt voor heel wat belasting bij de traditionele website-architectuur . Dit komt omdat dezelfde infrastructuur die gebruikt wordt om de content aan te maken, ook gebruikt wordt om die content af te leveren. Het aanmaken van dynamische content brengt typisch met zich mee: belasting voor het netwerk, wanneer de verzoeken van de gebruikers verstuurd worden naar de juiste softwaremodules die deze verzoeken moeten verwerken; belasting van de processor wanneer deze modules berekenen welke gegevens opgehaald en gepresenteerd moeten worden; en disk I/O wanneer de modules de back-end database doorzoeken. De verzamelde gegevens moeten dan in het juiste formaat gegoten worden en naar de browser gestuurd worden. Kortom: het maken van instant-webpagina's is erg duur in computergebruik. Daarom zien e-bedrijven zich vaak verplicht om miljoenen dollars uit te geven aan hardware, software en diensten om te kunnen voldoen aan de eisen van het steeds maar toenemend aantal gebruikers.


<figuur 1>

ESI brengt oplossing
Er werd dan ook gezocht naar methodes die de beide zaken konden combineren: enerzijds de doeltreffendheid en de rijke ervaring van de site (dynamische content, verpersoonlijking, download snelheid, enz); anderzijds de kostenstructuur van de site (de investeringen nodig om de schaalbaarheid, betrouwbaarheid, prestatie enz van de site te kunnen garanderen)
Om dit probleem op te lossen hebben e-bedrijven een simpele manier nodig om de aflevering van de content te scheiden van de aanmaak ervan. In het bijzonder is er behoefte aan een markup-taal die standaard gebruikt zou worden in de hele industrie en die kleinere elementen van de pagina, de zogenaamde content fragments, zou definiëren. Die fragmenten kunnen dan automatisch samengesteld worden tot complete, gepersonaliseerde webpagina's die snel gebracht kunnen worden. ESI (Edge Side Includes) is die taal. De mogelijkheid om dynamische pagina's samen te stellen uit individuele paginafragmenten betekent dat enkel de fragmenten die niet in cache genomen kunnen worden of de vervallen fragmenten van de originele website opgehaald moeten worden, waardoor het niet meer nodig is om volledige pagina's op te halen. De belasting op de infrastructuur voor de contentgeneratie van die website wordt hierdoor verminderd.


<figuur 2>
 

De ESI markup-taal bevat volgende belangrijke  onderdelen:
- Toevoeging (inclusion): Met ESI kunnen bestanden opgehaald en toegevoegd worden aan een webpagina, waarbij elk bestand onderworpen is aan zijn eigen configuratie en controle, een eigen duur heeft gedurende dewelke hij in cache moet blijven, revalidatie instructies, enz. 
- Voorwaardelijke toevoeging (conditional inclusion): ESI ondersteunt het verwerken van bestanden op basis van Booleaanse vergelijkingen of van de omgeving afhankelijke variabelen
- Omgevingsafhankelijke variabelen (environmental variables): ESI ondersteunt ook het gebruik van een subset standaard CGI omgevingsafhankelijke variabelen zoals informatie in cookies. 
- Uitzondering en behandeling van fouten (exception & error handling): Met ESI kan de programmeur aangeven wat moet gebeuren bij fouten en kan hij alternatieve pagina's opgeven, zoals een standaard html-pagina bepalen die getoond moet worden indien een bepaald document niet beschikbaar zou zijn. 

ESI bevat ook een aantal manieren om de verversing van de objecten in cache te behandelen, inbegrepen de mogelijkheid om vervalprocedures te definiëren. Hiertoe behoort ook een invalidatie-specificatie, waarbij een invalidatie-boodschap gestuurd wordt naar het plaatselijke cache en/of afleveringsnetwerk. Deze boodschap vertelt aan het netwerk dat de metadata overschreven moeten worden die behoren bij bepaalde objecten die op de servers staan op de uithoeken van het netwerk. Zo kunnen de e-bedrijven de geldigheid van veranderlijke informatie onder controle houden.

Industriewijd
Grote bedrijven uit de betrokken industrieën hebben meegewerkt aan de specificatie van ESI, o.a. Akamai, BEA Systems, Circadence, Digital Island, IBM, Interwoven, Oracle en Vignette. Hun voorstel betreft een open taal voor het creëren van een uniform programmeermodel, dat ervoor moet zorgen dat toepassingen van verschillende verkopers die aan ESI beantwoorden met elkaar kunnen samenwerken. Daarenboven hebben Fort Point Partners, kpe, Macromedia, Mirror Image, Open Market en SilverStream ESI erkend als een specificatie die soepelere en goedkopere oplossingen kan brengen voor de klanten van deze bedrijven.

Rob Batchelder, directeur van de researchafdeling bij Gartner, drukt het als volgt uit: "Het brengen van dynamische content vanop de uithoeken van het netwerk is een van de moeilijkere technologische uitdagingen. Het is essentieel dat bedrijven de mogelijkheid krijgen om database en applicatiegegevens te verplaatsen van gecentraliseerde datacentra naar verdeelpunten die dichter bij de eindgebruiker liggen. Wanneer dit mogelijk wordt, zal het leiden tot een verbetering van de prestaties, besparing op de bandbreedte, en een verhoogde efficiëntie."

Ook Digital River staat volledig achter het systeem: "De industrie is klaar voor de invoering van een uniforme methode om zowel de elementen die in cache geplaatst kunnen worden als die waarbij het niet gaat, uit te drukken, samen te stellen, en te valideren. Dankzij de invoering van een gemeenschappelijke, eenvoudige markup-taal kunnen ontwikkelaars webpagina's en toepassingen bouwen in HTML-fragmenten die dan dynamisch geassembleerd kunnen worden tot complete, gepersonaliseerde pagina's. Hiermee kunnen wij onze 9.000 webpagina's gemakkelijker beheren en aanmaken, en heeft onze klant een betere ervaring.  Dankzij ESI zal Digital River statische én dynamische content ofwel plaatselijk kunnen opslaan maar ook ver verwijderd, op de uithoeken van het internet."

Volgens Akamai zal ESI een ware verschuiving veroorzaken in de manier waarop bedrijfstoepassingen geschreven en ingezet worden. Bij Fort Point Partners is men ervan overtuigd dat bedrijven zich bewust zijn dat het vinden van de juiste balans tussen snelle levering van de inhoud, en de verpersoonlijking van die inhoud, essentieel is bij een succesvolle e-verkoop. Willy Chiu, VP van High Volume Websites, IBM Software Group, meent: "E-bedrijven hebben nood aan een eenvoudige, open manier om de levering van webcontent te scheiden van de aanmaak van die content, en tegelijkertijd ook de samenstelling en versnelling van dynamische content aan te pakken. Dankzij ESI, als industriële standaard, zullen e-bedrijven in de toekomst kosten kunnen besparen door te kunnen snoeien in de infrastructuur die nodig is om snelle, schaalbare toepassingen te kunnen brengen." Oracle Corporation zal de cache-mogelijkheden in haar Oracle9i application server aanpassen zodat die ook ESI zal ondersteunen.

Bron: http://www.edge-delivery.org

Network & Telecom juni 2001
 

naar startpagina
 volledige lijst artikels
 andere tech artikels
 disclaimer