Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einführung
2 Mathematische und technische Grundlagen
3 Hardware
4 Netzwerkgrundlagen
5 Betriebssystemgrundlagen
6 Windows
7 Linux
8 Mac OS X
9 Grundlagen der Programmierung
10 Konzepte der Programmierung
11 Software-Engineering
12 Datenbanken
13 Server für Webanwendungen
14 Weitere Internet-Serverdienste
15 XML
16 Weitere Datei- und Datenformate
17 Webseitenerstellung mit (X)HTML und CSS
18 Webserveranwendungen
19 JavaScript und Ajax
20 Computer- und Netzwerksicherheit
A Glossar
B Zweisprachige Wortliste
C Kommentiertes Literatur- und Linkverzeichnis
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
IT-Handbuch für Fachinformatiker von Sascha Kersken
Der Ausbildungsbegleiter
Buch: IT-Handbuch für Fachinformatiker

IT-Handbuch für Fachinformatiker
Rheinwerk Computing
1216 S., 6., aktualisierte und erweiterte Auflage, geb.
34,90 Euro, ISBN 978-3-8362-2234-1
Pfeil 18 Webserveranwendungen
Pfeil 18.1 PHP
Pfeil 18.1.1 Sprachgrundlagen
Pfeil 18.1.2 Klassen und Objekte
Pfeil 18.1.3 Include-Dateien, Autoloader und Namespaces
Pfeil 18.1.4 Webspezifische Funktionen
Pfeil 18.1.5 Zugriff auf MySQL-Datenbanken
Pfeil 18.1.6 Unit-Tests mit PHPUnit
Pfeil 18.2 Ruby on Rails
Pfeil 18.2.1 Grundlagen
Pfeil 18.2.2 Ein Praxisbeispiel
Pfeil 18.3 Weitere Technologien im Überblick
Pfeil 18.3.1 Content Management, Weblogs & Co.
Pfeil 18.3.2 Blogs und Wikis
Pfeil 18.4 Zusammenfassung

Rheinwerk Computing - Zum Seitenanfang

18.3 Weitere Technologien im ÜberblickZur nächsten Überschrift

Neben den in diesem Kapitel vorgestellten Technologien PHP und Ruby on Rails gibt es zahlreiche andere Sprachen und Schnittstellen für die Webserverprogrammierung. Hier noch zwei weitere im Schnellüberblick:

  • CGI (Common Gateway Interface) ist die klassische Kommunikationsschnittstelle zwischen Webservern und externen Programmen. Der Standard gilt unverändert seit 1995. Er definiert im Wesentlichen folgende Vorgehensweise: Wenn eine Clientanfrage eine Ressource anfordert, die auf ein CGI-Programm verweist, wird dieses vom Webserver als externer Prozess gestartet. Dabei kann der Server Daten aus HTML-Formularen an das Programm weiterreichen. Alles, was das Programm auf die Standardausgabe schreibt, nimmt der Server entgegen und sendet es dem Client als Antwort. Die beliebteste Programmiersprache für CGI-Skripte ist Perl, zumal es ein Zusatzmodul namens CGI.pm gibt, das die CGI-Programmierung durch praktische Funktionen erleichtert. Falls Sie allerdings Apache benutzen und Ihre Webanwendungen in Perl schreiben möchten, sind Sie nicht mehr auf CGI angewiesen. Stattdessen können Sie mod_perl verwenden; dieses Modul integriert den Perl-Interpreter direkt in den Webserver.

    In der allerersten Auflage des vorliegenden Buches, damals noch unter dem Titel »Kompendium der Informationstechnik«, wurde die CGI-Programmierung mit Perl noch recht ausführlich beschrieben. Sie finden den entsprechenden Abschnitt online unter http://openbook.galileocomputing.de/kit/itkomp18000.htm.

  • Microsofts Technologie zur Webprogrammierung heißt ASP (Active Server Pages). Sie ist ein integraler Bestandteil des Microsoft Internet Information Servers. Ähnlich wie bei PHP können auch ASP-Codeblöcke direkt in ein HTML-Dokument hineingeschrieben werden; in diesem Fall zwischen die Markierungen <% und %>. Die klassischen Active Server Pages wurden ausschließlich in VBScript geschrieben, einer abgespeckten Variante von Visual Basic. Im Rahmen des Microsoft .NET Frameworks wurde ASP zu ASP.NET weiterentwickelt. Deshalb können die Skripte nun in jeder Sprache geschrieben werden, die die .NET Common Language Runtime (CLR) verarbeiten kann. Dies sind unter anderem die Sprachen C#, C++ und Visual Basic.

