Performance Vergleich JAVA/PHP

Größe: px
Ab Seite anzeigen:

Download "Performance Vergleich JAVA/PHP"

Transkript

1 Performance Vergleich JAVA/PHP Walter Jenner B A K K A L A U R E A T S A R B E I T Nr A eingereicht am Fachhochschul-Bakkalaureatsstudiengang Medientechnik und -design in Hagenberg im Jänner 2006

2 Diese Arbeit entstand im Rahmen des Gegenstands Wep Applications im Wintersemester 2005/06 Betreuer: DI Rimbert Rudisch ii

3 Erklärung Hiermit erkläre ich an Eides statt, dass ich die vorliegende Arbeit selbstständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und die aus anderen Quellen entnommenen Stellen als solche gekennzeichnet habe. Hagenberg, am 2. Februar 2006 Walter Jenner iii

4 Inhaltsverzeichnis Erklärung Kurzfassung Abstract iii vi vii 1 Einleitung 1 2 PHP Geschichte PHP ist eine Scripting Sprache PHP Beschleuniger Zend-Engine JAVA Allgemeines zu JAVA Argumente für JAVA Performance Aspekte der Sprache Servlet Engine Performance Vergleich der Engines Tests Einleitung Test Applikation JAVA Applikation PHP Applikation Server Setup Software Hardware Test Software - JMeter Einleitung Verwendete Funktionen Testfälle INDEX Test: ohne Datenbankzugriff iv

5 INHALTSVERZEICHNIS v Testfall 2: LIST Test Testfall 3: MIXED Test Ergebnisse Einleitung INDEX TEST LIST TEST MIXED TEST eaccelerator JAVA vs. PHP Fazit Jmeter eaccelerator PHP oder JAVA? Schlusswort A PHP - Source Code 21 A.1 PHP-Datei index.php Literaturverzeichnis 23

6 Kurzfassung PHP und JAVA sind zwei grundlegend verschiedene Programmiersprachen, PHP ist eine Script Sprache, JAVA hingegen eine moderne objektorientierte Programmiersprache. Mit beiden kann man dasselbe Ziel verfolgen, das Implementieren einer Web Applikation. Eine bisher noch nicht komplett beantwortete Frage ist, welche der beiden Sprachen dabei nun schneller und performanter ist. Von der Funktionalität nähert sich PHP immer mehr den wirklichen Programmiersprachen an, so unterstützt PHP 5 inzwischen schon eine recht weit entwickelte Objekt - Orientierung mit abstrakten Klassen und Zugriffsmodifizierern; was allerdings bleibt ist der grundlegende Unterschied, dass PHP eine interpretierende Sprache ist, bei der der Code zur Laufzeit kompiliert wird. JAVA hat andere Klötze am Bein, wie zb. den Garbage Kollektor, und zieht in Performance - Vergleichen zu C++ immer wieder den Kürzeren. Beide Sprachen haben also ihre Tücken was die Schnelligkeit betrifft - um herauszufinden, welche der beiden Sprachen nun die performantere ist, sollen im Rahmen dieser Arbeit verschiedene Testfälle mit Hilfe von Test Werkzeugen ausprobiert und analysiert werden. Eine einfache FAQ Applikation wurde dabei einmal in PHP und einmal in JAVA implementiert und mit Hilfe des Open Source Tools Jmeter getestet. Beide Anwendungen greifen auf eine mysql Datenbank zu, damit die Performance bei Datenbankzugriffen getestet werden kann. Natürlich (oder: Es) wird auch getestet welche Technologie bei der Erstellung von dynamischen Inhalten ohne Datenbank Zugriff die schnellere ist. Zusätzlich wird die Wirkung des PHP Beschleunigers eaccelerator beobachtet. [ÄNDERN]Dabei wurde festgestellt, dass die Welt rund ist, dass Lügen kurze Beine haben und dass JAVA im Vergleich zu PHP eindeutig das bessere Reiseziel ist. Vorallem der Vulkan Bromo auf Ost JAVA soll einen Besuch wert sein. vi

7 Abstract PHP and JAVA sind zwei grundlegend verschiedene Programmiersprachen, PHP ist eine Script Sprache, JAVA hingegen eine moderne objektorientierte Programmiersprache. Mit beiden kann man dasselbe Ziel verfolgen, das Implementieren einer Web Applikation. Eine bisher noch nicht komplett beantwortete Frage ist, welche der beiden Sprachen dabei nun schneller und performanter ist. Von der Funktionalität nähert sich PHP immer mehr den wirklichen Programmiersprachen an, so unterstützt PHP 5 inzwischen schon eine recht weit entwickelte Objekt - Orientierung mit abstrakten Klassen und Zugriffsmodifizierern; was allerdings bleibt ist der grundlegende Unterschied, dass PHP eine interpretierende Sprache ist, bei der der Code zur Laufzeit kompiliert wird. JAVA hat andere Klötze am Bein, wie zb. den Garbage Kollektor, und zieht in Performance - Vergleichen zu C++ immer wieder den Kürzeren. Beide Sprachen haben also ihre Tücken was die Schnelligkeit betrifft - um herauszufinden, welche der beiden Sprachen nun die performantere ist, sollen im Rahmen dieser Arbeit verschiedene Testfälle mit Hilfe von Test Werkzeugen ausprobiert und analysiert werden. Eine einfache FAQ Applikation wurde dabei einmal in PHP und einmal in JAVA implementiert und mit Hilfe des Open Source Tools Jmeter getestet. Beide Anwendungen greifen auf eine mysql Datenbank zu, damit die Performance bei Datenbankzugriffen getestet werden kann. Natürlich (oder: Es) wird auch getestet welche Technologie bei der Erstellung von dynamischen Inhalten ohne Datenbank Zugriff die schnellere ist. Zusätzlich wird die Wirkung des PHP Beschleunigers eaccelerator beobachtet. [ÄNDERN]Dabei wurde festgestellt, dass die Welt rund ist, dass Lügen kurze Beine haben und dass JAVA im Vergleich zu PHP eindeutig das bessere Reiseziel ist. Vorallem der Vulkan Bromo auf Ost JAVA soll einen Besuch wert sein. vii

8 Kapitel 1 Einleitung Dynamische Webseiten sind heutzutage alltäglich, nahezu jede Webseite beinhaltet inzwischen schon dynamische Teile. Dabei reicht die Bandbreite von komplexen Applikationen wie Online-Shops zu relativ simplen Seiten wie beispielsweise Gästebüchern. Neben den klassischen Wartezeiten, denen der Internet Surfer durch die beschränkte Netzwerkgeschwindigkeit ausgesetzt ist, kommt bei dynamischen Webseiten noch hinzu, dass der Webserver die Webseite für jede Anfrage erst erstellen muss, bevor sie über das Internet an den Client übertragen werden kann. Speziell bei komplexen Anwendungen und/oder bei Webseiten die sehr viele Anfragen gleichzeitig abarbeiten müssen, ist es wichtig, dass man eine Technik einsetzt, die diesen Anforderungen gerecht wird und dem Betrachter so schnell wie möglich die gewünschten Informationen übermitteln kann. Deswegen spielt bei der Entscheidung welche Technik man einsetzt, die Performance der Programmiersprache eine wichtige Rolle. Bei der Implementierung bieten sich dem Programmierer viele Programmiersprachen an, mit denen das selbe Ziel erreicht werden kann. Zwei bekannte Beispiele sind JAVA Web Applikationen, die mit Hilfe von Servlets 1 und JSP 2 Seiten umgesetzt werden. Eine andere weit verbreitete Programmiersprache ist PHP 3. Daneben gibt es noch eine Reihe weitere Technologien die eingesetzt werden könnten, wie CGI, Microsoft.NET 4, Perl 5 und Ruby 6. Ich möchte in dieser Arbeit die Skriptsprache PHP mit JAVA Web Applikationen anhand von Load-Tests in der Performance vergleichen. Die Arbeit ist so aufgebaut, dass am Anfang Allgemeines über die Performance von PHP und JAVA erläutert wird. Darauf folgt das Hardware und

9 KAPITEL 1. EINLEITUNG 2 Software Setup und die Erklärung der Testfälle und der Testapplikation. Im Anschluss an jeden Testfall werden die jeweiligen Ergebnisse präsentiert. Zum Schluss kommt ein umfangreiches Fazit, in dem alle Ergebnisse reflektiert und durchdacht werden.

10 Kapitel 2 PHP 2.1 Geschichte [ÄNDERN]Geschichte. Lerndorf. rekursives akronym. Folgendes in den PHP Einleitungstext einbauen: Einfache Erlernbarkeit Weite Verbreitung, nahezu auf jeden Server einfache Installation einer Entwicklungsumgebung 2.2 PHP ist eine Scripting Sprache PHP ist eine Scripting Sprache, das heißt der Quell Code wird zur Laufzeit kompiliert. Das hat zur Folge, dass bei jedem Aufruf eines PHP Skripts der Code zuerst geparst werden muss, bevor er ausgeführt werden kann. Es liegt auf der Hand, dass das Performance kostet und eigentlich unnötig ist, da der Source Code nur dann neu kompiliert werden müsste, wenn sich etwas geändert hat. Genau da haken PHP Beschleuniger ein, die auf dem Webserver installiert werden können. Sie behalten kompilierte Skripte in einem Cache, und liefern diese kompilierte Version an neue Anfragen aus. Dadurch wird unnötiges kompilieren vermieden und die Ausführung von PHP Skripten wird deutlich beschleunigt PHP Beschleuniger Am Markt befinden sie mehrere Implementatierungen solcher Beschleuniger, ein bekannter frei verfügbarer ist der Zend Optimizer 1 der aktuell in der Version 2.5 erhältlich ist. Eine Alternative dazu ist das Open Source 1 3

11 KAPITEL 2. PHP 4 Projekt eaccelerator 2, das Ende 2004 mit der Weiterentwicklung des eingeschlafenen Projektes Turck begonnen hat. Eaccelerator ist beispielsweise bei dem XAMPP Paket der apachefriends 3 inkludiert. Weitere Beschleuniger sind PHP Accelerator 4 und APC 5. Für das Test Setup wird eaccelerator verwendet, wobei sowohl Tests mit als auch ohne Beschleuniger durchgeführt werden, um so auch feststellen zu können, ob und wieviel dessen Einsatz bringt. 2.3 Zend-Engine Die Zend-Engine 6 ist der Compiler der PHP Quell Code parst und ausführt. Die Entwicklung daran begann 1997 und der Name Zend tauchte erstmals 1999 auf. Er basiert auf den Namen der beiden Entwicklern Zeev Suraski and Andi Gutmans. Die Software wird als Open-Source Projekt geführt

12 Kapitel 3 JAVA 3.1 Allgemeines zu JAVA JAVA Web Applikationen basieren auf Servlets und JSP Seiten Argumente für JAVA Wenn auf bestehende JAVA Applikation aufgebaut werden soll Es können leichter viele Entwickler daran arbeiten? testing: Junit erprobte und bewährte Framework - Struts, Spring voll aus gereifete OO Programmiersprache Datenbank Zugriff: Prepared Statements, Connections Pools 3.2 Performance Aspekte der Sprache Für jeden Request wird ein eigener Thread gestartet, was schneller geht, als würde jedesmal ein neuer Prozess gestartet wird. (Wird bei PHP jedesmal ein Prozess gestartet?) Auf Unterschiede in der Performance zwischen Servlets, JSP Seiten (mit und ohne JSTL), und Frameworks hinweisen. Inkl. Erklärung warum diese Unterschiede entstehen. Dabei auf den ix Test verweisen und die dazugehörige Graphik einbauen. 3.3 Servlet Engine Im Gegensatz zu PHP 1 existieren für JAVA viele verschiedene Implementierungen die als JAVA Engine einsetzbar sind. Als offizielle Referenzim- 1 Bei PHP ist die Zend Engine die einzige verfügbare PHP Engine. 5

13 KAPITEL 3. JAVA 6 plentierung der JAVA Servlet und JSP Spezifikationen 2 dient der Tomcat 3 Container der Apache Group, der sowohl als voll funktionsfähiger standalone HTTP Server als auch als Erweiterung eines Webservers betrieben werden kann. Als Apache Projekt ist dieses Applikation Open Source. Andere Beispiele von JAVA Servern sind Jetty 4, Macromedia Jrun 5 und New Atlanta s ServletExec 6. Für den praktischen Teil dieser Arbeit wird Tomcat im standalone Betrieb verwendet. Für die Tests bedeutet das, dass nicht JAVA ansich getestet wird, sondern das Gespann JAVA und Tomcat Performance Vergleich der Engines Über die Performance der einzelnen Container gibt zwar einige Untersuchungen, diese sind allerdings relativ alt und somit wenig aussagekräftig. Ein Test 7 eines Studenten der Universität Dortmund aus dem Jahr 2000 vergleicht beispielsweise die Servlet Engines Jigsaw 2.0.3, Jetty 2.2.4, Java Webserver 2.0 und die als Apache Plug-in betriebenen Engines JRun Pro 2.3.2, JServ 1.0 und ServletExec 2.2. Dabei schnitten die Standalone Server im Allgemeinen besser ab, und im Speziellen hoben sich Jigsaw und Jetty hervor. Tomcat gab es zu diesem Zeitpunkt noch nicht, dieses Projekt erwachte erst zum Leben, als Sun die Entwicklung des Java Webservers einstellte und die Aufgabe der Implentierung eines Referenzservers an Apache abgab. Ein Student der TU Wien führte 2001 auch einen Vergleich von verschiedenen Servlet Engines durch 8. Dabei wurden Jetty-3.1.9, Jetty-4.0.4, resin und tomcat full.2jpp miteinander verglichen. Tomcat war dabei der schnellste Container, gleichzeitig aber auch der Fehler anfälligste e /work/servletengines.html

14 Kapitel 4 Tests 4.1 Einleitung Es wird eine einfache Web Applikation einmal in Java und einmal in PHP implementiert. Es soll getestet werden, welche Applikation unter heavy-load schneller die Anfragen abarbeiten kann, also welche Technologie die performantere ist. Zusätzlich soll auch noch die Schnelligkeit beider Sprachen bei Datenbank Zugriffen getestet werden. Dabei werden beide Applikationen auf dieselbe mysql Datenbank zugreifen. Die Java Applikation wird mit einem Connection Pool des Spring WebMVC Frameworks arbeiten, und Prepared-Statements verwenden. In einer weiteren Testreihe soll der Nutzen des PHP Beschleunigers eaccelerator getestet werden. 4.2 Test Applikation Als Beispiels Applikation dient ein Faq Verwaltungs Tool. Es können neue FAQs (Frage - Antwortpaare) hinzugefügt und bestehende bearbeitet bzw gelöscht werden. Alle FAQs können in einer Liste oder einem TOC 1 angezeigt werden JAVA Applikation Die JAVA Implementation (Abb. 4.1) basiert auf dem MVC 2 Modell, was bedeutet das die Applikation in 3 Schichten zerteilt ist. Das Model dient der Datenhaltung der Objekte, mit in der Applikation gearbeitet wird, auch Business Objects genannt. In dieser Applikation sind das die Faq Objekte, die als JavaBean Klasse implementiert sind. Der Controllers dient als zentrale Stelle, die alle Anfragen entgegennimmt, und auf die richtigen Seiten 1 Table Of Contents 2 Model - View - Controller 7

15 KAPITEL 4. TESTS 8 Abbildung 4.1: Ausgabe eines Graph Result Listeners weiterleitet. Die Ausgabe bzw. die Darstellung von Seiten ist die Aufgabe der Views. Die sind durch JSP Seiten verwirklicht. Als unterstützende Technologie für den Datenbank Zugriff kommen ConnectionPools und DataSources des Spring Web Frameworks 3 zum Einsatz. Das erlaubt einerseits die Konfiguration der Datenbank Zugangsdaten über eine XML File, was in weiterer Folge bedeutet, dass das Servlet bei Änderung dieser Daten lediglich neu geladen werden muss, und nicht neu kompiliert. Das bringt rein administrative Vorteile, ist also für die Tests nicht weiter von Bedeutung. Die Connection Pools übernehmen die Verwaltung von Datenbank Connections. Das sollte Performance Vorteile bringen, da ein Pool von Connecitons zeitaufwendiges Auf- und Abbauen von Datenbank Verbindungen reduziert. Schlussendlich werden auch Prepared Statements verwendet. Somit werden insgesamt einige Vorteile von JAVA gegenüber von PHP ausgenützt, wodurch das Test Setup näher an der Realität ist.

16 KAPITEL 4. TESTS 9 Abbildung 4.2: Ausgabe eines Graph Result Listeners PHP Applikation Auch die PHP Applikation (Abb. 4.2) versucht, sich an das MVC Konzept anzulehnen. Der Controller ist praktisch gleich zu dem der JAVA Applikation, die Views sind von der Programmlogik getrennt mit Funktionen umgesetzt worden und als Schnittstelle zur Datenbank wurde eine Repository Klasse geschrieben. Die Architektur der beiden Applikation ist somit also vergleichbar. 4.3 Server Setup Software Linux SuSe 9.2 Apache Tomcat/ standalone Apache 2 PHP Version

