|
||||||||
Zweck
Features
AVAX wird durch folgende Hauptmerkmale charakterisiert:
Durch Unterstützung von Multiprocessing versteht man Verwendung optimaler Anzahl der Applikationsprozesse ( zB. JAVA Virtual Machine Prozesse ), die sowohl auf einem Multiprozessorrechner als auch im Rechnercluster eingesetzt werden. Dadurch werden die Ressourcen der Rechner optimal genutzt, gleichzeitig werden die Verfügbarkeit der Anwendung ( zB. durch Reduzierung der Garbage Collection Probleme ) und die Performance gesteigert. Die Anwendungsprozesse können sowohl im lokalen Rechnercluster verteilt sein. Auch eine Integration der Systeme über Internet wird möglich.
Die Kommunikation zwischen den Systemkomponenten basiert bei AVAX prinzipiell auf hochoptimierten XML-Kommunikation, unterstützt direkt WebServices-Standard. Diese XML-Kommunikation erreicht in der Performance die native Kommunikation der jeweiligen Programmiersprache, bietet aber den Vorteil der Offenheit und Unabhängigkeit von der Programmiersprache: dadurch können Systemkomponenten performant miteinander integriert werden, die in unterschiedlichen Programmiersprachen entwickelt wurden. Die allseitige Flexibilität von AVAX erlaubt es auch, für die Kommunikation wahlweise eine - native superschnelle Kommunikation ( optimiert gegenüber der Standardimplementierung ) - komprimierte XML Kommunikation - verschlüsselte Kommunikation ( um Security auf mehreren Ebenen zu gewährleisten ) einzusetzen, einfach durch entsprechende Konfigurationsvorgabe.
AVAX verwendet intern ein flexibles Load Balancing Konzept. Die Anwendungsrequests werden je nach zu erwarteten Load auf die einzelnen Anwendungsprozesse durch den Load Balancer verteilt. Die Konfiguration des Application Servers kann dynamisch sein, die Anzahl der aktiven Prozesse wird automatisch gesteuert. Durch Verwendung von Multiprocessing/Clustering ist AVAX in der Lage, die Ressourcen der Hardware optimal zu nutzen, ohne daß dabei systembedingten Leistungsverluste notwendig sind.
AVAX ist lauffähig auf fast allen gängigen Betriebssystemen.
AVAX wurde implementiert in JAVA, C#, C++, Delphi. Connectormodule werden in anderen Programmiersprachen entwickelt. Die Anwendungen können in den entsprechenden Programmiersprachen entwickelt und unter AVAX eingesetzt werden. Dabei ist es möglich, die Implementierungen in verschiedenen Sprachen miteinander laufen und kommunizieren zu lassen. Ebenso ist es möglich, daß der Clientteil der Anwendung in beispielsweise C# und der Serverteil der Anwendung in JAVA implementiert werden und miteinander funktionieren können. Da AVAX auf dem Application Framework JUVE basiert, ist eine heterogene Entwicklung in unterschiedlichen Programmiersprachen durch Verwendung von JUVE und JUVE Development Process vereinfacht, aufwandminimierend. Dadurch entstehen für den Systemarchitekten völlig neue Möglichkeiten. Es ist möglich, den Clientteil der Anwendung basierend auf .NET-Ansätzen mit C# zu implementieren, und gleichzeitig um eine hohe Skalierbarkeit des Serverteils den Server unter UNIX als JAVA-Implementierung auf einem entsprechenden UNIX-Serverrechner zu betreiben.
Technologie
AVAX basiert intern auf dem Application Framework JUVE. Durch entsprechende Bridges ist aber der Betrieb von Applikationen, die nicht mit JUVE entwickelt wurden auch möglich. AVAX realisiert grundsätzlich das Konzept der Service Oriented Architecture. Als Basis für die Kommunikation dient der Mechanismus WebServices. Intern basiert die Implementierung von AVAX auf dem Frameworkmodul JUVE Web Services.
Standard Funktionalität
AVAX verwaltet die Anwendungen auf der Basis der Applikationsdeskriptoren. Die Applikationsdeskriptoren definieren die Anwendung hinsichtlich der Schnittstellen ( JUVE Web Service Provider ), Commands, User und deren Berechtigungen. JUVE Web Service Provider definiert eine Applikationsschnittstelle mit einer Zahl von Requestmethoden auf der Anwendungsebene. Die Requestmethoden definieren die Input/Outputparameter, die seinerseits sowohl Primärdatentypen ( int, long, double, String ) sein können als auch Klassen der Domänenschicht der Anwendung ( Bank, Person, etc. ). Die Schnittstellen basieren auf dem Standard Web Services, sind aber generisch aufgebaut. Dadurch müssen die Klassen der Domänenschicht nicht für die Übergabe als Parameter registriert werden. Eine Anwendung kann über mehrere Web Service Provider angesprochen werden. Die Architektur fördert direkt die Wiederverwendung der Software: Web Service Provider können generisch gebaut werden, die gleichen Web Service Provider können in unterschiedlichen Anwendungen verwendet werden.
AVAX unterstützt die Userverwaltung und die Zugriffsauthorisierung. Die Userverwaltung basiert auf dem Rollenprinzip. Die Authorisierung erfolgt auf der Rollenebene. Den Usern können mehrere Rollen zugewiesen werden. Die Userverwaltung und Zugriffsauthorisierung ist für jede von AVAX verwaltete Anwendung separat. Die Zugriffsauthorisierung kann für eine Userrolle auf mehreren Ebenen definiert werden: - Ebene der Domänenklassen für jede Domänenklasse in der Anwendung können die Lese/Lösch/Schreib-Rechte definiert werden - Ebene der Web Service Provider für jeden Web Service Provider in der der Anwendung können die Aufruf-Rechte definiert werden - Ebene der Web Service Provider Requestmethoden für jede Web Service Provider - Requestmethode in der der Anwendung können die Aufruf-Rechte definiert werden - Ebene der internal/external Commands für die in der Anwendung aufrufbaren Kommandos können n der der Anwendung können die Aufruf-Rechte definiert werden
Erweiterte Funktionalität
AVAX außer der Standardfunktionalität des Application Servers enthält Mechanismen, die zur erweiterten Unterstützung der plattformunabhängigen Systemen benötigt werden:
Der Resource Manager verwaltet alle Systemressourcen, die von den Anwendungen in Anspruch genommen werden können. Darunter versteht man Datenbankverbindungen, Data Stores, File Stores, etc. Die Verwaltung erfolgt je nach Bedarf nach passenden Zuweisungsstrategien: - Shared Pool Resource Access Strategy - Unlimited Generative Resource Access Strategy - Read Only Resource Access Strategy Das Ziel der Verwendung des Resource Managers ist es, den Ressourcenverbrauch des Rechners zu minimieren und gleichzeitig die Performance der Anwendung zu steigern. Es wird grundsätzlich durch Pooling und Caching der Ressourcen erreicht. Durch die Wahl der entsprechenden Access Strategy wird dem Charakter der Ressorcennutzung die Rechnung getragen.
AVAX verfügt über einen internen Taskscheduler, der die zeitliche Ausführung von Tasks im System zentral steuert. Scheduler übernimmt die automatische Ausführung von Hintergrundaufgaben. Die Ausführung wird vom Scheduler nach Vorgaben zeitlich komplett gesteuert.
Neue Möglichkeiten für die Applikationsentwicklung und den Betrieb
Durch den Einsatz von AVAX entstehen wesentliche Vorteile für die Systemarchitektur
Die Sicherheit der Investition in die Softwareentwicklung wird durch den Einsatz von AVAX erhöht, denn
Weitere Dokumentation
Power Point Präsentation ( PDF ): Avax Application Server Architecture
Kontakt
|
||||||||