Rheinwerk Computing - Zum Seitenanfang

18.3.1 Content Management, Weblogs & Co.Zur nächsten ÜberschriftZur vorigen Überschrift

Ein Grund für den Einsatz serverseitiger Programmierung – neben den hier behandelten Webanwendungen – sind wartungsfreundlichere Websites: Wenn Inhalte in einer durchdachten Datenbankstruktur gespeichert und mithilfe von Platzhaltern in den Rahmen eines Website-Designs eingefügt werden, gelingt die Aktualisierung – besonders auch von Inhalten, die auf vielen verschiedenen Seiten vorkommen – schneller und fehlerfreier. Falls noch einfache Editoren (oder Webformulare) für die reinen Inhalte hinzukommen, können Redakteure oder Autoren die Website aktualisieren und ergänzen, ohne sich um das Design oder die Programmierung kümmern zu müssen.

Dieses Verfahren wird als Content Management bezeichnet. Es gibt zahllose Softwarelösungen für diese Aufgabe, die sogenannten Content-Management-Systeme (CMS). Sie reichen vom einfachen Anfängertool bis zum umfangreichen Online-Redaktionssystem. In beiden Kategorien gibt es sowohl Open-Source- als auch kommerzielle Programme.

Eines der bekanntesten Content-Management-Systeme ist die Open-Source-Lösung TYPO3. Das System ist in PHP implementiert, kann eine beliebige Datenbank einsetzen (am häufigsten wird wohl MySQL gewählt) und läuft sowohl unter Windows als auch unter beliebigen Unix-Varianten. Ein Highlight ist die eingebaute Sprache TypoScript, über die Sie das System und die verwalteten Sites sehr flexibel an Ihre Bedürfnisse anpassen können.

Wie jedes CMS verfügt TYPO3 über verschiedene Arbeitsmodi und entsprechende Berechtigungen: Administratoren bearbeiten die Grundstruktur der Sites, während Designer, Entwickler und Redakteure unterschiedliche Freiheitsgrade besitzen, um bestimmte Teile der Site zu ändern oder zu ergänzen.

Sie können die Software unter http://www.typo3.org herunterladen. Es stehen verschiedene Pakete zur Auswahl: Wählen Sie beispielsweise das QuickStart package, um TYPO3 zusammen mit einer umfangreichen Tutorial-Site zu installieren – so lernen Sie interaktiv und in der Praxis den Umgang mit dem CMS. Das Testsite package enthält ebenfalls eine vorgefertigte Website, allerdings mit Features für Fortgeschrittene. Das Dummy package ist die richtige Wahl, wenn Sie mit einer echten Site loslegen möchten. Es enthält eine zum Bearbeiten vorkonfigurierte, aber völlig leere Website.

