We gebruiken cookies - deze helpen ons om je een betere online-ervaring te bieden.
Als je onze website gebruikt, ga je ermee akkoord dat we cookies opslaan en gebruiken op je toestel.

Wereld »   Nieuws 

Nieuws

2-21-2008 Artikel: Project: Puntnetificatie

Ons grootste project van het jaar wordt het herschrijven van alle pagina's van Hattrick. De site heeft een punt bereikt waarop de verouderde code inefficiënt is geworden, en elke toevoeging maakt het moeilijker om de site volledig te begrijpen en ermee te werken. Bij het herschrijven zullen we een beter webplatform gebruiken waardoor de prestaties zullen verbeteren en het sneller en gemakkelijker wordt om nieuwe dingen te ontwikkelen.

Het minpunt aan dit project is dat we tijdens het proces meer last kunnen hebben van bugs dan normaal. Aangezien we dit project vorig jaar al hebben opgestart, is dat nu al een feit. Sommige bugs zijn echter geen echte bugs, en misschien zullen jullie meer geduld hebben als jullie weten wat de redenen voor de problemen zijn en waarom het project goed is voor Hattrick. Als niet-technicus kan ik zeggen dat het bij mij alleszins hielp, dus ik zal mijn persoonlijke ervaringen delen met jullie.
Mijn collega's op kantoor zijn allemaal heel vriendelijk en lief, maar soms voel ik me een complete buitenstaander. Dit komt omdat zij computerfreaks zijn (in mijn wereld is elke programmeur een freak), en ik dat niet ben. Dat wil ook zeggen dat zij een aparte taal spreken, het 'computerfreaks', en dat is een taal die ik niet versta. Toch gebeurt het ook dat ik eens iets bijleer. Onlangs zijn ze erin geslaagd om een nieuw woord aan mijn vocabularium toe te voegen: 'puntnetificeren'. Ik betwijfel of het een echt woord is (eerlijk gezegd ben ik er vrij zeker van van niet), maar mijn goed opgeleide IT-collega’s hebben het er de hele tijd over, en ze zijn er zo enthousiast over dat je zou kunnen denken dat ze het over de Messias hebben.

