DPC2007 Case Study Surfnet (Herman Van Dompseler)
-
Upload
dpc -
Category
Technology
-
view
1.000 -
download
1
description
Transcript of DPC2007 Case Study Surfnet (Herman Van Dompseler)
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
SURFnet videotheek
Web2.0 met php
2
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Wie staat er voor jullie?
Herman van Dompseler
Freelance Internet Architect
Veel ervaring met audio en video streaming
Werkzaam bij SURFnet
Hellup.nl
3
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
SURFnetEen hoogwaardig
computernetwerk speciaal voor het hoger onderwijs en
onderzoek in Nederland.
Meer dan 180 aangesloten instellingen:
universiteitenhogescholen
onderzoeksinstituten(wetenschappelijke) bibliotheken
(academische) ziekenhuizen
750.000 studenten en medewerkers
4
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
SURFnet videotheekStreaming video platform voor Hoger onderwijs en onderzoek
1998 A/V hosting dienst2003 SVP 1.02004 SVP 2.0
2005 SN/KN videoplatform2007 VIP
120 secties – 650 gebruikers
20.000 video’s
4 TB aan materiaal
700.000 streams per maand, 2,8 miljoen t/m april
5
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Waar gaat het vandaag over?
De uitdaging
Service oriented architecture
User generated content
Rich user experience
Web2.0 met php
6
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
De uitdaging
7
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Wens
VIP = YouTube +
VP-X = Een platform waar meerdere applicaties gebruik van maken
Betrouwbaar, stabiel, veel potentiele gebruikers, …
UITDAGING
8
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
YouTube +Afscherming van video’s met A-select
Gericht op onderwijs en onderzoek (incl Academia)
Combinatie en integratie met andere SURFnet eindgebruikersdiensten
Beter zoeken en vinden
Streamen en downloaden
Hoge kwaliteit (HD) en multiformaat (wmv, mpeg4, flash)
UITDAGING
9
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Hoge kwaliteit? UITDAGING
10
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Het logische model UITDAGING
11
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
PlatformenFrontend
Microsoft Sharepoint vanwege integratie met andere SURFnet diensten
ApplicatieLinux, PHP en Mysql
Video databaseLinux, PHP en Mysql
FFMPEG voor genereren van flash preview
Streaming componentenApple Podcast server met Mac OS X voor streaming workflow
Streaming servers van diverse partijen voor afspelen in native format
UITDAGING
12
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Service Oriented Architecture
13
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
ArchitectuurSOA
VIP nKVPApps van derden
VP-X
Presentatielaag
Business logica
Webservices
Componenten
Data
5
4
3
2
1
14
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
InterfacesSOA
15
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
1. HTML interface
(Tussen presentatie en logica laag)
De presentatie blijft eenvoudig, geeft alleen vorm
Snel ontwikkelen door duidelijke afspraak
Snel in gebruik, geen xml translatie op client
Logica laag is leidend en verantwoordelijk voor componenten en kan nu ook de werking
vastleggen
SOA
16
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
2. XML interface
(Tussen logica en webservice laag)
REST
Losse koppeling
Webservice laag hergebruiken
Componenten in webservice laag uitwisselbaar
‘Internet als een platform’
SOA
17
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
User Generated Content
18
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
De gebruiker maakt de data
Wikipedia
Blogs
Foto’s en video
Reviews, rating en tagging
USERCONTENT
19
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Issue: identificeer de gebruiker
Single Sign On met a-selectAanmelden met instellingsaccount
Autorisatie met a-select attributenAfschermen van video op email adres ‘@uva.nl’
(kijk ook eens naar OpenId / Identity 2.0)
USERCONTENT
20
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Issue: gedistribueerde dataTagging en reviews
in de applicatie
Video data in de database achter de webservices
USERCONTENT
Zoeken naar een video met ‘titel’ EN ‘tag’ is niet triviaal
Wij kozen ervoor om de tags naar de webservices te kopieren en al het zoeken door mysql te laten doen.
21
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Rich User Experience
22
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
AJAX: webdesign stijl
Javascript
XmlHTTPRequest
Zorg ervoor dat de user het gevoel heeft een desktop applicatie te bedienen in plaats van een website. Onderdelen van een pagina verversen ipv. hele pagina’s.
Libraries: prototype.js
EXPERIENCE
23
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Denk in componentenEXPERIENCE
24
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Issue: upload formulier
Een component verversen kan met een GET of POST request met
‘XmlHttpRequest’.
Een SUBMIT van een file kan dit niet en moet over een ‘gewone’ http
call. Dit betekent een nieuwe webpagina.
EXPERIENCE
Wil je toch alleen een component updaten?
1. Submit de file naar een 2. niet zichtbaar iframe. Verander tergelijkertijd de <div> van
het formulier met een mooie animatie.3. Bij ‘onload’ van het iframe verander je de
<div> van de animatie met een bedank pagina.
25
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Issue: cross domainIn de architectuur zijn meerdere systemen die door meerdere partijen worden ontwikkeld op
meerdere platformen en meerdere locaties.
EXPERIENCE
Oplossing: gebruik een proxy.
Je kan niet op een webpagina content
tonen van verschillende domeinen en
vervolgens tussen componenten
communiceren.
26
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Web2.0 met php
27
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Hoever zijn wij? WEB2.0METPHP
28
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Wat doen anderen?
Flickr Delicious Hellup.nl Hyves last.fm facebook
Tagmos DIGG
WEB2.0METPHP
29
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Vind antwoord op je vraag
Persoonlijk web2.0 experiment
Tagging met library: freetag
Yahoo answers
WEB2.0METPHP
30
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Waar rekening mee houdenWeb 2.0 is geen product maken, maar een service bieden aan
eindgebruikers
Zoek eenvoud in de oplossingWerk in componenten
Losse koppeling met simpele webservicesOpen api’s / interfaces, laat andere je data (her)gebruiken
Samenwerken met andere partijen
Diensten vereisen constante verandering, dan is een scripting taal ideaal in gebruik: denk aan perl, python, ruby en PHP!
Betrek gebruikers bij de dienst / de ontwikkelingKorte ontwikkel iteraties
Vaak releasen
WEB2.0METPHP
31
Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl
Vragen?