Entwurf und Implementierung einer webbasierten Anwendung zur Verwaltung von Hosting-Verträgen mit Hilfe von Struts und Hibernate

Größe: px
Ab Seite anzeigen:

Download "Entwurf und Implementierung einer webbasierten Anwendung zur Verwaltung von Hosting-Verträgen mit Hilfe von Struts und Hibernate"

Transkript

1 Entwurf und Implementierung einer webbasierten Anwendung zur Verwaltung von Hosting-Verträgen mit Hilfe von Struts und Hibernate Design and Implementation of a Web-based Application for the Management of Hosting Contracts using Struts and Hibernate Juri Oll Bachelor-Abschlussarbeit Betreuer: Prof. Dr. rer. nat., Rainer Oechsle Trier,

2 II Kurzfassung Das Thema der Abschlussarbeit ist die Weiterentwicklung einer bestehenden Verwaltungssoftware der Propeller GmbH. Durch das Softwareupdate ist es nun möglich das erweiterte Angebot an Produkten geeignet zu verwalten. Dabei sollen Hostingverträge, die mittlerweile zum wesentlichen Bestandteil der Produktionsstruktur wurden, geeignet abgelegt und betreut werden können. Der Schwerpunkt der Verwaltung liegt bei der Erstellung von Rechnungen zum gegebenen Zeitpunkt, den zugewiesenen Domains und der individuellen Art des Hostingvertrages. Zunächst habe ich im ersten Schritt den Funktionsumfang der Abschlussarbeit mit der Propeller GmbH spezifiziert. Daraufhin habe ich mir die bereits verwendeten Technologien angeschaut und in einer langen Recherchephase mir das Wissen darüber angeeignet. Als Datenbank wird PostgreSQL eingesetzt. Das Struts-Framework ermöglicht die Entwicklung nach dem MVC-Prinzip. Ein Apache Tomcat-Server dient als Webserver. Durch Hibernate wird die Kommunikation zwischen dem Server und der Datenbank ermöglicht. Da bereits unterschiedliches Personal die Software betreut und weiterentwickelt hat, stellte dies ein weiteres Problem dar, die Erweiterung mit der vorhandenen Software kompatibel zu machen. Im Anschluss an die Abschlussarbeit soll die vorhandene Software überarbeitet werden und alle bestehenden Bugs beseitigt werden, wobei das Softwareupdate mit den Hosting- Verträgen das Grundgerüst bilden wird. Hiermit versichere ich, dass ich diese Arbeit selbstständig angefertigt habe. (Juri Oll)

3 III Inhaltsverzeichnis 1 Problemstellung und Anforderungsspezifikation Verwendete Technologien Apache Tomcat 6.0.x PostgreSQL Hibernate Struts MVC Das MVC im Struts Framework Das Struts Framework Die Anwendung Aufbau des Reiters Benutzer Aufbau des Reiters Firma Aufbau des Bereichs Hostings Aufbau von Hostings Ansicht Hostings Ansicht alle Verträge Ansicht Hinzufügen Entwurf Entwurf der Datenbank Tabelle wa_hosting Tabelle wa_domain Tabelle wa_individual und wa_individual_hosting Tabelle wa_hosting_bill Kommunikation mit der Datenbank Klassen zur Verwaltung der Ausgabe Implementierung und Test Die Geschäftslogik Verarbeitung aktueller Verträge Generierung von Rechnungen Hinzufügen und Bearbeiten von Verträgen Die Datenschicht Die Präsentationsschicht Die Testphase Installation und Konfiguration unter Windows XP und Windows Vista59

4 IV 7 Ausblick Literatur... 62

5 Problemstellung und Anforderungsspezifikation 1 1 Problemstellung und Anforderungsspezifikation Durch den erweiterten Produktionsumfang der Propeller GmbH entstand eine Nische innerhalb der bereits verwendeten Software zur Verwaltung von Aufträgen. Diese Lücke sollte durch die Erweiterung geschlossen werden. Da bereits die vorhandene Anwendung durch unterschiedliches Personal betreut wurde und die Anwendung mehrfach weiterentwickelt wurde, schlichen sich mehrere Fehler in der Programmierung und Ausführung ein, sodass es den vorherigen Funktionsumfang eingrenzte. Dies bereitete nun den Weg vor die ganze Anwendung zu überarbeiten. Das vorhandene System hat sich mittlerweile zu einem wesentlichen Bestandteil des Produktionsprozess entwickelt und deckt einiges an Produkten ab. Die Erweiterung soll nun dazu beitragen die Verwaltung von Hosting-Verträgen in die Anwendung zu integrieren, da dies bislang nur auf dem Papier erledigt wurde. Die Daten sollten in der Datenbank gespeichert werden und geeignet betreut werden können. Um diese Aufgabe entsprechend erfüllen zu können wurden mit der Propeller GmbH die genauen Vorgaben spezifiziert. Dabei sollte man über einen schnellen Zugriff Vorlagen für die Rechnungen erstellen können, die Verträge geeignet modifizieren oder entsprechend individuell anpassen können. Ein Hosting-Vertrag besteht im Wesentlichen aus drei Bereichen. Zunächst einmal müssen allgemeine Informationen zum Hosting-Vertrag angegeben werden. Dies beinhaltet den Auftraggeber, Ansprechpartner, Mindestlaufzeit, den Vertragsbeginn und eine frei wählbare Bezeichnung. Danach werden einem Hosting-Vertrag zwei Bestandteile zugeordnet. Dies ist die Verwaltung von Domains, also den Namensräumen für den Webauftritt sowie den individuellen Leistungen. Typo3, HTML, Newsletter, , etracker und Focato stellen dabei die sechs vorhandenen Optionen dar. Dabei geht es nicht um die genaue Spezifikation der Einzelleistungen oder wie diese im Einzelfall realisiert werden. Um diese Erweiterung geeignet realisieren zu können und das System auf den neuesten Stand zu bringen, musste der alte Quellcode an wesentlichen Punkten überarbeitet werden, auf die ich aber hier nicht näher eingehen werde. Dabei geht es vor allem um Zugriffe sowie die Entnahme der Daten aus der Datenbank.

6 Verwendete Technologien 2 2 Verwendete Technologien Da es sich um die Weiterentwicklung einer bereits bestehenden Softwarelösung handelt, blieb mir nicht viel Freiraum um neue Technologien einzusetzen und zu verwenden. Da allerdings die Realisierung schon länger zurück liegt, konnte ich diese auf dem aktuellen Stand nutzen und ein Softwareupgrade durchführen. Der eingesetzte Tomcat-Server wurde von 5.x auf 6.0.x aufgerüstet. Die eingesetzte Datenbank PostgreSQL wurde von der Version 7.0 auf die Version gebracht. Bei Hibernate wurde anstatt dem üblichen und veralteten XML-Mapping auf Annotation umgestiegen. Die Struts-Version wurde beibehalten

7 Verwendete Technologien Apache Tomcat 6.0.x Beim Apache Tomcat handelt es sich um einen in Java geschriebenen HTTP-Webserver zur Ausführung von Java-Code. Es ist ein Servlet-Container, der JavaServerPages übersetzen und Servlets ausführen kann und diese im Webbrowser darstellen. Der HTTP-Server des Tomcat wird vor allem zur Entwicklung eingesetzt, während in Produktion zumeist ein Apache Web-Server vor den Tomcat geschaltet wird. Tomcat ist der verbreitetste Servlet-Container. Er wird auf einem Viertel aller Produktionssysteme eingesetzt. Der Server ist für eine Reihe von Plattformen verfügbar. Er ist komplett in Java geschrieben und die Startskripte sind für Windows- und Unix vorkonfiguriert. Die Installation gestaltet sich daher auf den verbreiteten Arbeitsplatz-Betriebssystemen sehr einfach. Apache Tomcat ist freie Software. Somit liegt der komplette Source-Code vor und man kann die Vorgänge im Inneren besser nachvollziehen. Das wird in der Praxis wohl von den wenigsten Entwicklern gemacht. Desweiteren ist er kostenlos von der Apache-Website herunterladbar.

8 Verwendete Technologien PostgreSQL PostgreSQL ist ein objektrelationales Datenbanksystem, das die Vorzüge von kommerziellen Datenbanksystemen mit zukunftsweisenden Innovationen kombiniert. PostgreSQL ist freie Software und dessen kompletter Quellcode ist öffentlich verfügbar. Die PostgreSQL-Entwicklung wird von einem Team von meist freiwilligen Entwicklern durchgeführt. Dieses Team ist für die Gesamtentwicklung von PostgreSQL verantwortlich. Es handelt sich um ein Gemeinschaftsprojekt, das nicht von einer bestimmten Firma kontrolliert wird. Seit der Version 8.0 unterstützt PostgreSQL auch Betriebssysteme, die auf Windows NT basieren wie etwa Windows 2000, Windows XP, Windows Vista oder Windows Server Frühere Versionen werden nicht unterstützt, da sie die Anforderungen von PostgreSQL nicht erfüllen. Es ist jetzt möglich, die Datenbank wie jedes andere Programm zu installieren. Bei praktisch allen Linux-Distributionen ist PostgreSQL im Lieferumfang vorhanden. Eine weitere Neuerung ist die Unterstützung von Sicherungspunkten (Savepoints). Mit diesen ist es möglich eine Transaktion an einem vorher gespeicherten Sicherungspunkt fortzusetzen, falls diese durch einen Fehler abgebrochen wurde. Version 8.3 wurde im Februar 2008 veröffentlicht und brachte eine Reihe von Performance- Verbesserungen sowie Funktionserweiterungen mit.

9 Verwendete Technologien Hibernate Hibernate ist wegen seiner Eleganz, seiner Flexibilität, seines Leistungsumfangs und seiner Einfachheit eines der populärsten oder vielleicht sogar das populärste Framework, um die Zugriffsschicht einer Java-Anwendung auf eine Datenbank zu erstellen. Hibernate bietet eine objektorientierte Abfragesprache (HQL), die das Framework in SQL-Abfragen für unterschiedliche Datenbanken übersetzt. Um eine Datenbank zu unterstützen, ist es nur notwendig die Datenbank zu konfigurieren. Diese Abfragesprache orientiert sich an den Klassen. O/R-Mapping: Eine Java-Anwendung benutzt Klassen beziehungsweise Objekte. Die Verwendung von Klassen widerspricht im Prinzip der Ablage in einer Datenbank. Daher müssen beim Lesen die Daten der Datenbank in Objekte umgewandelt und beim Schreiben wieder zurückverwandelt werden. Diese Funktionalität bezeichnet man als Object-Relational- Mapping und wird von Hibernate erledigt. Leistungsmerkmale von Hibernate: Object-Relational-Mapping = Abbildung von Klassen auf Datenbanktabellen Bearbeiten, Löschen und Abfragen von Daten Leistungsfähige API, um Datenbankabfragen dynamisch zu erstellen Unterstützung zahlreicher Datenbanken Unterstützung von Connection Pools und Caches

10 Verwendete Technologien 6 Architektur: Eine Anwendung besteht gewöhnlich aus mehreren Layern (=Schichten). Auf unseren Fall bezogen sieht es so aus: Frontend/Dialoge: Geschäftslogik: Persistenzschicht: HTML-Seite mit/ohne JavaScript Java-Klassen (Servlets, JSP) Hibernate und PostgreSQL Die Geschäftslogik verwendet eine Hibernate-Session um Daten zu bearbeiten oder abzufragen. Der Datenzugriff erfolgt immer innerhalb einer Transaktion. Im Persistenz-Layer habe ich mit Hibernate Methoden implementiert, die Daten abfragen, speichern, ändern und löschen. Eine Datenbankverbindung aufzubauen ist sehr zeitaufwändig. Daher arbeitet man mit einem Connection Pool. Wenn die Anwendung eine Verbindung erfordert, holt sie sich diese aus dem Pool und gibt sie nach Verwendung wieder zurück. Die Verbindungen werden nicht geschlossen. Hibernate übersetzt Abfragen und die Aufrufe zum Speichern oder Löschen von Daten in denjenigen SQL-Dialekt, den man konfiguriert hat. Von Haus aus unterstützt Hibernate bereits sehr viele Datenbanken. In dem äußerst seltenen Fall, dass eine Datenbank nicht unterstützt wird, besteht die Möglichkeit für diese einen eigenen Dialekt zu erstellen. Mapping mit Annotation oder XML: Seit Hibernate 3 gibt es neben dem Mapping von Klassen über XML das Annotation Mapping. Annotations setzen das JDK 5 voraus. JPA und EJB3 unterstützen genau wie Hibernate beide Mapping-Varianten. Annotations werden direkt in der Klasse ergänzt. Daher benötigt man keine weitere XML-Datei. Meiner Meinung nach vereinfacht und beschleunigt dies das Arbeiten. Eine Annotation beginnt mit Annotations sind nichts weiter als besondere Java Interfaces. Um eine Annotation zu verwenden, muss es daher auch importiert werden.

11 Verwendete Technologien Struts Struts ist ein Open Source Framework der Apache Software Foundation, welches die Entwicklung von Webanwendungen mit Servlets und JSP unterstützt. Als Sun 1997 die Technik der Java Servlets der Weltöffentlichkeit vorstellte, waren viele Programmierer hoch erfreut, weil die Servlets schnell und mächtig waren. Doch war diese Technik für sich allein betrachtet auch mit Problemen verbunden. Dies lag daran, dass das Schreiben von HTML-Seiten mit endlosen print()-anweisungen in der Servlet-Klasse zum einen sehr lästig, zum anderen für die Weiterentwicklung der Views extrem mühsam war. Es gab nur eine Servlet Klasse, die die Aufgabe von drei Komponenten, dem Model, dem View und dem Controller ausführen sollte. Die Antwort auf dieses Problem waren die Java Server Pages (JSPs). JSPs zeichneten sich dadurch aus, dass diese zunächst in eine.java-datei konvertiert, dann zu einer.class-datei kompiliert und letztlich ausgeführt wurden. Von diesem Zeitpunkt an konnten Entwickler/innen auf einfache Weise HTML-Code mit Java-Code kombinieren und dabei alle Vorteile der Servlet-Technologie beibehalten. Diese Art der Programmierung ist auch als das Model 1 bekannt geworden, jedoch verkomplizierte der reine Einsatz von JSPs in einer Web-Anwendung die Steuerung des Programmablaufs. So wurde der Bedarf nach einem anderen Modell geweckt. Das Modell 2 war die Lösung. Bei diesem weiterführenden Ansatz wurde erkannt, dass JavaServerPages und Servlets gemeinsam verwendet werden konnten um Webanwendungen zu erzeugen. Während sich der vorrangige Einsatz von JavaServer Pages auf die Ausgabe mittels HTML konzentrieren würde, war es durch die gleichzeitige Verwendung von Servlets möglich den Programmablauf übersichtlicher zu steuern.

12 Verwendete Technologien MVC MVC steht für Model-View-Controller und bezeichnet eine Software-Architektur, in der die Komponenten einer Anwendung nach ihrem Aufgabenbereich modularisiert werden. Die Idee des MVC ist die Trennung der Objekte, die die Logik einer Applikation und die Daten repräsentieren, von der konkreten Darstellung und der Manipulation der Daten. Model: Im Model oder auch Datenmodell einer Anwendung sind die Geschäftslogik sowie Geschäftsdaten angesiedelt. Es werden Informationen verwaltet und Zugriffe geregelt. Änderungen werden der View mitgeteilt, damit diese dargestellt werden können. Das Model ist unabhängig von dem View- und dem Controller-Teil der Anwendung und die Komponenten werden meist als Java-Beans implementiert. Controller: Der Controller koordiniert den Ablauf einer Applikation und übernimmt damit die Ablaufsteuerung der Anwendung. Je nach Eingaben oder Aktionen des Benutzers managt er die anzuzeigenden Views und steht somit als Bindeglied zwischen Model und View. View: Die View ist die Darstellungsschicht der Applikation. Es können entweder alle Informationen des Models dargestellt werden oder nur Ausschnitte daraus. Der View-Teil interagiert dabei mit dem Controller-Teil der Anwendung, deshalb sind sie beide teilweise voneinander abhängig. Zum Beispiel wird das Benutzerverhalten an den Controller gesendet oder es wird der aktuelle Zustand des Models abgefragt.

13 Verwendete Technologien Das MVC im Struts Framework Das Struts Framework stützt sich auf den im Vorfeld erwähnten MVC-Ansatz zur Entwicklung von Web-Applikationen. Dabei sind die Komponenten des Frameworks vorwiegend im Controller- und View-Bereich zu finden. Eine Web-Anwendung in Struts beruht auf der Model 2 Architektur, deren Basis der kombinierte Einsatz von JavaServerPages und Servlets ist. Struts-Model: Allgemein gesagt, repräsentiert die Applikation den internen Zustand des Systems als eine Sammlung von einem oder mehreren Java Beans mit Eigenschaften, welche die Details des Zustands repräsentieren. Abhängig von der Komplexität der Anwendung können diese Beans selbständig sein (und daher wissen, wie sie ihre Zustandsinformationen dauerhaft speichern können) oder sie können Fassaden sein, die wissen, wie sie bei Bedarf Informationen aus externen Quellen erhalten können. Struts-Controller: In Struts ist die primäre Komponente des Controllers ein Servlet der Klasse ActionServlet. Dieses Servlet wird zentral in einer XML Datei konfiguriert. In dieser Datei, der strutsconfig.xml, wird durch eine Sammlung von Mappings den Actions ein logischer Name zugewiesen. Danach erfolgt die Pfadangabe, auf den der eingehende Request-URI geprüft wird, sowie der voll qualifizierte Klassennamen einer Action-Klasse. Der Controller kennt so nur die logischen Namen der beteiligten Komponenten, die richtigen Datei- bzw. Klassennamen der JavaServerPages und Java-Klassen müssen ihm nicht bekannt sein. Neben der einfachen Verwendung, hat diese Art der Vorgehensweise den Vorteil, dass die Abbildungen der Request-URIs auf die Action-Klassen nicht in den Quellcode geschrieben werden, sondern einfach über den logischen Namen angesprochen werden können. Struts-View Der View-Teil einer Struts-basierten Anwendung wird üblicherweise unter Verwendung von Java Server Pages (JSPs) realisiert, die statisches HTML, XML und JavaScript enthalten können. Der besondere Vorteil liegt jedoch in der Fähigkeit, zur Laufzeit erzeugte Inhalte einzufügen. Das Struts-Framework stellt jedoch neben den standardisierten Bibliotheken zusätzliche umfangreiche Tag-Bibliotheken zur Verfügung, welche die Funktionalität von gewöhnlichen JSPs erweitern. Dadurch vereinfachen sie die Erstellung von Formularen, die Interaktion mit ActionForm-Beans, die Fehlerbehandlung und die Internationalisierung von Web Anwendungen.

14 Verwendete Technologien Das Struts Framework Im Mai 2000 begann Craig. R. McCalahan mit der Arbeit an einem MVC-Controller- Framework für die Java Welt. Im Januar 2001 veröffentlichte die Apache Software Foundation die erste Version seines MVC und nannte es Struts. Struts unterliegt dem Open Source Gedanken und der Apache Software License (ASL2000). Das bedeutet, dass jeder Entwickler freien, uneingeschränkten Zugang zum Source Code hat und für die Arbeit mit Struts keine Lizenzgebühren gezahlt werden müssen. Ein wesentlicher Ansatz von Struts ist es, das Zusammenspiel der einzelnen MVC- Komponenten an einer zentralen Stelle zu deklarieren. Die Struts-Komponenten, die mit einem eingehenden Request konfrontiert werden, sollen nachfolgend erklärt werden. Das Struts ActionServlet: Das Struts ActionServlet ist als Einstiegspunkt der Anwendung anzusehen, welcher den eingehenden Request des Anwenders entgegennimmt. Die Struts Actions: Eine Action im Struts Framework wertet die mit dem Request übergebenen Daten aus und verarbeitet diese weiter. Sie leitet sich von der org.apache.struts.action.action, welche durch das Framework bereitgestellt wird, ab. Die Logik dieser Klasse ist selbst zu programmieren und ist somit nicht mehr Teil des Frameworks. Um die Entwicklung von Actions zu vereinfachen, stellt das Framework 5 vorgefertigte Action-Typen zur Verfügung: die SwitchAction, ForwardAction, IncludeAction, DispatchAction und LookupDispatchAction. Die Struts ActionFrom: Neben den Actions ist die ActionFrom ein integraler Bestandteil des Struts-Frameworks. Um den Nutzen der ActionForm zu erklären, welche sich von der org.apache.strus.action.actionform ableiten, soll davon ausgegangen werden, dass ein Benutzer unter Verwendung eines HTML-Formulars Daten eingibt, die dann beim Absenden des Formulars zu Parametern des Request umgewandelt werden. Struts füllt nun die Attribute in der ActionForm mit den Parametern des Requests, unter der Voraussetzung, dass gleichnamige Attribute im ActionFrom-Objekt existieren. Durch diesen Mechanismus braucht sich der Entwickler einer Action keine Gedanken mehr um die Aufbereitung der Parameter des Requests machen, sondern kann direkt über entsprechende Methoden auf die Daten zugreifen.

15 Verwendete Technologien 11 Verarbeitung des Requests von Struts: Der grundlegend erste Schritt im Ablauf ist nicht die Anfrage des Browsers, sondern das Setup der Struts-Komponenten. Dies erfolgt mit Hilfe der Datei web.xml, mit der sich der Web-Server konfiguriert. Ist das Setup abgeschlossen, wird auf eine Anfrage (HTTP-Request) des Benutzers gewartet. Sendet der Benutzer einen Request ab, wird dieser zunächst von einer Controller-Komponente entgegengenommen. Das ActionServlet ist der Einstiegspunkt der Anwendung, von hier wird der Request an den RequestProzessor weitergegeben, der wie das ActionServlet selbst zum Controller-Teil der Anwendung zu zählen ist. Dieser entscheidet dann, ob die Anfrage gleich an die View Komponente weitergeleitet werden kann, oder ob eine anwendungsspezifische Action die Daten weiterverarbeitet. Kommt eine anwendungsspezifische Action zum Einsatz, werden diese mit dem Request übermittelten Parameter, die den Eingaben des Benutzers in ein HTML Formular entstammen, zunächst in eine Art JavaBean, eine sogenannte Struts-ActionForm überführt. Der Request wird dann zusammen mit der ActionForm an eine bestimmte Action weitergeleitet. Die Aufgabe der Actions ist es, die Komponenten des Models (das können Java Beans oder andere Geschäftsobjekte sein) aufzurufen und an diese die Daten in aufbereiteter Form zu übergeben. Dazu ist die auszuführende Logik der Action selbst zu programmieren. Die vom Geschäftsobjekt in Form eines ActionForward-Objekt zurückgegebenen Daten werden vom RequestProzessor zunächst ausgewertet. An dieser Stelle erfolgt die Zuordnung des ActionForward-Objekts zu einer JSP oder HTML-Seite, die dann dem Benutzer die Daten präsentiert. Mit der Anzeige der Daten ist die Verarbeitung des Requests abgeschlossen.

16 Die Anwendung 12 3 Die Anwendung Die vorliegende Anwendung implementiert bereits vier Bereiche der Propeller GmbH (siehe Abbildung 3.1). Dazu zählen die Bereiche Benutzer, Projekte, Firma und Verwaltung. Bei der Anmeldung erscheint erst ein Begrüßungsbildschirm für den jeweiligen Anwender. Der Bereich Verwaltung ist nur mit entsprechenden Rechten sichtbar. Unter Konfiguration besteht die Möglichkeit als Administrator das Tool global zu konfigurieren. Meine Aufgabe besteht nun darin diese in ihrem Produktionseinsatz um den Bereich zur Verwaltung von Hosting-Verträgen zu erweitern. Dabei werden einzelne Aspekte der bereits zugrundeliegenden Datenbank übernommen und erweitert. Die Reiter Benutzer und Firma, die für meine Anwendung elementar sind, werde ich in folgenden Unterkapiteln grafisch darstellen und erläutern. Abbildung 3.1 Die vorliegende Anwendung

17 Die Anwendung Aufbau des Reiters Benutzer Dieser Reiter (siehe Abbildung 3.2) dient zur Verwaltung aller Personen, die eine Beziehung zur Propeller GmbH darstellen. Dabei spielt es keine Rolle, ob es interne Mitarbeiter oder externe Kontaktpersonen sind. Abbildung 3.2 Reiter Benutzer Die Struktur des Reiters (siehe Abbildung 3.3) baut sich aus einer Benutzerliste in Tabellenform auf. Über die Schnittstelle Hinzufügen lassen sich einzelne Personen in der Datenbank anlegen. Dabei kann jede Person einer bereits definierten Firma zugeordnet werden. Durch einen Klick auf das Bleistift-Symbol gelangt man zur Editieransicht des jeweiligen Benutzers. Die Editieransicht und das Hinzufügen neuer Benutzer bauen sich gleich auf. Bei der Editieransicht werden lediglich Benutzerinformationen vorausgefüllt. Das Symbol Suchen dient zum Auffinden bestimmter Personen innerhalb der Datenbank. Dabei kann man nach den vier Kriterien Vorname, Zuname, Ort und allen Aspekten suchen lassen. Die jeweiligen Spalten in der tabellarischen Benutzerliste sind Verlinkungen innerhalb des Tools. Wählt man einen Benutzer und klickt dann auf seinen Vor- oder Nachnamen, so kommt man zu einer neuen Benutzeransicht innerhalb von Benutzer mit wieder vier Reitern. Diese sind Benutzeransicht, Terminliste, Stundenliste und Projektliste. In der Benutzeransicht werden alle verfügbaren persönlichen Informationen zum gewählten Benutzer dargestellt. Diese Informationen lassen sich an dieser Stelle nicht verändern. In der Terminliste sind alle Termine aufgelistet, die den jeweils gewählten Benutzer betreffen.

18 Die Anwendung 14 In der Stundenliste besteht für den Benutzer die Möglichkeit seine aufgewendeten Stunden an der Mitarbeit an einem Projekt in der Datenbank abzulegen. Dies dient vor allem dazu um bei zukünftigen Projekten mit ähnlicher Struktur den voraussichtlichen Aufwand berechnen und damit besser kalkulieren zu können. Die Projektliste listet alle Projekte zu dem gewählten Benutzer auf, an denen dieser zurzeit arbeitet oder an denen dieser gearbeitet hat. Durch einen Klick auf den Namen eines Projekts innerhalb dieser Ansicht wird innerhalb des Tools zum Reiter Projekt und weiter zur Teilprojektliste zum jeweiligen Projekt verlinkt. Klickt man in der Ausgangsbenutzerliste anstatt auf den Vor- oder Nachnamen auf einen Firmennamen, so wird ebenfalls innerhalb des Tools weiterverlinkt. Dabei wird man zum Reiter Firma und zur Firmenansicht verwiesen, in der man alle firmenrelevanten Informationen erhält. Abbildung 3.3 Struktur des Reiters Benutzer

19 Die Anwendung Aufbau des Reiters Firma Der Firmenreiter (siehe Abbildung 3.4) spezifiziert alle Firmen und Personen, die Aufträge an die Propeller GmbH erteilen. Dieser Reiter bildet die Grundstruktur der kompletten Anwendung. Projekte, Benutzer und Verwaltung werden bestimmten Firmen zugeordnet. Die neue Anwendung zur Verwaltung von Hosting-Verträgen lehnt sich ebenfalls an diese an. Abbildung 3.4 Reiter Firma Der strukturelle Aufbau des Reiters Firma (siehe Abbildung 3.5) baut sich aus einer tabellarischen Firmenliste auf. Hinzufügen stellt eine Schnittstelle zum Anlegen neuer Firmen dar. Dabei wird dort im Prinzip die Firma in drei Kategorien angelegt. Zunächst der Name oder die Bezeichnung der Firma mit eventuellem Logo. Dann Kontaktinformationen, die die Adressdaten beinhalten, sowie die Erreichbarkeit. Und zum Schluss wird durch eine Select- Auswahl angekreuzt, ob die Firma Auftragnehmer oder Auftraggeber ist. Über das Bleistift- Symbol rechts in der tabellarischen Firmenansicht gelangt man zur Editiermaske. Diese unterscheidet sich nicht von der Hinzufügen-Ansicht, bis auf die Tatsache, dass vorhandene Firmeninformationen vorausgefüllt werden und beim Speichern die Firmendaten nur aktualisiert und nicht komplett neu angelegt werden. Die Schaltfläche Suchen erlaubt es dem Nutzer dieses Tools in der Datenbank nach gewünschten Firmen zu suchen. Dabei kann man auch nach ganz speziellen Kriterien suchen lassen. Diese sind Firmenname und das Firmenkürzel, der Hauptsitz der Firma, nach speziellen Notizen zu Firmen und natürlich nach allen Kriterien gleichzeitig. Die tabellarische Ansicht der Firmen stellt weiterhin Verlinkungen innerhalb des Tools dar. Wenn man auf den Namen, die Telefonnummer oder Faxnummer der gewählten Firma klickt, gelangt man zu einer neuen Ansicht innerhalb des Bereichs Firma. Diese Ansicht besteht aus drei Reitern.

20 Die Anwendung 16 Die Ausgangsansicht ist die Firmenansicht. Diese lässt sich nicht editieren und enthält alle zur Firma verfügbaren Informationen. Der zweite Reiter ist die Benutzerliste. Hier werden alle zu dieser Firma zugeordneten Personen dargestellt. Hier bietet sich zugleich die Möglichkeit einen der Benutzer auszuwählen und wird dann automatisch weiterverlinkt zur Benutzeransicht im Bereich Benutzer, welche normalerweise über den Reiter Benutzer zu erreichen ist. Der dritte Reiter ist die Projektliste. In diesem Bereich werden alle laufenden und abgeschlossenen Projekte mit dieser Firma dargestellt. Wie im zweiten Reiter Benutzerliste, besteht auch hier die Möglichkeit eines der Projekte auszuwählen. Dadurch wird man weiterlinkt über den Reiter Projekt zur Teilprojektliste und kann sich dort weitere Informationen zu den jeweiligen Projekten anschauen. Abbildung 3.5 Struktur des Reiters Firma

21 Die Anwendung Aufbau des Bereichs Hostings Für das Modul Hostings existieren unterschiedliche Masken. Listen zur Darstellung von Datensätzen Leseansicht zum Anzeigen von Informationen Editieransicht um einen Vertrag zu editieren Eingabemaske um einen neuen Vertrag anzulegen Rechnungsstellung und Rechnungsansicht

22 Die Anwendung Aufbau von Hostings Der Aufbau von Hostings gestaltet sich in fünf Bereichen bestehend aus Hauptnavigation, Menünavigation, Bereichsnavigation, Datensatzliste und Funktionsliste (siehe Abbildung 3.6). Abbildung 3.6 Aufbau von Hostings Hauptnavigation Bei der Anmeldung zur WebAgency hat man die Wahl zwischen fünf Bereichen. Durch den Reiter Hostings kann in den Bereich zur Verwaltung von Hosting-Verträgen gewechselt werden. Für die jeweiligen Bereiche existieren Zugangsberechtigungen. Der Bereich Hostings ist nur für einen Administrator oder Geschäftsführer sichtbar (siehe Abbildung 3.7). Dies wird durch die jeweiligen Rollen festgelegt beim Anlegen neuer User im Bereich Benutzer. Die Benutzer mit entsprechenden Rechten können aber ohne weiteres in die anderen Bereiche wechseln und wieder zurück. Abbildung 3.7 Ansicht mit eingeschränkten Rechten

23 Die Anwendung 19 Menünavigation Die Menünavigation besteht aus den zu Hosting-Verträgen verfügbaren Ansichten. Die oberste Auswahl Hostings funktioniert wie ein Ausgangspunkt um zurück zur Hauptansicht der Hosting-Verträge zu gelangen. Mit der Auswahl Hinzufügen kann man neue Hosting- Verträge anlegen. Beim Klick auf alle Verträge bekommt man alle Verträge angezeigt. Bereichsnavigation Mit dieser Funktion kann man sich durch die angezeigten Datensätze durchblättern. Zum einen um in der Hauptansicht die Verträge nach Monat und Jahr angezeigt zu bekommen. Dabei werden nur die Verträge angezeigt, mit denen in diesem Monat das Vertragsstartdatum übereinstimmt. Durch Vorwärts- oder Rückwärtsklicken kann man sich dann die Verträge der vorhergehenden Monate oder Jahre anzeigen lassen. Wenn man in der Menünavigation alle Verträge auswählt, dann bekommt man diese zu sehen. Da man im späteren Verlauf mit mehr Verträgen rechnen muss, wird ab einer bestimmten Anzahl an Verträgen die Bereichsnavigation aktiviert, mit der man zwischen den Seiten blättern kann. Datensatzliste Die Datensatzliste beinhaltet alle aktuell laufenden Verträge, die entweder nach Monat und Jahr in der Bereichsnavigation sortiert sind oder komplett angezeigt werden und durch die Bereichsnavigation zu erreichen. Alle Datensätze beinhalten einen bestimmten Vertrag, der durch bestimmte Kriterien angezeigt wird. Funktionsliste Die Funktionsliste besteht aus verschiedenen Möglichkeiten zu einem Vertrag. Dabei kann man sich in der Standardansicht zunächst die Info zum Vertrag anschauen ohne diesen ändern zu können. Eine Rechnung zu einem Vertrag generieren oder sich alle vorhandenen Rechnungen anzeigen lassen.

24 Die Anwendung Ansicht Hostings Die Ansicht Hostings zeigt alle Hosting-Verträge die in diesem Jahr und Monat eine Rechnung bekommen sollen oder bereits eine bekommen haben (siehe Abbildung 3.8a). Abbildung 3.8a Ansicht Hostings mit Datensatzliste Die Navigation in dieser Ansicht gestaltet sich durch das Jahr und den Monat. Dabei wird das Datum der aktuellen Systemzeit verwendet. In diesem Fall Januar In dieser Ansicht bekommt man immer die aktuell anstehenden Verträge angezeigt. Die Spalte Datum beinhaltet das Vertragsstartdatum. Dabei ist aber eigentlich nur das Startjahr und der Starttag von Interesse, da durch die Navigation oben rechts der Monat bereits vorausgewählt ist. Firma entspricht dem Kunden, der zu diesem Vertrag gehört. Der Betrag bezeichnet die Gesamteinnahmen durch den vorliegenden Vertrag. Dieser berechnet sich aus den Einnahmen durch die Domainvermittlung, sowie den Individuellen Leistungen für den jeweiligen Kunden. Unterhalb der Verträge werden die Gesamteinnahmen in diesem Monat angezeigt. Die Spalten Vertragsinfo, Rechnung generieren und Rechnungen zeigen bieten verschiedene Funktionen zum jeweiligen Vertrag. Sollte zu einem gegebenen Monat kein Vertrag vorliegen, wird ein entsprechender Hinweis ausgegeben (siehe Abbildung 3.8b). Abbildung 3.8b Ansicht Hostings ohne Datensatzliste

25 Die Anwendung 21 Ansicht Info Diese Ansicht bietet zunächst alle Informationen zu diesem Vertrag und kann über den Button Info erreicht werden. In diesem Abschnitt werden die allgemeinen Informationen zum Hosting-Vertrag angezeigt (siehe Abbildung 3.9). Diese Informationen beinhalten die Bezeichnung sowie den Kunden mit dem jeweiligen Ansprechpartner. Abbildung 3.9 Ansicht Info : Allgemeine Informationen

26 Die Anwendung 22 Der Bereich Domains innerhalb der Ansicht Info liefert Informationen zu den zugewiesenen Domains (siehe Abbildung 3.10). Dabei werden alle zum Vertrag zugewiesenen Domains angezeigt. Die Gesamtkosten für diese sowie eventuelle Notizen dazu erlauben es sich einen Überblick zu verschaffen Abbildung 3.10 Ansicht Info : Domains Falls zu einem Vertrag Einzelleistungen zugewiesen wurden, so werden diese ebenfalls dargestellt mit der jeweiligen Art, den Kosten und der eventuellen Beschreibung (siehe Abbildung 3.11). Abbildung 3.11 Ansicht Info : Einzelleistungen

27 Die Anwendung 23 Ansicht generate Diese Ansicht zeigt eine vorgefertigte generierte Rechnung, bei der bestimmte Bereiche aus dem Vertrag bereits eingefügt wurden (siehe Abbildung 3.12). Welche es genau sind und wie es funktioniert wird später erläutert. Abbildung 3.12 Ansicht zur Generierung von Rechnungen

28 Die Anwendung 24 Die jeweilige Rechnung lässt sich dann in der Datenbank speichern. Es besteht auch die Möglichkeit sich eine der bereits erstellten Rechnungen anzeigen zu lassen und diese auch zu editieren (siehe Abbildung 3.13). Abbildung 3.13 Ansicht zum Speichern einer generierten Rechnung Da zu jedem Monat nur eine Rechnung erstellt werden kann, wird ein Fehler ausgegeben, falls bereits eine Rechnung für den jeweiligen Monat existiert (siehe Abbildung 3.14). Dabei kann man sich aber eine der bereits in der Datenbank gespeicherten Rechnungen anzeigen lassen. Abbildung 3.14 Ansicht mit einer Fehlermeldung

29 Die Anwendung 25 Ansicht show Diese Ansicht lehnt sich stark an die Ansicht generate an. Hier werden lediglich die bereits vorhandenen Rechnungen angezeigt, wie bei generate nur ohne die Fehlermeldung (siehe Abbildung 3.15). Wenn man eine der vorliegenden Rechnungen auswählt, so kann man diese wieder editieren und die geänderten Daten oder Angaben übernehmen. Abbildung 3.15 Anzeige aller verfügbaren Rechnungen

30 Die Anwendung Ansicht alle Verträge In dieser Ansicht werden alle Verträge angezeigt unabhängig von Jahr und Monat des Vertragsstarts (siehe Abbildung 3.16). Dabei werden, durch die von mir eingestellte Voreinstellung, maximal elf Elemente pro Seite angezeigt, welche durch Blättern zu erreichen sind. Kunde/Firma: Diese Spalte zeigt den Auftraggeber Einzelleistungen: Hier werden die Einzelleistungen durch Kürzel dargestellt, für die man unten in der Legende die Bedeutung nachschauen kann. Betrag: Der Wert ist die Summe aller Leistungen pro Monat. Dieser errechnet sich aus den Gesamtkosten pro Monat für die Domains und den Einzelkosten für die Einzelleistungen. Letzte Rechnung: Ist das Datum, an dem die letzte Rechnung ausgestellt wurde. Nächste Rechnung: Abhängig vom Abrechnungsintervall, die nächste anstehende Rechnung. Im Normalfall alle 12 Monate später. Vertragsstart: Der Beginn einer vertraglichen Bindung Über die Funktionsschaltflächen lassen sich die Verträge entsprechend editieren oder löschen. Die Löschfunktion kann dabei jedoch nur ausgeführt werden nach einer Bestätigung. Auf die Editierschaltfläche wird hier nicht weiter eingegangen, da es sich analog zum Hinzufügen verhält. Dort kann man wie bei dem Anlegen eines neuen Vertrages alle Information bearbeiten. Abbildung 3.16 Ansicht aller Verträge

31 Die Anwendung Ansicht Hinzufügen In dieser Ansicht lassen sich neue Hosting-Verträge anlegen. Dabei gliedert es sich in drei Bereiche. Zum einen die allgemeinen Informationen zum Vertrag, dann Domains, und zum anderen die Informationen zu den individuellen Leistungen. Von dieser Ansicht gelangt man wieder zurück zur Ansicht Hostings oder, wenn man den Vertrag speichert, zur Ansicht alle Hostingverträge (siehe Abbildung 3.17). Beim Editieren eines Vertrages bekommt man diese Ansicht bereits vorausgefüllt dargestellt, es ändert sich jedoch nichts an der Funktionalität und wird daher in einem dargestellt. Abbildung 3.17 Ansicht Hinzufügen

32 Die Anwendung 28 Bereich Allgemeine Iformationen In diesem Bereich lassen sich vertragsspezifische Informationen angeben, wie z.b. die Bezeichnung des Vertrags oder Kundeninformationen und/oder, ob der Vertrag bereits abgelaufen ist. (siehe Abbildung 3.18). Abbildung 3.18 Ansicht Hinzufügen: Allgemeine Informationen

33 Die Anwendung 29 In der Zeile Firma/Kunde werden alle Firmen aus dem Bereich Firma der vorliegenden Datenbank angezeigt (siehe Abbildung 3.19). Sobald neue Firmen angelegt werden, werden diese auch hier sichtbar. Abbildung 3.19 Ansicht Hinzufügen: Firmenauswahl

34 Die Anwendung 30 Bei den Ansprechpartnern handelt es sich um Benutzer, die einer bestimmten Firma zugeordnet sind. Wenn in dem Tool ein neuer Benutzer angelegt wird, so besteht die Möglichkeit diesen einer Firma zuzuweisen. Daher werden hier auch tatsächlich nur die Benutzer angezeigt, die eine Firmenzugehörigkeit aufweisen (siehe Abbildung 3.20). Abbildung 3.20 Ansicht Hinzufügen: Ansprechpartner

35 Die Anwendung 31 Bereich Domains In diesem Bereich besteht die Möglichkeit einem Vertrag Domains hinzuzufügen. Dabei spielt die Anzahl und Art der Domains keine Rolle, kann jedoch unter Notizen genauer spezifiziert werden (siehe Abbildung 3.21). Die Kosten pro Monat sind die Gesamtkosten für die Domainverwaltung. Abbildung 3.21 Ansicht Hinzufügen: Domains

36 Die Anwendung 32 Bereich Einzelleistungen Hier besteht die Möglichkeit jedem Vertrag eine kundengenaue Einzelleistung zuzuweisen, da nicht jeder Kunde das komplette Paket haben möchte (siehe Abbildung 3.22). Sobald diese hinzugefügt wurde, kann man sie nicht mehr bearbeiten und nur noch löschen. Abbildung 3.22 Ansicht Hinzufügen Einzelleistungen

37 Die Anwendung 33 Der allgemeine Aufbau der Einzelleistung besteht aus einer freien Bezeichnung, den Kosten pro Monat und der Beschreibung dieser (siehe Abbildung 3.23). Alle diese Felder sind optional. Abbildung 3.23 Einzelleistungen Bei der Auswahl der Bezeichnung handelt es sich um die ausgewählte Art der Einzelleistung (siehe Abbildung 3.24). Man kann diese aber auch frei lassen, sollte ein Kunde ein spezielles Paket erhalten. Abbildung 3.24 Art der Einzelleistung

38 Entwurf 34 4 Entwurf 4.1 Entwurf der Datenbank Um Hosting-Verträge geeignet zu verwalten war es nötig bestehende Datensätze aus der Datenbank in die Erweiterung zu integrieren (siehe Abbildung 4.1). Dabei spielen die Bezeichnung der Firmen und die Usernamen die entscheidenden Rollen. Die unten gezeigte Abbildung zeigt die Beziehungen innerhalb der Datenbank zwischen den Tabellen. Im grünen Bereich sind die zwei Tabellen, die die Firmen und Benutzer enthalten und aus der bestehenden Datenbank hinzugefügt wurden. Über die n:1 Beziehung wird definiert wie sich das Schema verhält. Die restlichen Tabellen sind die von mir definierten, auf die ich in den unteren Kapiteln zu sprechen komme. Abbildung 4.1 Datenbankschema

39 Entwurf Tabelle wa_hosting Diese Tabelle ist, wie oben in der Abbildung 4.1 zu sehen, das Grundgerüst der Erweiterung. In der Tabelle wa_hosting werden die Angebote, Leistungen und Verträge der Propeller GmbH an einer zentralen Stelle gekapselt und verwaltet. Dabei wird Wert auf Individualität der einzelnen Hosting-Verträge gelegt. Jeder eingetragene Kunde bekommt dabei einen seinen Anforderungen entsprechenden Leistungsumfang. Die Identifizierung erfolgt anhand des Namens des Kunden, jedoch kann jedem Hosting-Vertrag ein individueller Name zugewiesen werden. Einem Hosting-Vertrag wird ein Ansprechpartner zugeteilt, der sich aus der gewählten Firma ergibt. Desweiteren besteht ein Hosting-Vertrag aus Domains und Einzelleistungen, welche jedoch in anderen Tabellen verwaltet werden. Die einzelnen Attribute (siehe Listing 4.1): id = Eine eindeutige Identifikation des Hosting-Vertrags erfolgt anhand der id. Diese wird durch einen Integer-Wert dargestellt und darf nicht NULL sein. name = Dies ist eine freie Bezeichnung des Hosting-Vertrags. company_id = Integer-Wert aus der Tabelle wa_company. Wenn einem Hosting Vertrag eine Firma zugeordnet wird, so lässt sich diese anhand der company_id identifizieren agent_id = Wählt man beim Erstellen eines Hosting-Vertrages eine Firma, dann besteht die Möglichkeit diesem speziellen Vertrag einen Ansprechpartner aus der gewählten Firma zuzuordnen. Dieser Wert wird dann aus der Tabelle wa_user eindeutig zugeordnet. confirm = Dies ist das Bestätigungsdatum, an dem der Vertrag von beiden Seiten akzeptiert wurde. start = An dieser Stelle wird der Vertragsbeginn festgelegt. Gleichzeitig ist es auch das Datum für die erste Rechnung. runtime = Hier wird die festgelegte Mindestlaufzeit des Vertrages angegeben. descr = Die allgemeinen Notizen werden hier als character mit maximal 500 Zeichen abgelegt. descrdomain = Ein character-wert mit maximal 500 Zeichen um die Notizen zu den Domains abzuspeichern. budgetdomain = Hier werden die Gesamtkosten für die Domainverwaltung angegeben. settlement = Anhand von diesem Attribut wird das Abrechnungsintervall angegeben, indem Rechnungen erstellt werden sollen. expired = Dies ist ein boolean-wert, der angibt, ob ein Vertrag abgelaufen ist oder nicht. actbill = Zeigt das Datum, an dem die letzte Rechnung zu diesem Datum erstellt wurde. money = Stellt die gesamten monatlichen Einnahmen des jeweiligen Vertrages dar. nextbill = Es ist das Datum an dem die nächste Rechnung fällig wird.

40 Entwurf 36 CREATE TABLE wa_hosting ( id serial NOT NULL, name company_id character(80), integer, agent_id integer, confirm start date, date, runtime integer, descr descrdomain character(500), character(500), budgetdomain integer, settlement expired integer, boolean, actbill date, money nextbill integer, date, CONSTRAINT wa_hosting_id_pkey PRIMARY KEY (id), CONSTRAINT wa_hosting_agent_id_fkey FOREIGN KEY (agent_id) REFERENCES wa_user (id), CONSTRAINT wa_hosting_company_id_fkey FOREIGN KEY (company_id) REFERENCES wa_company (id) ); Listing 4.1 Datenbankschema der Tabelle wa_hosting

41 Entwurf Tabelle wa_domain Diese Datenbanktabelle dient zum Speichern der Domains. Als Domain wird in diesem Zusammenhang die Webadresse verstanden, die ein Unternehmen sichern möchte (zb: Sie werden anhand des Fremdschlüssels identifiziert. Die Spalte hosting_id ist der Foreign Key zur id aus der Tabelle wa_hosting. Hier können diese anhand des Schlüssels identifiziert und dem jeweiligen Hosting-Vertrag zugeordnet werden. Aus logischer Sicht der Datenbank kann eine Domain erst angelegt werden, wenn der entsprechende Hostingvertrag existiert, denn jede Domain wird einem Hostingvertrag zugeteilt und nicht umgekehrt. CREATE TABLE wa_domain ( id serial NOT NULL, hosting_id integer NOT NULL, name character(80) NOT NULL, CONSTRAINT wa_domain_id_pkey PRIMARY KEY (id), ); CONSTRAINT wa_domain_hosting_id_fkey FOREIGN KEY (hosting_id) REFERENCES wa_hosting (id) Listing 4.2 Datenbankschema der Tabelle wa_domain

42 Entwurf Tabelle wa_individual und wa_individual_hosting In wa_individual sind alle möglichen Einzelleistungen mit Name und ihrer Abkürzung enthalten. Sie ist nicht direkt mit der Tabelle wa_hosting verbunden. Es existieren die sechs möglichen Typo3, HTML, Focato, , Newsletter, etracker und eine freie Einzelleistung, um das Paket für den Kunden genau konfigurieren zu können. CREATE TABLE wa_individual ( id integer NOT NULL, name character(80), shortcut character(10), ); CONSTRAINT wa_individual_id_pkey PRIMARY KEY (id) Listing 4.3a Datenbankschema der Tabelle wa_individual Die Tabelle wa_individual_hosting enthält hingegen einen Fremdschlüssel zur Tabelle wa_hosting und zur Tabelle wa_individual. Während sich die Einzelleistungen nicht ändern können, müssen die Hosting-Verträge bereits existieren um hier angelegt zu werden. Es gilt wie oben bei der Tabelle wa_domain, dass zuerst der Vertrag angelgt wird und dann in diesem Fall die Einzelleistung. CREATE TABLE wa_individual_hosting ( id serial NOT NULL, hosting_id individual_id integer NOT NULL, integer NOT NULL, name character(80), budget descry integer, character(500), CONSTRAINT wa_individual_hosting_id_pkey PRIMARY KEY (id), CONSTRAINT wa_individual_hosting_hosting_id_fkey FOREIGN KEY (hosting_id) REFERENCES wa_hosting (id) ); Listing 4.3b Datenbankschema der Tabelle wa_individual_hosting

43 Entwurf Tabelle wa_hosting_bill Hier werden die Rechnungen verwaltet. Da hier nicht wie bei wa_domain die Hosting- Verträge bereits existieren, können diese direkt gespeichert werden. Die Rechnungen werden anhand der hosting_id einem Vertrag zugeordnet. Sie werden nicht direkt als File abgespeichert, sondern nur als Text, da sie nur als Vorlage dienen sollen und nicht als eine automatische generierte Rechnung, die versendet werden soll. CREATE TABLE wa_hosting_bill ( id serial NOT NULL, hosting_id integer NOT NULL, content text, filedate date, CONSTRAINT wa_hosting_bill_id_pkey PRIMARY KEY (id), ); CONSTRAINT wa_hosting_bill_hosting_id_fkey FOREIGN KEY (hosting_id) REFERENCES wa_hosting (id) Listing 4.4 Datenbankschema der Tabelle wa_hosting_bill

44 Entwurf Kommunikation mit der Datenbank Die benötigten Klassen zur Kommunikation mit der Datenbank sind von der Struktur so aufgebaut wie die Datenbank selbst. Es existiert zu jeder Tabelle eine eigenständige Klasse, die die Attribute der jeweiligen Tabellen verwalten. In der Klasse AdminHosting.java werden dann die Daten in der Datenbank aktualisiert, geändert oder gelöscht. Listing 4.5 Klassendiagramm zur Darstellung der Kommunikation mit der Datenbank

45 Entwurf Klassen zur Verwaltung der Ausgabe Die Action-Klassen (siehe Listing 4.6) HostingNewAction.java, HostingBillAction.java, HostingViewAction.java und HostingListAction.java stellen den Controller dar. An dieser Stelle werden Daten über die Klasse AdminHosting.java in die Datenbank geschrieben, aktualisiert oder gelöscht. Zur Verwaltung der Attribute und damit als Modell dienen die Bean-Klassen HostingNewForm.java, HostingBillForm.java, HostingViewForm.java und HostingListForm.java. Listing 4.6 Klassendiagramm zur Darstellung der Kommunikation mit der Datenbank

46 Implementierung und Test 42 5 Implementierung und Test Nach ca. einem Monat Einarbeitung in die verwendeten Technologien und den zugrunde liegenden Quellcode konnte ich mit der Umsetzung der Implementierung beginnen. Dabei kann man den Quellcode in drei Bereiche unterteilen: Die Geschäftslogik = dient der Verarbeitung der Daten (Back-End) - Controller Die Datenschicht = dient der Kapselung der Daten in der Datenbank - Model Die Präsentationsschicht = dient der Darstellung durch Views (Front-End) - View

47 Implementierung und Test Die Geschäftslogik Wie oben bereits erwähnt, dient die Geschäftslogik zur Verarbeitung der Daten zwischen der Datenbank und dem Front-End. Um die gewünschten Kriterien zur Darstellung und Kapselung von Hosting-Verträgen zu gewährleisten, wurden Klassen folgender Aspekte erstellt: Verarbeitung der aktuellen Verträge des aktuellen Monats Generierung von Rechnungen Bearbeitung und Entfernung aller Verträge sowie das Hinzufügen neuer Verträge Alle, die Geschäftslogik beinhaltenden Klassen, enthalten die ActionForward Methode agencyexecute(), welche dafür zuständig ist die Anfragen entsprechend den Anforderungen auszuführen. public ActionForward agencyexecute(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { logger.debug(thread.currentthread().getstacktrace()[2].getmethodname()); if (!getsessionuser().hasrole(role.meta_manager)) { logger.info("blocking administration->hostings(insufficient rights!)"); } return mapping.findforward("showuserlist"); } return show(mapping, form, request, response); Listing 5.1 agencyexecute() Hier wird zunächst geschaut, ob der Zugriff berechtigt ist. Sollte dies nicht der Fall sein, dann wird in die Benutzeransicht umgeleitet, die für alle sichtbar ist. Liegen die entsprechenden Zugriffsrechte vor, so wird der Code weiter ausgeführt. Als Rückgabewert müssen die Methoden mapping.findforward( Ziel ) liefern, damit in die entsprechende Ansicht umgeleitet werden kann. In den folgenden Abschnitten der Geschäfslogik werde ich dann genauer auf die Verarbeitung der aktuellen Verträge eingehen und bei den anderen Klassen nur die wesentlichen Aspekte erläutern.

48 Implementierung und Test Verarbeitung aktueller Verträge Zur Verarbeitung aktueller Verträge dienen im Prinzip zwei Klassen: Die Action Klasse HostingViewAction.java zur Ausführung und Die Bean-Klasse HostingViewForm.java zur Zwischenspeicherung HostingViewForm: Diese Klasse ist ein Bean mit einem leeren Konstruktor, dem aktuellen Monat und Jahr, sowie den entsprechenden Datensätzen und den Gesamteinnahmen in diesem Monat. Mit den Getter- und Setter-Methoden können dann die Views sowie die ActionKlasse darauf zugreifen. public class HostingViewForm extends ActionForm { private Hosting[] hosting = new Hosting[0]; private String month = ""; private String year = ""; private String totalsummonth = null; // // -- Konstruktor, Getter und Setter Methoden -- // } Listing 5.2 HostingViewForm.java

49 Implementierung und Test 45 HostingViewAction: Diese Klasse gestaltet sich etwas aufwändiger. In der Methode show(...) werden zunächst die Daten im Attribut listdata gekapselt. Sollte die Anfrage nicht NULL sein, so werden die Daten entsprechend generiert mit den Methoden doparameterfilter(...) (damit wird die aktulle Ansicht bestimmt) und der Methode dodefaultfilter(...) (damit werden die Daten zur aktuellen Ansicht bestimmt). In unserem Fall werden also alle Daten angezeigt, die in diesem Monat ihre Rechnung bekommen müssen oder bereits bekommen haben. protected ActionForward show(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { User sessionuser = getsessionuser(); HostingViewForm hostingviewform = (HostingViewForm) form; CriteriaData listdata = (CriteriaData)request.getSession(). getattribute("hostingnextdata"); if (listdata == null) { listdata = new CriteriaData(); } doparameterfilter(request, listdata, sessionuser); dodefaultfilter(request, listdata, sessionuser); dooffset(request, listdata); hostingviewform.setmonth(new SimpleDateFormat("MMMMM"). format(listdata.getcalendar().gettime())); hostingviewform.setyear(new SimpleDateFormat("yyyy"). format(listdata.getcalendar().gettime())); Hosting[] hosting = AdminHosting.getHostingList( listdata.getcritons(), listdata.getsubcritons(), listdata.getorders(), listdata.getoffset(), listdata.getpageelements(), false); int totalsummonth = 0; for (int i=0; i<hosting.length; i++) { totalsummonth += hosting[i].getmoney(); } hostingviewform.sethosting(hosting); hostingviewform.settotalsummonth( Util.convertMoney(new Integer(totalSumMonth))); request.getsession().setattribute("hostingnextdata", listdata); } return mapping.findforward("hostingview"); Listing 5.3 HostingViewAction.java show(...)

Handbuch. Anlegen von Vermittlern, Gruppen und Anwendern. 1. Auflage. (Stand: 24.09.2014)

Handbuch. Anlegen von Vermittlern, Gruppen und Anwendern. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial Anlegen von Vermittlern, Gruppen und Anwendern 1. Auflage (Stand: 24.09.2014) Copyright 2015 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung...

Mehr

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

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente

Mehr

Benutzeranleitung Superadmin Tool

Benutzeranleitung Superadmin Tool Benutzeranleitung Inhalt 1 Einleitung & Voraussetzungen... 2 2 Aufruf des... 3 3 Konto für neuen Benutzer erstellen... 3 4 Services einem Konto hinzufügen... 5 5 Benutzer über neues Konto informieren...

Mehr

Registrierung am Elterninformationssysytem: ClaXss Infoline

Registrierung am Elterninformationssysytem: ClaXss Infoline elektronisches ElternInformationsSystem (EIS) Klicken Sie auf das Logo oder geben Sie in Ihrem Browser folgende Adresse ein: https://kommunalersprien.schule-eltern.info/infoline/claxss Diese Anleitung

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4

Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4 Inhalt Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4 Benutzer hinzufügen... 4 Benutzerverwaltung... 5 Ordner anlegen... 6 Rechteverwaltung... 7 Verlag für neue Medien Seite 1 Übersicht Mit

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

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

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Adami CRM - Outlook Replikation User Dokumentation

Adami CRM - Outlook Replikation User Dokumentation Adami CRM - Outlook Replikation User Dokumentation Die neue Eigenschaft der Adami CRM Applikation macht den Information Austausch mit Microsoft Outlook auf vier Ebenen möglich: Kontakte, Aufgaben, Termine

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Einleitung: Frontend Backend

Einleitung: Frontend Backend Die Internetseite des LSW Deutschland e.v. hat ein neues Gesicht bekommen. Ab dem 01.01.2012 ist sie in Form eines Content Management Systems (CMS) im Netz. Einleitung: Die Grundlage für die Neuprogrammierung

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard

Mehr

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch Einfache und effiziente Zusammenarbeit in der Cloud EASY-PM Office Add-Ins Handbuch Inhaltsverzeichnis 1. Einführung... 3 2. Ribbonmenü... 4 3. Dokument... 5 3.1 Öffnen... 5 3.2 Speichern... 6 3.3 Speichern

Mehr

Newsletter. 1 Erzbistum Köln Newsletter

Newsletter. 1 Erzbistum Köln Newsletter Newsletter 1 Erzbistum Köln Newsletter Inhalt 1. Newsletter verwalten... 3 Schritt 1: Administration... 3 Schritt 2: Newsletter Verwaltung... 3 Schritt 3: Schaltflächen... 3 Schritt 3.1: Abonnenten Verwaltung...

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Updatebeschreibung JAVA Version 3.6 und Internet Version 1.2

Updatebeschreibung JAVA Version 3.6 und Internet Version 1.2 Updatebeschreibung JAVA Version 3.6 und Internet Version 1.2 Hier finden Sie die Beschreibung der letzten Änderungen und Aktualisierungen. Bei Fragen und Anregungen steht das EDI-Real-Team unter +43 732

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

Schritt 1 - Registrierung und Anmeldung

Schritt 1 - Registrierung und Anmeldung Schritt 1 - Registrierung und Anmeldung Anmeldung: Ihre Zugangsdaten haben Sie per EMail erhalten, bitte melden Sie sich mit diesen auf www.inthega-datenbank.de an. Bitte merken Sie sich die Zugangsdaten

Mehr

2.1 Grundlagen: Anmelden am TYPO3-Backend

2.1 Grundlagen: Anmelden am TYPO3-Backend 1 Grundlagen: Anmelden am TYPO3-Backend Zum Anmelden am TYPO3-Backend (dem Content Management System) tippen Sie in der Adresszeile Ihres Browsers (wir empfehlen Mozilla Firefox) hinter uni-bremen.de /typo3

Mehr

VENTA KVM mit Office Schnittstelle

VENTA KVM mit Office Schnittstelle VENTA KVM mit Office Schnittstelle Stand: 24.05.2013 Version: VENTA 1.7.5 Verfasser: Jan Koska 1. Funktionsumfang der Office Schnittstelle Die in VENTA KVM integrierte Office Schnittstelle bietet zahlreiche

Mehr

Änderung des Portals zur MesseCard-Abrechnung

Änderung des Portals zur MesseCard-Abrechnung Änderung des Portals zur MesseCard-Abrechnung Seit dem 1. Februar 2010 steht das neue Portal zur Abrechnung der MesseCard zur Verfügung. Dieses neue Portal hält viele Neuerungen für Sie bereit: Das Portal

Mehr

Import der Schülerdaten Sokrates Web

Import der Schülerdaten Sokrates Web 23.09.2014 Import der Schülerdaten Sokrates Web Leitfaden zum korrekten Import der Schülerdaten aus Sokrates Web WebUntis 2015 Über dieses Dokument Dieses Dokument beschreibt die konkreten Schritte, die

Mehr

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd Online-Prüfungs-ABC ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd Telefon Support: 0 62 23 / 86 55 55 Telefon Vertrieb: 0 62 23 / 86 55 00 Fax: 0 62 23 / 80 55 45 (c) 2003 ABC Vertriebsberatung

Mehr

Inhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen...

Inhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... Inhalt 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... 4 Seite 1 von 7 meliarts 1. Allgemeine Informationen meliarts ist eine Implementierung

Mehr

Anleitung Captain Logfex 2013

Anleitung Captain Logfex 2013 Anleitung Captain Logfex 2013 Inhalt: 1. Installationshinweise 2. Erste Schritte 3. Client-Installation 4. Arbeiten mit Logfex 5. Gruppenrichtlinien-Einstellungen für die Windows-Firewall 1. Installationshinweis:

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015

BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015 1 BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015 Installation Um den Support der BSV zu nutzen benötigen Sie die SMP-Software. Diese können Sie direkt unter der URL http://62.153.93.110/smp/smp.publish.html

Mehr

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird. Der Admin-Bereich im Backend Achtung: Diese Anleitung gibt nur einen groben Überblick über die häufigsten Aufgaben im Backend-Bereich. Sollten Sie sich nicht sicher sein, was genau Sie gerade tun, dann

Mehr

Anleitung BFV-Widget-Generator

Anleitung BFV-Widget-Generator Anleitung BFV-Widget-Generator Seite 1 von 6 Seit dem 1. Oktober 2014 hat der Bayerische Fußball-Verband e.v. neue Widgets und einen neuen Baukasten zur Erstellung dieser Widgets veröffentlicht. Im Folgenden

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Lieber SPAMRobin -Kunde!

Lieber SPAMRobin -Kunde! Lieber SPAMRobin -Kunde! Wir freuen uns, dass Sie sich für SPAMRobin entschieden haben. Mit diesem Leitfaden möchten wir Ihnen die Kontoeinrichtung erleichtern und die Funktionen näher bringen. Bitte führen

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Der Voxtron Konferenz-Server

Der Voxtron Konferenz-Server Der Voxtron Konferenz-Server Eine vertikale Applikation auf der Basis des Voxtron- Sprachportals Axxium für Telefonkonferenzen! Voxtron GmbH Tel: +49 2382-98974-0 Fax: +49 2382-98974-74 info@voxtron.de

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

Installation und Inbetriebnahme von SolidWorks

Installation und Inbetriebnahme von SolidWorks Inhaltsverzeichnis FAKULTÄT FÜR INGENIEURWISSENSCHAFTEN I Prof. Dr.-Ing. Frank Lobeck Installation und Inbetriebnahme von SolidWorks Inhaltsverzeichnis Inhaltsverzeichnis... I 1. Einleitung... 1 2. Installation...

Mehr

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional) Benutzerverwaltung mit Zugriffsrechteverwaltung (optional) Mit der Zugriffsrechteverwaltung können Sie einzelnen Personen Zugriffsrechte auf einzelne Bereiche und Verzeichnisse Ihrer Internetpräsenz gewähren.

Mehr

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

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard 1 von 6 102013 18:09 SharePoint 2013 Veröffentlicht: 16.07.2012 Zusammenfassung: Hier erfahren Sie, wie Sie einen KPI (Key Performance Indicator) mithilfe des PerformancePoint Dashboard Designer in SharePoint

Mehr

Leitfaden zur Anlage einer Nachforderung. Nachforderung. 04.04.2013 Seite 1 von 11 RWE IT GmbH

Leitfaden zur Anlage einer Nachforderung. Nachforderung. 04.04.2013 Seite 1 von 11 RWE IT GmbH Leitfaden zur Anlage einer 04.04.2013 Seite 1 von 11 Inhaltsverzeichnis 1 Aufruf des RWE smanagements...3 2 Eingabe der Benutzerdaten...4 3 Erfassen der...5 4 Neue...6 4.1 Allgemeine Daten...7 4.2 Beschreibung...7

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

Erstellen einer E-Mail in OWA (Outlook Web App)

Erstellen einer E-Mail in OWA (Outlook Web App) Erstellen einer E-Mail in OWA (Outlook Web App) Partner: 2/12 Versionshistorie: Datum Version Name Status 13.09.2011 1.1 J. Bodeit Punkte 7 hinzugefügt, alle Mailempfänger unkenntlich gemacht 09.09.2011

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

Seite 20-21 Wo finde ich die Landingpage Auswahl? Seite 22-24 Wie aktiviere ich eine Landingpage? Seite

Seite 20-21 Wo finde ich die Landingpage Auswahl? Seite 22-24 Wie aktiviere ich eine Landingpage? Seite Gesamte Anleitung Dashboard Seite 2-3 Meine Kontakte Seite 4-5 Wie lege ich eine neue Gruppe an bzw. ändere den Namen? Seite 6-7 Wie lege ich einen neuen Kontakt an? Seite 8-9 Wie ordne ich Kunden einem

Mehr

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

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013 Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

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

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Anleitung für TYPO3... 1. Bevor Sie beginnen... 2. Newsletter anlegen... 2. Inhalt platzieren und bearbeiten... 3. Neuen Inhalt anlegen...

Anleitung für TYPO3... 1. Bevor Sie beginnen... 2. Newsletter anlegen... 2. Inhalt platzieren und bearbeiten... 3. Neuen Inhalt anlegen... Seite 1 von 11 Anleitung für TYPO3 Inhalt Anleitung für TYPO3... 1 Bevor Sie beginnen... 2 Newsletter anlegen... 2 Inhalt platzieren und bearbeiten... 3 Neuen Inhalt anlegen... 3 Bestehenden Inhalt bearbeiten...

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1 Beispiel Shop-Eintrag Ladenlokal & Online-Shop. Als Händler haben Sie beim Shop-Verzeichnis wir-lieben-shops.de die Möglichkeit einen oder mehrere Shop- Einträge zu erstellen. Es gibt 3 verschiedene Typen

Mehr

Erstellen von Mailboxen

Erstellen von Mailboxen Seite 1 von 5 Erstellen von Mailboxen Wenn Sie eine E-Mail-Adresse anlegen möchten, mit Ihrem Domain-Namen, z. B. IhrName@Domain.com, müssen Sie eine Mailbox erstellen. Gehen Sie hierzu wie folgt vor:

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Anleitung zum Anlegen und Bearbeiten einer News in TYPO3 für www.fk-havelland-mitte.de

Anleitung zum Anlegen und Bearbeiten einer News in TYPO3 für www.fk-havelland-mitte.de WEBandIT.net - Anleitung zum Anlegen und Bearbeiten einer News in TYPO3 für www.fk-havelland-mitte.de Die Internet-Seite wird intern durch das Programm TYPO3 verwaltet. Eine Anmeldung ist nur durch Zugangsdaten

Mehr

Alerts für Microsoft CRM 4.0

Alerts für Microsoft CRM 4.0 Alerts für Microsoft CRM 4.0 Benutzerhandbuch Der Inhalt des Dokuments ist Änderungen vorbehalten. Microsoft und Microsoft CRM sind registrierte Markenzeichen von Microsoft Inc. Alle weiteren erwähnten

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Ihr Benutzerhandbuch für das IntelliWebs - Redaktionssystem

Ihr Benutzerhandbuch für das IntelliWebs - Redaktionssystem Ihr Benutzerhandbuch für das IntelliWebs - Redaktionssystem Der IntelliWebs-Mailadministrator ermöglicht Ihnen Mailadressen ihrer Domain selbst zu verwalten. Haben Sie noch Fragen zum IntelliWebs Redaktionssystem?

Mehr

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D-41236 Mönchengladbach, Hotline: 0900/1 296 607 (1,30 /Min)

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D-41236 Mönchengladbach, Hotline: 0900/1 296 607 (1,30 /Min) IT.S FAIR Faktura Handbuch Dauner Str.12, D-41236 Mönchengladbach, Hotline: 0900/1 296 607 (1,30 /Min) 1. Inhalt 1. Inhalt... 2 2. Wie lege ich einen Kontakt an?... 3 3. Wie erstelle ich eine Aktion für

Mehr

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH Dokumentenverwaltung Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe können Warenzeichen oder anderweitig

Mehr

Modul Bildergalerie Informationen zum Bearbeiten des CMS-Systems für den SV Oberteisendorf

Modul Bildergalerie Informationen zum Bearbeiten des CMS-Systems für den SV Oberteisendorf Inhaltsverzeichnis Allgemein...2 Bilder-Ordner für Bildergalerie einrichten und befüllen...3 Verzeichnis erstellen...3 Beschriftung der Fotos...4 Bildergalerie anlegen und einrichten...5 Vorbereitung im

Mehr

Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard

Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard Center für Digitale Systeme Kompetenzzentrum e-learning / Multimedia Arbeitsbereich e-learning: Qualitätsförderung und Schulung evaluation@cedis.fu-berlin.de April 2010 Anleitung zum Importieren, Durchführen

Mehr

ÖKB Steiermark Schulungsunterlagen

ÖKB Steiermark Schulungsunterlagen ÖKB Steiermark Schulungsunterlagen Fotos von Online-Speicher bereitstellen Da das hinzufügen von Fotos auf unsere Homepage recht umständlich und auf 80 Fotos begrenzt ist, ist es erforderlich die Dienste

Mehr

inviu routes Installation und Erstellung einer ENAiKOON id

inviu routes Installation und Erstellung einer ENAiKOON id inviu routes Installation und Erstellung einer ENAiKOON id Inhaltsverzeichnis inviu routes... 1 Installation und Erstellung einer ENAiKOON id... 1 1 Installation... 1 2 Start der App... 1 3 inviu routes

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden Agentur für Werbung & Internet Schritt für Schritt: Newsletter mit WebEdition versenden E-Mail-Adresse im Control Panel einrichten Inhalt Vorwort 3 Einstellungen im Reiter «Eigenschaften» 4 Einstellungen

Mehr

Kurzeinführung Excel2App. Version 1.0.0

Kurzeinführung Excel2App. Version 1.0.0 Kurzeinführung Excel2App Version 1.0.0 Inhalt Einleitung Das Ausgangs-Excel Excel-Datei hochladen Excel-Datei konvertieren und importieren Ergebnis des Imports Spalten einfügen Fehleranalyse Import rückgängig

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16 Änderungen in Dokumentation und Software sind vorbehalten! Copyright Copyright 2005 COSA GmbH Alle Rechte vorbehalten.

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

Erstellung botoptimierter Partnerlinks

Erstellung botoptimierter Partnerlinks Erstellung botoptimierter Partnerlinks Um bestimmte Aktionen und deren Rückläufer übersichtlich tracken zu können, bietet das RedSYS Partnerprogramm in Verbindung mit den botoptimierten RedSYS-Links, die

Mehr

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt: K U R Z A N L E I T U N G D A S R Z L WE B - P O R T A L D E R R Z L N E W S L E T T E R ( I N F O - M A I L ) RZL Software GmbH Riedauer Straße 15 4910 Ried im Innkreis Version: 11. Juni 2012 / mw Bitte

Mehr

Der einfache Weg zum CFX-Demokonto

Der einfache Weg zum CFX-Demokonto Der einfache Weg zum CFX-Demokonto Diese Anleitung hilft Ihnen bei der Eröffnung eines Demokontos beim CFX Broker. Jeder Schritt bis zur vollständigen Eröffnung wird Ihnen im Folgenden erklärt. Zur besseren

Mehr

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch: O UTLOOK EDITION Was ist die Outlook Edition? Outlook Edition integriert Microsoft Outlook E-Mail in Salesforce. Die Outlook Edition fügt neue Schaltflächen und Optionen zur Outlook- Benutzeroberfläche

Mehr

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de GEVITAS-Sync Bedienungsanleitung Stand: 26.05.2011 Copyright 2011 by GEVITAS GmbH www.gevitas.de Inhalt 1. Einleitung... 3 1.1. Installation... 3 1.2. Zugriffsrechte... 3 1.3. Starten... 4 1.4. Die Menü-Leiste...

Mehr

TYPO3 Super Admin Handbuch

TYPO3 Super Admin Handbuch TYPO3 Super Admin Handbuch Erweiterung News Für das System der Maria Hilf Gruppe Version 02 09.03.10 Erstellt durch: NCC Design Florian Kesselring Zeltnerstraße 9 90443 Nürnberg 1 Inhaltsverzeichnis Inhalt

Mehr

Tutorial: Wie kann ich Dokumente verwalten?

Tutorial: Wie kann ich Dokumente verwalten? Tutorial: Wie kann ich Dokumente verwalten? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Dokumente verwalten können. Dafür steht Ihnen in myfactory eine Dokumenten-Verwaltung zur Verfügung.

Mehr

Tutorial: Wie nutze ich den Mobile BusinessManager?

Tutorial: Wie nutze ich den Mobile BusinessManager? Tutorial: Wie nutze ich den Mobile BusinessManager? Im vorliegenden Tutorial erfahren Sie, wie Sie mit Hilfe des Mobile BusinessManagers über ein mobiles Endgerät, z. B. ein PDA, jederzeit auf die wichtigsten

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr