May 2011 - posts - Web

Web

May 2011 - posts

Vijf voordelen van Silverlight 5
Vijf voordelen van Silverlight 5

Scott Guthrie kondigde tijdens dag twee van het MIX 2011 event de Silverlight 5 beta al groots aan. Zo noemde hij Hardware Decode, waarmee ook lichtere systemen zoals eenvoudige netbooks HD video kunnen afspelen en werd gedemonstreerd hoe 3D-modellen binnen Silverlight 5 kunnen worden gebruikt. Tijdens ditzelfde event ging Nick Kramer, werkzaam bij het Silverlight team van Microsoft als Senior Program Manager, dieper in op de functionaliteit die we kunnen verwachten als Silverlight 5 wordt gelanceerd. We laten vijf van de features zien die de echte Silverlight ontwikkelaar straks zeker van pas zullen komen.

Vertrouwde applicaties in de browser
Met Silverlight 4 was het, voor een gebruiker, mogelijk om een Silverlight applicatie die in de browser draaide te installeren en deze als lokale applicatie te draaien. Met deze zogenaamde Out-Of-Browser (OOB) functionaliteit krijgt de applicatie extra rechten, zoals toegang tot bepaalde mappen op de lokale harde schijf. Met Silverlight 5 zijn deze extra rechten uitgebreid en is het zelfs mogelijk om vertrouwde applicaties ook binnen de browser te gebruiken. Dit kan door als ontwikkelaar de applicatie digitaal te ondertekenen met een certificaat. Wanneer de netwerkbeheerder dit certificaat als veilig beschouwd, heeft de applicatie vanuit de browser beschikking over functionaliteit die normaal alleen voor lokale applicaties beschikbaar is.

P/Invoke
Platform Invoke of (P/Invoke) bestaat al langer binnen het .NET framework en kan onder andere worden gebruikt voor het aanspreken van de Win32 API. Ook voor (trusted) Silverlight applicaties is het straks dus mogelijk om functies te gebruiken die direct door het besturingssysteem worden aangeboden. Kramer laat in zijn demo zien hoe met P/Invoke Silverlight automatisch een ingeplugde USB-stick kan detecteren.

WebBrowsing binnen Silverlight
Silverlight 5 biedt de mogelijkheid om ook InBrowser een WebBrowser component te gebruiken. Dit is erg eenvoudig wanneer delen van je data in HTML zijn opgemaakt, maar je Silverlight gebruikt voor je totale applicatie. Binnen het WebBrowser component, die in de XAML wordt gedefinieerd, is het voor de gebruiker mogelijk om de opgemaakte HTML te bekijken en bijvoorbeeld hyperlinks te volgen, zoals in een normale webbrowser.

Meerdere Vensters
Met de nieuwe Window-class van Silverlight 5 is het voor Out-Of-Browser applicaties mogelijk om meerdere schermen tegelijk open te hebben staan. Voor ieder venster is het mogelijk om de grootte, positie en venstertitel op te geven.

PivotViewer
Met PivotViewer is het mogelijk om grote datasets overzichtelijk weer te geven om er vervolgens eenvoudig doorheen te navigeren. Met de nieuwe PivotViewer is het nog eenvoudiger om nieuwe data toe te voegen. Daarnaast biedt de PivotViewer de mogelijkheid om binnen een dataoverzicht in te zoomen. Doordat er verschillende XAML views aan een dataobject kunnen worden gekoppeld, is het mogelijk om bij een totaal uitgezoomde weergave slechts de meest belangrijke details te tonen, terwijl bij inzoomen steeds meer specifieke eigenschappen van het object tevoorschijn komen.

Zelf aan de slag
Een complete uitleg van elk van bovenstaande functies is te zien in de presentatie van Nick Kramer op Channel 9. Een aantal functies is al beschikbaar in de huidige Silverlight 5 beta, dus bekijk hier welke en download vervolgens de Silverlight 5 beta en developertools om zelf te starten.

Posted Wednesday, May 25, 2011 11:45 AM door Ruud van Kessel

Video-editing in de browser met de MMP Video Editor
Video-editing in de browser met de MMP Video Editor

