Skip to content
Permalink
ac95601dfb
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 69 lines (32 sloc) 7.49 KB
\section{Softwareentwurf}
% Anforderungen
\subsection{Programmaufbau}
Die neue entwickelte Software kann mit Screenly mehrere Bildschirme verwalten. Es ist möglich, dass alle denselben Inhalt haben. Dies funktioniert auch dann, wenn einige Bildschirme unter anderem gemeinsame Inhalte anzeigen sollen. Diese Software erleichtert die Verwaltung des Screenly erheblich. Die Bereitstellung soll aber von Linux-Experte gemacht werden, da es um eine Installation von Apache-Server handelt, das bedeutet, es sollte zusätzlich einen Linux Server aufgesetzt werden, diese Aufgabe könnte aber auch von einen anderen \rpi erledigt werden. Der Server stellt ein Verzeichnis bereit, das sowohl vom Screenly als auch von den Benutzern erreicht werden kann. Alles was unter diesem Verzeichnis gespeichert, wird alle eine Minute auf dem \rpi synchronisiert, in diesem Verzeichnis können Textdateien, Bilder und Videos kopiert werden. Eine Textdatei wird ein Link von einer Internet-Seiten enthalten, nur die erste Zeile in den Textdateien wird übernommen und überprüft, ob sie auf eine gültige Internet-Seiten zuweist. Videos und Bilder werden ebenfalls als Video und Bild angezeigt. Das Skript prüft regelmäßig auf Änderungen in den Dateien, indem es das Änderungsdatum regelmäßig vergleicht.
Die Sicherheitsupdates werden regelmäßig durch einen Cron-Job ausgeführt.
\subsubsection{Kommunikation zwischen den Einzelkomponenten}
\paragraph{SQLite}:\\
Screenly speichert die Informationen von den Assets in einer SQLite Datenbank, Dies sind unter anderem das Verzeichnis, Dauer ,play-order, start- und end-Date aller Assets.
Im Gegensatz zu anderen Datenbank-Management-Systemen verwendet SQLite keinen eigenen Serverprozess und bedarf keiner Vorkonfiguration nach der Installation. SQLite verwaltet eine komplette Datenbank in einer Datei und greift während der Verarbeitung nur auf diese Datei zurück. Der Code für SQLite ist gemeinfrei und kann daher für jeden kommerziellen oder privaten Zweck verwendet werden. SQLite ist die am weitesten verbreitete Datenbank der Welt mit mehr Anwendungen, als wir zählen können, einschließlich mehrerer hochkarätiger Projekte.
SQLite ist ein Embedded SQL-Datenbankmodul. Im Gegensatz zu den meisten anderen SQL-Datenbanken hat SQLite keinen separaten Serverprozess. SQLite liest und schreibt direkt in gewöhnliche Festplattendateien. Eine vollständige SQL-Datenbank mit mehreren Tabellen, Indizes, Triggern und Ansichten ist in einer einzelnen Festplattendatei enthalten. Das Datenbankdateiformat ist plattformübergreifend - Sie können eine Datenbank frei zwischen 32-Bit- und 64-Bit-Systemen oder zwischen Big-Endian- und Little-Endian-Architekturen kopieren. Diese Funktionen machen SQLite zu einer beliebten Wahl als Anwendungsdateiformat. SQLite-Datenbankdateien werden von der US Library of Congress als Speicherformat empfohlen. Stellen Sie sich SQLite nicht als Ersatz für Oracle vor, sondern als Ersatz für fopen ().
SQLite ist eine kompakte Bibliothek. Wenn alle Funktionen aktiviert sind, kann die Bibliotheksgröße weniger als 600 KB betragen, abhängig von der Zielplattform und den Einstellungen für die Compileroptimierung. (64-Bit-Code ist größer. Bei einigen Compileroptimierungen wie aggressivem Inlining von Funktionen und dem Auflösen von Schleifen kann der Objektcode erheblich größer sein.) Es besteht ein Kompromiss zwischen Speichernutzung und Geschwindigkeit. SQLite läuft in der Regel schneller, je mehr Speicher Sie zur Verfügung stellen. Trotzdem ist die Leistung in der Regel auch in Umgebungen mit wenig Arbeitsspeicher recht gut. Abhängig davon, wie es verwendet wird, kann SQLite schneller sein als direkte Dateisystem I/O.
SQLite wird vor jeder Veröffentlichung sehr sorgfältig getestet und gilt als sehr zuverlässig. Der größte Teil des SQLite-Quellcodes ist ausschließlich dem Testen und Verifizieren gewidmet. Eine automatisierte Testsuite führt Millionen und Abermillionen von Testfällen aus, an denen Hunderte Millionen einzelner SQL-Anweisungen beteiligt sind, und erreicht eine 100-prozentige Zweigstellentestabdeckung. SQLite reagiert ordnungsgemäß auf Speicherzuordnungsfehler und Festplatten-E / A-Fehler. Transaktionen sind ACID, auch wenn sie durch Systemabstürze oder Stromausfälle unterbrochen werden. All dies wird durch die automatisierten Tests mit speziellen Testbäumen verifiziert, die Systemausfälle simulieren. Natürlich gibt es trotz all dieser Tests immer noch Fehler. Aber im Gegensatz zu einigen ähnlichen Projekten (insbesondere kommerziellen Wettbewerbern) ist SQLite offen und ehrlich in Bezug auf alle Fehler und bietet Fehlerlisten und minutengenaue Chronologien von Codeänderungen.
Die SQLite-Codebasis wird von einem internationalen Team von Entwicklern unterstützt, die in Vollzeit an SQLite arbeiten. Die Entwickler erweitern weiterhin die Funktionen von SQLite und verbessern dessen Zuverlässigkeit und Leistung, während die Abwärtskompatibilität mit den veröffentlichten Schnittstellenspezifikationen, der SQL-Syntax und dem Datenbankdateiformat erhalten bleibt. Der Quellcode ist für jeden, der ihn möchte, absolut kostenlos, es steht jedoch auch professioneller Support zur Verfügung.
Das SQLite-Projekt wurde am 09.05.2000 gestartet. Die Zukunft ist immer schwer zu prognostizieren, aber die Entwickler beabsichtigen, SQLite bis zum Jahr 2050 zu unterstützen. Designentscheidungen werden unter Berücksichtigung dieses Ziels getroffen.
Wir, die Entwickler, hoffen, dass Sie SQLite nützlich finden, und wir bitten Sie, es gut zu verwenden: gute und schöne Produkte herzustellen, die schnell, zuverlässig und einfach zu verwenden sind. Suchen Sie Vergebung für sich selbst, wie Sie anderen vergeben. Und so wie Sie SQLite kostenlos erhalten haben, so geben Sie auch kostenlos und zahlen die Schulden nach vorne.
SQLite ist eine Embedded SQL-Datenbankanwendung, die die SQL-Datenbanksprache verwendet, von der die meisten im SQL-92-Standard implementiert sind und die alle Funktionen vollständig testet.\clearpage
\paragraph{WebDAV}
Es ist ein Protokoll, mit dem Daten über das Netzwerk übertragen werden können. WebDAV steht für "Web Distributed Authoring and Versioning"
Das WebDAV1-Protokoll bietet Benutzern ein Framework zum Erstellen, Ändern und Verschieben von Dokumenten auf einem Server. Zu den wichtigsten Funktionen des WebDAV-Protokolls gehören die Verwaltung von Eigenschaften zu einem Autor oder Änderungsdatum, die Namespace-Verwaltung, Sammlungen und der Überschreibschutz. Die Verwaltung von Eigenschaften umfasst das Erstellen, Entfernen und Abfragen von Dateiinformationen. Die Namespace-Verwaltung befasst sich mit der Möglichkeit, Webseiten im Namespace eines Servers zu kopieren und zu verschieben. Sammlungen befassen sich mit dem Erstellen, Entfernen und Auflisten verschiedener Ressourcen. Schließlich behandelt der Überschreibschutz Aspekte im Zusammenhang mit dem Sperren von Dateien.
\subsubsection{Programmablauf}
\subsection{Wahl der Programmiersprache}
Um diesen Skript zum laufen zu bringen wurde eine Programmiersprache ausgesucht, die mit dem \rpi kompatible ist. Als Wahl war Python
In diesem Arbeit wurde die Programmiersprache Python verwendet,
\subsubsection{Vergleich mit anderen Programmiersprachen.}
\subsubsection{Externe Module und Pakete}
Welche externe Bibliotheken habe ich hier verwendet?
Was bieten diese?
Wie wurde dein Arbeit ohne diesen aussehen?
Was können sie noch?
was gibt es noch von alternativen? und was sind die Unterschiede?
\subsection{Programmentwicklung}
\subsubsection{Auswahl der Module}