Software Architekturen Assignment 2 – Footbook Web Applikation

Technorati-Tags: ,

In diesem Beitrag möchte ich eine vollständige Beschreibung aller notwendigen Schritte erstellen, um die Web-Applikation ‘Footbook’ installieren und testen zu können. Zuerst werde ich die benötigte Software Schritt für Schritt installieren und danach die aktuelle Version der Web-Applikation aus dem Subversion-Repository auschecken um sie im letzten Schritt dann am Application-Server installieren zu können.

Benötigte Software

  • MySQL
  • GlassFish
  • ActiveMQ

Voraussetzung:

1. Aktuelle Java Version bereits installiert und JAVA_HOME richtig gesetzt und im Path hinzugefügt.
2. Apache Ant installiert und ANT_HOME richtig gesetzt und im Path hinzugefügt.

1. GlassFish v2.1.1

Im nächsten Schritt wird empfohlen, die heruntergeladene Jar-Datei in einem Verzeichnis abzulegen, sodass der Pfad keine Leerzeichen enthält. Danach muss folgendes Kommando über die Windows-Console ausgeführt werden: java -Xmx256m -jar filename.jar

image

Nach Bestätigung des Kommandos öffnet sich ein neues Fenster indem die Lizens-Bedingungen erläutert werden. Diese müssen bestätigt werden. Die ‘Accept’ Schaltfläche wird erst aktiv nachdem der seitliche Scroll-Balken bis an das Ende des Linzensfensters gezogen wurde. Auf der Konsole erscheint dann die entsprechende Statusmeldung sofern der Application-Server fertig installiert wurde.

image

Es wird ein ‘glassfish’ Verzeichnis angelegt. Im nächsten Schritt muss man in dieses Verzeichnis wechseln und folgendes Kommando ausführen: ant –f setup.xml

image

Der Application-Server sollte nun installiert und die Default-Domäne (domain1) erstellt worden sein:

image

Um den Server starten zu können muss ins bin-Verzeichnis der Installation gewechselt werden.

image  

Mit asadmin start-domain domain1 kann der Server gestartet

image

image 

und mit asadmin stop-domain domain1 gestoppt werden.

Zusatzinformation: Unter dem folgenden Link wird ganz genau erklärt wie die Default-Domain (domain1) gestartet werden kann.

2. Apache ActiveMQ v5.3.0

Nachdem die Zip-Datei heruntergeladen und entpackt wurde, wechselt man einfach ins bin-Verzeichnis und startet mittels activemq.bat den Message Provider:

image

image

3. Memchached v1.2.1 (Win32)

Auch hier muss die Zip-Datei heruntergeladen und entpackt werden. Danach über eine Windows-Konsole memcached.exe ausführen. Somit wurde der Memchaced-Server gestartet. Es erfolgt keine Ausgabe auf der Windows-Konsole.

image

4. MySQL v5.1.41

Setup einfach ausführen und den Installationsanweisungen folgen. Ich persönlich habe immer die ‘recommended’ Einstellungen gewählt. Nachdem die Installation abgeschlossen wurde muss ins bin-Verzeichnis gewechselt werden und mittels mysqld –console über eine Windows-Konsole der Datenbank-Server gestartet werden.

image

Es öffnet sich ein neues Konsolenfenster das wie folgt aussieht:

image

Jetzt muss eine neue Datenbank (swa) angelegt werden. Dazu muss in einem neuen Windows-Konsolenfenster ins bin-Verzeichnis der MySQL-Installation gewechselt werden. Jetzt muss man sich mit einem Benutzer anmelden der autorisiert ist, neue Datenbanken anlegen zu dürfen:

image 

Der nächste Schritt ist das Anlegen eines neuen Benutzers ‘swa’ mit dem Passwort ‘swa09’. Mittels CREATE USER ’swa’@’localhost‘ IDENTIFIED BY ’swa09′; kann dies erledigt werden. Danach müssen dem Benutzer noch die entsprechenden Rechte für die ‘swa’-Datenbank zugeordnet werden: GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON swa.* TO ’swa’@’localhost‘.