Toen ik eens door één van hun dikke boeken bladerde, zag ik dat het eigenlijk .NET is (en .NET'ificeren als afleiding daarvan). Maar in tegenstelling tot hun enthousiasme, zie ik vooral lastige problemen die eraan gekoppeld zijn. Ik weet ook dat ik niet de enige Hattrick-gebruiker ben die de laatste tijd geïrriteerd en gefrustreerd was door de problemen. Wetende dat mijn collega's geen idioten zijn, wist ik dat ze waarschijnlijk gelijk hadden: .NET is iets goed. Maar ik begreep niet waaróm het goed is of waarom wij het nodig hebben. Toen ze me vertelden dat uiteindelijk alles in .NET geschreven zal worden, vond ik dat ik het eens deftig moest bekijken.

ASP en .NET
Toen Hattrick eind 2000 voor de laatste keer herschreven werd, werd elke pagina naar ASP omgezet. Vertaald uit het computerfreaks: ASP (Actieve Serverpagina's) is een platform waarin je webpagina’s bouwt. .NET is wat ze in het computerfreaks een 'framework' of kader noemen. Volgens het woordenboek betekent dat: "een skeletvormige structuur die ontworpen is om iets te ondersteunen of te omsluiten". Een deel van dit kader is ASP.NET, een nieuwere en betere versie van ASP. In ASP staan alle pagina's los van elkaar, terwijl alle pagina's in .NET met elkaar verbonden zijn en samenwerken.

Redenen voor puntnetificatie
M'n collega's hebben gezegd dat het tijd is om onze pagina's te herschrijven. Een deel van de codes is al een paar jaar oud en kan veel efficiënter gemaakt worden. Bovendien is er overal waar een nieuw stuk aan de pagina is toegevoegd gewoon nieuwe code onder gezet, en dat maakt het moeilijker om de pagina's te begrijpen en ermee te werken. Door ze te herschrijven in ASP.NET ('puntnetificeren' in het computerfreaks) zullen de prestaties van de site verbeteren. En belangrijker: we krijgen een standaardplatform waarin we sneller nieuwe dingen kunnen ontwikkelen die er ook nog eens beter zullen uit zien. En dat allemaal met minder werk!

Ze zeggen ook dat het veel leuker is om in .NET te werken: "Werken in ASP is net alsof je dagelijks eindeloze discussies voert over daytraden. Werken in .NET is als overleggen over nieuwe ideeën voor de wedstrijdengine." Daar kan ik weinig tegen inbrengen.

.NET voor Hattrick
Eind 2006 hebben we onze eerste pagina in .NET geschreven. Sindsdien zijn alle nieuwe pagina's in .NET geschreven en hebben we een aantal oude pagina's gepuntnetificeerd. De Jeugdacademie, de wedstrijdpagina en de favorieten zijn voorbeelden van .NET-pagina's. Je kunt gemakkelijk zien welke pagina in .NET staat en welke niet: pagina's waarvan de naam eindigt op '.asp' zijn geschreven in ASP, pagina's in .NET eindigen op '.aspx'.

.NET heeft een oogje op de startpagina
In het computerfreaks is er geen woord voor liefde. Maar .NET is precies verliefd op de startpagina. Ik kan niet meer bijhouden hoeveel keer ik mijn wedstrijdpagina of jeugdploeg wou bekijken, maar werd doorverwezen naar de startpagina. Verrassend genoeg is daar volgens mijn collega's een logische reden voor: jezelf aanmelden op Hattrick doe je in ASP. Op dat moment creëren we ook een nep-login voor je in .NET. Maar omdat het nep is, verliest .NET soms de verbinding. Normaal gezien, als je de verbinding met ASP kwijt bent, zou je een sessietimeout krijgen en opnieuw moeten inloggen, maar nu word je gewoon terugverwezen naar de startpagina omdat je de ASP-verbinding niet verloren bent.

Voordat ik de reden wist, vond ik dit nog veel vervelender dan een gewone timeout. Maar nu vind ik het niet zo erg meer. Uiteraard zullen we ons uiterste best doen om de problemen te minimaliseren. Mettertijd zal het dan ook verbeteren. Maar jammer genoeg zal het nog niet volledig opgelost zijn totdat de hele site omgezet is naar .NET (dat zal waarschijnlijk nog het hele jaar duren, maar vooral tijdens de lente intens zijn).

.NET, de boosdoener?
Het zou gemakkelijk zijn om de puntnetificatie de schuld te geven van alle problemen. Maar zelfs iemand als ik, die geen computerfreaks spreek, begrijpt dat dat niet correct zou zijn en dat het ook niks zou helpen. Hattrick is een omgeving die constant verandert en ontwikkeld wordt. Daardoor is het onvermijdelijk dat we soms prestatieproblemen hebben door slecht werkende hardware of software, of een combinatie van beide. Nu denk ik dat de meeste Hattrick-gebruikers zulke problemen wel aanvaarden, maar een beetje gefrustreerd geraken door het startpaginaprobleem en daarbovenop nog andere gelijkaardige gevallen. Maar als je bent zoals ik, zul je hopelijk iets minder gefrustreerd zijn nu je de reden kent.

't Is kapot...
...is een boodschap die we zelf niks leuker vinden dan jullie, en we zullen ons best doen om dit bericht zo zeldzaam mogelijk te houden. We hebben nu wat structurele veranderingen doorgevoerd aan het systeem, waardoor we beter tegen hoge belasting van de site kunnen, en we de kwaliteit van onze service op dat vlak hoog kunnen houden. De structurele veranderingen hebben er zelfs toe geleid (één van mijn collega's beweert zelfs dat het zo gepland was!) dat er een reserveserver is die gebruikt wordt om de puntnetificatie te testen. Wanneer een pagina gepuntnetificeerd is, laten we onze vrijwillige crewleden ze eerst testen voordat we ze aan iedereen laten zien.

Testen is niet waterdicht
Ik wou dat ik kon zeggen dat testen waterdicht was, maar dat is het niet. Het gebeurt soms dat er een bug door de tests geraakt zonder dat hij ontdekt wordt. Dat komt vaak door verschillende browsers (en uitbreidingen ervan) en doordat problemen zich om één of andere reden alleen voordoen op specifieke tijdstippen/gelegenheden of in een combinatie van veel verschillende scenario's.

Mooie beloftes
Ik ga geen loze beloftes maken waarvan ik weet dat ik ze niet kan nakomen, en ik denk dat mijn collega's het daarmee eens zijn. Het is een feit dat puntnetificatie waarschijnlijk enkele bugs zal veroorzaken. We doen ons uiterste best om ze buiten te houden en zullen snel optreden tegen diegene die zich toch voordoen. Maar ik hoop ook dat jullie er beter mee zullen kunnen leven nu jullie weten wat er gaande is, en waar we uiteindelijk naartoe gaan: een betere en snellere Hattrick-site.
 
Server 070