Magento

Magento ist eine professionelle Software für den E-Commerce-Bereich

Magento ist eines der weltweit beliebtesten E-Commerce Systeme, da das Programm Funktionalität mit einem hohen Bedienkomfort kombiniert. Als professionelle Software für Webshops punktet Magento mit einer großen Funktionsvielfalt schon im Standardumfang. Besonders beliebt ist die E-Commerce-Plattform wegen der Flexibilität und der Vielzahl an Templates, die dem User zur Verfügung stehen. Magento ist als Open Source Software – also lizenzkostenfrei – verfügbar. Sie ist sehr anpassungsfähig und weist eine beliebige Skalierbarkeit auf. Gleichzeitig stellt Magento aber hohe Hardwareanforderungen und erfordert einen großen Einarbeitungsaufwand. Für mittelständische und professionelle Shop-Betreiber, die international mit diversen Sprach- und Währungsvarianten umgehen und über ein breites Produktangebot verfügen, stellt Magento im Hinblick auf kommerzielle Produkte eine leistungsstarke Alternative dar.

Magento ist eine funktionale Lösung für Shop-Profis

Für individuelle Programmierungen von Magento-basierten Webshops sind allerdings fundierte Erfahrungen mit Frameworks und PHP unabdingbar. Möchte jemand schnell einen Onlineshop mit einigen Standardfunktionen umsetzen, der sofort einsatzfähig ist, ist von Magento eher abzuraten. Für diesen Fall ist das System überdimensioniert und andere Shop-Software möglicherweise besser geeignet. Magento ist für kleine Unternehmen und Startups in aller Regel zu aufwändig, zu komplex und zu schwer in der Umsetzung. Von den Anforderungen an Hardware und Funktionalität her richtet sich Magento daher eher an mittelständische Unternehmen.

Weitere Informationen zu Magento liefern die Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/Magento  und die Website von Magento https://magento.com/

Magnolia

Magnolia ist ein Open Source verfügbares Content Management System

Magnolia ist ein Content-Management-System, das Open Source verfügbar ist und auf Basis der Skriptsprache Java funktioniert. Magnolia importiert externe Daten in ein zentrales Content Repository und macht sie damit zur Bearbeitung bereit. Magnolia CMS gibt es seit mehr als zehn Jahren. Es dient einer Reihe von bekannten Firmen der Umsetzung ihres Internetauftritts. Sein Kerngedanke beruht auf einer Trennung in ein Autorensystem zum Eingeben und Erfassen von Texten und Bildern einerseits und andererseits einem Publikationssystem, das die Inhalte den Nutzern in einem einheitlichen Layout präsentiert.

Der hinter Magnolia liegende Server ist in Java implementiert und fußt auf einer Reihe von Open-Source-Komponenten wie dem Servlet-Container Apache Tomcat und dem Content-Repository Jackrabbit. Magnolia CMS ist in einer freien, aber auch in einer Enterprise-Edition verfügbar. Die freie Version steht unter der GPL, für die kommerzielle Ausgabe bietet das hinter Magnolia CMS stehende Unternehmen Magnolia nicht nur die üblichen Dienstleistungen, sondern auch zusätzliche Features wie den Support von mehreren Internetdomains oder kommerziellen JEE-Servern wie Websphere und Weblogic.

Magnolia schafft Anwendern Möglichkeiten des flexiblen Einsatzes

Aus Perspektive des Entwicklers bietet das Magnolia CMS sehr flexible Einsatzmöglichkeiten, insbesondere durch die offensichtliche Orientierung an gängigen Standards und durch den konsequenten Einsatz etablierter Open-Source-Technologien. Die Anpassung an Konfigurationen und Funktionalitäten oder der Austausch ganzer Funktions-Komponenten werden dadurch sehr leicht gemacht. Normalerweise ist die schnelle Einarbeitung für einen Entwickler ohne Magnolia-Erfahrung ohne weiteres möglich. Für die Integration in eine Systemlandschaft mit verschiedenen Komponenten bietet Magnolia die Möglichkeit, auf sämtliche im Java Content Repository (JCR) abgelegten Inhalte und Konfigurationen mithilfe eines REST-Services zuzugreifen. Auch das Erzeugen oder Bearbeiten von Inhalten sowie die Ausführung von Magnolia Commands wie z.B. „Publizieren“ oder „Versionieren“ ist mit diesem REST-API möglich. So lässt sich beispielsweise der Export von Inhalten aus einem externen System an eine Magnolia-Instanz realisieren und gegebenenfalls sogar das „ferngesteuerte“ Publizieren von Inhalten ermöglichen. Darüber hinaus bringt Magnolia verschiedene Factory-Klassen und Interfaces mit, um entsprechende REST-Client-Funktionalitäten zu realisieren. Damit können externe Inhalte direkt in Redaktionsdialoge integriert werden, um beispielsweise in einem Artikel eine bestimmte Google-News-Meldung zu publizieren oder verlinken.