Om webvideo kun je uiteraard niet meer heen. De Microsoft Media Platform Video Editor (kortweg MMP Video Editor) is een browsergebaseerde video-editor. De editor biedt ondersteuning voor alle door Silverlight ondersteunde codecs. Met het projectbestand kun je eenvoudig een EDL (Edit Decision List) of een stream starten. Wij duiken de diepte in.

MMP Video Editor heeft een aantal doelen. Allereerst is het bedoeld om videomateriaal te monteren en te publiceren binnen een browseromgeving. Daarnaast biedt het de mogelijkheid om samen te werken aan video’s, dynamische metadata toe te voegen en online te publiceren. De applicatie is volledig gebaseerd op Microsoft Silverlight. MMP Video Editor maakt deel uit van het Microsoft Media Platform. Dit platform is gericht op het verwerken en distribueren van video-content. Binnen het Microsoft Media Platform, waarvan MMP Video Editor deel uitmaakt, kun je als uitgever de volgende stappen doorlopen:

  • Binnen het Microsoft Media Platform kun je bestaand en live videomateriaal encoderen en transcoderen. Er wordt hierbij gebruik gemaakt van H.264- en V-1-codecs.
  • Is het materiaal eenmaal beschikbaar in het juiste formaat, dan kan het worden gedistribueerd. Met de MMP Video Editor is het mogelijk om het beschikbare materiaal te monteren, waarna een EDL of een Smooth Streaming-manifest wordt opgeleverd. Het materiaal zelf kan op verschillende manieren worden verspreid. Allereerst via een traditioneel streamingkanaal, waarbij de gebruiker wacht totdat een deel is gebufferd en de video dan inloopt. Daarnaast kan het materiaal via Smooth Streaming over HTTP worden gestreamd, waarbij rekening wordt gehouden met de snelheid van de verbinding. Binnen het mediaplatform is ook Intelligent Progressive Download beschikbaar: de downloadsnelheid wordt hierbij aangepast op de bitrate van de video, waardoor het voortijdig afbreken van een video tot minder bandbreedte verspilling leidt.
  • Het materiaal kan vervolgens via verschillende players online worden bekeken, waaronder via Silverlight en HTML 5.

Nieuwe functies in versie 2
Terug naar de MMP Video Editor. Deze is alweer enige tijd beschikbaar en stond in eerste instantie bekend als de Silverlight Rough Cut Editor. De ontwikkelingen rondom de MMP Video Editor zijn in volle gang. Op dit moment wordt volop gewerkt aan versie 2 van MMP Video Editor. Tijdens de Mix 2011 werd door het ontwikkelteam al een vooruitblik van de nieuwigheden gegeven. Zo is er hard gewerkt aan ondersteuning van meerdere geluidssporen. Dit betekent dat een montage of live videofeed gebruik kan maken van verschillende geluidsbronnen die door elkaar heenlopen. Verder wordt op het moment van schrijven hard gewerkt aan de implementatie van grafische overlays. Hiermee heb je de mogelijkheid om de video (zowel opgenomen als live-video) te voorzien van vormgeving. Deze vormgeving wordt als extra laag over de videolaag geplaatst. Tot slot zijn er verschillende prototypen gemaakt van video- en audio-overgangen. Deze waren op het moment van schrijven nog in ontwikkeling, maar kunnen wel worden verwacht in versie 2 van MMP Video Editor.

Zelf aan de slag
U kunt zelf aan de slag met de Microsoft Media Platform Video Editor. U vindt de code en nieuwste versie op http://archive.msdn.microsoft.com/VideoEditor. Tijdens de afgelopen Mix 2011 in Las Vegas werd door Jason Suess, die bij Microsoft medeverantwoordelijk is voor de MMP Video Editor, uitgebreid stilgestaan bij de mogelijkheden van de video-editor. Bekijk hier zijn inspirerende presentatie: http://channel9.msdn.com/events/MIX/MIX11/MED05.

Posted Wednesday, May 18, 2011 5:35 PM door Dennis Gandasoebrata

Beheer Smooth Streaming video met de MMP Content Manager
Beheer Smooth Streaming video met de MMP Content Manager