17 KAPITEL 4. TESTS 10 MySQL Apache Jmeter Eaccelerator J2SE Es wurde die jeweilige Standard Konfiguration der einzelnen Programme verwendet, um so eine möglichst einfache und repräsentative Basis für die Tests zu haben. Es liegt auf der Hand, dass man jeden Server auf jede Applikation anpassen kann, um so eine möglichst gute Performance zu erreichen. Genau das sollte vermieden werden, damit man möglichst allgemein gültige und somit verwertbare Ergebnisse bekommt Hardware Server AMD Athlon XP Mhz FSB 512 MB DDRAM PC333 Client Simulator DELL Notebook Pentium MB RAM 4.4 Test Software - JMeter Einleitung Jmeter ist eine Java Desktop Applikation der Apache Gruppe mit der die Performance von Web Applikationen getestet werden kann Verwendete Funktionen ThreadGroup Jeder Test wird durch einen Testplan definiert. Als zentrales Element muss dem Testplan eine ThreadGroup hinzugefügt werden, mit deren Hilfe die Number of Threads, die Ramp Up Periode und der Loop Count spezifiziert werden. Number of Threads definiert die Anzahl von verschiedenen Threads, also die Anzahl der simulierten User die auf die zu testende Webseite zugreifen sollen.

18 KAPITEL 4. TESTS 11 Die Ramp Up Periode ist die Zeit die zum Starten aller User verwendet wird. Bei 5 User und 5 Sekunden Ramp Up Zeit wird jede Sekunde ein Thread (= User) gestartet. Loop Count spezifiert die Anzahl wie oft ein Testplan durchgelaufen werden soll. Es gibt die Einstellungsmöglichkeit forever, die zur Folge hat, das der Testplan immer wieder ausgeführt wird. HTTP Request Defaults Mit Hilfe eines HTTP Request Defaults können Standard Konfigurationen für alle HTTP Requests definiert werden. Das kann beispielsweise die IP bzw. die Domain oder der Port der zu testenden Webseite sein, was des öfteren Sinn machen kann. HTTP Request Mit diesem Element werden Requests dem Testplan hinzugefügt. Dabei muss die URL spezifiziert werden, und es kann die IP und der Port definiert werden. Zusätzlich können beliebige GET/POST Parameter angeben werden, sowie ein File das mitgeschickt werden soll. Dank der Möglichkeit GET/POST Parameter mitzuschicken, ist es möglich das Versenden eines Formulars zu simulieren, was bei einem der Testfälle dieser Arbeit auch gemacht wird. Graph Results Graph Results Elemente gehören zu der Gruppe der Listeners. Diese sind nötig um Testergebnisse aufzuzeichnen und zu visualisieren. Dabei reicht es aus irgendeinen Listener auf selber Ebene eines Requests zu plazieren um dessen Ergebnisse aufzeichen zu können. Im Nachhinein kann man dann mit jedem anderen Listener die aufgezeichneten Daten des einen Listeners visualisieren. Deswegen sollte man für das Durchführen der Tests lediglich einen Listener dem Testplan hinzufügen, da jeder weitere unnötig die Performance des Client Rechners beeinträchtigt. Auch noch zu erwähnen ist, dass Jmeter die Ergebnisse der Tests - wie auch die Testpläne selbst - in XML Files 4 speichert, wodurch der Weiterverarbeitung der Daten keine Grenzen gesetzt sind. In Abb. 4.3 sieht man die Ausgabe eines Graph Result Listeners. Request Recording Eine sehr nützliche Funktion von Jmeter erlaubt es, mit einem beliebigen Browser durch die zu testende Seite zu navigieren und diesen Pfad als Abfolge von Anfragen aufzuzeichnen, die automatisch einem Testplan hinzu- 4 Es besteht auch die Möglichkeit, CSV als Ausgabe Format zu wählen

19 KAPITEL 4. TESTS 12 Abbildung 4.3: Ausgabe eines Graph Result Listeners gefügt werden. Wenn man also komplexere Tests mit mehreren Anfragen hintereinander durchführen will, ist das sehr praktisch. Diese Funktionalität ist auch bei einem Test dieser Arbeit eingesetzt worden. Starten von Testplänen über Ant Skripte Ein JAR das es ermöglicht, Jmeter Testpläne über Ant 5 anzusprechen und zu starten, ist auch standardmäßig im Jmeter Paket enthalten. Dadurch ist es möglich das Ausführen zu automatisieren und somit zu vereinfachen. Bei komplexeren Tests, kann das durchaus eine Hilfe sein. Vom Schöpfer 6 dieser Erweiterung, wurden auch XSLT - Stylesheets zur Verfügung gestellt, mit denen das im XML Format vorliegende Ergebnis eines Testdurchlaufs in HTML transformiert werden kann jfifield@programmerplanet.org

