DPC2007 Case Study Surfnet (Herman Van Dompseler)

31
ch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl SURFnet videotheek Web2.0 met php

description

Dutch PHP Conference 2007

Transcript of DPC2007 Case Study Surfnet (Herman Van Dompseler)

Page 1: 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

Page 2: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 3: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 4: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 5: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 6: DPC2007 Case Study Surfnet (Herman Van Dompseler)

6

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

De uitdaging

Page 7: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 8: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 9: DPC2007 Case Study Surfnet (Herman Van Dompseler)

9

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

Hoge kwaliteit? UITDAGING

Page 10: DPC2007 Case Study Surfnet (Herman Van Dompseler)

10

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

Het logische model UITDAGING

Page 11: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 12: DPC2007 Case Study Surfnet (Herman Van Dompseler)

12

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

Service Oriented Architecture

Page 13: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 14: DPC2007 Case Study Surfnet (Herman Van Dompseler)

14

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

InterfacesSOA

Page 15: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 16: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 17: DPC2007 Case Study Surfnet (Herman Van Dompseler)

17

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

User Generated Content

Page 18: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 19: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 20: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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.

Page 21: DPC2007 Case Study Surfnet (Herman Van Dompseler)

21

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

Rich User Experience

Page 22: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 23: DPC2007 Case Study Surfnet (Herman Van Dompseler)

23

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

Denk in componentenEXPERIENCE

Page 24: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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.

Page 25: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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.

Page 26: DPC2007 Case Study Surfnet (Herman Van Dompseler)

26

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

Web2.0 met php

Page 27: DPC2007 Case Study Surfnet (Herman Van Dompseler)

27

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

Hoever zijn wij? WEB2.0METPHP

Page 28: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 29: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 30: DPC2007 Case Study Surfnet (Herman Van Dompseler)

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

Page 31: DPC2007 Case Study Surfnet (Herman Van Dompseler)

31

Dutch PHP Conference, 16 juni 2007, Amsterdam Herman van Dompseler Hellup.nl

Vragen?

[email protected]