Ein weiteres interessantes Open-Source-Content-Management-System ist papaya CMS (http://www.papaya-cms.com/). Es ist ebenfalls in PHP geschrieben und benötigt eine Datenbank (MySQL, PostgreSQL oder SQLite). Das Programm papaya verwendet für Seiten-Templates den W3C-Standard XSLT (siehe Kapitel 15, »XML«), sodass man zum Erstellen angepasster Seitentypen keine proprietäre Sprache erlernen muss wie etwa das in TYPO3 eingebaute TypoScript. Bezüglich seines Leistungsumfangs kann es papaya nicht ganz mit TYPO3 aufnehmen, aber inzwischen stehen doch zahlreiche Module zur Verfügung. Außerdem bekommen Sie eine neue Website aufgrund der geringeren Komplexität schneller an den Start.[Anm.: Verzeihen Sie, wenn einige Bemerkungen zu papaya CMS hier etwas voreingenommen klingen. Ich arbeite hauptberuflich bei der Firma hinter dem CMS und habe an allen Versionen seit 5.0 mitgearbeitet.]

Andere Open-Source-CMS sind zum Beispiel:

Einen guten Überblick über Open-Source-CMS bietet die Initiative CMS Garden, die seit Frühjahr 2013 Stände auf verschiedenen Ausstellungen wie der CeBIT oder dem LinuxTag betreibt. Es geht weniger um Werbung für konkrete CMS-Hersteller oder -Dienstleister, sondern vielmehr um einen Vergleich der unterschiedlichen Schwerpunkte und Zielgruppen. Näheres dazu finden Sie auf der Website http://www.cmsgarden.org. Möglicherweise treffen wir uns einmal auf einer dieser Veranstaltungen; als Vertreter von papaya CMS habe ich bereits einige Male daran teilgenommen.


Rheinwerk Computing - Zum Seitenanfang

18.3.2 Blogs und WikisZur vorigen Überschrift

Der »kleine Bruder« eines CMS sind die weitverbreiteten Weblogs oder kurz Blogs. Es handelt sich um eine Art Internet-Tagebücher, in denen der jeweils neueste Eintrag ganz oben auf der Startseite erscheint. Zudem lassen sich die Einträge auf beliebige Kategorien verteilen, sodass sie auf Wunsch entsprechend gefiltert dargestellt werden können. Viele Blogs besitzen auch kalendarische Archive und verschiedene Suchfunktionen.

Die einfachste Möglichkeit, ein Blog zu betreiben, ist der Beitritt zu einer freien oder kommerziellen Blogging-Community wie http://www.antville.org, http://blogg.de oder http://www.blogger.de. Dies hat zwei Vorteile: Der Server eines solchen Betreibers ist fertig zum Bloggen eingerichtet. Sobald Sie einen Account haben, können Sie loslegen. Außerdem generiert ein solches Blog-System automatisch sogenannte Newsfeeds, Zusammenfassungen der neuesten Schlagzeilen in XML-Formaten wie RSS oder Atom. Diese werden automatisch von Suchmaschinen und speziellen Blog-Sammlungen durchsucht. Falls Sie häufig interessante Inhalte veröffentlichen, könnte Ihr Blog durchaus populär werden. Inzwischen lesen (und zitieren) sogar Journalisten der Tagespresse manchmal Weblogs.

Viel flexibler ist natürlich der Betrieb von Blogging-Software auf dem eigenen Webserver beziehungsweise im eigenen Webspace. Es gibt unzählige Blogging-Systeme; sehr viele von ihnen sind Open Source. Wichtig ist, dass das von Ihnen gewählte System mit einer Datenbank und einer Programmiersprache zusammenarbeitet, die Ihr Webhoster unterstützt. Einige Beispiele seien hier genannt:

  • Antville. Open Source, in Java geschrieben. Download unter http://www.antville.org.
  • Slash. Die Engine, auf der Slashdot läuft – eine der bekanntesten IT-Communitys und die »Mutter aller Weblogs«. Die Site und die Perl-basierte Software gibt es unter http://www.slashdot.org.
  • MovableType basiert ebenfalls auf Perl. Ursprünglich eine kommerzielle, aber für private Anwender kostenlose Lösung; inzwischen ist das Kernsystem aber Open-Source-Software. Näheres unter http://www.movabletype.org.
  • WordPress (http://wordpress-deutschland.org/) ist ein PHP-basiertes Open-Source-Blogging-System, das inzwischen auch viele Fähigkeiten eines vollwertigen CMS umfasst.
  • Nucleus (http://www.nucleuscms.org) ist eigentlich ein ausgewachsenes CMS, aber für den Einsatz als Blogging-Software vorkonfiguriert. Es ist freie Software und wurde in PHP geschrieben.

Ideal für die Zusammenarbeit vieler Autoren, die ihr Wissen zusammentragen möchten, sind Wikis. Diese Sites können sofort von jedem beliebigen Benutzer online bearbeitet werden. Das bekannteste Wiki ist die Online-Enzyklopädie Wikipedia. Sie finden ihre deutsche Sektion unter http://de.wikipedia.org.

Die Software der Wikipedia ist das auf PHP und MySQL basierende Open-Source-Tool MediaWiki. Sie können es unter http://www.mediawiki.org/ herunterladen und für eigene Wiki-Projekte einsetzen.

Cloud Computing

In letzter Zeit wird immer häufiger der Begriff Cloud Computing verwendet. Darunter versteht man die Möglichkeit, Server, Software und Datenspeicherplatz dynamisch zu mieten, oft auf stündlicher Basis. Im Einzelnen werden drei verschiedene Dienstleistungen unterschieden:

  • Infrastructure as a Service (IaaS) stellt virtualisierte Hardware, das heißt Serverrechner mit Betriebssystem, bereit. Kunden können meist zwischen diversen Linux- und Windows-Versionen wählen.
  • Platform as a Service (PaaS) bietet gezielt bestimmte Serverdienste an, beispielsweise Datenbanken, Streaming-Server oder auch Storage.
  • Software as a Service (SaaS) schließlich ermöglicht es dem Kunden, bestimmte, oft sehr teure Software flexibel zu mieten statt zu kaufen. Dies ist unter Umständen billiger, als eigene Lizenzen zu erwerben, und zudem werden neue Versionen umgehend bereitgestellt, ohne dass der Kunde mehr bezahlen muss.

Wichtige Anbieter von Cloud-Computing-Diensten sind unter anderem:

  • Amazon Web Services (AWS) mit Angeboten wie EC2 (IaaS und PaaS) und S3
    (Storage)
  • Microsoft mit der Cloud-Plattform Azure. Hier gibt es aus naheliegenden Gründen nur Windows- und keine Linux-Server.
  • Rackspace, ursprünglich ein klassischer Hoster, hat seit einigen Jahren auch verschiedene Cloud-Dienste im Angebot. Eine Besonderheit ist die Möglichkeit, Cloud-Server gegen Aufpreis als Managed Service zu mieten, bei dem Mitarbeiter von Rackspace die Administration weitgehend übernehmen.
  • Einen besonderen Weg geht NewServers mit der Bare Metal Cloud: Hier können statt der üblichen virtuellen Serverinstanzen dedizierte Server auf Stundenbasis gemietet werden.

Bei Cloud-Server-Angeboten können die Kunden zwischen verschiedenen Leistungsmerkmalen zu unterschiedlichen Preisen wählen – da es sich außer bei NewServers um virtuelle Instanzen handelt, bezieht sich die Leistung auf den zugesicherten Anteil an CPU, RAM und Festplattenspeicher.

Ein ernst zu nehmendes Cloud-Angebot für Enterprise-Anwendungen ist komplett über eine API steuerbar. In aller Regel kommen dabei REST-basierte XML Web Services zum Einsatz. Der Benutzer des Dienstes kann über die API Serverinstanzen in Betrieb nehmen oder freigeben, Daten mit ihnen austauschen, Programme starten und beenden, Daten zur Speicherung in einem Cloud-Storage-Service hochladen oder Statistikdaten erhalten.

Cloud-Anbieter garantieren in der Regel eine hohe Ausfallsicherheit; in der Regel werden 99 bis 100 % Uptime pro Jahr angeboten (geplante und angekündigte Unterbrechungen nicht mitgerechnet). Sollte der Dienstleister diese Quote nicht einhalten können, wird dem Kunden die entsprechende Zeit beziehungsweise Kapazität meist zur späteren Verwendung gutgeschrieben.

Dass Cloud Computing nicht unfehlbar ist (und stets durch lokale Backups ergänzt werden sollte), zeigte sich jedoch beispielsweise, als Amazons Storage-Service Anfang 2011 ausfiel und zum Teil unwiederbringliche Datenverluste verursachte. Auch auf die Sicherheit sollten die Nutzer solcher Dienste achten. Zwar erfolgt die Kommunikation mit den Cloud-Diensten in der Regel über eine gesicherte HTTPS-Verbindung, aber auf den Storage-Servern selbst werden die Daten unverschlüsselt gespeichert. Der Kunde sollte sie also selbst verschlüsseln und erst dann in der Cloud ablegen.

Gute Cloud-Computing-Dienste verfügen über mehrere Rechenzentren an verschiedenen wichtigen Orten der Welt, mindestens in Nordamerika, Europa und Ostasien. Die Kunden können dabei jeweils wählen, auf welche Rechenzentren sie die Last verteilen möchten.

Neben diesen Cloud-Computing-Diensten, die sich fast ausschließlich an Firmenkunden richten, gibt es auch Cloud-Dienste für Privatanwender. Meistens handelt es sich um Storage-Lösungen. Beispielsweise ist Apple gerade dabei, seinen iCloud-Dienst einzuführen, der Anwendern von Mac OS X seit 10.7 (Lion) und iOS seit Version 5 vollautomatisch und ohne Zusatzkosten zugutekommt.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück




Copyright © Rheinwerk Verlag GmbH 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern


  Zum Rheinwerk-Shop
Neuauflage: IT-Handbuch für Fachinformatiker






Neuauflage: IT-Handbuch für Fachinformatiker
Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


Zum Rheinwerk-Shop: Computer Netzwerke






 Computer Netzwerke


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


Zum Rheinwerk-Shop: Windows 8.1 Pro






 Windows 8.1 Pro


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo