Projekt Message-Logger



Ähnliche Dokumente
Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Softwareentwicklungspraktikum Sommersemester Grobentwurf

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

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

DOKUMENTATION PASY. Patientendaten verwalten

MailUtilities: Remote Deployment - Einführung

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Outlook Web App Kurzanleitung. Zürich, 09. Februar Eine Dienstabteilung des Finanzdepartements

SharePoint Demonstration

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

:: Anleitung Hosting Server 1cloud.ch ::

Projekt Management Plan

Neues Modul für individuelle Anlagen. Änderung bei den Postleitzahl-Mutationen

HTBVIEWER INBETRIEBNAHME

ASDI Benchmarking Projekt. Anleitung zum Datenexport

How to do? Projekte - Zeiterfassung

Kundenanforderungen. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Datensicherung. mit. Ocster Backup Pro. it.kröger Hinweis:

SDD System Design Document

XPubInDesign CS2-PlugIn

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Outlook Web App 2010 Kurzanleitung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

ArchivCam / MotionCam

Software-Lizenzierung und Aktivierung: Verteilen von Software mit Apple Remote Desktop

Fax einrichten auf Windows XP-PC

BUILDNOTES TOPAL FINANZBUCHHALTUNG

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf:

Task: Nmap Skripte ausführen

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Lizenz-Server überwachen

SMS-Versand in MACS Einrichtung des SMS-Versand Verwendung des SMS-Versandes Der SMS-Versand Empfängerfeld Empfänger-Rufnummer Inhalt der SMS

OP-LOG

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Verschlüsselung

ISA Einrichtung einer DFUE VErbindung - von Marc Grote

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Software zum Registrieren und Auswerten von Projektzeiten im Netzwerk

Adami CRM - Outlook Replikation User Dokumentation

Herzlich Willkommen bei der nfon GmbH

Solution Manager Kurzanleitung

Firewalls für Lexware Info Service konfigurieren

Persönliches Adressbuch

Materialupload. Verwalten von Unterrichtsmaterialien. über das STiNE-Webportal. Universität Hamburg Tor zur Welt der Wissenschaft

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

K. Hartmann-Consulting. Schulungsunterlage Outlook 2013 Kompakt Teil 1

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

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

ARCHIV- & DOKUMENTEN- MANAGEMENT-SERVER DATEIEN ARCHIVIEREN

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

Updatehinweise für die Version forma 5.5.5

Hilfe zur Dokumentenverwaltung

Anleitung für TYPO Bevor Sie beginnen Newsletter anlegen Inhalt platzieren und bearbeiten Neuen Inhalt anlegen...

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

ecaros2 - Accountmanager

Ihr CMS für die eigene Facebook Page - 1

Benutzerhandbuch website Services

Tevalo Handbuch v 1.1 vom

Facharbeit Informatik. Thema:

Urlaubsregel in David

Access Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Tipps und Tricks zu Netop Vision und Vision Pro

Dokumentation: Balanced Scorecard

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

MSSQL Server Fragen GridVis

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Anleitung zur Nutzung des SharePort Utility

Outlook 2000 Thema - Archivierung

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

ABACONNECT VERWENDUNG VON APACHE TCPMON UTILITY MIT ABACONNECT WEBSERVICES

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

SJ OFFICE - Update 3.0

Datensicherung EBV für Mehrplatz Installationen

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

PAUL App. Anleitung für Studierende und Lehrende

Lizensierung ABB i-bus Newron Commissiong Tool

ARAkoll 2013 Dokumentation. Datum:

Neue Steuererklärung 2013 erstellen

Kommunikations-Management

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

Orientierungshilfen für SAP PI (Visualisierungen)

Rillsoft Project - Installation der Software

Zusatzmodul Lagerverwaltung

Support-Ticket-System. - Anleitung zur Benutzung -

PCE-USM RS USB Logger

Local Control Network Technische Dokumentation

Transkript:

M o d u l S o f t w a r e k o m p o n e n t e n T A. S W K. F 1 0 0 1 Projekt Message-Logger S y s t e m s p e z i f i k a t i o n Horw, 06.06.2010

Projekt Dokument Schule Modul Projektteam Dozenten Letzte Änderung Projekt Message-Logger Systemspezifikation, TA.SWK.F1001 Galliker Thomas Studiengang Informatik (BB) Panorama 6123 Geiss Tel. +41 79 504 80 70 thomas.galliker@stud.hslu.ch Stocker Elias Studiengang Informatik (BB) Schybenacherweg 12 6285 Hitzkirch Tel. +41 79 603 10 89 elias.stocker@stud.hslu.ch Prof. Jud Martin 6. Juni 2010, 19:19:00 Uhr Gasser Martin Studiengang Informatik (BB) Mettenwilhöhe 4 6275 Ballwil Tel. +41 79 755 04 32 martin.gasser@stud.hslu.ch Änderungsprotokoll Version Datum Autor Beschreibung 0.1 10.03.2010 gat Initialversion von Vorlage erstellt 0.2 12.03.2010 ste Konfigurationsmanagement 0.3 18.03.2010 gat Systemübersicht 0.4 02.04.2010 gat Komponentendiagramm 0.5 09.04.2010 gat Klassendiagramme, Schnittstellenspezifikation 0.6 19.04.2010 gat Sequenzdiagramme 0.7 14.05.2010 gat Deploymentdiagramm 0.8 15.05.2010 gat Anpassungen für Iteration 2 0.9 18.05.2010 gam Designentscheide eingefügt

Inhalt 1 Einleitung...4 1.1 Ziel & Zweck dieses Dokuments...4 1.2 Begriffe & Abkürzungen...4 2 Systemübersicht...5 3 Softwarearchitektur...6 3.1 Komponenten...6 3.2 Klassen...6 3.2.1 Test-Applikation...6 3.2.2 Logger...7 3.2.3 CorbaLogger...7 Viewer...8 3.2.4 Server...8 3.3 Sequenzielle Abläufe...9 3.4 Softwareverteilung...10 3.5 Schnittstellenspezifikation...10 4 Design-Entscheide...13 4.1 Persistieren der Log-Messages...13 Abbildungsverzeichnis Abbildung 1: Systemübersicht als Komponentendiagramm...5 Abbildung 2: Komponentendiagramm...6 Abbildung 3: Klassendiagramm der Test-Applikation...7 Abbildung 4: Klassendiagramm der Logger-Komponente...7 Abbildung 5: Klassendiagramm der Viewer-Komponente...8 Abbildung 6: Klassendiagramm der Server-Komponente...8 Abbildung 7: Sequenzdiagramm Aufzeichnen von Log-Nachrichten...9 Abbildung 8: Sequenzdiagramm Anzeigen von Log-Nachrichten...9 Abbildung 9: Deployment-Diagramm...10 Abbildung 10: Klassendiagramm der definierten Schnittstellen...12 Tabellenverzeichnis Tabelle 1: Begriffserklärungen...4 Tabelle 2: Abkürzungserklärungen...4 Tabelle 3: Interne und externe Schnittstellen...11

Systemspezifikation Einleitung 1 Einleitung 1.1 Ziel & Zweck dieses Dokuments In diesem Dokument ist der Aufbau der Loggerkomponente und deren Umsysteme beschrieben. Ein wichtiger Teil davon ist die Softwarearchitektur. 1.2 Begriffe & Abkürzungen Begriff Erklärung Tabelle 1: Begriffserklärungen Abkürzung Erklärung HSLU SWK "Softwarekomponenten"; Modulbezeichnung HSLU gat Namenskürzel für Galliker Thomas ste Namenskürzel für Stocker Elias gam Namenskürzel für Gasser Martin STASS Steuerungsausschuss RMI Remote Method Invocation CORBA Common Object Request Broker Architecture Tabelle 2: Abkürzungserklärungen TA.SWK.F1001 Projekt Message-Logger Team 10 4 / 13