20 KAPITEL 4. TESTS Testfälle Da hier keine reale Applikation auf ihre Performance oder Kapazität geprüft werden soll, wollen wir keine absoluten Ergebnisse, wie z.b. die maximale Userzahl die eine der beiden Applikation gleichzeitig bedienen kann, sondern es soll herausgefunden werden, ob PHP oder JAVA Vorteile in der Performance bietet. Deswegen gilt das primäre Augenmerk den Relationen, nicht den absoluten Ergebnissen. Das ist auch der Grund warum bei allen Testplänen keine Pause zwischen den einzelnen Anfragen eingestellt wurde. Um reale Besucher einer Webseite zu simulieren, wäre das notwendig und auch ohne Probleme mit Jmeter umsetzbar gewesen, allerdings wurde bei diesen Tests darauf verzichtet, weil in erster Linie viel Last gefragt war, um herauszufinden, welche der beiden Technologien besser damit umgehen kann. Deswegen sind 50 gleichzeitige Clients dieses Tests nicht mit 50 realen Besuchern einer Webseite im Internet zu vergleichen. Die Tests an sich sind nun so aufgebaut, dass es 3 verschiedene Testfälle gibt. Jeder Test wird dreimal mit jeweils gesteigerter Client Anzahl durchgeführt. Zusätzlich wird noch ein Testdurchlauf der PHP Applikation ohne eaccelerator gestartet, um dessen Wirkung auf die Probe zu stellen INDEX Test: ohne Datenbankzugriff Erklärung Es soll die Performance der Sprache an sich getestet werden. Dazu werden die Index Seiten der beiden Applikationen aufgerufen. Beides Seiten, die weder dynamischen Inhalt aufweisen noch eine Verbindung zu Datenbank herstellen. Testplan 3 Durchläufe: 50/100/200 gleichzeitige Clients 20 Wiederholungen Testfall 2: LIST Test Erklärung Bei diesem Test wird auf die mysql Datenbank zugegriffen, alle FAQs ausgelesen und in einer Liste ausgegeben. Die Anzahl der FAQs steigt, dabei gleichzeitig mit der Anzahl der gleichzeitigen Anfragen. Es ist dementsprechend zu erwarten, dass die Bearbeitungszeit pro Anfrage mit der Zunahme der Anfragen Anzahl stark steigen wird.

21 KAPITEL 4. TESTS 14 Testplan 3 Durchläufe: 50/100/200 parallele Anfragen 20 Wiederholungen 125/250/500 FAQs befinden sich in der Datenbank Testfall 3: MIXED Test Erklärung In diesem Testszenario soll ein kompletter Besuch der FAQ Seite simuliert werden. Daraus ergibt sich ein Mix aus verschiedenen Anfragen. Hier die Reihenfolge dieser Anfragen: Aufruf der Index Seite Ausgabe der FAQ Liste Wechsel in den Admin Bereich Anlegen einer neuen FAQ TOC Seite Daraus ergibt sich dass die Datenbanktabelle stetig wächst. Mit jeden Request wird eine neue FAQ der Datenbank hinzugefügt. Das ganze mit stetig hoher Last, und über einen gewissen Zeitraum hinweg. Testplan 3 Durchläufe: 25/50/100 gleichzeitige Anfragen 5 Loops insgesamt Testfall 4: PHP eaccelerator Dieser Test wird dazu genutzt, eine Variationen auszuprobieren. So wird der PHP Test einmal mit Unterstützung des eaccelerators und einmal ohne durchgeführt. Aus dem Ergebnis sollte sich ein Trend ablesen lassen, wieviel Performance - Verbesserung mit einem PHP Beschleuniger erreicht werden kann. Testplan Es werden der INDEX, der LIST und der MIXED Test mit dem selben Setup noch einmal durchgeführt. Diesmal ohne die Unterstützung eines PHP Beschleunigers.

22 KAPITEL 4. TESTS Ergebnisse Einleitung In diesem Abschnitt werden zuerst die Ergebnisse der JAVA und der PHP Test getrennt betrachtet. Im Anschluss daran folgt ein detailierter Vergleich. Zu jedem der einzelnen Testfälle werden die Durchschnitts Response Zeiten und die 90 % Linie präsentiert. Durchschnitts Response Zeit Dieser Wert gibt das arithmetische Mittel der Response Zeiten aller an den Server gesendeten Anfragen an. 90 % Linie Die 90 % Linie gibt die Response Zeit an, innerhalb der 90 % aller Server Antworten eintreffen. Daraus ergibt sich, dass hohe aber seltene Ausreißer nicht beachtet werden, da die 10 langsamsten Prozent der Antworten ignoriert werden. Wenn der Wert der 90 % Linie höher ist, als der des Durchschnittes bedeutet das, dass die Zahl der Ausreißer ziemlich hoch ist, es sich allerdings nicht um extrem hohe Ausreißer handelt, da sonst das arithmetische Mittel auch in die Höhe schnellen würde. Welcher der zwei Werte der Aussagekräfigere ist, kann man nicht sagen - mann muss sich allerdings den Bedeutungen der Werte bewusst sein, dann kann man je nach Situation den einen oder anderen Wert bevorzugen INDEX TEST Die durchschnittlichen Response Zeiten sind bei diesem Test - klarerweise - die kürzesten. Die Seite ist relativ klein, es muss kein dynamischer Content generiert werden und Datenbankzugriff findet auch nicht statt. Wie man in Tab. 4.1 und Abb. 4.4 sieht, hält sich die JAVA Applikation am Anfang sehr gut, sobald ein gewisser Grenzwert überschritten wird, scheint Tomcat allerdings Probleme zu bekommen. Aus diesem Ergebniss geht hervor, dass JAVA bei sehr einfachen Seiten, und bei geringer Last noch die Nase vorn hat. Durch die Konstanz, die PHP in diesem Test zeigt, wird JAVA relativ bald überholt und PHP scheint schneller zu sein. An dieser Stelle sei auch noch auf einen Test des ix Magazines [1] verwiesen, der im Oktober 2005 durchgeführt wurde und ebenfalls JAVA und PHP vergleicht. Im Mittelpunkt steht allerdings nicht Load-Testing, wie bei dieser Arbeit, sondern die Performance der Sprache an sich. Es wurde ebenfalls auf einer Tomcat Engine mit 10 gleichzeitigen Anfragen getestet. Bei