Met Smooth Streaming is het mogelijk om de kwaliteit van een video aan te passen terwijl deze wordt gestreamd. De aangeboden kwaliteit wordt bepaald door de bandbreedte die op dat moment voor de kijker beschikbaar is. Wanneer dus plotseling een huisgenoot intensief het internet gaat gebruiken terwijl jij een Smooth Streaming video kijkt, dan zal jouw videospeler niet gaan bufferen, maar soepel overgaan op een lagere kwaliteit. Dit principe is mogelijk doordat iedere twee seconden aan video wordt aangeboden in verschillende pakketten die in bitrate variëren. Iedere twee seconden wordt dus opnieuw bepaald welke bitrate het beste past bij je huidige verbinding. Dit is een mooie manier om live uitzendingen aan te bieden bij online kijkers en dit wordt nu al gebruikt voor bijvoorbeeld de online sportuitzendingen van de Amerikaanse TV zender NBC. Uiteraard wil je voorkomen dat er tijdens een dergelijke live uitzending voor groot publiek storingen optreden die ervoor zorgen dat de stream niet meer beschikbaar is. Daarom is het handig om meerdere redundante IIS Media Servers op te zetten die zo zijn ingesteld dat bij een storing automatisch wordt overgeschakeld op een back-up stream. Op al deze IIS servers moeten dan wel handmatig de juiste publishingpoints worden geconfigureerd en als je de live uitzending af en toe wilt onderbreken met een reclameboodschap dan zal er ook nog met een asset server moeten worden gecommuniceerd. Om publishingpoints sneller te configureren en het switchen met live en on-demand content te vereenvoudigen heeft Microsoft de Microsoft Media Platform Content Manager ontwikkeld: Een op SharePoint 2010 gebaseerd video management systeem.

Beheren van Assets
Met de MMP Content Manager is het mogelijk om video assets te beheren. Zo is het mogelijk tal van metadata toe te voegen, voorbeelden zijn: Titel, beschrijving, maar ook twitter hashtags of gerelateerde documenten. Omdat het om grote hoeveelheden data gaat staat de video zelf niet in SharePoint, maar slechts een verwijzing naar de daadwerkelijke locatie op een externe media server. Videobestanden die in een bepaalde “watch-folder” op de media server worden gezet, kunnen automatisch worden omgezet naar Smooth Streaming content door middel van de IIS Transform Manager. Daarna biedt de MMP Content Manager de nieuwe assets aan in de “Assets Library”. Er kunnen “Roles” en “Workflows” worden ingesteld zoals we dat van SharePoint gewend zijn, zodat het bewerken en goedkeuren van assets in goede banen kan worden geleid.

Behalve het toevoegen en bewerken van metadata van bestaande video’s is het ook mogelijk om een live uitzending te starten vanuit de MMP Content Manager. Allereerst wordt aangegeven vanaf welke encoder de data binnenkomt, er kunnen namelijk meerdere encoders geconfigureerd zijn, die ieder verschillende video’s encoderen en uitsturen. Wanneer vervolgens op de startknop wordt gedrukt, zal er automatisch een publishing point worden aangemaakt en gestart. Wanneer vervolgens wordt bevestigd dat de uitzending On-Air kan, dan wordt er een XML bestand gepushed naar de player bij de client, die er voor zorgt dat de video ook daadwerkelijk wordt afgespeeld.

Eenvoudig archiefvideo toevoegen
In veel situaties wil je live video afwisselen met al eerder gemaakte opnamen. Denk bijvoorbeeld aan het reclameblok in de rust van een voetbalwedstrijd. Met de MMP Content Manager kun je verschillende videobestanden alvast groeperen tot bijvoorbeeld reclameblokken van verschillende lengtes. Wanneer je in je live uitzending een pauze van 5 minuten verwacht, zoek je vervolgens het reclameblok op met ongeveer die lengte. Deze kan dan direct worden ingestart. De live stream zal op de achtergrond doorlopen, maar de reclamefilmpjes zullen in de player worden getoond. Wanneer het reclameblok is afgelopen, zal automatisch de live video weer te zien zijn.

Zelf aan de slag
De MMP Content Manager zelf is gepresenteerd tijdens de MIX11 en zal zeer binnenkort publiekelijk beschikbaar zijn. Houd hiervoor de Microsoft Media Platform site in te gaten. De beta van de IIS Transform Manager is al wel te downloaden. Er kan dus alvast worden begonnen met aanleggen van een Smooth Streaming video archief.