Der Zugriff auf Daten außerhalb des JCR kann auch mit Hilfe des so genannten Content Connector Interfaces realisiert werden. Java-Klassen, die dieses Interface implementieren, können sehr einfach in eine Magnolia App integriert werden, so dass ein Zugriff auf externe Daten über die native Magnolia GUI ohne Probleme realisiert werden kann.

Sowohl in der Community- wie auch in der Enterprise-Edition stellt Magnolia sämtlichen Source Codes via Git und Nexus öffentlich bereit. Weitere Informationen zum Thema Magnolia gibt es auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/Magnolia_%28CMS%29 und auf der Website des Herstellers https://www.magnolia-cms.de/

MongoDB

MongoDB ist ein nichtrelationales Datenbankmanagementsystem

MongoDB zählt zu den nichtrelationalen Datenbankmanagmentsystemen. Zu den wichtigsten Eigenschaften, die für einen Einsatz von MongoDB sprechen, gehört seine Performanz: Vom Ansatz her haben dokumentenorientierte Datenbankmanagementsysteme hier den Vorteil, dass die Daten nicht erst aus mehreren Tabellen zusammengeführt werden. MongoDB ist außerdem skalierbar: Mit transparentem Sharding – das ist ein Verfahren zur horizontalen Skalierung – kann die Infrastruktur vergleichsweise einfach wachsenden Anforderungen angepasst werden. MongoDB verfügt außerdem über eine hohe     Verfügbarkeit: Auch bei Ausfall einer Datenbankinstanz soll die Applikation weiterhin verfügbar bleiben, d. h. nahtlos – ohne manuellen Eingriff – müssen redundante Instanzen bei einem Ausfall einspringen.

Natürlich sind diese drei Eigenschaften nicht unabhängig voneinander. So kann beispielsweise die Performanz von der Möglichkeit der horizontalen Skalierbarkeit profitieren, und aus der Skalierbarkeit resultieren neue Herausforderungen für die Verfügbarkeit. Für MongoDB als Datenbankmanagementsystem spricht, dass diese wichtigen Eigenschaften integraler Bestandteil einer durchdachten Gesamtarchitektur sind.

Mit einfacher Skalierbarkeit, hoher Flexibilität und einem effizienten Dokument-orientierten Ansatz macht MongoDB dem bewährten MySQL-System zunehmend Konkurrenz. MySQL bekommt immer mehr Gegenwind von neuen, innovativen Datenbanklösungen, die ebenfalls Open-Source bereitgestellt werden, und einen vollkommen neuen Ansatz verfolgen.

Ein Vorteil nichtrelationaler Datenbankmanagementsysteme wie MongoDB ist, dass Änderungen des Datenmodells der Applikation leicht umzusetzen sind. Das heißt, dass keine Skripte zur Änderung des Datenschemas gepflegt werden müssen.

MongoDB kann andere Systeme sinnvoll ergänzen

Eine wesentliche Eigenschaft von MongoDB ist die für die Applikation transparente Shard-Architektur mit automatischer Ausbalancierung. Werden Dokumente in eine Sammlung geschrieben, erfolgt dies zunächst ausschließlich in einen Shard, d. h. auf einer Instanz des Datenbanksystems. Wenn in einer Sammlung die maximale Blockgröße erreicht ist, wird der Block geteilt. Die Daten bleiben aber erst einmal auf dem gleichen Shard. Erst wenn die Anzahl der Blöcke auf den Shards sich um einen Schwellwert (meistens sind das mehr als acht) unterscheidet, wird ein Block auf einen anderen Shard verschoben. Damit wird erreicht, dass die Last auf mehrere Instanzen des Datenbanksystems verteilt wird, die Datenbank also einfach skalierbar ist.

Nichtrelationale Datenbanken wie MongoDB können relationale Datenbanksysteme wie MySQL heute sinnvoll ergänzen: Das Stichwort lautet hier “nicht nur SQL” (Not only SQL). Ziel des neuen Ansatzes ist es, relationale Datenbanken da zu optimieren, wo sie Defizite aufzeigen. Entstanden ist das Konzept als Antwort auf die Unflexibilität und schwierige Skalierbarkeit von klassischen Datenbanksystemen, bei denen die Daten nach einem stark strukturierten Modell gespeichert werden müssen.

Die Datenmengen bei Web-Anwendungen steigen derzeit dramatisch. Damit steigen die Anforderungen an Datendurchsatz und Skalierbarkeit der darunter liegenden Datenbanken immer weiter an. Ein Beispiel dafür ist Twitter. Bei 200 Millionen Tweets pro Tag leiden relationale Datenbanken üblicherweise unter Leistungsproblemen und stoßen an ihre Grenzen. Aus diesem Grund setzt Twitter neben MySQL mittlerweile auch auf NoSQL-Lösungen, um die Verfügbarkeit und Performance seines Dienstes zu verbessern.

Weitere Informationen zum Thema MongoDB gibt es auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/MongoDB und auf der Website des Herstellers – allerdings in englischer Sprache https://www.mongodb.com/

MS SQL

Der MS SQL Server ist ein Datenbankserver von Microsoft