23 KAPITEL 4. TESTS 16 Abbildung 4.4: Ergebnisse von INDEX Test Tabelle 4.1: Index-Test Datentabelle PHP- 90% Linie [ms] Clients PHP Durchschnitts Response Zeit [ms] JAVA- Durchschnitts Response Zeit [ms] JAVA-90% Linie [ms] PHP Durchschnitts Response Zeit Tabelle 4.2: List-Test Datentabelle PHP- 90% Linie JAVA- Durchschnitts Response Zeit JAVA-90% Linie diesem Test wurde auch zwischen Servlets, JSP Seiten und JSP Seiten mit JSTL unterschieden und die JSP Seiten waren in etwa gleich schnell wie die PHP Skripte. Aufgrund der niedrigen parallen Requests und der Tatsache das hier ebenfalls mit JSP Seiten gearbeitet wird, ist das als Bestätigung zu den Tests dieser Arbeit zu sehen LIST TEST content.php?cmd=list [TODO]

24 KAPITEL 4. TESTS 17 Abbildung 4.5: Ergebnisse von LIST Test Abbildung 4.6: Ergebnisse von MIXED Test In Graphik 4.5 (a) sieht man auch noch mal alles sehr schön. list.jsp [TODO] In Graphik 4.5 (b) sieht man auch noch mal alles sehr schön MIXED TEST PHP [TODO] In Graphik 4.6 (a) sieht man auch noch mal alles sehr schön. JAVA [TODO] In Graphik 4.6 (b) sieht man auch noch mal alles sehr schön.

25 KAPITEL 4. TESTS 18 PHP Durchschnitts Response Zeit Tabelle 4.3: Mixed-Test Datentabelle PHP- 90% Linie JAVA- Durchschnitts Response Zeit JAVA-90% Linie eaccelerator JAVA vs. PHP INDEX Test LIST Test MIXED Test

26 Kapitel 5 Fazit 5.1 Jmeter Die intensive Arbeit mit Jmeter brachte sowohl Vorteile als auch Nachteile dieser Software ans Tageslicht. Positiv hervorzuheben ist mit Sicherheit die Einfachkeit der Software - um den ersten Probe-Test durchzuführen braucht man inklusive Installation und kurzem Einlesen in die Dokumentation nicht länger als eine Stunde. Ebenfalls erwähnenswert ist der große Funktionsumfang, der mit den Tests dieser Arbeit bei Weitem nicht ausgeschöfpft wurde. 5.2 eaccelerator Aufgrund der Tests steht außer Zweifel, dass ein PHP Beschleuniger der PHP Skripte in kompilierter Form zwischenspeichert, die Performance deutlich verbessert und auf jedem Webserver der PHP installiert hat, laufen sollte. Ob es bessere als den eaccelerator gibt, wurde in dieser Arbeit nicht getestet, allerdings ist aufgrund der Tatsache, dass es ein lebendiges Open Source Projekt ist, sicher eine gute Lösung. 5.3 PHP oder JAVA? Die Testergebnisse dieser Arbeit scheinen klare Worte zu sprechen. PHP ist schneller. Man darf aus diesen Ergebnissen zwar keine allgemeingültigen Schlüsse ziehen, aber für dieses Setup mit diesen Applikationen, geht eindeutig PHP als Sieger hervor. Das ist noch lange kein Grund um JAVA als Programmiersprache für zukünftige Projekte auszuschließen, aber man sollte zumindest im Hinterkopf behalten, dass man mit PHP unter Umständen performantere Applikationen erstellen kann. Abschließend ist noch festzuhalten, dass Performance Tests dieser Art lediglich Momentaufnahmen - die noch dazu aus einem bestimmten Winkel 19

27 KAPITEL 5. FAZIT 20 aus geschossen werden - sind. 5.4 Schlusswort Performance Tests können eine Entscheidungshilfe bei der Wahl einer Programmiersprache für eine Web Applikation sein. Es sollten allerdings noch viele andere programmiersprachen - abhängige Aspekte in diese Wahl mit einfließen. Dazu gehören die Art und die Komplexheit der Applikation. Wenn die Anzahl der Entwickler relativ hoch ist, sollte der Arbeit gut aufgeteilt werden können. Das kann für JAVA sprechen. Wenn die Zeit drängt und man möglichst schnell eine Applikation erstellen soll, ist möglicherweise PHP die bessere Wahl. Ebenfalls in Erwägung zu ziehen sind die Ansprüche an die Wartbarkeit und Erweiterbarkeit einer Applikation. Schlussendlich muss man auch bedenken, welche Entwickler man zur Verfügung hat, oder ob sich die Mühe lohnt, für ein Projekt eine neue Technologie zu erlernen. Jedenfalls ist Entscheidung welche Programmiersprache man wählt, keine leichte und immer genau zu überdenken.

28 Anhang A PHP - Source Code 21

29 ANHANG A. PHP - SOURCE CODE 22 A.1 PHP-Datei index.php <?php include_once("ezsql.inc.php");?> <?php echo "<?xml version=\"1.0\" encoding=\"iso \"?".">";?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" <head> <title>faq</title> <meta http-equiv="content-type" content="text/html; charset=iso " /> </head> <body> <h1>faq</h1> <?php //Request Dispatcher $cmd= $_GET[ cmd ]; if($cmd=="admin"){ $out.= "admin"; $faqs= getfaqs(); //liste ausgeben } else if ($cmd=="list"){ $out.= "list"; } else{ $out.= "<a href=\"?cmd=admin\">faq-administration</a><br>". "<a href=\"?cmd=list\">faq-liste</a><br>". "<a href=\"?cmd=list\">faq-toc</a>"; } echo $out;?> </body> </html> <?php function getfaqs(){ }?>

