M42.Produkte.Hephaistos.Features()
Logo
Produkte
CMS  
Kronos  
Hephaistos  
Information  
Features  

Kompetenz

Projects

Referenzen
NavWidth
Kontakt

NavWidth
 

Hephaistos

Features

Das Framework wurde mit Java 1.4 realisiert. Es lässt sich grob in 6 Teile gliedern:

Pool

Mit Hephaistos lassen sich ganz verschiedenartige Pools realisieren. Zum einen können dies Pools für die Datenhaltung und das Objekt-Caching sein, zum anderen Pools von Objekten, die aufwendig in der Instanzierung sind.
Die zweite Art von Pools kennt einige spezielle Untergruppen:
Connection-Pools kapselt eine Datenbank-Verbindung, so dass nicht jedesmal eine neue Verbindung zum Datenbank Server aufgebaut werden muss. So können die Antwortzeiten der SQL Statements wesentlich reduziert werden.
Thread-Pools kapseln eine Anzahl von Threads, denen Prozesse zugewiesen werden können. Dadurch kann einerseits ein möglichst paralleles Verarbeiten erreicht werden, andererseits können Prozesse nach Priorität geordnet werden.
Jedem Pool kann ein Idle-Timeout zugewiesen werden. Nach dieser Zeit überprüft ein Pool Cleaner, ob das jeweilige Objekt noch gültig ist und entfernt es wenn nötig. Alle diese Pools können über einen einzigen Pool Manager verwaltet werden. Zu Testzwecken kann sogar ein Swing Fenster angezeigt werden, in dem sich alle Pools überwachen lassen.

Message System

Das Message System ist direkt an mehrere Thread-Pools gekoppelt, so dass Nachrichten mit höherer Priorität schneller verarbeitet werden als solche mit niederer. Messages werden gemäss ihres Typs an die jeweilige Stelle weitergeleitet und verarbeitet.
Würde der Server mit vielen intensiven Anfragen belastet werden, so würde sich bloss die Message-Queue vergrössern. Sobald wieder mehr Ressourcen vorhanden sind, kann er diese wieder abbauen. So kann eine kurzfristige Überlastung des Servers verhindert werden.

Networking

Mit Hephaistos lassen sich verschiedene Verbindungen gleichzeitig realisieren.
Die Networking Klassen kapseln die eigentlich Kommunikation von dem darunterliegenden Mechanismus ab. So kann die gleiche Applikation mit dem einen Client über RMI kommunizieren, während sie mit einem anderen Client direkt über einen TCP-Socket verbunden ist. Die entsprechenden Proxy Klassen gewährleisten über ein gleiches Interface immer den selben Aufruf. Es ist damit ein Leichtes die Kommunikationsschicht im Laufe der Entwicklung zu ändern oder an eine neue Umgebung anzupassen.

Datamapping

Die Reflection Klassen bieten hilfreiche Methoden an, um verschiedene Datentransfere zu ermöglichen. So etwa aus einem XML Daten in ein entsprechendes Bean zu kopieren.

Utilities

Die Utility Klassen sind sehr heterogen, sie bieten verschiedene kleine Methoden für alltägliche Aufgaben. Von einfachen Datenkonvertierungen bis hin zu Datenbank Zugriffen über den Connection-Pool.

Logging

Dieses Package baut auf Log4J auf. Da Hephaistos Multi-Tier Applikationen unterstützt, ist es immer wieder sinnvoll alle möglichen Log-Events aus allen Schichten zentral zu sammeln. Nur so lassen sich ganze Abläufe vom Client zum Server (bis hin zum nächsten und übernächsten Server) und wieder zurück analysieren. Diese Aufgabe erfüllt ein Log-Server, der alle Log-Events über RMI oder TCP bündelt und ablegt.


 
   
 
  Drucken    
M42 - Postfach 2662, CH-8021 Zürich - info@m42.ch - www.m42.ch