Posted Wednesday, May 18, 2011 4:08 PM door Ruud van Kessel

Silverlight 5 en het mobiele web tijdens Mix 2011
Silverlight 5 en het mobiele web tijdens Mix 2011

Tijdens de Mix 2011-conferentie, die vorige maand plaatsvond in Las Vegas, was er veel aandacht voor onder andere Silverlight 5 en Windows Phone. Wij waren erbij en geven je de komende tijd een blik in de keuken!

Silverlight 5
Tijdens Mix 2011 vonden twee keynotes plaats. De tweede dag stond in het teken van Silverlight 5 en nieuwe ontwikkelingen op het gebied van Windows Phone en Kinect. Scott Guthri, die bij Microsoft verantwoordelijk is voor het .NET Developer Platform, stond stil bij een aantal hoogtepunten van Silverlight 5. Bij de ontwikkeling van de nieuwste versie van Silverlight is volgens Guthrie veel aandacht besteed aan de hardwaregebaseerde videoafhandeling. In de praktijk betekent dit dat het met Silverlight 5 mogelijk is om HD-video met 1080p af te spelen op netbooks. Daarbij heeft het ontwikkelteam geprobeerd zoveel mogelijk aansluiting te vinden bij de hardwaregebaseerde acceleratie van Internet Explorer 9: Silverlight 5 kan de instructies hiervoor direct aanspreken.

Een ander interessant aspect van Silverlight 5 is TrickPlay. TrickPlay is een technologie waarmee media op verschillende snelheden kan worden afgespeeld. Zo kun je snel door een video spoelen, terwijl de audio ‘verstaanbaar’ blijft. Pitch-control zorgt ervoor dat ook stemmen hoorbaar blijven.

Mobiel web
Ook op het gebied van Windows Phone en het mobiele web wordt er hard aan de weg getimmerd. Joe Belfiore, die bij Microsoft verantwoordelijk is voor Windows Phone, liet weten dat met de “Mango”-update (die later dit jaar wordt verwacht) Internet Explorer 9 op Windows Phone beschikbaar komt. Dit betekent dat het toestel ook ondersteuning voor HTML 5 aan boord krijgt. De integratie gaat ver: de engine die HTML-rendering en JavaScript-verwerking regelt, is identiek aan die op de pc. Voor webontwikkelaars biedt dit uiteraard interessante kansen, en maakt dit het eenvoudiger om mobiele websites beter te laten aansluiten op de pc-versies ervan.

Een mooie extra hierin is de ondersteuning voor achtergrondaudio. Met de HTML5 <audio/>-tag kan er muziek worden afgespeeld op de mobiele telefoon, terwijl er met een andere applicatie wordt gewerkt (bijvoorbeeld het controleren op Facebook-updates). Ook interessant was de snelheidsdemonstratie die met Internet Explorer 9 op Windows Phone werd getoond. Internet Explorer 9 op Windows Phone behaalt een frame-rate van 23 frames per seconde. In dezelfde test behaalde de Nexus S (een Android-toestel) een frame-rate van 11 frames per seconde. De iPhone 4 volgde met een frame-rate van 2 frames per seconde.

Ontwikkeltools voor Windows Phone
Ook voor ontwikkeltools voor Windows Phone was er volop aandacht tijdens de Mix-conferentie. Zo introduceerde Scott Guthrie een aantal aardige tools waarmee je relatief eenvoudig applicaties ontwikkelt voor Windows Phone. Kenmerkend hieraan is dat ze zijn aangepast aan de codenaam ‘Mango’-release. De tools bootsen steeds beter het eigenlijke telefoontoestel na. Allereerst is er de mogelijkheid om locatiebepaling te simuleren. Je kunt de mobiele diensten daarmee aanpassen aan de huidige locatie van het toestel. Je bepaalt ‘handmatig’ (met behulp van een kaart) waar het toestel zich moet bevinden). Ook is er ondersteuning voor de accelerometer (het onderdeel dat de bewegingen van het toestel simuleert). Met behulp van de muisaanwijzer kun je de stand van het toestel aanpassen.