Der Microsoft SQL Server, kurz MS SQL Server, ist ein relationales Datenbank-Management-System (RDBMS), das für Unternehmenszwecke bestimmt ist – also ein Datenbankserver von Microsoft. Datenbankserver haben den Zweck, große Datenmengen zu verwalten und zur Verfügung zu stellen. Je nach Abfrage, die man an die Datenbank sendet, werden die passenden Daten angezeigt. Der MS SQL Server verwendet die SQL-Variante T-SQL (Transact-SQL), bei der es sich um Programmiererweiterungen von Sybase und Microsoft handelt, die Standard-SQL um eine Reihe von Features ergänzen, beispielsweise Transaktionssteuerung, Ausnahme- und Fehlerbehandlung, Zeilenverarbeitung und deklarierte Variablen.

Die aktuelle Version MS SQL Server 2014, die während der Entwicklung den Codenamen “Hekaton” trug, erschien 2014 und bietet eine hohe Flexibilität und Skalierbarkeit sowie eine optimierte Performance bei der Verarbeitung von Big Data und polystrukturierten Daten. Der Begriff polystrukturierte Daten umfasst unstrukturierte ebenso wie strukturierte Daten sowie maschinengenerierte Daten wie exemplarisch Web-Logs oder Sensordaten. Ein neues In-Memory-Modul beschleunigt außerdem viele Anwendungen, die für Unternehmen bedeutsam sind. Des Weiteren ist die Anbindung an Microsoft Azure verbessert worden, so dass sich lokale Anwendungen einfacher in die Cloud migrieren lassen. Der aktuelle MS SQL-Server hat einen noch stärkeren Anschluss an die Cloud als seine Vorgänger. Ein Ziel ist es, die Einführung von Clouds für SQL-Datenbanken zu vereinfachen.

MS SQL konnte sich in den IT-Abteilungen von Unternehmen durchsetzen

Den ursprünglichen Code für SQL Server entwickelte Sybase. In den späten 1980er Jahren wuchs aus der Zusammenarbeit zwischen Microsoft, Sybase und Ashton-Tate die erste Version des Produkts für OS/2. 1992 erschien mit SQL Server 4.2 das letzte Release für das Betriebssystem. Ein Jahr später brachte Microsoft den MS SQL Server 4.21 auf den Markt, allerdings nur noch für das selbst entwickelte Windows NT. Später trennten sich die Wege von Sybase und Microsoft und beide Unternehmen brachten eigene SQL-Server-Software heraus.

Das Management von Datenbanklösungen wie dem MS SQL-Server von Microsoft gehört zum Tagesgeschäft der IT-Abteilungen. Insbesondere Microsoft konnte sich mit seinen Produkten in den letzten Jahren durchsetzen und für ein überdurchschnittliches Wachstum und breite Anwendungsszenarien sorgen.

Weitere Informationen zum Thema MS SQL Server gibt es auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/Microsoft_SQL_Server

und auf der entsprechenden Microsoft-Website

https://www.microsoft.com/de-de/server-cloud/products/sql-server/default.aspx

MySQL

MySQL ist ein sehr verbreitetes Datenbankverwaltungssystem

MySQL ist eines der weltweit am meisten verbreiteten relationalen Datenbankmanagementsysteme. Es ist als Open-Source-Software für verschiedene Betriebssysteme verfügbar und bildet eine Basis für dynamische Webauftritte. MySQL wurde ursprünglich für den Zweck entwickelt, große Datenbanken schneller als bestehende Lösungen zu handhaben. MySQL ist seit Jahren in sehr anspruchsvollen Produktionsumgebungen im Einsatz. Obwohl es ständig weiterentwickelt wird, bietet MySQL schon heute ein reiches Set an Funktionen. Flexible Anbindungsmöglichkeiten, Geschwindigkeit und Sicherheit machen MySQL besonders geeignet für den Zugriff auf Datenbanken im Internet. Ein großer Vorteil besteht darin, dass der MySQL-Datenbankserver sehr schnell, zuverlässig und einfach zu benutzen ist.

MySQL bietet viele nützliche Funktionen

MySQL hat außerdem viele praktische Features, die in enger Zusammenarbeit mit den Benutzern entwickelt worden sind. MySQL Server arbeiten als Client-Server-Version und in eingebetteten Systemen. Die MySQL-Datenbanksoftware besteht aus einem Mehr-Thread-SQL-Server, der verschiedene Backends sowie diverse Clientprogramme und -bibliotheken und Verwaltungswerkzeuge unterstützt und mittels vieler verschiedener Programmierschnittstellen (API) angesprochen werden kann. MySQL findet aus bereits existierenden Datenbanken Strukturen heraus, erstellt ER-Modelle und bietet außerdem Funktionen für Änderungsmanagement und Dokumentationsaufgaben. Und: MySQL konvertiert Tabellen vom SQL Server in MySQL-Tabellen.

Weitere Informationen zum Thema MySQL finden Sie auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/MySQL

und auf der offiziellen Website von MySQL http://www.mysql.com/