Systemspezifikation Systemübersicht 2 Systemübersicht Das gesamte System besteht aus total vier Komponenten, welche über definierte Schnittstellen miteinander kommunizieren. Nachfolgende Abbildung illustriert das System mit den Komponenten und den dazwischen bestehenden Abhängigkeiten grafisch: Abbildung 1: Systemübersicht als Komponentendiagramm Eine Anwendung (hier: Test-Applikation) möchte verschiedene Informationen als Log-Nachrichten an einen Log-Server senden. Dafür verwendet sie eine Logger Komponente. Für diese Logger Komponente wurde ein Logger Interface spezifiziert, welches die Design-Eigenschaften der Logger Komponente beeinflusst. Die Logger Komponente implementiert schliesslich Methoden zur Übermittlung von Log Nachrichten an die Server Komponente. Die Server Komponente ihrerseits ist verantwortlich für den Empfang und das persistente Ablegen von Log Nachrichten. Sie stellt aber auch Methoden zum Auslesen von Log Nachrichten zur Verfügung. Zur Visualisierung der Log Nachrichten wird eine Viewer Komponente entwickelt. Mit Hilfe dieser Viewer Komponente können Nachrichten aufgelistet, sortiert und gefiltert werden. TA.SWK.F1001 Projekt Message-Logger Team 10 5 / 13

3 Softwarearchitektur 3.1 Komponenten Softwarearchitekturen bergen oft einen hohen Grad an Komplexität in sich. Um sich einen Überblick über die Architektur zu verschaffen ist eine Grafik sehr hilfreich. Um eine Softwarearchitektur zu visualisieren gibt es viele verschiedene Methoden, wovon eine davon das Komponentendiagramm ist. Das nachfolgend abgebildete Komponentendiagramm zeigt eine bestimmte Sicht auf die Struktur des Gesamtsystems. Es beinhaltet sowohl logische Programmeinheiten (Components) sowie Schnittstellen (Interfaces). Abbildung 2: Komponentendiagramm In der Iteration 2 wurde das Komponentensystem um eine weitere Komponente, "CorbaLogger", erweitert. Die Komponente "CorbaLogger" implementiert die CORBA Schnittstelle zum Message-Logger Server. Im Komponentendiagramm ist diese neue Komponente blau eingefärbt. 3.2 Klassen Um die Komponenten einwenig detaillierter darzustellen, wurde ein Klassendiagramm erstellt. Ein Klassendiagramm zeigt den Aufbau von Klassen mit deren Methoden und Attributen. Zwischen den Klassen werden auch ihre Beziehungen untereinander dargestellt. Ebenfalls ersichtlich sind die Details der Interfaces. Um eine bessere Übersicht zu gewährleisten wurden die Klassendiagramme auf einzelne Teildiagramme entsprechend der jeweiligen Komponenten aufgetrennt. 3.2.1 Test-Applikation Die Test-Applikation instanziiert die Logger Komponente und generiert in unregelmässigen Abständen Fehlermeldungen. Wird eine Fehlermeldung geworfen, ruft die Test-Applikation die Methode log(loglevel, String) der Logger Komponente auf. Die Fehlermeldungen werden mithilfe der Klasse MessageThread geworfen. Zusätzlich instanziiert die Test-Applikation die Klasse LoggerConfig, welche zur Konfiguration des Loggers benötigt wird. Über das GUI der Test-Applikation kann die Logger Komponente konfiguriert werden. Dies beinhaltet die Änderung des LogLevels und der ServerUri des Loggers. TA.SWK.F1001 Projekt Message-Logger Team 10 6 / 13

Abbildung 3: Klassendiagramm der Test-Applikation 3.2.2 Logger Die Klasse Logger implementiert das vom Interface-Team definierte Interface "ILogger". ILogger gibt die Designvorgabe, dass Logger die Methode "log(loglevel, String)" implementieren muss. Die zweite Abhängigkeit führt zum Interface IServerTeam10. Dieses Interface dient seinerseits zur Abstrahierung der Implementation der Server-Komponente. Logger nutzt die Implementation von IServerTeam10 um Nachrichten von der Applikation zum Server weiterzuleiten. Als Übertragungstechnologie wird das Remote Computing Framework "RMI" (Remote Method Invocation) genutzt. Die gemeinsam genutzten RMI Methoden wurden nach einem Refactoring in die statische Klasse "RMI" abgelegt. Abbildung 4: Klassendiagramm der Logger-Komponente 3.2.3 CorbaLogger Die Klasse CorbaLogger implementiert das zu Beginn der Iteration 2 definierte CORBA Interface. TA.SWK.F1001 Projekt Message-Logger Team 10 7 / 13