Zelf aan de slag
Uiteraard kun je ook zelf aan de slag met Silverlight 5. De bètaversie van Silverlight 5 vind je via http://www.microsoft.com/silverlight/. Klik op Downloads. Hier vind je de plug-in voor Silverlight, maar ook de ontwikkeltools. Voor Internet Explorer 9 op Windows Phone heb je iets meer geduld nodig: deze wordt verwacht in de “Mango”-update, die waarschijnlijk later dit jaar wordt uitgebracht.

Posted Thursday, May 12, 2011 11:20 AM door Dennis Gandasoebrata

De zoektocht naar een goede hostingpartner
De zoektocht naar een goede hostingpartner

Als webdeveloper kom je vroeg of laat op het punt dat je pagina gehost moeten worden. Wanneer je geen eigen server hebt of deze niet voldoet, dan zal er gezocht moeten worden naar een hostingpartner. Een snelle zoektocht op het web laat zien dat er een oneindige lijst aan hostingpartners bestaat. Knap lastig om daaruit een keuze te maken. Want welke partij moet je kiezen en waar moet je dan op letten? Microsoft selecteerde alvast 3 bekende hostingspartners:

Naam bedrijf: XLS Hosting
Opgericht in: 2006
Voor wie?: Iedereen, van kleine zelfstandige ondernemers tot grote bedrijven
Bekendste klanten: Coca Cola, Eneco, Exact, Spel Games

XLS is het jongste hostingbedrijf uit het rijtje. Een hostingbedrijf dat zich volgens Algemeen Directeur Lennard Zwart onderscheidt door het aanbieden van high availability, support en advies tegen een heel scherpe prijs. Vier jaar geleden bouwde XLS Hosting haar eigen software. “Dit is een groot voordeel, want mocht er een server uitvallen, dan wordt er automatisch binnen enkele seconden over gegaan op een andere machine.” Trots is Zwart ook op het feit dat XLS Hosting markleider in Nederland is op het gebied van het aantal VPS’s (Virtual Private Server). Op dit moment loopt er een speciale actie bij XLS Hosting voor Microsoft georiënteerde developers. Hierbij krijgen ze 6 maanden lang 50% korting op een Windows-VPS. Het Windows OS is dan bovendien geheel gratis.

Naam bedrijf: Argeweb
Opgericht in: 2000
Voor wie?: Iedereen, maar met nadruk op de zakelijke markt
Bekendste klanten: Gemeente Amsterdam, Rijkswaterschap, Agentschap NL

Argeweb is een van de grootste hostingproviders van Nederland met meer dan 121.500 domeinnamen en het beheer van tienduizenden websites. Ook op het gebied van serverhosting en virtualisatie groeit Argeweb enorm. Het succes van Argeweb is volgens Ruben van der Zwan, CTO van Argeweb Managing Services te danken aan de succesvolle relaties die ze met de klanten opgebouwd hebben. “Argeweb is erg flexibel en oplossingsgericht.” Leuk detail: In 2007 is Argeweb Microsoft Gold Certified partner geworden op het gebied van hosting. Dit geeft aan dat Argeweb de kennis in huis heeft voor het opzetten van hostingoplossingen gebaseerd op het platform van Microsoft. Op dit moment loopt er een actie bij Argweb waarbij je gratis 2 maanden lang een Windows VPS kan uitproberen.

Naam bedrijf: Leaseweb
Opgericht in: 1997
Voor wie?: Iedereen, van grote multinationals tot kleinere bedrijven
Bekendste klanten: AFAS, Kelkoo, Rijksmuseum, Wikipedia en Heineken

Met rond de 36.000 fysieke servers verdeeld over 8 datacenters in Nederland, Duitsland, België en de Verenigde Staten is LeaseWeb de  grote jongen onder de hostingpartners. “ We hebben een uitgebreid wereldwijd netwerk met servers in zowel  Europa als Noord-Amerika”, vertelt Ruud Mous, Leaseweb’s Commercieel Directeur.  “Dit biedt ons o.a. de mogelijkheid om complexe website infrastructuren te verdelen over meerdere datacenters.” LeaseWeb levert zijn klanten onder meer dedicated en virtuele servers en maatwerk IT infrastructuur oplossingen voor meer specifieke wensen.  Op dit moment heeft LeaseWeb een speciale actie lopen waarbij je  al voor € 19 per maand beschikt over een eigen virtuele server (Specificaties: 1 Core, 1GB RAM, 60GB Storage en 1TB Dataverkeer), waar o.a. Windows 2008 op gedraaid kan worden. Klik hier om te bestellen.