image

image 

mysql kann nun mittels Ctrl+C beendet werden.

Footbook-Implementierung

Bis zu dieser Stelle sollten nun alle notwendigen Software-Komponenten installiert und konfiguriert sein. Es kann nun im nächsten Schritt eine aktuelle Version der Implementierung aus dem Subversion-Repository ausgecheckt werden:

svn checkout http://subversion.assembla.com/svn/swa010WS/impl

image

Danach muss in das impl-Verzeichnis gewechselt werden und mittels ant compile kann die Anwendung kompiliert werden.

image

image 

Da für das Web-Frontend für Footbook das Apache Tapestry Framework v5.1.0.5 verwendet wurde, müssen in GlassFish noch einige Libraries konfiguriert werden. Zur Beschreibung wurde eine README-Datei im impl-Verzeichnis angelegt die mittels type README gelesen werden kann.

image

In dieser Datei steht, dass zur Ausführung der Web-Applikation der MySQL-JDBC Treiber und Tapestry-spezifische Libraries in GlassFish konfiguriert sein müssen. Der MySQL JDBC-Treiber muss nur in das lib-Verzeichnis des Application-Server kopiert werden. Das Anlegen der notwendigen Datasource wird automatisch beim Deployment der Web-Applikation erledigt.

Nachdem alle notwendigen Libraries, der JDBC-Treiber kopiert und die Properties in der Admin-Console des GlassFish Application-Servers gesetzt wurden, muss der Server restartet werden und dann kann die Anwendung erfolgreich deployt werden. Es muss einfach nur ant deploy im impl-Verzeichnis der ausgecheckten Version der Footbook Web-Applikation ausgeführt werden.

Hinweis: Folgende Environment-Variablen müssen gesetzt sein: ACTIVEMQ_HOME, GLASSFISH_HOME. MySQL, GlassFish, ActiveMQ und Memcached müssen gestartet sein.

Da ich in letzter Zeit noch HTTPS in der Web-Applikation aktiviert habe, ist die Applikation über folgende URL erreichbar:

https://localhost:8181/footbook/login

Der HTTPS Port von GlassFish ist 8181. Mit dieser Erklärung sollten eigentlich keine Probleme bezüglich der Konfiguration mehr auftreten.

image

Deployment

Noch kurz ein paar Hinweise zum Deploy-Vorgang. Wenn im impl-Verzeichnis ant deploy aufgerufen wird, werden automatisch alle noch notwendigen Einstellungen für die Applikation vorgenommen. Zum Beispiel wird die Datasource für die MySQL Datenbank in GlassFish automatisch via Ant konfiguriert.

image

Im setup-Verzeichnis gibt es eine swa-ds.xml wo die Settings für die Datasource betrachtet werden können. Zuerst wird das Data-Projekt in einer rar-Datei am Application-Server deployt. Dabei wird die Spring-Konfiguration (data/resources/beans/applicationContext.xml) geladen. Sobald das Data-Projekt fertig installiert wurde, sind alle DAO-Objekte mittels RMI zugreifbar.

Danach wird das Front-Projekt am Application-Server deployt. Sobald ein Benutzer versucht sich bei Footbook anzumelden, wird ein User-DAO-Objekt vom Service-Layer angefordert um den User zu authentifizieren. Die Anforderung bzw. die Übertragung des DAO-Objekts erfolgt über RMI. Die notwendigen RMI-Konfigurationen sind ebenfalls in der Spring-Konfiguration, sowohl im Front- als auch im Data-Projekt im jeweiligen beans-Verzeichnis zu finden.

Für die implementierten Use Cases werde ich einen eigenen Beitrag verfassen. Dies sollte vorerst einmal ausreichen um die Web-Applikation zum Laufen zu bringen.

Viel Erfolg dabei!

Über sageniuz

https://about.me/ClausPolanka
Dieser Beitrag wurde unter University veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s