Software Engineering - Backend Flashcards
Inhalt: Backend
Middleware (6)
(1) Software für Datenaustausch zwischen Anwendungsprogrammen, unter verschiedenen Betriebssystemen oder in heterogenen Netzwerken (“Interoperabilität”).
(2) Organisiert Transport von komplexen Daten (Messaging).
(3) Vermittelt Funktionsaufrufe zwischen Komponenten (Remote Procedure Calls).
(4) Stellt Transaktionssicherheit über ansonsten unabhängige Subsysteme her (Funktion als Transaktionsmonitor).
(5) Verbirgt Komplexität von Anwendungen und ihrer Infrastruktur.
(6) Beispiele: CORBA, Java EE oder Microsoft .NET
Webserver (5)
(1) Auslieferung von statischen Inhalten oder dynamisch generierten Daten über HTTP (80) oder HTTPS (443).
(2) HTML-Seite mit verknüpften Designbeschreibungen (CSS) und Bilddateien (JPG, PNG, GIF, SVG).
(3) Dynamische Inhalte über Skriptsprachen wie ASP, PHP oder JSP
(4) Webserver: Apache HTTP Server, nginx, Microsoft Internet Information Services und Google Web Server.
(5) Funktionen: HTTP-Authentifizierung, HTTP-Cookie-Verwaltung über Header oder Javascript, Weiterleitung von Anfragen über Rewrite-Engine, HTTP-Statuscodes/Fehlerseiten, Server-Protokolldateien, Konfiguration über .htacces-Dateien, HTTP-Caching (Client/Proxy)
Webspace (2)
(1) Speicherplatz für Dateien auf einem Server, auf den permanent über das Internet zugegriffen werden kann.
(2) Bereitstellung mittels Webhosting-Provider.
Software Pflege und Wartung (3)
(1) Modifikation eines Softwareprodukts nach seiner Auslieferung, um Fehler zu korrigieren, die Leistung oder andere Eigenschaften zu verbessern oder Anpassungen an die veränderte Umgebung vorzunehmen.
(2) Der größte Teil des Aufwands des Software-Lebenszyklus.
(3) Jährliche Kosten von etwa 10 % bis 30 % der Investitionssumme der Software.
Software-Lebenszyklus (3)
(1) Prozess der Softwareentwicklung mit dem Ziel, eine Software für den Kunden bereitzustellen.
(2) Zyklus beginnt mit kundenseitiger Problemdefinition und deren Analyse und endet auf Kundenseite mit der Ablösung der Software durch einen Nachfolger.
(3) 7 Phasen: Problemdefinition, Planung/Konzept, Implementierung, Testen, Einführung, Wartung, Änderung
Java EE (5)
(1) Java EE = Java-Plattform, Enterprise Edition (Middleware/interoperabel)
(2) Spezifikation einer Software-Architektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web-Anwendungen.
(3) Erfordert eine spezielle Infrastruktur als Laufzeitumgebung, einen Java EE Application Server.
(4) Open-Source und kommerzieller Server verfügbar.
(5) Kommerzielle Beispiele: SAP NetWeaver Anwendungsserver, SAP Cloud Platform, Oracle Anwendungsserver, Oracle Weblogik, IBM Websphere
*(6) Funktionen: Sicherheit,
Transaktionsverwaltung,
Namens- und Verzeichnisdienste,
Kommunikation zwischen Java EE-Komponenten,
Persistenzdienste für die Langzeitspeicherung von Java-Objekten,
Verwaltung der Komponenten über den gesamten Lebenszyklus (einschließlich Instanziierung),
Unterstützung bei der Installation (Bereitstellung)