< Terug naar vorige pagina
Project
Een Uniform Programmeermodel voor Rijke Internettoepassingen (IWT606)
Rijke internettoepassingen zijn bezig aan een opmars, doordat recente evoluties in browsertechnologie toelaten om interactievere en rijkere toepassingen te schrijven. Deze rijke toepassingen doen het onderscheid tussen de client (de browser) en de server vervagen, doordat de client steeds meer aan belang wint. De programmeertechnologie voor internettoepassingen gaat echter nog steeds uit van het klassieke three tier model, waarbij een toepassing is opgedeeld in client, server en database. Dit maakt het ontwikkelen van rijke toepassingen een complexe zaak, aangezien de applicatie een combinatie is van verschillende technologieen, elk voor een andere tier. Eerst en vooral dwingen deze technologieen de programmeur om een statische opdeling te maken tussen client en server, wat het moeilijk maakt om internettoepassingen te ontwikkelen die een ander distributiemodel volgen. Ten tweede, hebben deze verschillende programmeertechnologieën elk een andere representatie van de data, waardoor de programmeur manueel deze datamodellen moet overbruggen. Tenslotte, hebben deze rijke internettoepassingen steeds meer gerepliceerde data nodig, zodat de data steeds snel beschikbaar is voor de client, ook wanneer er geen verbinding met de server is. Hierdoor zit de data verspreid over het distributiemodel en moet de toepassing garanderen dat de data steeds consistent blijft. Strategieën om data te repliceren en consistent te houden, worden vooralsnog niet aangeboden door mainstream webtechnologie. Het probleem dat we aankaarten is het feit dat de programmeertechnologie niet voorzien is op rijke internettoepassingen, wat leidt tot complexe oplossingen die slecht onderhoudbaar zijn en subtopimaal presteren. Het doel van dit onderzoek is het opstellen van een uniform programmeermodel voor rijke internettoepassingen. Hierbij heeft het model drie kerneigenschappen, die elk een van de reeds opgesomde problemen oplossen. Zo zal het model de applicatielogica loskoppelen van het distributiemodel, waardoor de programmeur
tierless code zal schrijven, terwijl het model de code verdeelt over de lagen van de webtoepassing. Daarnaast wordt de data uniform gerepresenteerd, zodat de programmeur niet langer manueel verschillende representaties moet synchroniseren. Het programmeermodel voorziet ook replicatie- en consistentiestrategieën zodat de data voor andere knopen in het netwerk snel en oine beschikbaar is. Dit programmeermodel zal leiden tot een raamwerk dat aan de kerneigenschappen van het model voldoet, waarbij we niet blind zijn voor de state of the art technologieen en we meer concreet kijken naar JavaScript, dat uitgegroeid is tot een performant platform. Dit onderzoek zal zowel een programmeermodel als raamwerk opstellen voor rijke internettoepassingen, waarbij het raamwerk als validatie dient voor het programmeermodel. Hierbij vallen we voor het raamwerk terug op bestaande state of the art webtechnologie, en meer bepaald JavaScript. De recente reflectie API voor JavaScript stelt ons in staat om de taal op een elegante manier uit te breiden.
tierless code zal schrijven, terwijl het model de code verdeelt over de lagen van de webtoepassing. Daarnaast wordt de data uniform gerepresenteerd, zodat de programmeur niet langer manueel verschillende representaties moet synchroniseren. Het programmeermodel voorziet ook replicatie- en consistentiestrategieën zodat de data voor andere knopen in het netwerk snel en oine beschikbaar is. Dit programmeermodel zal leiden tot een raamwerk dat aan de kerneigenschappen van het model voldoet, waarbij we niet blind zijn voor de state of the art technologieen en we meer concreet kijken naar JavaScript, dat uitgegroeid is tot een performant platform. Dit onderzoek zal zowel een programmeermodel als raamwerk opstellen voor rijke internettoepassingen, waarbij het raamwerk als validatie dient voor het programmeermodel. Hierbij vallen we voor het raamwerk terug op bestaande state of the art webtechnologie, en meer bepaald JavaScript. De recente reflectie API voor JavaScript stelt ons in staat om de taal op een elegante manier uit te breiden.
Datum:1 jan 2013 → 31 dec 2016
Trefwoorden:Databases, Evolution of language, Programming languages, Mobile Computing, Artificial Intelligence, Serious games, Web systems, Software agents
Disciplines:Programmeertalen en -technologieën, Toegepaste wiskunde