26.02.2014 Aufrufe

Internet Magazin Die Reise des Kunden (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

5/13<br />

KNOWHOW FÜR W EB-PROFIS<br />

€ 4,50<br />

Österreich € 5,10<br />

BeNeLux € 5,10<br />

Italien € 6,00<br />

Spanien € 6,00<br />

Schweiz sfr 9,00<br />

Griechenland € 7,00<br />

www.internet-magazin.de<br />

WEBENTWICKLUNG<br />

HTML5 statt Flash<br />

So geht's: Videos per HTML5<br />

einbauen und wiedergeben<br />

Website-Tuning<br />

Performance-Optimierung<br />

für Ihre Website<br />

Widget-<br />

Programmierung<br />

Android-Widgets selbst gemacht<br />

Compass CSS<br />

Perfekte Code-Struktur mit<br />

dem Turbo-Framework<br />

<strong>Die</strong> <strong>Reise</strong><br />

<strong>des</strong> <strong>Kunden</strong><br />

Präzises Käufer-Targeting für Online-Shops<br />

Kaufentscheidungen effektiv beeinflussen<br />

Strategisch werben<br />

WEBBUSINESS<br />

Logistik für den<br />

E-Commerce<br />

So finden Sie den passenden<br />

Logistiker für Ihr Business<br />

Google Rich Snippets<br />

Wie Sie mit Googles intelligenter<br />

<strong>Vorschau</strong> Ihre Klickrate steigern


1&1 DYNAMIC<br />

CLOUD SERVER<br />

1&1 Dynamic Cloud Server<br />

Ob als Web-, Datei-, Applikations- oder<br />

Business-Server. Nutzen Sie maximale<br />

Flexibilität mit voller Kostenkontrolle!<br />

■ Basiskonfiguration: 1 CPU, 1 GB RAM,<br />

100 GB Festplatte<br />

■ Unlimited Traffic mit 100 Mbit/s Bandbreite<br />

ohne Zusatzkosten und ohne Drosselung<br />

■ Mehr Sicherheit durch externe IP-Firewall<br />

(Cisco basiert)<br />

■ Freie Wahl aus CentOS, Debian, Ubuntu,<br />

openSUSE oder Windows (optional)<br />

■ Nur bei 1&1: Optional SUSE<br />

Linux Enterprise Server<br />

■ Nur bei 1&1: Server-Management<br />

und -Monitoring per Mobile App<br />

■ NEU! 1&1 Snapshot: Definieren<br />

Sie einfach einen Wiederherstellungszeitpunkt<br />

für Ihren Server.<br />

■ 24/7 Service und Support durch<br />

1&1 Server Expertenteam.<br />

AKTION NUR BIS 30.04.13<br />

0,– € *<br />

39, 99<br />

Aktionspreis<br />

für 3 Monate.*<br />

€/Monat*<br />

VOLLER ROOT-ZUGRIFF<br />

Komfort und Funktionsumfang eines Root<br />

Servers, mit dedizierten Ressourcen.<br />

HÖCHSTE FLEXIBILITÄT<br />

CPU, RAM und Festplattenspeicher<br />

unabhängig voneinander zubuchbar.<br />

Per Mausklick bis zu 99 virtuelle<br />

Maschinen zubuchbar–ohne Migration!<br />

VOLLE KOSTENKONTROLLE<br />

Absolute Kostentransparenz durch stundengenaue<br />

Abrechnung. Parallels ® Plesk Panel 11<br />

inklusive –ohne Domainbegrenzung.<br />

AUSFALLSICHER<br />

Redundant gespiegelte Speicher- und<br />

Recheneinheiten schützen Ihren Cloud-<br />

Server automatisch vor Ausfällen.<br />

0 26 02 / 96 91<br />

0800 / 100 668<br />

1und1.info<br />

* 1&1 Dynamic Cloud Server in den ersten 3 Monaten 0,– €/Monat, danach 39,99 €/Monat in der Basiskonfiguration. Performance Features für 0,01 €/Stunde und Einheit zubuchbar.<br />

Einrichtungsgebühr 39,– €. 12 Monate Min<strong>des</strong>tvertragslaufzeit. Preise inkl. MwSt.


EDITORIAL<br />

VERLOST<br />

Erfolgreiche Websites<br />

Schnell genug<br />

gibt's nicht!<br />

Wer eine eigene Website betreibt, kennt das Problem: Ohne<br />

Vorwarnung geht die Geschwindigkeit scheinbar grundlos in<br />

den Keller, obwohl gestern noch alles schnell und problemlos<br />

lief. <strong>Die</strong> Besucher sind genervt und kehren Ihrer Site den Rücken<br />

– mit kaum absehbaren Folgen. Leider ist die Fehlersuche<br />

zumeist äußerst mühsam und unter Umständen durchaus langwierig.<br />

Liegt es an der Datenbank, am Frontend oder hakt es<br />

im Backend? Unser Artikel ab Seite 44 hilft Ihnen bei der Suche<br />

nach Engpässen und verrät, wie Sie diesen in Zukunft erfolgreich<br />

aus dem Weg gehen und die Performance Ihrer Website<br />

wirkungsvoll optimieren.<br />

<strong>Die</strong> Customer Journey, zu deutsch „<strong>Reise</strong> <strong>des</strong> <strong>Kunden</strong>“, ist<br />

ein Begriff aus dem Marketing. Er beschreibt den Entscheidungsprozess<br />

eines <strong>Kunden</strong> von der Inspiration bis hin zum<br />

eigentlichen Kauf eines Produkts. Was es damit letztlich genau<br />

auf sich hat und wieso diese „<strong>Kunden</strong>reise“ auch für Ihren<br />

Online-Shop von größter Bedeutung ist, verrät Ihnen unser<br />

spannender Artikel ab Seite 52.<br />

Viel Spaß beim Lesen dieser Ausgabe wünscht<br />

Vielleicht haben Sie sich auch schon einmal<br />

gefragt, weshalb manche Websites<br />

erfolgreich sind und andere nicht.<br />

Wie gestaltet man einen Auftritt im<br />

Web, der gefunden und wahrgenommen<br />

und an den richtigen Stellen<br />

beworben wird? Suchmaschinenoptimierung,<br />

Usability, Online-Marketing und Nutzung von<br />

Social Media sind die vier großen Themenkomplexe,<br />

wenn es darum geht, mehr Besucher auf<br />

die eigene Website zu locken und mehr Traffic<br />

beziehungsweise Umsatz zu generieren. Das<br />

Buch „Erfolgreiche Websites” (Galileo Computing,<br />

ISBN 978-3-8362-1871-9, 34,90 Euro)<br />

gibt Antworten auf die großen Fragen der Verbesserung<br />

<strong>des</strong> eigenen Webauftritts.<br />

Sie haben eine gute Idee für ein Spiel<br />

und möchten wissen, wie Sie es mit<br />

HTML5 umsetzen? Jacob Seidelin zeigt<br />

Ihnen an einem typischen Puzzlespiel,<br />

was Sie wissen müssen: Vom Zeichnen<br />

<strong>des</strong> Spielfelds über Soundeffekte und Animationen<br />

bis zur Multiplayer-Unterstützung. <strong>Die</strong><br />

erforderlichen Grundlagen lernen Sie dabei nach<br />

und nach – ein paar Vorkenntnisse in den Webtechnologien<br />

und Javascript reichen aus, damit<br />

Sie schon bald Ihre eigenen Spiele entwickeln<br />

werden! <strong>Die</strong>ses Buch <strong>des</strong> Wrox-Verlages zeigt<br />

Ihnen ausführlich den Weg von der Spielidee<br />

zum Grundgerüst, wie Sie Browserunterstützung<br />

mit Modernizr sicherstellen und Native Apps mit<br />

PhoneGap erzeugen.<br />

Stefan Schasche<br />

Projektleiter<br />

sschasche@wekanet.de<br />

Machen Sie mit bei unserer Verlosung und<br />

gewinnen Sie unter<br />

www.internet-magazin.de/verlosung<br />

www.internet-magazin.de 3


SERVICE | Inhalt<br />

5/13<br />

Der Turbo fürs Stylesheet<br />

Compass basiert auf dem CSS-Präprozessor Sass und erleichtert das<br />

rasche Prototyping sowie die Weitergabe einzelner Komponenten als<br />

Compass-Plug-ins. Im Artikel erfahren Sie, wie Sie sich eine Compass-<br />

Umgebung einrichten und mit Compass arbeiten.<br />

S. 20<br />

Videos mit HTML5<br />

Ein Browser benötigen zur Wiedergabe<br />

von Videos künftig keinen<br />

Player mehr. Dank HTML5 werden<br />

Videos ohne Erweiterung direkt im<br />

Browser dargestellt.<br />

S. 26<br />

AKTUE LLE S<br />

News & Trends . . . . . . . . . . . . . . 6<br />

Trackback . . . . . . . . . . . . . . . . 18<br />

Spannende, interessante und witzige Fundstücke<br />

aus dem Web<br />

SPECIAL<br />

Compass CSS . . . . . . . . . . . . . . 20<br />

Der Turbo fürs Stylesheet<br />

W E BDE S I GN<br />

Videos mit HTML5 abspielen . . . 26<br />

Mit HTML5 Videos im Browser abspielen<br />

Rapid Responsive Prototyping . . 30<br />

Centurion: Ein Framework fürs Prototyping<br />

Googles intelligente <strong>Vorschau</strong> . . 34<br />

Google Rich Snippets optimal nutzen<br />

WEB E NTWICKLUNG<br />

XDEV-Framework intern . . . . . . . 37<br />

Entwicklung von Datenbankanwendungen<br />

Automatisieren mit Yeoman . . . 40<br />

Werkzeuge zur einfachen App-Erstellung<br />

Website-Tuning . . . . . . . . . . . . 44<br />

So optimieren Sie die Geschwindigkeit<br />

Alles selbst gemacht . . . . . . . . . 48<br />

Programmierung von Android-Widgets<br />

WEBBUSI N E SS<br />

<strong>Die</strong> <strong>Reise</strong> <strong>des</strong> <strong>Kunden</strong> . . . . . . . . 52<br />

Werbemaßnahmen präzise ausrichten<br />

Logistik im E-Commerce . . . . . . 58<br />

Den richtigen Logistiker finden<br />

Provider-Porträt . . . . . . . . . . . . 63<br />

Mittwald<br />

vServer im Wandel . . . . . . . . . . 64<br />

Aktuelle vServer-Angebote im Überblick<br />

4 0513 internet magazin


Inhalt | SERVICE<br />

Googles intelligente<br />

<strong>Vorschau</strong><br />

Googles Suchergebnisse werden<br />

dank der Rich Snippets informativer<br />

und emotional ansprechender. Doch<br />

was kann man mit der schnellen<br />

<strong>Vorschau</strong> noch alles anstellen und<br />

für wen lohnt sich der Einsatz<br />

dieser Technologie?<br />

S. 34<br />

Customer Journey<br />

Workshop<br />

<strong>Kunden</strong> wählen von der Inspiration<br />

bis zum Produktkauf sehr unterschiedliche<br />

Wege. Sind diese unbekannt,<br />

bleibt jede Werbemaßnahme<br />

allgemein und oberflächlich. Da ist<br />

präzises Targeting angesagt.<br />

S. 52<br />

Website-Tuning<br />

Welches ist der richtige Ansatzpunkt<br />

zur Performance-Optimierung<br />

einer Website? Hapert es am Frontend<br />

oder zwickt es doch eher in<br />

der Datenbank? In diesem Artikel<br />

finden Sie die Engpässe zielsicher<br />

und erfahren anhand zahlreicher<br />

Tipps, wie Sie die Geschwindigkeit<br />

Ihrer Website optimieren können.<br />

S. 44<br />

T I PPS & TRICKS<br />

Online-Recht. ...........70<br />

• Urheberrecht in der Wolke<br />

Maria DB. ..............72<br />

• Umsatteln auf die neue Datenbank<br />

Python . . . . . . . . . . . . . . . . 73<br />

• Applikationsleistung analysieren<br />

• Probleme mit virtualenv<br />

PHP ..................73<br />

• Eckdaten einer Videodatei ermitteln<br />

Cloudfront .............74<br />

• Videodistribution streamt nicht<br />

• Fehlerhafte Zugriffsrechte<br />

Logistik im<br />

E-Commerce<br />

Für den Erfolg eines Online-Shops<br />

sind zahlreiche Faktoren verantwortlich.<br />

Neben der ganz offensichtlichen<br />

Produktvielfalt und einer<br />

ansprechenden Darstellung <strong>des</strong><br />

Warensortiments gehören dazu auch<br />

die Prozesse rund um die Logistik.<br />

S. 58<br />

AWS ..................76<br />

• EC2-Instanzen reservieren<br />

• Weiterverkauf von Instanzen<br />

PHP, AWS ..............77<br />

• Skriptgesteuerte Streaming-URLs<br />

S ERVICE<br />

Editorial . . . . . . . . . . . . . . . . . 3<br />

Branchenverzeichnis . . . . . . . 79<br />

Impressum . . . . . . . . . . . . . . 82<br />

<strong>Vorschau</strong> . . . . . . . . . . . . . . . . 82<br />

www.internet-magazin.de 5


AKTUELLES | News<br />

Cloud Computing<br />

Riesiges Wachstum<br />

Der Markt für Cloud Computing<br />

wächst in Deutschland im Jahr 2013<br />

voraussichtlich um 47 Prozent auf<br />

7,8 Milliarden Euro. Das berichtet<br />

der Hightech-Verband Bitkom auf<br />

Basis aktueller Prognosen der Experton<br />

Group. Danach entfällt mit<br />

4,6 Milliarden Euro der Großteil <strong>des</strong><br />

Marktes auf Cloud-<strong>Die</strong>nste für Unternehmen.<br />

Das Wachstum liegt in<br />

diesem Segment bei 53 Prozent. Der<br />

Umsatz mit Cloud-Services für Privatkunden<br />

steigt im laufenden Jahr<br />

um 39 Prozent auf 3,2 Milliarden<br />

Euro. Nach den Ergebnissen <strong>des</strong><br />

„Cloud Monitors 2013“ von<br />

Bitkom und der Wirtschaftsprüfungs-<br />

und Beratungsgesellschaft<br />

Kpmg nutzten<br />

Ende <strong>des</strong> Jahres 2012 in<br />

Deutschland 37 Prozent<br />

aller Unternehmen Cloud<br />

Computing. Im Jahr zuvor<br />

waren es erst rund 28 Prozent. <strong>Die</strong><br />

wichtigste Anforderung der Nutzer<br />

an die Cloud-Service-Provider ist<br />

für drei Viertel der Befragten die<br />

Integrationsfähigkeit der eigenen<br />

IT-Lösungen in das Cloud-Angebot.<br />

Zwei Drittel der Befragten fordern,<br />

dass der Anbieter sein Rechenzentrum<br />

in Deutschland hat. Wichtig<br />

sei vor allem, dass Cloud-Lösungen<br />

sicher sind und bei der Verarbeitung<br />

personenbezogener Daten der Datenschutz<br />

gewährleistet wird.<br />

www.bitkom.org<br />

Mehr Engagement<br />

Verlegerverbände appellieren<br />

an EU-Institutionen<br />

<strong>Die</strong> deutschsprachigen Verlegerverbände haben heute<br />

in Wien in einer gemeinsamen Erklärung die Europäische<br />

Kommission, den Rat und das Europäische<br />

Parlament aufgefordert, wesentliche medienpolitische<br />

Vorhaben entschiedener voranzutreiben.<br />

Dazu haben die<br />

deutschen, schweizerischen,<br />

luxemburgischen und österreichischen<br />

Verlagsvertreter<br />

einen Forderungskatalog mit<br />

fünf Eckpunkten vorgelegt.<br />

Im Einzelnen forderten die<br />

Verlegerverbände, den Mehrwertsteuersatz<br />

auf Online-<br />

Zeitungsausgaben zu senken, die Medienkompetenz<br />

von Kindern und Jugendlichen zu stärken, die Online-Aktivitäten<br />

<strong>des</strong> öffentlich-rechtlichen Rundfunks<br />

kritisch zu prüfen, Leistungsschutzrechte für Presseverlage<br />

einzuräumen und jüngst bekannt gewordenen<br />

Plänen, eine europäische Medienaufsicht einzuführen,<br />

eine klare Absage zu erteilen.<br />

www.bdzv.de<br />

Telekommunikation<br />

Netzausbau hat Priorität<br />

<strong>Die</strong> Nachfrage nach großen Bandbreiten steigt durch den<br />

zunehmenden Konsum von Videos über das <strong>Internet</strong>, die<br />

Verwendung datenintensiver Apps und den Siegeszug<br />

<strong>des</strong> Cloud Computing. <strong>Die</strong> großen Mobilfunkunternehmen<br />

stellen <strong>des</strong>wegen ihre UMTS- und HSPA-Netze auf<br />

die leistungsfähigere LTE-Technologie um. Auch Festnetze<br />

mit hohen Datenraten, wie Glasfaser, VDSL und das vom<br />

klassischen Kabelfernsehen bekannte Koaxialnetz, sollen<br />

weiter wachsen. Rund ein Viertel ihrer Umsätze wollen<br />

deutsche Telekommunikationsunternehmen in die Infrastruktur<br />

investieren.<br />

Den aufwändigen Ausbau der Hochgeschwindigkeitsnetze<br />

rentabel zu finanzieren wird aber immer schwieriger. <strong>Die</strong>ser<br />

Herausforderung begegnen die Netzbetreiber mit unterschiedlichen<br />

Strategien, insbesondere durch brancheninterne<br />

und branchenübergreifende Kooperationen. Um die<br />

Einnahmenseite zu verbessern, vertreiben einige Festnetzund<br />

Mobilfunkanbieter zum Beispiel ihre Produkte gemeinsam<br />

unter der Marke eines Partners. Um auf der Ausgabenseite<br />

Kosten zu sparen, wollen vor allem regionale<br />

Telekommunikationsunternehmen die Zusammenarbeit<br />

mit Energie- und Wasserversorgern weiter verstärken.<br />

www.steria.com<br />

6 0513 internet magazin


Hetzner Online unterstützt mit der<br />

Verwendung von 100% regenerativem<br />

Strom aktiv den Umweltschutz.<br />

Entscheiden Sie sich gemeinsam<br />

mit uns für eine saubere Zukunft.


AKTUELLES | News<br />

Strato<br />

Cloud-Speicher um Webgalerie erweitert<br />

Strato hat eine neue Funktion namens<br />

Share Gallery in seinen Online-Speicher<br />

HiDrive integriert. Mit<br />

der Share Gallery können Nutzer direkt<br />

im Online-Dateimanager<br />

gespeicherte<br />

Bilder markieren<br />

und zu persönlichen<br />

Webalben zusammenstellen.<br />

Bilder aus Facebook<br />

oder von der lokalen Festplatte <strong>des</strong><br />

PC oder Mac lassen sich ebenfalls<br />

in diese Alben importieren. <strong>Die</strong> Zahl<br />

der Alben, die erstellt werden können,<br />

ist unbegrenzt und die Anzahl<br />

der Bilder darin ist von der Größe<br />

<strong>des</strong> jeweiligen Online-Speichers<br />

Modern.IE<br />

Kompatibilität testen<br />

Microsoft bietet jetzt kostenlose Tools, mit denen jeder<br />

Webentwickler seine online gestellte Website auf<br />

Kompatibilitätsprobleme<br />

prüfen kann.<br />

Im Mittelpunkt der<br />

Überprüfung steht<br />

natürlich der <strong>Internet</strong><br />

Explorer, der insbesondere<br />

bei älteren<br />

Versionen oft zu unerwarteten<br />

Ergebnissen<br />

bei der Darstellung der eigenen Site führt. Aber<br />

auch die Kompatibilität mit anderen Browsern wird<br />

getestet. Zudem macht das Tool auch Verbesserungsvorschläge<br />

zu den neuen Features von Windows 8 wie<br />

zum Beispiel der Touchsteuerung. Zudem kann jeder,<br />

der über Modern.IE BrowserStack aufruft, diesen Service<br />

drei Monate kostenlos testen. Mit BrowserStack<br />

können Entwickler umfangreiche Browsertests durchführen<br />

und verschiedenste Betriebssysteme (Windows,<br />

Mac, iOS, Android) emulieren.<br />

www.modern.ie<br />

abhängig. Je<strong>des</strong> Album kann mit anderen<br />

geteilt werden; direkt aus den<br />

Alben heraus können Nutzer eine<br />

Facebook-Nachricht schreiben und<br />

auswählen, wo der<br />

Albumlink gepostet<br />

werden soll.<br />

Damit nicht jeder<br />

alle Fotos sehen<br />

kann, können HiDrive-Nutzer die<br />

Sichtbarkeit ihrer Alben einschränken.<br />

Wird für ein Album die Erlaubnis<br />

zum Download erteilt, können<br />

die Bilder von anderen in Originalauflösung<br />

heruntergeladen werden.<br />

www.strato.de/online-speicher/<br />

sharegallery<br />

HTML 5 Spiele<br />

Construct 2<br />

Game Jam<br />

<strong>Die</strong> Community-Seite Newsground<br />

veranstaltet einen Game<br />

Jam. Das Thema <strong>des</strong> Jams ist „Touch“, also die Optimierung<br />

der Steuerung für Mobilgeräte. <strong>Die</strong> Spiele<br />

werden mit dem HTML5-Game-Editor Construct<br />

2 erstellt. Construct 2 richtet sich in erster Linie an<br />

Nichtprogrammierer und arbeitet mit Drag-und-Drop<br />

und Event-Listener-Funktionen. Construct 2 ist in drei<br />

verschiedenen Versionen erhältlich: <strong>Die</strong> Free Edition<br />

ist kostenlos, enthält aber nicht alle Funktionen und<br />

ist in der die Komplexität der zu erstellenden Projekte<br />

in puncto Events, Layer und Effekte beschränkt. <strong>Die</strong><br />

Personal Edition verfügt über den vollen Funktionsumfang<br />

und die Business Edition kann auch zu kommerziellen<br />

Zwecken eingesetzt werden.<br />

www.scirra.com<br />

WDC 2013<br />

Konferenz für<br />

Webentwickler<br />

<strong>Die</strong> Web Developer Conference (WDC),<br />

die Konferenz für Webentwickler, findet<br />

vom 24. bis 27. Juni 2013 im NCC<br />

Ost in Nürnberg statt und richtet sich<br />

an Entwickler von Webapplikationen,<br />

Agenturen und Webmaster. Abgedeckt<br />

werden sämtliche Themen von HTML5<br />

über Frameworks und Javascript bis zu<br />

PHP. Auch zu Soft Skills werden Sessions<br />

angeboten. An den ersten drei Tagen<br />

können Besucher aus zahlreichen<br />

Vorträgen wählen (jeder Vortrag dauert<br />

60 Minuten). Der vierte Tag ist den<br />

Workshops vorbehalten.<br />

<strong>Die</strong>ses Jahr findet die Web Developer<br />

Conference als Teil der Developer<br />

Week statt; dazu gehören auch die Mobile<br />

Developer Conference sowie die<br />

.NET Developer Conference.<br />

www.web-developer-conference.de<br />

8 0513 internet magazin


News | AKTUELLES<br />

Roomsurfer<br />

Weltweit bei<br />

Freunden übernachten<br />

Das neue Social Travel Network bringt <strong>Reise</strong>nde und Gastgeber<br />

mit ähnlichen Interessen zusammen. Individuell reisen,<br />

Freunde finden und sich überall auf der Welt zu Hause<br />

fühlen – das ist das Konzept von Roomsurfer. Über die<br />

Plattform können Globetrotter nicht nur einen Schlafplatz<br />

suchen, sondern vor allem auch Gleichgesinnte aus der<br />

ganzen Welt treffen. Ein gemeinsam mit dem Deutschen<br />

Forschungszentrum für Künstliche Intelligenz (DFKI) entwickeltes<br />

Matching-Verfahren macht das möglich. Neben<br />

den Angaben aus den Profilen der Roomsurfer werden<br />

dafür Informationen über Vorlieben und Interessen aus<br />

sozialen Netzwerken und <strong>Die</strong>nsten wie zum Beispiel Facebook,<br />

LinkedIn. Google+, Spotify oder Foursquare herangezogen.<br />

Der ermittelte Matching-Faktor für Gast und<br />

Gastgeber, den auch beide sehen, gibt dann an, wie gut<br />

die beiden zusammenpassen.<br />

www.roomsurfer.com<br />

GovData<br />

Zentraler Zugang<br />

zu Verwaltungsdaten<br />

GovData bietet einen einheitlichen, zentralen Zugang zu<br />

Verwaltungsdaten aus Bund, Ländern und Kommunen.<br />

Ziel ist es, diese Daten an einer Stelle zu bündeln und so<br />

einfacher nutzbar zu machen. Über die <strong>Internet</strong>seite können<br />

Bürger und Unternehmen staatliche Daten nicht nur<br />

abfragen, sondern dürfen sie auch gezielt verarbeiten und<br />

verwenden. Dabei handelt es sich um datenschutzrechtlich<br />

unbedenkliche Informationen<br />

wie Statistiken,<br />

Geo- und Umweltdaten<br />

aus verschiedenen Institutionen<br />

auf Bun<strong>des</strong>-, Lan<strong>des</strong>- und kommunaler Ebene.<br />

<strong>Die</strong>se können über eine einheitliche Plattform abgefragt<br />

werden. Derzeit steht eine Public-Betaversion <strong>des</strong> Portals<br />

online, das im Rahmen der Möglichkeiten schrittweise<br />

ausgebaut und optimiert werden soll. Das Portal wird im<br />

Rahmen <strong>des</strong> Testbetriebs laufend evaluiert und 2014 soll<br />

voraussichtlich die Entscheidung über seine Fortführung in<br />

Abstimmung mit den Ländern getroffen werden.<br />

www.govdata.de<br />

*zzgl. einmalige Einrichtungsgebühr von 139,- EUR<br />

Angebot für Gewerbetreibende, zzgl. 19% MwSt.<br />

Managed-Server-<br />

Vollkomfort.<br />

Profitieren Sie jetzt von einem Managed Server und geben Sie die<br />

individuelle Server-Administration in die Hände <strong>des</strong> Experten-Teams<br />

von internet24. Der technische Support ist rund um die Uhr telefonisch<br />

und per E-Mail für Sie erreichbar. Bei uns beginnt der Support<br />

nicht im Call-Center, sondern bei einem direkten Ansprechpartner.<br />

<strong>Die</strong>nst- und Lastmonitoring sowie Entstörung (24/7)<br />

Update- und Patchmanagement<br />

Individuelle Konfiguration<br />

Flexibel skalierbar (Loadbalancing, Hochverfügbarkeit)<br />

Persönliche Ansprechpartner / Experten-Service<br />

Partnerprogramme für<br />

Reseller und Vermittler<br />

ab 169,00 EUR* / Monat<br />

www.internet-magazin.de<br />

9<br />

Telefon +49 (0)3 51 / 211 20 40<br />

| info@ internet24.de


AKTUELLES | News<br />

1&1 Mobile<br />

Flexible Highspeed-Datenpakete<br />

1&1 bietet ab sofort allen Nutzern der<br />

1&1-Mobile-Tarife neue optionale Highspeed-Pakete.<br />

Damit kann das Highspeed-Kontingent<br />

aufgestockt werden,<br />

wenn der schnelle Inklusiv-Traffic <strong>des</strong><br />

jeweiligen Tarifs verbraucht ist. Sobald<br />

75 beziehungsweise 100 Prozent <strong>des</strong> Inklusivkontingents<br />

verbraucht sind, erhalten<br />

alle 1&1-All-Net-Flat-Nutzer künftig<br />

eine SMS, die sie darüber informiert und<br />

das Buchen einer Erweiterung<br />

per SMS anbietet:<br />

ein Highspeed-Paket über<br />

500 MByte für 2,99 Euro.<br />

1&1-Notebook- und Tablet-Flat-<strong>Kunden</strong><br />

können demnächst zwischen zwei Datenpaketen<br />

zur Erweiterung <strong>des</strong> Highspeed-Inklusivkontingents<br />

wählen: Das<br />

Highspeed-Paket 500 umfasst für 2,99<br />

Euro 500 MByte, das Highspeed-Paket<br />

2000 bietet 2.000 MByte für<br />

9,99 Euro. Für alle genannten<br />

Pakete gilt, dass sie unmittelbar<br />

nach Buchung zur<br />

Verfügung stehen und jeweils die Bandbreite<br />

<strong>des</strong> gebuchten Tarifs geliefert wird.<br />

<strong>Die</strong> Pakete können beliebig oft bestellt<br />

und bis Ablauf ihres Datenabrechnungszeitraums<br />

genutzt werden.<br />

www.1und1.de<br />

GfK & OpSec<br />

Studie zur Nutzung von<br />

Sharehostern<br />

Eine von der GfK und OpSec durchgeführte Studie kam zu dem Ergebnis,<br />

dass Sharehoster vor allem für illegale Zwecke genutzt werden.<br />

Auf Basis der ermittelten Nutzungen soll der Anteil sogar bei 96,5<br />

Prozent liegen. Am beliebtesten sind Spielfilme und Serien, mehr<br />

als 50 Prozent der Inhalte entfallen auf diese beiden Kategorien. Mit<br />

rund 17 Prozent belegt Pornographie den dritten Platz und knapp 10<br />

Prozent entfallen<br />

auf den<br />

Bereich Musik.<br />

Bei den<br />

legalen Nutzungen<br />

belegen<br />

Software<br />

und Spiele-<br />

Mod die Plätze<br />

eins und<br />

zwei. <strong>Die</strong><br />

Studie schätzt,<br />

dass etwa 16<br />

Prozent der deutschen <strong>Internet</strong>privatnutzer auf min<strong>des</strong>tens einem<br />

der untersuchten Sharehoster aktiv sind. Untersucht wurden die<br />

Sharehoster Share-Online.biz, Uploaded und Rapidshare. Rapidshare<br />

hat zwischenzeitlich zu der Studie Stellung genommen. Ihrer<br />

Einschätzung zufolge wurden hier im Vorfeld zu stark vereinfachte<br />

Annahmen getroffen, die zu einem Ergebnis führten, das den Auftraggebern<br />

der Studie entgegen kommt.<br />

www.ivd-online.de<br />

Host Europe<br />

Nachhaltigkeitsbericht<br />

Host Europe hat nach 2009 jetzt seinen zweiten Nachhaltigkeitsbericht<br />

veröffentlicht, der Maßnahmen für<br />

einen energieeffizienteren und klimaneutralen Rechenzentrumsbetrieb<br />

dokumentiert. Für ihre mehr<br />

als 200.000 Geschäfts- und Privatkunden betreibt<br />

die Host Europe<br />

GmbH über<br />

9.000 Server in<br />

zwei Rechenzentren<br />

in Köln.<br />

<strong>Die</strong> hierfür benötigte Energie (24 GWh/Jahr) wird<br />

vollständig aus erneuerbaren Energiequellen gedeckt<br />

und die Abwärme <strong>des</strong> Rechenzentrums nutzt das Unternehmen<br />

zum Heizen der darüber liegenden Büroräume.<br />

Fortschritte erzielte Host Europe auch bei<br />

der „Power Usage Effectiveness“ (PUE). Der PUE-Wert<br />

gibt an, wie viel Energie effektiv für den Betrieb der<br />

Serverhardware genutzt wird in Relation zur Energiemenge,<br />

die vor allem für Peripheriegeräte sowie die<br />

Klimatisierung aufgewendet werden muss. Das ideale<br />

Rechenzentrum hätte einen PUE-Wert von 1. Während<br />

einer Studie <strong>des</strong> Uptime Institute zufolge die untersuchten<br />

Rechenzentren eine durchschnittliche PUE<br />

von 1,8 hatten, konnte Host Europe den PUE seines<br />

neuen Rechenzentrums von 1,64 im Jahre 2009 auf<br />

1,38 Ende 2011 senken.<br />

www.hosteurope.de/download/Host_Europe_<br />

Nachhaltigkeitsbericht.pdf<br />

10 0513 internet magazin


Homepage<br />

Professional<br />

<strong>Die</strong> 1blu-Homepage Professional ist die ideale<br />

Lösung für komplexe Webanwendungen und<br />

anspruchsvolle <strong>Internet</strong>präsenzen. Das Angebot<br />

gilt nur bis 30.04.2013!<br />

1blu-Homepage Professional<br />

> 3 Inklusiv-Domains<br />

> 12 GB Webspace<br />

> Unbegrenzter Traffic<br />

> 600 E-Mail-Adressen<br />

> 10 GB E-Mail-Speicher<br />

> Joomla, Wordpress, Typo3 vorinstalliert<br />

> 20 FTP-Zugänge<br />

> 20 MySQL-Datenbanken, PHP5<br />

> Telefon- und E-Mail-Support<br />

5,90 ¤<br />

1,-<br />

¤ /Monat*<br />

Angebot bis 30.04.2013!<br />

* Preis/Monat inkl. 19% MwSt. Angebot verfügbar ab Anfang April 2013 (Näheres unter www.1blu.de). <strong>Die</strong> einmaligeige<br />

Einrichtungsgebühr von jeweils 9,90 € entfällt bei Bestellung bis 30.04.2013. Bei Bestellung bis 30.04.2013 1blu-Homepage<br />

Professional für 1,- €/Monat für die jeweils erste Vertragslaufzeit von 6 Monaten, danach regulärer Preis von 5,90 €/Monat.<br />

Verträge jeweils jederzeit kündbar mit einem Monat Frist zum Vertragsende. Bei Software-Bestellung 7,90 € Versandkosten.<br />

** Preis/Monat inkl. 19% MwSt. Angebote verfügbar ab Anfang April 2013 (Näheres unter www.1blu.de). Bei Bestellung bis<br />

20.04.2013 jeder 1blu-Server mit einer Vertragslaufzeit von 12 Monaten für 1,- €/Monat in den ersten 6 Monaten; danachach<br />

jeweils regulärer Preis/Monat (z.B. 1blu-vServer LP 7,90 €, 1blu-vServer 8P 49,- €). Es fällt keine Einrichtungsgebühr bei einer<br />

Vertragslaufzeit von 12 Monaten an. Verträge jeweils jederzeit kündbar mit einem Monat Frist zum Ende der Vertragslaufzeit. Alle<br />

Preisinformationen und Angebote für andere Vertragslaufzeiten siehe www.1blu.de. Bei Software-Bestellung 7,90 € Versandkosten.<br />

n.<br />

030 - 20 18 10 00 | www.1blu.de<br />

1blu-vServer für 1,-¤/Monat **<br />

> Bis zu 8 CPU-Kerne nutzen<br />

> Bis zu 24 GB RAM garantiert, 48 GB RAM max.<br />

> Bis zu 6 IP-Adressen, 800 GB HDD, Traffic inklusive<br />

> cloud-ready: CPU, RAM, HDD flexibel buchen


AKTUELLES | News<br />

Microsoft Surface<br />

Lediglich 1,5 Millionen<br />

Stück verkauft<br />

Bloomberg will aus gut informierten Kreisen konkrete<br />

Verkaufszahlen erfahren haben. Laut einem<br />

Bericht <strong>des</strong> Wirtschaftsmagazins hat Microsoft bisher<br />

rund 1,5 Millionen Surface Tablets verkauft. Davon<br />

sollen gut eine Million Stück auf das Surface mit<br />

Windows RT entfallen und etwa 400.000 Exemplare<br />

auf das teurere und später gestartete Surface mit<br />

Windows 8 Pro. Ursprünglich hatte das Unternehmen<br />

mit rund zwei Millionen verkauften Surface RT<br />

Tablets im letzten Quartal <strong>des</strong> Vorjahres gerechnet<br />

und insgesamt drei Millionen Surface RT geordert.<br />

Im Vergleich dazu: Apple konnte im selben Quartal<br />

22,9 Millionen iPads verkaufen. <strong>Die</strong> weltweiten Tablet-Auslieferungen<br />

erreichten 2012 laut IDC 128,3<br />

Millionen Stück. Apples iPad hat damit 51 Prozent<br />

<strong>des</strong> Marktes für sich beansprucht.<br />

www.microsoft.com<br />

Top-Level-Domains<br />

.basketball, .köln oder .money<br />

In diesem Jahr gehen die ersten der sogenannten neuen Top-Level-Domains<br />

an den Start. Neben klassischen Domainendungen<br />

wie .de und .com wird es damit in Zukunft eine Vielzahl weiterer<br />

Endungen geben – insgesamt wurden bei der <strong>Internet</strong>verwaltung<br />

ICANN 1930 Bewerbungen für eine neue TLD eingereicht. Mit<br />

den neuen TLDs wird auf den nach wie vor wachsenden Bedarf<br />

an <strong>Internet</strong>adressen reagiert. Mit den nTLDs soll dieser Engpass<br />

behoben werden. Ob .basketball, .köln oder .money: Künftig soll<br />

es für so gut wie jeden Lebensbereich eine eigene, passende Domainendung<br />

geben. Voraussichtlich werden die ersten Endungen<br />

der neuesten Generation im Herbst 2013 zur Registrierung bereitstehen.<br />

Eine kostenlose und unverbindliche Vorbestellung ist aber<br />

schon jetzt möglich. Das Unternehmen Checkdomain bietet zum<br />

Beispiel die Möglichkeit einer kostenlosen und unverbindlichen<br />

Vorbestellung, um sich eine neue Domain zu sichern.<br />

www.checkdomain.de<br />

Cyber-Sicherheitsstrategie<br />

Friedrich stellt IT-Sicherheitsgesetz vor<br />

Der Entwurf <strong>des</strong> IT-Sicherheitsgesetzes<br />

enthält drei Schwerpunkte zur<br />

Verbesserung der IT-Sicherheit. <strong>Die</strong><br />

Betreiber kritischer Infrastrukturen<br />

werden zu einer Verbesserung <strong>des</strong><br />

Schutzes der von ihnen eingesetzten<br />

Informationstechnik und zur Verbesserung<br />

ihrer Kommunikation mit<br />

dem Staat bei IT-Vorfällen verpflichtet.<br />

Telemediendiensteanbieter, die<br />

eine Schlüsselrolle für die Sicherheit<br />

<strong>des</strong> Cyberraums haben,<br />

werden stärker<br />

als bisher hierfür<br />

in die Verantwortung<br />

genommen.<br />

Das Bun<strong>des</strong>amt<br />

für<br />

Sicherheit in<br />

der Informationstechnik<br />

wird in seinen Aufgaben<br />

und Kompetenzen ge-stärkt. Bereits<br />

heute sind zwei Milliarden Menschen<br />

global vernetzt. In Deutschland<br />

verfügen derzeit 78 Prozent<br />

der Haushalte über einen <strong>Internet</strong>zugang;<br />

Smartphones und Tablets ermöglichen<br />

den permanenten Netzzugang<br />

zu jeder Zeit und an jedem<br />

Ort. Einer Studie nach sind schon<br />

heute 50 Prozent aller deutschen<br />

Unternehmen abhängig vom <strong>Internet</strong>.<br />

Das führt aber auch dazu, dass<br />

einem deutschen Großunternehmen<br />

pro Jahr im Schnitt 4,8 Millionen<br />

Euro Kosten durch Cyberkriminalität<br />

entstehen. Täglich werden 20.000<br />

Webseiten mit Schadprogrammen<br />

infiziert, 5-10 Spionageangriffe auf<br />

die Bun<strong>des</strong>verwaltung registriert.<br />

www.bmi.bund.de<br />

TYPO3-Konferenz<br />

Inspiring Flow<br />

im April<br />

Im Kesselhaus in Kolbermoor bei Rosenheim<br />

findet am 19. und 20. April 2013<br />

ein internationaler Event rund um das<br />

PHP-Framework TYPO3 Flow statt. Im<br />

Rahmen der Veranstaltung werden insgesamt<br />

vier Workshops, zwei einen Tag vor<br />

und zwei einen Tag nach der Konferenz,<br />

angeboten. <strong>Die</strong> Konferenz, die in diesem<br />

Jahr zum zweiten Mal stattfindet, bietet<br />

eine Reihe von englischsprachigen Vorträgen.<br />

Zu den Sprechern gehören unter<br />

anderen Core-Entwickler Robert Lemke,<br />

PHP-Experte Stefan Priebsch sowie<br />

TYPO3-Community-Manager Ben van ‘t<br />

Ende. <strong>Die</strong> Registrierung für die Konferenz<br />

startet am Freitag den 19. April. <strong>Die</strong> Vorträge<br />

beginnen um 9 Uhr 30. Am Samstag<br />

um 17 Uhr schließt die Veranstaltung.<br />

www.inspiring-flow.com<br />

12 0513 internet magazin


1&1 ALL-NET-FLAT<br />

D-NETZ QUALITÄT ZUM BESTEN PREIS!<br />

FLAT<br />

FESTNETZ<br />

FLAT<br />

FLAT<br />

19, 99<br />

29, 99<br />

0,– €* NUR FÜR KURZE ZEIT!<br />

Alles komplett: 1&1 All-Net-Flat für<br />

19,99 €/Monat inklusive Samsung Galaxy.*<br />

ALLE<br />

HANDY-NETZE<br />

INTERNET<br />

99<br />

€/Monat*<br />

Sofort<br />

starten:<br />

1 NACHT<br />

OVERNIGHT-<br />

LIEFERUNG<br />

In Ruhe<br />

ausprobieren:<br />

1 MONAT<br />

TESTEN<br />

Defekt? Morgen<br />

neu bei Ihnen:<br />

1 TAG<br />

AUSTAUSCH<br />

VOR ORT<br />

1und1.de<br />

0 26 02 / 96 96<br />

*1&1 All-Net-Flat Special in den ersten 12 Monaten für 19,99 €/Monat, danach 29,99 €/Monat, inklusive Smartphone Samsung Galaxy Ace Plus. Einmaliger Bereitstellungspreis 29,90 €, keine Versandkosten.<br />

24 Monate Min<strong>des</strong>tvertragslaufzeit.


AKTUELLES | News<br />

Cebit 2013<br />

Stärkste Veranstaltung seit Jahren<br />

Apple hat heute bekanntgegeben,<br />

dass die Downloads von iTunes-U-<br />

Inhalten eine Milliarde übertroffen<br />

haben. iTunes U bietet den momentan<br />

weltweit größten Online-<br />

Katalog für kostenlose Lerninhalte<br />

von Hochschulen, Bibliotheken<br />

und Museen. Mehr als 1.200 Universitäten<br />

und weiterführende<br />

Schulen sowie 1.200 Grundschulen<br />

und Bezirke stellen über 2.500<br />

öffentliche und tausende private<br />

Kurse bereit, die Künste, Wissenschaften,<br />

Gesundheit und Medizin,<br />

Bildung, Wirtschaft und mehr<br />

umfassen. Führende Universitäten<br />

wie Duke, Yale, Cambridge, MIT<br />

und Oxford bauen ihre Reichweite<br />

kontinuierlich aus, indem sie mehr<br />

<strong>Die</strong> Cebit als weltweit wichtigste Veranstaltung<br />

für die digitale Wirtschaft hat in<br />

diesem Jahr weiter an Qualität gewonnen.<br />

„Das internationale Geschäft<br />

stand klar im Vordergrund“,<br />

sagte Frank<br />

Pörschmann, Vorstand der<br />

Deutschen Messe AG, am<br />

Samstag zum Abschluss<br />

der Cebit 2013 in Hannover.<br />

„Ein gestiegener Fachbesucheranteil<br />

von mehr<br />

als 84 Prozent, eine starke Beteiligung aus<br />

gut 120 Nationen und so viele IT-Entscheider<br />

und Einkaufschefs wie seit Langem nicht<br />

mehr haben die Cebit 2013 zur hochwertigsten<br />

Veranstaltung seit Jahren gemacht.<br />

In Hannover ging es in den vergangenen<br />

fünf Tagen um internationale Geschäfte und<br />

Vernetzung.“ Einhellig zeigten sich die Aussteller<br />

mit ihren Ergebnissen der Cebit sehr<br />

zufrieden. Insbesondere die Unternehmen,<br />

die ihren Auftritt sorgfältig vorbereitet hatten,<br />

berichteten, dass sie<br />

ihre Zielwerte um mehr<br />

als 50 Prozent übertroffen<br />

haben. Insgesamt blieb<br />

die Zahl der Geschäftsgespräche<br />

während der fünftägigen<br />

Veranstaltung mit<br />

mehr als sieben Millionen<br />

auf dem hohen Niveau <strong>des</strong><br />

Vorjahres stabil. <strong>Die</strong> Reichweite im <strong>Internet</strong><br />

weitete sich – auch durch soziale Medien<br />

– weltweit deutlich aus. Pörschmann: „Wer<br />

in Hannover dabei ist, wird zum weltweiten<br />

Thema in der Netzgemeinde. Ein Millionenpublikum<br />

beteiligte sich aktiv im Netz an<br />

den Themen rund um die Cebit.“<br />

www.cebit.de<br />

iTunes U-Inhalte<br />

Eine Milliarde Downloads übertroffen<br />

als 100.000 Studenten in einzelne<br />

U-Kurse immatrikulieren. Über<br />

60 Prozent der Downloads der<br />

iTunes- U-App wurden außerhalb<br />

der USA ausgeführt. iTunes U gibt<br />

Schulen jeglicher Größe<br />

die Möglichkeit, ihre<br />

Inhalte mit einem weltweiten<br />

Publikum zu teilen.<br />

Pädagogen können<br />

U-Kurse in 30 Ländern<br />

erstellen; kürzlich hinzugekommen<br />

sind Brasilien, Südkorea, Türkei<br />

und die Vereinig- ten Arabischen<br />

Emirate. Auf diese Kurse und andere<br />

Bildungsinhalte kann über<br />

die iTunes-U-App in 155 Ländern<br />

zugegriffen werden.<br />

www.apple.com/de/itunes<br />

• • • TICKER • • •<br />

■ Dropbox kauft Mailbox<br />

Der Cloud-Speicher-Anbieter<br />

Dropbox übernimmt Orchestra,<br />

den App-Entwickler, der<br />

hinter dem Programm Mailbox<br />

steht. Ein Preis für den<br />

Kauf wurde nicht genannt.<br />

www.dropbox.com<br />

■ Green-IT: Infos für Unternehmen<br />

Interessierte erhalten auf<br />

der Website umfangreiches<br />

Basiswissen zu Green IT. Zudem<br />

gibt es Anwendungsbeispiele<br />

aus der Praxis, wie<br />

Unternehmen ihr Energiemanagement<br />

durch Green<br />

IT verbessert haben. Unterstützt<br />

wird das Angebot der<br />

Plattform durch Broschüren<br />

und Studien.<br />

www.green-it-wegweiser.de<br />

■ Social Gaming verstehen<br />

Online-Spiele in sozialen<br />

Netzwerken sind mit einem<br />

Branchenumsatz von 8,2<br />

Milliarden Euro im Jahr 2012<br />

und 750 Millionen Nutzern<br />

weltweit ein bedeutender<br />

Wirtschaftszweig. Bis jetzt<br />

gab es wenig fundiertes Material<br />

über diese Thematik.<br />

<strong>Die</strong>se Lücke hat Dr. Günter<br />

Schmid, Unternehmensberater<br />

und ehemaliger CFO<br />

der bwin-Gruppe, gemeinsam<br />

mit Dr. Thomas Talos<br />

und Nicholas Aquilina mit<br />

dem Buch „Social Gaming<br />

in Europe“ geschlossen.<br />

produkte.lexisnexis.at/<br />

Social_Gaming_in_Europe<br />

14 0513 internet magazin


Überall zu Hause<br />

Das Heimnetz mit FRITZ!<br />

FRITZ!Box 7390<br />

<strong>Die</strong> 1. Wahl<br />

im Heimnetz<br />

Wir danken allen Lesern, die<br />

AVM wiederholt zur<br />

Nr.1gewählt<br />

haben! Besonders freuen wir<br />

uns über 28.000<br />

Stimmen, für<br />

die FRITZ!-Produkte in gleich<br />

zwei Kategorien die erste<br />

Wahl im Heimnetz sind.<br />

Höchstleistung und Komfort für Heimnetz und <strong>Internet</strong>!<br />

Mit Topausstattung und innovativer Technik bringt FRITZ!Box 7390<br />

eine beeindruckende Funktionsvielfalt an jeden DSL-Anschluss<br />

und erfüllt zuverlässig alle Kommunikationswünsche.<br />

Vielfach ausgezeichnet und von der Fachpresse empfohlen.<br />

Über DSL mit bis zu 100 MBit/s rasant im <strong>Internet</strong> unterwegs<br />

Flexibles Dual-WLANNmit 2x300 MBit/s gleichzeitig<br />

Voller Telefonkomfort mit Telefonanlage und DECT-Basis<br />

USB-Drucker und -Speicher (NAS) im gesamten Heimnetz<br />

FRITZ!OS mit Mediaserver, MyFRITZ!, Cloud-Kontakten und mehr<br />

Mehr erfahren unter avm.de/fritzbox<br />

TESTSIEGER<br />

GUT (1,6)<br />

FRITZ!Box<br />

7390<br />

ImTest:<br />

12 WLAN-Router<br />

Ausgabe<br />

03/2012<br />

03/2011<br />

„Der derzeit beste<br />

WLAN-Router“<br />

Und 68 weitere herausragende Auszeichnungen!<br />

13/006<br />

avm.de<br />

AVM GmbH · Alt-Moabit 95 · 10559 Berlin · Telefon 030 39976-0·info@avm.de


VICTOR 2013<br />

Das Fest<br />

der Sieger<br />

Victor<br />

2013<br />

Zum ersten Mal waren alle Leser der IT-Zeitschriften<br />

von WEKA gemeinsam aufgerufen, die besten Firmen<br />

aus 24 Kategorien zu wählen. Am 21. März wurden die<br />

Preise im feierlichen Rahmen überreicht.<br />

Fulminanter Schlusspunkt <strong>des</strong> Abends:<br />

<strong>Die</strong> Gewinner <strong>des</strong> Victor 2013 versammelten<br />

sich zum Gruppenbild.<br />

Gastgeber mit guter Laune (v.l.n.r.): die Chefredakteure Jörg<br />

Hermann (PCgo), Andreas Eichelsdörfer (Business+IT) und<br />

Michael Suck (PC <strong>Magazin</strong>)<br />

Einen Hauch von Hollywood hatte die lange Nacht <strong>des</strong><br />

Victors durchaus. Nur war diesmal nicht das Dolby Theatre<br />

Schauplatz der Feierlichkeiten, sondern die Bavaria Filmstudios<br />

im Süden von München. Insgesamt 28.300 Leser haben entschieden,<br />

welche Firmen es in den abgefragten 24 Kategorien<br />

auf das Treppchen schafften. Zusätzlich kürte eine Expertenjury,<br />

die sich unter anderem aus den Chefredaktionen der <strong>Magazin</strong>e<br />

zusammensetzt, drei Sonderpreise: die Innovation <strong>des</strong> Jahres,<br />

den Brand of the Year und die IT-Persönlichkeit <strong>des</strong> Jahres. Wir<br />

gratulieren allen Siegern!<br />

Andreas Eichelsdörfer<br />

16 0513 internet magazin


Seit mehr als einem Jahrzehnt eine<br />

feste Größe in der Branche: Christoph<br />

Rösseler, Vice President Marketing &<br />

PR bei Devolo.<br />

Ausgezeichnet als IT-Marke <strong>des</strong> Jahres:<br />

Gerold Gutti, Marketingchef bei IBM,<br />

versprach auch für die Zukunft bahnbrechende<br />

Produkte.<br />

Oliver Gürtler, Leiter Windows bei<br />

Microsoft, nahm den Innovationspreis<br />

für Windows 8 begeistert entgegen.<br />

Hollywood-reifes<br />

Gruppenbild (v.l.):<br />

Katja Meyer und<br />

Eleonore Panciera<br />

von Kaspersky<br />

nehmen Hasan Ezdi<br />

von waveline-mar.<br />

com in ihre Mitte.<br />

Amüsierten sich prächtig: Gisela<br />

Nerke, Anzeigenleitung IT bei WEKA,<br />

und Tobias Scherer von 1&1.<br />

In Reih und Glied:<br />

<strong>Die</strong> Victor-Statuen<br />

warten auf ihre<br />

Empfänger.<br />

Fabian Maiwald von Samsung<br />

konnte zusammen mit seinen<br />

Kollegen gleich fünf Preise<br />

entgegennehmen.<br />

Victor<br />

Das sind die Gewinner<br />

Kategorie<br />

Firma<br />

All-in-one-PC-Systeme Hewlett-Packard<br />

App <strong>des</strong> Jahres<br />

Google (für Chrome)<br />

Business-Netz <strong>des</strong> Jahres Telekom Deutschland<br />

Cloud-Innovation<br />

Microsoft Deutschland<br />

CRM-Lösungen<br />

SAP Deutschland<br />

Document Solutions<br />

Samsung Electronics<br />

ERP-Lösungen<br />

Microsoft Deutschland<br />

Grafik/Foto/Design<br />

Adobe Systems<br />

Händler <strong>des</strong> Jahres<br />

Amazon.de<br />

Hoster<br />

1&1 <strong>Internet</strong><br />

<strong>Internet</strong>-Provider<br />

Telekom Deutschland<br />

Kaufmännische Lösungen Haufe-Lexware<br />

Monitore<br />

Samsung Electronics<br />

Multifunktionsgeräte<br />

Samsung Electronics<br />

Multimedia/Streaming AVM<br />

(für Fritz!Box Fon WLAN 7390)<br />

Notebooks<br />

Samsung Electronics<br />

Office Anwendungen<br />

Microsoft Deutschland<br />

Online-<strong>Die</strong>nstleistungen Microsoft Deutschland<br />

(für Office 365)<br />

Suchmaschinen/SEO<br />

Google<br />

Sicherheitssoftware<br />

Kaspersky Labs<br />

Smarthome<br />

AVM<br />

Smartphone<br />

Samsung Electronics<br />

Steuer- und Finanzsoftware Haufe-Lexware<br />

Tablets<br />

Amazon.de<br />

Innovation <strong>des</strong> Jahres Microsoft Deutschland<br />

(für Windows 8)<br />

Brand of the Year<br />

IBM Deutschland<br />

IT-Persönlichkeit <strong>des</strong> Jahres Christoph Rösseler, devolo<br />

www.internet-magazin.de 17


AKTUELLES | News<br />

Shopping<br />

Responsive Wordpress-Themes<br />

Ein Dutzend frische<br />

Wordpress-Themes,<br />

die auch preisgünstig<br />

im Bundle erhältlich<br />

sind, finden Sie im<br />

Themes-Shop von<br />

Elmastudio.de. <strong>Die</strong><br />

minimalistischen,<br />

auf mobile Endgeräte<br />

optimierten Themes<br />

mit vielen gut durchdachten<br />

Features können jeweils in einer Live-Demo<br />

gründlich unter die Lupe genommen werden. Pluspunkt:<br />

Ein einmal erworbenes Theme darf beliebig oft und auch<br />

für kommerzielle Projekte eingesetzt werden. Updates für<br />

einzelne Themes sind im Preis enthalten; wer alle Themes<br />

im Bundle kauft, erwirbt jährliche Upgra<strong>des</strong>.<br />

http://www.elmastudio.de/wordpress-themes/<br />

Toolbox<br />

Social Media Image Maker<br />

Jede Änderung am Facebook-Profil wird immer sofort<br />

dem Bekanntenkreis angezeigt – ärgerlich, wenn<br />

man mit verschiedenen<br />

Bildern und<br />

Grafiken experimentieren<br />

möchte,<br />

ohne dass<br />

es jeder sofort<br />

mitbekommt.<br />

Abhilfe schafft der Social Media Image Maker,<br />

der für Facebook und viele andere Netze die Möglichkeit<br />

bietet, das neue Profilbild erst einmal in Ruhe zu<br />

testen und dann mit dem perfekten Ergebnis an die<br />

Öffentlichkeit zu gehen.<br />

http://www.autreplanete.com/ap-social-mediaimage-maker/<br />

CRM Tool<br />

Feedbackstr<br />

Empfängerbefragungen zur Messung<br />

der Servicequalität schnell, einfach<br />

und in Echtzeit durchführen können<br />

Sie mit Feedbackstr: alle Bewertungen<br />

sowie Kritik und Lob Ihrer <strong>Kunden</strong> in<br />

einem System, das im Handumdrehen<br />

für <strong>Kunden</strong>service, Qualitätsmanagement<br />

und Marketing einsatzbereit ist.<br />

Eine kostenlose Demo ohne Anmeldung<br />

ist online verfügbar.<br />

https://www.feedbackstr.com/de/<br />

Microblogging<br />

Twitter Cards<br />

Nutzer der Google Webfonts (www.<br />

google.com/webfonts) und Open Web<br />

Icons (pfefferle.github.com/openwebicons/)<br />

werden sich über das aktuelle<br />

Open-Source-Projekt von Tim Pietrusky<br />

freuen: Dank „We love Icon Fonts“<br />

können die Fonts mit wenigen Zeilen<br />

CSS-Code integriert werden, Beispielcode<br />

steht zur Verfügung unter<br />

http://weloveiconfonts.com/<br />

Webprojekte<br />

deploydo<br />

Deploydo ermöglicht das schnelle<br />

und einfache Verteilen von Webprojekten<br />

auf mehrere Server, indem es<br />

externe Versionskontrolldienste wie<br />

Github, Bitbucket oder Codebase mit<br />

den Servern verbindet, auf denen das<br />

anzupassende Projekt liegt, um anschließend<br />

ein paralleles Rollout der<br />

Änderungen durchzuführen. Auf dem<br />

Server werden dann jeweils nur die<br />

Daten aktualisiert und nicht der gesamte<br />

Projektordner hochgeladen –<br />

das spart Zeit und Traffic.<br />

https://www.deploy.do/<br />

18 0513 internet magazin


ANZEIGE<br />

1. PLATZ<br />

SICHERHEITS-SOFTWARE<br />

DIE NUMMER 1<br />

UNSERE LESER HABEN SICH ENTSCHIEDEN<br />

UND KASPERSKY IN DER KATEGORIE<br />

SICHERHEITS-SOFTWARE<br />

ZUR MARKE NUMMER 1 GEWÄHLT!<br />

Kaspersky Lab gehört zu den weltweit führenden Security-<br />

Software-Herstellern. Für den bestmöglichsten Schutz forscht<br />

das russische Unternehmen ständig an neuen Technologien<br />

und ist dabei ein wichtiger Wegbereiter für neue Sicherheitsstandards.<br />

Über 350 Millionen Heimanwender und etwa<br />

250.000 Unternehmen weltweit vertrauen auf die Sicherheitslösungen<br />

von Kaspersky Lab.<br />

IM MITTELPUNKT: DER SCHUTZ<br />

IHRER WERTVOLLSTEN DATEN<br />

NEU<br />

Kaspersky PURE 3.0<br />

Total Security<br />

Umfassender Schutz gegen komplexe PC-Malware<br />

Vertrauen Sie auf die stärkste Security-Lösung von Kaspersky Lab –<br />

zum größtmöglichen Schutz Ihres PCs, Ihrer Daten und Ihrer<br />

digitalen Identität unterwegs in der virtuellen Welt.<br />

www.kaspersky.de


SPECIAL | Compass-CSS<br />

Compass: Der Turbo<br />

fürs Stylesheet!<br />

Compass basiert auf dem CSS-Präprozessor Sass und<br />

bietet neben nützlichen Sass-Bausteinen allgemeine<br />

CSS-Helferlein und Best-Practice-Tools. Es erleichtert<br />

das rasche Prototyping und ermöglicht die Weitergabe<br />

einzelner Komponenten als Compass-Plug-ins.<br />

CSS-Präprozessoren wie LESS und<br />

Sass ergänzen CSS um Komponenten,<br />

die man bei CSS schon lange vermisst<br />

hat: die Möglichkeit, Code besser<br />

zu strukturieren, Teile wiederzuverwenden<br />

und beispielsweise Variablen<br />

zu nutzen. Damit lassen sich auch längere<br />

Stylesheets bei größeren Projekten<br />

leichter handhaben.<br />

Ob man dem Präprozessor Sass oder<br />

LESS den Vorzug gibt, sei jedem selbst<br />

überlassen. Ein Vorteil von Sass aber ist<br />

klar: Für Sass gibt es Compass. Compass<br />

ist ein Sass-basiertes Projekt. Sie können<br />

sich Compass als eine Art Sass-Bibliothek<br />

vorstellen, die viele der bei den<br />

unterschiedlichsten Projekten immer<br />

wieder benötigten Komponenten enthält.<br />

Im Gegensatz zu Bootstrap & Co.<br />

ist Compass aber Design-agnostisch,<br />

das heißt es legt Sie nicht auf irgendeine<br />

Optik fest – statt<strong>des</strong>sen bietet es jede<br />

Menge Arbeitserleichterungen. Im Artikel<br />

erfahren Sie zuerst, wie Sie sich eine<br />

Compass-Umgebung einrichten und mit<br />

Compass arbeiten. Danach sehen wir uns<br />

ausgewählte praktische Anwendungen<br />

von Compass an. Sie erfahren, wie Sie<br />

sich die Arbeit mit CSS3-Eigenschaften<br />

vereinfachen, wie Sie sich automatisch<br />

CSS-Sprites generieren lassen und wie<br />

Sie die CSS-Dateien für den produktiven<br />

Einsatz verkleinern.<br />

Installation<br />

Compass setzt Ruby voraus, das Sie installieren<br />

müssen, sofern Sie es noch<br />

nicht haben. Unter Windows geht dies<br />

besonders komfortabel mit dem Ruby Installer.<br />

Beim Mac ist Ruby normalerweise<br />

schon vorinstalliert.<br />

Anstatt Ruby zu installieren und Compass<br />

über die Kommandozeile auszuführen,<br />

können Sie auch eine graphische<br />

Oberfläche wie Compass.app nutzen,<br />

die es für 10 Dollar zu kaufen gibt. Allerdings<br />

werden auch immer wieder einmal<br />

Performance-Probleme bei der Nutzung<br />

20 0513 internet magazin


Compass-CSS | SPECIAL<br />

von Compass.app gemeldet, <strong>des</strong>wegen<br />

soll hier die andere Variante vorgestellt<br />

werden. Wenn Sie Ruby haben, können<br />

Sie Compass installieren. Wechseln Sie<br />

hierfür in die Eingabeaufforderung (Windows)<br />

oder Konsole (Mac OS). Haben Sie<br />

Ruby mit dem Installer unter Windows<br />

installiert, geht es am einfachsten, wenn<br />

Sie über das Startmenü im Ruby-Ordner<br />

den Punkt „Start Command Prompt with<br />

Ruby“ wählen. Schreiben Sie dann den<br />

folgenden Befehl:<br />

gem install compass<br />

RubyGems, das hier verwendet wird, ist<br />

das offizielle Paketsystem für Ruby. Ob<br />

die Installation geklappt hat, verrät der<br />

folgende Befehl:<br />

compass –v<br />

Das liefert die aktuell installierte Version<br />

von Compass. Außerdem wird Ihnen<br />

ein Link auf eine <strong>Internet</strong>seite angezeigt,<br />

wo Sie für das Compass-Projekt spenden<br />

können – was Sie sich durchaus überlegen<br />

sollten, wenn Sie sich entscheiden,<br />

mehr mit Compass zu arbeiten.<br />

Erste Schritte<br />

Jetzt können Sie ein Compass-Projekt<br />

anlegen. Im Beispiel soll es neuesprojekt<br />

heißen. Dafür schreiben Sie<br />

compass create neuesprojekt<br />

Das erzeugt ein Standardprojekt im Ordner<br />

neuesprojekt. Es beinhaltet mehrere<br />

Komponenten:<br />

» . sass-cache ist ein Ordner mit gecachten<br />

Dateien, den Sie selbst nicht<br />

bearbeiten sollten.<br />

» Der Ordner sass beinhaltet die SCSS-<br />

Dateien, genau genommen drei:<br />

ie.scss ist für IE-spezifische Styles gedacht,<br />

print.scss für den Ausdruck und<br />

screen.scss steuert die Standardformatierungen.<br />

» Im Ordner stylesheets stehen die über<br />

Sass erzeugten CSS-Dateien – parallel<br />

zu den drei SCSS-Dateien sind es auch<br />

drei CSS-Dateien: ie.css, print.css und<br />

<strong>Die</strong> Website <strong>des</strong><br />

Compass-Projekts.<br />

screen.css.<br />

» Schließlich gibt es<br />

noch die config.rb-<br />

Datei, über die Sie<br />

die Ordnernamen<br />

anpassen können.<br />

Zudem lassen sich<br />

in dieser Konfigurationsdatei<br />

weitere Projekte werden über die Kommandozeile gesteuert.<br />

Am Anfang ungewohnt, dann aber sehr mächtig: Compassnützliche<br />

Dinge<br />

steuern; Sie können etwa festlegen, <br />

css“ media=“screen, projection“<br />

<strong>Die</strong> normale Vorgehensweise ist nun,<br />

Damit Sie die Änderungen bei der Formatierung<br />

sehen können, empfiehlt es sich, ner bearbeiten. <strong>Die</strong>se Dateien werden<br />

dass Sie die SCSS-Dateien im Sass-Ord-<br />

eine HTML-Datei zu erstellen, in der Sie kompiliert und daraus die CSS-Dateien<br />

auf die CSS-Dateien verweisen. Wie Sie erzeugt. <strong>Die</strong> Kompilierung stoßen Sie<br />

das machen, finden Sie sowohl in der manuell durch folgenden Befehl in der<br />

Anzeige der Konsole nach Erstellung <strong>des</strong> Konsole an:<br />

Projekts angezeigt als auch innerhalb compass compile neuesprojekt<br />

von Kommentaren in den SCSS-Dateien: Komfortabler ist es, wenn Änderungen an<br />

www.internet-magazin.de 21


SPECIAL | Compass-CSS<br />

den SCSS-Dateien automatisch erkannt<br />

und die CSS-Dateien laufend generiert<br />

werden. Dafür schreiben Sie<br />

compass watch neuesprojekt<br />

Zum Beenden <strong>des</strong> Watch-Zustands drücken<br />

Sie Strg+C. Am besten sollten Sie<br />

das Prozedere einmal testen. Ergänzen<br />

Sie einen einfachen CSS-Befehl in der<br />

Datei screen.scss, etwa<br />

body { background-color: orange; }<br />

Lassen Sie dann auf einem der beiden<br />

vorgestellten Wege die Neukompilierung<br />

der Datei screen.scss ablaufen und<br />

Sie werden sehen, dass in screen.css die<br />

obige Zeile ergänzt ist.<br />

Module importieren<br />

Aber der Reiz von Compass liegt natürlich<br />

nicht darin, dass Sie nur normale<br />

CSS-Befehle schreiben. Interessanter ist,<br />

dass Sie zum einen Sass-Befehle eingeben<br />

und zum anderen auf die von Compass<br />

zur Verfügung gestellten Module<br />

zugreifen können. Um ein Modul zu<br />

nutzen, müssen Sie es zuerst importieren.<br />

Ein Beispiel hierfür sehen Sie bereits<br />

in Ihrer screen.scss-Datei:<br />

@import „compass/reset“;<br />

Damit wird das Reset-Stylesheet eingebunden.<br />

In der generierten CSS-Datei<br />

screen.css ist der @import-Befehl durch<br />

die in dieser Datei angegebenen Regeln<br />

ersetzt worden. Das ist übrigens ein prinzipieller<br />

Vorteil von CSS-Präprozessoren:<br />

Sie können Ihren CSS-Code modulartig<br />

auf mehrere Dateien aufteilen, das Ergebnis<br />

ist aber trotzdem nur eine einzige<br />

Datei. An sich funktioniert die Aufteilung<br />

auf mehrere Dateien auch in CSS<br />

pur und zwar mittels @import. <strong>Die</strong> Verwendung<br />

von @import in CSS hat aber<br />

eine Reihe von Nachteilen: Mehrere mit<br />

@import eingebundene Dateien bedeuten<br />

mehrere HTTP-Requests. Außerdem<br />

ist aus Performance-Gründen prinzipiell<br />

vom Einbinden externer Dateien mit @<br />

import abzuraten. All diese Nachteile<br />

Bei Compass hat man es mit zwei Dateien<br />

zu tun: <strong>Die</strong> SCSS-Dateien werden<br />

bearbeitet, die CSS-Dateien generiert.<br />

können Sie sich ersparen, wenn Sie<br />

Module per Compass importieren. Ein<br />

recht praktisches Compass-Modul ist das<br />

CSS3-Modul. Es bietet hilfreiche Verkürzungen<br />

bei der Verwendung von CSS3-<br />

Eigenschaften. Das Modul binden Sie<br />

über folgenden Befehl ein:<br />

@import „compass/css3“;<br />

Damit wird das CSS3-Modul importiert,<br />

was anscheinend aber keine Auswirkungen<br />

hat: Das generierte CSS-Style<br />

sheet zeigt sich unverändert. Der Grund<br />

dafür ist, dass im CSS3-Modul nur Mixins<br />

definiert sind, also wiederverwendbare<br />

CSS-Komponenten. <strong>Die</strong>se Mixins treten<br />

aber erst in Erscheinung, wenn man sie<br />

benutzt – beispielsweise für Transitions.<br />

Nehmen wir an, wir haben ein Element,<br />

dem wir eine Transition zuweisen möchten:<br />

Wird mit dem Mauszeiger auf das<br />

Element gezeigt, soll ein langsamer<br />

Wechsel der Hintergrundfarbe ablaufen.<br />

Im normalen CSS müssten wir die Eigenschaft<br />

transition mit mehreren Präfixen<br />

schreiben. Compass nimmt uns diese Arbeit<br />

durch den @include-Befehl ab:<br />

.beispiel {<br />

background-color: green;<br />

@include transition(backgroundcolor<br />

0.3s ease-in);<br />

}<br />

.beispiel:hover {<br />

background-color: white;<br />

}<br />

Im erzeugten Stylesheet steht hingegen<br />

der Code mit den herstellerspezifischen<br />

Präfixen – das CSS3-Modul hat sie hingezaubert:<br />

.beispiel {<br />

background-color: green;<br />

-webkit-transition: backgroundcolor<br />

0.3s ease-in;<br />

-moz-transition: background-color<br />

0.3s ease-in;<br />

-o-transition: background-color<br />

0.3s ease-in;<br />

transition: background-color 0.3s<br />

ease-in;<br />

}<br />

.beispiel:hover {<br />

background-color: white;<br />

}<br />

Das CSS3-Modul liefert solche Verkürzungen<br />

auch für viele weitere CSS3-<br />

Eigenschaften – von box-shadow über @<br />

font-face, Transformationen bis hin zum<br />

Mehrspaltenlayout und vielen mehr.<br />

Welche Browser dabei unterstützt werden<br />

sollen, können Sie übrigens über<br />

Variablen steuern.<br />

Compass-Module im Überblick<br />

Neben dem gerade gezeigten CSS3-<br />

Modul gibt es eine Reihe von weiteren<br />

Modulen. Genauere Informationen dazu<br />

finden Sie auf der Projekt-Website unter<br />

dem Punkt „Reference“. Hier einmal im<br />

Überblick:<br />

» Das Core-Framework enthält Co<strong>des</strong>,<br />

die sonst in mehreren Frameworks<br />

wiederholt werden müssten.<br />

» Im Modul Typography befinden sich<br />

wiederverwendbare Sass-Befehle zur<br />

Formatierung von Texten, wie beispielsweise<br />

zur Einhaltung eines vertikalen<br />

Rhythmus.<br />

» <strong>Die</strong> Hilfsfunktionen („Helper Functions")<br />

halten nützliche Befehle bereit,<br />

beispielsweise um Farben zu verändern,<br />

wie adjust-lightness() oder adjust-saturation()<br />

und vieles mehr.<br />

» Das Modul Layout integriert häufig<br />

22 0513 internet magazin


ANZEIGE<br />

+<br />

5 1. PLATZ<br />

UNSERE LESER HABEN SICH ENTSCHIEDEN UND<br />

SAMSUNG FÜNF MAL ZUR NUMMER 1 GEWÄHLT.<br />

NOTEBOOKS<br />

Heute sind die Ansprüche an ein Notebook so unterschiedlich<br />

wie seine Nutzer. Ob ultramobiler Begleiter, leistungsstarkes<br />

Arbeitsgerät, komfortable Komplettlösung aus Rechner und<br />

Bildschirm oder Multimedia-Gerät – Samsung bietet eine<br />

breite Palette an hochwertigen Geräten für jeden Bedarf.<br />

MULTIFUNKTIONSGERÄTE<br />

Samsung offeriert ein komplettes Portfolio an Laser-Multifunktionsgeräten<br />

in Farbe und Schwarz-Weiß. Vom kleinen,<br />

Platz sparenden 3-in-1-Gerät für den Schreibtisch, über<br />

schnelle Arbeitsgruppengeräte bis hin zu hoch leistungsfähigen<br />

A3-Kopiersystemen finden Anwender immer das richtige<br />

System für die unterschiedlichsten Aufgabengebiete.<br />

MONITORE<br />

Samsung steht für professionelle Premium-Qualitätsmonitore,<br />

die den Bedürfnissen verschiedenster Nutzergruppen<br />

gerecht werden und liefert aktuellste Technologie für<br />

anspruchsvolle Anwender. So überzeugen alle neuesten<br />

hochauflösenden Monitore mit exzellenter Bildqualität in<br />

elegantem Design.<br />

SMARTPHONES<br />

Während der eine Konsument<br />

ein einfaches Modell bevorzugt,<br />

mit dem er vor allen Dingen telefonieren<br />

und hin und wieder<br />

im Netz surfen kann, möchte der<br />

nächste ein Mobiltelefon, das<br />

auch dem fordernden Einsatz auf<br />

einer Baustelle oder beim Aktivsport<br />

standhält. Andere wünschen<br />

sich hingegen Smartphones<br />

mit umfangreichen Leistungsreserven,<br />

innovativen Funktionen<br />

und atemberaubenden Displays.<br />

Samsung befriedigt gekonnt alle<br />

diese individuellen Wünsche und<br />

begeistert seit Jahren mit neuester<br />

Technik, richtungsweisenden<br />

Funktionen, hoher Qualität und<br />

klaren Designs.<br />

DOCUMENT SOLUTIONS<br />

Ausgezeichnete Hardware benötigt professionelle<br />

Lösungen, um sie optimal nutzen zu<br />

können. Aus diesem Grunde befindet sich bereits<br />

im Lieferumfang der Samsung-Systeme ein<br />

umfangreiches und leistungsstarkes Paket an<br />

Dokumentenmanagement-Lösungen. Weitere<br />

optionale Module aus dem Samsung M.I.S.-<br />

Konzept ermöglichen die Anpassung an alle<br />

modernen Office-Bedürfnisse.


SPECIAL | Compass-CSS<br />

benötigte Layoutkomponenten wie<br />

den Code für einen Sticky Footer<br />

(eine Fußzeile, die immer am unteren<br />

Browserfensterrand bleibt) oder Grid<br />

Background, das ein Raster über CSS3-<br />

Farbverläufe generiert – nützlich beim<br />

Entwurf von Rasterlayouts.<br />

» Utilities hilft bei gängigen Aufgaben –<br />

unter anderem für die Erstellung von<br />

CSS-Sprites.<br />

Das Modul Blueprint hat eine Sonderstellung.<br />

Es enthält neben Klassen für<br />

die Erstellung eines Rasterlayouts auch<br />

weitergehenden Formatierungen für die<br />

Typographie, für Formulare, Buttons und<br />

Tabs. Im Unterschied zu den anderen<br />

Modulen ist es aber standardmäßig nicht<br />

mitinstalliert. Wenn Sie es benötigen, geben<br />

Sie das direkt bei der Erstellung <strong>des</strong><br />

Projekts an:<br />

compass create meinprojekt --using<br />

blueprint<br />

Bei einem bestehenden Projekt schreiben<br />

Sie hingegen:<br />

compass install blueprint<br />

Modulhierarchie<br />

<strong>Die</strong> Module in Compass sind hierarchisch<br />

angeordnet. Wenn Sie ein übergeordnetes<br />

Modul importieren, werden<br />

alle untergeordneten Module mitimportiert.<br />

Wenn Sie beispielsweise vom CSS3-<br />

Modul nur die Transitions benötigen, genügt<br />

Folgen<strong>des</strong>:<br />

@import „compass/css3/transition“;<br />

Möchten Sie hingegen alle CSS3-Module<br />

nutzen, so importieren Sie diese über:<br />

@import „compass/css3“;<br />

von geschweiften Klammern setzt, um<br />

Blöcke zu kennzeichnen, und zum anderen<br />

über die SCSS-Syntax. Letztere<br />

kommt standardmäßig bei Compass<br />

zum Einsatz und wurde auch bisher im<br />

Artikel verwendet. <strong>Die</strong> SCSS-Syntax hat<br />

den Vorteil, dass sie CSS-kompatibel ist<br />

und Sie die geschweiften Klammern wie<br />

in CSS üblich benutzen können. Zudem<br />

lässt sich auch bestehender CSS-Code<br />

direkt integrieren. Sehen wir uns einmal<br />

die äußert praktischen Variablen bei Sass/<br />

Compass an. <strong>Die</strong>se kann man beispielsweise<br />

für Farben nutzen, wodurch sich<br />

Anpassungen am Farbschema problemlos<br />

vornehmen lassen. Zuerst definieren<br />

Sie die Variable:<br />

$logofarbe: #3fbfce;<br />

Danach lässt sich die Variable nutzen,<br />

wo man sie braucht:<br />

.navigation {<br />

background-color: $logofarbe;<br />

}<br />

Im erzeugten Stylesheet ist dann die Ersetzung<br />

durchgeführt:<br />

.navigation {<br />

background-color: #3fbfce;<br />

}<br />

Außerdem bietet Sass/Compass nützliche<br />

und recht intuitive Verkürzungen bei der<br />

Schreibweise verschachtelter Selektoren.<br />

In CSS müssen Sie Nachfahrenkombinatoren<br />

immer einzeln angeben, also beispielsweise<br />

so:<br />

.navigation {<br />

background-color: #3fbfce;<br />

}<br />

.navigation ul {<br />

list-style-type: none;<br />

}<br />

In Sass/Compass geht das einfacher:<br />

.navigation {<br />

background-color: #3fbfce;<br />

ul {<br />

list-style-type: none;<br />

}<br />

}<br />

Mixins<br />

Ein besonders mächtiges Konzept sind<br />

die sogenannten Mixins bei Sass/Compass.<br />

Dank dieser können Sie CSS-<br />

Schnipsel einmal definieren und dann<br />

über einen kurzen Namen ansprechen.<br />

In folgendem Beispiel wird ein Mixin mit<br />

Namen links definiert:<br />

@mixin links {<br />

float: left;<br />

margin-left: 20px;<br />

width: 10%;<br />

}<br />

Ein Mixin verwenden Sie, indem Sie<br />

es über @include einbinden – so wie<br />

wir eben beim Transition-Beispiel auch<br />

Compass setzt<br />

auf Sass.<br />

Wichtige Sass-Konzepte<br />

Compass erweitert Sass durch nützliche<br />

Vorlagen. Und jetzt ist es an der Zeit,<br />

ein paar grundlegende Sass-Konzepte<br />

zu erläutern. Erst einmal vorweg: Sass<br />

können Sie in zwei Varianten schreiben,<br />

zum einen in der ursprünglichen Sass-<br />

Syntax, die auf Einrückungen anstelle<br />

24 0513 internet magazin


Compass-CSS | SPECIAL<br />

schon @include verwendet haben:<br />

.beispiel {<br />

@include links;<br />

}<br />

Dann wird der Code <strong>des</strong> Mixins an die<br />

betreffende Stelle kopiert, das Ergebnis<br />

ist in unserem Fall:<br />

.beispiel {<br />

float: left;<br />

margin-left: 20px;<br />

width: 10%;<br />

}<br />

Ebenfalls nützlich ist es, dass Sie in<br />

Sass/Compass bedingte Anweisungen<br />

verwenden können. Eine Auflistung<br />

der Sass-Funktionen finden Sie auf<br />

der Sass-Website.<br />

Nützliches Links<br />

Compass-Website<br />

http://compass-style.org/<br />

Installation von Ruby<br />

http://www.ruby-lang.org/en/<br />

downloads/<br />

Installation von Ruby unter Windows<br />

http://rubyinstaller.org/<br />

Unterstützte Browser festlegen<br />

http://compass-style.org/<br />

reference/compass/support/<br />

BlueprintCSS-Framework<br />

http://www.blueprintcss.org/<br />

Sass<br />

http://sass-lang.com/<br />

Compass.app – grafische Oberfläche<br />

für Compass<br />

http://compass.handlino.com/<br />

Sprites automatisch erstellen<br />

Für kleine Icons und ähnliche Bilder verwendet<br />

man heute häufig CSS-Sprites.<br />

Bei CSS-Sprites sind mehrere Bilder nebeneinander<br />

und/oder untereinander zu<br />

einem großen Bild montiert. <strong>Die</strong>se werden<br />

an gewünschter Stelle per CSS als<br />

Hintergrundbild zugewiesen. <strong>Die</strong> Eigenschaft<br />

background-position sorgt dabei<br />

dafür, dass jeweils der richtige Ausschnitt<br />

<strong>des</strong> Hintergrundbil<strong>des</strong> und damit das<br />

richtige Icon angezeigt wird. CSS-Sprites<br />

sind die richtige Strategie, um die Anzahl<br />

der HTTP-Requests zu beschränken, und<br />

das ist ihr großer Vorteil. Sie sind aber<br />

leider recht mühsam zu erstellen und<br />

wesentlich umständlicher als Einzelbilder,<br />

wenn es darum geht, Änderungen<br />

einzupflegen. Mit Compass wird die Arbeit<br />

mit Sprites wieder einfacher. Gehen<br />

wir einmal von drei Bildern aus, die sich<br />

innerhalb von images/meine-icons befinden.<br />

<strong>Die</strong>se heißen eins.png, zwei.png<br />

und drei.png. Um diese Bilder als Sprites<br />

nutzen zu können, müssen wir sie zuerst<br />

zu einem Bild zusammenmontieren.<br />

Außerdem benötigen wir die einzelnen<br />

Koordinaten, die wir als backgroundposition-Werte<br />

nutzen können. Das alles<br />

macht Compass für Sie automatisch,<br />

wenn Sie die folgenden Zeilen innerhalb<br />

von screen.scss ergänzen:<br />

@import „meine-icons/*.png“;<br />

@include all-meine-icons-sprites;<br />

Nach einer Neukompilierung finden Sie<br />

in Ihrem Ordner images das neu aus den<br />

Einzeldateien erstellte Bild. Außerdem ist<br />

die Datei screen.css um neue Klassendefinitionen<br />

ergänzt, denen das Hintergrundbild<br />

zugewiesen wird:<br />

.meine-icons-sprite, .meine-iconsdrei,<br />

.meine-icons-eins, .meineicons-zwei<br />

{<br />

background: url(‚/images/meineicons-s23dfd165ad.png‘)<br />

no-repeat;<br />

}<br />

In einzelnen Regeln stehen die<br />

benötigten Hintergrundpositionen:<br />

.meine-icons-drei {<br />

background-position: 0 -32px;<br />

}<br />

.meine-icons-eins {<br />

background-position: 0 -64px;<br />

}<br />

.meine-icons-zwei {<br />

background-position: 0 0;<br />

}<br />

Um ein Icon anzuzeigen, weisen Sie dem<br />

Element die Klasse zu, etwa:<br />

…<br />

Praktischerweise können Sie die Größe<br />

der Icons automatisch ermitteln lassen:<br />

$height: meine-icons-sprite-height(eins);<br />

$width: meine-icons-sprite-width(eins);<br />

<strong>Die</strong>se Variablen lassen sich dann im<br />

Code verwenden:<br />

.icon {<br />

width: $width;<br />

height: $height;<br />

}<br />

Natürlich könnte man die Dimensionen<br />

eines Icons auch direkt auslesen.<br />

Der Vorteil der dynamischen Methode<br />

ist aber, dass Sie keinerlei Änderungen<br />

durchführen müssen, wenn beispielsweise<br />

größere Icons zum Einsatz kommen.<br />

Verkleinerung leicht gemacht<br />

Aus Performance-Gründen wird empfohlen,<br />

CSS-Dateien für den produktiven<br />

Einsatz zu verkleinern und unnötige Leerzeichen<br />

und Kommentare zu entfernen.<br />

Auch diese Arbeit kann Compass erledigen.<br />

Editieren Sie hierfür die Konfigurationsdatei<br />

config.rb und schreiben Sie<br />

output_style = :compressed<br />

Wenn Sie danach die Kompilierung Ihrer<br />

SCSS-Datei ausführen, erhalten Sie als<br />

Ergebnis ein verkleinertes Stylesheet. Der<br />

Artikel kann Ihnen nur einen Ausschnitt<br />

aus den Möglichkeiten von Compass<br />

präsentieren. Zusätzlich zu dem eigentlichen<br />

Framework gibt es ja außerdem<br />

noch eine Reihe von nützlichen Extensions;<br />

so setzt beispielsweise das schöne<br />

Framework Foundation auf Compass.<br />

Selbstverständlich bringt der Umstieg<br />

auf Sass/Compass eine gewisse Einarbeitungszeit<br />

mit sich, auch an die Arbeit mit<br />

der Eingabeaufforderung muss man sich<br />

erst einmal gewöhnen. Dafür haben Sie<br />

dann mit Compass ein äußerst mächtiges<br />

Tool an der Hand, das gerade bei der Erstellung<br />

und Wartung von umfangreichen<br />

Stylesheet-Dateien seine Stärken zeigt.<br />

Dr. Florence Maurice<br />

www.internet-magazin.de 25


WEBDESIGN | Videos mit HTML 5<br />

Videos mit HTML5<br />

abspielen<br />

Browser benötigen zur Wiedergabe von Videos künftig<br />

keinen Player mehr. Denn dank HTML5 werden Videos<br />

ohne Erweiterung direkt im Browser dargestellt.<br />

<strong>Die</strong> Wiedergabe der meisten Videos<br />

erfolgt heute immer noch auf Basis<br />

von Flash. Damit grenzen Sie aber nicht<br />

nur die Nutzer mobiler Apple-Geräte<br />

aus, auch immer mehr Android-Geräte<br />

unterstützen in der neuesten Version<br />

<strong>des</strong> Betriebssystems kein Flash mehr.<br />

Grund genug, sich nach einer Alternative<br />

umzusehen.<br />

<strong>Die</strong>se kommt mit HTML5 frei Haus, denn<br />

die aktuelle HTML-Implementierung besitzt<br />

nicht nur einen Player für Audiodateien,<br />

sondern auch einen für Videos.<br />

Auf der Website von Longtain Video<br />

sehen Sie einen aktuellen Vergleich der<br />

wichtigsten Browserimplementierungen<br />

und deren Unterstützung von HTML5-<br />

Video sowie Adobe Flash. In dieser<br />

Übersicht ist ein klarer Trend in Richtung<br />

Zukunft erkennbar: weg von Adobe Flash<br />

und hin zu HTML5-Video.<br />

Einfache Integration<br />

Ein Grund dafür ist sicherlich die einfache<br />

Integration eines Videos ohne größere<br />

vorherige Konvertierungsschritte.<br />

Mit Hilfe <strong>des</strong> video-Tags können Sie<br />

einen Film mit wenigen Zeilen in Ihre<br />

Website integrieren.<br />

<strong>Die</strong> folgenden Zeilen platzieren Sie an<br />

der gewünschten Stelle innerhalb <strong>des</strong><br />

body-Tags einer HTML-Seite.<br />

<br />

<br />

<br />

Ihr Browser unterstützt die Video-<br />

Funktionalität von HTML5 nicht.<br />

<br />

<strong>Die</strong> Definition wird über das video-Tag<br />

eingeleitet, dem Sie eine Reihe von Einstellungen<br />

als Parameter mitgeben können.<br />

Das obige Beispiel stellt das Video<br />

mit einer Breite von 640 Pixeln und einer<br />

Höhe von 480 Pixeln dar. Der Parameter<br />

controls sorgt für die Anzeige der Kontrollelemente,<br />

mit denen Sie innerhalb<br />

<strong>des</strong> Videos navigieren können.<br />

<strong>Die</strong> Verlinkung zum Video stellen Sie<br />

über das Tag source her. Als Parameter<br />

müssen Sie zwingend den Namen <strong>des</strong><br />

Videos samt Pfad sowie den Datentyp<br />

der Datei angeben. In unserem Beispiel<br />

haben wir einen Film vom Typ MP4 und<br />

einen im alternativen Videoformat OGG<br />

in die Website integriert. Zu beiden Einträgen<br />

geben Sie über den Parameter type<br />

das Format <strong>des</strong> Videos direkt an.<br />

Als letzte Information innerhalb <strong>des</strong><br />

video-Tags sollten Sie denjenigen Besuchern<br />

noch einen Hinweis geben, die<br />

versuchen, das Video mit einem zu alten<br />

Browser anzuzeigen.<br />

Verschiedene Videoformate<br />

Leider unterstützen nicht alle Browser<br />

und Plattformen die gleichen Videofor-<br />

Unterstützte Videoformate<br />

Browser MP4 WebM OGG<br />

<strong>Internet</strong> Explorer 9 Ja Nein Nein<br />

Chrome 6 Ja Ja Ja<br />

Firefox 3.6 Nein Ja Ja<br />

Safari 5 Ja Nein Nein<br />

Opera 10.6 Nein Ja Ja<br />

26 0513 internet magazin


Videos mit HTML 5 | WEBDESIGN<br />

mate. <strong>Die</strong> Auflistung in der unteren Tabelle<br />

zeigt, dass es aktuell kein Videoformat<br />

gibt, welches durchgängig von allen<br />

Browsern unterstützt wird. Sie werden<br />

somit nicht umhin kommen, Ihr Video in<br />

mehreren Formaten abzuspeichern und<br />

anzubieten. Wir haben für Sie die drei<br />

gängigsten Formate und deren Browser-<br />

Unterstützung gegenübergestellt.<br />

Alle drei Videoformate werden lediglich<br />

von drei Browseranbietern unterstützt<br />

und von den anderen links liegen gelassen.<br />

Aufgrund dieses Umstands sollten<br />

Sie Ihre Videos immer im Ogg-Format<br />

und zusätzlich entweder in WebM oder<br />

MP4 anbieten.<br />

Das Ogg-Format ist ein offenes Format,<br />

welches mit dem Theora-Video-Codec<br />

und dem Vorbis-Audio-Codec arbeitet.<br />

WebM setzt im Audiobereich ebenfalls<br />

auf Vorbis, nutzt allerdings VP8 als Video-Codec.<br />

Den wohl bekanntesten Video-Codec<br />

setzt MP4 mit H.264 ein, im<br />

Audiobereich kommt AAC zu Einsatz.<br />

Aus diesem Grund sollten Sie, wie im<br />

ersten Beispiel gezeigt, immer zwei Videoformate<br />

anbieten, damit auch alle Besucher<br />

diese unabhängig vom favorisierten<br />

Browser sehen können.<br />

Darstellung <strong>des</strong> Videos<br />

<strong>Die</strong> Wiedergabe <strong>des</strong> Videos lässt sich<br />

über verschiedene Parameter, die Sie<br />

dem video-Tag mitgeben können, optimal<br />

an Ihre Anforderungen anpassen.<br />

<strong>Die</strong> aktuelle Version <strong>des</strong> Tags unterstützt<br />

insgesamt neun unterschiedliche Parameter,<br />

die jedoch alle optional sind. Im<br />

ersten Beispiel sind mit width, height und<br />

control drei von ihnen zum Einsatz gekommen.<br />

Eine komplette Übersicht aller<br />

Parameter, deren Bedeutung und mögliche<br />

Werte finden Sie in Tabelle 2.<br />

Nicht nur das video-Tag besitzt verschiedene<br />

Attribute, die es zu nutzen gilt.<br />

Auch das source-Tag besitzt drei Parameter,<br />

mit denen Sie neben der URL und<br />

Auf der Website<br />

Longtailvideo<br />

finden Sie eine<br />

Übersicht der<br />

aktuellen Marktdurchdringung<br />

verschiedener<br />

Browserversionen<br />

sowie deren<br />

HTML5-Videounterstützung.<br />

dem MIME-Typ auch die Art der Medienquelle<br />

festlegen können. <strong>Die</strong> beiden letzten<br />

Angaben sind jedoch nicht zwingend<br />

notwendig erforderlich. Natürlich muss<br />

ein Verweis auf die Videodatei gesetzt<br />

werden, da ansonsten keine Wiedergabe<br />

stattfinden kann. Wenn Sie den Webserver<br />

selbst betreiben und zum ersten Mal<br />

Videos ausliefern, dann sollten Sie in der<br />

Datei httpd.conf kontrollieren, ob die<br />

Videodateien mit dem korrekten MIME-<br />

Typ ausgeliefert werden. Für die drei Dateiformate<br />

sollten folgende Zeilen in der<br />

Konfigurationsdatei vorhanden sein:<br />

AddType video/ogg .ogv<br />

AddType video/mp4 .mp4<br />

AddType video/webm .webm<br />

Anpassung der Oberfläche<br />

Auf all diese Eigenschaften haben Sie<br />

über das DOM-Modell direkten Zugriff.<br />

Damit jedoch nicht genug. HTML5 in<br />

Kombination mit Javascript ermöglicht<br />

Mit Hilfe von Javascript können Sie<br />

eigene Schaltflächen definieren und mit<br />

Funktionen versehen.<br />

Ihnen eine Anpassung <strong>des</strong> Videoplayers<br />

an Ihre eigenen Bedürfnisse und Vorstellungen.<br />

Das Ganze funktioniert im<br />

Übrigen analog für den Audioplayer –<br />

dies ist jedoch nicht Bestandteil dieses<br />

Workshops. Sie können mit Hilfe von<br />

Javascript auf die Methoden <strong>des</strong> Videoplayers<br />

zugreifen und damit beispielsweise<br />

einen Film abspielen, eine Pause<br />

einlegen oder die Wiedergabe komplett<br />

beenden. <strong>Die</strong> Eigenschaften erlauben<br />

Ihnen zum einen den Überblick, auf<br />

welchem Niveau die Lautstärke aktuell<br />

eingestellt ist, und zum anderen einen<br />

direkten Zugriff auf diese Werte.<br />

Im folgenden Beispiel soll es im ersten<br />

Schritt lediglich einen Knopf zum Starten<br />

und Pausieren <strong>des</strong> Videos geben.<br />

Dazu fügen Sie innerhalb <strong>des</strong> div-Tags<br />

als erstes eine Schaltfläche hinzu. In unserem<br />

Fall haben wir ein -Tag<br />

verwendet und das Ereignis onlick mit<br />

der Funktion start_stop() verbunden.<br />

Damit Sie das Video auch per DOM<br />

ansteuern können, versehen Sie das<br />

video-Tag noch mit einer ID, wie etwa<br />

„meinVideo“ und entfernen das Attribut<br />

controls. Damit bekommen Sie beim<br />

nächsten Aufruf das erste Bild <strong>des</strong> Videos<br />

angezeigt und haben eine Schaltfläche,<br />

www.internet-magazin.de 27


WEBDESIGN | Videos mit HTML 5<br />

die allerdings noch ohne Funktion ist.<br />

<br />

Abspielen/Pause<br />

<br />

<br />

<br />

Ihr Browser unterstützt die<br />

Video-Funktionalität von HTML5<br />

nicht.<br />

<br />

<br />

<strong>Die</strong> Funktion kommt im nächsten Schritt<br />

per Javascript hinzu. Für den Zugriff auf<br />

das Video-Objekt benötigen Sie eine Variable.<br />

<strong>Die</strong> Verknüpfung wird über die<br />

Eigenschaft document.getElementById()<br />

realisiert.<br />

<br />

var meinVideo1=document.<br />

getElementById(„meinVideo“);<br />

function start_stop() {<br />

if (meinVideo1.paused)<br />

meinVideo1.play();<br />

else<br />

meinVideo1.pause();<br />

}<br />

<br />

<strong>Die</strong> eigentliche Funktion start_stop() ist<br />

denkbar einfach aufgebaut. Sie fragen lediglich<br />

ab, in welchem Modus sich das<br />

Video befindet und verändern diesen<br />

entsprechend. So wird ein<br />

Video, <strong>des</strong>sen Wiedergabe<br />

aktuell pausiert, erneut wiedergegeben<br />

und umgekehrt. <strong>Die</strong>s reicht bereits<br />

für die Wiedergabe <strong>des</strong> Videos sowie die<br />

Pause-Funktion aus.<br />

Funktionen erweitern<br />

Im nächsten Schritt sollen weitere Funktionen<br />

für die Wiedergabe <strong>des</strong> Videos<br />

hinzugefügt werden. Dabei soll nicht<br />

eine vollständige Funktion wie im vorherigen<br />

Beispiel zum Einsatz kommen,<br />

sondern lediglich eine verkürzte Variante.<br />

Mit dieser werden zwei Schaltflächen<br />

„Lauter“ und „Leiser“ angelegt, die beim<br />

Anklicken die Lautstärke jeweils um 0,1<br />

Punkte erhöhen oder verringern.<br />

Lauter<br />

Leiser<br />

<strong>Die</strong> Veränderung der Lautstärke wird<br />

durch einen direkten Zugriff auf das<br />

DOM-Objekt und die zugehörige Eigenschaft<br />

volume erzielt. Dazu addieren<br />

oder subtrahieren Sie vom aktuellen Wert<br />

jeweils 0,1 Punkte.<br />

Laden <strong>des</strong> Films stoppen<br />

Wenn Sie einen größeren Film zur Verfügung<br />

stellen, kann mit der Wiedergabe<br />

bereits begonnen werden, wenn noch<br />

<strong>Die</strong>nste und Programme zur Videokonvertierung<br />

Für die Konvertierung <strong>des</strong> Videos gibt es zahlreiche Programme im Open-Source-Bereich.<br />

Wir haben einige interessante Kandidaten für Sie zusammengestellt:<br />

» Fireogg (http://firefogg.org/make/index.html): ein Online-<strong>Die</strong>nst, mit dem Sie<br />

über ein Firefox-Plug-in Videos ins Ogg- oder WebM-Format konvertieren können.<br />

» Handbrake (http://handbrake.fr/details.php): ein Programm für Windows, Mac OS X<br />

und Linux zum flexiblen Konvertieren zwischen den meisten gängigen Formaten.<br />

» Any Video Converter (http://www.any-video-converter.com/products/for_video_<br />

free/): zum Konvertieren von Videoformaten unter Windows.<br />

» Freemake Video Converter (http://www.freemake.com/de/): ebenfalls zum Konvertieren<br />

unter Windows.<br />

Es lassen sich nahezu alle Funktionen<br />

per Javascript abbilden.<br />

nicht der komplette Film geladen ist. Pausieren<br />

Sie anschließend die Wiedergabe,<br />

lädt die Website trotzdem im Hintergrund<br />

noch weitere Daten herunter. Der<br />

Standard sieht auch keinen Weg vor, diesen<br />

Prozess zu stoppen. Allerdings gibt<br />

es einen eleganten Behelf, wie Sie trotz<br />

allem das Laden beenden können:<br />

var meinVideo1 = document.<br />

getElementById(„meinVideo“);<br />

meinVideo1.pause();<br />

meinVideo1.src = „“;<br />

Im ersten Schritt benötigen Sie natürlich<br />

wieder Zugriff auf das Video, das Sie als<br />

nächstes in den Pause-Modus versetzen.<br />

Damit das Laden anschließend auch<br />

wirklich stoppt, löschen Sie einfach die<br />

Verlinkung zwischen der Website und<br />

dem Film auf Ihrem Webserver, indem<br />

Sie die Eigenschaft src mit einem Leerstring<br />

versehen.<br />

Zeitliche Sprünge<br />

Wenn Sie die klassischen Steuerelemente<br />

einsetzen, dann haben Sie eine Zeitleiste<br />

zur Verfügung, über welche Sie die Wiedergabeposition<br />

festlegen. Wenn Sie Ihre<br />

eigene Steuerung entwickeln, können Sie<br />

entweder einen entsprechenden Regler<br />

nachprogrammieren oder Sie steuern<br />

dies über verschiedene Schaltflächen.<br />

Welchen Weg auch immer Sie wählen,<br />

der Programmcode und die notwendigen<br />

Attribute sind immer die gleichen.<br />

meinVideo1.seekable.start();<br />

meinVideo1.seekable.end();<br />

meinVideo1.currentTime = 99;<br />

meinVideo1.played.end();<br />

28 0513 internet magazin


Videos mit HTML 5 | WEBDESIGN<br />

Verschiedene Player nutzen heute<br />

bereits HTML5 und bieten eine<br />

vordefinierte Oberfläche an.<br />

Ein Video ist in ein oder mehrere sogenannte<br />

Time-Range-Objekte unterteilt.<br />

<strong>Die</strong>s sind zeitliche Abschnitte,<br />

die Sie explizit ansteuern können.<br />

Zu jedem dieser Objekte gibt es einen<br />

Start- und einen Endpunkt. <strong>Die</strong><br />

erste Programmzeile gibt Ihnen den<br />

Startpunkt zurück, die zweite entsprechend<br />

den Endpunkt.<br />

Wenn Sie die Wiedergabe an einer<br />

bestimmten Stelle im Film beginnen<br />

möchten, setzen Sie den Wert in Sekunden<br />

über die Eigenschaft currentTime.<br />

Mit diesem Parameter können Sie im<br />

Übrigen auch die aktuelle Position in<br />

Sekunden abfragen, an der Sie sich gerade<br />

befinden. <strong>Die</strong> vierte Programmzeile<br />

liefert Ihnen schließlich die Ende-Position<br />

<strong>des</strong> aktuellen Abschnitts zurück.<br />

Vorgefertigte Lösungen<br />

Es gibt eine Reihe von Standardplayern,<br />

bei denen Sie sich diesem Programmieraufwand<br />

sparen können. Sie können<br />

diese Player direkt mit der Standardoberfläche<br />

integrieren oder nach Ihren eigenen<br />

Wünschen konfigurieren.<br />

<strong>Die</strong> Basis der Player ist HTML5. Somit ist<br />

ein konsistentes Aussehen über die verschiedenen<br />

Browserplattformen hinweg<br />

garantiert. Besonders interessant sind<br />

die Lösungen, die als Fallback-Lösung<br />

noch die Wiedergabe von Flash-Dateien<br />

erlauben. <strong>Die</strong> beiden Entwickler Gerrit<br />

van Aaken und Philip Bräunlich haben<br />

auf ihrer Website (http://praegnanz.de/<br />

html5video/index.php) eine Liste von<br />

Playern zusammengestellt und die einzelnen<br />

Eigenschaften miteinander verglichen.<br />

Besonders interessant ist die direkte<br />

Integration der einzelnen Player in<br />

die Website. Nachdem Sie den Namen<br />

<strong>des</strong> Players in der Übersicht angeklickt<br />

Parameter von <br />

Parameter Bedeutung Wert<br />

autoplay Video startet automatisch mit der Wiedergabe, wenn Autoplay<br />

dieser Wert gesetzt ist. Standardwert ist false.<br />

controls Zeigt die Kontrollleiste für die Steuerung der Videowiedergabe<br />

controls<br />

an. Standardwert ist false.<br />

height Legt die Höhe <strong>des</strong> Fensters für die Videowiedergabe fest. Wert in Pixel<br />

loop Legt fest, ob das Video in einer Schleife wiedergegeben loop<br />

werden soll. Standardwert ist false.<br />

muted Video startet ohne Tonwiedergabe. Standardwert ist false. muted<br />

poster Sie können ein Bild angeben, das während <strong>des</strong><br />

Pfadangabe auf Datei<br />

Ladens und bis zum Start <strong>des</strong> Videos angezeigt wird.<br />

preload La<strong>des</strong>trategie <strong>des</strong> Videos während <strong>des</strong> Ladens der Website.<br />

auto, metadata, none<br />

Verschiedene Werte sind möglich.<br />

src Link zur Videodatei URL<br />

width Legt die Breite <strong>des</strong> Fensters für die Videowiedergabe fest. Wert in Pixel<br />

haben, sehen Sie direkt den Player und<br />

die Startsequenz eines Demovideos. Damit<br />

können Sie sich gleich ein erstes Bild<br />

über den Player machen.<br />

Fazit<br />

<strong>Die</strong> Wiedergabe eines Videos per HTML5<br />

ist heute in nahezu jedem Browser möglich.<br />

Lediglich Nutzer von Windows XP,<br />

die noch den <strong>Internet</strong> Explorer einsetzen,<br />

schauen in die Röhre. <strong>Die</strong> größere Herausforderung<br />

ist die Wahl <strong>des</strong> passenden<br />

Formats. Da sich die Browserhersteller bis<br />

jetzt nicht auf einen durchgängigen Standard<br />

einigen konnten, sollten Sie immer<br />

zwei unterschiedliche Formate anbieten.<br />

Das Konvertieren geht allerdings dank<br />

zahlreicher Open-Source-Programme<br />

und Webdienste einfach von der Hand.<br />

Andreas Hitzig<br />

www.internet-magazin.de 29


WEBDESIGN | Centurion CSS<br />

Rapid Responsive<br />

Prototyping<br />

mit Centurion<br />

HTML5- und CSS3-Frameworks schießen wie Pilze aus<br />

dem Boden. Doch für welches soll man sich entscheiden?<br />

Mit Centurion hat Justin Hough ein vielversprechen<strong>des</strong><br />

Framework realisiert, <strong>des</strong>sen Stärken im Prototyping<br />

liegen. Doch lohnt die Einarbeitung und was<br />

ist in Zukunft von dem Projekt zu erwarten?<br />

Bei Web<strong>des</strong>ignern stehen HTMLund<br />

CSS-Frameworks hoch im Kurs,<br />

die auf sogenannten Gestaltungsrastern<br />

basieren. In solchen Grid-Frameworks<br />

kommen vordefinierte CSS-Klassen<br />

zum Einsatz und erlauben die schnelle<br />

und einfache Entwicklung von Website-<br />

Prototypen. Das bekannteste CSS-Grid-<br />

Framework dürfte das 960 Grid System<br />

(960.gs) sein. Auch Twitters Bootstrap hat<br />

viele Anhänger.<br />

Mit Centurion schickt sich ein recht neues<br />

Framework an, mehr und mehr Freunde<br />

zu gewinnen. Auf den ersten Blick erinnert<br />

Centurion sehr an Twitters Bootstrap<br />

und an das 960 Grid System. Bei näherer<br />

Betrachtung wird schnell deutlich, dass<br />

es sich zwar nicht mit etablierten Umgebungen<br />

messen kann, aber aufgrund<br />

seiner einfachen und klaren Zielsetzung<br />

ganz andere Stärken hat.<br />

Als Web-Framework für das Prototyping<br />

von Responsive Design nutzt es Sass und<br />

CSS3 Media Queries. Das Erstellen von<br />

Prototypen ist dank der simplen Syntax<br />

einfach möglich. Das Framework nutzt<br />

ein 960-Pixel-Raster, das Sie einfach auf<br />

eine Breite von 320 Pixeln skalieren können.<br />

Weitere Highlights sind benutzerdefinierte<br />

CSS-Buttons, ein Menüsystem für<br />

Desktop- und Mobile Client sowie die<br />

Überschriftenskalierung auf Grundlage<br />

der Browsergröße (Centurion verwendet<br />

dabei em statt px).<br />

Besonderheiten von Centurion<br />

Der Centurion-Entwickler hatte von Anbeginn<br />

<strong>des</strong> Projekts die schnelle Theme-<br />

Entwicklung im Sinn. Das erklärt auch,<br />

warum Centurion im direkten Vergleich<br />

zu Groundwork, Gumby Framework &<br />

Co. einen etwas schwachbrüstigen Eindruck<br />

macht. Doch diese „Kompaktheit“<br />

kann eine Stärke sein. Da das Framework<br />

auf Sass setzt, behält der Web<strong>des</strong>igner<br />

recht einfach den Überblick. Das Besondere<br />

an diesem Framework: Es ist so ausgelegt,<br />

dass Sie damit ein Theme für ein<br />

beliebiges Content-Management-System<br />

oder ein Blog realisieren können. Auch<br />

die reine Frontend-Entwicklung ist mit<br />

Centurion möglich. Haben Sie sich also<br />

einmal in die Umgebung eingearbeitet,<br />

können Sie das System für alle gängigen<br />

Webapplikationen nutzen. Aktuell ist<br />

Centurion in Version 3.0 verfügbar. Mancher<br />

wird sich fragen, warum ihm dieses<br />

Projekt bislang entgangen ist. <strong>Die</strong> Frage<br />

lässt sich recht einfach beantworten: <strong>Die</strong><br />

beiden ersten Versionen kamen nur bei<br />

Projekten <strong>des</strong> Entwicklers zum Einsatz.<br />

Erst seit Version 3.0 unterliegt Centurion<br />

den beiden Lizenzen GPL und MIT.<br />

Damit steht auch einem kommerziellen<br />

Einsatz nichts im Wege.<br />

Webentwickler, die bereits mit einem<br />

Framework wie 960.gs gearbeitet haben,<br />

werden sich schnell mit Centurion<br />

anfreunden. Mit 960.gs hat dieses System<br />

nicht nur die gleiche Ausdehnung<br />

gemein, sondern auch die Syntax ist<br />

ähnlich. Der Centurion-Entwickler hat<br />

sich aber auch bei Twitters Bootstrap<br />

bedient und das Konzept <strong>des</strong> grafiklosen<br />

Styling der gängigen Bedien- und<br />

Steuerelemente übernommen. Gerade<br />

die Schaltflächen <strong>des</strong> Centurion-Frameworks<br />

erinnern sehr stark an Bootstrap.<br />

Damit bewegt sich diese Umgebung<br />

irgendwo zwischen ihren berühmten<br />

Vorbildern. In Sachen Responsive Design<br />

setzt Centurion konsequent auf CSS<br />

Media Queries.<br />

Entwicklung mit Centurion<br />

Centurion ist – im Unterschied zu 960.<br />

gs – keineswegs auf ein 12-Spaltensystem<br />

begrenzt. Zwar verwendet das Framework<br />

standardmäßig ein 12-spaltiges<br />

Raster, aber Sie können damit auch eines<br />

30 0513 internet magazin


Centurion CSS | WEBDESIGN<br />

mit 16, 18 oder mehr Spalten erzeugen.<br />

Dabei kommt Centurion zu Gute, dass<br />

das System auf Sass basiert.<br />

Um die verfügbaren Spalten in vier identische<br />

Container aufzuteilen, verwendet<br />

man folgende Syntax:<br />

class=“grid-3“<br />

<strong>Die</strong> Standardversion von Centurion, die<br />

Sie über die Github-Website beziehen<br />

können, besitzt eine 12-spaltige<br />

Konfiguration mit einer Breite von 960<br />

Pixeln für die Darstellung der Inhalte<br />

auf Desktop-Rechnern und eine per<br />

CSS3-Media-Queries heruntergebrochene<br />

Version für Smartphones mit 360<br />

Pixeln Breite.<br />

Sie können das 12-Spaltensystem<br />

grid-12 in unterschiedliche Einzelspalten<br />

aufteilen, beispielsweise in<br />

grid-4 und grid-8:<br />

<br />

<br />

…<br />

<br />

<br />

…<br />

<br />

<br />

Doch damit nicht genug: Sie können<br />

auch verschachtelte Spalten anlegen,<br />

ohne dass der Code dabei deutlich komplizierter<br />

würde. Wenn Sie ein sechsspal-<br />

So macht Web Prototyping Spaß: Mit wenig Aufwand können Sie eine Tabelle anlegen.<br />

tiges Layout verwenden und drei Bilder<br />

<br />

mit Bildunterschrift nebeneinander platzieren<br />

wollen, und zwar unterhalb <strong>des</strong> <br />

Bildunterschrift zu Bild 1<br />

Haupttextblocks, müssen Sie dem Code <br />

lediglich mobile-33 hinzufügen. Der<br />

<br />

Wert 33 bestimmt dabei den Prozentsatz<br />

Bildunterschrift zu Bild 2<br />

der Breite der verschachtelten Spalten:<br />

<br />

<br />

<br />

Hier findet sich der Text,<br />

<br />

der durch die drei nachfolgenden<br />

Bildunterschrift zu Bild 3<br />

Bilder ergänzt wird.<br />

<br />

<br />

Mit Centurion<br />

lassen sich<br />

die unterschiedlichsten<br />

Spaltensysteme<br />

für die<br />

Template-<br />

Gestaltung<br />

realisieren.<br />

<strong>Die</strong> Grid-Elemente Alpha und Omega<br />

besitzen einen Seitenabstand von 10 Pixeln<br />

und einen Standardabstand von 20<br />

Pixeln zwischen jeder Spalte.<br />

Einfach und effektiv:<br />

Schaltflächen<br />

Wenn Sie dabei sind, einen Website-<br />

Prototypen zu erstellen, genügt es vollkommen,<br />

wenn Sie die Schaltflächen<br />

durch einfache Buttons realisieren, die<br />

die gewünschte Funktionen wie die<br />

Verarbeitung von Formulareingaben re-<br />

www.internet-magazin.de 31


WEBDESIGN | Centurion CSS<br />

präsentieren. Ein Button wird durch den<br />

Aufruf der button-Klassen implementiert<br />

– das war es auch fast schon. <strong>Die</strong> Standardklasse<br />

kümmert sich um die Farbfüllung,<br />

die Größe und die Formgebung. Ein<br />

einfaches Beispiel:<br />

Kleine Schaltfläche<br />

Der Standard-Button besitzt den ihm<br />

zugewiesenen Text und einen schwarzen<br />

Hintergrund. Sollte Ihnen das nicht<br />

zusagen, haben Sie die Wahl zwischen<br />

folgenden weiteren Farben:<br />

» Blau - blue<br />

» Grün - green<br />

» Grau - grey<br />

» Rot - red<br />

» Gelb - yellow<br />

Wenn Sie eine rote Schaltfläche anlegen<br />

wollen, sieht der Code wie folgt aus:<br />

<br />

Eine rote Schaltfläche<br />

<br />

<br />

<br />

Tabellen-<br />

Header<br />

<br />

<br />

<br />

<br />

Text<br />

Langer Text<br />

Text<br />

Text<br />

<br />

<br />

Text<br />

Langer Text<br />

Text<br />

Text<br />

<br />

<br />

Text<br />

Langer Text<br />

Text<br />

Content<br />

<br />

<br />

<br />

Mehr als<br />

ausreichend:<br />

Centurion<br />

verfügt über<br />

spezielle<br />

Button-<br />

Klassen für<br />

das schnelle<br />

Entwickeln<br />

typischer<br />

interaktiver<br />

Funktionen.<br />

Neben der Farbe können Sie auch die<br />

Größe der Schaltflächen an Ihre Anforderungen<br />

anpassen. Sollte Ihnen der<br />

Standard-Button zu groß sein, können<br />

Sie <strong>des</strong>sen Größe mit der small-Klasse<br />

anpassen:<br />

<br />

Ein kleiner Button<br />

Sollte Ihnen die Form hingegen zu klein<br />

erscheinen, verwenden Sie die large-<br />

Klasse. Ein Beispiel:<br />

Eine große blaue Schaltfläche<br />

Professionelle Tabelle<br />

Mit Centurion lassen sich mit wenigem<br />

Aufwand ansprechende Tabellen realisieren.<br />

Dabei sind Sie flexibel, was die Gestaltung<br />

der Tabelle angeht. Eine einfache<br />

Tabelle mit grau hinterlegter Kopfzeile<br />

wird wie folgt angelegt:<br />

Analog zu den Schaltflächen können Sie<br />

auch Ihre Tabellen mit ähnlichen Farbschemata<br />

gestalten. Das Framework stellt<br />

folgende Farbklassen zur Verfügung:<br />

» Blau - ctBlue<br />

» Grün - ctGreen<br />

» Grau - ctGrey<br />

» Organe - ctOrange<br />

» Rot - ctRed<br />

» Gelb - ctYellow<br />

Um die Farbe zu verwenden, müssen<br />

Sie der Tabelle lediglich die gewünschte<br />

Farbklasse zuweisen. Ein Beispiel:<br />

<br />

Weitere Gestaltungsmöglichkeiten<br />

Das Centurion-Framework bietet Ihnen<br />

verschiedene weitere interessante Möglichkeiten.<br />

Sie können beispielsweise<br />

sehr einfach eine Warnung ausgeben.<br />

Beim Standardwarnhinweis wird der<br />

Text lediglich in einem grau hinterlegten<br />

Dialog ausgegeben. Er wird wie<br />

folgt angelegt:<br />

<br />

<br />

Das ist der Standardhinweisdialog!<br />

<br />

Neben diesem Standarddialog erlaubt<br />

Centurion die Ausgabe spezieller Fehler-<br />

und Erfolgsmeldungen. Eine Fehlermeldung<br />

wird wie folgt definiert:<br />

<br />

...<br />

<br />

Eine Erfolgsmeldung legen Sie<br />

folgendermaßen an:<br />

<br />

...<br />

<br />

Das Centurion-Framework hat verschiedene<br />

weitere interessante Möglichkeiten<br />

zu bieten. Wenn Sie in Ihrem Blog, Shop<br />

oder Content-ManagementSystem sehr<br />

32 0513 internet magazin


Centurion CSS | WEBDESIGN<br />

Alternative Frameworks<br />

Neben Centurion gibt es eine Vielzahl<br />

weiterer Frameworks, die sich für die Entwicklung<br />

eignen. Viele taugen auch für<br />

den schnellen Entwurf von Prototypen.<br />

<strong>Die</strong> Zahl der Web-Frameworks wächst kontinuierlich.<br />

Dabei spielt das Responsive<br />

Design eine immer größere Rolle. Sie vereinfachen<br />

vielerlei Entwicklungsaufgaben<br />

und unterstützen bei Standardaufgaben.<br />

Außerdem lassen sich die vordefinierten<br />

Styles eines Frameworks einfach über den<br />

-Teil der Website einbinden.<br />

» Bei Groundwork (http://groundwork.<br />

sidereel.com) handelt es sich um ein<br />

vollständig responsives Framework für<br />

die Frontend-Entwicklung. Noch befindet<br />

es sich in der Betaphase, bietet<br />

aber schon jetzt eine Fülle vordefinierter<br />

Klassen, mit denen sich neben<br />

Standardelementen auch komplexe Elemente<br />

wie Formulare implementieren<br />

lassen. Für ein noch recht junges Projekt<br />

ist es gut dokumentiert.<br />

» Fast schon ein Klassiker ist das 960<br />

Grid System (http://960.gs). Es ist<br />

zweifelsohne das bekannteste CSS-Grid-<br />

Framework. Mit diesem Framework können<br />

Sie mit vordefinierten CSS-Klassen<br />

Website-Layouts anlegen, die auf Gestaltungsrastern<br />

basieren. Der Darstellungsbereich<br />

<strong>des</strong> 960 Grid System ist<br />

auf 960 Pixel Breite festgelegt, wobei<br />

Sie die Spaltenzahl variieren können.<br />

» Das von Twitter entwickelte Bootstrap<br />

(http://twitter.github.com/bootstrap/)<br />

ist kein reines CSS-Framework.<br />

Es verwendet ein 12-spaltiges Grid,<br />

das responsive-fähig ist. Bootstrap<br />

ist ein Komplettpaket, das eine Fülle<br />

von jQuery-Plug-ins, vordefinierte<br />

Stylesheets für typographische Effekte,<br />

Tabellen und ein umfangreiches<br />

Iconset bereithält. Neben der Vielzahl<br />

von Klassen verdient die Projekt-Site<br />

besondere Beachtung, da die konkrete<br />

Verwendung dort anhand vieler Beispiele<br />

illustriert wird.<br />

» Auch Foundation 3 (http://foundation.zurb.com)<br />

eignet sich für die<br />

schnelle Entwicklung von Prototypen<br />

– aber nicht nur hierfür. <strong>Die</strong>ses Framework<br />

basiert ebenfalls auf dem Sass-<br />

CSS-Präprozessor und stellt für das<br />

Prototyping schön gestaltete Buttons,<br />

Formulare, Schaltflächen, Navigationsleisten<br />

und Tabs bereit.<br />

» Ein noch recht junges und unbekanntes<br />

Grid-System ist Gumby Framework<br />

(http://gumbyframework.com). Für<br />

das Rapid Prototyping stellt es Schaltflächen,<br />

Formulare, Auswahlmenüs<br />

sowie verschiedene Javascripts und<br />

Templates bereit. Das Framework ist<br />

mit einem 12- und 16-spaltigen Grid<br />

verfügbar.<br />

Das Gumby<br />

Framework macht<br />

beim Prototyping<br />

eine gute Figur.<br />

umfangreiche Dokumente verwenden,<br />

kann es sinnvoll sein, einen Seitenumbruch<br />

samt Seitennummerierung einzuführen.<br />

Auch hierfür hält das Framework<br />

die passende Lösung bereit. <strong>Die</strong> Grundfunktion<br />

wird dabei durch eine Liste der<br />

einzelnen Dokumente realisiert, in die<br />

Sie umfangreiche Seiten aufspalten. Eine<br />

einfache Lösung sieht wie folgt aus:<br />

<br />

<br />

&laquo;<br />

1<br />

2<br />

3<br />

&raquo;<br />

<br />

<br />

In der nahen Zukunft wird Centurion einige<br />

weitere Besonderheiten bringen. In<br />

Version 3.1 können Sie Tooltips anlegen,<br />

die dann eingeblendet werden, wenn<br />

der Benutzer den Mauszeiger über einen<br />

Link führt. Mit Centurion 3.1 können Sie<br />

einen Hinweis definieren:<br />

... <br />

Version 3.1 wird auch die Entwicklung<br />

von Registerkarten erlauben. Ein typisches<br />

Tab-System wird dann wie folgt<br />

erzeugt:<br />

<br />

<br />

<br />

Tab 1<br />

<br />

Tab 2<br />

<br />

Tab 3<br />

<br />

…<br />

…<br />

…<br />

<br />

Mit der Klasse tabsBottom und tabsStacked<br />

können Sie die Tabs im unteren Bereich<br />

beziehungsweise<br />

an der Seite<br />

platzieren. Welche<br />

weiteren Features Centurion in Zukunft<br />

bieten wird, will der Entwickler noch<br />

nicht preisgeben.<br />

Fazit<br />

Mit Centurion steht Webentwicklern<br />

ein einfach zu handhaben<strong>des</strong> HTML5-<br />

und CSS3-Framework zur Verfügung,<br />

das sich hervorragend für das Prototyping<br />

von Websites eignet. Funktional<br />

dürfte es im momentanen Zustand dem<br />

einen oder anderen Web<strong>des</strong>igner zwar<br />

nicht genügen, aber Centurions Urheber<br />

scheint noch vieles vorzuhaben. Ein<br />

echtes Manko ist bislang vor allem die<br />

dürftige Dokumentation, aber interessierte<br />

Anwender sind eingeladen, sich<br />

aktiv an der Weiterentwicklung <strong>des</strong> Projekts<br />

zu beteiligen.<br />

Dr. Holger Reibold<br />

www.internet-magazin.de 33


WEBDESIGN | Google Rich Snippets<br />

Googles intelligente<br />

<strong>Vorschau</strong><br />

Vielleicht haben Sie sich schon einmal gefragt, woher<br />

diese kleinen, hilfreichen Zusatzinformationen wie Bilder,<br />

Bewertungen oder Öffnungszeiten in den Google-<br />

Suchergebnissen stammen. Das sind Rich Snippets –<br />

Metainformationen auf Code-Ebene.<br />

Der Nutzen für den Betrachter liegt<br />

auf der Hand: <strong>Die</strong> Suchergebnisse<br />

werden informativer und emotional ansprechender.<br />

Doch was kann man damit<br />

noch alles anstellen und für wen lohnt<br />

sich der Einsatz dieser Technologie? Lassen<br />

Sie uns einen kleinen Blick in die<br />

Welt <strong>des</strong> semantischen Co<strong>des</strong> werfen.<br />

Mit den Rich Snippets geht Google bereits<br />

seit 2009 einen Weg, den auch Facebook<br />

mit den Open-Graph-Tags eingeschlagen<br />

hat. Auf Code-Ebene werden<br />

zusätzliche Informationen zu der Seite<br />

und deren Inhalt eingebettet, damit die<br />

Daten neben Menschen auch für Maschinen,<br />

insbesondere Suchmaschinen, aber<br />

auch soziale Medien oder mobile Endgeräte<br />

verständlich sind und entsprechend<br />

genutzt werden können.<br />

Hier ein kleines Beispiel: Man schreibe<br />

seine Telefonnummer nicht einfach<br />

lose in den HTML-Code, sondern gebe<br />

zusätzlich die Information im Markup<br />

mit, dass es sich dabei nicht um eine x-<br />

beliebige Zahl handelt, sondern um die<br />

eigene Telefonnummer:<br />

HTML ohne Rich Snippets:<br />

+49 (0) 89 12 34 56 78 90<br />

HTML mit Rich Snippets:<br />

+49 (0) 89 12<br />

34 56 78 90<br />

<strong>Die</strong> Idee hinter den Rich Snippets besteht<br />

schon lange in den Theorien <strong>des</strong><br />

Semantic Web: Reale Dinge und deren<br />

Beziehungen zueinander werden bereits<br />

im Code durch Metadaten beschrieben,<br />

da deren inhärente Bedeutung ohnedies<br />

nur für Menschen erkennbar wird.<br />

Im Semantic Web bedient man sich <strong>des</strong><br />

sogenannten Resource Description Framework<br />

(RDF), welches Entitäten durch<br />

Beziehungstripel, wie beispielsweise<br />

„Batterien enthalten Säure” (Subjekt,<br />

Prädikat, Objekt) beschreibt.<br />

Einige Systeme wie etwa Drupal setzen<br />

bereits auf die vereinfachte Variante<br />

RDFa (RDF in attributes) um RDF mittels<br />

Attributen in HTML einzubetten. Neben<br />

Mikroformaten und Mikrodaten zählt<br />

RDFa zu den bewährten Methoden, HT-<br />

ML-Seiten mit computerlesbaren Zusatzinformationen<br />

anzureichern.<br />

Genug der Theorie. Rich Snippets sollen<br />

Besuchern bereits auf den Suchergebnisseiten<br />

(SERP) einen ersten Eindruck<br />

darüber vermitteln, welche Inhalte sie<br />

auf der Seite erwarten. Im Gegensatz zu<br />

normalen Suchergebnissen, welche nur<br />

aus Titel, Metabeschreibung und URL<br />

bestehen, glänzen Rich Snippets durch<br />

detaillierte Informationen wie Bewertungen<br />

in Sternchenform, Zeitangaben<br />

für Veranstaltungen oder Bildern zu Pro-<br />

34 0513 internet magazin


Google Rich Snippets | WEBDESIGN<br />

Ein Rezept als<br />

Rich Snippet in<br />

den Google-Suchergebnissen.<br />

dukten. Damit bieten sie einen direkten<br />

Mehrwert für den Nutzer und werden somit<br />

zum Eyecatcher. Durch diese prominente<br />

Darstellung können Rich Snippets<br />

nachweislich die Klickrate (click-through<br />

rate - CTR) erhöhen, auch wenn sie nicht<br />

zu den ersten Suchtreffern zählen. <strong>Die</strong>se<br />

Eigenschaft ist besonders wichtig für<br />

alle, die etwas über das <strong>Internet</strong> verkaufen<br />

wollen – also beispielsweise Online-<br />

Händler, die ihre Produkte so mit zusätzlichen<br />

Infos ausstatten können.<br />

Der Aufbau von Rich Snippets<br />

Prinzipiell können Rich Snippets mit drei<br />

verschiedenen Arten von Markup aufgebaut<br />

werden:<br />

» Mikrodaten (microdata)<br />

» Mikroformate (microformats)<br />

» RDFa (Resource Description Framework<br />

in attributes)<br />

Google empfiehlt an dieser Stelle den<br />

Einsatz von Mikrodaten (http://tinyurl.<br />

com/bbw3p5s). <strong>Die</strong> großen Suchmaschinen<br />

Google, Yahoo! und Bing haben<br />

sich zusammengetan, um das Format<br />

der Mikrodaten zu standardisieren. <strong>Die</strong><br />

komplette Referenz kann man auf schema.org<br />

betrachten. Google unterstützt<br />

aktuell Rich Snippets für die folgenden<br />

Inhaltstypen:<br />

» Erfahrungsberichte<br />

» Personen<br />

» Produkte<br />

» Unternehmen und Organisationen<br />

» Rezepte<br />

» Veranstaltungen<br />

» Musik<br />

Auf schema.org gibt es allerdings wesentlich<br />

mehr Inhaltstypen, die Sie nutzen<br />

können und deren Informationen<br />

eventuell früher oder später auch detaillierter<br />

in den Suchergebnissen angezeigt<br />

werden. Kommen wir nun zu einem<br />

konkreten Beispiel. In diesem Fall handelt<br />

es sich um ein Rich Snippet für eine<br />

Organisation, genauer gesagt eine Praxis<br />

für Naturheilkunde, mit Adresse und<br />

Öffnungszeiten:<br />

<br />

Naturheilpraxis<br />

Lindner<br />

<br />

<br />

Wormserstraße 1<br />

80797 München<br />

Praxis +49 (0) 89 307<br />

011 55Mobil +49 (0)<br />

176 993 952 85<br />

E-Mail info@naturheilpraxislindner.com<br />

Web www.naturheilpraxislindner.com<br />

Öffnungszeiten<br />

Mo. – Do.<br />

8:00 – 20:00 Uhr<br />

Fr. 8:00 –<br />

16:00 Uhr<br />

Termine nach Vereinbarung<br />

Wie Sie sehen, wird der gesamte Adressblock<br />

von einem div-Container mit dem<br />

Attribut itemtype=“http://schema.org/<br />

MedicalOrganization“ umschlossen. Damit<br />

weiß Google, dass es sich bei diesem<br />

Objekt um eine medizinische Organisation<br />

handelt. Anschließend folgen Attribute<br />

für den Namen der Organisation,<br />

Adresse, Telefonnummer, E-Mail-Adresse<br />

und zu guter Letzt die Öffnungszeiten<br />

der Praxis. Wie werden die Rich Snippets<br />

in einer Website dargestellt? Gar nicht! Es<br />

handelt sich tatsächlich um für den Be-<br />

Übersichtlich:<br />

Referenz der<br />

Mikrodaten auf<br />

schema.org.<br />

www.internet-magazin.de 35


WEBDESIGN | Google Rich Snippets<br />

sucher unsichtbare Daten, die alleine<br />

für Maschinen und Computer (Suchmaschinen,<br />

Browser, mobile Endgeräte,<br />

semantische Webservices und so weiter)<br />

vorgesehen sind. Sie sind nur im Quellcode<br />

sichtbar.<br />

Das Testtool<br />

Um sicher zu gehen, dass bei der Einbindung<br />

<strong>des</strong> Zusatzmarkups keine Fehler<br />

gemacht wurden, können Sie das<br />

Testtool für strukturierte Daten aus den<br />

Webmaster-Tools einsetzen (http://<br />

www.google.com/webmasters/tools/<br />

richsnippets). Dort hat man zwei Möglichkeiten:<br />

Entweder man gibt eine URL<br />

an, die analysiert werden soll, oder man<br />

kopiert den entsprechenden HTML-Code<br />

für die Analyse in ein Formular. Das Tool<br />

zeigt Ihnen daraufhin an, welche Informationen<br />

Google aus dem Markup Ihrer<br />

Website auslesen kann. Beachten Sie,<br />

dass es sich hierbei nur um eine <strong>Vorschau</strong><br />

handelt. Das tatsächliche Suchergebnis<br />

muss nicht zwingend genauso aussehen.<br />

Wie bei allen Änderungen an Markup,<br />

Struktur oder Inhalten Ihrer Website<br />

kann es eine Weile dauern, bis diese<br />

sich in den Suchergebnissen oder auf<br />

Google Places wiederfinden. Sollten sie<br />

allerdings gar nicht auftauchen, so kann<br />

das verschiedenste Gründe haben: Eventuell<br />

haben Sie den Code nicht richtig<br />

verschachtelt oder Sie haben gegen die<br />

Nutzungsrichtlinien verstoßen. Da in der<br />

Vergangenheit auch schon viel Schindluder<br />

getrieben wurde, insbesondere<br />

mit falschen Bewertungen, behält sich<br />

Google vor, Rich Snippets unter Umständen<br />

nicht anzuzeigen.<br />

Rich Snippets im System<br />

Wie kommen die Rich Snippets in Ihr Sys<br />

-tem? Prinzipiell handelt es sich um eine<br />

reine Frontend-Angelegenheit. Aus MVC-<br />

Perspektive spielt sich alles in der View<br />

ab, das heißt man kann eigentlich alle<br />

Vollständig: Analyseergebnis aus dem<br />

Testtool für strukturierte Daten.<br />

Anpassungen über die Templates steuern.<br />

Je nachdem, welches CMS, welche<br />

Blog- oder Shop-Software Sie einsetzen,<br />

können Sie den zusätzlichen Markup<br />

direkt in die für die Ausgabe der Inhalte<br />

verantwortlichen Dateien schreiben. Bei<br />

Magento ist zum Beispiel die Datei<br />

/app/<strong>des</strong>ign/frontend/*/*/template/<br />

catalog/product/view.phtml<br />

für die Darstellung der Produktdetails<br />

zuständig.<br />

Für die meisten Systeme existieren aber<br />

auch Erweiterungen, die die entsprechenden<br />

Funktionen automatisch in die<br />

Seite einfügen.<br />

Für Wordpress gibt es beispielsweise<br />

den Schema Creator, mit <strong>des</strong>sen Hilfe<br />

man Mikrodaten in den Inhalt einer Seite<br />

oder eines Artikels einfügen kann (http://<br />

wordpress.org/extend/plugins/schemacreator/),<br />

oder das Rich Contact Widget<br />

(http://wordpress.org/extend/plugins/<br />

rich-contact-widget/), mit dem man ein<br />

mit Metadaten angereichertes Adress-<br />

Widget in die Sidebar einfügen kann.<br />

Für Drupal gibt es die Module Schemaorg<br />

(http://drupal.org/project/schemaorg)<br />

und Microdata (http://drupal.org/project/<br />

microdata), die in ihrer Funktion sehr<br />

weit gehen und sehr flexibel systemweit<br />

einsetzbar sind.<br />

Auf Magento Connect findet man das<br />

kostenlose Modul MSemantic, das<br />

anscheinend sogar mit Bun<strong>des</strong>fördermitteln<br />

entwickelt wurde und die Produktinformationen<br />

im Shop mit entsprechenden<br />

Rich Snippets anreichert<br />

(http://www.magentocommerce.com/<br />

magento-connect/msemantic-semantic-seo-for-rich-snippets-in-googleand-yahoo.html).<br />

Fazit<br />

Wann sollten Sie Rich Snippets einsetzen?<br />

Wann immer es sinnvoll möglich<br />

ist! Das klingt banal, aber falls es für Ihre<br />

Inhalte entsprechende Schemata gibt,<br />

sollten Sie diese auch unbedingt nutzen<br />

– denn nicht nur Suchmaschinen können<br />

etwas damit anfangen. Mobile Endgeräte<br />

können die Daten zum Beispiel verwenden,<br />

um eine Telefonnummer direkt<br />

anzurufen oder eine Adresse zu finden.<br />

In Zukunft wird es immer mehr <strong>Die</strong>nste<br />

geben, die auf semantische Metadaten<br />

zugreifen, daher lohnt sich der Einsatz<br />

mit Sicherheit.<br />

Selbstverständlich müssen die Informationen<br />

im Quellcode wahrheitsgemäß<br />

sein. Immer öfter hört man von Websites,<br />

die Angaben manipulieren, um<br />

sich besser darzustellen. Insbesondere<br />

Bewertungen sind davon betroffen, da<br />

die Informationen willkürlich eingetragen<br />

werden können. Da Google aber<br />

bekanntlich intelligent ist, werden solche<br />

Täuschungen sofort wieder aus den<br />

Suchergebnissen entfernt.<br />

Thomas Kraehe<br />

36 0513 internet magazin


XDEV Framework | WEBENTWICKLUNG<br />

XDEV-Framework intern<br />

Das XDEV-Framework automatisiert alle wichtigen<br />

Prozesse zwischen grafischer Oberfläche und Datenbank<br />

und vereinfacht damit die Entwicklung von<br />

Datenbankanwendungen in Java radikal.<br />

Im Java-Umfeld sind vor allem Eclipse<br />

und Netbeans als Entwicklungsumgebung<br />

bekannt. Für beide gibt es GUI Builder,<br />

doch gelten diese als nicht besonders<br />

komfortabel. Mit einem GUI Builder allein<br />

erhält man in Java zudem nicht mehr als<br />

eine nackte Oberfläche ohne Funktion.<br />

Mit Eclipse und Netbeans ist dann auch<br />

schon Endstation in Sachen visueller Unterstützung<br />

und es wird schlagartig richtig<br />

kompliziert. Datenbankoperationen in<br />

Java erfordern den Einsatz komplexer Java-Enterprise-Technik<br />

wie JPA oder Hibernate,<br />

und für die Visualisierung der Daten<br />

auf der Oberfläche muss sich der Entwickler<br />

mit JDBC- und anspruchsvoller MVC-<br />

Programmierung (Model View Controller)<br />

auseinandersetzen. <strong>Die</strong> Praxis zeigt, dass<br />

für den Einsatz von Hibernate eine Menge<br />

Basis-Know-how und sehr viel Programmiererfahrung<br />

notwendig ist. Wer<br />

die objektorientierte Programmierung in<br />

Java nicht aus dem Effeff beherrscht, hat<br />

mit Hibernate keine Chance und kann<br />

praktisch keine anspruchsvollen Datenbankanwendungen<br />

in Java entwickeln.<br />

<strong>Die</strong> Umstellung von prozeduraler auf objektorientierte<br />

Programmierung, das Umdenken<br />

von Tabellen, Datensätzen und<br />

Relationen auf Klassen und Objekte und<br />

dann auch noch die Umstellung bei Datenbankzugriffen<br />

von SQL auf JPA ist so,<br />

als müsste man vom Rechts- zum Linkshänder<br />

werden.<br />

Genau hier nun setzt XDEV 3 mit dem integrierten<br />

XDEV-Application-Framework<br />

an. Das Framework klinkt sich zwischen<br />

Oberfläche und Datenbank und verbindet<br />

beide Schichten nahtlos miteinander<br />

(Data Binding). <strong>Die</strong> Verknüpfung der<br />

Datenbanktabellen mit entsprechenden<br />

GUI Controls erfolgt im GUI Builder per<br />

Drag-and-Drop. Um alle anderen Dinge<br />

kümmert sich das Framework vollautomatisch:<br />

Um den Aufbau von Datenbankverbindungen,<br />

das Absetzen von<br />

Standard-Queries zum Füllen von Listen,<br />

Tabellen und Trees oder um die Verarbeitung<br />

und Aufbereitung der Abfrageergebnisse<br />

(JDBC-Resultsets). Lazy Loading<br />

wird mit Version 4 nun standardmäßig<br />

unterstützt, was auch bei automatischen<br />

Queries bestmögliche Performance garantiert.<br />

Zudem stellt das Framework für<br />

alle Controls passende GUI-Models und<br />

Renderer zur Verfügung und bereitet alle<br />

Daten in Form einer Tabellenstruktur auf,<br />

sodass der Entwickler nicht zwingend Objekte<br />

verwenden muss, sondern auch mit<br />

Tabellen, Spalten, Datensätzen und Relationen<br />

arbeiten kann. Auch um die Persistierung<br />

der Daten, um die dabei wichtige<br />

Transaktionssicherheit und um eine<br />

verschlüsselte Übertragung der Daten<br />

kümmert sich das Framework und sogar<br />

konkurrierende Schreibzugriffe werden<br />

ab Version 4 automatisch bewerkstelligt.<br />

Damit stellt das XDEV-Application-Framework<br />

eine durchgängige Basisarchitektur<br />

mit voll funktionsfähiger Infrastruktur für<br />

Datenbankanwendungen mit grafischer<br />

Oberfläche zur Verfügung und befreit den<br />

Entwickler von aufwändiger Infrastruktur-,<br />

JDBC- und MVC- sowie von komplexer<br />

OR-Mapper-Programmierung à la Hibernate.<br />

Das vereinfacht die Anwendungsentwicklung<br />

in Java radikal und stellt vor<br />

allem für Java-Ein- und -Umsteiger einen<br />

gewaltigen Mehrwert dar.<br />

Datenbankunabhängigkeit<br />

Das XDEV-Application-Framework ist<br />

für Datenbankunabhängigkeit ausgelegt.<br />

Dafür stellt es eigene Datenbankschnittstellen<br />

zur Verfügung, die auf JDBC aufsetzen<br />

und die JDBC-Treiber der jeweiligen<br />

Datenbanken erweitern. <strong>Die</strong> Standarddatenbankschnittstelle<br />

JDBC ermöglicht lediglich<br />

die Kommunikation zwischen Java<br />

und einer Datenbank. <strong>Die</strong> XDEV-Schnittstellen<br />

dagegen gleichen die wichtigsten<br />

Unterschiede bei der SQL-Syntax aus, die<br />

bei den verschiedenen Datenbanken trotz<br />

SQL-Standard zum Teil im erheblichen<br />

Maße bestehen.<br />

// MySQL<br />

SELECT * FROM kunde LIMIT 0,10;<br />

// MS SQL<br />

SELECT TOP 10 * FROM kunde;<br />

www.internet-magazin.de 37


WEBENTWICKLUNG | XDEV Framework<br />

// Oracle<br />

SELECT * FROM kunde WHERE ROWNUM


XDEV Framework | WEBENTWICKLUNG<br />

Controls sind Renderer zuständig. All das<br />

wird in XDEV 3 mit virtuellen Tabellen<br />

vollständig automatisiert. <strong>Die</strong> virtuelle<br />

Tabelle ist ein zentrales Architekturkonzept,<br />

das das XDEV-Application-Framework<br />

zur Verfügung stellt. Eine virtuelle<br />

Tabelle ist eine Zwischenschicht zwischen<br />

Oberfläche und Datenschicht. Mit<br />

ihrer Hilfe lassen sich GUI-Controls auf<br />

einfache Weise mit einer entsprechenden<br />

Datenbanktabelle verdrahten (Data Binding)<br />

und alles was zwischen Oberfläche<br />

und Datenschicht passiert, wird durch<br />

das Framework vollständig automatisiert.<br />

Um Daten auf Ihre Oberfläche zu<br />

bringen, müssen Sie in XDEV 3 lediglich<br />

eine virtuelle Tabelle mit der Maus auf<br />

ein GUI Control im GUI Builder ziehen.<br />

Alles Weitere erledigt das Framework im<br />

Hintergrund vollautomatisch für Sie. Das<br />

Funktionsprinzip ist simpel: Eine virtuelle<br />

Tabelle ist vereinfacht ausgedrückt eine<br />

leere Kopie einer Datenbanktabelle, die<br />

sich im Hauptspeicher <strong>des</strong> Clients befindet.<br />

Nach jeder Datenbankabfrage werden<br />

die Daten wie bei einem Datenpuffer<br />

automatisch in die Tabelle geschrieben.<br />

Für die Ausgabe der Daten stellt die virtuelle<br />

Tabelle GUI-Models und Renderer für<br />

alle GUI-Controls zur Verfügung, die vom<br />

XDEV-3-GUI-Builder unterstützt werden.<br />

Und sogar sämtliche Standardabfragen<br />

lassen sich durch die virtuelle<br />

Tabelle automatisch absetzen, sodass<br />

Listboxen, Comboboxen, Tabellen und<br />

Trees automatisch mit Daten gefüllt werden.<br />

<strong>Die</strong> für die Abfragen über mehrere<br />

Datenbanktabellen notwendigen Joins<br />

werden ebenfalls automatisch generiert.<br />

Voraussetzung dafür ist eine Definition<br />

der Relationen zwischen den Tabellen.<br />

Dafür gibt es in der XDEV-3-IDE einen<br />

speziellen ER-Designer. Wer auf eine<br />

existierende Datenbank aufsetzt, kann<br />

seine bereits definierten Constraints bequem<br />

importieren. SQL-Profis, die ihre<br />

Abfragen nicht einem Framework überlassen,<br />

sondern selber im Griff haben<br />

möchten, können sämtliche Standard-<br />

Queries durch eigene SQLs oder Stored<br />

Procedures ersetzen. Auch der Zugriff<br />

über JPA und Hibernate ist grundsätzlich<br />

immer alternativ möglich.<br />

Performance-Garantie<br />

In Version 4 wird dieser Standardfuntionsumfang<br />

um ein weiteres, mächtiges Feature<br />

erweitert. Nach jeder Datenbankabfrage<br />

übergibt das Framework an den<br />

Client immer nur so viele Datensätze,<br />

wie die zur Visualisierung verwendete<br />

GUI-Komponente anzeigen kann (Lazy<br />

Loading). <strong>Die</strong> restlichen Daten lassen sich<br />

mit Hilfe einer Steuerleiste Seite für Seite<br />

ausgeben (Paging) oder durch Bewegen<br />

der Scrollbar satzweise on demand nachladen.<br />

Dabei ist dem Framework egal, ob<br />

die Abfrage vom Framework selbst oder<br />

vom Entwickler als selbstdefinierte SQL-<br />

Anweisung abgesetzt wird. Durch die<br />

Verbindung von GUI-Komponente und<br />

virtueller Tabelle findet jede Änderung der<br />

Daten, egal ob in einer Tabelle oder mit<br />

Hilfe eines Formulars, zunächst einmal<br />

nur in einer virtuellen Tabelle statt. Erst<br />

wenn ein bestimmtes Ereignis eintritt, der<br />

Anwender zum Beispiel auf „Speichern“<br />

klickt, wird die betroffene virtuelle Tabelle<br />

mit der entsprechenden Datenbanktabelle<br />

synchronisiert. Dafür stellt die Klasse<br />

Virtuelle Tabelle die Methode synchronizeChangedRows<br />

zur Verfügung.<strong>Die</strong><br />

Synchronisierung der Daten erfolgt auto-<br />

Bestmögliche Performance<br />

durch<br />

Lazy Loading.<br />

matisch als Transaktion,<br />

sodass<br />

Sie sich auch um<br />

Transaktionssicherheit<br />

nicht<br />

kümmern müssen.<br />

Ergänzend<br />

dazu stellt der Code-Editor von XDEV 3<br />

ein spezielles Transaktionscode-Template<br />

zur Verfügung, in das man nur noch entsprechende<br />

Queries einsetzen muss, die<br />

man als Transaktion ausführen möchte.<br />

Zur Laufzeit werden die für die angebundene<br />

Datenbank optimierten SQLs vom<br />

Framework dynamisch generiert.<br />

Konkurrierende Zugriffe<br />

<strong>Die</strong> neue Version 4 liefert nun auch das<br />

letzte Puzzlestück für eine durchgängig<br />

automatisierte Datenverarbeitung. Das<br />

Framework kümmert sich jetzt nämlich<br />

auch um konkurrierende Schreibzugriffe.<br />

Vor jeder Datenänderung lassen<br />

sich die betroffenen Datensätze auf<br />

Datensatzebene sperren, wodurch ein<br />

Überschreiben der Daten durch andere<br />

Benutzer verhindert wird. Mit Hilfe eines<br />

Assistenten lässt sich mit wenigen Mausklicks<br />

konfigurieren, wie das gesamte<br />

Sperrverfahren funktionieren soll, insbesondere<br />

wann eine Sperre gesetzt wird,<br />

wie Endbenutzer darüber informiert werden,<br />

wie lange Sperren existieren dürfen,<br />

wann sie automatisch durch das System<br />

aufgehoben werden oder ob und unter<br />

welchen Umständen Endbenutzer eigene<br />

Sperren verlängern oder aufheben<br />

können. Unterstützt werden sowohl das<br />

optimistische als auch das pessimistische<br />

Verfahren. Auch dieses Konzept funktioniert<br />

datenbankunabhängig. Download<br />

unter www.xdev-software.de.<br />

Sven Neumann<br />

www.internet-magazin.de 39


WEBENTWICKLUNG | Yeoman<br />

Entwicklungen<br />

automatisieren<br />

mit Yeoman<br />

Eine Reihe von Entwicklungsschritten ist in jedem<br />

Projekt annähernd gleich und kostet doch eine Menge<br />

Zeit. Google bietet Ihnen für eine Vielzahl dieser<br />

Aufgaben mit Yeoman die passende Lösung an.<br />

Yeoman geht mit dem Slogan „Modern nicht erschienen. Trotz allem ist es möglich,<br />

Yeoman unter Windows zu betrei-<br />

workflows for modern webapps“ an<br />

den Start und beschreibt damit recht treffend<br />

das Ziel der Werkzeugsammlung:<br />

Sie dient zur Vereinfachung und Optimierung<br />

verschiedener Arbeitsschritte bei<br />

der Erstellung einer modernen Webapp.<br />

<strong>Die</strong>s fängt bei der Anpassung von Bildern<br />

für verschiedene Endgeräte an und hört<br />

beim Unit Testing auf. Der Schwerpunkt<br />

der integrierten Bibliotheken und Werkzeuge<br />

liegt dabei klar auf Entwicklungen<br />

mit Javascript und CSS.<br />

ben; dies ist allerdings mit gewissen Vorarbeiten<br />

verbunden. Praveen Vijayan hat<br />

sich die Mühe gemacht und die notwendigen<br />

Schritte auf der Website decodize.<br />

com zusammengefasst (http://decodize.<br />

com/css/installing-yeoman-front-end-development-stack-windows/#chocolatey).<br />

<strong>Die</strong> Installation unter Linux und Mac OS<br />

X hingegen ist denkbar einfach. Öffnen<br />

Sie ein Konsolenfenster und geben Sie in<br />

dieses den folgenden Befehl ein:<br />

curl -L get.yeoman.io | bash<br />

Einstiegspunkt<br />

Aktuell gibt es Yeoman als Installationspaket<br />

für Linux und Mac OS X. Eine Windows-Version<br />

wurde bereits im September<br />

2012 angekündigt, ist aber bis jetzt<br />

<strong>Die</strong> Installationsroutine prüft, ob alle<br />

Voraussetzungen für die Installation von<br />

Yeoman auf Ihrem System gegeben sind,<br />

und zeigt Ihnen alternativ an, welche<br />

Programme noch nicht vorhanden sind.<br />

Sollten noch Programmpakete<br />

Voraussetzungen für die Installation<br />

fehlen, sehen<br />

Yeoman in der aktuellen Version setzt eine Reihe von Anwendungen<br />

für den Betrieb voraus. <strong>Die</strong>s sind im Einzelnen:<br />

Sie diese in der<br />

Liste inklusive<br />

» NodeJS >= 0.8.x<br />

» Ruby >= 1.8.7<br />

» Compass >= 0.12.1<br />

» optipng<br />

» jpegtran<br />

» PhantomJS >= 1.6<br />

der notwendigen<br />

Aufrufe für die<br />

Installation. Abhängig<br />

von der<br />

Installieren oder aktualisieren Sie diese, bevor Sie Yeoman in<br />

Betrieb nehmen.<br />

aktuellen Konfiguration<br />

Ihres<br />

Systems kann es eine Weile dauern, bis<br />

Sie alle Pakete zusammenhaben. Gerade<br />

die Installation <strong>des</strong> Pakets phantomjs ist<br />

zeitlich etwas aufwändiger, da es auf Ihrem<br />

System komplett neu gebaut werden<br />

muss. Deswegen sollten Sie bei diesem<br />

auf das Build-Paket zurückgreifen, das<br />

auf der PhantomJS-Website angeboten<br />

wird. Nachdem Sie dieses Ihrem System<br />

hinzugefügt haben, rufen Sie das Skript<br />

erneut auf. Sind jetzt alle Anwendungen<br />

vorhanden, wird das Toolset automatisch<br />

installiert. Weitere Installationshinweise<br />

finden Sie auf den Hilfeseiten <strong>des</strong> Projektes<br />

unter<br />

https://github.com/yeoman/yeoman/<br />

wiki/Manual-Install<br />

Erste Schritte<br />

Nachdem Sie die Installationshürde gemeistert<br />

haben, sollten Sie sich erst einmal<br />

einen Überblick verschaffen. Eine<br />

komplette Übersicht aller zur Verfügung<br />

stehenden Funktionen erhalten Sie über<br />

den Befehl yeoman.<br />

Zu den meisten der aufgelisteten Befehle<br />

können Sie sich auch eine detaillierte<br />

Beschreibung anzeigen lassen. Dazu fügen<br />

Sie den Parameter --help hinzu. <strong>Die</strong><br />

entsprechende Befehlszeile für genauere<br />

40 0513 internet magazin


Yeoman | WEBENTWICKLUNG<br />

Informationen zum init-Befehl sieht dann<br />

wie folgt aus:<br />

yeoman init –-help<br />

Wenn Sie eine übergreifende Hilfe für die<br />

Nutzung von Yeoman benötigen, passen<br />

Sie den Befehl entsprechend an:<br />

yeoman --help<br />

Für die folgenden Beispiele nutzen wir<br />

ein imaginäres Webapp-Projekt mit dem<br />

Namen internetmagazin. Damit Sie die<br />

folgenden Beispiele nachvollziehen<br />

können, benötigen Sie ein Verzeichnis<br />

mit dem entsprechenden Namen. In<br />

unserem Beispiel wird dieses direkt auf<br />

dem Desktop angelegt. <strong>Die</strong>s können Sie<br />

entweder über die grafische Oberfläche<br />

oder per Terminal machen:<br />

cd ~/Desktop<br />

mkdir internetmagazin<br />

cd internetmagazin<br />

Nach Eingabe dieser drei Befehle befinden<br />

Sie sich im neu erzeugten Ordner<br />

internetmagazin, der sich auf dem<br />

Desktop befindet.<br />

Anschließend können Sie auch Yeoman<br />

seine Arbeit verrichten und die Grundstrukturen<br />

anlegen lassen. <strong>Die</strong>s geschieht<br />

über den Befehl<br />

yeoman init<br />

Sie haben anschließend innerhalb<br />

<strong>des</strong> Terminalfensters die Möglichkeit,<br />

verschiedene Parameter zu setzen<br />

und so das Aussehen Ihrer künftigen<br />

Anwendung zu beeinflussen. Es wird<br />

unter anderem gefragt, ob Sie Bootstrap<br />

für Compass, Twitter Bootstrap,<br />

RequireJS oder ECMAScript 6 nutzen<br />

möchten. Entsprechend werden die<br />

Programmbibliotheken Ihrem Projekt<br />

hinzugefügt oder nicht.<br />

Sind das zu viele Optionen oder benötigen<br />

Sie nur das Grundpaket mit HTML5<br />

Boilerplate, Modernizr und jQuery, dann<br />

können Sie diesen Schritt noch einmal<br />

verkürzen. Geben Sie dazu alternativ<br />

den folgenden Befehl ein:<br />

yeoman init<br />

Der Betrieb von<br />

Yeoman unter<br />

Windows wird<br />

aktuell nicht offiziell<br />

unterstützt<br />

und erfordert die<br />

manuelle Installation<br />

zahlreicher<br />

Anwendungen.<br />

quickstart<br />

fügung stehen, bekommen Sie über den<br />

Abhängig von Ihrer Auswahl sucht Yeoman<br />

anschließend die notwendigen also yeoman init --help.<br />

Aufruf der Hilfefunktion <strong>des</strong> Befehls init,<br />

Daten bei Github zusammen. Zum Abschluss<br />

erhalten Sie die Grundstrukturen Ein lokaler Webserver<br />

Ihrer Website, welche dank H5BP eine Bei vielen Entwicklungen müssen Sie<br />

Indexdatei und eine Fehlerseite enthält. einen lokalen Webserver zur Verfügung<br />

Abhängig von der Auswahl Ihrer zusätzlich<br />

installierten Bibliotheken haben Sie der direkten Installation eines Apache-<br />

haben. <strong>Die</strong>s erreichen Sie entweder mit<br />

mehr oder weniger viele Dateien im Servers oder über eine Serversammlung<br />

Installationsverzeichnis Ihres Projekts. wie LAMP oder XAMPP – oder Sie nutzen<br />

für diesen Fall auch Yeoman. Mit<br />

Neben diesen beiden Möglichkeiten, ein<br />

neues Projekt anzulegen, bietet Yeoman dem Befehl yeoman server starten Sie<br />

noch einen differenzierteren Weg, der Ihnen<br />

das Hinzufügen weiterer Templates Damit haben Sie die Basis für die lokale<br />

einen Webserver auf dem Port 3501.<br />

erlaubt. Dazu nutzt Yeoman Generatoren. Ausführung Ihrer Anwendung geschaffen.<br />

<strong>Die</strong>se fügen Sie als weiteren Parameter <strong>Die</strong>se rufen Sie anschließend im Browser<br />

beim Aufruf <strong>des</strong> init-Befehls hinzu: entsprechend über http://localhost:3501<br />

yeoman init <br />

und das entsprechende Verzeichnis auf.<br />

Im folgenden Beispiel wird der Generator<br />

angular verwendet samt einem Un-<br />

auch direkt das passende Browserfenster<br />

Mit dem Start <strong>des</strong> Servers öffnet Yeoman<br />

tergenerator all. Mit diesen beiden fügen für Sie und zeigt die Einstiegsseite Ihres<br />

Sie alle Dateien hinzu, _056AF_Weber_pcm_N_05.ps;S: 1;Format:(90.00 x 60.00 mm);02. Mar 2011 07:54:29<br />

welche für eine neue<br />

Anwendung auf Basis<br />

von AngularJS notwendig<br />

sind.<br />

yeoman init<br />

angular:all<br />

Eine komplette Liste,<br />

welche Generatoren in<br />

der von Ihnen verwendeten<br />

Version zur Ver-<br />

www.internet-magazin.de<br />

41<br />

M51


WEBENTWICKLUNG | Yeoman<br />

<strong>Die</strong> Schritte von Yeoman beim Build-Prozess<br />

Yeoman durchläuft eine Reihe von Schritten während <strong>des</strong> Build-Prozesses und versucht<br />

damit, den vorhandenen Code endgültig zu analysieren und zu verbessern. <strong>Die</strong> Schritte<br />

sind im Einzelnen:<br />

» Prüfung aller Javascript-Dateien mit Hilfe von JSHint<br />

» Rekompilierung aller Coffeescript- und Sass-Dateien<br />

» Einsatz von r.js zur Kompilierung und Optimierung aller AMD-Module<br />

» Zusammenfassung und Komprimierung von Skripten und Stylesheets<br />

» Komrimierung von Bildern unter Einsatz von OptiPNG für PNG-Dateien und<br />

JPEGtran-turbo für JPEGs.<br />

» Erzeugen eines Appcache-Manifests für Webanwendungen auf Basis von confess.js<br />

» Versionierung von Dateinamen<br />

Projekts an. Eine weitere Funktion, welche<br />

Yeoman in diesem Zusammenhang<br />

zur Verfügung stellt, ist die Bibliothek<br />

Livereload. <strong>Die</strong>se beobachtet Ihr Projekt<br />

und die getätigten Änderungen, kompiliert<br />

diese automatisch im Hintergrund<br />

und lädt die Website neu. Haben Sie<br />

Aktualisierungen in Ihren Coffeescriptoder<br />

Compass-Dateien gemacht und abgespeichert,<br />

werden diese automatisch<br />

erkannt und Sie müssen keine manuellen<br />

Schritte unternehmen, um die Ergebnisse<br />

im Browser betrachten zu können. Näheres<br />

zu LiveReload und den Konfigurationsmöglichkeiten<br />

finden Sie auf der<br />

Projekt-Website<br />

http://livereload.com/<br />

Mit dem Aufruf von yeoman server wird<br />

automatisch ein build-Verzeichnis in ihrem<br />

Projektordner angelegt. In diesem<br />

finden Sie anschließend auch die aktualisierten<br />

kompilierten Dateien wieder.<br />

Serverprofile<br />

Damit Sie nicht zu viel Konfigurationsarbeit<br />

in den Server stecken müssen, hat<br />

Yeoman ihn bereits mit Hilfe mehrerer<br />

Profile vorkonfiguriert und mit verschiedenen<br />

zusätzlichen Aktionen gekoppelt.<br />

<strong>Die</strong>se können Sie beim Start <strong>des</strong> Servers<br />

als Konfigurationsinformationen mitgeben.<br />

Aktuell stehen vier unterschiedliche<br />

Konfigurationen zur Verfügung:<br />

» yeoman server und yeoman server:app<br />

kompilieren und führen die Inhalte <strong>des</strong><br />

/temp-Verzeichnisses aus, in welchem<br />

sich die aktuelle build-Version Ihrer<br />

Anwendung befindet.<br />

» yeoman server:dist liefert eine optimierte<br />

Endversion Ihrer Anwendung<br />

aus. Dazu bedient sich Yeoman <strong>des</strong><br />

/dist-Verzeichnisses und führt den Yeoman<br />

Build im Vorfeld aus.<br />

» yeoman server:test führt zusätzlich die<br />

konfigurierten Unit-Tests aus und stellt<br />

sicher, dass alle Änderungen an Ihrem<br />

Programmcode automatisch per Livereload<br />

berücksichtigt werden.<br />

» yeoman server:reload nutzt Livereload<br />

auf dem Port 35729 und unterbindet<br />

das automatische Starten <strong>des</strong> Standard-<br />

browsers. <strong>Die</strong>ses ermöglicht die<br />

parallele Installation von Livereload auf<br />

einem weiteren Server und gegebenenfalls<br />

auch den gemeinsamen Betrieb.<br />

Vereinfachtes Unit Testing<br />

Während der Entwicklung Ihrer Anwendung<br />

kann Sie Yeoman im nächsten<br />

Schritt beim Unit Testing unterstützen.<br />

Dafür ist das Mocha-Framework direkt<br />

mitinstalliert. <strong>Die</strong> Konfiguration der Tests<br />

müssen Sie natürlich im Vorfeld festlegen.<br />

Falls Sie noch nie mit dem Mocha-<br />

Framework gearbeitet haben, sollten Sie<br />

sich als Erstes die Dokumentation zu Gemüte<br />

führen unter<br />

http://visionmedia.github.com/mocha/<br />

und anschließend mit der Definition der<br />

Tests beginnen. Sie müssen sich jedoch<br />

nicht mehr um die Konfiguration der Umgebung<br />

kümmern, denn dies hat Yeoman<br />

bereits für Sie erledigt. Sie starten die Ausführung<br />

der Tests nun mit dem Befehl<br />

yeoman test<br />

Yeoman übernimmt in diesem Prozess die<br />

meiste Arbeit für Sie: <strong>Die</strong> Dateien Ihres<br />

Projektes werden zusammengesammelt,<br />

die Testdateien werden geladen, die Tests<br />

durchgeführt und anschließend erhalten<br />

Sie die Ergebnisse zurückgespielt.<br />

Neben dem Mocha-Framework sieht<br />

Yeoman zusätzlich die Analyse mit Testacular<br />

vor. <strong>Die</strong>ses Framework wird jedoch<br />

nicht direkt zu Beginn mitinstalliert. Sie<br />

können es mit Hilfe eines Generators und<br />

dem init-Befehl nachinstallieren:<br />

yeoman init testacular:app<br />

Build-Prozess optimieren<br />

Vor der Auslieferung einer Anwendung<br />

wird in der Regel eine Reihe von Optimierungsschritten<br />

durchlaufen, welche<br />

den Programmcode und die Objekte<br />

entsprechend vorbereiten sollen.<br />

Yeoman nutzt für diese Belange die Bibliothek<br />

Grunt<br />

http://gruntjs.com/<br />

welche auf die Optimierung von Javascript-Projekten<br />

fokussiert ist. Eine<br />

genauere Auflistung der durchlaufenen<br />

Schritte finden Sie im Kasten „Durchlaufende<br />

Schritte beim Build-Prozess“.<br />

<strong>Die</strong> Basis für die Optimierungsschritte<br />

stellt die Datei Gruntfile.js dar, welche<br />

automatisch beim Erzeugen eines neuen<br />

Projekts mit Yeoman direkt mitangelegt<br />

wird. Sie können diese Datei natürlich<br />

entsprechend Ihren Belangen anpassen,<br />

Pfade verändern und neue Funktionen<br />

Aktionen beim Build<br />

standard<br />

text<br />

buildkit<br />

basics<br />

minify<br />

42 0513 internet magazin


Yeoman | WEBENTWICKLUNG<br />

hinzufügen. Den kompletten Leistungsumfang<br />

von Grunt finden Sie entsprechend<br />

auf der Projekt-Website.<br />

Paket mit dem angegebenen Namen und<br />

lookup sucht nach einem<br />

Es gibt zwei Aktionen, bei denen Ihre liefert eine entsprechende Bestätigung,<br />

Compass- und Coffeescript-Anwendungsdaten<br />

kompiliert werden. <strong>Die</strong>s den sein. Wenn Sie sich in Bezug auf<br />

sollte es unter diesem Namen vorhan-<br />

ist zum einen beim Aufruf <strong>des</strong> Webservers<br />

und zum anderen, wenn Sie den die Variante yeoman search <br />

den Namen nicht sicher sind, sollten Sie<br />

build-Befehl ausführen. Im ersten Fall verwenden, und Sie bekommen eine<br />

werden alle relevanten<br />

Daten in das Verzeichnis<br />

/temp geschoben;<br />

wenn Sie den build-<br />

Prozess aktiv starten,<br />

wird entsprechend<br />

das dist-Verzeichnis<br />

erzeugt und die optimierten<br />

Versionen Ihrer<br />

Anwendungsdaten<br />

werden dorthin abgelegt.<br />

Es gibt – wie auch<br />

bei der Ausführung <strong>des</strong><br />

Servers – verschiedene<br />

Parameter, welche Sie<br />

beim Aufruf <strong>des</strong> build- Sie können verschiedene Programmpakete ganz individuell<br />

Befehls mitgeben können.<br />

Abhängig davon<br />

zu Ihrem Projekt hinzufügen.<br />

werden verschiedene Kombinationen entsprechende Treffermenge angezeigt.<br />

von Optimierungen durchlaufen. Wir Natürlich gibt es zu den verschiedenen<br />

haben die verschiedenen Aktionen für Bibliotheken in gewissen Abständen Aktualisierungen.<br />

<strong>Die</strong>se werden nicht auto-<br />

Sie zusammengefasst.<br />

matisch, können jedoch über den Befehl<br />

Installieren von Zusatzpaketen yeoman update individuell<br />

installiert werden.<br />

Yeoman bietet Ihnen darüber hinaus eine<br />

flexible Möglichkeit, den Funktionsumfang<br />

zu erweitern, und hat dazu einen eigenen<br />

Paketmanager namens Bower mit Yeoman liefert einen interessanten An-<br />

Fazit<br />

integriert. <strong>Die</strong>sen rufen Sie über den Befehl<br />

yeoman install auf und sehen dann Webanwendungen. Gerade wenn Sie mit<br />

satz für die Entwicklung und den Test von<br />

die zur Verfügung stehenden Pakete. einer Reihe von Bibliotheken arbeiten,<br />

Wenn Sie anschließend den Paketnamen die Sie jedoch nur fallweise mit in ein<br />

mit anfügen, sammelt Yeoman eigenständig<br />

die notwendigen Dateien zusammen Werkzeug viel Zeit und Mühe. Yeoman<br />

Projekt integrieren, sparen Sie mit diesem<br />

und installiert die Anwendung. Mit yeoman<br />

list sehen Sie darüber hinaus alle Pa-<br />

konzentrieren und nicht auf die Installa-<br />

hilft Ihnen, sich auf die Entwicklung zu<br />

kete, die Sie aktuell installiert haben. Für tion von Bibliotheken und Servern.<br />

die Suche innerhalb der Paketverwaltung<br />

Andreas Hitzig<br />

www.internet-magazin.de<br />

sieht Yeoman zwei Befehle vor: yeoman<br />

43<br />

Linux oder Windows<br />

vServer für 4,49 € im Monat<br />

Voller Root- und<br />

Administrator-Zugriff<br />

• Cloud-Funktion mit höchster Flexibilität<br />

• Kostenkontrolle durch tagesgenaue Abrechnung<br />

• Garantiert in 12 Stunden verfügbar<br />

• Jetzt ab sofort mit PrePaid-Funktion<br />

NEU: HP DL385 Gen8<br />

Hostsystem von HP<br />

Jetzt informieren & bestellen Tel.: 0211 / 545 957 - 300<br />

www.webtropia.com<br />

PLATINUM PARTNER<br />

vServer S 2.0<br />

Core`s (jeweils 2.000 MHz) 1<br />

RAM<br />

1.024 MB<br />

RAM Dynamisch<br />

2.048 MB<br />

Festplatte<br />

100 GB<br />

Traffic<br />

100 MBit<br />

Neu!<br />

Full-Flatrate<br />

Betriebssysteme<br />

Windows 2008 Standard oder<br />

Debian 6.0, CentOS 6,<br />

openSUSE 12.2, Ubuntu 12.04<br />

.de Domain inkl.<br />

IPv4 Adressen inkl.<br />

IPv6 Subnetz (/64) inkl.<br />

Extras<br />

Monatsgrundgebühr<br />

ab dem vierten Monat<br />

Monatsgrundgebühr<br />

für die ersten drei Monate<br />

powered by<br />

1<br />

1<br />

Firewall, Reboot, Recovery,<br />

Monitoring, Reverse DNS,<br />

Plesk 11 Admin-Panel<br />

8,99 €<br />

4,99 €


WEBENTWICKLUNG | Tipps für performante Websites<br />

search-ranking.html). Dort wurde die<br />

Geschwindigkeit der Website als eines<br />

der Kriterien – allerdings eines von Hunderten<br />

– genannt. Generell gilt es hier<br />

aus Google-Sicht, massive Fehler zu vermeiden<br />

und die Seiten mit ordentlicher<br />

Geschwindigkeit anzubieten. <strong>Die</strong> Angaben<br />

im Webmaster-Toolkit sind dabei nur<br />

Download-Zeiten für die Seite an sich,<br />

also für den HTML-Inhalt.<br />

Website-Tuning<br />

Um die Geschwindigkeit einer Website zu verbessern,<br />

gibt es sehr viele verschiedene Ansatzpunkte. Im ersten<br />

Schritt wird immer der Engpass ermittelt. Zwickt<br />

es in der Datenbank, ist das Frontend langsam oder<br />

hakt es im Backend? <strong>Die</strong>se und weitere Fragen klärt<br />

dieser Artikel und gibt Tipps zur Optimierung.<br />

In den meisten Fällen treten Performance-Probleme<br />

bei einer Website<br />

erst zu Tage, wenn sie einige Zeit gelaufen<br />

ist. Schleichend treten dann Probleme<br />

auf und Nutzer fühlen die mangelnde<br />

Geschwindigkeit. Ausnahmen<br />

sind Seiten, die von Anfang an unter<br />

hoher Last stehen und quasi überrannt<br />

werden. Manchmal fallen Probleme<br />

auch nur auf, wenn die Leitung <strong>des</strong><br />

Nutzers langsam ist. In diesem Fall<br />

wirken Websites mit Performance-Problemen<br />

im Vergleich zu gut optimierten<br />

Sites oft deutlich langsamer.<br />

Und auch bei Websites ohne wirkliche<br />

Performance-Probleme ergibt ein wenig<br />

Optimierung Sinn. Zum einen werden<br />

dann künftige Probleme bei gestiegener<br />

Last vermieden, zum anderen freuen<br />

sich Nutzer und auch Suchmaschinen.<br />

In der Tat hat Google der Performance-<br />

Optimierung im Jahr 2010 mit einem eigenen<br />

Artikel weitere Nahrung gegeben<br />

(http://googlewebmastercentral.blogspot.<br />

de/2010/04/using-site-speed-in-web-<br />

Der Flaschenhals<br />

Bei Performance-Problemen gleicht die<br />

Suche nach der Ursache manchmal der<br />

Arbeit eines Trüffelschweins. Man muss<br />

vom Browser über den Webserver bis zur<br />

Datenbank alle Teile der Anwendung im<br />

Blick haben. Wenn die Problem akut auftreten,<br />

sollte besonderes Augenmerk dem<br />

zuletzt hinzugefügten oder aktualisierten<br />

Teil gelten. Sehen wir uns die relevanten<br />

Teile noch einmal im Detail an:<br />

» Frontend – im Browser und bei den Daten,<br />

die an den Browser geliefert werden<br />

» Webserverkonfiguration – in den Einstellungen<br />

und bei der Auslagerung<br />

von Dateien<br />

» Backend – im eigentlichen Code, beim<br />

Caching, beim Zusammenbau von<br />

Templates und so weiter<br />

» Datenbank – beim Abruf oder Schreiben<br />

von Daten<br />

Ein erster Ansatz bei der Suche nach der<br />

Ursache von Performance-Problemen<br />

kann eine Analyse aus dem Browser heraus<br />

sein. Hier reicht zuerst einmal ein<br />

Tool wie Firebug, das den Netzwerkverkehr<br />

beobachtet. Natürlich sind die Angaben<br />

dort abhängig von vielen Faktoren,<br />

unter anderem von der Geschwindigkeit<br />

Suchmaschinenzugriff: Google misst hier nur das Liefern von Seiten, sprich HTML.<br />

44 0513 internet magazin


Tipps für performante Websites | WEBENTWICKLUNG<br />

der <strong>Internet</strong>leitung. Dennoch geben sie<br />

ganz vereinfacht einen ersten Hinweis:<br />

Ist dort die eigentliche HTML-Seite langsam,<br />

so deutet das eher auf ein Problem<br />

aufseiten <strong>des</strong> Servers hin. Über die genaue<br />

Ursache, Konfiguration, Programmierung<br />

oder Datenbank ist dabei noch<br />

nichts gesagt. Ist die HTML-Seite dagegen<br />

eher schnell und dennoch dauert es,<br />

bis die Seite geladen ist, deutet das auf<br />

das Frontend hin.<br />

Frontend<br />

Im Frontend steckt für die Performance-<br />

Optimierung oft das größte Potenzial,<br />

denn bis zu 80 Prozent der Ladezeit<br />

wird im Frontend verbracht. Dementsprechend<br />

haben hier in den letzten Jahren<br />

viele große Webunternehmen Know<br />

-how aufgebaut und weitergegeben, allen<br />

voran Yahoo und Google. Einen ersten<br />

Eindruck liefert https://developers.<br />

google.com/speed/pagespeed/insights.<br />

Hier können Sie beliebige Websites<br />

eingeben und sich nach Prioritäten sortiert<br />

entsprechende Frontend-Maßnahmen<br />

ausgeben lassen. Das Wichtigste<br />

zu Anfang: <strong>Die</strong> meisten modernen<br />

Optimiermethoden sind nicht invasiv.<br />

Das heißt, sie verändern das Layout<br />

der Website nicht. Es wäre auch wenig<br />

sinnvoll, nur aus Performance-Gründen<br />

wieder auf Textwüsten zu setzen und<br />

auf Bilder zu verzichten.<br />

Weniger Daten<br />

<strong>Die</strong> erste generelle Regel für eine Performance-Optimierung<br />

im Frontend lautet:<br />

die Menge der übertragenen Daten reduzieren.<br />

Im Fokus stehen hier vor allem<br />

die vielen Dateien, die Teil je<strong>des</strong> modernen<br />

Website-Layouts sind: Javascript,<br />

CSS und Bilder.<br />

Eine pauschale Datenkomprimierung<br />

bietet schon der Webserver: GZip. Sie<br />

können diese Komprimierung per Webserverkonfiguration<br />

oder auch per PHP<br />

auslösen. Hier ein einfaches Beispiel aus<br />

der Apache-2.x-Konfiguration mit dem<br />

zuständigen Modul mod_deflate:<br />

<br />

SetOutputFilter DEFLATE<br />

# Nicht komprimieren<br />

SetEnvIfNoCase Request_URI<br />

\.(?:gif|jpe?g|png)$ no-gzip dontvary<br />

SetEnvIfNoCase Request_URI<br />

\.(?:exe|t?gz|zip|bz2|sit|rar)$<br />

no-gzip dont-vary<br />

<br />

Sie sehen, dass hier Bilder und Archive<br />

ausgeschlossen werden. Speziell bei den<br />

Bildern bringt eine GZip-Komprimierung<br />

meist keine guten Resultate mehr. Generell<br />

funktioniert die GZip-Komprimierung<br />

bei allen textlastigen Dateien wie<br />

HTML, CSS und Javascript sehr gut. Ob<br />

die Komprimierung aktiviert ist, verrät die<br />

HTTP-Antwort mit dem Header Content-<br />

Encoding: gzip.<br />

Einziger Nachteil bei GZip ist, dass sowohl<br />

der Webserver als auch der Browser<br />

ein wenig mehr rechnen müssen. Der<br />

Webserver muss die Komprimierung<br />

vornehmen und der Browser muss sie<br />

entpacken. Das ist in der Praxis bei<br />

chronischer Webserverüberlastung oder<br />

bei sehr schwachbrüstigen mobilen End-<br />

Ladezeit: Firebug<br />

zeigt die Requests<br />

und die Ladezeit.<br />

geräten manchmal ein kleiner Nachteil.<br />

Generell gilt aber, dass GZip meist sehr<br />

gut funktioniert.<br />

Der nächste Schritt für weniger Daten ist<br />

das Verkleinern von Javascript- und CSS-<br />

Dateien. Hier befinden sich viele Zeilenabstände<br />

und Leerzeichen im lesbaren<br />

Code, die vom Browser nicht benötigt<br />

werden. Wenn man sich Javascript-Code<br />

beispielsweise bei Google ansieht, erkennt<br />

man außerdem, dass dort sogar<br />

Variablennamen auf einen oder zwei<br />

Buchstaben verringert werden.<br />

Ein erster Ansatz sind hier auf jeden Fall<br />

die von Ihnen verwendeten Javascript-Bibliotheken.<br />

So gibt es beispielsweise vom<br />

Marktführer jQuery eine minimalisierte<br />

Produktionsvariante, die mit 91 Kilobyte<br />

deutlich kleiner ist als die 263 Kilobyte<br />

„schwere“ Variante mit sauberem Code.<br />

Für eigenen Code existiert eine Menge<br />

an Tools zur Komprimierung. Exemplarisch<br />

seien hier zwei genannt, die auch<br />

online getestet werden. UglifyJS finden<br />

Sie unter https://github.com/mishoo/UglifyJS<br />

– wer es im Einsatz testen möchte,<br />

verwendet den <strong>Die</strong>nst unter http://jscompress.com/.<br />

Und auch aus der YUI gibt<br />

es einen sogenannten Compressor: http://<br />

yui.github.com/yuicompressor/. Online<br />

ist er beispielsweise hier http://refresh-sf.<br />

www.internet-magazin.de 45


WEBENTWICKLUNG | Tipps für performante Websites<br />

com/yui/ im Einsatz. <strong>Die</strong> Google-Lösung<br />

aus diesem Bereich ist der Closure Compiler,<br />

als Java-Anwendung und auch als<br />

API verfügbar (https://developers.google.<br />

com/closure/compiler/).<br />

Der YUI Compressor kann beispielsweise<br />

neben Javascript auch CSS komprimieren.<br />

Hier stehen vor allem Whitespaces<br />

und Einrückungen auf dem Speiseplan<br />

der gefräßigen Komprimiermaschinen.<br />

Und auch Online-<strong>Die</strong>nste gibt es; als<br />

Beispiel sei hier http://www.cleancss.<br />

com/ erwähnt. Hier geben Sie den CSS-<br />

Code ein oder eine URL an und können<br />

festlegen, was alles vom Komprimierer<br />

erledigt werden soll. Der Online-<strong>Die</strong>nst<br />

wiederum basiert auf http://csstidy.sourceforge.net/,<br />

einem Open-Projekt.<br />

<strong>Die</strong> Komprimierung von HTML-Code<br />

verspricht sicherlich in der Praxis nicht<br />

allzu viel Gewinn, denn die Namen der<br />

HTML-Tags sind ja vorgegeben. Dennoch<br />

gibt es immer Vereinfachungsmöglichkeiten<br />

wie eine einfachere Struktur. Ein<br />

automatisches Tool für diesen Bereich ist<br />

beispielsweise HtmlCompressor (http://<br />

code.google.com/p/htmlcompressor).<br />

Ein weiterer interessanter Punkt sind<br />

die verwendeten Bilder. Hier sollte man<br />

überprüfen, ob Bilder im richtigen Format<br />

vorliegen, also beispielsweise Fotos<br />

als JPEG, Grafiken dagegen als PNG und<br />

GIF. Auch bei der Komprimierung kann<br />

man noch einmal nachjustieren oder gar<br />

Spezialisten wie JPEGmini (http://www.<br />

Hilfreich: Das<br />

Google-Tool<br />

Pagespeed Insights<br />

analysiert<br />

das Frontend und<br />

gibt wertvolle<br />

Optimiertipps.<br />

jpegmini.com/) und das verlustfrei arbeitende<br />

Smush.it (http://www.smushit.com/<br />

ysmush.it/) verwenden.<br />

Dateien ausliefern<br />

Der zweite generelle Ansatz für die Frontend-Optimierung<br />

ist die Reduktion der<br />

gleichzeitigen HTTP-Verbindungen. Zum<br />

einen erzeugt natürlich jede Verbindung<br />

auf dem Webserver Last, zum anderen<br />

haben gerade ältere Browser teilweise<br />

Beschränkungen auf nur zwei oder vier<br />

gleichzeitige Verbindungen von einer<br />

Domain beziehungsweise Subdomain.<br />

Daraus ergeben sich einige Empfehlungen.<br />

Zum einen sollte man Dateien<br />

auf verschiedene Subdomains und Domains<br />

auslagern. Das ist allerdings mit<br />

Vorsicht zu genießen und sollte einen<br />

Sinn ergeben: Eine sinnvolle Variante<br />

wäre beispielsweise ein eigener Auslieferungsserver<br />

für statische Inhalte wie<br />

Bilder, CSS und Javascript, der dann auch<br />

unter einer eigenen Subdomain läuft.<br />

Hier bietet es sich auch an, nicht auf einen<br />

komplexen Webserver wie Apache,<br />

sondern eine leichtgewichtigere Lösung<br />

wie beispielsweise lighttpd zu setzen.<br />

Verkleinert: <strong>Die</strong><br />

verkleinerte<br />

jQuery-Version<br />

ist das Tool der<br />

Wahl für die Produktivumgebung.<br />

Wer größeren Bedarf hat, kann natürlich<br />

auch Daten in die Cloud verfrachten und<br />

beispielsweise so genannte Content Delivery<br />

Networks wie Akamai nutzen. Für<br />

den kleineren Bedarf ist das Auslagern<br />

von Videos auf YouTube und Co. eine<br />

sinnvolle Möglichkeit, dem Server Arbeit<br />

abzunehmen. Und auch Javascript-<br />

Bibliotheken wie jQuery lassen sich von<br />

potenten Anbietern wie Google aus der<br />

Cloud liefern. Hier finden Sie eine Übersicht<br />

über die verfügaren Bibliotheken:<br />

https://developers.google.com/speed/<br />

libraries/devguide. Beim eigenen Code<br />

kann man natürlich Requests einsparen<br />

und bei CSS und Javascript Inhalte<br />

in eine Datei packen. Hier gilt es allerdings<br />

zu überlegen, ob es nicht teilweise<br />

besser ist, auf Unterseiten immer nur<br />

den jeweils benötigten Code zu laden.<br />

Eine weitere Variante wäre, Javascript<br />

asynchron, das heißt erst dann zu laden,<br />

wenn sichtbare Inhalte wie Bilder schon<br />

geladen sind. <strong>Die</strong>s funktioniert immer<br />

dann sehr gut, wenn der Javascript-Code<br />

erst nach dem Laden der Seite an sich<br />

benötigt wird. Und auch bei Bildern ist<br />

die Reduktion von Dateien und damit<br />

Requests möglich. Lösungsansatz sind<br />

die so genannten CSS-Sprites. Dabei<br />

werden in ein Bild mehrere Button-Zustände<br />

oder Buttons zusammengefasst<br />

und nur über die CSS-Position <strong>des</strong> Bil<strong>des</strong><br />

angesteuert. <strong>Die</strong> manuelle Erstellung ist<br />

natürlich aufwändig, <strong>des</strong>wegen gibt es<br />

einige Tools für diesen Zweck. Exemplarisch<br />

seien hier http://spriteme.org/<br />

mit einem Bookmarklet-Link und http://<br />

spritegen.website-performance.org/ als<br />

Formularlösung genannt.<br />

46 0513 internet magazin


Tipps für performante Websites | WEBENTWICKLUNG<br />

Vielfalt:<br />

Verschiedene<br />

Buttons sind in<br />

einem Bild zusammengefasst.<br />

Cache ist nicht gleich Cache<br />

Der dritte Ansatz zur Performance-<br />

Optimierung ist Caching, also das Zwischenspeichern<br />

von Inhalten, die sich<br />

nicht so häufig ändern. Er ist einerseits<br />

eine Frontend-Maßnahme, wenn Sie<br />

nämlich dem Browser erlauben, Dateien<br />

wie CSS im Browser über mehrere Seiten<br />

hinweg vorzuhalten. Andererseits findet<br />

Caching auch auf dem Server statt.<br />

<strong>Die</strong> verschiedenen Varianten sehen wir<br />

uns nun näher an. Generell hilft es, den<br />

Browsercache zu verwenden. Gerade<br />

wiederkehrende Dateien wie CSS und JS<br />

kann der Browser sehr effektiv in seinen<br />

Cache übernehmen und fragt den Server<br />

dann überhaupt nicht mehr an. Sie sehen<br />

das beispielsweise im Firebug, wenn Sie<br />

eine Seite ein zweites Mal aufrufen und<br />

viele dieser Inhalte nicht erneut übertragen<br />

werden. Gesteuert wird das Browserverhalten<br />

hauptsächlich über die HTTP-<br />

Header Expires und Cache-Control.<br />

<strong>Die</strong>se Angaben werden übrigens auch<br />

von Proxy-Servern eingesetzt, um festzustellen,<br />

wann Inhalte neu geholt werden<br />

müssen. Eine weitere Caching-Möglichkeit<br />

im Frontend gibt es mit HTML5:<br />

einen eigenen Anwendungscache, der<br />

mit einer so genannten Manifestdatei gesteuert<br />

werden kann. Hiermit sind noch<br />

wesentlich mehr Möglichkeiten denkbar,<br />

beispielsweise auch offline verfügbare<br />

Dateien, aber generell wäre auch ein<br />

zukünftiger Einsatz zur Performance-<br />

Optimierung denkbar. Nun wechseln<br />

wir vom Frontend zum Server. Auch hier<br />

existieren verschiedene Caching-Optionen.<br />

Beispielsweise bieten Content-<br />

Management-Systeme wie TYPO3 ein<br />

eingebautes Caching auf verschiedenen<br />

Ebenen der Anwendung. Hier wird oft<br />

eine Seite in den Zwischenspeicher gelegt,<br />

sobald sie einmal aufgerufen wurde.<br />

Wird der Inhalt dann bearbeitet, muss<br />

der Cache gelöscht werden. Auch einzelne<br />

Teile einer Seite können zwischengespeichert<br />

werden, man spricht hier von<br />

Partial Caching. Auf sehr fortgeschrittenem<br />

Level ist es auch möglich, Objekte<br />

und Datenbankresultate beispielsweise<br />

im Hauptspeicher zwischenzulagern. In<br />

PHP gibt es dafür beispielsweise Memcache<br />

als Lösung.<br />

<strong>Die</strong>se Ansätze sind allerdings recht invasiv.<br />

Wer schnelle Resultate benötigt, ist<br />

unter Umständen mit einem vorgeschalteten<br />

Cache, einem so genannten Fullpage<br />

Cache, besser beraten. Ein bekannter<br />

Vertreter ist Varnish (http://www.varnishcache.org/).<br />

Code und Datenbank<br />

Je nach serverseitiger Programmiersprache<br />

kann auch der Code an sich ein Engpass<br />

sein. Speziell sehr komplexe Aufbauten,<br />

unnötige Schleifen und unendlich verschachtelte<br />

Dateikonstrukte können hier<br />

Probleme machen. Allerdings ist hier in<br />

den meisten Fällen die Analyse aufwändig,<br />

weswegen es Sinn macht, zuerst zu<br />

überprüfen, ob nicht vielleicht die Datenbank<br />

das eigentliche Problem darstellt.<br />

Bei der Datenbank gilt es zuerst herauszufinden,<br />

welche Abfragen betroffen sind.<br />

Je nach Datenbank ist das Vorgehen hier<br />

unterschiedlich. In MySQL gibt es das so<br />

genannte Slow Query Log. MySQL kann<br />

dieses Protokoll entweder in eine Datei<br />

oder ab MySQL 5.1.6 wahlweise auch in<br />

eine Tabelle schreiben. Ausgehend von<br />

den langsamen Abfragen gilt es nun, Maßnahmen<br />

zu treffen. Grob unterteilen lassen<br />

sich diese in: allgemeine Konfigurationseinstellungen,<br />

beispielsweise erhöhte<br />

Zwischenspeicherzeiten, Vereinfachung<br />

der Abfragen an sich und Einsatz datenbankspezifischer<br />

Optimierungen wie<br />

beispielsweise eines Index auf bestimmte<br />

Spalten. Bei MySQL ist oft auch die Frage<br />

nach dem Tabellentyp MyISAM oder InnoDB<br />

relevant. InnoDB ist hier für Lese-<br />

Beibehalten: Im<br />

Antwort-Header liefert<br />

der Server Expires und<br />

Cache-Control mit.<br />

operationen deutlich schneller, kann aber<br />

bei Schreibvorgängen der Engpass sein.<br />

Das Thema Performance ist umfangreich.<br />

Mit diesem Artikel haben Sie einen ersten<br />

Einblick in mögliche Engpässe und verschiedene<br />

Stellschrauben zur Behebung<br />

erhalten. Je nach vorliegender Website<br />

lohnt es sich nun, in einzelne Bereiche<br />

tiefer einzusteigen. Dabei tun sich unterschiedliche<br />

Welten auf: <strong>Die</strong> Frontend-<br />

Optimierung liefert oft für den Nutzer ein<br />

deutlich verbessertes Erlebnis, serverseitiges<br />

Caching und Datenbankoptimierung<br />

haben dagegen noch einmal ganz<br />

spezifische Anforderungen. Generell gilt,<br />

dass es sehr viele Optimierungsmöglichkeiten<br />

gibt, bevor der Schritt zu mehr und<br />

dickerer Hardware fällig ist.<br />

Tobias Hauser<br />

www.internet-magazin.de 47


WEBENTWICKLUNG | Widget-Programmierung<br />

Alles selbst<br />

gemacht!<br />

Android-Widgets sind der letzte<br />

Schrei unter Programmierern. Um durchstarten zu<br />

können, finden Sie hier alle wichtigen Grundlagen.<br />

Viele mobile Geräte nutzen intern<br />

das von Google entwickelte und<br />

auf Linux basierende Open-Source-<br />

Betriebssystem Android. <strong>Die</strong>ses kommt<br />

auf Smartphones, Tablet-PCs oder auch<br />

Notebooks zum Einsatz. Wie bei anderen<br />

Systemen auch, führen Sie unter<br />

Android Anwendungsprogramme, Tools<br />

sowie Spiele im Vordergrund oder auch<br />

<strong>Die</strong>nste im Hintergrund aus. Starten Sie<br />

das System, dann gelangen Sie zunächst<br />

auf den Homescreen. <strong>Die</strong>ser beinhaltet<br />

– wie der Desktop anderer Systeme –<br />

Desktop-Symbole, Bedienelemente oder<br />

auch ausgeführte Minianwendungen, die<br />

so genannten Android-Widgets.<br />

Potenzial der Widgets<br />

<strong>Die</strong> Widgets haben Funktionen vergleichbar<br />

den in Windows Vista und Windows<br />

7 bekannten Minianwendungen. Sie<br />

wurden mit dem Android SDK (Software<br />

Development Kit) 1.5 eingeführt. Sie legen<br />

Informationen auf dem Homescreen<br />

offen, die je nach Bedarf zeitbasiert oder<br />

anhand von Systemrückmeldungen aktualisiert<br />

werden. Widgets setzen<br />

Sie aber nicht nur zur Informationsausgabe,<br />

sondern auch zur<br />

Steuerung ein.<br />

Ferner unterstützt Android Hybrid-<br />

Widgets, die Informationen ausgeben<br />

und zusätzlich Steuerungsfunktionen<br />

anbieten (zum Beispiel<br />

Musiktitel pausieren und fortsetzen).<br />

Je nach Anwendungstyp<br />

(App oder Widget) erfolgt auch<br />

die Kodierung unterschiedlich.<br />

Bekannte Widgets erlauben den<br />

Home sweet Homescreen:<br />

Auf diesem Nexus 7 laufen<br />

die Wetterapp von Beautiful<br />

Widgets samt Akku-Widget,<br />

die anmierte Strandszene von<br />

My Beach sowie die Digitaluhr<br />

von Google.<br />

Zugriff auf ausgewählte Informationen,<br />

das Abrufen standortbasierter Wetterdaten<br />

oder aber eine permanente Überwachung<br />

ausgewählter Systeminformationen<br />

(Speichergröße, Uhrzeit, Kalenderdaten<br />

und so weiter).<br />

<strong>Die</strong> Android-Systemarchitektur<br />

<strong>Die</strong> Systemarchitektur bestimmt, wie<br />

Sie Anwendungen für mobile Geräte<br />

als Entwickler umsetzen und welche<br />

Werkzeuge Sie dafür zur Hand haben.<br />

Das Android-System setzt sich dabei<br />

aus dem Systemkern, Funktionsbibliotheken,<br />

einer Laufzeitumgebung und<br />

dem Application Framework zusammen.<br />

Darauf setzen die Anwendungen auf,<br />

die Bestandteil <strong>des</strong> Systems sind oder<br />

von Drittanbietern oder Ihnen selbst bereitgestellt<br />

werden (siehe Funktionsdiagramm<br />

rechts).<br />

Der Linux-Systemkern übernimmt in<br />

An droid die Aufgaben für die Energie-,<br />

Speicher- und Prozessverwaltung, bietet<br />

Sicherheitsfunktionen und bindet<br />

Gerätetreiber ein (Tastatur, Bildschirm,<br />

Kamera, Flashspeicher, WiFi, Audio).<br />

Über den Binder-Treiber wird die Kommunikation<br />

zwischen unterschiedlichen<br />

Prozessen realisiert. Als Runtime wird<br />

in Android die Dalvik Virtual Machine<br />

(DVM) genutzt. Darüber und über die<br />

zugehörigen Java-Klassenbibliotheken<br />

werden Java-Anwendungen in einem<br />

48 0513 internet magazin


Widget-Programmierung | WEBENTWICKLUNG<br />

speziellen Binärcode ausgeführt, der<br />

von herkömmlichem Java-Bytecode abweicht.<br />

Ausführbare Programme erhalten<br />

das Kürzel dex (Dalvic EXevcutables)<br />

und Programmpakete werden in Android<br />

Packages verpackt (APK). <strong>Die</strong> DVM<br />

wurde für mobile Geräte optimiert und<br />

ist speicherschonend auch in mehreren<br />

Instanzen ausführbar.<br />

Zeitkritische Routinen<br />

Zeitkritische Routinen werden über C/<br />

C++ implementiert und über gesonderte<br />

native Bibliotheken angebunden.<br />

Darüber stehen Funktionen zur Datenverwaltung<br />

(SQLite), zur Grafikprogrammierung<br />

(OpenGL, Open GL ES, SGL<br />

Graphics Engine), zum <strong>Internet</strong>zugriff<br />

(WebKit), zur sicheren Datenübertragung<br />

(SSL – Secure Sockets Layer), zur Multimediaverwaltung<br />

(Media Framework),<br />

zur Schriftenausgabe (FreeType), zur<br />

Oberflächenverwaltung (Surface Manager)<br />

sowie wichtige Systembibliotheken<br />

(libc) bereit. Libc ist hierbei eine von<br />

Google entwickelte Bibliothek für den<br />

C-Compiler, die den Namen Bionic trägt.<br />

Widgets legen Informationen und Bedienfunktionen auf Home- und Lockscreens<br />

offen oder aggregieren Informationen zu einem „Collection Widget“ wie Googles<br />

Currents rechts im Bild (Quelle: Google).<br />

<strong>Die</strong> Systemarchitektur<br />

von Android –<br />

Grundlage zur<br />

Anwendungsentwicklung.<br />

Kostenfreie Entwicklungstools für Android<br />

Programm URL Beschreibung<br />

Netbeans DIE 7.3 http://netbeans.org Java-Entwicklungsumgebung<br />

NBAndroid www.nbandroid.org Java-IDE für die Entwicklung mobiler Anwendungen (32-/64-Bit-Editionen) für Windows,<br />

Linux und Mac OS, die kein ADT enthält.<br />

Eclipse for mobile<br />

Developers<br />

Eclipse ADT Plugin<br />

http://eclipse.org/mobile<br />

http://developer.android.com/sdk/<br />

instal ling/installing-adt.html<br />

<strong>Die</strong> Java-IDE für die Entwicklung mobiler Anwendungen steht in 32- und 64-Bit-Version<br />

für die Systeme Linux, Mac OS und Windows zur Verfügung, integriert aber nicht das ADT.<br />

Hinweise zur Installation <strong>des</strong> ADT-Plug-ins für Eclipse<br />

Android ADT Bundle<br />

ADT (SDK Tools)<br />

JDK/JRE<br />

Android App Widget<br />

Templates Pack 4.0<br />

http://developer.android.com/sdk/<br />

index.html<br />

http://developer.android.com/sdk/<br />

index.html<br />

http://www.oracle.com/technetwork/java/javase/downloads/index.<br />

html<br />

http://developer.android.com/<br />

guide/practices/ui_guidelines/<br />

widget_<strong>des</strong>ign.html<br />

Das Android ADT Bundle beinhaltet mobiles Eclipse mit dem ADT-Plug-in, das Android-<br />

SDK und gesonderte Plattformtools sowie das letzte Systemabbild für den Emulator. Das<br />

Bundle ist in 32- und 64-Bit-Edition für Linux, iOS und Windows erhältlich. Optional<br />

können über diese Seite die SDK-Tools auch ohne Eclipse-IDE heruntergeladen werden.<br />

Das eigenständige Android Development Toolkit nutzen Sie, wenn Sie Eclipse als Entwicklungsumgebung<br />

bereits auf Ihrem Rechner installiert haben.<br />

Das Java Development Kit (JDK, 32-/64-Bit-Editionen) beinhaltet die JRE (Java Runtime<br />

Environment). <strong>Die</strong> 32-Bit-Variante wird für 32-Bit-, die 64-Bit-Variante für 64-Bit-<br />

Anwendungen benötigt.<br />

Vorlagen für die Programmierung von Android-App-Widgets.<br />

www.internet-magazin.de 49


WEBENTWICKLUNG | Widget-Programmierung<br />

Das Application Framework ist das Rahmengerüst<br />

für Anwendungen, hinter dem<br />

sich die Programmierschnittstellen verbergen<br />

(APIs – Application Programming<br />

Interfaces). Per API werden Java-Klassen<br />

angeboten, die Entwickler<br />

in eigenen Anwendungen<br />

nutzen. Das Application<br />

Framework gibt den Aufbau<br />

von Anwendungen vor<br />

und macht Funktionalitäten<br />

anwendungsübergreifend<br />

verfügbar. Auf das Anwendungs-Framework<br />

setzen die einzelnen<br />

Android-Anwendungen auf. <strong>Die</strong>se werden<br />

teilweise bereits mit dem System<br />

ausgeliefert. Als Entwickler erstellen Sie<br />

Anwendungen für Android wahlweise<br />

unter Windows, Mac OS oder Linux.<br />

Um mobile Anwendungen direkt auf<br />

Desktop-Systemen zu testen und auszuführen,<br />

stehen konfigurierbare Emulatoren<br />

bereit. Der abschließende Test<br />

einer fertiggestellten Anwendung erfolgt<br />

auf dem mobilen Gerät. Sie können Anwendungen<br />

wahlweise direkt überspielen,<br />

über das <strong>Internet</strong> URL-basiert an<br />

mehrere Anwender verteilen oder über<br />

Google Play, dem Anwendungsmarkt für<br />

Android-Anwendungen, einer breiten<br />

Masse von Android-Geräten online<br />

kostenfrei oder zum Kauf<br />

anbieten. In Google Play<br />

werden alle Anwendungen<br />

versionsbasiert<br />

verwaltet.<br />

So ist sichergestellt,<br />

dass das mobile Gerät<br />

direkt erkennen kann, ob bestimmte<br />

Android-Anwendungen kompatibel und<br />

damit nutzbar sind oder nicht (siehe Abbildung<br />

unten).<br />

Unter der <strong>Internet</strong>adresse http://developer.android.com/reference/packages.<br />

html rufen Sie, bezogen auf einen bestimmten<br />

API-Level, die Informationen<br />

zu den unterstützten Programmierschnittstellen<br />

ab. Kontrollieren Sie bei einer<br />

Programmentwicklung für ein eigenes<br />

Gerät aber immer erst, welche Funktio-<br />

Versionsunterschiede: Von Cupcake bis Jelly Bean<br />

Jede Android-Anwendung wird für eine bestimmte Systemversion entwickelt. <strong>Die</strong>se legt die<br />

grundlegende Funktionalität und die verwendbaren Programmierschnittstellen fest.<br />

Widgets erst seit Android 1.5<br />

Android liegt in unterschiedlichen<br />

Versionen vor, wobei<br />

bekannte Versionen zusätzliche<br />

Namen tragen. <strong>Die</strong> Version 1.5<br />

machte erstmals die Unterstützung<br />

von Widgets verfügbar. <strong>Die</strong>se<br />

Version trägt den englischen<br />

Namen Cupcake und ist dem<br />

API-Level 3 zugeordnet. <strong>Die</strong> Version<br />

4.2 ist die derzeit neueste<br />

Version, trägt den Namen Jelly<br />

Bean und definiert den API-<br />

Level 17. In der letztgenannten<br />

Version stehen Widgets nicht nur<br />

auf dem Homescreen, sondern<br />

auch auf dem Lockscreen zur<br />

Verfügung. Jede Version ist<br />

ihrerseits mit einem bestimmten<br />

API-Level verknüpft. <strong>Die</strong>ser legt<br />

fest, welche Systemfunktionen<br />

für ein Gerät nutzbar sind.<br />

Android-Version API-Level Name<br />

1.0 1 Base<br />

1.1 2 Base<br />

1.5 3 Cupcake<br />

1.6 4 Donut<br />

2.0 5 Eclair<br />

2.0.1 6 Eclair<br />

2.1.x 7 Eclair<br />

2.2.x 8 Froyo<br />

2.3, 2.3.1, 2.3.2 9 Gingerbread<br />

2.3.3, 2.3.4 10 Gingerbread<br />

3.0.x 11 Honeycomb<br />

3.1.x 12 Honeycomb<br />

3.2 13 Honeycomb<br />

4.0, 4.0.1, 4.0.2 14 Ice Cream Sandwich<br />

4.0.3, 4.0.4 15 Ice Cream Sandwich<br />

4.1, 4.1.1 16 Jelly Bean<br />

4.2 17 Jelly Bean<br />

nalitäten nutzbar sind. Nur so ersparen<br />

Sie sich den Ärger, dass selbst entwickelte<br />

Anwendungen auf Ihrem eigenen Gerät<br />

später nicht lauffähig sind.<br />

In einem Anwendungsmanifest legen Sie<br />

später fest, welche Min<strong>des</strong>tversion für die<br />

Lauffähigkeit einer Anwendung vorhanden<br />

sein muss (minSdkVersion), welches<br />

Zielsystem adressiert wird (targetSdkVersion)<br />

und welche höchste Versionsnummer<br />

eines Systems generell unterstützt<br />

wird (maxSdkVersion). <strong>Die</strong> Versionsnummern<br />

werden dabei über die Ganzzahl<br />

<strong>des</strong> zugeordneten API-Levels angegeben.<br />

<strong>Die</strong> allgemeine Syntax im Anwendungsmanifest<br />

hat den folgenden Aufbau:<br />

<br />

Anhand dieser Zuweisungen wird im<br />

Rahmen der Installation oder Aktualisierung<br />

einer Anwendung entschieden, ob<br />

diese zulässig ist oder nicht. Damit ist<br />

gewährleistet, dass solche Anwendungen<br />

oder Widgets gar nicht erst installiert werden,<br />

die auf einem vorhandenen System<br />

nicht lauffähig sind.<br />

Android-Anwendungsarchitektur<br />

Herkömmliche Android-Anwendungen<br />

setzen sich aus ein oder mehreren Activities-,<br />

Services-, Content- und Broadcast-Elementen<br />

zusammen. Eine Activity<br />

ist eine Anwendungskomponente, die<br />

einen Bildschirm für die Interaktion und<br />

Benutzereingaben verfügbar macht. <strong>Die</strong><br />

Haupt-Activity wird auch als main activity<br />

bezeichnet. <strong>Die</strong>se wird nach dem<br />

Starten einer Anwendung angezeigt. Jede<br />

Activity kann ein oder auch mehrere Activities<br />

nachladen, wobei eine Aktivität<br />

aktiv ist und deaktivierte Aktivitäten unmittelbar<br />

angehalten werden. Zwischen<br />

den Aktivitäten kann nach Bedarf gewechselt<br />

werden. Services sind <strong>Die</strong>nste,<br />

die bei Anwendungen genutzt werden,<br />

50 0513 internet magazin


Widget-Programmierung | WEBENTWICKLUNG<br />

die im Hintergrund arbeiten. Sie werden<br />

wahlweise durch eine Activity oder den<br />

Binder gestartet. Content Provider liefern<br />

die Dateninhalte für eine Anwendung<br />

(SQLite, XML oder auch entfernte Datenspeicher<br />

in der Cloud). Über Sie greifen<br />

auch mehrere Aktivitäten oder <strong>Die</strong>nste<br />

vereinfacht auf den gleichen Datenbestand<br />

zu, wobei die Datenabfrage, das<br />

Hinzufügen von Daten oder auch das Löschen<br />

von Daten über URIs (Uniform Resource<br />

Identifier) erfolgt. Broadcasts sind<br />

schließlich Sender für Nachrichten, auf<br />

die Empfänger (Broadcast Receiver) mit<br />

bestimmten Aktionen reagieren können.<br />

Der Eingang einer SMS, das Läuten eines<br />

Telefons, das neue Erkennen oder Wegfallen<br />

von WLAN-Netzwerken, die Uhrzeit-<br />

oder Datumsänderung oder auch<br />

Änderungen am Ladezustand <strong>des</strong> Akkus<br />

werden systemintern überwacht und versendet.<br />

Damit eine Anwendung diese Änderungsmitteilungen<br />

entgegen nehmen<br />

und verarbeiten kann, muss diese einen<br />

BroadCast-Empfänger definieren.<br />

Minianwendungen für Android<br />

App-Widgets sind ein spezieller Anwendungstyp,<br />

bei dem anders als bei<br />

Über den API-Level legen Sie die<br />

Funktionen offen, die im Rahmen der<br />

Programmentwicklungen für mobile<br />

Geräte nutzbar sind.<br />

Widget-Platzierung: Homescreen oder Lockscreen?<br />

Erst mit der Version 4.2 von Android können Sie Widgets nicht nur auf dem Home-, sondern<br />

wahlweise auch auf dem Lockscreen platzieren.<br />

Je nach Android-Version bieten mobile Geräte<br />

mitunter mehrere Homescreens an. Auf<br />

sämlichen Homescreens (in der Regel 1, 3<br />

oder 5), zwischen denen Sie per Gestensteuerung<br />

wechseln, öffnen Sie nach Bedarf auch<br />

eines oder mehrere Widgets. Um fehlerhafte<br />

Tastatureingaben zu unterbinden, wird neben<br />

den Homescreens ein gesonderter Lockscreen<br />

(Sperrbildschirm) angeboten. Dessen Sperrfunktion<br />

müssen Sie über eine gesonderte<br />

Wischbedienung oder aber ein gesondertes<br />

Bedienelement aufheben. Erst auf Android-<br />

Systemen der Version 4.2 lassen sich Widgets<br />

auch direkt auf dem Sperrbildschirm ablegen.<br />

Ob ein Widget als Homescreen- und oder<br />

Lockscreen-Widget nutzbar ist, geben Sie<br />

herkömmlichen Anwendungen nicht<br />

die Activities, sondern ein Broadcast-<br />

Empfänger im Vordergrund steht. <strong>Die</strong><br />

wesentlichen Bestandteile eines Widgets<br />

sind ein Anwendungsmanifest, das Anwendungsinformationen<br />

im XML-Format<br />

(eXtended Markup Language) verwaltet,<br />

und eine BroadCastReceiver-Klasse, die<br />

festlegt, wie auf Nachrichten und Informationen<br />

zu reagieren ist und die im<br />

zweiten Teil behandelt werden.<br />

Android bietet unterschiedliche Widget-<br />

Typen an: Information-Widgets machen<br />

aktualisierbare Informationen verfügbar,<br />

deren Anwahl eine zugeordnete, größere<br />

Anwendung oder eine Detailansicht offenlegt.<br />

Collection-Widgets geben dagegen<br />

entsprechend die Informationen zu<br />

mehreren Elementen <strong>des</strong> gleichen Typs,<br />

beziehungsweise einer Kollektion aus,<br />

wie zum Beispiel Bildersammlungen<br />

oder Nachrichten. Über die Collection-<br />

Widgets wählen Sie einzelne Elemente an<br />

und öffnen diese in einer Detailansicht.<br />

Control-Widgets dienen als Fernsteuerungsanwendung,<br />

mit der ausgewählte<br />

Funktionen durch eine Schaltflächenanwahl<br />

abgesetzt werden. Control-<br />

Widgets bieten in der Regel nur ausge-<br />

über die XML-Metadatendatei im Bereich<br />

appwidget-provider an:<br />

<br />

Widget ist auf dem Homescreen ausführbar<br />

android:widgetCategory=“ home_<br />

screen“><br />

Widget ist auf dem Lock- und Homescreen<br />

ausführbar<br />

android:widgetCategory=“keyguard|<br />

home_screen“><br />

<br />

wählte Funktionen einer Anwendung an<br />

und mitunter auch Querverweise zur<br />

Hauptanwendung oder einer Detailansicht.<br />

Hybrid-Widgets kombinieren, wie<br />

eingangs erwähnt, Informationen und<br />

Steuerungsfunktionen. Im Rahmen der<br />

Entwicklung bestimmen Sie nicht nur die<br />

Widget-Inhalte (Content), sondern auch<br />

die Navigation sowie das Layout und die<br />

Größenänderung, die seit der Android-<br />

Version 3.1 steuerbar ist. Dabei kann<br />

und muss die vom jeweiligen Gerät bereitgestellte<br />

Display-Größe berücksichtigt<br />

werden. Benötigen Widgets bestimmte<br />

Konfigurationseinstellungen, definieren<br />

Sie diese ebenfalls auf Quelltextebene.<br />

Sobald das Widget dann auf den Homescreen<br />

platziert wird, erfolgt die Abfrage<br />

der erforderlichen Konfigurationseinstellungen<br />

automatisch. Generell gilt: Der<br />

Funktionsumfang einer Minianwendung<br />

ist kompakt und beschränkt sich auf eine<br />

bestimmte Funktionalität.<br />

Im nächsten Teil dieser Serie wird gezeigt,<br />

wie Sie mit mobile Eclipse und<br />

dem ADT Minianwendungen für Android<br />

selbst über XML-Dateien definieren<br />

und in Java-Syntax programmieren.<br />

Dipl.-Ing. Andreas Maslo<br />

www.internet-magazin.de 51


WEBBUSINESS | Customer Journey Workshop<br />

<strong>Die</strong> <strong>Reise</strong> <strong>des</strong> <strong>Kunden</strong><br />

<strong>Kunden</strong> wählen von der Inspiration bis zum Produktkauf<br />

sehr unterschiedliche Wege. Sind diese unbekannt,<br />

bleibt jede Werbemaßnahme allgemein und<br />

oberflächlich. Präzises Targeting ist angesagt.<br />

Blätterbare Online-Kataloge lassen<br />

sich leicht herstellen und einige Kundinnen<br />

lieben sie, sagt Phillipp Winklhofer.<br />

Er spricht von diesen kleinen Flash-<br />

Anwendungen, bei denen sich die Ecken<br />

der Seiten aufrollen und mit der Maus<br />

umblättern lassen. Für Winklhofer, der<br />

den Online-Shop von Atelier Goldener<br />

Schnitt (kurz AGS) verantwortet und dort<br />

Damenoberbekleidung verkauft, sind die<br />

kleinen Flash-Filmchen ein No-Brainer:<br />

machen und nicht darüber nachdenken.<br />

„Wir kommen heute noch nicht ohne einen<br />

Katalog aus“, sagte Sabine Tietz von<br />

Lascana vor einem Jahr. Obwohl der Online-Shop<br />

<strong>des</strong> Dessousanbieters gut auf<br />

Konversion optimiert ist, setzt die Otto-<br />

Tochter nach wie vor auf die analoge<br />

Form der Ansprache mit Papier. Das hat<br />

auch der Pure Player und Branchenriese<br />

Zalando begriffen. Je<strong>des</strong> Quartal druckt<br />

Zalando inzwischen Kataloge in Millionenauflage.<br />

Und Notebooksbilliger – ein<br />

ehemaliger Pure Player – geht sogar noch<br />

einen Schritt weiter und eröffnet demnächst<br />

die zweite echte Filiale.<br />

„Man glaubt fast nicht, wie viele Innovationen<br />

im Online-Lebensmittelhandel<br />

möglich sind“, so Mo Mosavi auf dem<br />

Kongress Online-Handel Ende Januar in<br />

Bonn. Mosavi zeigte in seinem Vortrag,<br />

dass der vermeintlich ausdefinierte Markt<br />

für Lebensmittel noch viel Raum für Erfindungsreichtum<br />

lässt. Eines der Beispiele,<br />

die der Iraner zeigt, arbeitet mit<br />

Lebensmittel-Packages für bestimmte Anlässe<br />

wie das Candle Light Dinner oder<br />

den Fußballabend mit Freunden. Ein anderes<br />

Beispiel erlaubt dem <strong>Kunden</strong> nur<br />

52 0513 internet magazin


Customer Journey Workshop | WEBBUSINESS<br />

Zalando hat die Bedeutung<br />

von Papiermarketing erkannt<br />

und druckt Kataloge.<br />

solche Produkte in den Warenkorb zu<br />

legen, die ein bestimmtes Allergen nicht<br />

beinhalten oder zum Beispiel glutenfrei<br />

sind. Mosavis eigener Shop Saymo.de hat<br />

zum Beispiel den Kauf auf Rechnung als<br />

Mehrwert für die <strong>Kunden</strong> ausgemacht.<br />

Alle drei Beispiele eint eines: Winklhofer,<br />

Tietz und Mosavi schauen sich ihre <strong>Kunden</strong><br />

ganz genau an. Sie lassen sich nicht<br />

blenden von allgemeinen Statistiken und<br />

älterer Literatur, die das <strong>Kunden</strong>verhalten<br />

zu einer Zeit skizziert, als die Telefone<br />

noch Kabel hatten. Sie verschaffen sich<br />

ein Bild von der <strong>Reise</strong> <strong>des</strong> <strong>Kunden</strong>, beginnend<br />

bei der ersten Inspiration bis hin<br />

zum Produktkauf und darüber hinaus.<br />

Sie ordnen jeder Informationsquelle, die<br />

der potenzielle Kunde konsultiert, einen<br />

Messwert zu, und versuchen die Bedürfnisse<br />

zu ermitteln, die der Kunde genau<br />

an dieser Stelle hat. Daraus leiten die<br />

Shopbetreiber dann die Werbemaßnahmen<br />

und -inhalte ab, die die Recherche<br />

beeinflussen sollen. Das Ziel: Alle wollen<br />

die Entscheidung frühzeitig in Richtung<br />

ihres Shops dirigieren, denn sobald der<br />

Kunde ein konkretes Produkt vor Augen<br />

hat, entzündet sich im Web ein gnadenloser<br />

und vielfach ruinöser Preiskampf.<br />

<strong>Die</strong> Idee von der<br />

Customer Journey<br />

<strong>Reise</strong>wege zum Produkt gibt es so viele,<br />

wie es <strong>Kunden</strong> gibt und selbst der einzelne<br />

Kunde geht selten zweimal den gleichen<br />

Weg. <strong>Die</strong> Möglichkeiten, mit einem Thema<br />

in Berührung zu kommen, das später<br />

eine Konsumrelevanz haben könnte, sind<br />

praktisch unendlich. Im Groben lassen<br />

sich jenseits der digitalen Welt folgende<br />

Segmente filtern: Freunde und Bekannte,<br />

analoge Werbung in TV, Zeitschriften, auf<br />

Plakaten, Medienberichterstattung, Konsultation<br />

von Experten, lokale Kontakte<br />

auf Veranstaltungen oder der Bummel<br />

durch die Fußgängerzone. Hinzu kommt<br />

eine Vielzahl digitaler Kontaktpunkte.<br />

Hierzu zählen Bannerwerbung, SEA,<br />

SEO, Affiliate-Programme, Social Media,<br />

Firmen-Websites, Foren, Blogs, redaktionelle<br />

Websites, Portale und Shopping-<br />

Portale, E-Mail-Marketing und natürlich<br />

Preissuchmaschinen.<br />

In der Theorie bekommt jeder so genannte<br />

Touchpoint einen Wert zugeschrieben.<br />

<strong>Die</strong>ser Wert bemisst sich am Beitrag, den<br />

ein Kanal zum Verkauf beiträgt. In der Digitalbranche<br />

ist es vergleichsweise einfach,<br />

ein solches Attributionsmodell zu<br />

entwerfen. Man setzt bei jedem Werbe-<br />

Der Zero Moment<br />

of Truth entsteht<br />

in vielen Fällen<br />

bereits bevor der<br />

Nutzer den Laden<br />

oder den Online-<br />

Shop betritt.<br />

mittelkontakt ein Cookie und zählt nach<br />

dem Kauf, was sich der Nutzer angesehen<br />

hat. Mit einem solchen Verfahren lassen<br />

sich auch Hilfseffekte messen. <strong>Die</strong> treten<br />

ein, wenn zum Beispiel ein Banner auf<br />

einer redaktionellen Website einen User<br />

dazu bringt, bei Google nach einem Thema<br />

zu suchen und letztlich auch zu kaufen.<br />

Würde man nur die Konversion der<br />

Adwords-Kampagne messen, so könnte<br />

man die wichtige Zusatzwirkung <strong>des</strong><br />

Banners nicht in der Analyse sehen.<br />

Wesentlich problematischer ist es, solche<br />

Attributionsmodelle auch auf analoge<br />

Touchpoints auszudehnen. Bei Plakaten,<br />

Anzeigen oder TV-Spots ist die Messung<br />

der Werbewirkung meistens an Panels<br />

www.internet-magazin.de 53


WEBBUSINESS | Customer Journey Workshop<br />

gebunden. Das ist häufig teuer und unscharf<br />

im Ergebnis. Wer die Wirkung seines<br />

analogen Marketing messen will, tut<br />

gut daran, eine offensive Verknüpfung in<br />

die digitalen Kanäle zu installieren. Bei<br />

Print und Plakat kann das zum Beispiel<br />

Das Customer<br />

Journey Mapping<br />

Game macht aus<br />

dem CJ-Workshop<br />

einen vergnüglichen<br />

Vormittag.<br />

ein abzuscannender QR-Code sein. Ein<br />

hinterlegter und entsprechend kommunizierter<br />

Gutschein kann die Motivation<br />

zur Nutzung steigern. Bereits die Lan<strong>des</strong>eite<br />

der Kampagne ist in der Lage, die<br />

ob es im Laden<br />

Käufe gab, die auf<br />

Online-Werbung<br />

zurückzuführen<br />

Effekte der Werbung zu messen. Ist ein sind. Parfümhändler<br />

Gutschein im Spiel, weiß das Shopsystem<br />

Douglas<br />

auch, woher dieser kommt.<br />

testete letzen<br />

Bei den zeitgebundenen Sen<strong>des</strong>chemata<br />

von Fernsehen und Radio verhält es sich<br />

etwas anders. Hier muss sehr präzise<br />

gemessen werden, wie sich der Website-<br />

Traffic verhält, während der Spot gesendet<br />

wird. Der Berliner Trackingspezialist<br />

Webtrekk hat für den <strong>Kunden</strong> „Wirkaufens“<br />

festgestellt, dass deutlich mehr<br />

Reichweite erzielt wurde, während der<br />

Sommer, wie <strong>Kunden</strong> reagieren, wenn<br />

ein Gutschein im Netz und in der Filiale<br />

eingelöst werden kann. Das Ergebnis:<br />

Ein Drittel der Einlösungen fand in den<br />

Läden statt und erzeugte entsprechen<strong>des</strong><br />

Potenzial für Spontankäufe. „Man muss<br />

nicht immer einen Gutschein einsetzen“,<br />

sagt Mo Mosavi, „manchmal kann man<br />

die <strong>Kunden</strong> einfach auch fragen.“ Außerdem<br />

gibt es noch<br />

eine Reihe subtiler<br />

Methoden,<br />

die den <strong>Kunden</strong>,<br />

der ein Produkt<br />

gekauft hat, dazu<br />

verführen, online<br />

mit dem Unternehmen<br />

in Kontakt<br />

zu treten. Ein<br />

Klassiker ist die<br />

Produktregistrierung.<br />

Wie wichtig sind die Bewertungen, die in der Google-Suche<br />

erscheinen, für den Vertrauensaufbau eines Unternehmens? Epson exer-<br />

ziert das, indem<br />

den <strong>Kunden</strong> kurze<br />

Spot auf Pro7 lief. Eine deutlich höhere<br />

Konversion erzielte der Spot aber auf Kabel1.<br />

Webtrekk misst hierbei nicht nur die<br />

primären Effekte, wenn die Nutzer direkt<br />

Workshops zur Benutzung <strong>des</strong> Druckers<br />

angeboten werden. In Maßen lassen sich<br />

bei solchen Registrierungen ebenfalls Befragungen<br />

durchführen.<br />

auf die Site gehen, sondern kann auch<br />

extrahieren, wer von Google kommt und<br />

welcher Begriff häufig gesucht wurde.<br />

Noch schwerer wird es für den Filialbetreiber.<br />

Der muss zusätzlich erfassen,<br />

Der Workshop<br />

<strong>Die</strong> empirische Methode durch Tracking<br />

hat einen wichtigen Nachteil: Sie weiß<br />

nichts über Interessenten, die nie auf der<br />

eigenen Website angekommen sind. Es<br />

kann also sein, dass ein kompletter Kanal<br />

vergessen wurde oder dass die Zielgruppenansprache<br />

nicht stimmte. Einer<br />

solchen Lücke im Marketingmix kommt<br />

man mit einer anderen Methode auf die<br />

Schliche, dem Customer-Journey-Workshop.<br />

Er funktioniert in Form klassischer<br />

Metaplanarbeit. Man nehme eine Gruppe<br />

von Mitarbeitern, <strong>Kunden</strong> oder Freunden<br />

und sperre sie für einen Tag in ein<br />

Zimmer. Der Workshopleiter startet mit<br />

einer offenen, indirekten Befragung und<br />

versucht Inspirationsquellen zu ermitteln.<br />

Eine Frage könnte lauten: „An welche<br />

drei Erlebnisse aus letzter Zeit erinnert<br />

Ihr euch beim Thema Fahrradfahren“.<br />

Ausgehend von einer definierten Inspiration<br />

und einem formulierten Anspruch<br />

(„Neues Fahrrad, vielleicht ein eBike“)<br />

notiert dann jeder Teilnehmer seine primäre<br />

Informations- und Recherchequelle.<br />

Adobe-Manager Hartmut König stellt fest,<br />

dass Freunde längst nicht bei jedem Thema<br />

die richtigen Ansprechpartner sind:<br />

„<strong>Die</strong> fahren nicht so ambitioniert Fahrrad<br />

wie ich, <strong>des</strong>halb habe ich mehr in Foren<br />

gesucht“. Wichtig hierbei ist nicht nur<br />

die Quelle der Recherche, sondern auch<br />

der Suchbegriff, der gewählt wird, beziehungsweise<br />

die Problemstellung, die den<br />

<strong>Kunden</strong> beschäftigt. Hartmut König hatte<br />

zum Beispiel ein Ausschlusskriterium<br />

54 0513 internet magazin


Customer Journey Workshop | WEBBUSINESS<br />

gefunden, nämlich die Belastbarkeit <strong>des</strong><br />

Rennradrahmens. Produkte, die keine<br />

100 Kilo tragen konnten, sollten frühzeitig<br />

aus der Recherche ausscheiden.<br />

<strong>Die</strong> Metaplantechnik sieht vor, dass die<br />

Teilnehmer dann in einer zweiten Runde<br />

die eigenen Vorschläge und die der Kollegen<br />

mit Punkten bewerten. So entsteht<br />

eine Liste der Prioritäten. <strong>Die</strong> wichtigsten<br />

Touchpoints sind die, die mit Budgets<br />

auszustatten sind, die wichtigen Fragestellungen<br />

die, die es in Kampagnen und<br />

im Content-Marketing durchzuspielen<br />

gilt. Nun setzt der Testleiter einen Punkt<br />

und definiert die nächste Stufe. Nach<br />

der grundlegenden Recherche wird zum<br />

Beispiel die Produktauswahl in einem<br />

bestimmten Sortiment aufgebaut. Wie<br />

recherchieren die Teilnehmer das?<br />

Das Spielchen geht weiter bis zum Kauf.<br />

Theoretisch ergeben sich Hunderte möglicher<br />

Kombinationen von Touchpoints.<br />

In der Praxis haben eine Handvoll Punkte<br />

bei besonderen Fragestellungen eine hervorgehobene<br />

Bedeutung. Für Hartmut<br />

König zum Beispiel führte der Weg zum<br />

lokalen Fahrradhändler über das Händlerverzeichnis<br />

eines bestimmten Herstellers.<br />

Händler, die dort nicht gelistet<br />

waren, fielen durch sein Raster.<br />

QR-Co<strong>des</strong> am Point of Sale stellen die<br />

schnelle Verbindung zwischen Online-<br />

Tracking und Filiale her.<br />

Langfristige Strategien<br />

Neben einer Liste der nächsten wichtigen<br />

Marketingaktivitäten erhält der<br />

Coach im Idealfall einen Satz von Archetypen<br />

von <strong>Kunden</strong>, die so genannten<br />

Personas. Im Falle Hartmut Königs ist<br />

das der dynamische Geschäftsmann, der<br />

einen sehr hohen Anspruch an sein Produkt<br />

hat, und die Recherche akribisch<br />

vorbereitet. Eine besondere Bedeutung<br />

haben für ihn Fachforen. Wer König im<br />

Visier hat, sollte die Meinungsführer zu<br />

Markenbotschaftern machen. <strong>Die</strong> Ausdefinition<br />

von Personas ist ein probates<br />

Hilfsmittel für den Marketingalltag.<br />

Nicht selten übersehen Marketingabteilungen<br />

einzelne Zielgruppensegmente,<br />

weil sie persönlich nicht in der Marketingabteilung<br />

vertreten sind. <strong>Die</strong> Macher<br />

<strong>des</strong> Longboard-Shop hatten sich stets<br />

auf die naheliegende Kernzielgruppe<br />

der 16- bis 25-jährigen jungen Männer<br />

konzentriert. Bei einer nach Geschlecht<br />

und Altersgruppen segmentierten Facebook-Anzeigenkampagne<br />

ergab sich,<br />

dass es auch eine sehr aktive weibliche<br />

Zielgruppe zwischen 12 und 20 gab, die<br />

laut Tracking sogar über Kaufkraft verfügt.<br />

Nach seinem Wechsel von Baur<br />

zu AGS beschäftigte sich Philip Winklhofer<br />

einen Monat lang fast nur damit,<br />

seine neue Zielgruppe präziser zu fassen.<br />

„Best Ager sind das einzige Alterssegment,<br />

bei dem es noch Wachstum in<br />

der Online-Nutzung geben wird. <strong>Die</strong>se<br />

Zielgruppe hat ein überdurchschnittliches<br />

Qualitäts- und Preisbewusstsein.<br />

Best Ager nutzen unterdurchschnittlich<br />

oft soziale Netzwerke, <strong>des</strong>wegen muss<br />

man sich gut überlegen, ob und wie<br />

viele Ressourcen man ins Social Marketing<br />

steckt“, so Winklhofer. Während<br />

der Recherche entdeckte der Wahlfranke,<br />

dass in der einschlägigen Literatur<br />

jede Menge überkommene Klischees zu<br />

finden waren. Zum Beispiel gelten Senioren<br />

generell als innovationskritisch.<br />

Links zum Thema<br />

Customer-Journey-Studie von GFK<br />

http://www.gfk.com/group/press_<br />

information/press_releases/<br />

010697/index.de.html<br />

Der Einfluss von Social Media auf den<br />

Shopumsatz steigt<br />

http://www.marketing-boerse.de/<br />

News/details/1249-Umsatzstei<br />

gerung-bei-Online-Shops-mit-<br />

Social-Media/39662<br />

Das Customer Journey Mapping Game<br />

http://prezi.com/1qu6lq4qucsm/<br />

customer-journey-mapping-gametransport/<br />

Weitere Quellen zum Customer Journey<br />

Mapping<br />

http://experiencinginformation.<br />

wordpress.com/2010/05/10/<br />

customer-journey-mappingresources-on-the-web/<br />

AGS kann hingegen bereits eine recht signifikante<br />

Rate an Zugriffen von Tablets<br />

messen. Winklhofer: „Tablets machen<br />

die Nutzung <strong>des</strong> <strong>Internet</strong>s so einfach:<br />

Mit einem Fingerwischen liegt einem<br />

alles offen und dafür muss man weder<br />

eine telefonbuchstarke Bedienungsanleitung<br />

lesen noch ein Betriebssystem<br />

instandhalten“.<br />

Für die langfristige Strategie ist es vielleicht<br />

eine gute Idee, den wichtigsten<br />

Archetypen Namen zu geben, sich in<br />

der Google-Bildersuche ein passen<strong>des</strong><br />

Bild dazu zu suchen, diese Bilder zusammen<br />

mit einigen Kriterien wie einen<br />

Steckbrief auszudrucken und an die<br />

Bürowand zu pinnen. Dem einen oder<br />

anderen Mitarbeiter wird das helfen, sich<br />

in die Bedürfnisse der <strong>Kunden</strong> hineinzu<br />

versetzen. Und denken Sie daran: <strong>Die</strong><br />

Customer Journey ist ein lebender Organismus,<br />

der sich ständig verändert. Man<br />

muss sie immer wieder neu definieren,<br />

denn jede saisonale Schwankung, jede<br />

Aktivität von Wettbewerbern beeinflusst<br />

auch die <strong>Reise</strong> Ihrer <strong>Kunden</strong>.<br />

Frank Puscher<br />

www.internet-magazin.de 55


Testen Sie jetzt 3x <strong>Internet</strong> <strong>Magazin</strong> und erhalten Sie<br />

Sofort zu<br />

Nutzen Sie weiter die Vorteile <strong>des</strong> <strong>Internet</strong> <strong>Magazin</strong>-Premium-Abos!<br />

Ja, ich nehme Ihr Super-Testangebot an. Ich möchte drei Ausgaben <strong>des</strong> <strong>Internet</strong> <strong>Magazin</strong>s<br />

testen. Dazu erhalte ich als Prämie wahlweise den 32 GB USB-Stick, den Amazon.de-Gutschein<br />

im Wert von10Euro oder die Logitech Digital Speakers für nur 14,99 €.<br />

Sollten Sie eine Woche nach Erhalt <strong>des</strong> 3. Heftes nichts von mir hören, freue ich mich auf<br />

die regelmäßige Zustellung per Post frei Haus: 12 Ausgaben proJahr für nur 52,90.<br />

INTERNET MAGAZIN-TESTABO<br />

JA, ich möchte die nächsten drei Ausgaben <strong>des</strong> <strong>Internet</strong> <strong>Magazin</strong>s testen. Außerdem erhalte ich<br />

wahlweise als Prämie gratis<br />

❏ den 32 GB USB-Speicherstick (K970) für 14,99 Euro (Österreich 19,99 Euro*,Schweiz 29,99 sfr*)<br />

❏ den 10 Euro-Amazon.de-Gutschein (K971) für 14,99 Euro (Österreich 19,99 Euro*,Schweiz 29,99 sfr*)<br />

❏ die Logitech Digital Speakers (K153) für 14,99 Euro (Österreich 19,99 Euro*,Schweiz 29,99 sfr*)<br />

Sollten Sie eine Woche nach Erhalt <strong>des</strong> 3. Heftes nichts von mir hören, freue ich mich auf die<br />

regelmäßige Zustellung per Post frei Haus -12Ausgaben /Jahr für nur 52,90 Euro<br />

Name, Vorname<br />

E-Mail (Für Korrespondenzzwecke)<br />

Straße, Nr.<br />

PLZ, Ort<br />

Gewünschte Zahlungsweise: Bequem durch Bankeinzug Gegen Rechnung<br />

Dafür erhalte ich 1Heft gratis (Nur im Inland!)<br />

BLZ<br />

Geldinstitut<br />

Kontonummer<br />

Sofort online bestellen:<br />

www.internet-magazin.de/<br />

angebot<br />

Per Post<br />

<strong>Internet</strong> <strong>Magazin</strong><br />

<strong>Kunden</strong>-Service<br />

Postfach 180<br />

77649 Offenburg<br />

oder faxen/anrufen:<br />

Fax: 0781 -846191<br />

Tel: 0781 -639 45 48<br />

✃<br />

Datum, Unterschrift<br />

Ändert sich meine Adresse, erlaube ich der Deutschen Post AG, dem Verlagmeine neue Anschrift mitzuteilen. <strong>Die</strong> Prämie wird NACH erfolgter<br />

Bezahlung <strong>des</strong> Test-Abo-Preises zugesandt. Sollte der abgebildete Artikel nicht mehr lieferbar sein, erhalten Sie einen qualitativ gleichwertigen<br />

Ersatzartikel. Das Jahres-Abonnement ist nach Ablauf <strong>des</strong> ersten Jahres jederzeit kündbar. WEKA MEDIA PUBLISHING GmbH,<br />

Richard-Reitzner-Allee 2, 85540 Haar,Handelsregister München, HRB 154289. *Folgeabopreise siehe Impressum<br />

Ich bin damit einverstanden –jederzeit widerruflich-, dass mich der VerlagWEKA MEDIA PUBLISHING künftig per E-Mail und<br />

telefonisch über interessante Vorteilsangebote informiert.<br />

WK30i2M05<br />

Gleich Coupon ausfüllen und einsenden


eine tolle Prämie dazu!<br />

Gleich online bestellen unter:<br />

www.internet-magazin.de/angebot<br />

greifen!<br />

Ab jetzt<br />

5€<br />

günstiger!<br />

Jetzt nur 14,99 €<br />

statt 19,99 €<br />

NEU!<br />

3x <strong>Internet</strong> <strong>Magazin</strong><br />

plus 32 GB Speicherstick oder Logitech<br />

Digital Speakers oder 10 Euro-Amazon.de-<br />

Gutschein ab €14,99<br />

32 GB USB-Stick<br />

Der Speichergigant für den Alltag<br />

Der 32 GB USB-Stick ist angenehm klein,<br />

bietet aber genügend Speicherplatz für<br />

IhreDaten, wie etwa32.000 MP3s, 60.000<br />

Fotos, 12 Stunden Film oder eben<br />

32 Gigabyte Daten.<br />

Amazon.de-Gutschein<br />

im Wert von 10,- Euro<br />

Ein Heft GRATIS bei Bankeinzug!<br />

Wählen Sie<br />

eine dieser<br />

attraktiven<br />

Prämien!<br />

SATTE<br />

32 GB<br />

TOP-PRÄMIE<br />

DES MONATS!<br />

Logitech Digital Speakers<br />

Das Lautsprechersystem für Ihren Computer<br />

Das System für USB-2.0 mit 1,2 Watt RMS ermöglicht eindrucksvollen<br />

Klang mit kraftvollen Bässen. Audioübertragung<br />

und Stromversorgung über USB. 3Jahre Garantie.<br />

oder online bestellen unter www.internet-magazin.de/angebot


WEBBUSINESS | E-Commerce-Logistik<br />

Logistik im<br />

E-Commerce<br />

Für den Erfolg eines Online-Shops sind zahlreiche<br />

Faktoren verantwortlich. Neben der ganz offensichtlichen<br />

Produktvielfalt und ansprechender Darstellung<br />

<strong>des</strong> Warensortiments gehören dazu auch die Prozesse<br />

rund um die Logistik.<br />

Gründer und Startups im Versandhandel<br />

werden schnell Opfer <strong>des</strong> eigenen<br />

Erfolges. Der Aufwand, der betrieben<br />

werden muss, um die von den <strong>Kunden</strong><br />

bestellten Waren pünktlich auszuliefern,<br />

und auch die zwangsläufig einsetzenden<br />

Retouren und deren Abwicklung erweisen<br />

sich als zeit- und kostenintensiv. Das<br />

ist eine kritische Phase, denn saubere<br />

Abwicklungsprozesse haben durchaus<br />

Einfluss auf den Erfolg <strong>des</strong> eigenen Geschäftsmodells.<br />

Warum Logistik Einfluss<br />

auf den Umsatz hat<br />

<strong>Die</strong> Liebe zu den eigenen Produkten,<br />

eine ansprechende Präsentation und<br />

eine breite Angebotspalette dürften auf<br />

längere Sicht nicht ausreichen, um im<br />

<strong>Internet</strong>versandhandel erfolgreich zu<br />

sein. Um eine Analogie zum stationären<br />

Handel zu ziehen: Wer kauft auf Dauer<br />

gern in einem Geschäft ein, in dem<br />

er stundenlang an der Kasse schlangestehen<br />

muss oder sich das Personal mit<br />

Händen und Füßen gegen die Rücknahme<br />

von Artikeln wehrt? Wie der Kunde<br />

seinen Einkauf im Online-Shop als<br />

Ganzes bewertet, hängt auch von den<br />

Erfahrungen ab, die er nach dem Klick<br />

auf den Bestell-Button macht.<br />

Branchenriesen wie Amazon, Tchibo<br />

und Otto haben es vorgemacht. Der<br />

Kunde erfährt hier bereits wenige Minuten<br />

nach Absenden seines Warenkorbs,<br />

58 0513 internet magazin


E-Commerce-Logistik | WEBBUSINESS<br />

welchen Status seine Bestellung hat, und<br />

kann auch zuverlässig und zeitnah verfolgen,<br />

wo sich seine Ware befindet. Eine<br />

erfüllte Forderung nach transparentem<br />

Service, der sich damit auch zwangsläufig<br />

kleinere Unternehmen ausgesetzt<br />

sehen. Ausgefeilte Logistikprozesse und<br />

die Wahl <strong>des</strong> richtigen <strong>Die</strong>nstleisters helfen<br />

Shopbetreibern dabei, <strong>Kunden</strong>wünschen<br />

gerecht zu werden.<br />

<strong>Die</strong> Bestandteile von<br />

Logistik und Fulfillment<br />

Um darüber entscheiden zu können,<br />

welche <strong>Die</strong>nste in Anspruch genommen<br />

werden sollen, ist es wichtig, sich die<br />

mit dem so genannten Fulfillment beziehungsweise<br />

der Logistik in Verbindung<br />

stehenden Prozesse genauer anzusehen.<br />

Hat der Kunde seine Bestellung abgesendet,<br />

müssen die Waren aus einem Lager<br />

genommen und zusammengestellt (kommissioniert)<br />

werden. Alles muss sicher<br />

verpackt werden, damit es den anschließenden<br />

Versand unbeschadet übersteht.<br />

Sowohl das Unternehmen als auch der<br />

Kunde müssen wissen, wo sich die Ware<br />

befindet, der Versandweg muss also verfolgbar<br />

sein (Tracking). Schließlich sind<br />

Rechnungen – entweder bereits vor dem<br />

Versand oder unmittelbar danach – zu<br />

schreiben, die Zahlungen abzuwickeln<br />

und eventuelle Mahnungen zu schreiben.<br />

Und schließlich sollte nicht vergessen<br />

werden, dass <strong>Kunden</strong> Waren aus unterschiedlichsten<br />

Gründen auch wieder<br />

zurückgeben und dann Prozesse passend<br />

zum <strong>Kunden</strong>wunsch angestoßen und abgewickelt<br />

werden müssen.<br />

Grob lassen sich die genannten Prozesse<br />

in zwei Arten von <strong>Die</strong>nstleistungen zusammenfassen.<br />

Logistiker bieten den Unternehmen<br />

den reinen Versand an, das<br />

Unternehmen holt also die verpackten<br />

Waren ab oder erwartet deren Einlieferung<br />

in einem Versandzentrum und übernimmt<br />

anschließend den Transport. Das<br />

<strong>Kunden</strong> erwarten heute Transparenz<br />

darüber, wo sich die Waren während<br />

<strong>des</strong> Versan<strong>des</strong> befinden. Spezielle Apps<br />

für iOS- oder Android-Geräte fragen die<br />

Systeme der Logistiker dazu ab.<br />

Angebot von Unternehmen, die das Fulfillment<br />

anbieten, geht dagegen weit über<br />

diesen reinen Transport hinaus. Dort hin<br />

können mehr oder weniger modular alle<br />

bereits genannten Prozesse ausgelagert<br />

werden, die nach dem Bestelleingang in<br />

einem Unternehmen anfallen.<br />

Der optimale Logistiker<br />

Bei der Wahl <strong>des</strong> optimalen Logistikers<br />

steht zu Beginn die Fragestellung, an wen<br />

Sie überwiegend Ihre Pakete senden werden<br />

und welche Liefergebiete zu berücksichtigen<br />

sind. Gehören zu Ihren <strong>Kunden</strong><br />

eher private Haushalte, ist es besser, sich<br />

für einen Versender zu entscheiden, der<br />

sich auf dieses Segment spezialisiert hat,<br />

und etwa auch an stationäre Shops oder<br />

Paketstationen ausliefert.<br />

Viele der Komfortfunktionen für den Absender,<br />

zum Beispiel die elektronische<br />

Übermittlung einer Nummer für die<br />

Verfolgung der Sendung, sind bei den<br />

meisten Unternehmen an den Status <strong>des</strong><br />

Geschäftskunden gekoppelt. Und dieser<br />

Status ist üblicherweise an eine Min<strong>des</strong>tmenge<br />

an Paketen, die pro Jahr versendet<br />

werden müssen, gebunden. <strong>Die</strong>se<br />

Menge liegt etwa zwischen 300 (DHL,<br />

Hermes) und 500 Paketen (GLS) pro Jahr.<br />

Eine Variante dieses Modells ist etwa die<br />

Herausgabe einer Software für die Übermittlung<br />

der Versanddaten, die erst nach<br />

einer Min<strong>des</strong>tanzahl an Paketen erfolgt.<br />

Wer so viele Pakete versendet, erhält<br />

dafür dann aber auch preisliche Sonderkonditionen<br />

und kann Sendungen direkt<br />

abholen lassen.<br />

Bei der Entscheidung für oder gegen einen<br />

Logistiker können auch noch weitere<br />

Gesichtspunkte eine Rolle spielen.<br />

Gibt es Grenzen hinsichtlich der Abmessungen<br />

eines Pakets oder <strong>des</strong> Gewichts<br />

der Sendung? Bis zu welchem<br />

Wert ist die Sendung gegen Verlust versichert?<br />

Wie viele Zustellversuche sind<br />

inkludiert? Kann der Kunde seine Bestellung<br />

danach an einer Niederlassung<br />

selbst abholen? Oder wird die Angabe<br />

eines vom <strong>Kunden</strong> gewünschten Versandzeitpunkts<br />

angeboten?<br />

Unter den Logistikern finden Sie auch<br />

Anbieter, die sich in erster Linie auf das<br />

Business-to-Business-Segment spezialisiert<br />

haben und eher den Kurierdiensten<br />

zuzuordnen sind. Hierzu zählen Fed-<br />

Ex, TNT oder auch General Overnight<br />

(GO!). Sie bringen die Waren zwar extrem<br />

schnell zum <strong>Kunden</strong>, ihre Gebühren<br />

dürften aber regelmäßig gerade im<br />

Mengengeschäft den finanziellen Rahmen<br />

eines Shopbetreibers sprengen.<br />

Logistiker in der Übersicht<br />

Je<strong>des</strong> Kind kennt die gelben Fahrzeuge<br />

von DHL. Der größte Vorteil <strong>des</strong> Unternehmens,<br />

das zum Konzern Deutsche<br />

Post gehört, ist sicherlich das flächendeckende<br />

Netz an Zustellstützpunkten<br />

und die große Fahrzeugflotte. Komfortabel<br />

für den <strong>Kunden</strong> sind die Packstationen,<br />

an die Pakete ausgeliefert werden<br />

www.internet-magazin.de 59


WEBBUSINESS | E-Commerce-Logistik<br />

können. Im Falle der Nichterreichbarkeit<br />

können <strong>Kunden</strong> die Ware in den Filialen<br />

<strong>des</strong> Unternehmens abholen und Sendungen<br />

auch am Sonnabend erhalten.<br />

Der Kunde kann mit der Sendungsverfolgungsnummer<br />

jederzeit nachsehen,<br />

wo sich seine Ware befindet. <strong>Die</strong> Preise<br />

für den Versand sind abhängig von der<br />

Menge. Um in den Status <strong>des</strong> Geschäftskunden<br />

zu gelangen, müssen min<strong>des</strong>tens<br />

300 Pakete im Jahr versendet werden.<br />

Hermes ist ein Tochterunternehmen der<br />

Otto-Gruppe und entsprechend auch primär<br />

im Privatkundengeschäft aufgestellt.<br />

Hermes liefert auch am Samstag aus und<br />

unterhält inzwischen bun<strong>des</strong>weit eine<br />

fünfstellige Zahl an Paketshops, in denen<br />

<strong>Kunden</strong> Waren im Falle der Nichterreichbarkeit<br />

oder auch auf Wunsch abholen<br />

können. Das Preisniveau ist gegenüber<br />

Wettbewerbern eher niedrig, da Hermes<br />

seinen Marktanteil signifikant steigern<br />

möchte. 300 Pakete pro Jahr sind für<br />

den Status „Geschäftskunde“ nötig. Eine<br />

kostenlose Abholung ist ab vier Paketen<br />

möglich. Bei kleineren Mengen wird ein<br />

Zuschlag erhoben.<br />

DPD hat als Versender im B2B-Bereich<br />

begonnen. In der Fläche ist das Unternehmen<br />

derzeit noch mit deutlich weniger<br />

Paketshops als die Mitbewerber<br />

vertreten. Das Privatkundengeschäft<br />

soll aber weiter ausgebaut werden.<br />

500 Sendungen im Jahr erwartet der<br />

<strong>Die</strong>nst von seinen Geschäftskunden.<br />

Das Preisniveau ist letztlich abhängig<br />

von der Empfängerstruktur und der Zahl<br />

der Pakete und wird im Rahmen eines<br />

individuellen Angebots ausgehandelt.<br />

Eine Besonderheit für die Versender von<br />

größeren Elektrogeräten wie zum Beispiel<br />

Kaffeevollautomaten: DPD bietet<br />

spezielle Rückholboxen an, in denen<br />

solche Geräte versendet werden können.<br />

So gelangen empfindliche Waren<br />

gut geschützt in die Werkstatt.<br />

GLS gleicht in vielen Belangen seinem<br />

Konkurrenten DPD. Zur Selbstabholung<br />

stehen einige Tausend<br />

Stützpunkte zur Verfügung, und auch<br />

die Historie ist ähnlich. <strong>Die</strong> Preise für<br />

den Versand sind flexibel gestaltet, die<br />

Hürde für Geschäftskunden mit 500<br />

Paketen identisch.<br />

<strong>Die</strong> braunen Wagen von UPS sind ebenfalls<br />

sehr bekannt. Aufgrund seiner eher<br />

hohen Preise ist der <strong>Die</strong>nst in erster Linie<br />

für zeitkritische Sendungen an Geschäftskunden<br />

und Privathaushalte zu<br />

empfehlen. <strong>Kunden</strong> können sich nach<br />

mehreren erfolglosen Zustellversuchen<br />

die Pakete in einem Depot abholen. <strong>Die</strong><br />

Depots sind allerdings regional recht<br />

grob verteilt.<br />

Fulfillment-Center<br />

erledigen den<br />

kompletten Bestellablauf<br />

von der<br />

Lagerhaltung bis<br />

zum Versand <strong>des</strong><br />

Artikels.<br />

Das komplette Programm:<br />

Fulfillment<br />

Unternehmen, die sich auf das Fulfillment<br />

spezialisiert haben, bieten ein<br />

deutlich breiteres Spektrum an als Logistiker.<br />

Wer seine Waren und Artikel<br />

bei einem solchen Unternehmen lagert,<br />

dort zu Sendungen zusammenstellen<br />

und verpacken lässt, muss dafür natürlich<br />

auch bezahlen. <strong>Die</strong>ser „Aufschlag“<br />

gegenüber dem reinen Versand muss<br />

betriebswirtschaftlich bei der Preisgestaltung<br />

der einzelnen Produkte berücksichtigt<br />

werden. In engen Märkten,<br />

in denen noch dazu Produkte mit einer<br />

überschaubaren Marge angeboten wer-<br />

60 0513 internet magazin


E-Commerce-Logistik | WEBBUSINESS<br />

<strong>Die</strong>nstleister für<br />

das Fulfillment<br />

bieten umfangreiche<br />

Lösungen<br />

für alle Shopbetreiber<br />

an.<br />

Deren Integration<br />

und Nutzung sind<br />

aber in aller Regel<br />

Teil eines größeren<br />

Projekts.<br />

den, muss hier schon mit sehr spitzem<br />

Bleistift gerechnet werden, um die Entscheidung<br />

dafür zu treffen, die Aufgaben<br />

auszulagern. Generell sind die Preise<br />

abhängig von der Anzahl der gebuchten<br />

<strong>Die</strong>nstleistungen, der Zahl der Sendungen<br />

und auch stark<br />

vom Volumen der Waren<br />

oder Sendungen,<br />

da ja die Lagerkapazitäten<br />

<strong>des</strong> Anbieters<br />

refinanziert<br />

werden müssen.<br />

Während die Daten,<br />

die für die<br />

Übermittlung eines<br />

Versandauftrags an einen<br />

<strong>Die</strong>nstleister zu übermitteln sind,<br />

recht einfach strukturiert sind, nimmt<br />

die Komplexität der Informationen zu,<br />

wenn auch Lagermengen zu ermitteln<br />

und mit dem eigenen Shop zu koppeln<br />

sind. Bei der Auswahl eines Fulfillment-<br />

<strong>Die</strong>nstleisters spielt die Kompatibilität<br />

der beteiligten IT-Programme eine wichtige<br />

Rolle. Schon allein <strong>des</strong>halb ist das<br />

Aufsetzen eines solchen Projekts höchst<br />

individuell. Fulfillment by Amazon nennt<br />

sich das Spezialangebot <strong>des</strong> Versandriesen.<br />

Händler lagern ihre Artikel dort ein<br />

und können die komplette Prozesskette<br />

in Anspruch nehmen. <strong>Die</strong> Waren werden<br />

konfektioniert, verpackt und versendet.<br />

Auf Wunsch kümmert sich Amazon auch<br />

um den <strong>Kunden</strong>service für die entsprechenden<br />

Bestellungen.<br />

In<br />

erster Linie ist<br />

das Unternehmen an<br />

Waren interessiert, die<br />

schnell umgeschlagen<br />

werden. Deshalb<br />

fallen besondere Gebühren<br />

für alle eingelagerten<br />

Artikel an,<br />

die länger als 365<br />

Tage im Lager von<br />

Amazon verbleiben.<br />

Besonders<br />

einfach verläuft die<br />

Integration, wenn Sie als Anbieter auch<br />

den Marketplace von Amazon als Shop-<br />

Plattform einsetzen. <strong>Die</strong> Anbindung externer<br />

Systeme ist in<strong>des</strong> möglich.<br />

Auch Powerseller können<br />

Firmendienste nutzen<br />

DHL bietet mit dem Produkt eParcel<br />

ebenfalls ein Fulfillment-Angebot, das<br />

alle Stationen eines Artikel von der<br />

Bestellung bis hin zur eventuellen Retoure<br />

umfasst. <strong>Die</strong> Serviceleistungen sind<br />

www.internet-magazin.de<br />

61


WEBBUSINESS | E-Commerce-Logistik<br />

Logistiker in der Übersicht<br />

DPD DHL GLS Hermes UPS<br />

URL<br />

https://www.dpd. www.dhl.de/de/paket/ https://gls-group.eu/ https://profipaket www.ups.com/<br />

com/de/<br />

geschaeftskunden.html DE/de/gls-versand service.hlg.de<br />

Telefon für<br />

Business-<strong>Kunden</strong><br />

(01805) 373 200 (01805) 345 22 55 (0180) 52 52 700 (01805) 008 008 (01805) 882 663<br />

Min<strong>des</strong>tanzahl Pakete<br />

für Status pro Jahr<br />

500 300 500 300 Einzelversand möglich,<br />

Spezialsoftware ab 10<br />

Paketen pro Tag<br />

Tarife Individuelle Tarife Individuell, abhängig<br />

von Volumen<br />

Besonderheiten<br />

Verpackungen<br />

Zustellmöglichkeiten<br />

Bemerkungen<br />

Spezielle Versandtaschen<br />

für Dokumente<br />

erhältlich. „Backbox“<br />

für die Rückholung<br />

von Geräten<br />

8.000 Paketshops zur<br />

Selbstabholung<br />

Anbieter, der zunächst<br />

im B2B-Umfeld tätig<br />

war<br />

DHL bietet Packsets an<br />

Neben Fahrzeugzustellung<br />

Anlieferung<br />

in Packstationen und<br />

allen Postfilialen.<br />

Bun<strong>des</strong>weites Netz<br />

Individuell, durch<br />

Maut- oder <strong>Die</strong>selgebühren<br />

variabel<br />

Kartonagen sind optional<br />

in den Paketshops<br />

erhältlich.<br />

Rund 6.000 Paketshops<br />

bun<strong>des</strong>weit oder<br />

Abholung im Depot<br />

Entscheidend ist allein<br />

die Größe <strong>des</strong> Pakets.<br />

Recht günstig<br />

In Hermes Shops sind<br />

optional Kartonagen<br />

erhältlich.<br />

Über 14.000 Paketshops<br />

bun<strong>des</strong>weit<br />

– Ähnelt DPD. Tochter der OTTO-<br />

Gruppe<br />

Hochpreisiger <strong>Die</strong>nst<br />

Für Dokumente gibt es<br />

Spezialtaschen, die der<br />

Fahrer mitbringt.<br />

Abholung nach mehrmaligem<br />

Nichtantreffen<br />

nur in regionalen<br />

Depots möglich. Kein<br />

dichtes Netz an Stützpunkten<br />

Eher für den schnellen<br />

Express-Versand<br />

geeignet<br />

modular aufgebaut. Über die Grundstufe<br />

(Lagerung, Konfektionierung,<br />

Versand, Retourenabwicklung) hinaus<br />

besteht auch die Option, eigene Systeme<br />

und Programme mit der Warenwirtschaft<br />

<strong>des</strong> Unternehmens zu koppeln, um so<br />

einen Überblick in Echtzeit über die Produkte<br />

zu behalten.<br />

Weitere Infos und Adressen<br />

Hermes bietet ein Modulkonzept<br />

Hermes Fulfillment ist das B2B-Angebot<br />

der Hermes-Logistik-Gruppe. Das Unternehmen<br />

stellt einzeln buchbare Module<br />

zur Verfügung. Neben der klassischen<br />

Distribution und Retouren können auch<br />

das Zahlungsmanagement ausgelagert<br />

oder die <strong>Die</strong>nste eines Call-Centers genutzt<br />

werden. Hermes kann im Bereich<br />

<strong>des</strong> Fulfillments natürlich auf die in der<br />

Otto-Gruppe gesammelten Erfahrungen<br />

und Leistungen zurückgreifen. Damit<br />

eignet sich das Unternehmen auch für<br />

Anbieter von Möbeln oder sogenannter<br />

„weißer Ware“, die einen Aufstell- be-<br />

» Actindo (www.actindo.de/) ist eine Software für die Warenwirtschaft, die Schnittstellen<br />

zu vielen aktuellen Shopsystemen auf der einen Seite sowie den größten<br />

Logistikern und Fulfillment-Anbietern auf der anderen Seite hat.<br />

» Afterbuy (www.afterbuy.de) heißt eine Anwendung, die aufgrund ihrer Herkunft<br />

eine starke Verzahnung mit Ebay ermöglicht. Optional können aber auch andere<br />

Shops angebunden werden. Bei den Fulfillment-Partnern sind DHL und Hermes<br />

integriert.<br />

» PVS: Unter www.pvs-ff.com/services.php sind die <strong>Die</strong>nstleistungen und Möglichkeiten<br />

<strong>des</strong> Unternehmens einzusehen.<br />

ziehungsweise Aufbauservice benötigen<br />

oder von min<strong>des</strong>tens zwei Personen<br />

ausgeliefert werden müssen. Das Unternehmen<br />

PVS zählt zum Mittelstand und<br />

gehört keinem Konzern an. Es hat seinen<br />

Schwerpunkt im Produktversand. Um diese<br />

Kerndisziplin herum werden weitere<br />

Leistungen angeboten. Textilien etwa, die<br />

aus einer Rücksendung stammen, werden<br />

optional wieder aufbereitet, damit<br />

sie erneut in den Versand gehen können.<br />

Schon ambitionierte Ebay-Powerseller<br />

können schnell das Versandvolumen erreichen,<br />

das zur Nutzung von Firmenkunden-<strong>Die</strong>nsten<br />

bei Logistikern berechtigt.<br />

In Kombination mit einer passenden<br />

Logistiksoftware wie zum Beispiel Afterbuy<br />

von Ebay wird die Übermittlung der<br />

Daten einfacher. Etwas aufwändiger ist<br />

allerdings die Verbindung von eigenen<br />

Programmen oder Shops mit den <strong>Die</strong>nsten<br />

eines Fulfillment-Anbieters.<br />

Stephan Lamprecht<br />

62 0513 internet magazin


Hostingprovider-Portrait: Mittwald | WEBBUSINESS<br />

<strong>Die</strong> Profis für<br />

Business-<strong>Kunden</strong><br />

<strong>Die</strong> Spezialität <strong>des</strong> niedersächsischen Webhosters<br />

Mittwald sind optimierte Hosting-Pakete und Managed<br />

Server für Online-Shops und Content-Management-Systeme.<br />

<strong>Internet</strong> <strong>Magazin</strong> stellt den Business-<br />

Webhoster vor.<br />

Von der einfachen Basis-Website für<br />

monatlich 1,99 Euro über Managed<br />

vServer ab 29,99 Euro und dedizierte<br />

Managed Server von 99 bis 379 Euro bis<br />

hin zu individuell konfigurierten, gemanagten<br />

Serverclustern deckt Mittwald die<br />

ganze Palette <strong>des</strong> Business-Webhosting<br />

ab. <strong>Die</strong> Preise verstehen sich übrigens<br />

zuzüglich Mehrwertsteuer, denn Mittwald<br />

richtet sich ausschließlich an Gewerbetreibende.<br />

Besondere Spezialität<br />

<strong>des</strong> niedersächsischen Hosting-Experten<br />

ist die Optimierung der Hosting-Pakete<br />

und Server auf die Anforderungen der<br />

gängigsten Content-Management- und<br />

Online-Shop-Systeme.Zusätzlich bietet<br />

Mittwald zahlreiche gute Lösungen für<br />

Webagenturen und hat als einer von<br />

ganz wenigen Anbietern die sehr leis<br />

-tungsstarke Open Source Enterprise-<br />

Suchapplikation Solr im Programm. Für<br />

Typo3 ist die Solr-Extension sogar schon<br />

komplett vorkonfiguriert und dadurch<br />

sofort einsetzbar. Ebenfalls ein Highlight<br />

ist Varnish-Hosting zur Performance-<br />

Optimierung. Der Varnish-Proxy, in der<br />

günstigsten Ausführung für 39,99 Euro,<br />

sichert bei großem Besucheransturm die<br />

Erreichbarkeit <strong>des</strong> eigentlichen Webservers,<br />

ohne dass der Server oder die Applikationen<br />

verändert werden müssen.<br />

Optimiertes CMS-Hosting<br />

Bereits beim klassischen Webhosting ist<br />

eine Spezialität von Mittwald die Optimierung<br />

auf gängige Content-Management-<br />

und E-Commerce-Systeme wie<br />

Typo3, Joomla, Wordpress, Drupal, Magento,<br />

Oxid eShop, xtCommerce, web-<br />

Edition, MediaWiki, phpBB und einige<br />

mehr. Auch bei der Grafikunterstützung<br />

wird der Profikunde nichts vermissen:<br />

ImageMagick, GDLib und Free Type sind<br />

Standard. Ein spezieller Versionsmanager<br />

macht die Aktualisierung von CMS-Systemen<br />

sehr unkompliziert.<br />

<strong>Die</strong> Profi-Webhosting-Tarife sind zusätzlich<br />

zu den Features der Businesstarife<br />

auf höhere Performance abgestimmt und<br />

beinhalten garantierte Werte für CPU-<br />

Leistung und RAM. In diesen Tarifen steht<br />

dann auch ein tägliches Vollbackup der<br />

letzten zwei bis vier Wochen zur Verfügung,<br />

in den einfacheren Tarifen werden<br />

die letzten ein bis sieben Tage gesichert.<br />

Funktionen für Webagenturen<br />

Wer Websites für seine <strong>Kunden</strong> erstellt,<br />

findet bei Mittwald speziell für diesen<br />

Zweck optimierte Hosting-Pakete,<br />

die das Verwalten mehrerer <strong>Kunden</strong>-<br />

Websites stark vereinfachen. Mit einem<br />

Design-Manager tut sich die Agentur<br />

leicht, <strong>Kunden</strong>oberflächen optisch anzupassen.<br />

Der Kunde sieht – ganz im Sinne<br />

der <strong>Kunden</strong>bindung – ausschließlich<br />

die Corporate Identity der Agentur statt<br />

eines Mittwald-Logos. Und ein Fakturierungsmodul<br />

ermöglicht das Erstellen und<br />

manuelle oder auch regelmäßig automatische<br />

Versenden von Rechnungen aus<br />

der Admin-Oberfläche heraus.<br />

Service und Support<br />

Der individuelle, schnelle und sachkundige<br />

Support wird von Mittwald-<strong>Kunden</strong><br />

häufig als entscheidender Grund für die<br />

Zufriedenheit mit dem Webhoster genannt.<br />

Der reguläre technische Support<br />

steht während der Woche von 9 bis 18<br />

Uhr bereit, nachts und an Wochenenden<br />

ist die Nothilfe aber rund um die<br />

Uhr erreichbar und löst dringende Probleme<br />

schnellstmöglich.<br />

Franz Neumeier<br />

www.internet-magazin.de 63


WEBBUSINESS | vServer unter Linux<br />

vServer im Wandel<br />

Der klassische vServer hat vielleicht bald ausgedient:<br />

Vollvirtualisierung und dynamische Cloud-Funktionen<br />

übernehmen das Marktsegment und die Grenzen verwischen<br />

immer mehr. <strong>Internet</strong> <strong>Magazin</strong> stellt die<br />

aktuellen vServer-Angebote von 13 Webhostern vor.<br />

Sie waren der Renner, als sie neu<br />

auf den Markt kamen. Sie brachten<br />

zusammen, was zuvor nicht vereinbar<br />

war: Flexibilität fast wie bei einem eigenständigen<br />

Rootserver zu Preisen, die<br />

man bis dahin nur von besseren Shared-<br />

Hosting-Paketen kannte. Perfektionierte<br />

und erschwingliche Technik bei der Vollvirtualisierung<br />

sowie die zunehmende<br />

Begeisterung für Cloud-Services verdrängen<br />

die klassischen vServer nun aber zusehends.<br />

Oft geschieht der Wandel ganz<br />

unauffällig. Manche Hosting-Provider<br />

ersetzen die bisherige vServer-Technik<br />

durch Vollvirtualisierung, ohne groß darüber<br />

zu reden. Oft ist das der Produktbeschreibung<br />

nicht einmal anumerken.<br />

Und am anderen Ende der Skala stehen<br />

Hoster, die Managed Server oder Rootserver<br />

anbieten, die in Wirklichkeit ebenfalls<br />

vollvirtualisiert sind, ohne dass der<br />

Kunde das auf den ersten Blick erkennt.<br />

So kommen die beiden Produktklassen<br />

– klassische vServer und physikalisch eigenständige,<br />

dedizierte Server, einst strikt<br />

getrennt – immer näher zusammen. Das<br />

Gute daran: Für den <strong>Kunden</strong> spielt die<br />

Technologie im Hintergrund in den meis<br />

-ten Fällen kaum noch eine Rolle. vServer<br />

werden von Website-Betreibern nicht nur<br />

für technisch anspruchsvolle Websites<br />

genutzt werden, sondern beispielsweise<br />

auch als günstige Entwicklungsserver und<br />

für viele andere Zwecke mehr.<br />

Dynamischer in der Cloud<br />

In diesem Umfeld wird der zweite, deutliche<br />

Trend immer nützlicher: Dynamische<br />

Cloud-Funktionen halten Einzug.<br />

Je nach Anforderungen kann der Kunde<br />

hier die Leistungswerte seines Hosting-<br />

Pakets flexibel und kurzfristig anpassen<br />

– zum Testen eines neues Designs reicht<br />

vielleicht die Minimalkonfiguration für<br />

64 0513 internet magazin


vServer unter Linux | WEBBUSINESS<br />

wenig Geld. Soll aber ein aufwändiges<br />

Shopsystem getestet werden, zahlt man<br />

eben vorübergehend mehr für ein aufgestocktes<br />

Paket, ohne dabei gleich einen<br />

ganzen Server auf ein neues Paket oder<br />

gar einen anderen Server umziehen zu<br />

müssen. Zwar sind auch herkömmliche<br />

vServer bei den meisten Anbietern in<br />

Hinblick auf die CPU-Leistung schon<br />

dynamisch: Eine gewisse Min<strong>des</strong>tleistung<br />

wird meist garantiert, höhere<br />

Leistung steht bei Bedarf automatisch<br />

und kostenlos zur Verfügung. <strong>Die</strong>s aber<br />

eben nur, wenn der physikalische Server<br />

die- se zusätzliche Beanspruchung<br />

auch gerade hergibt. Bei den Cloud-<br />

Services bezahlt der Kunde dagegen<br />

selektiv für mehr Leistung, die dann<br />

auch garantiert bereitsteht.<br />

Viele kleine Details<br />

Auch wenn sich die vServer-Angebote<br />

auf den ersten Blick ähneln und Cloud-<br />

Features allzu verlockend sind, verstecken<br />

sich ganz wesentliche Unterschiede<br />

in den Details – vorausgesetzt man benötigt<br />

bestimmte, nicht überall inkludierte<br />

Funktionen. Bei der Auswahl <strong>des</strong> richtigen<br />

Webhosters kommt es daher auch<br />

die individuellen Anforderungen an. <strong>Die</strong><br />

Skriptsprache Python wird beispielsweise<br />

nicht immer unterstützt, auch Server<br />

Side Inclu<strong>des</strong> nicht. Cronjobs sind meist<br />

inklusive, gelegentlich aber auch nur<br />

gegen Aufpreis zu haben. Wer auf diese<br />

Dinge angewiesen ist, sollte den Hoster<br />

mit Bedacht auswählen, um später nicht<br />

in der Sackgasse zu enden oder teuer dazubuchen<br />

zu müssen.<br />

vServer mit Cloud-Funktionen<br />

und Cloud-Server<br />

Bei den vServer-Paketen bieten drei<br />

Webhoster Cloud-angereicherte vServer-Varianten<br />

an: 1blu, Server4you und<br />

Webtropia. Weitere Anbieter setzen auf<br />

Produkte, die noch weiter über das klassische<br />

vServer-Modell hinausgehen.<br />

Dazu gehören der Dynamic Cloud<br />

Server von 1&1, Stratos Server Cloud<br />

und auch Domain Factorys Jiffy Box.<br />

Da die Cloud-Features in der Übersichtstabelle<br />

nicht abbildbar sind und<br />

die Cloud-Server mangels direkter Vergleichbarkeit<br />

gar nicht in der Tabelle<br />

vorkommen, stellen wir diese Produkte<br />

hier etwas ausführlicher vor.<br />

1blu: vServer „Cloud-ready“<br />

Bei 1blu wächst das Angebot an vServern<br />

mit Cloud-Funktionen und die Pakete werden<br />

immer leistungsfähiger. <strong>Die</strong> Serverleistung<br />

ist flexibel anpassbar durch Zubuchung<br />

sogenannter Tuneups: zusätzliche<br />

CPU-Kerne, Arbeitsspeicher in 1-GByte-<br />

Schritten sowie Festplatten in 50-GByte-<br />

Schritten. <strong>Die</strong> Abrechnung erfolgt bei<br />

1blu monatlich, dafür aber vergleichsweise<br />

günstig: 1 GByte RAM, ein zusätzlicher<br />

CPU-Kern oder 50 GByte Speicherplatz<br />

kosten jeweils 4,90 Euro pro Monat und<br />

sind beliebig kombinierbar. Maximal sind<br />

pro vServer 8 CPU-Kerne, 24 GByte garantierter<br />

RAM-Speicher (dynamisch bis<br />

48 GByte) und bis zu 800 GByte Festplattenspeicher<br />

zubuchbar. Zusätzliche gebuchte<br />

Leistung steht laut 1blu innerhalb<br />

weniger Stunden zur Verfügung.<br />

Server4you: Server Cloud<br />

Mit einem „Booster” genannten Regler<br />

schrauben Server4you-<strong>Kunden</strong><br />

die Leistung ihres vServers in die<br />

Höhe. Abgerechnet wird die zusätzliche<br />

Leistung tageweise. Erhältlich<br />

sind hier zusätzliche CPU-Leis -tung<br />

und weiterer GByte RAM-Speicher.<br />

<strong>Die</strong> Kosten für zusätzliche Leistung<br />

aus der Cloud betragen bei Server4you<br />

20 Cent pro Mbyte RAM-Speicher<br />

pro Tag und 20 Cent pro 2 MHz-CPU-<br />

Leistung je Tag, an dem der Kunde<br />

die Extrapower in Anspruch nimmt.<br />

Cloud-Features bei Webtropia<br />

Zusätzlichen RAM-Arbeitsspeicher, CPU-<br />

Leistung oder Festplattenspeicher buchen<br />

Webtropia-<strong>Kunden</strong> wahlweise auf Tagesoder<br />

Monatsbasis. Heruntergerechnet ist<br />

der Monatstarif dabei deutlich günstiger<br />

als der Preis für einzelne Tage. Trotzdem:<br />

So bleibt der Kunde flexibel und kann<br />

sich zusätzliche Leistung auch mal nur<br />

für ein oder zwei<br />

Tage einkaufen.<br />

<strong>Die</strong> Kosten für zusätzliche<br />

Leistung<br />

ergeben sich bei<br />

Webtropia aus<br />

einer Tabelle auf<br />

der Website <strong>des</strong><br />

Hosters, da der<br />

Preis im Verhältnis<br />

zur Leistung nicht<br />

linear steigt. <strong>Die</strong><br />

Preise bewegen<br />

Klassisches<br />

vServer-Konzept:<br />

volle Kontrolle zu<br />

günstigen Preisen<br />

bei Euserv.<br />

www.internet-magazin.de 65


WEBBUSINESS | vServer unter Linux<br />

vServer auf Linux-Basis<br />

Anbieter 1&1 1blu Alfahosting.de Euserv <strong>Internet</strong> Evanzo<br />

Website www.1und1.de www.1blu.de www.alfahosting.de www.euserv.de www.evanzo.de<br />

Produkte<br />

KONDITIONEN<br />

Virtual-Server L<br />

Virtual-Server XL<br />

Virtual -Server XXL<br />

1blu-vServer LP<br />

1blu-vServer 2P<br />

1blu-vServer 4P<br />

1blu-vServer 6P<br />

1blu-vServer 8P<br />

Preis pro Monat in Euro 9,99/19,99/29,99 7,90/12,90/16,90/<br />

24,90/49<br />

vServer M<br />

vServer L<br />

vServer XL<br />

vServer XXL<br />

vServer vM<br />

vServer vL<br />

vServer XL<br />

vServer Pro M<br />

vServer Pro L<br />

vServer Pro XL<br />

10,99/15,99/28,99/38,99 7,90/11,90/19,90/17,90/<br />

27,90/37,90<br />

Evanzo-vServer<br />

9,90<br />

Einrichtungsgebühr in Euro / / 0 oder 9,90 19,99 (3 Monate Laufzeit)<br />

oder 9,99<br />

Vertragslaufzeit in Monaten 1 1 oder 12 3, 6 oder 12 3 oder 12 3<br />

aktuelle Rabatte wechselnde Rabatte<br />

Serverstandort Karlsruhe, Baden-Airpark Frankfurt Düsseldorf Jena Frankfurt/M.<br />

Backbone in GBit/s über 280 keine Angabe 75 350 keine Angabe<br />

TECHNISCHE AUSSTATTUNG<br />

garantierter Arbeitsspeicher<br />

in MByte<br />

dynamischer Arbeitsspeicher<br />

in MByte<br />

1024/2048/4096 2048/3072/4096/<br />

8192/24576<br />

2048/4096/8192 4096/6144/8192/<br />

16384/49152<br />

reservierte CPU-Leistung 1/2/4 Cores bis zu 1/2/3/4/8 CPU-<br />

Kerne verfügbar<br />

2048/4096/8192/16384 512/1024/2048/1024/<br />

2048/4096<br />

4096/8192/16384/32768 1024/1536/2560/2048/<br />

4096/8192<br />

/ / / 1 CPU mit bis zu 1 GHz,<br />

Pro: 2x1,5 GHz<br />

Bandbreitengarantie in MBit/s 100/100/100 100/100/100/100/100/100<br />

garantierte Netzverfügbarkeit<br />

in Prozent<br />

garantierte Hardware-<br />

Verfügbarkeit in Prozent<br />

Überwachung der Serverfunktionsfähigkeit<br />

99,99 99 99,8 99 99<br />

99,99 99 99,8 99 99<br />

/ / ***** ▲/▲/▲/▲/▲ (Hostsystem)<br />

▲/▲/▲/▲ ▲/▲/▲/▲/▲/▲ ▲<br />

Speicherplatz in GByte 50/100/200 80/100/200/300/800 60/120/350/600 30/50/100/50/100/200 30<br />

1024<br />

4096<br />

▲ = ja = nein = optional ∞ = unbegrenzt<br />

automatisches Backup / / (redundantes<br />

Storage, Desaster Backup)<br />

separater FTP-Backup-Speicherplatz<br />

für eigene Backups<br />

/ / / / ▲/▲/▲/▲ / / / / /<br />

/ / ▲/▲/▲/▲/▲ ▲/▲/▲/▲ ▲<br />

Serverneustart auf Knopfdruck ▲/▲/▲ ▲/▲/▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲/▲/▲ ▲<br />

automatische Neuinstallation ▲/▲/▲ ▲/▲/▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲/▲/▲ ▲<br />

auf Knopfdruck<br />

FEATURES<br />

Inklusivdomains 1/1/1 1/1/2/3/4 / / / / / / / / 1<br />

DNS-Verwaltung ▲/▲/▲ ▲/▲/▲/▲/▲ ▲/▲/▲/▲ / / / / / ▲<br />

IP-Adressen 1/1/1 2/3/4/5/6 1/1/1/1 1/1/1/4/4/4 1<br />

enthaltenes Transfervolumen in<br />

GByte/Monat<br />

zusätzliches Transfervolumen<br />

in Euro/GByte<br />

∞/∞/∞ ∞/∞/∞/∞/∞ ∞/∞/∞/∞ 2048/4096/6144/10240/<br />

10240/10240 ******<br />

kostenlos kostenlos* kostenlos 6,50 pro TByte kostenlos*<br />

* bei 1blu-vServer A und Evanzo: individuelle Vereinbarung<br />

mit dem <strong>Kunden</strong> bei wiederholter Überschreitung<br />

2500<br />

** Preise bei Vertragslaufzeit 12 Monate<br />

*** Drosselung auf 10 Mbit/s ab 1 TByte; 100 Mbit/s für 9,99 Euro pro TByte<br />

66 0513 internet magazin


vServer unter Linux | WEBBUSINESS<br />

Hetzner Host Europe http.net <strong>Internet</strong> internet24 Server4you Strato<br />

www.hetzner.de www.hosteurope.de www.http.net www.internet24.de www.server4you.de www.strato-pro.de<br />

vServer VQ7<br />

vServer VQ12<br />

vServer VQ19<br />

Virtual Server Linux L 6.0<br />

Virtual Server Linux XL 6.0<br />

Virtual Server Linux XXL 6.0<br />

Virtual Server Linux MAX 6.0<br />

VServer.START<br />

VServer.PLUS<br />

VServer.PROFI<br />

VServer.PREMIUM<br />

BIZ 3.0 VS L<br />

BIZ 3.0 VS XL<br />

vServer PRO X4<br />

vServer PLUS X4<br />

vServer PREMIUM X4<br />

vServer PLATINUM X4<br />

Virtual Server Linux Level 1<br />

Virtual Server Linux Level 2<br />

Virtual Server Linux Level 3<br />

Virtual Server Linux Level 4<br />

7,90/12,90/19,90 12,99/16,99/29,99/39,99 3,00/6,00/12,00/24,00 25/49 8,85/18,85/28,85/38,85 7,90/14,90/19,90/29,90<br />

0/0/0 0 9,99/ / / 59 0<br />

0/0/0 1 1/1/1/1 3 1, 12 oder 24 1<br />

1 Monat kostenlos erste 6 Monate kostenlos,<br />

bei 12 und 24 Monaten<br />

Min<strong>des</strong>tlaufzeit<br />

Falkenstein Köln Berlin Dresden Straßburg (F), St. Louis (USA) Berlin<br />

200 40 2 22 550 50<br />

512/1024/2048 2048/4096/8192/16384 512/768/1024/2048 1024/2048 1024/3072/4096/5120 512/2048/3072/4096<br />

/ / 4096/8192/16384/32768 / / / / 2048/6144/8192/10240 2048/4096/6144/8192<br />

Single-core / /2x1,5 GHz/4x1,5<br />

GHz<br />

1 GHz/1,5 GHz/2 GHz/3<br />

GHz<br />

100/100/100/100 100/100/100/100 100/100<br />

/ 3 GHz/4 GHz/5 GHz/10<br />

GHz<br />

1 CPU/1 CPU/2 CPU/3 CPU<br />

99% 99,999 99,99 99,99 99 99<br />

99,95 99,95 99,5 99 99<br />

▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲ ▲/▲ / / / ▲/▲/▲/▲<br />

20/40/80 50/125/250/500 15/25/40/60 25/50 25/50/75/100 25/100/150/200<br />

/ / ▲/▲/▲/▲ / / / ▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲<br />

/ / / / / / / / ▲/▲ / / / / / /<br />

▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲ ▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲<br />

▲/▲/▲ ▲/▲/▲/▲ ▲/▲/▲/▲ / ▲/▲/▲/▲ ▲/▲/▲/▲<br />

/ / / / / über Partnersystem / 1/1/1/1 0/0/0/0<br />

▲/▲/▲ ▲/▲/▲/▲ über Partnersystem / ▲/▲/▲/▲ ▲/▲/▲/▲<br />

1/1/1 1/1/1/1 (weitere ) 1/1/1/1 (weitere gratis) 1/1 1/1/1/1 2/2/2/2<br />

1024/2048/4096 ****** ∞/∞/∞/∞ ∞/∞/∞/∞ 500/1000 5000/6000/7000/8000 ∞/unbegrenzt/∞/∞<br />

6,90 pro TByte kostenlos kostenlos 0,49 0,19 kostenlos<br />

**** InterNetX macht keine Angaben zu den Ressourcen. <strong>Die</strong> Hostsysteme<br />

seien so groß dimensioniert, dass es zu keinen Engpässen komme.<br />

***** Netzwerkmonitoring durch den <strong>Kunden</strong> via Mobile Apps<br />

****** bei Überschreitung Drosselung auf 10 Mbit/s oder Zukauf von Traffic<br />

www.internet-magazin.de 67


WEBBUSINESS | vServer unter Linux<br />

sich aber etwa in folgendem Rahmen: 2<br />

MHz zusätzliche CPU-Power kosten 50<br />

Cent pro Tag oder 5 Euro pro Monat, ein<br />

zusätzliches GByte RAM-Arbeitsspeicher<br />

ist für täglich 25 Cent oder monatlich<br />

2,50 Euro zu haben und 50 GByte zusätzlicher<br />

Festplattenspeicher werden mit 25<br />

Cent pro Tag oder 2,50 Euro pro Monat<br />

abgerechnet. Maximal sind 8 MHz CPU-<br />

Leistung, 8 GByte RAM-Speicher und<br />

300 GByte Festplattenplatz möglich.<br />

Neuestes Proukt<br />

aus der Welt der<br />

Cloud-Angebote:<br />

<strong>Die</strong> Strato Server<br />

Cloud.<br />

Dynamic Cloud Server von 1&1<br />

Mit dem Dynamic Cloud Server<br />

(hosting.1und1.de/cloud-server) setzt<br />

1&1 auf stundengenaue Abrechnung.<br />

Hier lassen sich zusätzliche Leistungseinheiten<br />

bei CPU, Arbeitsspeicher und<br />

Festplattenplatz also auch sehr kurzzeitig<br />

und damit extrem günstig einsetzen.<br />

Zusätzliche Leistungseinheiten kosten<br />

bei 1&1 den minimal möglichen Betrag<br />

von 1 Cent pro Stunde – pro Tag also 24<br />

Cent, pro Monat rund 7 Euro. Für einen<br />

Cent pro Stunde gibt es dementsprechend<br />

einen zusätzlichen CPU-Kern,<br />

ein GByte zusätzlichen Arbeitsspeicher<br />

oder 100 GByte Festplattenspeicher. Abgerechnet<br />

wird je angefangene Stunde<br />

und der Kunde nimmt die Änderungen<br />

über ein Browser-Interface selbst vor.<br />

Insgesamt lässt sich ein Dynamic Cloud<br />

Server auf bis zu 6 CPU-Kerne, 24 GByte<br />

RAM und 800 GByte Festplattenplatz<br />

hochschrauben – was dann allerdings im<br />

Gesamtpaket knapp 300 Euro im Monat<br />

kosten, aber auch satt Leistung bedeuten<br />

würde. Für die genaue Zusammenstellung<br />

der Leistungsfaktoren hat 1&1 außerdem<br />

vier Standardkonfigurationen<br />

vorgegeben, die der Kunde direkt auswählen<br />

kann: Datenbank-, Web-, Application-<br />

oder Game-Server.<br />

Neu hinzugekommen ist die Snapshot-<br />

Funktion, die mit Hilfe von Wiederherstellungspunkten<br />

den Server sichert.<br />

Nettes, mitunter sehr nützliches Feature<br />

am Rande: Der Server lässt sich mit einer<br />

iPhone- oder Android-App per Smartphone<br />

managen und überwachen.<br />

Domain Factory: Jiffy Box<br />

Jiffy Box von Domain Factory (www.<br />

jiffybox.de) geht komplett von der Idee<br />

eines „Hosting-Pakets“ weg und stellt<br />

quasi sämtliche Leistungen on-demand<br />

mit sekundengenauer Abrechnung der<br />

tatsächlich genutzten Ressourcen bereit.<br />

Innerhalt eines Accounts kann der Kunde<br />

daher bis zu 20 einzelne Jiffy-Boxen als<br />

virtuelle Server anlegen, beliebig kopieren,<br />

einfrieren oder reaktivieren.<br />

Mit verschiedenen Leveln werden<br />

Grundkonfigurationen vorgegeben, die<br />

auf Level 1 mit 1 GByte RAM, 50 GByte<br />

Festplatte und 2 CPU-Kernen für 2 Cent<br />

pro Nutzungsstunde (maximal 14,88<br />

Euro monatlich) beginnen und sich bis<br />

16 GByte RAM, 600 GByte Festplatte<br />

und 4 CPU-Kerne in Level 5 steigern<br />

(25 Cent pro Stunde). Interessant ist das<br />

Konzept <strong>des</strong> Einfrierens einer Jiffy-Box:<br />

Der Server kann so komplett mit allen<br />

Daten konfiguriert erhalten und jederzeit<br />

reaktiviert bleiben, kostet aber in<br />

der eingefrorenen Zeit je nach Level nur<br />

zwischen 0,5 und 4 Cent pro Stunde,<br />

pro Monat also nur ein paar Euro.<br />

Strato: Server-Cloud<br />

Das neueste Produkt in dieser Kategorie<br />

ist die Server-Cloud von Strato, die dem<br />

Konzept der Jiffy Box in vielem ähnelt.<br />

<strong>Die</strong> Abrechnung erfolgt hier stundenweise,<br />

dafür aber in einem sehr eingängigen<br />

System nach Leistungseinheiten, die jeweils<br />

immer ein „Credit“ kosten, wobei<br />

ein Credit grundsätzlich einem Cent entspricht<br />

– beispielsweise 1 GByte RAM<br />

oder 100 GByte Festplatte pro Stunde.<br />

<strong>Die</strong> Minimalkonfiguration mit 20 GByte<br />

Festplatte, 0,5 GByte RAM und einer<br />

CPU kostet monatlich 10 Euro. Wer pfiffig<br />

vorausplant, kauft monatliche Credits<br />

im Paket mit deutlichem Rabatt – beim<br />

größten Paket kostet ein Credit dann nur<br />

noch 0,33 Cent. Per Klonen lassen sich<br />

virtuelle Maschinen in der Server-Cloud<br />

per Mausklick vervielfältigen, was vor<br />

allem für Testumgebungen – also selbst<br />

für einen schnellen und unkomplizierten<br />

Test eines potenziell kritischen Plug-in-<br />

Updates von Wordpress – sowie für standardisierte<br />

<strong>Kunden</strong>projekte sehr viel Zeit<br />

spart. Zudem lassen sich vorhandene<br />

virtuelle Maschinen unter Beibehaltung<br />

sämtlicher Daten und Konfigurationen<br />

deaktivieren, sodass während der deaktivierten<br />

Zeit lediglich die Kosten für den<br />

belegten Festplattenplatz anfallen.<br />

<strong>Die</strong> maximal konfigurierbaren<br />

Leistungswerte der Strato-Server-Cloud<br />

liegen bei 32 GByte RAM, 1 TByte Festplatte,<br />

8 CPU-Kernen und bis zu 100<br />

virtuellen Maschinen, jeweils mit eigener<br />

externer IP-Adresse.<br />

Franz Neumeier<br />

68 0513 internet magazin


Testen Sie jetzt:<br />

3 × PC <strong>Magazin</strong> für nur 14,99 € + ein Geschenk!<br />

TOP-GESCHENK<br />

Brennenstuhl Funkschalter-Set<br />

RCS 1000N Comfort<br />

Sichere und komfortable Lösung zum<br />

Schalten elektrischer Geräte. Ein- und<br />

Ausschalten per Funk (einzeln oder gesammelt).<br />

Schaltleistung max. 1.000 Watt/<br />

Empfänger. Inkl. 12 V Batterie (Typ A27) für<br />

den Handsender. Reichweite bis zu 25 m.<br />

32 GB USB-Stick<br />

USB-Schnittstelle 2.0 (abwärtskompatibel).<br />

Kapazität: 32 GB. Für alle Betriebssysteme.<br />

Beliebig oft beschreib- und löschbar.<br />

Blu-ray Skyfall<br />

Der erfolgreichste Bond aller Zeiten.<br />

Großartiger Cast (Daniel Craig, Javier<br />

Bardem, Judi Dench und Ralph Fiennes) &<br />

oscargekrönter Regisseur (Sam Men<strong>des</strong>).<br />

Mehr als7Millionen Kinobesucher in<br />

Deutschland.<br />

<strong>Die</strong>se und weitere tolle Angebote finden Sie unter:<br />

www.pcmagazin.de/angebot<br />

Vorteile im Überblick:<br />

Preisvorteil gegenüber Einzelkauf<br />

Keine Zustellgebühr<br />

1 Heft gratis vorab bei Bankeinzug<br />

Ein Geschenk Ihrer Wahl<br />

als Dankeschön<br />

Gleich bestellen:<br />

Online:<br />

www.pcmagazin.de/angebot<br />

Per Telefon:<br />

07816394548<br />

Per Fax:<br />

07818461 91<br />

Per Post/Coupon:<br />

PC <strong>Magazin</strong> <strong>Kunden</strong>service<br />

Postfach 180, 77649 Offenburg<br />

Impressum: PC <strong>Magazin</strong> erscheint im Verlag<br />

WEKA MEDIA PUBLISHING, Richard-Reitzner-Allee 2, 85540 Haar,<br />

Handelsregister München, HRB 154289<br />

Ja, ich teste PC <strong>Magazin</strong> für zunächst<br />

3 Ausgaben zum Vorteilspreis!<br />

Als Dankeschön wähle ich folgen<strong>des</strong> Geschenk:<br />

(Bitte ankreuzen)<br />

Brennenstuhl Funkschalter-Set RCS 1000N Comfort (K665)<br />

32 GB USB-Stick (K958)<br />

Blu-ray Skyfall (K881)<br />

Ich wähle folgende Variante:<br />

(Bitte ankreuzen)<br />

PC <strong>Magazin</strong> DVD: 3 Ausgaben mit jeweils 1 Heft-Themen-DVD<br />

für z. Zt. 14,99 €, Österreich 19,99 €, Schweiz 29,99 SFR<br />

PC <strong>Magazin</strong> DVD XXL: 3 Ausgaben mit jeweils 1 Heft-Themen-<br />

DVD für z. Zt. 14,99 €, Österreich 19,99 €, Schweiz 29,99 SFR–<br />

bei Verlängerung zum Jahresabo erhalten Sie einmal jährlich<br />

eine zusätzliche DVD mit den gesammelten Inhalten der letzten<br />

2 Jahre.<br />

PC <strong>Magazin</strong> Super Premium: 3 Ausgaben mit jeweils 3 DVDs<br />

inkl. Heft-Themen-DVD, Spielfilm-DVD und Spezial-Themen-<br />

DVD (z.B. zu den Themen Foto, Video oder Office) für z. Zt.<br />

19,99 €, Österreich 24,99 €, Schweiz 39,99 SFR<br />

Wenn ich PC <strong>Magazin</strong> nach 3 Ausgaben weiter beziehen möchte, brauche<br />

ich nichts weiter zu tun. Ich erhalte PC <strong>Magazin</strong> dann zum regulären Abopreis<br />

(12 Ausgaben PC <strong>Magazin</strong> DVD für z. Zt. 61,90 €, Österreich 78,90 €,<br />

Schweiz 123,90 SFR, 12Ausgaben PC <strong>Magazin</strong> DVD XXL für z.Zt.70,90 €,<br />

Österreich 87,90 €, Schweiz 141,90 SFR, 12 Ausgaben PC <strong>Magazin</strong> Super<br />

Premium für z. Zt. 99,90 €, Österreich 119,90 €, Schweiz 199,90 SFR).<br />

Das Jahresabo kann ich nach Ablauf <strong>des</strong> ersten Bezugsjahres jederzeit<br />

wieder kündigen. Wenn ich PC <strong>Magazin</strong> nicht weiter beziehen möchte,<br />

genügt ein kurzes Schreiben bis 3Wochen vorAblauf <strong>des</strong> Miniabos (Datum<br />

Poststempel) an den PC <strong>Magazin</strong> <strong>Kunden</strong>service, Postfach 180, 77649<br />

Offenburg. <strong>Die</strong>ses Angebot gilt nur in Deutschland, Österreich, Schweiz.<br />

Ihr Geschenk erhalten Sie nach Zahlungseingang.<br />

Name<br />

Straße, Nr.<br />

PLZ<br />

E-Mail<br />

Geldinstitut<br />

BLZ<br />

Datum, Unterschrift<br />

Ort<br />

Vorname<br />

Geburtsdatum<br />

Ich bin damit einverstanden – jederzeit widerruflich –, dass mich der<br />

Verlag WEKA MEDIA PUBLISHING künftig per E-Mail und telefonisch<br />

über interessante Vorteilsangebote informiert.<br />

Zahlungsweise:<br />

per Rechnung<br />

ich bezahle bequem und bargeldlos durch Bankeinzug<br />

und erhalte zusätzlich ein kostenloses Heft.<br />

Nur in Deutschland möglich.<br />

Konto-Nr.<br />

1 HEFT GRATIS!<br />

Aktionsnummer: WK30M9M


TIPPS & TRICKS | Online-Recht<br />

Urheberrecht<br />

in der Wolke<br />

Heutzutage werden immer mehr Dateien oder auch<br />

Software in der Datenwolke bereitgestellt und nicht<br />

mehr auf Nutzerrechnern lokal installiert. Rein rechtlich<br />

betrachtet ist das jedoch durchaus problematisch.<br />

Musik, E-Books, Filme, Software –<br />

es gibt eigentlich keinen digitalen<br />

Inhalt, den man nicht auch zentral mittels<br />

Cloud Computing vorhalten könnte.<br />

Zudem lässt sich schnell, einfach und<br />

preiswert fast unbegrenzter Serverspeicherplatz<br />

bei den unterschiedlichsten<br />

Anbietern erwerben. So praktisch und<br />

kosteneffizient Cloud-<strong>Die</strong>nstleistungen<br />

auch sein mögen, sie bringen unweigerlich<br />

diverse juristische Probleme mit<br />

sich, die nicht außer Acht gelassen werden<br />

dürfen.<br />

Grundlagen<br />

Cloud Computing umschreibt grundsätzlich<br />

den Ansatz, abstrahierte IT-Infrastrukturen<br />

wie etwa Rechenkapazität, Datenspeicher,<br />

Netzwerkkapazitäten oder<br />

auch Software dynamisch an den Bedarf<br />

angepasst über ein Netzwerk zur Verfügung<br />

zu stellen. Dem Nutzer erscheint<br />

die zur Verfügung gestellte abstrahierte<br />

IT-Infrastruktur fern und undurchsichtig,<br />

Der Autor<br />

Der Autor Michael<br />

Rohrlich ist Rechtsanwalt<br />

und unter<br />

anderem auf das<br />

Recht der neuen Medien<br />

spezialisiert.<br />

www.ra-rohrlich.de<br />

eben wie in einer „Wolke“ verhüllt.<br />

Bei der Cloud gilt es verschiedene<br />

Liefer- und Servicemodelle zu unterscheiden.<br />

Im Wesentlichen existieren<br />

drei Liefermodelle, die je nach Ausgestaltung<br />

unterschiedliche technische<br />

Grundlagen aufweisen:<br />

» „Plattform as a Service“ (PaaS): Derartige<br />

Cloud-<strong>Die</strong>nste bieten Zugang zu<br />

Programmierungs- oder Laufzeitumgebungen<br />

mit flexiblen, dynamisch<br />

anpassbaren Rechen- und Datenkapazitäten.<br />

Mit Hilfe von PaaS-<strong>Die</strong>nstleistungen<br />

können Nutzer eigene Anwendungen<br />

entwickeln oder innerhalb<br />

einer vom <strong>Die</strong>nstanbieter bereitgestellten<br />

Softwareumgebung ausführen<br />

lassen. Beispiele sind Microsoft Azure<br />

oder Salesforce.<br />

» „Infrastructure as a Service“ (IaaS):<br />

Cloud-<strong>Die</strong>nste mit dieser Struktur<br />

bieten Zugang zu virtualisierten<br />

Hardwareressourcen, also Rechnern,<br />

Netzwerken und Speichern. Hierbei<br />

können die Nutzer frei ihre eigenen<br />

virtuellen Computer-Cluster gestalten<br />

und sind für Auswahl, Installation und<br />

Betrieb ihrer Software selbst verantwortlich.<br />

Beispiele sind Amazon Simple<br />

Storage Service, Dropbox, Wuala,<br />

Teamdrive und andere.<br />

» „Software as a Service“ (SaaS): Solche<br />

Cloud-<strong>Die</strong>nste bieten Zugang zu Soft-<br />

waresammlungen oder Anwendungs-<br />

programmen. Es wird in aller Regel<br />

eine spezielle Auswahle von ware angeboten, daher auch<br />

Softdie<br />

alternative Bezeichnung<br />

als „Software on demand“.<br />

Beispiele sind Apple iWorks,<br />

Google Docs, Microsoft Office<br />

365 oder auch Adobe Photoshop Express<br />

Online-Apps.<br />

Unabhängig von den unterschiedlichen<br />

Cloud-Typen sind unterschiedliche Liefermodelle<br />

zu differenzieren:<br />

» „Public Cloud“: Hierbei handelt es<br />

sich um eine öffentliche Cloud, welche<br />

von beliebigen Nutzern in Anspruch<br />

genommen werden kann. Auf die Form<br />

und den physischen Ort der Datenspeicherung<br />

hat der Cloud-Nutzer in aller<br />

Regel keinen Einfluss.<br />

» „Private Cloud“: Bei den privaten Datenwolken<br />

steht im Vordergrund, dass<br />

sich sowohl Anbieter als auch Nutzer<br />

im selben Unternehmen befinden,<br />

wodurch sämtliche Probleme aus dem<br />

Bereich Datensicherheit mehr oder<br />

minder hinfällig werden.<br />

» „Hybrid Cloud“: <strong>Die</strong>se Art kann<br />

als Mischform angesehen werden.<br />

Hierbei betreibt ein Unternehmen<br />

eine eigene private Cloud und nutzt<br />

zusätzlich, etwa bei Lastspitzen,<br />

eine öffentliche Cloud.<br />

» „Community Cloud“: <strong>Die</strong> gemeinschaftliche<br />

Cloud bietet Cloud-<strong>Die</strong>nstleistungen<br />

wie die öffentliche Cloud<br />

auch. Allerdings ist sie auf einen<br />

kleineren Nutzerkreis ausgerichtet,<br />

der sich die Kosten teilt, etwa mehrere<br />

städtische Behörden, Universitäten,<br />

Unternehmen mit ähnlichen Interessen<br />

oder Forschungsgemeinschaften.<br />

Urheberrecht<br />

Unabhängig davon, welches Lieferoder<br />

Servicemodell genutzt wird, muss<br />

bei den in der Cloud zu speichernden<br />

70 0513 internet magazin


Online-Recht | TIPPS & TRICKS<br />

Checkliste zum Datenschutz beim Cloud Computing<br />

<strong>Die</strong> nachfolgende Checkliste soll als praktische Orientierungshilfe<br />

dienen. Um ein möglichst hohes Datenschutzniveau zu gewährleisten,<br />

wurden hierbei die Min<strong>des</strong>tanforderungen an ein<br />

datenschutzkonformes Cloud Computing nach dem Maßstab <strong>des</strong><br />

deutschen Datenschutzrechts zu Grunde gelegt:<br />

» Serverstandort: Deutschland, EU oder ein Land mit „angemessenem<br />

Datenschutzniveau“ beziehungsweise USA bei<br />

vorhandener Registrierung gemäß Safe-Harbor-Abkommen;<br />

auf keinen Fall Nutzung von Cloud-Anbietern mit Serverstandorten<br />

in unsicheren Drittstaaten (wie China und anderen).<br />

» Verschlüsselung: Falls eine Verschlüsselung der Daten vor<br />

Upload in die Cloud möglich ist, sollte diese Technik genutzt<br />

werden, sofern sie dem aktuellen Stand der Technik entspricht.<br />

» Anonymisierung: Unter Umständen ist es sinnvoll, falls möglich,<br />

die Daten anonymisiert in der Cloud zu speichern.<br />

» Vertragliche Grundlagen: Mit dem Cloud-<strong>Die</strong>nstleister sollte<br />

ein schriftlicher Vertrag zur Auftragsdatenverarbeitung geschlossen<br />

werden, gegebenenfalls ist zusätzlich die Vereinbarung<br />

der EU-Standardvertragsklauseln notwendig.<br />

» Datenarten: <strong>Die</strong> Speicherung von personenbezogenen Daten<br />

besonderer Art, unter anderem Angaben über rassische und<br />

ethnische Herkunft, politische Meinungen und so weiter,<br />

sollte vermieden werden.<br />

» Datensicherheit: Sofern möglich, sollte ein Cloud-Rechenzentrum<br />

gewählt werden, welches nach internationalen Sicherheitsnormen<br />

zertifiziert ist.<br />

» Transparenz: Je transparenter ein Cloud-Anbieter offenlegt,<br />

an welchen Serverstandorten er die <strong>Kunden</strong>daten abspeichert,<br />

<strong>des</strong>to besser.<br />

» Trennungsprinzip: Es sollte darauf geachtet werden, dass die<br />

Daten der einzelnen <strong>Kunden</strong> <strong>des</strong> betreffenden Cloud-<strong>Die</strong>nstleisters<br />

eindeutig voneinander getrennt werden.<br />

» Zugriff: Der Cloud-Anbieter selbst sollte keine Zugriffsmöglichkeit<br />

auf die Daten seiner <strong>Kunden</strong> haben.<br />

» Prüfungsmöglichkeit: Von Seiten <strong>des</strong> Cloud-Anbieters sollten<br />

verschiedene Monitoring- beziehungsweise Reporting-Systeme<br />

bereitgestellt werden.<br />

» Steuerdaten: Bei der Speicherung von Steuerdaten sollte<br />

vorab die Bewilligung der zuständigen Finanzbehörde eingeholt<br />

werden.<br />

Inhalten stets das Urheberrecht beachtet<br />

werden. Handelt es sich um selbst<br />

geschaffene Werke, also eigene Texte,<br />

selbst aufgenommene Fotos, selbst komponierte<br />

Musik, so gibt es mit dem Urheberrecht<br />

jedenfalls keine Probleme.<br />

Denn als Urheber darf man mit seinen<br />

eigenen Werken prinzipiell das<br />

machen, was man für<br />

richtig hält und was<br />

nicht gegen andere<br />

Gesetze verstößt<br />

wie etwa gegen das<br />

Strafrecht oder das Recht am eigenen<br />

Bild einer anderen Person.<br />

Bei fremden Werken sieht die Lage natürlich<br />

anders aus. Als Faustregel ist zu<br />

beachten: Werke fremder Urheber dürfen<br />

nur dann genutzt und in einen Cloud-<br />

Speicher abgelegt werden, wenn entweder<br />

eine entsprechende Einwilligung <strong>des</strong><br />

Urhebers vorliegt oder ein Gesetz dies<br />

gestattet. Urheber haben generell die<br />

Möglichkeit, Dritten die Nutzung ihrer<br />

Werke zu ermöglichen. Sie können dabei<br />

frei entscheiden, welche Rechte und<br />

Pflichten dabei vereinbart werden sollen.<br />

Links zum Thema<br />

Weitergehende Informationen zum Thema<br />

E-Commerce<br />

http://www.rechtssicher.info/<br />

Homepage <strong>des</strong> Autors<br />

http://www.ra-rohrlich.de<br />

Blog <strong>des</strong> Autors zum Thema Onlinerecht<br />

für Webmaster<br />

http://www.webmaster-onlinerecht.de<br />

Blog <strong>des</strong> Autors zum Thema Onlinerechte<br />

von Verbrauchern<br />

http://www.verbraucherrechteonline.de/<br />

Es kann jedoch nicht immer davon ausgegangen<br />

werden, dass die Einräumung<br />

von Nutzungsrechten auch automatisch<br />

das Recht zum Ablegen von Kopien in<br />

Cloud-Speicher umfasst. Vielmehr kommt<br />

es hier auf die individuelle Vereinbarung<br />

im konkreten Einzelfall an. Umgekehrt ist<br />

es oft fraglich, ob etwa die Nutzer von<br />

Musik-Clouds das Recht haben, Kopien<br />

der online verfügbaren Musikwerke herzustellen,<br />

um sie dann offline auf dem<br />

eigenen MP3-Player anzuhören. Auch<br />

hierbei ist ein Blick in die Klauseln der<br />

jeweiligen Nutzungsbestimmungen sinnvoll<br />

und notwendig. Erfolgt beispielsweise<br />

der Upload eines legal erworbenen<br />

Musikalbums in einen Cloud-Speicher,<br />

so kann dies prinzipiell als Privatkopie<br />

und damit als zulässige Vervielfältigung<br />

angesehen werden. Voraussetzung ist<br />

hierbei natürlich, dass die digitale Kopie<br />

tatsächlich nur zu rein privaten Zwecken,<br />

also nicht für die öffentliche Vorführung<br />

genutzt wird. Zwar darf die eigene Musik<br />

im Wolkenspeicher auch mit dem einen<br />

oder anderen Freund geteilt werden,<br />

bei mehr als sieben Teilhabenden wird<br />

jedoch die Grenze der Privatheit überschritten.<br />

Außerdem darf die Kopie nicht<br />

von einer kopiergeschützten Vorlage, einer<br />

offensichtlich rechtswidrig hergestellten<br />

oder öffentlich zugänglich gemachten<br />

Vorlage erstellt werden. Im Hinblick<br />

auf die genannten Voraussetzungen gibt<br />

es zum Teil verschiedene Rechtsauffassungen.<br />

Wichtig für Cloud-Nutzer ist das<br />

eigene Bauchgefühl, denn auch als juristischer<br />

Laie hat man zumeist ein gutes<br />

Gespür dafür, was noch erlaubt und was<br />

dagegen verboten ist.<br />

Rechtsanwalt Michael Rohrlich<br />

www.internet-magazin.de 71


TIPPS & TRICKS | MySQL, Python, PHP, AWS<br />

TIPPS & TRICKS<br />

Auf MariaDB umsatteln: So erfüllen<br />

Sie die Voraussetzungen für eine<br />

problemlose Migration<br />

Der Exodus von MySQL-Entwicklern lässt nicht nach und beginnt, die Zukunft der<br />

beliebten SQL-Datenbank in Frage zu stellen.<br />

<strong>Die</strong> Mitgründer der MySQL-Bewegung, Ulf Michael Widenius,<br />

David Axmark und Allan Larsson, haben MySQL<br />

inzwischen den Rücken gekehrt und befassen sich nun mit<br />

dem Ableger von MySQL,<br />

Maria-DB. Ausschlaggebend<br />

war hierbei nicht nur<br />

für Widenius die schwere<br />

Hand Oracles bei der Fortführung<br />

von MySQL. Sergei<br />

Golubchik, der übrigens<br />

in Deutschland ansässige<br />

Vizepräsident der DBMS-<br />

Architektur bei MariaDB, bemängel wie auch die meisten<br />

anderen MySQL-Entwickler die Tatsache, dass sich MySQL<br />

unter der neuen Leitung von Oracle in ein intransparentes<br />

Closed-Source-Projekt verwandelt, bei dem selbst die Bugs<br />

nun praktisch geheim sind. Oracle nehme die Sicherheit von<br />

MySQL zunehmend auf die leichte Schulter.<br />

„Oracles Ansatz zur Sicherheit von MySQL bereitet mir zunehmend<br />

Sorgen“, so Sergei Golubchik,<br />

Vizepräsident der DBMS-Architektur<br />

bei MariaDB und zuvor verantwortlich<br />

für die Sicherheit von MySQL.<br />

Wer MySQL im Zuge einer sorgsam<br />

vorbereiteten Migration durch Maria-DB<br />

austauschen möchte, sollte<br />

Das offizielle Logo von beginnen, solange es noch geht.<br />

Oracle MySQL.<br />

Oracle könnte der problemlosen Migration<br />

von MySQL zu MariaDB beispielsweise durch interne<br />

Änderungen mehr oder weniger unbeabsichtigt einen Riegel<br />

vorschieben. Innerhalb derselben Basisversion wie etwa 5.1<br />

oder 5.6 können Sie derzeit<br />

MySQL noch ganz einfach<br />

gegen MariaDB austauschen,<br />

indem Sie MySQL<br />

deinstallieren und durch<br />

eine neue Installation ihres<br />

Nachfolgers ersetzen. Praktischerweise<br />

ist es hierbei<br />

zum Glück nicht nötig, erst<br />

einen Dump zu erstellen, um die Datenbanken wiederherzustellen.<br />

Im Normalfall sollte alles problemlos verlaufen.<br />

Dennoch sollten Sie wie bei jedem Upgrade zuvor ein<br />

komplettes Backup erstellen, um für alle Eventualitäten<br />

gewappnet zu sein.<br />

Wer zu seiner MySQL-Version eine passende MariaDB-Version<br />

benötigt, wird unter der folgenden Adresse schnell fündig:<br />

http://blog.mariadb.org/mariadb-5-5-29-5-3-12-5-2-14-5-<br />

1-67-now-available/<br />

Hier gibt es zusätzlich zu den Release Notes und Change Logs<br />

praktischerweise auch die Download-Links zu MariaDB in den<br />

älteren Versionen: 5.1.67, 5.2.14, 5.3.12 und 5.5.29.<br />

Wer zudem auch die passenden Quelltexte, kompilierte Binärversionen<br />

und betriebssystemspezifische Packages benötigt,<br />

wird unter der folgenden Adresse fündig:<br />

https://downloads.mariadb.org/<br />

72 0513 internet magazin


MySQL, Python, PHP, AWS | TIPPS & TRICKS<br />

Python<br />

Leistung einer Python-Applikation<br />

unter die Lupe nehmen<br />

Um die Leistung einer Webapplikation in Python zu verbessern,<br />

hilft es, diese in Echtzeit zu überwachen. Das geschieht zum<br />

Beispiel mit dem <strong>Die</strong>nst New Relic. Unter der Adresse<br />

http://newrelic.com/lp/python-monitoring<br />

können Sie Ihre Python-App nach einer kostenfreien Anmeldung<br />

aufstellen und Messwerte sammeln. Der <strong>Die</strong>nst<br />

erlaubt es Ihnen, dank der aufschlussreichen Daten die<br />

inneren Werte Ihrer App einschließlich SQL/NoSQL-Performance<br />

unter die Lupe zu nehmen, um potenziellen<br />

Schwachstellen auf die Spur zu kommen und das Optimierungspotenzial<br />

besser auszuloten.<br />

Außer Python und den Python-Frameworks Django, Web2PY,<br />

Bottle, CherryPie, Flash und Pylons unterstützt der <strong>Die</strong>nst auch<br />

die Sprachen Java, PHP, Ruby, das .NET-Framework und die<br />

Node.js-Bibliothek.<br />

<strong>Die</strong> Konfiguration erfordert die Einrichtung eines Python-<br />

Agenten mittels<br />

pip install newrelic<br />

Mit dem Befehl<br />

newrelic-admin generate-config LIZENZSCHLUESSEL newrelic.ini<br />

erzeugen Sie anschließend die Konfigurationsdatei newrelic.<br />

ini, wobei die Zeichenkette „LIZENZSCHLUESSEL“ durch den<br />

echten API-Schlüssel aus Ihrem Account ersetzt werden muss.<br />

Außerdem gilt es, die Umgebungsvariable ‚NEW_RELIC_CON-<br />

FIG_FILE‘ wie folgt zu setzen:<br />

NEW_RELIC_CONFIG_FILE=newrelic.ini newrelic-admin<br />

run-program python manage.py run_gunicorn<br />

Damit der Agent geladen wird, muss zudem Ihr selbstverständlich<br />

WSGI-konformer Server mit der Anweisung<br />

newrelic-admin run-program<br />

gestartet werden.<br />

In der Basisausführung („Lite“) ist der <strong>Die</strong>nst für eine unbeschränkte<br />

Zeit kostenfrei. Erst die erweiterte Funktionsbandbreite<br />

schlägt je nach Leistungsumfang <strong>des</strong> <strong>Die</strong>nstes mit bis zu 149<br />

US-Dollar pro Monat zu Buche.<br />

Unabhängig von der Überwachung einzelner Python-Applikationen<br />

können Sie Serverüberwachungsdienste von<br />

New Relic für Ubuntu, Debian, Red Hat, Cent OS und<br />

andere Linux-Distributionen sowie Windows Server kostenlos<br />

in Anspruch nehmen.<br />

PHP<br />

Eckdaten einer Videodatei<br />

serverseitig ermitteln<br />

Wer Metadaten einer Videodatei wie die Wiedergabedauer<br />

oder die Framegröße serverseitig ermitteln möchte, kann dies<br />

mit Hilfe der PHP-Klasse getID3() leicht bewerkstelligen. Zum<br />

Beispiel so:<br />

$getID3 = new getID3;<br />

$file = $getID3->analyze($filename);<br />

echo(„Wiedergabedauer: „.$file[‚playtime_string‘].“ /<br />

Dimensionen: „.$file[‚video‘][‚resolution_x‘].“ Breite und<br />

„.$file[‚video‘][‚resolution_y‘].“ Höhe“. „ / Dateigröße:<br />

„.$file[‚filesize‘].“ Bytes “);<br />

New Relic, ein <strong>Die</strong>nst zur Überwachung der Leistung von<br />

Webapplikationen (newrelic.com)<br />

<strong>Die</strong> PHP-Klassen getID3() finden Sie unter:<br />

http://getid3.sourceforge.net/<br />

Leider ist die Unterstützung von Multimediadateien auf nur wenige<br />

Standards beschränkt. Falls Sie über die Möglichkeit verfügen,<br />

die PHP-Konfiguration auf Ihrem Server zu modifizieren,<br />

können Sie sich mit der Erweiterung ffmpeg-php behelfen:<br />

apt-get install php5-ffmpeg<br />

<strong>Die</strong>se Erweiterung bietet Ihnen eine objektorientierte API zum<br />

Zugriff auf Videodateien. So können Sie beispielsweise die Abspieldauer<br />

in Erfahrung bringen:<br />

$movie = new ffmepg_movie(„Pfad/zum/Video.flv“);<br />

$duration_in_seconds = $movie->getDuration();<br />

Mittels<br />

$cmd = „ffmpeg -i „ . $videoPath . „ 2>&1“;<br />

if (preg_match(‚/Duration: ((\d+):(\d+):(\d+))/s‘,<br />

www.internet-magazin.de 73


TIPPS & TRICKS | MySQL, Python, PHP, AWS<br />

`$cmd`, $time)) {<br />

$total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];<br />

}<br />

exec($cmd);<br />

print_r ($time[0]);<br />

erhalten Sie die Wiedergabelänge im Format 00:00:00. Wenn<br />

Sie nur die Minuten und Sekunden ausgeben möchten, können<br />

Sie sich zum Beispiel mit substr() behelfen.<br />

Im Lieferumfang der ffmpeg-Distribution finden Sie ein<br />

Tool namens ffprobe. Mit diesem können Sie die benötigten<br />

Informationen gleich in der Kommandozeile etwa<br />

wie folgt ermitteln:<br />

ffprobe -show_format -pretty -print_format json -v quiet<br />

Videodatei.mp4<br />

Das Resultat beinhaltet die folgenden Informationen:<br />

{<br />

„format“: {<br />

„filename“: „Videodatei.mp4“,<br />

„nb_streams“: 2,<br />

„format_name“: „mov,mp4,m4a,3gp,3g2,mj2“,<br />

„format_long_name“: „QuickTime/MPEG-4/Motion JPEG 2000<br />

format“,<br />

„start_time“: „0:00:00.000000“,<br />

„duration“: „0:00:52.350000“,<br />

„size“: „9.489486 Mibyte“,<br />

„bit_rate“: „1.438423 Mbit/s“,<br />

„tags“: {<br />

„major_brand“: „M4VH“,<br />

„minor_version“: „1“,<br />

„compatible_brands“: „M4VHM4A mp42isom“,<br />

„creation_time“: „2013-02-12 14:05:54“<br />

}}}<br />

Mittels<br />

ffprobe -show_streams -pretty -print_format json<br />

-v quiet Videodatei.mp4<br />

können Sie außerdem unter anderem die durchschnittliche<br />

Bitrate und die tatsächliche Framerate in Erfahrung<br />

bringen. Seien Sie allerdings gewarnt: <strong>Die</strong>se Informationen<br />

müssen Sie auf Basis der Rohdaten der Ausgabe erst<br />

einmal berechnen.<br />

Ein Beispiel: Im Falle der tatsächlichen Framerate in der JSON-<br />

Ausgabe entspricht der Wert<br />

„r_frame_rate“: „30000/1001“,<br />

genau 29.97 fps.<br />

Cloudfront<br />

Private Videodistribution streamt<br />

nicht: Probleme mit ACL-Berechtigungen<br />

beheben<br />

Sollten sich trotz einer scheinbar fehlerfreien Konfiguration einer<br />

privaten Cloudfront-Distribution die betreffenden Videos nicht<br />

streamen lassen, ist die Ursache unerwarteterweise oft an einer<br />

völlig anderen Stelle zu finden. Fehlt dem Origin-Bucket die<br />

passende ACL-Berechtigung, kann Cloudfront auf die Daten<br />

nicht zugreifen. Im Bereich „Cloudfront“ der AWS-Konsole sieht<br />

es dann aber so aus, als ob alles korrekt funktionieren würde.<br />

Um dem Problem auf die Spur zu kommen, navigieren Sie in<br />

der Konsole zu dem S3-Bucket, in dem sich das problematische<br />

Video befindet, und lassen sich die Eigenschaften der Videodatei<br />

anzeigen. Im Abschnitt „Permissions/Berechtigungen“ der betreffenden<br />

Videodatei muss sich ein Eintrag in der Form<br />

„Grantee: CloudFront Origin Access“<br />

befinden. Fehlt dieser Eintrag, müssen Sie diesen erzeugen.<br />

Öffnen Sie hierzu die Anwendung CloudBerry S3 Explorer, klicken<br />

Sie mit der rechten Maustaste auf den Bucket-Container<br />

und rufen Sie den Befehl „CloudFront / Edit Distribution...“ auf.<br />

Im folgenden Dialog navigieren Sie mit der Schaltfläche „Weiter/<br />

Next“ zum Dialog „Private Content“ und aktivieren hier die Optionen<br />

„Enable Private Content Distribution“ und „Add Myself<br />

as a Trusted Signer“. Dadurch wird die Einstellung „CloudFront<br />

Origin Access Identity“ in der Liste der ACL-Berechtigungen für<br />

die Objekte in dem betreffenden Bucket verzeichnet. Zu guter<br />

Letzt sollten Sie dieser Identität noch die „Read“-Berechtigung<br />

erteilen. Achten Sie auch unbedingt darauf, dass Ihre eigene<br />

Identität als Eigentümer der Streaming-Dateien verzeichnet ist.<br />

Eine öffentliche Cloudfront-Distribution erfordert darüber hinaus<br />

öffentliche Rechte. Eine private Streaming-Distribution mit<br />

Cloudfront erlaubt es Ihnen, Ihr anvisiertes Publikum auf einen<br />

firmeninternen IP-Bereich festzulegen. Signierte URLs funktionieren<br />

aber nur, wenn die Berechtigungen <strong>des</strong> Origin-Servers<br />

korrekt eingestellt sind. Wie Sie diese in den Griff bekommen,<br />

erfahren Sie im folgenden Tipp.<br />

IAM, Cloudfront, S3<br />

Korrekte Zugriffsrechte von Cloudfront<br />

auf S3 trotz mehrerer berechtigter<br />

Benutzer<br />

Fehlerhafte Zugriffsrechte auf S3-Buckets können extrem hartnäckige<br />

Probleme verursachen, denn sie sind leicht zu überse-<br />

74 0513 internet magazin


MySQL, Python, PHP, AWS | TIPPS & TRICKS<br />

hen und können durch scheinbar harmlose Handlungen ausgelöst<br />

werden. Das kann beispielsweise ein Kopiervorgang mit<br />

einer falschen AWS-Identität sein.<br />

Wenn der AWS-Administrator einer Medienagentur das Recht<br />

erteilt, Videodateien in dem betreffenden S3-Bucket abzulegen<br />

um darauf eine Cloudfront-Streaming-Distribution einzurichten,<br />

funktioniert die Distribution plötzlich nicht mehr richtig.<br />

Bei jedem Upload in ein S3-Bucket erhält derjenige Benutzer<br />

die Eigentümerrechte an den Dateien, der den betreffenden<br />

Kopiervorgang oder Upload ausgelöst hat. Sollte das der Fall<br />

sein, müssen Sie als Besitzer der Cloudfront-Distribution den<br />

ursprünglichen Eigentümer in der ACL-Konfiguration durch Ihre<br />

eigene AWS-Benutzeridentität ersetzen. Das System verweigert<br />

nämlich die Zuweisung von Zugriffsrechten an S3-Objekten<br />

durch einen Benutzer, bei dem es sich nicht um den Eigentümer<br />

dieser Daten handelt. Es gibt mehrere Möglichkeiten, um diese<br />

Rechtezuweisung anzupassen. Zum einen könnte man die Eigentümerrechte<br />

an den Besitzer <strong>des</strong> betreffenden Buckets mit<br />

Hilfe einer Anweisung in der POST-Anfrage übertragen, doch<br />

diese Vorgehensweise ist selten praktikabel und schließt sich<br />

mit der Verwendung grafischer Tools aus. Zum anderen könnte<br />

der Besitzer <strong>des</strong> Buckets die Dokumente innerhalb derselben<br />

Region in einen anderen Bucket und wieder zurück kopieren,<br />

doch auch dieser Behelf ist nicht wirklich empfehlenswert.<br />

Zum Glück hat Amazon inzwischen eine elegantere Lösung<br />

für dieses Problem gefunden.<br />

Um Probleme mit Berechtigungen dauerhaft zu lösen, sollten<br />

Sie anstelle von AWS-Identitäten Amazons IAM-<strong>Die</strong>nste nutzen.<br />

Hierzu erstellen Sie in Ihrem AWS-Account einen neuen<br />

IAM-Benutzer und weisen diesem das Recht zu, Dateien in<br />

das betreffende S3-Bucket hochzuladen. Detaillierte Berechtigungen<br />

legt in diesem Fall die zugehörige IAM-Richtlinie<br />

fest. Eine so erstellte Benutzeridentität verfügt über ihr eigenes<br />

Schlüsselpaar. <strong>Die</strong>ses Schlüsselpaar, bestehend aus<br />

einem Zugriffs- und einem Geheimschlüssel, nutzen Sie gemeinsam<br />

mit dem Videoverantwortlichen, welcher für die<br />

Uploads kodierter Videodateien verantwortlich zeichnet.<br />

Optional können Sie auch ein Benutzerkonto zum Zugriff auf<br />

die AWS-Konsole erzeugen. Wenn jetzt dieser IAM-Benutzer<br />

Videodateien in Ihrem S3-Bucket ablegt, sind Sie automatisch<br />

der Eigentümer dieser Dokumente.<br />

Allerdings sollten Sie beachten, dass Änderungen der Konfiguration<br />

eines S3-Buckets, bei dem es sich um den Origin-Server<br />

einer Cloudfront-Distribution handelt, leider nicht sofort in<br />

Kraft treten. <strong>Die</strong> neuen Parameter müssen sich erst durch das<br />

CDN propagieren. Sicherheitshalber sollten Sie bei jeder Änderung<br />

der Konfiguration eine Invalidation-Anfrage erstellen,<br />

um die alte Konfiguration zu verwerfen. Spätestens nach 20<br />

Minuten sollten dann aber die signierten URLs funktionieren<br />

und die Videos streamen.<br />

Python<br />

Probleme mit virtualenv<br />

in Cygwin unter Windows<br />

Benutzer von Cygwin unter Windows 7 und 8 einschließlich<br />

Pro, die in Python entwickeln möchten, erhalten beim<br />

Versuch, eine virtuelle Umgebung zu erstellen, lediglich die<br />

Fehlermeldung<br />

$ mkvirtualenv --distribute --no-site-packages --python=/<br />

usr/bin/python2.7.exe temp<br />

Running virtualenv with interpreter /usr/bin/<br />

python2.7.exe<br />

New python executable in temp/bin/python2.7<br />

(...)<br />

OSError: [Errno 2] No such file or directory<br />

Einrichtung von virtualenv aus dem Entwicklerzweig in Cygwin<br />

unter Windows 8 Pro.<br />

Der Fehler scheint auf die Versionen 1.8.3 und 1.8.4 von virtualenv<br />

im Zusammenhang mit Cygwin beschränkt zu sein. Um<br />

das Problem zu umgehen, können Sie entweder eine ältere stabile<br />

Version von virtualenv oder eine neuere Version aus dem<br />

Entwicklerzweig nutzen. Entwicklerversionen finden Sie im<br />

Git-Archiv unter der Adresse<br />

https://github.com/pypa/virtualenv<br />

<strong>Die</strong> Installation können Sie ganz einfach mittels<br />

pip install https://github.com/pypa/virtualenv/tarball/<br />

develop<br />

oder durch<br />

easy_install https://github.com/pypa/virtualenv/tarball/<br />

develop<br />

auslösen.<br />

www.internet-magazin.de 75


TIPPS & TRICKS | MySQL, Python, PHP, AWS<br />

AWS<br />

EC2-Instanzen geschickt reservieren<br />

Wer kurzfristig einen Server benötigt, um eine Webapplikation<br />

zu debuggen, greift oft zur Kostensenkung auf Cloud-<strong>Die</strong>nste<br />

zurück. So lässt sich ganz einfach auch die Belastbarkeit der<br />

Anwendung austesten. Oft kommt hierbei EC2, kurz für Elastic<br />

Compute Cloud, zum Einsatz. EC2 ist ein Cloud-Angebot virtueller<br />

Server <strong>des</strong> Cloud-Hosting-Discounters Amazon.<br />

eine dauerhaft reservierte Instanz, die rund um die Uhr läuft,<br />

nicht zu viel zahlen, müssen Sie sich für eine Instanz mit der<br />

maximalen Auslastung entscheiden. <strong>Die</strong>ser Parameter hat bei<br />

Amazon nämlich nichts mit der Hardwareausstattung zu tun,<br />

sondern definiert lediglich den Anteil der Laufzeit pro Abrechnungszeitraum,<br />

in der Ihre Instanz arbeitet. Würden Sie eine<br />

EC2-Instanz mit einer geringen Auslastung reservieren und<br />

darauf etwa einen Webserver rund um die Uhr betreiben, um<br />

Ihrem Auftraggeber in der Testphase komfortablen Zugriff zu<br />

gewähren, würde Ihnen Amazon den Überschuss an Leistung<br />

pro Stunde in Rechnung stellen. Doch keine Sorge: Wer die<br />

falsche Art von EC2-Instanzen reserviert hat, kann neuerdings<br />

den Vertrag auflösen, indem er die nicht benötigte Instanz weiterverkauft.<br />

Mehr dazu im folgenden Tipp.<br />

Initialisieren<br />

einer EC2-Instanz.<br />

Reservierte EC2-Instanzen sind bekannterweise deutlich günstiger<br />

als Spot-Instanzen, dies setzt jedoch voraus, dass Sie<br />

Ihre reservierten Instanzen hinreichend auslasten.<br />

<strong>Die</strong> Selbstbedienung bei Amazon hat<br />

nämlich den Nachteil, dass die Kosten für EC2<br />

unter Umständen schnell aus dem Ruder laufen<br />

können, wenn man den Überblick verliert. Wer<br />

EC2 einsetzen möchte, sollte daher gut planen.<br />

Falls Sie einen zusätzlichen Server nur gelegentlich<br />

zur Webentwicklung oder zum Testen<br />

benötigen, sind Sie mit einer Spot-Instanz unter<br />

Umständen ganz gut bedient.<br />

Falls Sie jedoch auf einer EC2-Instanz einen<br />

Web- oder Applikationsserver dauerhaft betreiben<br />

möchten, kommen Sie mit einer reservierten<br />

Instanz deutlich günstiger weg, da<br />

reservierte Instanzen mit einem geringeren<br />

Stundenpreis zu Buche schlagen. Einige AWS-Benutzer versuchen<br />

allerdings, ihre Kosten zu drücken, indem sie reservierte<br />

Instanzen mit der Option für eine geringe oder mittelschwere<br />

Auslastung buchen. Das ist leider völlig verkehrt! Damit Sie für<br />

AWS<br />

Kosten drücken durch den Weiterverkauf<br />

reservierter EC2-Instanzen<br />

Wer seine reservierten EC2-Instanzen nicht mehr benötigt, kann<br />

sie zwar nicht an Amazon zurückgeben, dafür aber an Dritte<br />

verkaufen. Amazon bietet nämlich seit Kurzem einen Marktplatz<br />

für „gebrauchte“ reservierte EC2-Instanzen unter:<br />

http://aws.amazon.com/de/ec2/reserved-instances/<br />

marketplace/<br />

So müssen Sie Ihre reservierten EC2-Instanzen weder im Leerlauf<br />

betreiben, noch brach liegen lassen und können sich ei-<br />

Reservierte EC2-Instanzen von einem Drittanbieter unterscheiden<br />

sich durch die Laufzeit <strong>des</strong> Vertrages und selbstverständlich<br />

auch durch die anfallenden Kosten, sie sind jedoch<br />

inhaltlich identisch mit „originalen“ AWS-Instanzen.<br />

76 0513 internet magazin


MySQL, Python, PHP, AWS | TIPPS & TRICKS<br />

nen Teil der Kosten vom Käufer zurückerstatten lassen. Für den<br />

Käufer sind die so erworbenen Instanzen von „brandneuen“<br />

Instanzen qualitativ nicht zu unterscheiden. Sie unterscheiden<br />

sich lediglich durch die übrig gebliebene Laufzeit, denn beim<br />

Verkauf „gebrauchter“ reservierter EC2-Instanzen handelt es<br />

sich nicht um physikalische Geräte, sondern um das Recht,<br />

eine virtuelle Computing-Umgebung auf Amazons Infrastruktur<br />

in der Wolke auszuführen. Auf einer EC2-Instanz können<br />

Sie beispielsweise einen Webserver oder Mailserver oder eine<br />

nahezu beliebige andere Software ausführen. Reservierte Instanzen<br />

sind günstiger als die so genannten Spot-Instanzen, die<br />

auf Abruf gestartet werden, sie haben jedoch – wie ihr Name<br />

andeutet – eine vorab reservierte Laufzeit. Amazon stellt dem<br />

<strong>Kunden</strong> diese Laufzeit unabhängig davon in Rechnung, ob die<br />

EC2-Instanz ausgeführt wird oder nicht. Der Marktplatz für<br />

„gebrauchte“ EC2-Instanzen erlaubt es, nicht mehr benötigte<br />

virtuelle Server zu verkaufen.<br />

Der Vorteil für den Käufer besteht entweder in einem günstigeren<br />

Preis oder in einer besseren Restlaufzeit, zum Beispiel<br />

zehn Monate statt drei Jahren. Der einzige Nachteil: Derzeit<br />

befindet sich der Marktplatz noch in der Betaphase und so ist<br />

die Bedienoberfläche noch nicht vollständig lokalisiert.<br />

PHP, AWS<br />

Signierte Streaming-URLs<br />

skriptgesteuert erzeugen<br />

Wenn Sie signierte URLs für eine private Streaming-Distribution<br />

über Cloudfront via API einrichten, sollten Sie darauf<br />

achten, diese korrekt zu signieren. Setzt sich der S3-Pfad zu<br />

Ihrer Streaming-Datei innerhalb <strong>des</strong> Buckets zum Beispiel<br />

wie folgt zusammen:<br />

/Verzeichnis/Dateiname.mp4<br />

müssen Sie unbedingt darauf achten, den Pfad inklusive Dateiname,<br />

jedoch ohne die Dateierweiterung zu signieren:<br />

/Verzeichnis/Dateiname<br />

Erst nach dem Signieren der noch unvollständigen URL kommt<br />

dann die Dateierweiterung hinzu. Im Beispiel ist das .mp4.<br />

<strong>Die</strong> Berechnung der Signatur und das Zusammensetzen der<br />

signierten URL zur Streaming-Datei können Sie zum Beispiel<br />

in PHP implementieren.<br />

<strong>Die</strong> folgende Funktion lädt den privaten Schlüssel, berechnet<br />

die Signatur, entlädt den Schlüssel aus dem Speicher, und gibt<br />

die Signatur zurück:<br />

function rsa_sha1_sign($policy, $private_key_filename) {<br />

$signature = „“;<br />

$fp = fopen($private_key_filename, „r“);<br />

$priv_key = fread($fp, 8192);<br />

fclose($fp);<br />

$pkeyid = openssl_get_privatekey($priv_key);<br />

openssl_sign($policy, $signature, $pkeyid);<br />

openssl_free_key($pkeyid);<br />

return $signature;<br />

}<br />

Mit einer Funktion wie dieser lassen sich die problematischen<br />

Zeichen +, =, / durch -, _, ~ ersetzen:<br />

function url_safe_base64_encode($value) {<br />

$encoded = base64_encode($value);<br />

return str_replace(<br />

array(‚+‘, ‚=‘, ‚/‘),<br />

array(‚-‘, ‚_‘, ‚~‘),<br />

$encoded);<br />

}<br />

Der Name <strong>des</strong> Streams entsteht mittels<br />

function create_stream_name($stream, $policy, $signature,<br />

$key_pair_id, $expires) {<br />

$result = $stream;<br />

// falls Parameter bereits angegeben, neue Parameter<br />

anhängen<br />

// sonst Parameter hinzufügen<br />

$separator = strpos($stream, ‚?‘) == FALSE ? ‚?‘ : ‚&‘;<br />

// ein Ablaufdatum deutet auf eine Standardrichtlinie hin<br />

if($expires) {<br />

$result .= $path . $separator . „Expires=“ . $expires .<br />

„&Signature=“ . $signature . „&Key-Pair-Id=“ . $key_pair_id;<br />

}<br />

// falls keine Standardrichtlinie, die Richtlinie anhängen<br />

else {<br />

$result .= $path . $separator . „Policy=“ . $policy .<br />

„&Signature=“ . $signature . „&Key-Pair-Id=“ . $key_pair_id;<br />

}<br />

// entferne Zeilenvorschub<br />

return str_replace(‚\n‘, ‚‘, $result);<br />

}<br />

function encode_query_params($stream_name) {<br />

// Anfrageparameter für Adobe Flash Player mit Hilfe<br />

URL-codierter Zeichen bereinigen<br />

return str_replace(<br />

array(‚?‘, ‚=‘, ‚&‘),<br />

array(‚%3F‘, ‚%3D‘, ‚%26‘),<br />

www.internet-magazin.de 77


TIPPS & TRICKS | MySQL, Python, PHP, AWS<br />

$stream_name);<br />

}<br />

Unter Angabe der Standardsicherheitsrichtlinie nimmt die benötigte<br />

Funktion diese Form an:<br />

function get_canned_policy_stream_name($video_path,<br />

$private_key_filename, $key_pair_id, $expires) {<br />

// codiere die Richtlinie URL-kompatibel mittels base64<br />

$canned_policy = ‚{„Statement“:[{„Resource“:“‘ . $video_<br />

path . ‚“,“Condition“:{„DateLessThan“:{„AWS:EpochTime“:‘.<br />

$expires . ‚}}}]}‘;<br />

// URL-inkompatible Zeichen in der Richtlinie mittels<br />

base64 codieren<br />

$encoded_policy = url_safe_base64_encode($canned_policy);<br />

// signiere die ursprüngliche Version der Richtlinie<br />

(nicht die codierte)<br />

$signature = rsa_sha1_sign($canned_policy, $private_key_<br />

filename);<br />

// codiere die Signatur für die Uebergabe als URL-Parameter<br />

$encoded_signature = url_safe_base64_encode($signature);<br />

// setze die Sicherheitsrichtlinie und die URL der<br />

Streaming-Datei zusammen<br />

$stream_name = create_stream_name($video_path, null,<br />

$encoded_signature, $key_pair_id, $expires);<br />

// ein Workaround für einen Bug in Flash Player<br />

return encode_query_params($stream_name);<br />

}<br />

Unter Angabe der benutzerdefinierten Sicherheitsrichtlinie<br />

sieht die benötigte Funktion nun etwa so aus:<br />

function get_custom_policy_stream_name($video_path,<br />

$private_key_filename, $key_pair_id, $policy) {<br />

// codiere die Richtlinie URL-kompatibel mittels base64<br />

$encoded_policy = url_safe_base64_encode($policy);<br />

// signiere die ursprüngliche Richtlinie (nicht die<br />

base64-codierte)<br />

$signature = rsa_sha1_sign($policy, $private_key_filename);<br />

// codiere die Signatur für die Uebergabe als URL-Parameter<br />

$encoded_signature = url_safe_base64_encode($signature);<br />

// setze die Sicherheitsrichtlinie und die URL der<br />

Streaming-Datei zusammen<br />

$stream_name = create_stream_name($video_path, $encoded_<br />

policy, $encoded_signature, $key_pair_id, null);<br />

// ein Workaround für einen Bug in Flash Player<br />

return encode_query_params($stream_name);<br />

}<br />

Anschließend müssen Sie in Ihrer PHP-Datei noch den Pfad<br />

zu Ihrem Schlüsselpaar angeben:<br />

$private_key_filename = ‚/var/www/keys/pk-<br />

APXXXXXXXXXXXXXXXXXXXX.pem‘;<br />

$key_pair_id = ‚APXXXXXXXXXXXXXXXXXXXX‘;<br />

<strong>Die</strong>se Dateien dürfen natürlich nicht aus dem <strong>Internet</strong> zugänglich<br />

sein. In Ihrer Variablen müssen Sie nur den Dateinamen<br />

erfassen, also müssen Sie die Erweiterung der Videodatei unbedingt<br />

weglassen:<br />

$video_path = ‚‘;<br />

$expires = time() + 30; // in 30 Sekunden<br />

$canned_policy_stream_name = get_canned_policy_stream_<br />

name($video_path, $private_key_filename, $key_pair_id,<br />

$expires);<br />

$client_ip = $_SERVER[‚REMOTE_ADDR‘];<br />

$policy = ‚{‚. ‚“Statement“:[‚.‘{‚.‘“Resource“:“‘.<br />

$video_path . ‚“,‘.‘“Condition“:{‚.‘“IpAddress“:<br />

{„AWS:SourceIp“:“‘ . $client_ip .‘/32“},‘.‘“DateLessThan“<br />

:{„AWS:EpochTime“:‘ . $expires . ‚}‘.‘}‘.‘}‘.‘]‘.‘}‘;<br />

$custom_policy_stream_name = get_custom_policy_stream_<br />

name($video_path, $private_key_filename, $key_pair_id,<br />

$policy);<br />

Im -Abschnitt der Webseite können Sie die<br />

Streaming-Datei jetzt zum Beispiel wie folgt referenzieren:<br />

<br />

var so_canned = new SWFObject(‚http:///jwplayer/player.<br />

swf‘,‘mpl‘,‘640‘,‘360‘,‘9‘);<br />

so_canned.addParam(‚allowfullscreen‘,‘true‘);<br />

so_canned.addParam(‚allowscriptaccess‘,‘always‘);<br />

so_canned.addParam(‚wmode‘,‘opaque‘);<br />

so_canned.addVariable(‚file‘,‘‘);<br />

so_canned.addVariable(‚streamer‘,‘rtmp://.cloudfront.net/cfx/st‘);<br />

so_canned.write(‚canned‘);<br />

var so_custom = new SWFObject(‚http:///jwplayer/player.swf‘,‘mpl‘,‘640‘,‘360‘,‘9‘);<br />

so_custom.addParam(‚allowfullscreen‘,‘true‘);<br />

so_custom.addParam(‚allowscriptaccess‘,‘always‘);<br />

so_custom.addParam(‚wmode‘,‘opaque‘);<br />

so_custom.addVariable(‚file‘,‘‘);<br />

so_custom.addVariable(‚streamer‘,‘rtmp://.cloudfront.net/cfx/st‘);<br />

so_custom.write(‚custom‘);<br />

<br />

Anna Kobylinska und<br />

Filipe Pereira Martins<br />

78 0513 internet magazin


BRANCHENVERZEICHNIS<br />

Alle Einträge finden Sie mit direktem Link zum Anbieter auf der Heft-CD für Abonnenten oder online unter www.internet-magazin.de/branchenverzeichnis<br />

@ APPLICATION SERVICE PROVIDER CLOUD<br />

PLZ<br />

38100<br />

datenbanken24.de<br />

Ein Service der MANETEC GmbH & Co. KG<br />

Lange Straße 61<br />

38100 Braunschweig<br />

Tel.: (0531) 12 08 480, Fax: (0531) 12 08 499<br />

info@datenbanken24.de<br />

www.datenbanken24.de<br />

Cloud Application Builder - ohne Programmierung.<br />

Erstellen Sie sich individuelle und sofort einsatzbereite Web-Applikationen.<br />

Mit Zugriffsregelung, Formulargenerator, Suchfunktionen, Google-Maps, Umkreissuche<br />

u.v.m. Ihre fertige Anwendung mieten sie als Cloud-Komplettlösung<br />

zu einem monatlichen Festpreis, Hosting, Sicherheit, Backup und Verfügbarkeitsgarantie.<br />

- alles inclusive. datenbanken24.de ist zertifiziert für ISO<br />

9001 und Auftragsdatenverarbeitung.<br />

@ CONTENT<br />

PLZ<br />

32051<br />

content.de AG<br />

Nordstr. 14<br />

32051 Herford<br />

Tel.: (05 22 1) 85 49 9 0<br />

Fax: (05 22 1) 85 49 9 - 99<br />

info2012@content.de<br />

http://www.content.de<br />

Suchmaschinenoptimierte Texte für erfolgreiche Webprojekte!<br />

content.de, die technische Plattform mit persönlicher und kompetenter<br />

<strong>Kunden</strong>betreuung, liefert mit seinen mehr als 4.000 Autoren einzigartige,<br />

suchmaschinenoptimierte Texte (unique content). <strong>Die</strong>se Fakten haben<br />

schon viele <strong>Kunden</strong> von uns überzeugt:<br />

- attraktive Preise pro Wort<br />

- einfach zu bedienen<strong>des</strong> System<br />

- viele Lösungen (SEO-Texte, Produktbeschreibungen, Blogbeiträge, etc.)<br />

- übersichtliches Projektmanagement (für viele Textaufträge ausgelegt)<br />

- durchdachte Features mit Mehrwert (Wordpress-API, Keyword-Generator)<br />

- u.v.m.<br />

Wann steigern Sie Ihren Traffic durch neue Texte?<br />

@ E COMMERCE<br />

PLZ<br />

36041<br />

PSW GROUP GmbH & Co. KG<br />

Flemingstraße 20-22<br />

36041 Fulda<br />

Tel.: (0661) 48 02 76-10<br />

Fax: (0661) 48 02 76-19<br />

Hotline: (0800) 50 37 50-1<br />

Fax: (0800) 50 37 50-9<br />

support@psw.net<br />

www.psw.net<br />

<strong>Die</strong> PSW GROUP GmbH & Co. KG ist einer der führenden deutschen Full Service-<br />

Provider für <strong>Internet</strong>lösungen mit einem besonderen Schwerpunkt auf <strong>Internet</strong><br />

Security. Als solcher bietet das Unternehmen – sowohl für das Web als auch für die<br />

E-Mail-Kommunikation – Zertifikats-, Signatur-, Verschlüsselungs- und Authentifizierungslösungen<br />

an.<br />

Das umfassende Produktportfolio reicht von SSL-Zertifikaten über Code-Signing-<br />

Zertifikate bis hin zu qualifizierten elektronischen Signaturen und DE-Mail. Aber<br />

auch Sicherheitslösungen wie das PCI- und Malware-Scanning, Secure CDN, DNS-<br />

SEC und AntiSpam sowie Gütesiegel und <strong>Kunden</strong>bewertungssysteme speziell für<br />

E-Commerce-Anbieter finden sich im Repertoire der PSW GROUP. Darüber hinaus<br />

verfügt das Unternehmen über eine fast 12-jährige Expertise in den Bereichen<br />

<strong>Internet</strong>-Sicherheit, IT-Recht sowie Hosting- und Domaindienstleistungen. Zu den<br />

<strong>Kunden</strong> der PSW GROUP zählen Webhoster, Web<strong>des</strong>ign- und Marketing-Agenturen<br />

sowie Online-Shops.<br />

@ E MAIL MARKETING<br />

SuperMailer<br />

PLZ<br />

04319<br />

Mirko Böer Softwareentwicklungen<br />

Malachitstraße 16<br />

04319 Leipzig<br />

Tel.: (03 41) 8 63 28 42, Fax: (03 41) 8 63 28 43<br />

info@wt-rate.com<br />

www.supermailer.de/<br />

Ansprechpartner: Mirko Böer<br />

Versand von personalisierten Newslettern, Marketing-Newslettern,<br />

Produktinfos, weitere <strong>Internet</strong>software, Entwicklung von Windows-Software<br />

www.internet-magazin.de 79


BRANCHENVERZEICHNIS<br />

Wollen Sie sich auch im <strong>Internet</strong> <strong>Magazin</strong> präsentieren? • Jürgen Auselt • Telefon 0 89/2 55 56-11 72 • Telefax 0 89/2 55 56-11 96 • jauselt@wekanet.de<br />

@ E PAYMENT<br />

PLZ<br />

50679<br />

Deutsche Card Services GmbH<br />

Kaltenbornweg 1–3<br />

50679 Köln<br />

Tel.: (0221) 9 95 77 - 0,<br />

Fax: (0221) 9 95 77 - 720<br />

info.deucs@db.com<br />

www.deutsche-card-service.com<br />

www.deucs.com<br />

Als Teil der Deutschen Bank Gruppe bietet die Deutsche Card Services<br />

internationale Full-Service-Lösungen für den bargeldlosen kartengestützten<br />

Zahlungsverkehr von der Kreditkarte über Maestro, ELV und giropay aus<br />

einer Hand. Sie baut dabei auf das jahrelange Know-how und die bewährte<br />

technische Plattform der Pago eTransaction Services auf. Bewährte Risikominimierungssysteme<br />

sorgen dafür, dass bargeldloses Bezahlen im<br />

E-Commerce, im Versandhandel und am Point of Sale einfach, schnell<br />

und sicher abläuft. Einzigartige Online-Steuerungssysteme bieten <strong>Kunden</strong><br />

weltweit jederzeit den vollen Überblick über ihre Transaktionen.<br />

@ FULL SERVICE PROVIDER<br />

PLZ<br />

12165<br />

http.net <strong>Internet</strong> GmbH<br />

Grunewaldstraße 22,<br />

12165 Berlin<br />

Tel.: (030) 21 00 90-0, Fax: (030) 21 00 90-90<br />

info@http.net<br />

www.http.net<br />

Ansprechpartner: Helga Krüger<br />

Seit 1996 hat sich die http.net auf Lösungen für Wiederverkäufer und<br />

Geschäftskunden spezialisiert. Unser Schwerpunkt liegt im Bereich der<br />

Domainservices. Bei http.net können Sie über 500 Domain-Endungen<br />

registrieren. Darüber hinaus bieten wir SSL-Zertifikate, Webspace, Hosting<br />

und individuelle Virtualisierungs-Lösungen.<br />

PLZ<br />

40599<br />

OpenIT GmbH<br />

In der Steele 33a–41<br />

40599 Düsseldorf<br />

Tel.: (02 11) 23 95 77-0<br />

Fax: (02 11) 239577-10<br />

isp@openit.de<br />

www.openit.de<br />

Full-Service-Provider für Businesskunden, von virtuellen Servern bis zu<br />

dedizierten Clusterumgebungen im BSI zertifizierten Rechenzentrum inkl.<br />

24/7 Support. Weiter im Portfolio: Typo3 Hosting, SMS Versand und<br />

Anwendungsentwicklung für den B2B Bereich.<br />

@ INTERNET FOREN<br />

PLZ<br />

10827<br />

TwoCom<br />

Hauptstraße 26 / 2. Hof - 2. OG<br />

10827 Berlin<br />

Tel.: (0 30) 78 00 09 4 - 0,<br />

Fax: (0 30) 78 00 09 4 - 9<br />

sales@2-com.de<br />

www.2-com.de<br />

Ansprechpartner: Sascha Petruschke<br />

Draytek Online Forum – Hilfe von Usern für User rund um Produkte der<br />

Draytek Familie & Online Shop<br />

@ ONLINEMARKETING & SUCHMASCHINENMARKETING<br />

PLZ<br />

44139<br />

SUMAX®<br />

Rheinlanddamm 199<br />

44139 Dortmund<br />

Tel.: 49 - (0) 231 / 53 46 1 00<br />

Fax: 49 - (0) 231 / 53 46 1 100<br />

www.sumax.de<br />

info@sumax.de<br />

(Google AdWords Qualified Company)<br />

Google AdWords- & Suchmaschinenoptimierung, Suchmaschinenmarketing,<br />

Webshops, Usability<br />

80 0513 internet magazin


BRANCHENVERZEICHNIS<br />

Alle Einträge finden Sie mit direktem Link zum Anbieter auf der Heft-CD für Abonnenten oder online unter www.internet-magazin.de/branchenverzeichnis<br />

@ SHOP-SYSTEME<br />

PLZ<br />

45964<br />

Webagentur Niewerth – <strong>Internet</strong>lösungen<br />

Humboldtstr. 2, 45964 Gladbeck<br />

Tel.: (0 20 43) 20 97 - 0<br />

FreeCall: (0 800) 34 56 90 0<br />

info@weban.de<br />

www.webagentur-online.de<br />

Ihr Shop-System das sich an Ihre Bedürfnisse anpasst. Mit Schnittstellen zu<br />

Ihrem ERP-System und zur Logistik. Alle gängigen Zahlungsarten, Schnittstellen<br />

zu Preisagenturen. Bestellverwaltung, Rechnungsmodul und Marketingtools.<br />

Mit Amazon- und Ebay-Anbindung und vieles mehr.<br />

<strong>Die</strong> Webagentur Niewerth betreut Sie von der Strategieberatung bis zum<br />

optimalen Marketingmix. Wir sind Trusted-Shops Partner, Google Adwords<br />

Professional und Facebook-Experten.<br />

Jetzt anrufen und unverbindlich beraten lassen!<br />

@ SMS DIENSTLEISTER<br />

PLZ<br />

73262<br />

mes.mo GmbH<br />

Stuttgarter Str. 4<br />

73262 Reichenbach<br />

Tel.: (0 71 53) 55 88 35<br />

Tel.: (0 71 53) 55 88 36<br />

office@mesmo.net<br />

www.any-sms.info<br />

Ansprechpartner: Christian Rapp<br />

Ihr Partner für mobile Messaging: High Quality SMS/MMS-Versand,<br />

individuelle inbound Lösungen für SMS/MMS-Empfang, SMS-Marketing,<br />

HTTP/UCP/SMTP-Schnittstelle, 24/7 Premium Support.<br />

@ WEB AGENTUREN<br />

PLZ<br />

81927<br />

MAXXmarketing GmbH<br />

Englschalkinger Straße 224<br />

81927 München<br />

Tel.: (0 89) 92 92 86 - 0<br />

Fax: (0 89) 92 92 86 - 75<br />

marketing@maxx-marketing.net<br />

www.web<strong>des</strong>igner-profi.de<br />

Ansprechpartner: Klaus Huber<br />

Web<strong>des</strong>ign und Webprogrammierung für nur 19,- Euro per Arbeitsstunde<br />

Spürbar mehr Erfolg durch Ihren professionellen Webauftritt! Bereits ab<br />

19.-Euro/pro Stunde entwickelt MAXXmarketing für Sie Webseiten in PHP,<br />

HTML, Flash, Javascript & Java. Besonders das hochwertige Design, Beispiele<br />

dazu auf www.maxx-marketing.net unter Punkt Beispiele/Web<strong>des</strong>ign,<br />

erzeugt den bekanntlich sehr wichtigen ersten positiven Eindruck für Ihren<br />

Webbesucher. Sprechen Sie uns jetzt an und testen Sie uns! Durch unsere<br />

günstigen Preise haben auch andere Werbeagenturen die Möglichkeit, uns<br />

als SUB-Unternehmen für die Erstellung Ihrer Projekte einzusetzen.<br />

Faszination iPhone!<br />

Geheime Funktionen nutzen<br />

Freiheit für IhriPhone: SIM-Lock legal entfernen, versteckteFeatures freischalten.<br />

iOS, iTunes,iCloud verständlich erklärtund die besten iPhone-Apps für Heimnetz-<br />

Steuerung, <strong>Reise</strong>,Musik &mehr.Alles steht in diesem Buch.<br />

FRANZIS<br />

ISBN 978-3-645-60146-7<br />

10,– EUR<br />

Praxiswissen vonFranzis<br />

www.franzis.de<br />

www.internet-magazin.de 81


SERVICE | <strong>Vorschau</strong><br />

Ausgabe 6/2013 erscheint am 10. Mai 2013<br />

Entwicklung mobiler Apps<br />

in der Praxis<br />

Mobile Webentwicklung muss weder teuer noch besonders<br />

mühsam sein. Anstatt mit Hilfe der entsprechenden<br />

SDKs native Apps für nur eine Plattform zu<br />

schreiben, kann man vorhandenes HTML5, CSS3<br />

oder Javascript-Know-how nutzen, um mobile Apps<br />

wie normale Websites zu entwickeln. Wir zeigen in<br />

unserer nächsten Ausgabe, wie Sie mobile Apps im<br />

Handumdrehen realisieren.<br />

So bekämpfen Sie negative SEO<br />

Was tun, wenn die eigene Site aus dem Google- oder Bing-Index verschwindet, weil<br />

Neider oder Konkurrenten ein Projekt als Spam denunziert haben? Unser Artikel beschreibt<br />

Schritt für Schritt, wie Sie solche Probleme lösen und in Zukunft verhindern.<br />

QR-Co<strong>des</strong> nutzen<br />

QR-Co<strong>des</strong> werden nur selten kreativ und<br />

mit maximaler Wirkung genutzt. Wir zeigen<br />

anhand erstaunlicher Beispiele, was<br />

mit QR-Co<strong>des</strong> alles möglich ist.<br />

WEIT ERE TH E M EN<br />

HTML5<br />

<strong>Die</strong> neuen Elemente<br />

Design im Browser<br />

Sites direkt im Browser entwickeln<br />

Alternativer Inhalt<br />

Teasern mit optimierter <strong>Vorschau</strong><br />

IMPRESSUM<br />

Redaktion<br />

Bereichsleiter: Jörg Hermann (v.i.S.d.P.)<br />

Projektleiter: Stefan Schasche (sschasche@wekanet.de)<br />

Producer: Rene Wirth<br />

Mitarbeiter dieser Ausgabe: Susanne Nötscher (Korrektorat),<br />

Daniel Engler, Tobias Hauser, Carola Heine, Andreas Hitzig, Anna<br />

Kobylinska, Thomas Kraehe, Stephan Lamprecht, Filipe Pereira<br />

Martins, Andreas Maslo, Dr. Florence Maurice, Sven Neumann, Franz<br />

Neumeier, Frank Puscher, Dr. Holger Reibold, Michael Rohrlich<br />

Redaktionsassistenz: Gerlinde Drobe, Sabine Steinbach<br />

Produkt-Manager Software/Lizenzen: Arnd Wängler<br />

Business Development Manager: Anja Deininger<br />

Leitung Layout: Sandra Bauer, Silvia Schmidberger<br />

Layout: Marcus Geppert, Andreas Geyh, Michael Grebenstein,<br />

Dorothea Voss, Rene Wirth<br />

Fotografie: Josef Bleier, Stefan Rudnick<br />

So erreichen Sie die Redaktion:<br />

Redaktion <strong>Internet</strong> <strong>Magazin</strong><br />

Telefon: (089) 2 55 56-11 11, Fax: (089) 2 55 56-16 27<br />

E-Mail: redaktion@internet-magazin.de<br />

Web: www.internet-magazin.de<br />

Manuskripteinsendungen:<br />

Manuskripte, Programme, Tipps & Tricks, Leserbriefe bitte an die<br />

Redaktionsanschrift. Für unverlangt eingesandte Manuskripte,<br />

Datenträger sowie Fotos übernimmt der Verlag keine Haftung. <strong>Die</strong><br />

Zustimmung zum Abdruck wird vorausgesetzt. Das Verwertungsrecht<br />

für veröffentlichte Manuskripte, Fotos und Programme liegt<br />

ausschließlich beim Verlag. Mit der Honorierung von Manuskripten<br />

und Programmen erwirbt der Verlag die Rechte daran. Insbesondere<br />

ist der Verlag ohne weitere Honorierung berechtigt zur weltweiten<br />

und uneingeschränkten Veröffentlichung auf Papier und elektronischen<br />

Trägermedien. Der Autor erklärt mit der Einsendung,<br />

dass eingereichte Materialien frei sind von Rechten Dritter.<br />

Eine Haftung für die Richtigkeit der Veröffentlichung kann trotz<br />

sorgfältiger Prüfung durch die Redaktion vom Herausgeber nicht<br />

übernommen werden. Für veröffentlichte Manuskripte übernimmt<br />

der Verlag weder Gewähr noch Haftung. Schaltungen und verwendete<br />

Bezeichnungen müssen nicht frei sein von gewerblichen<br />

Schutzrechten. <strong>Die</strong> geltenden Bestimmungen sind zu beachten.<br />

Nachdruck, Übersetzung sowie Vervielfältigung oder sonstige<br />

Verwertung von Texten sind nur mit schriftlicher Genehmigung <strong>des</strong><br />

Herausgebers erlaubt. Namentlich gekennzeichnete Beiträge geben<br />

nicht in jedem Fall die Meinung der Redaktion wieder.<br />

Anzeigenabteilung<br />

Ihr Kontakt zum Anzeigenteam<br />

Gerlinde Drobe und Sabine Steinbach<br />

Telefon: (089) 2 55 56-11 71, Fax: (089) 2 55 56-11 96<br />

Anzeigenleitung (verantwortlich für Anzeigen):<br />

Gisela Nerke (-12 11) gnerke@wekanet.de<br />

Mediaberatung:<br />

Markus Matejka (05655) 92 48 94, mmatejka@wekanet.de<br />

Direktmarkt/Stellenmarkt:<br />

Jürgen Auselt (-11 72) jauselt@wekanet.de<br />

Leitung Sales Corporate Publishing & Media Services:<br />

Richard Spitz (-11 08) rspitz@wekanet.de<br />

Head of Digital Sales:<br />

Christian Heger (-11 62)cheger@wekanet.de<br />

International Representatives<br />

UK/Ireland/France: Huson International Media, Ms Rachel Di<br />

Santo, Cambridge House, Gogmore Lane, Chertsey, GB - Surrey<br />

KT16 9AP, phone: 0044-1932-564999, fax: 0044-1932-564998,<br />

rachel.disanto@husonmedia.com<br />

USA/Canada - West Coast: Huson International Media<br />

(Corporate Office), Huson International Media (Corporate Office)<br />

Ms Allison Padilla, Pruneyard Towers, 1999 South Bascom<br />

Avenue, Suite #450, USA – Campbell, CA 95008, phone: +1 408<br />

8796666, fax: +1 408 8796669, allison.padilla@husonmedia.com<br />

USA/Canada - East Coast: Huson International Media,<br />

Mr Jorge Arango, The Empire State Building,<br />

350 5th Avenue, Suite #4610, USA - New York, NY 10118,<br />

phone: 001-212-2683344, fax: 001-212-2683355,<br />

Jorge.arango@husonmedia.com<br />

Korea: Young Media Inc., Mr Young J. Baek, 408 Jinyang Sangga,<br />

120-3 Chungmuro 4 ga, Chung-ku, Seoul, Korea 100-863,<br />

phone: 0082-2-2273-4818, fax: 0082-2-2273-4866,<br />

ymedia@ymedia.co.kr<br />

Anzeigendisposition: Astrid Brück (-1471) abrueck@wekanet.de<br />

Sonderdrucke: Marion Werber, Tel: (089) 2 55 56-1101,<br />

mwerber@wekanet.de<br />

Anzeigengrundpreise:<br />

Es gilt die Preisliste Nr. 17 vom 01.01.2013<br />

Verlag<br />

Anschrift <strong>des</strong> Verlags:<br />

WEKA MEDIA PUBLISHING GmbH<br />

Richard-Reitzner-Allee 2, 85540 Haar bei München,<br />

Telefon: (089) 2 55 56–10 00, Fax: (089) 2 55 56-11 99<br />

Geschäftsführung: Wolfgang Materna, Werner Mützel, Kai Riecke<br />

Herstellungsleitung: Marion Stephan<br />

Vertriebs-/Marketingleitung: Robert Riesinger<br />

Vertrieb Handel: MZV Moderner Zeitschriften Vertrieb GmbH &<br />

Co. KG, Postfach 1232, 85702 Unterschleißheim,<br />

Telefon: (0 89) 3 19 06 – 0, Fax: (0 89) 3 19 06 – 113,<br />

E-Mail: mzv@mzv.de<br />

Aboservice<br />

Abonnementverwaltung:<br />

Burda Direct GmbH, Postfach 180, 77649 Offenburg,<br />

Telefon 0781/639 4548, Fax 0781/639 4549,<br />

E-Mail: weka@burdadirect.de<br />

Einzelheftbestellung:<br />

Burda Direct GmbH, Postfach 180, 77649 Offenburg,<br />

Telefon 0781/639 4548, Fax 0781/639 4549,<br />

E-Mail: weka@burdadirect.de<br />

Erscheinungsweise: monatlich<br />

Abonnementverwaltung Schweiz:<br />

Thali AG, Industriestrasse 14, CH-6285 Hitzkirch,<br />

Tel: 041 919 66 11, Fax: 041 919 66 77,<br />

E-Mail: abo@thali.ch, <strong>Internet</strong>: www.thali.ch<br />

Premium-Abonnement mit Jahres-CD:<br />

Abo mit 12 Ausgaben 60,90 Euro<br />

Studenten-Abo<br />

53,90 Euro<br />

Europäisches EU-Ausland 77,90 Euro<br />

Schweiz<br />

121,90 sfr<br />

Classic-Abonnement ohne Jahres-CD:<br />

Abo mit 12 Ausgaben 52,90 Euro<br />

Studenten-Abo<br />

47,90 Euro<br />

Europäisches EU-Ausland 69,90 Euro<br />

Schweiz<br />

105,90 sfr<br />

Außereuropäisches Ausland auf Anfrage<br />

Das Jahresabonnement ist nach Ablauf <strong>des</strong> ersten Jahres<br />

jederzeit kündbar. Alle Abonnementpreise incl. MWST und<br />

Versandkosten.<br />

© 2013 WEKA MEDIA PUBLISHING GmbH<br />

Druck: Vogel Druck und Medienservice, Leibnitzstr. 5,<br />

97204 Höchberg<br />

ISSN: 1433-3511<br />

82 0513 internet magazin


GRATIS ZUM JAHRESABO!<br />

JETZT BESTELLEN<br />

UND VORZUGSANGEBOT SICHERN!<br />

12 Ausgaben <strong>Internet</strong> <strong>Magazin</strong> im Abo<br />

+ HTML5-Handbuch<br />

HTML5-Handbuch<br />

€ 52,90<br />

für nur € 52,90<br />

HTML5-Handbuch<br />

Das Kompendium für Entwickler, Blogger,<br />

Webautoren und Programmierer!<br />

HTML5 ist die Sprache <strong>des</strong> Web. Und das Buch von<br />

Stefan Münz und Clemens Gull ist die Grammatik<br />

dazu. Wie einst die von Stefan Münz mitbegründete<br />

Onlinereferenz SELFHTML beantwortet dieses<br />

Buch alle Fragen zum neuen <strong>Internet</strong>standard. Immer<br />

wichtiger wird dabei die Ausgabe auf Smartphones<br />

und Tablets, <strong>des</strong>halb ist diesem Thema hier<br />

ein eigenes Kapitel gewidmet. Das unverzichtbare<br />

Standardwerk für jeden Webprofi!<br />

Jetzt bestellen unter<br />

www.internet-magazin.de/angebot<br />

Nur im Inland gültig. Angebot solange Vorrat reicht. Sollte der abgebildete Artikel nicht<br />

mehr lieferbar sein, erhalten Sie einen qualitativ gleichwertigen Ersatzartikel.


„Kein Hosting-Paket ist<br />

günstiger als bei STRATO.<br />

Außer bei STRATO!“<br />

PowerWeb Basic<br />

6 Monate<br />

für<br />

0,–€/Mon.*<br />

Aktion bis 30.4.2013<br />

Vergleichen lohnt sich!<br />

HOSTING 1&1<br />

Dual Basic<br />

STRATO<br />

PowerWeb Basic<br />

Standardpreis 6,99 €/Mon. 4,99 €/Mon.<br />

Einrichtungsgebühr 9,60 € 8,60 €<br />

Inklusivdomains 4 4<br />

Postfachspeicher 2GB 5GB<br />

Webspace 10 GB 10 GB<br />

Stand 6. März 2013. Min<strong>des</strong>tvertragslaufzeit STRATO 12 Monate, 1&1: 6 Monate. Preise inkl. MwSt.<br />

Sie sparen bis zu 25€ im Jahr!<br />

Marcus Welt<br />

chrom.tv<br />

HOSTED<br />

IN GERMANY<br />

* Aktion bis 30.04.2013: PowerWeb Basic 6 Monate für 0 €/Mon., anschließend 4,99 €/Mon.<br />

Einmalige Einrichtungsgebühr 8,60 €. Min<strong>des</strong>tvertragslaufzeit 12 Monate. Preise inkl. MwSt.<br />

Servicetelefon: 030 - 300 146 - 21

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!