Viewer Der Viewer dient dem Monitoring der Fehlermeldungen der Test Applikation. Der Viewer nutzt die Implementation von IServerTeam10, um die Fehlermeldungen vom Server zu holen. Mithilfe des zusätzlichen kleinen GUIs ViewerSettings können die Meldungen gemäss ihrem LogLevel gefiltert werden. Abbildung 5: Klassendiagramm der Viewer-Komponente 3.2.4 Server Die Klasse ServerTeam10 implementiert das Interface IServerTeam10 mit den vorgegebenen Methoden "getlogmesssages()", "getlogmessages(int)" sowie "log(message)". Die beiden erstgenannten Methoden werden von der Klasse Viewer genutzt, um Log-Nachrichten anzuzeigen. Die letztgenannte Methode wird von der Klasse Logger genutzt, um Nachrichten von der Client-Applikation an den Server zu senden. Die Klasse ServerTeam10 nutzt als Übertragungstechnologie "Remote Method Invocation" (RMI). Wie alle anderen Klassen, welche RMI nutzen, werden auch in ServerTeam10 Methoden aus der gemeinsamen RMI- Codebasis "common.rmi" verwendet. Abbildung 6: Klassendiagramm der Server-Komponente TA.SWK.F1001 Projekt Message-Logger Team 10 8 / 13

3.3 Sequenzielle Abläufe Während Klassen- und Komponentendiagramme den funktionellen Umfang des Softwareprodukts zeigen, werden nachfolgend zwei Sequenzdiagramme abgebildet, welche das Verhalten und die Interaktion zwischen den Komponenten wiedergeben soll. Das erste Sequenzdiagramm zeigt den sequenziellen Ablauf der Log-Prozedur. Der Benutzer hat die Möglichkeit, über die Test-Applikation das Generieren von Log- Nachrichten zu starten und zu stoppen. Abbildung 7: Sequenzdiagramm Aufzeichnen von Log-Nachrichten Das Auslesen der Nachrichten mit Hilfe des Viewers wird in der nachfolgenden Abbildung illustriert: Abbildung 8: Sequenzdiagramm Anzeigen von Log-Nachrichten TA.SWK.F1001 Projekt Message-Logger Team 10 9 / 13

3.4 Softwareverteilung Nirgends ist die Planung der Softwareverteilung (engl. "Software Deployment") so wichtig wie bei verteilten Systemen. Aus diesem Grund wurde der Thematik erhöhte Priorität geschenkt. Die Minimalkonfiguration des vorliegenden Projektsystems besteht aus drei unabhängigen Deployment- Instanzen: Ein Computer auf welchem die Test-Applikation ausgeführt wird, ein Computer auf welchem der Viewer ausgeführt wird, sowie ein Server, welcher als Message-Logger Server und Log-Nachrichten Speicher genutzt wird. Die Applikationen auf den beiden erstgenannten Computern können einschränkungslos auch auf demselben physischen System ausgeführt werden. Die nachfolgende Grafik stellt den Sachverhalt in einem Deployment-Diagramm darzustellen. Abbildung 9: Deployment-Diagramm 3.5 Schnittstellenspezifikation In der nachfolgenden Tabelle werden sämtliche interne und externe Schnittstellen in und um das Message- Logger Projekt festgehalten und beschrieben. Teilweise wurden die Schnittstellen vom Interface-Komitee festgelegt. Schnittstelle Domäne Beschreibung Benutzerschnittstelle "Test-App" Benutzerschnittstelle "Viewer" extern extern Über die Benutzerschnittstelle der Test-Applikation hat der Benutzer grundsätzlich zwei Möglichkeiten: 1) eine grafische Konfigurationsmöglichkeit, um die Logger-Komponente zu konfigurieren, d.h. z.b. den Log-Server oder den LogLevel festzulegen und 2) eine grafische Darstellung der generierten Log-Nachrichten Die Komponente Viewer enthält eine Benutzerschnittstelle, über welche der Benutzer die geloggten Nachrichten einsehen kann. Die Log- Nachrichten können je nach eingestelltem LogLevel-Filter angezeigt werden. TA.SWK.F1001 Projekt Message-Logger Team 10 10 / 13

ILogger intern Die technische Schnittstelle ILogger gibt Designvorschriften für die Implementation der Logger Komponente. Sie definiert, dass die Komponente Logger mindestens die Methode "log(loglevel, String)" implementieren muss. ILoggerConfig intern Die technische Schnittstelle ILoggerConfig gibt Designvorschriften für die Implementation der LoggerConfig Komponente. Sie definiert, dass die Komponente LoggerConfig mindestens die Methoden "getconfig()" und setconfig(config) implementieren muss. IServerTeam10 intern Die technische Schnittstelle IServerTeam10gibt Designvorschriften für die Implementation der ServerTeam10 Komponente. Sie definiert, dass die Komponente ServerTeam10 mindestens die Methoden "getlogmesssages()", "getlogmessages(int)" sowie "log(message)" implementieren muss. IServerTeam10 wurde Team-intern definiert und enthält keine Restriktionen und Vorgaben des Interface-Komitees. ILoggerServerFactory intern Diese Schnittstelle wurde in Iteration 2 mit der Umsetzung des CORBA Loggers eingeführt. Sie wird von der Komponente "CorbaLogger" bereitgestellt und kann von Applikationen zur Implementierung des CorbaLoggers genutzt werden. ILoggerServerPOA intern Diese Schnittstelle wurde in Iteration 2 mit der Implementierung des CORBA Loggers eingeführt. Konfigurationsdatei intern Die Konfigurationsdateien "logger_config.config" (genutzt von Klasse Logger) sowie "server_config.config" (genutzt von Klasse ServerTeam10) stellen Software-interne Schnittstellen dar, welche in Format und Speicherort verbindliche Richtlinien erfüllen müssen. Log-Speicher intern Die von der Logger Komponente an den Server gesendeten Nachrichten müssen auf einem persistenten Speicher abgelegt werden. Dafür nutzt die Komponente Server eine Klasse "LogEntryGroup", welche Methoden zum Lesen und Schreiben von Log-Nachrichten implementiert. Tabelle 3: Interne und externe Schnittstellen TA.SWK.F1001 Projekt Message-Logger Team 10 11 / 13

Abbildung 10: Klassendiagramm der definierten Schnittstellen TA.SWK.F1001 Projekt Message-Logger Team 10 12 / 13

Systemspezifikation Design-Entscheide 4 Design-Entscheide 4.1 Persistieren der Log-Messages Die Hauptaufgabe des Logger-Servers ist es, die Nachrichten, welche geloggt werden, zu persistieren. Für diesen Zweck sind DBMS prädestiniert, jedoch ist die Verwendung einer Datenbank in der Aufgabenstellung explizit ausgeschlossen. Bei der Umsetzung einer Datei-Basierenden Lösung haben wir auf folgendes geachtet: Es soll nicht bei jeder geschriebenen Log-Nachricht eine grosse Datei neu geschrieben werden. Es soll möglich sein die letzten n Nachrichten vom Server zu lesen ohne dass das gesamte Log ins RAM gelesen werden muss. Dies wird in unserer Lösung dadurch erreicht, dass in einer einzelnen Log-Datei eine maximale Anzahl Einträge gespeichert wird. Ist die Datei "voll", wird automatisch eine neue Log-Datei angelegt. Jede Log- Datei hat das Erstelldatum im Dateinamen. Dadurch lässt sich leicht feststellen, welches die aktuellsten Log- Dateien sind und es müssen nicht alle Dateien gelesen werden, wenn der Viewer eine Anfrage für die aktuellsten Messages stellt. TA.SWK.F1001 Projekt Message-Logger Team 10 13 / 13