Mit der Programmiersprache Java und dem dazugehörigen Ökosystem an Tools und Programmen lassen sich plattformunabhängige Anwendungen schnell und unkompliziert entwickeln. Für die Entwicklung werden neben einem Texteditor, auch das Java SE Development Kit (JDK) mit der entsprechenden Java-Laufzeitumgebung benötigt und selbstverständlich auch ein wenig Entwicklungsgeschick.

Allgemeine Informationen

Java zählt neben C-Sharp (C#) und C++ zu den bekanntesten Programmiersprachen. Mit der objektorientierten Sprache lassen sich plattformunabhängige, sogenannte „Cross Plattform-Anwendungen“ entwickeln. Zum Ausführen der Anwendungen wird kein bestimmtes Betriebssystem benötigt, sondern eine spezielle Softwareumgebung, nämlich die Java-Laufzeitumgebung (JRE). Da diese Laufzeitumgebung auf vielen Computern bereits vorinstalliert ist, ist die potenzielle Nutzerbasis dementsprechend sehr groß. Sollte die JRE auf einem Rechner nicht vorhanden sein, kann man Sie mit wenigen Klicks kostenlos von der offiziellen Website herunterladen. Aus diesem Grund stellt Java die Programmiersprache erster Wahl dar für plattformunabhängige Apps. In der Programmiersprache Java entwickelte Programme lassen sich sowohl unter Windows als auch unter MacOS, den verschiedensten Linux- und Unix-Derivaten und sogar auch im Webbrowser als Webapps ausführen. Dabei spielt die Prozessor-Architektur keine wesentliche Rolle, denn Java ist mit allen gängigen Prozessoren kompatibel, wie zum Beispiel x86, ARM oder PowerPC. Java ist stark an die beiden Programmiersprachen C++ und C# angelehnt, sodass sie für Entwickler, die sich mit diesen Sprachen befassen, leicht erlernbar ist.

Virtuelle Maschine

Die Unabhängigkeit wird durch die Java Virtual Machine (JVM) realisiert, die als Bestandteil der JRE fungiert. Diese virtuelle Maschine ist mit eigenen Routinen und Bibliotheken ausgestattet und funktioniert auf eine ähnliche Weise wie ein „echtes Betriebssystem“. Entwickeln mit Java bedeutet deshalb für die JVM zu entwickeln, völlig egal ob es sich bei dem darunterliegenden Computersystem um einen PC, Server, Mac oder ein mobiles Betriebssystem handelt. Denn sowohl der Quellcode als auch die kompilierte Form sind dabei auf allen Plattformen identisch und werden auf der JVM ausgeführt. Für die Entwicklung von Java-Programmen benötigen Sie einen Texteditor wie Vim, jEdit oder Sublime Text sowie zum Kompilieren des Quellcodes das JDK (Development Kit). Sie sollten jedoch Java nicht mit JavaScript verwechseln. Bei JavaScript handelt es sich um eine Skriptsprache, die in erster Linie in der Webentwicklung zum Einsatz kommt. JavaScript hat mit der objektorientierten Programmiersprache nur wenig zu tun.

Vorteile von Java im Überblick

Als objektorientierte Programmiersprache kommen bei Java wie bei C++ zwei wichtige Bestandteile zum Einsatz, und zwar:

–       der eigentliche Programmcode mit den eingebauten Funktionen, und

–       Klassen und Objekte als Datenelemente

Dank der strikten Trennung in Klassen und Objekte sowie die eigentliche Programmlogik wird die Entwicklung von Software-Produkten wesentlich erleichtert. Klassen und Objekte, die einmal erstellt werden, können jederzeit wiederverwendet werden. Java liefert im Rahmen der Virtual Machine standardmäßig eine Reihe nützlicher Klassen und Objekte, die sogenannten „Standardobjekte“. Darunter befinden sich u. a. Bibliotheken für Ton- oder Grafikausgabe, die von der Laufzeitumgebung automatisch an das jeweilige Betriebssystem angepasst und weitergereicht werden. Damit kommen wir zum wichtigsten Vorteil von Java: Die JVM sorgt dafür, dass einmal geschriebener Code, mit allen Versionen der Java Virtual Machine kompatibel ist und sich problemlos ausführen lässt.

Entwickler können dadurch nur eine Version erstellen, ohne dabei auf die Besonderheiten der einzelnen Betriebssysteme und Plattformen zu achten. Im Gegensatz zu C und C++, wo sich der Entwickler manuell um die Speicherverwaltung kümmern muss, verfügt Java über eine automatische Speicherverwaltung. Die sogenannte „Garbage Collection“ überprüft als unabhängiges Tool innerhalb der Java-Laufzeitumgebung in regelmäßigen Intervallen, ob belegte Speicherblöcke noch gebraucht werden. Werden diese nicht mehr benötigt, werden sie automatisch freigeräumt. Entwickler müssen sich also nicht um die Implementierung einer entsprechenden Routine kümmern.

Nachteile von Java im Überblick

Einer der größten Nachteile und Kritikpunkte vieler Entwickler an Java spiegelt sich im Zusammenhang mit dem Garbage Collector (GC) wider. Einerseits kann die Programmausführung durch den Garbage Collector verlangsamt werden, andererseits haben Entwickler keinen direkten Einfluss darauf, wann der GC ausgeführt wird. Hinzu kommt noch, dass durch den Einsatz des VM-Unterbaus Java für die Entwicklung von Echtzeitanwendungen (Real Time Applications), bei denen es auf zeitlich präzise Ausführung von Befehlen ankommt, weniger geeignet ist. Wenn der GC ausgeführt wird, kommt es in vielen Fällen zu Verzögerungen. Aus diesem Grund ist der Einsatz von Java tabu bei sicherheitsrelevanter Steuerungssoftware, wie beispielsweise in Industrieanlagen.

Das Virtual Machine-Modell ist trotz aller Vorteile, die es in Sachen Plattformunabhängigkeit mit sich bringt, auch gleichzeitig einer der größten Nachteile der Programmiersprache. Es sorgt durch den Unterbau für einen gewissen Performance-Verlust bei der Ausführung von Programmen. Falls Sie bereits eine Java-Anwendung verwendet haben, haben Sie auch sicherlich bemerkt, dass Java-Programme im Vergleich zu Anwendungen, die in C++ oder Python, geschrieben sind, relativ langsam sind. Durch die virtuelle Maschine haben Entwickler außerdem keinen direkten Zugriff auf die Systemhardware. Diese wird mittels der Runtime Environments angesprochen, die als Vermittler zwischen dem Programmcode und dem Computer fungiert. Dadurch kommt es zu Verzögerungen und es wird außerdem verhindert, dass von die JRE nicht unterstützte Hardwarefunktionen nicht genutzt werden können. Immerhin bringt das auch einen Vorteil mit sich: Falls eine Java-Anwendung abstürzt, wird im Normalfall die Runtime Environment mitgerissen, nicht jedoch das gesamte Betriebssystem.

Seamonkey ist ein Paket von Programmen für den Zugang zum Internet. Sie können damit Ihre E-Mail lesen und verwalten, im Internet surfen und mit einem IRC Client chatten. Darüber hinaus werden von Seamonkey noch Werkzeuge für Entwickler wie ein DOM Inspektor angeboten.

Im Gegensatz zu den heute am meisten verbreiteten Browsern und E-Mail Programmen bietet Seamonkey diese Programme in einem Paket an. Dieses besteht neben dem Browser und dem Mailclient auch aus einem Client für IRC und für Newsgroups. Ein technischer Vorteil besteht darin, dass die verschiedenen Teile des Pakets Programme gemeinsam benützen. Dadurch ergibt sich ein geringerer Speicherbedarf und eine schnellere Verarbeitung. Die Software ist quelloffen und gratis, wird aber von einer Entwicklergruppe ständig betreut und regelmäßig in neuen Versionen herausgebracht. Obwohl das Seamonkey Paket ein eigenes Projekt ist, verwendet es viele Programmteile des Webbrowsers Firefox und des Mailclients Thunderbird. Wie diese Programme ist auch Seamonkey für Windows, MacOS und Linux verfügbar.

Wie wird Seamonkey weiterentwickelt?

Diese Entwicklung erfolgt durch freiwillige Programmierer. Es gibt auch eine große Gemeinschaft von Testern, die neue Versionen ausprobieren und die Entwickler mit Berichten über Probleme und Fehler unterstützen. Das Paket Seamonkey ist in 22 Sprachen verfügbar und auch dieser Aufwand an Übersetzungen und Anpassungen wird von interessierten Nutzern geleistet.

Was sind Grenzen und Alternativen zu Seamonkey?

Seamonkey bietet einen Mailclient, aber keinen Mailserver. Der Mailclient bietet Funktionen zu Schreiben, Lesen und Verwalten von E-Mails, benötigt aber eine Verbindung zu einem Mailserver für die Übermittlung. Als Alternative können statt dem Paket auch die separaten Programme Firefox, Thunderbird oder auch Outlook eingesetzt werden. Die für Seamonkey verfügbaren Add-ons zeigen die enge Verbindung zu diesen Programmen, da sie auch für Seamonkey direkt von der Thunderbird Webseite herunterzuladen sind. Eine weitere Alternative zumindest für den Mail Client ist Microsoft Office365.

Gibt es Support für Seamonkey?

Da das Programmpaket von Freiwilligen betreut wird, ist auch der Support von diesen abhängig. Das bedeutet aber keinesfalls, dass er nicht gut erledigt wird. Neben einer Dokumentation in den verschiedenen Sprachen werden ein Forum und auch ein Blog mit Besprechungen neuer Funktionen und Versionen angeboten. Da man mit der quelloffenen Software sehr gut experimentieren kann, ist Seamonkey besonders für fortgeschrittene Benutzer, Entwickler und gewerbliche Nutzer interessant. Das soll andere mögliche Nutzer aber keineswegs abschrecken. Einen Eindruck von den erwarteten Computerkenntnissen vermittelt die Aufforderung, kein Update durchzuführen, sondern eine volle Version neu zu installieren. Fühlen Sie sich unwohl mit solchen Arbeitsschritten, empfiehlt sich eine Unterstützung durch erfahrenere Nutzer.

Was kann der Webbrowser ?

Er bietet einen mit vielen Browsern vergleichbaren Funktionsumfang. Insbesondere können Sie in einem Fenster mit verschiedenen Tabs mehrere Seiten gleichzeitig offenhalten und benutzen. Die Lesezeichen, der Browserverlauf und die Einstellungen können über mehrere Geräte synchronisiert werden, sodass diese Daten Ihnen überall in der neuesten Version zur Verfügung stehen. Ein Data Manager übernimmt die Verwaltung von Cookies und von Zugangsbeschränkungen. Popup Fenster können Sie blockieren, was irritierende Werbung wesentlich reduziert. Der Browser bietet auch die Möglichkeit zum Lesen von RSS Feeds.

Wie sieht der Mailclient aus?

Er unterstützt die Verwendung von mehreren E-Mail-Konten und bietet Tabs und Tags zur übersichtlichen Verwaltung Ihrer Nachrichten. Für die Abwehr von Junk und Spam werden eigene Filter verwendet, die selbständig lernen können und sich an ihre Nutzergewohnheiten anpassen. Damit werden diese Filter nach einiger Zeit immer besser im Herausfiltern der von Ihnen unerwünschten Mails. Antivirus Anwendungen können zur Filterung ebenfalls eingesetzt werden, allerdings stellen E-Mails in dieser Hinsicht kein großes Problem mehr dar.

Welche anderen Funktionen bietet Seamonkey?

Seamonkey bietet auch einen IRC Chat Klienten, der konfigurierbar ist und auch einen eigenen Kanal für Informationen über das Seamonkey Projekt anbietet. An Werkzeugen für Entwickler stehen als Add-ons ein DOM Inspektor und auch ein HTML Editor zur Verfügung. Der DOM Inspektor erlaubt einen strukturierten Zugriff auf HTML- und XML-Daten, die im Browserfenster dargestellt werden.

Als Nutzer von E-Mails sehen Sie meistens nur den Mail User Agent MUA, der zum Schreiben, Lesen und Verwalten von E-Mails dient. Die Weiterleitung der Nachrichten erfolgt durch einen Mailserver mit seinem wesentlichen Bestandteil MTA oder Mail Transfer Agent. Sendmail ist ein solcher Mailserver, der schon lange existiert und der auf den meisten Unix-ähnlichen Betriebssystemen vorinstalliert ist.

Was ist ein Mailserver?

Mailserver sind Programme, die Protokolle zum Austausch von E-Mails ausführen. Sie nehmen die Mails von MUAs entgegen, bereiten sie für die Übermittlung vor und senden sie. Ihr Mailserver hält auch die für Sie eingegangenen Mails zum Download bereit. Um diese Funktion sicherzustellen, muss der Mailserver ständig online sein.

Woher kommt der Mailserver Sendmail?

Die erste Version von Sendmail wurde in den frühen 80er-Jahren an der UC Berkeley als Teil des Unix Typs BSD entwickelt. Seit dem Jahr 2003 wird Sendmail von der Firma Proofpoint betreut. Neue Versionen werden von dieser Firma herausgebracht. Das Unternehmen bietet das für große Organisationen gedachte System Sentrion an und einen Teil davon als Sendmail. Dieser Teil ist immer noch quelloffen und gratis.

Die Installation von Sendmail

Das Programm ist oft bereit vorinstalliert, aber Sie möchten vielleicht eine neuere Version selbst installieren. Das erfolgt genauso wie die Installation jedes anderen Linuxpakets. Auch das Starten des Programms bietet keinerlei besondere Schwierigkeiten.

Anders sieht es mit der notwenigen Konfiguration von Sendmail aus. Das Programm steht im Ruf, dabei besondere Anforderungen zu stellen, was zumindest zum Teil durchaus richtig ist. Diese lassen sich allerdings auf ein beherrschbares Maß reduzieren, wenn einige Punkte beachtet werden.

Ein Grund für die aufwendige Konfiguration ist die Unterstützung von vielen alten Systemen und Protokollen, die heute keine Rolle mehr spielen. Die entsprechenden Optionen nehmen viel Platz in den Handbüchern ein, können aber von den weitaus meisten heutigen Benutzern ignoriert werden. Die Konfiguration wird also einfacher, wenn Sie sich auf das heute Wesentliche beschränken, was nicht nur möglich, sondern sehr empfehlenswert ist.

Der zweite Grund für den höheren Aufwand bei der Konfiguration ist die Verwendung einer eigenen Makrosprache. Mit dieser Makrosprache M4 modifizieren Sie eine geeignete Makrodatei und lassen den M4 Makroprozessor diese Datei für Sendmail verwendbar machen. Neben vielen anderen sind zum Beispiel Makrodateien für die verschiedenen unixoiden Systeme verfügbar. An der Beschäftigung mit den Grundideen der Makrosprache M4 kommen Sie also nicht ganz vorbei. Sendmail bietet aber sehr gute Testmöglichkeiten, mit denen Sie die Funktionsfähigkeit der Konfigurationsdatei überprüfen können.

Die Verwendung von Sendmail

Für das Versenden von E-Mails wird Sendmail direkt von Ihnen oder von Ihrem MUA gestartet. Dabei nimmt Sendmail die E-Mail vom MUA entgegen, formatiert die Adresse, fügt die Header an und versendet die Mail. Sie wird im Speicher gehalten, wenn der Mailserver des Empfängers nicht erreichbar ist und es werden mehrere Zustellversuche unternommen. Erst wenn alle Versuche fehlgeschlagen sind, bekommen Sie eine Fehlermeldung aufgrund der nicht erfolgreichen Zustellung.

Für das Entgegennehmen von E-Mails muss Sendmail als Prozess natürlich im Hintergrund ständig laufen und am Port 25 auf eingehende SMTP-Verbindungen lauschen. SMTP ist das heute üblicherweise verwendete E-Mail-Protokoll.

 

 

Ein MTA ist ein geeigneter Punkt, um Filterung von Spam und Schutz vor Schadprogrammen wie Viren zu implementieren. Auch dazu stehen Werkzeuge in Sendmail zur Verfügung, die ebenfalls entsprechend konfiguriert werden müssen.

Alternativen

Ein oft verwendeter Mailserver ist Microsoft Exchange. Auch er hat mittlerweile durch Skalierbarkeit für große Organisationen und durch besondere Unterstützung der Arbeit von ganzen Benutzergruppen an Komplexität stark zugenommen. Kleinere Unternehmen wollen daher oft keinen eigenen Mailserver betreiben und weichen in die Cloud aus. Eine Möglichkeit dazu ist Microsoft Office365. Diese Lösung beinhaltet auch einen Mailserver, der von Microsoft direkt betreut wird und Ihnen als Kunden über Webmail zur Verfügung steht.

 

IAS ist die Abkürzung für „International Accounting Standards“, auf Deutsch internationale Rechnungslegungsstandards. Dabei handelt es sich um eine Reihe von international vereinbarten Grundsätzen und Verfahren, die festlegen, auf welche Art und Weise die Rechnungslegung in kapitalmarktorientierten Unternehmen oder Konzernen erfolgen soll.

IAS – Basis für die Rechnungslegung internationaler Unternehmen

Im Zuge der seit Mitte der 1960er Jahre zunehmenden Globalisierung der Wirtschaft wurde deutlich, dass ein weltweit akzeptierter Rahmen für die auf internationaler Ebene konsistente, vergleichbare, zuverlässige und transparente Erstellung von Finanzunterlagen und -berichten notwendig ist. Diesen einheitlichen Rahmen bilden die bis 2001 veröffentlichten IAS und die nachfolgenden IFRS.

Wer ist für die IAS verantwortlich?

Die IAS wurden vom International Accounting Standards Committee (IASC) erstellt und herausgegeben. Das IASC wurde 1973 von Australien, Kanada, Frankreich, Deutschland, Japan, Mexiko, den Niederlanden und dem Vereinigten Königreich gegründet. 1989 veröffentlichte das IASC mit dem „Framework for the Preparation and Presentation of Financial Statements“ das erste internationale akzeptierte „konzeptionelle Rahmenwerk“, um Unternehmen bei der Rechnungslegung und Berichterstattung zu unterstützen. Bis zum Jahr 2001 wurden insgesamt 41 IAS Standards vom IASC entwickelt und veröffentlicht.

Ab dem Jahr 2001 wurde eine neue Reihe mit insgesamt 17 Standards entwickelt, die als International Financial Reporting Standards (IFRS) bezeichnet werden. Gleichzeitig erfolgte eine Umbenennung des International Accounting Standards Committee in International Accounting Standards Board (IASB). Seit dem 1. Dezember 2016 hat das IASB 14 Vorstandsmitglieder. Die Mitglieder werden für eine fünfjährige Amtszeit ernannt. Die Verfassung des IASB schreibt vor, dass jeweils vier Vorstandsmitglieder aus der Region Asien/Ozeanien, Europa, Nord- und Südamerika, ein Mitglied aus Afrika und ein weiteres aus einem beliebigen Gebiet stammen müssen. Die Mitglieder des IASB Boards müssen einerseits über praktische Erfahrung und andererseits über eine hohe fachliche Kompetenz in Bezug auf die Rechnungslegung großer Unternehmen verfügen.

Das IASB hat seinen Sitz in London und ist bis heute Herausgeber der aktuellen IFRS. Die älteren IAS werden vom International Accounting Standards Board regelmäßig überarbeitet und bei Bedarf aktualisiert. In der Europäischen Union sind die IFRS seit dem Jahr 2005 von kapitalmarktorientierten Unternehmen bei der Bilanzerstellung verpflichtend anzuwenden. Andere Unternehmen, die international tätig sind, von denen jedoch keine Aktien, Anleihen oder andere Wertpapiere an einer Börse gehandelt werden, können diese Standards ebenfalls anwenden, sind jedoch nicht dazu verpflichtet.

Warum wurden die IAS entwickelt?

Moderne Volkswirtschaften sind auf grenzüberschreitende Transaktionen und den freien Fluss von internationalem Kapital angewiesen. Mehr als ein Drittel aller weltweiten Finanztransaktionen finden heute grenzüberschreitend statt – mit steigender Tendenz. Investoren suchen weltweit nach Diversifizierungs- und Investitionsmöglichkeiten und Unternehmen beschaffen Kapital an den globalen Finanzmärkten, agieren zunehmend international und haben Tochtergesellschaften oder Niederlassungen in mehreren Ländern.

In der Vergangenheit wurden grenzüberschreitende Aktivitäten dadurch erschwert, dass verschiedene Länder ihre eigenen nationalen Rechnungslegungsstandards hatten. Dieser Flickenteppich unterschiedlicher Vorschriften erhöhte häufig die Kosten für internationale Transaktionen, die Komplexität der Abschlüsse und letztendlich das Risiko für Investoren und andere, die diese Abschlüsse für wirtschaftliche Entscheidungen verwenden.

Die Anwendung nationaler Rechnungslegungsstandards bedeutete, dass die im Jahresabschluss ausgewiesenen Beträge oft auf unterschiedlichen Grundlagen berechnet werden. Für Kapitalgeber und andere interessierte Personenkreise bedeutet dies, dass die Details der nationalen Rechnungslegungsstandards im Einzelnen untersucht werden müssen, da selbst ein geringer Unterschied in den Anforderungen bei der Rechnungslegung einen erheblichen Einfluss auf die veröffentlichte Leistung und finanzielle Lage eines Unternehmens haben kann.

Mit den IAS und den seit 2001 veröffentlichten IFRS wurden die Jahresabschlüsse transparenter und leichter vergleichbar. Die IAS und IFRS-Standards behandelt einzelne Themenbereiche der Rechnungslegung und empfehlen, wie bestimmte Transaktionen in der Rechnungslegung dargestellt werden sollten, Sie sorgen für Transparenz, indem sie die Qualität von Finanzinformationen vereinheitlichen und verbessern. Dies ermöglicht Anlegern und anderen Marktteilnehmern, fundierte wirtschaftliche Entscheidungen zu treffen. Die IAS und IFRS Standards verringern die Informationslücke zwischen den Kapitalgebern und den Unternehmen und Personen, denen sie ihr Geld anvertraut haben. Die Standards schreiben die Veröffentlichung von Informationen vor, die erforderlich sind, um das Management zur Rechenschaft zu ziehen.

Als Rahmen für global vergleichbare Informationen sind die IAS und IFRS-Standards auch für Aufsichtsbehörden auf der ganzen Welt von entscheidender Bedeutung. Nicht zuletzt tragen die Standards zur Wirtschaftlichkeit bei, indem sie Anlegern helfen, Chancen und Risiken zu identifizieren und so die Kapitalallokation zu verbessern. Für Unternehmen reduziert die Verwendung weltweit gültiger Standards die Kapitalkosten und senkt die Kosten für die internationale Berichterstattung.

Welche Vorteile bietet diese Rechnungslegung?

Die Mitgliedsländer der G20 und andere große internationale Organisationen sowie sehr viele Regierungen, Wirtschaftsverbände und Investoren unterstützen das Ziel eines einheitlichen Satzes von qualitativ hochwertigen, globalen Rechnungslegungsstandards. Unter anderem macht die Weltbank die Vergabe von Krediten davon abhängig, ob die IAS verwendet werden. In der Regel verlangen international tätige Investoren Abschlüsse, die auf Grundlage dieser Standards erstellt worden.

Dies hat dazu geführt, dass die IAS und IFRS trotz eines für viele Unternehmen zunächst erhöhten Aufwandes bei der Rechnungslegung heute weitgehend akzeptiert werden. Die IAS und IFRS ermöglichen Investoren und anderen interessierten Personenkreisen den unkomplizierten Vergleich von Unternehmen bei einem Unternehmensverkauf egal, in welchem Land das Unternehmen seinen Sitz hat. Diesen Vorteil wissen Investoren zu schätzen, wenn sie im Datenraum ein Unternehmen im Rahmen der Due Diligence bewerten.

Relationale Datenbanken, anders als MongoDB, wurden jahrzehntelang als die einzige Lösung zur Archivierung und Verwaltung elektronischer Daten angesehen. Nicht ohne Grund handelt es sich bei dem im Jahr 1995 veröffentlichten Datenbanksystem MySQL auch heute noch um das beliebteste Datenbank-Managementsystem für viele Webanwendungen.

Das kontinuierlich steigende Volumen an Daten, mit dem moderne Webanwendungen konfrontiert werden, bedarf jedoch neuer Ansätze und Lösungen. Genau diese Probleme versuchen Datenbanken mit nichtrelationalem Ansatz zu lösen, die sich allmählich zu ernsthaften Konkurrenten des traditionellen Modells entwickeln. Diese verteilten Systeme, wie beispielsweise das im Jahr 2009 erschienene MongoDB, basieren auf dokumentorientierten Prinzipien und werden als NoSQL-Datenbanken bezeichnet (Not only SQL), da sie auf den Einsatz der traditionellen Abfragesprache SQL völlig verzichten. Obwohl dies zwar höhere Ansprüche an die Anwendungsschicht stellt, erlaubt es jedoch den Datenbestand und Arbeitsprozesse auf verschiedene virtuelle Server zu verteilen, sodass sich diese modernen Systeme fast unbegrenzt skalieren lassen.

MongoDB im Detail

Das US-amerikanische Unternehmen 10gen mit Hauptsitz in Palo Alto im US-amerikanischen Bundesstaat Kalifornien begann im Jahr 2007 mit der Entwicklung von MongoDB, einer dokumentorientierten NoSQL-Datenbank, die zwei Jahre später in der finalen Version der breiten Öffentlichkeit vorgestellt wurde. Die Open-Source-Datenbank entwickelte sich binnen kürzester Zeit zu der beliebtesten NoSQL-Datenbank. Das Unternehmen 10gen, das jetzt als MongoDB Inc. firmiert, ist weiterhin für die Entwicklung, Verwaltung und den Vertrieb kommerzieller Lösungen verantwortlich.

Die NoSQL-Datenbank MongoDB ist in der Programmiersprache C++ entwickelt und speichert Daten im binären JSON-Format „BSON“, das sich im hohen Maße am JSON-Format (JavaScript Object Notation) orientiert. Dadurch werden sämtliche JS-Datentypen unterstützt, weshalb MongoDB in erster Linie in NodeJS-Anwendungen eingesetzt wird. Eine MongoDB-Datenbank setzt sich aus einer oder mehreren Datensammlungen zusammen, die unterschiedliche Dokumente mit unendlich vielen und verschiedenen Datenfeldern verwalten.

In vielen Distributionen ist die Mongo Shell standardmäßig enthalten. Dabei handelt es sich um einen Client, mit dem sich der Zugriff via Kommandozeile realisieren lässt. Darüber hinaus lässt sich eine webbasierte Administrationsoberfläche aktivieren und direkt im Webbrowser aufrufen. Zusätzlich sind verschiedene Nutzeroberflächen erhältlich, wie beispielsweise:

–       MongoChef

–       MongoClient

–       RoboMongo

Mit diesen Tools können Sie die Daten grafisch anzeigen lassen und bearbeiten. MongoDB ist mit allen aktuellen Windows-, Linux- und MacOS-Systemen kompatibel.

Datenbankenmodelle im Vergleich: NoSQL vs. SQL

Anders als relationale Datenbanken verfolgt MongoDB einen dokumentorientierten Ansatz und geht dementsprechend ganz andere Wege bei der Speicherung der Daten. Die Grundstruktur weist jedoch gewisse Ähnlichkeiten auf:

–       Die Daten werden anstatt in Tabellen in Sammelmappen, den sogenannten „Collections“ gespeichert.

–       Die Spalten der SQL-Tabellen werden durch Zeilen ersetzt, die durch Dokumente im BSON-Format definiert werden.

–       Ein Feld setzt sich dabei immer aus einem Paar zusammen, und zwar einem Schlüssel, der den Namen des Feldes darstellt, und dem jeweiligen Wert.

Bei einem MongoDB-Dokument handelt es sich also um eine Sammlung von Schlüssel-Werte-Paaren. Der bedeutendste Unterschied zwischen NoSQL- und SQL-Systemen spiegelt sich jedoch in der Tatsache wider, dass MongoDB-Dokumente keinem festen Schema folgen. Dokumente in einer NoSQL-Datenbank haben ihre eigene einzigartige Struktur. Dadurch können jederzeit neue Felder mit neuen Werten hinzugefügt werden, was bei einer SQL-Datenbank wie MySQL undenkbar wäre und eine komplette Umstrukturierung des Systems erfordern würde.

Wo wird MongoDB eingesetzt?

Die hoch performante Datenbank ist immer dann eine gute Wahl, wenn Sie Webanwendungen realisieren möchten, die auf einer großen Menge unstrukturierter Daten basieren. Der dokumentbasierte Ansatz und die Tatsache, ohne an ein festes Schema gebunden zu sein, ermöglicht, dass unterschiedliche Datentypen schnell verarbeitet und gespeichert werden können. MongoDB kann außerdem nahezu unbegrenzt skaliert werden, da sich die Datenbank schnell und unkompliziert auf mehrere virtuelle Server verteilen lässt, ohne die Performance einzuschränken. Um die Verfügbarkeit und Sicherheit der gespeicherten Daten zu gewährleisten stellt MongoDB mehrere Mechanismen zur Verfügung.

Der Einsatz von MongoDB kann dementsprechend für alle Webanwendungen empfohlen werden, bei denen folgende Kriterien wichtig sind:

–       Flexibilität: Das Webprojekt soll jederzeit dynamisch modifiziert werden können.

–       Skalierbarkeit: Wenn die Anzahl Ihrer Nutzer steigt, wird auch dementsprechend die Zahl der Anfragen größer.

–       Verfügbarkeit: Die Webanwendung soll jederzeit in der Lage sein, Dienste Ihren Nutzern zur Verfügung zu stellen, selbst im Falle Serverausfalls.

In der Verteilung der Daten auf mehrere virtuelle Server besteht der wesentliche Unterschied zwischen MongoDB und relationalen Datenbanken: Nach der Speicherung der Daten bleibt ein kurzes Zeitfenster offen, in dem nachfolgende Lesezugriffe nur auf den alten Datenbestand zurückgreifen können. Dieses Konsistenzmodell wird als „Eventual Consistency“ bezeichnet.  Es stellt die Funktionalität zur Verfügung, das virtuelle Datenbanken-Server, die Teil eines größeren Datenbank-Clusters sind, Schreibzugriffe von Webanwendungen zulassen können, wenn sie vom Cluster getrennt sind.

IT-Sicherheit ist ein Thema, um das sich Verantwortliche in jedem Unternehmen, das Daten digital verarbeitet, Gedanken machen sollten. Doch im Alltag besteht die Gefahr, dass es beim guten Vorsatz bleibt, wenn nicht explizit ein Mitarbeiter, als IT-Sicherheitsbeauftragter, mit dieser Aufgabe betraut wird. Daher gibt es die Möglichkeit, einen Mitarbeiter vorzusehen, der sich haupt- oder nebenamtlich darum kümmert, das eigene System abzusichern.

Muss jedes Unternehmen einen IT-Sicherheitsbeauftragten bestellen?

IT-Sicherheit ist vom Datenschutz zu unterscheiden. Der eine Bereich umfasst die Absicherung der IT-Infrastruktur, der andere den Umgang mit personenbezogenen Daten. Zu trennen sind beide Felder dennoch nicht. Bei einem Systemeinbruch durch einen Hacker, sind meistens auch persönliche Daten von Kunden und Mitarbeitern betroffen. Für die meisten Firmen gibt es zwar keine Pflicht, einen IT-Sicherheitsbeauftragten zu bestellen. Wenn aber Daten abfließen konnten, weil eklatante Sicherheitsmängel in der IT vorlagen, kann eine Haftung der Geschäftsführung gegeben sein. Diese kann sich, je nach Rechtsform des Unternehmens, aus nachfolgenden Gesetzen ergeben:

-Gesetz betreffend die Gesellschaften mit beschränkter Haftung (GmbHG),

-dem Aktiengesetz (AktG),

-Gesetz zur Kontrolle und Transparenz im Unternehmensbereich (KonTraG).

Für Unternehmen, die eine Tätigkeit im Bereich der kritischen Infrastrukturen (KRITIS) ausüben, ist die Benennung eines IT-Sicherheitsbeauftragten ohnehin vorgeschrieben. Dies ist im IT-Sicherheitsgesetz festgelegt (IT-SIG). Zu den Unternehmen zählen beispielsweise Energieerzeuger, Telekommunikationsanbieter und Wasserwerke.

Wo ist ein IT-Sicherheitsbeauftragter angegliedert?

Die Rolle des IT-Sicherheitsbeauftragten ist nicht starr festgeschrieben. Dies ist beim Datenschutz anders. Die Rechte und Pflichten des Datenschutzbeauftragten sind im Bundesdatenschutzgesetz in den Paragraphen 6 und 7 festgelegt. Unter anderem ist dort geregelt, dass er rechtzeitig in Entscheidungen eingebunden werden soll und nicht weisungsgebunden sein darf.

Es ist sinnvoll, sich daran zu orientieren. Ein IT-Sicherheitsbeauftragter sollte direkt der Geschäftsführung unterstellt sein. Handelt es sich um einen Mitarbeiter der IT-Abteilung, besteht die Gefahr, dass es zu Interessenskonflikten kommt. Zudem sollte er standardmäßig gehört werden, bevor im IT-Bereich Entscheidungen getroffen werden. Außerdem muss ihm die Möglichkeit gegeben werden, auf die für seine Tätigkeit notwendigen Informationen Zugriff zu bekommen. Daher muss er freien Zutritt zu allen Bereichen haben und Zugriff auf die Systeme bekommen. Sinnvoll ist es auch, ihm das Recht zu geben, Kontrollen durchzuführen.

Welche Aufgaben erfüllt ein IT-Sicherheitsbeauftragter?

Grundsätzlich soll ein IT-Sicherheitsbeauftragter über Aufbau und Struktur der Informationstechnik im Unternehmen Bescheid wissen. Ihm obliegt es, sich zu Beginn seiner Tätigkeit einen kompletten Überblick zu verschaffen. Dazu muss er genau wissen, wie und wo Daten erhoben und weiterverarbeitet werden. Es ist für ihn notwendig, Kenntnis zu haben, welche Systeme und was für Hardwareprodukte eingesetzt werden. Zudem muss er die Schnittstellen zwischen den einzelnen Bereichen kennen. Dieses Wissen muss er laufend aktualisieren.

Darüber hinaus muss er über die aktuelle Bedrohungslage informiert sein. Nur so ist ihm möglich, die konkrete Gefährdung des eigenen Unternehmens einzuschätzen. Dies kann sich auf Schadsoftware, wie beispielsweise als Mailanhänge kursierende Verschlüsselungstrojaner beziehen. Ebenso aber auch auf unsichere Hardware, wie zum Beispiel eingesetzte Router, deren Verschlüsselung angreifbar ist.

Aus diesen Informationen soll ein IT-Sicherheitsbeauftragter konkrete Maßnahmen zur Einhaltung und Verbesserung der Datensicherheit entwickeln und vorschlagen. Dies sollte in Form von Richtlinien oder eines Maßnahmenkatalogs geschehen. Wichtig ist es, die Schutzziele und Maßnahmen zur Einhaltung zu dokumentieren. Nur so kann das Unternehmen im Schadensfall nachweisen, dass es Vorkehrungen getroffen hat und nicht fahrlässig gehandelt wurde.

Als Orientierung kann hierbei die Beschreibung eines Informationssicherheitsmanagements (ISMS) vom Bundesamt für Sicherheit in der Informationstechnik (BSI) dienen. Dort sind mögliche Gefahren systematisch in den Grundschutzkatalogen aufgelistet. Dies betrifft Elementarschäden wie Feuer und Wasser, aber auch Datenverlust durch Fehlbedienung oder Sabotage. Zudem werden dort konkrete Einschätzungen der Gefährdung von Geräten mit spezifischen Betriebssystemen gegeben. In der Folge sind dort Maßnahmen beschrieben, die zur Absicherung einzelner Endgeräte empfohlen werden.

Weitere Orientierungen können an den Normen:

– ISO/IEC 27001 (IT-Sicherheitsverfahren, Informationssicherheits-Managementsysteme, Anforderungen, zuletzt aktualisiert im Juni 2017) und

-ISO/IEC 27002 (IT-Sicherheitsverfahren – Leitfaden für das Informationssicherheits-Management, zuletzt aktualisiert im Oktober 2013)

erfolgen.

Die Umsetzung der vorgeschlagenen Maßnahmen wird in der Praxis nach Beratung mit der Geschäftsführung geschehen. Schließlich können durch Austausch unsicherer Hardware oder Umstrukturierung von Arbeitsabläufen Kosten entstehen.

Zudem sollten vorgegebene Richtlinien auch in Audits oder Revisionen kontrolliert werden.

Weiterhin muss ein IT-Sicherheitsbeauftragter den Mitarbeitern als Ansprechpartner zur Verfügung stehen. Sie sollen ihm aufkommende Fragen, die IT-Sicherheit betreffend, stellen können. Auch Schulungen der Mitarbeiter führt ein IT-Sicherheitsbeauftragter durch.

Bei konkreten Gefährdungen, soll er kurzfristige Warnungen und Verhaltenshinweise an die Mitarbeiter herausgeben.

Zudem erstellt ein IT-Sicherheitsbeauftragter, Pläne für das Verhalten im Schadensfall und macht diese den Mitarbeitern zugänglich.

Voraussetzungen für den IT-Sicherheitsbeauftragten

In gewisser Weise muss ein IT-Sicherheitsbeauftragter Allrounder im IT-Bereich sein. Er benötigt das notwendige Fachwissen im gesamten überwachten Bereich. Um Kontrollen durchführen zu können, muss er in der Lage sein, die verwendeten Systeme auch selber zu bedienen. Zudem müssen seine Vorschläge zur Verbesserung praxistauglich sein, was ebenfalls entsprechende Kenntnisse voraussetzt.

Darüber hinaus muss er über aktuelle Entwicklungen in der Hardware, hier insbesondere in sicherheitsrelevanten Belangen, informiert sein.

Insbesondere aber muss er Kenntnisse im Bereich der IT-Security haben. Angriffe lassen sich am wirksamsten abwehren, wenn man weiß, wie sie im Detail funktionieren. Auch kann nur dann eine Überprüfung der eigenen Systeme auf eine Anfälligkeit erfolgen.

Einige Universitäten bieten Studiengänge mit Spezialisierung auf den Bereich an. Zudem gibt es diverse Anbieter von Fortbildungen und Zertifizierungen für dieses Tätigkeitsfeld.

Für kleine und mittelständische Unternehmen ist die Variante interessant, einen IT-Sicherheitsbeauftragten von einem externen Dienstleister zu verpflichten. Dies vermeidet den Schulungsaufwand eigener Mitarbeiter. Zudem kann es eine objektive Herangehensweise garantieren, wenn eine externe Person die Aufgabe übernimmt. Diese wird üblicherweise keine persönlichen Bindungen zu den Mitarbeitern haben und auch gegenüber der Geschäftsführung unbefangener auftreten. Weiterhin hat dieses Modell einen Vorteil, wenn die Größe der eigenen IT-Landschaft es nicht rechtfertigt, einen Mitarbeiter komplett mit der Aufgabe der IT-Sicherheit zu betrauen.

Fazit

Jedes Unternehmen tut gut daran, sich mit dem Thema zu beschäftigen, ob ein IT-Sicherheitsbeauftragter bestellt werden soll. Einerseits trägt es die Verantwortung für die ihm anvertrauten Daten, was bis zu einer persönlichen Haftung der Geschäftsführung bei Missbrauch führen kann. Andererseits gibt es inzwischen Bedrohungen, wie Verschlüsselungstrojaner, die auch umsichtige und vorsichtige Unternehmen betreffen und erhebliche Schäden anrichten.