30 Literaturverzeichnis [1] Magazin ix: Auslieferungsmethoden im Performancevergleich. URL, Okt

31 Messbox zur Druckkontrolle Druckgröße kontrollieren! Breite = 100 mm Höhe = 50 mm Diese Seite nach dem Druck entfernen! 24

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

Adminer: Installationsanleitung

Adminer: Installationsanleitung Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

INSTALLATION VON INSTANTRAILS 1.7

INSTALLATION VON INSTANTRAILS 1.7 INSTALLATION VON INSTANTRAILS 1.7 InstantRails 1.7 ist ein Paket, das Ruby, Rails, Apache, MySQL und andere Tools, z.b. phpmyadmin in vorkonfigurierter Form enthält. Das Paket muss in einem Verzeichnis

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Tutorial In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Zu Beginn müssen wir uns über die gewünschten Sprachen Gedanken machen. Zum einem, da eine professionelle

Mehr

Java Script für die Nutzung unseres Online-Bestellsystems

Java Script für die Nutzung unseres Online-Bestellsystems Es erreichen uns immer wieder Anfragen bzgl. Java Script in Bezug auf unser Online-Bestell-System und unser Homepage. Mit dieser Anleitung möchten wir Ihnen einige Informationen, und Erklärungen geben,

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Anleitung zur Nutzung des SharePort Utility

Anleitung zur Nutzung des SharePort Utility Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner

Mehr

SFTP SCP - Synology Wiki

SFTP SCP - Synology Wiki 1 of 6 25.07.2009 07:43 SFTP SCP Aus Synology Wiki Inhaltsverzeichnis 1 Einleitung 1.1 Grundsätzliches 2 Voraussetzungen 2.1 Allgemein 2.2 für SFTP und SCP 3 Installation 3.1 Welche openssl Version 3.2

Mehr

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten:

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten: WOT Skinsetter WOT Skinsetter steht für World of Tanks skinsetter (WOTS von nun an). Mit diesen Tool können Sie Skins importieren und ändern, wann immer Sie möchten auf einfache Weise. Als World of Tanks

Mehr

Kurzanleitung OOVS. Reseller Interface. Allgemein

Kurzanleitung OOVS. Reseller Interface. Allgemein Kurzanleitung OOVS Reseller Interface Allgemein Durch die Einführung des neuen Interfaces hat sich für Reseller von Syswebcom etwas geändert. Die Struktur der Kundenverwaltung ist einprägsamer, wenn man

Mehr

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16 Änderungen in Dokumentation und Software sind vorbehalten! Copyright Copyright 2005 COSA GmbH Alle Rechte vorbehalten.

Mehr

Kurzanleitung zu. von Daniel Jettka 18.11.2008

Kurzanleitung zu. von Daniel Jettka 18.11.2008 Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen Anwendungshinweis Nr. 12 Produkt: Schlüsselworte: Problem: Softing OPC Easy Connect OPC Server, Redundanz Wie konfiguriere ich redundante Lösung: Ausgangssituation: Eine OPC Client-Anwendung ist mit mehreren

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox Bitte beachten: Der im folgenden beschriebene Provider "www.cwcity.de" dient lediglich als Beispiel. Cwcity.de blendet recht häufig

Mehr

Internet und WWW Übungen

Internet und WWW Übungen Internet und WWW Übungen 7 Serverseitige Web-Technologien [WEB7] Rolf Dornberger 1 06-11-12 7 Serverseitige Web-Technologien 1. Begriffe Zusatz für Interessierte: 2. JSP erstellen 3. Servlet erstellen

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Firewalls für Lexware Info Service konfigurieren

Firewalls für Lexware Info Service konfigurieren Firewalls für Lexware Info Service konfigurieren Inhaltsverzeichnis: 1. MANUELLER DOWNLOAD 1 2. ALLGEMEIN 1 3. EINSTELLUNGEN 1 4. BITDEFENDER VERSION 10 2 5. GDATA INTERNET SECURITY 2007 4 6. ZONE ALARM

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

Installationsanleitung Webhost Linux Flex

Installationsanleitung Webhost Linux Flex Installationsanleitung Webhost Linux Flex Stand März 2014 Inhaltsverzeichnis 1. Zugangsdaten & Login... 3 2. Passwort ändern... 4 3. Leistungen hinzufügen / entfernen... 6 4. Datenbanken anlegen / entfernen...

Mehr

Verwendung des Terminalservers der MUG

Verwendung des Terminalservers der MUG Verwendung des Terminalservers der MUG Inhalt Allgemeines... 1 Installation des ICA-Client... 1 An- und Abmeldung... 4 Datentransfer vom/zum Terminalserver... 5 Allgemeines Die Medizinische Universität

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

Mehr

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte RT Request Tracker V2.0 Inhalte 1 Was ist der RT Request Tracker und wo finde ich ihn?...2 2 Was möchten wir damit erreichen?...2 3 Wie erstelle ich ein Ticket?...2 4 Wie wird das Ticket abgearbeitet?...4

Mehr

Installation/Einrichtung einer Datenbank für smalldms

Installation/Einrichtung einer Datenbank für smalldms Einleitung In den folgenden Seiten werden wir uns damit beschäftigen eine lokale Installation einer MySQL- Datenbank vorzunehmen, um auf dieser Datenbank smalldms aktivieren zu können. Wir werden das XAMPP-Paket

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor: Client-Installation ec@ros2 ASP-Server 1. Allgemeine Informationen Für den Einsatz von ec@ros2 ist auf den Clients die Software Java Webstart (enthalten im Java Runtime Environment (JRE)) notwendig. Wir

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an? WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein Einrichtung von orgamax-mobil Um die App orgamax Heute auf Ihrem Smartphone nutzen zu können, ist eine einmalige Einrichtung auf Ihrem orgamax Rechner (bei Einzelplatz) oder Ihrem orgamax Server (Mehrplatz)

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft

Mehr

Step by Step Remotedesktopfreigabe unter Windows Server 2003. von Christian Bartl

Step by Step Remotedesktopfreigabe unter Windows Server 2003. von Christian Bartl Step by Step Remotedesktopfreigabe unter Windows Server 2003 von Remotedesktopfreigabe unter Windows Server 2003 Um die Remotedesktopfreigabe zu nutzen muss diese am Server aktiviert werden. Außerdem ist

Mehr

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP XAMPP Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP XAMPP ist eine vollständig kostenlose, leicht zu installierende Apache-Distribution, die MySQL, PHP und Perl enthält. Das XAMPP

Mehr

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education Andy Bosch Java Server Faces Das Standard-Framework zum Aufbau webbasierter Anwendungen An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City

Mehr

Step by Step VPN unter Windows Server 2003. von Christian Bartl

Step by Step VPN unter Windows Server 2003. von Christian Bartl Step by Step VPN unter Windows Server 2003 von VPN unter Windows Server 2003 Einrichten des Servers 1. Um die VPN-Funktion des Windows 2003 Servers zu nutzen muss der Routing- und RAS-Serverdienst installiert

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Hex Datei mit Atmel Studio 6 erstellen

Hex Datei mit Atmel Studio 6 erstellen Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung: Installation Bevor Sie mit der Installation von MOVIDO 1.0 beginnen, sollten Sie sich vergewissern, dass der Internet Information Server (IIS) von Microsoft installiert ist. Um dies festzustellen, führen

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Microsoft PowerPoint 2013 Folien gemeinsam nutzen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Folien gemeinsam nutzen Folien gemeinsam nutzen in PowerPoint 2013 Seite 1 von 4 Inhaltsverzeichnis Einleitung... 2 Einzelne

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Erweiterung eines SMIL Players für die Darstellung von Transparenzen und SVG Inhalten

Erweiterung eines SMIL Players für die Darstellung von Transparenzen und SVG Inhalten Bachlor-Abschlussarbeit Erweiterung eines SMIL Players für die Darstellung von Transparenzen und SVG Inhalten im Studiengang Informatik der Fakultät IV - Wirtschaft und Informatik Sommersemester 2009 Burim

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

PowerWeiss Synchronisation

PowerWeiss Synchronisation PowerWeiss Synchronisation 1 Einrichtung der Synchronisation I. Starten des Synchronisations Wizard Seite 3 II. Schritt 1 - Benutzer auswählen Seite 3 III. Schritt 2 - Grundlegende Einstellungen Seite

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

www.flatbooster.com FILEZILLA HANDBUCH

www.flatbooster.com FILEZILLA HANDBUCH www.flatbooster.com FILEZILLA HANDBUCH deutsche Auflage Datum: 12.03.2011 Version: 1.0.2 Download: http://flatbooster.com/support Inhaltsverzeichnis 1 Filezilla FTP Programm 1 1.1 Filezilla installieren.................................

Mehr

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Finanzbuchhaltung Wenn Sie Fragen haben, dann rufen Sie uns an, wir helfen Ihnen gerne weiter - mit Ihrem Wartungsvertrag

Mehr

Aufgabe 2.2. Folgende Schritte sollen durchgeführt werden:

Aufgabe 2.2. Folgende Schritte sollen durchgeführt werden: Aufgabe 2.2 Damit Sie Anwendungsprogramme mit der Scriptsprache PHP entwickeln können, benötigen Sie entweder einen Server, der PHP unterstützt oder Sie richten einen lokalen Server auf Ihrem Computer

Mehr

Firewalls für Lexware Info Service konfigurieren

Firewalls für Lexware Info Service konfigurieren Firewalls für Lexware Info Service konfigurieren Inhaltsverzeichnis: 1. Manueller Download... 2 2. Allgemein... 2 3. Einstellungen... 2 4. Bitdefender Version 10... 3 5. GDATA Internet Security 2007...

Mehr

Zugriff auf Daten der Wago 750-841 über eine Webseite

Zugriff auf Daten der Wago 750-841 über eine Webseite Zugriff auf Daten der Wago 750-841 über eine Webseite Inhaltsverzeichnis Einleitung... 3 Auslesen von Variablen... 4 Programm auf der SPS... 4 XML-Datei auf der SPS... 4 PHP-Script zum Auslesen der XML-Datei...

Mehr

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Windows 8 Systemsteuerung > Programme > Windows Features aktivieren / deaktivieren > Im Verzeichnisbaum

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

Mehr

Domain Registration & Transfer. Version: 1.3 Datum: 10.07.2014 Alexander Pascual

Domain Registration & Transfer. Version: 1.3 Datum: 10.07.2014 Alexander Pascual Domain Registration & Transfer Abteilung: Customer Care Center Version: 1.3 Datum: 10.07.2014 Autor: Alexander Pascual Inhaltsverzeichnis 1 Domain Registration 1.1 Domain Registration bei Green.ch 1.2

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

Eigenen Farbverlauf erstellen

Eigenen Farbverlauf erstellen Diese Serie ist an totale Neulinge gerichtet. Neu bei PhotoLine, evtl. sogar komplett neu, was Bildbearbeitung betrifft. So versuche ich, hier alles einfach zu halten. Ich habe sogar PhotoLine ein zweites

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

InfoPoint vom 9. November 2011

InfoPoint vom 9. November 2011 InfoPoint vom 9. November 2011 Was ist Joomla? Theorie Installation Extensions Administration Demo Joomla ist ein modulares content management system (CMS) Es ermöglicht eine Website zu erstellen und online

Mehr