Posted Tuesday, May 10, 2011 8:00 AM door Ruud van Kessel

Gebruik HTML5 optimaal met SVG
Gebruik HTML5 optimaal met SVG

Nu dat HTML5 steeds dichter bij een officiële standaard komt en deze ondertussen door de meeste browsers wordt ondersteund, krijgen ontwikkelaars meer mogelijkheden om het uiterlijk van hun site vorm te geven. Naast het plaatsen van afbeeldingen, video’s of interactieve elementen door middel van Silverlight- of Flash-Pugins, biedt HTML5 ook de mogelijkheid om grafische elementen te genereren op een canvas. Ook is het mogelijk om met behulp van zogenoemde Scalable Vector Graphics (SVG) grafische elementen in de browser te tonen. Jennifer Yu –Program Manager bij Microsoft - laat in haar presentatie op het MIX11 event zien dat in verschillende gevallen het gebruik van SVG zeker het overwegen waard is.

Wat is SVG?
SVG is een manier om afbeeldingen op te slaan als vectoren binnen XML. De XML source bestaat dan uit een beschrijving van alle vectoren, die samen de afbeelding vormen. Omdat er dus niet met pixels wordt gewerkt maar met een beschrijving op basis waarvan de afbeelding wordt gegenereerd, is het mogelijk om de afbeelding op ieder formaat te tonen zonder dat er kwaliteitsverlies optreedt. Een voorbeeld van een stukje SVG code voor het weergeven van een cirkel ziet er als volgt uit:

<svg width="200" height="100">
<circle cx="50" cy="50" r="45" fill="red"/>
</svg>

Deze regels kunnen gewoon binnen het HTML 5 document worden opgenomen of je kunt de code opslaan als .svg bestand en deze extern inladen als <object> of <img>.

Het ontwerpen van een SVG
Theoretisch is het mogelijk om een complete afbeelding als XML uit te typen zoals in het voorbeeld hierboven. Wanneer je echter met complexere vormen en paden wilt werken, dan is dit bijna niet te doen. Gelukkig zijn er genoeg programma’s die een gemaakte afbeelding kunnen exporteren naar een SVG, bijvoorbeeld met PhotoShop of VisualStudio. Voor de designers onder ons is daarnaast Inkscape een aanrader, een grafische SVG editor die gratis te downloaden is.

Elementen aanpassen zoals je gewend bent
Omdat SVG elementen gezien worden als geldige elementen binnen de HTML5 structuur is het mogelijk deze elementen aan te passen zoals je dit altijd al doet. Door middel van CSS zijn bijvoorbeeld de stijleigenschappen aan te passen. Ook is het mogelijk om met JavaScript bewerkingen op de SVG uit te voeren. Dit kan bijvoorbeeld door aan een SVG element een id attribuut en een onclick attribuut toe te voegen. Dit zou de bijbehorende JavasScript code zijn om een element blauw te kleuren:

document.getElementById(“mijnid”).setAttribute(“fill”, “blue”);

In dit voorbeeld zie je hoe van deze functionaliteit gebruik is gemaakt voor het tonen van een interactieve kaart van Duitsland.

Tekst en SVG
Een van de voordelen van de SVG support binnen HTML5 is dat alle SVG code deel uit maakt van de sourcecode. Dit geldt dus ook voor de tekst die binnen de SVG afbeelding wordt weergegeven. Op deze manier is alle tekst binnen de SVG afbeelding ook daadwerkelijk tekst en dit komt de toegankelijkheid en de zoekmachinevriendelijkheid ten goede. Toch houd je de mogelijkheid om de tekst eindeloos te stijlen. Zo is het mogelijk om gradients op je tekst toe te passen of om je tekst langs een van te voren gedefinieerd pad te laten lopen. Zo haal je meer uit je tekst dan met CSS en HTML alleen.

Bekijk het zelf
Bekijk de presentatie van Jennifer Yu met nog veel meer praktische voorbeelden over het gebruik van SVG op channel 9. Als je wilt zien wat er op het gebied van animatie en SVG allemaal mogelijk is, bekijk dan deze IE9 SVG animatie. Je ziet dan ook dat IE9, vanwege de ingebouwde hardware acceleratie, de animatie lekker soepel afspeelt. Twijfel je of je nu beter een canvas element of SVG kunt gebruiken? Bekijk dan deze zeer interessante post over de verschillen tussen canvas en SVG.

Posted Thursday, May 05, 2011 10:00 AM door Ruud van Kessel

Bouw high performance web applicaties met Windows Azure AppFabric Caching
Bouw high performance web applicaties met Windows Azure AppFabric Caching

Wanneer je een web applicatie wilt bouwen die op een snelle manier, grote hoeveelheden data beschikbaar maakt voor de gebruiker, dan zullen er een aantal uitdagingen zijn waar je tegenaan loopt. Hoe voorkom je bijvoorbeeld vertraging door het herhaaldelijk opvragen van data en houd je de overall performance hoog? En hoe ga je hiermee om als de populariteit van je web applicatie stijgt? Je wilt liever niet voor onverwachte kosten komen te staan vanwege het uitbreiden van je servercapaciteit. Karandeep Anand – Group Program Manager voor de AppFabric divisie binnen het Windows Azure Platform – en Wade Wegner – Technisch Evangelist voor het Windows Azure Platform, gaven tijdens het afgelopen MIX event een presentatie over Windows Azure AppFabric Caching. Hierin gaven zij uitleg en demonstraties hoe AppFabric Caching kan helpen bij bovenstaande uitdagingen. Hieronder zetten we de basispunten nog even op een rij.

Wat is het?
Met Microsoft Azure is het mogelijk om gebouwde web applicaties binnen enkele minuten uit te rollen binnen de “cloud”. Dit wil zeggen dat door het uploaden van je package in de online Azure omgeving, je applicatie automatisch wordt verspreid over de verschillende datacenters van Microsoft. Je hoeft dus geen eigen server meer te beheren en bijvoorbeeld ook load balancing wordt voor je geregeld. Het kan echter zijn dat jouw applicatie met grote hoeveelheden data moet werken, voor bijvoorbeeld het up-to-date houden van gebruikersprofielen of productgegevens. In dat geval is het uitlezen van deze data uit het interne geheugen van een server vele malen sneller dan het ophalen van de data vanaf de harde schijf van de server. De Azure AppFabric Caching functionaliteit maakt het mogelijk om een bepaalde hoeveelheid aan intern geheugen in de cloud te reserveren. De gereserveerde ruimte kan worden gebruikt om data (tijdelijk) in op te slaan en razendsnel beschikbaar te maken wanneer deze wordt opgevraagd.

Hoe werkt het?
Via de Silverlight user interface van AppFabric Caching, die momenteel als testversie voor de community beschikbaar is, kan eenvoudig een namespace met bijbehorende cache worden aangemaakt.

screenshot uit de Azure omgeving met het venster om een nieuwe cache namespace aan te maken

Vervolgens is het zaak dat in Visual Studio de juiste assemblies worden geladen en de instellingen in de web.config file worden aangepast voor het werken met AppFabric Caching. Dit kan in één keer worden gedaan door het installeren van het WindowsAzure.Caching NuGet pakket. In de code kan daarna een DataCachingFactory object worden gecreëerd die de huidige cache, als DataCache object, bevat. Op het DataCache object kunnen Get en Put methoden worden aangeroepen voor respectievelijk het uitlezen van en schrijven naar de cache.

Zelf aan de slag
Het gebruik van de DataCachingFactory, zoals hierboven beschreven, kan in veel gevallen al een behoorlijke performance verbetering opleveren, maar Anand en Wegner gaan in hun presentatie nog een stuk dieper in op de materie. Zo laten ze onder andere de werking van een lokale cache zien en bieden ze een oplossing voor het consistent houden van de data wanneer er wijzigingen optreden. Bekijk daarom de presentatie online bij channel 9.

De AppFabric Caching functionaliteit zal op korte termijn beschikbaar zijn voor commercieel gebruik, maar tot die tijd kan er worden getest via https://portal.appfabriclabs.com.

Posted Monday, May 02, 2011 11:30 AM door Ruud van Kessel