Entwickler freier Webanwendungen stellen ihre Software im Normalfall
als gepacktes Archiv zur Verfügung. Der Administrator steht in der Verantwortung diese Archive herunterzuladen und manuell auf dem eigenen Webserver zu installieren. Dieses manuelle Verfahren kann zu massiven Verzögerungen beim Deployment von Updates und entsprechendenEinbußen bei der Sicherheit der Webserver führen. Für Open-Source
Webanwendungen ist es entsprechend wichtig den manuellen Aufwand maximal zu reduzieren. Am Beispiel der Groupware des Horde-Projektes und der Vielzahl großer, aber hoffnungslos veralteter Installationen der Software beleuchtet der Vortrag das Problem und zeigt anhand der neuen Version Horde 4 mögliche Alternativen auf.
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Deployment und Sicherheit komplexer Open-Source Webanwendungen
1. Deployment und Sicherheit komplexer Open-Source
Webanwendungen
Gunnar Wrobel
wrobel@horde.org
6. M¨rz 2012
a
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 1 / 28
2. Freie Websoftware in der Cloud
Macht das Sinn?
Photo: Evan Leeson [http://www.flickr.com/photos/ecstaticist/3918217885]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 2 / 28
4. “Software as a service” bedeutet ...
... “Data as a service”
Photo: Robert Kaye [http://www.flickr.com/photos/mayhem/2939259129]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 4 / 28
5. Evolution
der Horde Webmail und Groupware
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 5 / 28
6. Browser zeigen die Ober߬che
a
2/3 der Webanwendungen laufen uber freie Software
¨
Photo: Ben Fredericson [http://www.flickr.com/photos/xjrlokix/3932488768]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 6 / 28
7. Modular
Die Summe verf¨gbarer Komponenten bietet ein breites Spektrum an M¨glichkeiten
u o
Photo: Carlos Smith [http://www.flickr.com/photos/carlos-smith/5476997936/]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 7 / 28
8. Paketmanagement
Paketmanager erlauben ein einfaches Deployment und schaffen Sicherheit
Photo: Rudolf Ammann [http://www.flickr.com/photos/rka/1415516/]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 8 / 28
9. Ubuntu Server Updates
Die Installation informiert uns automatisch uber verf¨gbare Updates
¨ u
* D o c u men tation : h t t p s : / / h e l p . ubuntu . com/
System i n f o r m a t i o n a s o f Wed Feb 29 ...
System l o a d : 0 . 0 ...
Usage o f / : 17.8% o f 9 . 8 4GB ...
Memory u s a g e : 52% ...
Graph t h i s d a t a and manage t h i s s y s t e m a t . . .
10 p a c k a g e s can be u p d a t e d .
2 updates are s e c u r i t y updates .
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 9 / 28
10. Modulare Distributionen
Paketmanagement erlaubt ...
Flexible L¨sungen durch
o
Module
Strukturiertes Deployment
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 10 / 28
11. Modulare Distributionen
Paketmanagement erlaubt ...
Flexible L¨sungen durch
o
Module
Strukturiertes Deployment
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 10 / 28
12. Modulare Distributionen
Paketmanagement erlaubt ...
Flexible L¨sungen durch
o
Module
Strukturiertes Deployment
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 10 / 28
13. Modulare Distributionen
Paketmanagement erlaubt ...
Flexible L¨sungen durch
o
Module
Strukturiertes Deployment
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 10 / 28
14. Modulare Distributionen
Paketmanagement erlaubt ...
Flexible L¨sungen durch
o
Module
Strukturiertes Deployment
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 10 / 28
15. Anforderungen an moderne Webanwendungen
Integration mit anderen
Webanwendungen
Features
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 11 / 28
16. Anforderungen an moderne Webanwendungen
Integration mit anderen
Webanwendungen
Features
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 11 / 28
17. Anforderungen an moderne Webanwendungen
Integration mit anderen
Webanwendungen
Features
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 11 / 28
18. Anforderungen an moderne Webanwendungen
Integration mit anderen
Webanwendungen
Features
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 11 / 28
19. Anforderungen an moderne Webanwendungen
Integration mit anderen
Webanwendungen
Features
Wartbarkeit
Sicherheit
...
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 11 / 28
20. Monolithisch
Die typische Webanwendung
Photo: Nathanial Landau [http://www.flickr.com/photos/grefft/44040562/]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 12 / 28
21. “Kann ich eigentlich Horde und ownCloud integrieren?”
Nicht so einfach...
Kein gemeinsames
Nutzermanagement.
Keine gemeinsame
Authentifizierung.
Kein gemeinsames Layout.
Duplizierte Funktionalit¨t.
a
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 13 / 28
22. “Kann ich eigentlich Horde und ownCloud integrieren?”
Nicht so einfach...
Kein gemeinsames
Nutzermanagement.
Keine gemeinsame
Authentifizierung.
Kein gemeinsames Layout.
Duplizierte Funktionalit¨t.
a
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 13 / 28
23. “Kann ich eigentlich Horde und ownCloud integrieren?”
Nicht so einfach...
Kein gemeinsames
Nutzermanagement.
Keine gemeinsame
Authentifizierung.
Kein gemeinsames Layout.
Duplizierte Funktionalit¨t.
a
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 13 / 28
24. “Kann ich eigentlich Horde und ownCloud integrieren?”
Nicht so einfach...
Kein gemeinsames
Nutzermanagement.
Keine gemeinsame
Authentifizierung.
Kein gemeinsames Layout.
Duplizierte Funktionalit¨t.
a
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 13 / 28
25. Horde 4.0
Das Horde Projekt liefert ca. 100 Komponenten, die als PEAR Pakete verf¨gbar sind.
u
Photo: Aaron Merrifield [http://www.flickr.com/photos/spammt/4823025103/]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 14 / 28
26. Datum eingeben
Das typische Widget f¨r ein Datum
u
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 15 / 28
27. Ein Treffen
Photo: Andrew Wipple [http://www.flickr.com/photos/andrewwippler/4428945418/]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 16 / 28
28. Ein Treffen
W¨rden Sie ein Treffen so vereinbaren ...
u
Wir sollten uns zwischen dem
12. und 19. M¨rz 2012 uber
a ¨
das Feedback von der CeBIT
unterhalten.
Gerne. Wie w¨re es am 13.
a
M¨rz 2012?
a
Klingt gut. Da k¨nnte ich
o
zwischen 8 und 12 Uhr.
Dann lass uns 9 Uhr sagen.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 17 / 28
29. Ein Treffen
W¨rden Sie ein Treffen so vereinbaren ...
u
Wir sollten uns zwischen dem
12. und 19. M¨rz 2012 uber
a ¨
das Feedback von der CeBIT
unterhalten.
Gerne. Wie w¨re es am 13.
a
M¨rz 2012?
a
Klingt gut. Da k¨nnte ich
o
zwischen 8 und 12 Uhr.
Dann lass uns 9 Uhr sagen.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 17 / 28
30. Ein Treffen
W¨rden Sie ein Treffen so vereinbaren ...
u
Wir sollten uns zwischen dem
12. und 19. M¨rz 2012 uber
a ¨
das Feedback von der CeBIT
unterhalten.
Gerne. Wie w¨re es am 13.
a
M¨rz 2012?
a
Klingt gut. Da k¨nnte ich
o
zwischen 8 und 12 Uhr.
Dann lass uns 9 Uhr sagen.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 17 / 28
31. Ein Treffen
W¨rden Sie ein Treffen so vereinbaren ...
u
Wir sollten uns zwischen dem
12. und 19. M¨rz 2012 uber
a ¨
das Feedback von der CeBIT
unterhalten.
Gerne. Wie w¨re es am 13.
a
M¨rz 2012?
a
Klingt gut. Da k¨nnte ich
o
zwischen 8 und 12 Uhr.
Dann lass uns 9 Uhr sagen.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 17 / 28
32. Ein Treffen
oder eher so ...
Wir sollten uns n¨chste
a
Woche uber das Feedback von
¨
der CeBIT unterhalten.
Gerne. Wie w¨re es am
a
Dienstag?
Klingt gut. Da k¨nnte ich
o
morgens.
Dann lass uns 9 Uhr sagen.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 18 / 28
33. Ein Treffen
oder eher so ...
Wir sollten uns n¨chste
a
Woche uber das Feedback von
¨
der CeBIT unterhalten.
Gerne. Wie w¨re es am
a
Dienstag?
Klingt gut. Da k¨nnte ich
o
morgens.
Dann lass uns 9 Uhr sagen.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 18 / 28
34. Ein Treffen
oder eher so ...
Wir sollten uns n¨chste
a
Woche uber das Feedback von
¨
der CeBIT unterhalten.
Gerne. Wie w¨re es am
a
Dienstag?
Klingt gut. Da k¨nnte ich
o
morgens.
Dann lass uns 9 Uhr sagen.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 18 / 28
35. Ein Treffen
oder eher so ...
Wir sollten uns n¨chste
a
Woche uber das Feedback von
¨
der CeBIT unterhalten.
Gerne. Wie w¨re es am
a
Dienstag?
Klingt gut. Da k¨nnte ich
o
morgens.
Dann lass uns 9 Uhr sagen.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 18 / 28
36. Datum eingeben
Wie sieht das Widget f¨r diese Konversation aus?
u
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 19 / 28
37. Horde Date Parser
Die Installation von Horde Date Parser ist trivial
# I n s t a l l a t i o n d e r H o r d e D a t e P a r s e r Komponente
apt−g e t i n s t a l l php−horde −da t e −p a r s e r
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 20 / 28
38. Horde Date Parser
Der Parser hilft dem Computer...
<?php
// P r o v i d e a u t o l o a d i n g o f c l a s s e s
r e q u i r e o n c e ’ Horde / A u t o l o a d e r / D e f a u l t . php ’ ;
$date = Horde Date Parser : : parse (
’ n e x t week t u e s d a y morning ’
);
echo $ d a t e . ” n” ;
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 21 / 28
39. Horde Date Parser
... den Menschen zu verstehen.
2012−03−13 0 9 : 0 0 : 0 0
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 22 / 28
40. PEAR
Leben und sterben mit Birne.
Photo: keeva999 [http://www.flickr.com/photos/54159370@N08/6024042592/]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 23 / 28
41. Horde Updates
p e a r u p g r a d e −a −B h o r d e / w e b m a i l
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 24 / 28
42. Vorteile
Releases
Hohe Release-Geschwindigkeit.
1000 Releases in einem Jahr.
Wartbarkeit
Einfaches Update der
Software.
Distributionen
Die Distributionen haben einen
geringeren Aufwand beim
Repaketieren.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 25 / 28
43. Vorteile
Releases
Hohe Release-Geschwindigkeit.
1000 Releases in einem Jahr.
Wartbarkeit
Einfaches Update der
Software.
Distributionen
Die Distributionen haben einen
geringeren Aufwand beim
Repaketieren.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 25 / 28
44. Vorteile
Releases
Hohe Release-Geschwindigkeit.
1000 Releases in einem Jahr.
Wartbarkeit
Einfaches Update der
Software.
Distributionen
Die Distributionen haben einen
geringeren Aufwand beim
Repaketieren.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 25 / 28
45. Modulare Webanwendungen
Was bei Distributionen gut funktioniert kann bei Webanwendungen nicht schlecht sein.
Photo: Jon Lucas [http://www.flickr.com/photos/jonlucas/204150906/]
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 26 / 28
46. Modulare Webanwendungen
Es ist m¨glich auch
o
Webanwendungen
modular zu gestalten.
Eine modulare Architektur
erlaubt ein einfaches
Wiederverwenden von
Code zwischen Projekten.
Teilen und Bereitstellen
von Code ist die Essenz
freier Software.
Modulare Software ist
erweiterbar, wartbar und
einfach zu sichern.
Modulare Software
erlaubt hohe Flexibilit¨t
a
beim Nutzer.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 27 / 28
47. Modulare Webanwendungen
Es ist m¨glich auch
o
Webanwendungen
modular zu gestalten.
Eine modulare Architektur
erlaubt ein einfaches
Wiederverwenden von
Code zwischen Projekten.
Teilen und Bereitstellen
von Code ist die Essenz
freier Software.
Modulare Software ist
erweiterbar, wartbar und
einfach zu sichern.
Modulare Software
erlaubt hohe Flexibilit¨t
a
beim Nutzer.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 27 / 28
48. Modulare Webanwendungen
Es ist m¨glich auch
o
Webanwendungen
modular zu gestalten.
Eine modulare Architektur
erlaubt ein einfaches
Wiederverwenden von
Code zwischen Projekten.
Teilen und Bereitstellen
von Code ist die Essenz
freier Software.
Modulare Software ist
erweiterbar, wartbar und
einfach zu sichern.
Modulare Software
erlaubt hohe Flexibilit¨t
a
beim Nutzer.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 27 / 28
49. Modulare Webanwendungen
Es ist m¨glich auch
o
Webanwendungen
modular zu gestalten.
Eine modulare Architektur
erlaubt ein einfaches
Wiederverwenden von
Code zwischen Projekten.
Teilen und Bereitstellen
von Code ist die Essenz
freier Software.
Modulare Software ist
erweiterbar, wartbar und
einfach zu sichern.
Modulare Software
erlaubt hohe Flexibilit¨t
a
beim Nutzer.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 27 / 28
50. Modulare Webanwendungen
Es ist m¨glich auch
o
Webanwendungen
modular zu gestalten.
Eine modulare Architektur
erlaubt ein einfaches
Wiederverwenden von
Code zwischen Projekten.
Teilen und Bereitstellen
von Code ist die Essenz
freier Software.
Modulare Software ist
erweiterbar, wartbar und
einfach zu sichern.
Modulare Software
erlaubt hohe Flexibilit¨t
a
beim Nutzer.
Gunnar Wrobel (wrobel@horde.org) Open-Source Webanwendungen 6. M¨rz 2012
a 27 / 28