Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

51
1 EsprIT Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

description

Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung. Just do it. Deine Taten sind sinnlos wenn niemand davon erfährt. Inhalt. Esprit Network Suite Web- contra Rich-Client Multi-Kanal Client Sessions Agenten Konzept Client-Kommandos, Server-Calls - PowerPoint PPT Presentation

Transcript of Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

Page 1: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

1

EsprIT

Esprit Network SuiteEin Java Framework für Agenten-basierende

Client/Server Programmierung

Page 2: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

2

EsprIT Just do it

Deine Taten sind sinnlos

wenn niemand davon erfährt

Page 3: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

3

EsprIT Inhalt

Esprit Network Suite

Web- contra Rich-Client

Multi-Kanal Client Sessions

Agenten Konzept

Client-Kommandos, Server-Calls

MVC & Alive Business Objects

Workflows

Esprit Client Funktionen

Esprit Server Funktionen

Server Kaskadierung

Server Datenbankanbindung

Key-Vorteile, Vergleich

Page 4: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

4

EsprIT Welt-Netzwerk

Page 5: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

5

EsprIT Web- oder Fat-Client?

WebServer

HTTP/HTMLWeb

Clientstateless

unidirektional

ServletJSPsJSF

StrutsSpringHtmlXML

TaglibsPHPASP

PEARLCGI

Web-Browser

...ist der EsprIT Server für Rich-Clients

EsprITServer

Java Objekt- Serialisierung

RichClient

statefullbidirektional

Pure JavaAgenten

Alive Business Objects

Java VM

Was der Web-Server für Web-Clients...

Page 6: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

6

EsprIT Rückkehr der Rich-Clients

Web-Client

+ Keine Software Installation nötig

+ Zugriff auf Server von überall

- Browser abhängig

- Eingeschränkt auf Browser GUI

- Eingeschränkt in Komplexität

- Kein echtes Session Management

- Fehlersicherheit ist schwierig

- Software ist schwer wartbar

- Aufwendiges Server-Polling

- Eingeschränkte Performance

- Starke Last auf Serverseite

Rich-Client

- Installation nötig auf Client

(Automatisch seit Java-Webstart)

+ Kein Browser nötig

+ Uneingeschränkte GUI Power

+ Uneingeschränkte Komplexität

+ Echtes Session Management

+ Robust und Fehlersicher

+ Software leicht wartbar

+ Dynamische Benachrichtigung

+ Bestmögliche Performance

+ Last verteilt auf Client und Server

Vorteile/Nachteile Web/Rich Clients

Page 7: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

7

EsprIT Client Verbindung

Esprit Multi-Kanal Client Verbindungen

• Request/Response Kanal für sync/async Client Anfragen

• Message Kanal für asynchrone Server Nachrichten

• Transfer Kanal (optional) für Übertragung von File-Sets

• Web Kanal (optional) für Zugriff auf HTML Dokumente

Request/Response und Message Kanäle bilden eine Client-Session

Page 8: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

8

EsprIT Request/Response

Request/Response Kanal (synchron)• Request wird zum Server geschickt, Client erhält Response • Request and Response tragen ein beliebiges Argument-Objekt• Request kann auf Client oder Server in Timeout laufen• Request kann hohe/niedrige Priorität haben• Request kann asynchron sein (Response wird in Message empfangen)

synchron: Client GUI blockiert vollständig bis Response empfangen wird

asynchron: Nur die aufrufende Client-Aktion blockiert bis Response empfangen wird

EsprIT Server

DatenbankRequest

Client

Response

Page 9: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

9

EsprIT Message

Message Kanal (asynchron)

• Server schickt asynchrone Message an Client• Message kann beliebiges Argument-Objekt tragen• Message kann stammen vom Server, anderen Clients, Client selbst• Verschiedene Messages lösen verschiedene Reaktionen bei Client aus• Client registriert/deregistriert sich für bestimmte Message-Typen• Client kann ein ausführbares Kommando in Message erhalten

Kommando wird synchron oder asynchron im Client ausgeführt

EsprITServer

DatenbankClientMessage

Client registriert sich für bestimmte Messages

Page 10: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

10

EsprIT File-Transfer

Transfer Kanal für transaktionale Datei-Übertragungen

• Tempoäre TCP Verbindung ausschließlich für Datei-Transfer

• Gemischte Up/Downloads von Dateien in Transaktion

• Kann synchron/asynchron, gesperrt/ungesperrt laufen

• Viele Transfers können parallel laufen• Unterstützt auch File-DownStreaming

Auswertung des Datei-Inhalts direkt aus dem Stream ohne Speicherung auf Client

EsprIT Server

Transfer KanalDatenbankClient

transaktionaleUp/Downloadsvon Dateien

Page 11: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

11

EsprIT Web

Web Kanal - Integrierter Web-Server

• Zugriff auf HTML Dokumente, Bilder, etc.

• Client SW-Installation/SW-Aktualisierung per Java-Web-Start

EsprIT Server

Web KanalDatenbankClient

HtmlBilder etc...

HTTP Request

Web Bereich

Page 12: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

12

EsprIT Runtime-Umgebung

Austausch-Objekte (Agenten)

ClientContext ServerContext

Page 13: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

13

EsprIT Agenten Lebenszyklus

ClientContext ServerContext

Agent als zwei-Welten Objekt

1. Instantiierung im Client (ClientContext ctx)

2. Transfer zum Server und Ausführung (ServerContext)

3. Rücktransfer zum Client und Ergebnis-Verarbeitung

Erzeugungnew MyAgent(ctx)doBeforeSend()

AusführungexecuteOnServer()Ergebnis

doOnResponseReceived()doOnMessageReceived()

sendForExecution()

MyAgent agent = new MyAgent(ctx);agent = agent.sendForExecution();Result result = agent.getResult();

Page 14: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

14

EsprIT Agenten Konzept

Synchrone Ausführung von Agenten

• Agent ist Argument von Request/Response oder Message

• Agent wird auf dem Server ausgeführt und dann zurückgeschickt

• Agent wird auf dem Client beim Empfang postprocessed

• Agent enthält Input-Parameter und Ergebnisse der Ausführung

• Kann mit definierbarer Priorität laufen

• Kann beliebiges Argument-Objekt beinhalten (ggf. gezipped)

Datenbank

Request

Client

Response

Sync

Page 15: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

15

EsprIT Asynchrone Agenten

Asynchrone Ausführung von Agenten

• Agent kann auf dem Server asynchron ausgeführt werden

• Nach Ausführung wird Agent in einer Message zurückgeschickt

• Die aufrufende GUI-Aktion blockiert bis Message empfangen wird

• Client kann asynchrone Agenten jederzeit abbrechen

• Client kann viele asynchrone Agenten parallel laufen lassen

• Wenn Client terminiert, beendet Server alle Agenten dieses Clients

Datenbank

Request

Client

Message

Async

Page 16: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

16

EsprIT Parallel-Ausführung

Parallel-Ausführung von Agenten auf Client und Server

1. Asynchroner Agent wird teilw. synchron auf Server ausgeführt und sofort in Response zum Client geschickt (mit Teilergebnissen)

2. Server startet asynchrone Ausführung des Agenten

3. Client startet Postprozessing des Response-Agenten

4. Server sendet fertigen Agenten in Message (mit Vollergebnis)

5. Client postprozesst den erhaltenen Message-Agenten

So findet gleichzeitiges Prozessing auf Server und Client statt

Datenbank

Request

Client

Message

Response Async

Sync

Page 17: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

17

EsprIT Sequenzierte Agenten

Sequenzierte Agenten erstrecken sich über mehrere Messages

• Große Ergebnismengen werden in mehreren Teilmengen geschickt

• Größe der Teilmengen ist frei definierbar

• Client kann Fortschritt in einem Progress-Bar anzeigen

• Client GUI-Aktion blockiert bis letzte Teilmenge empfangen wurde

• Beispiel: Lesen großer Datenmengen aus Datenbank

Datenbank

Request

Client

Sequenz von Messages

AsyncAsync

Async

Page 18: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

18

EsprIT Client Kommandos

Server kann Kommando an Client schicken

• Kommando wird beim Empfang vom Client ausgeführt

• Ausführung kann synchron oder asynchron im Client laufen

• Client-Kommando kann beliebige Funktionen des Clients ausführen

• Server benutzt Client-Kommando, um Clients zu kontrollierenBeispiel: Erzwungenes Beenden eines Clients

• Benutzer können Client-Kommandos zu anderen Clients schicken

Client-KommandoClient Datenbank

EsprIT Server

Page 19: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

19

EsprIT Remote Tasks

Synchronisierter Ablauf zwischen lokalem und remotem Prozeß

• Client Thread startet remoten Thread auf Server• Client Thread wartet auf Events des Server-Threads• Server-Thread sendet Prozeß-typische TaskEvents:

STARTED, PROCEEDED, SUCCEEDED, CANCELLED, FAILED, FINISHED

• Das FINISHED-Event beendet auf jeden Fall den Wartezustand• Einfache Programmierung von asynchron ablaufenden Workflows

TaskEventClient Datenbank

EsprIT Server

Lokaler Thread Remote Thread

Fortschritts-Monitoring

Page 20: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

20

EsprIT Client Kommunikation

Clients können direkt miteinander kommunizieren

• Ein Client kann Nachricht schicken an:- einen bestimmten Client- einen bestimmten Benutzer (kann mehrfach eingeloggt sein)- alle verbundenen Clients

• Integriertes Client-Chat-Tool

• Integriertes Client-Benachrichtigungs-Tool

EsprIT Server

Client 1

Client 2

Client 3

Integriertes Client Chat-Tool

Client-Nachricht

Page 21: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

21

EsprIT Anwendungen schreiben

Agenten sind die Programmier-Schnittstelle für Anwendungen

• Agenten beinhalten Code für Prozessing auf Server und Client

• Ein Agent kapselt eine bestimmte Funktion vollständig

• Eine Anwendung schreiben bedeutet: Schreiben bestimmter Agenten für bestimmte Funktionen!Das ist alles!

• Server-seitige Software bleibt unverändert

• Umfangreiche Agenten-Bibliothek für Standardfunktionen vorhanden

Page 22: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

22

EsprIT Anwendungen schreiben II

Programmierung von Anwendungen

ClientContext

MyClientContext

Custom Components

ServerContext

MyServerContext

Eigene KomponentenCustom Components

MyAgentXY

Page 23: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

23

EsprIT MVC über Netz

Page 24: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

24

EsprIT Alive Business Objects

"Lebende" Business Objekte, global zugreifbare Server-Objektemit dynamischer Aktualiserung auf allen Clients - ohne deren Zutun

Ein Client modifiziertdas Business-Objekt

EsprIT Server

Alle Clients werden benachrichtigt und aktualisieren ihre Darstellung

Datenbank

Tank ...

Tank 5

Tank 4

Page 25: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

25

EsprIT Alive Business Objects II

Alive Business Objects (ABOs)

• Verwenden MVC über Netz

• ABOs unterscheiden sich durch PrimaryKey

• Änderungen werden an zugreifenden Clients kommuniziert

• Können mit serverseitiger Editier-Sperre zugegriffen werden

• Können Datenbank-persistent sein

• Extrem einfach in der Anwendung

• fetch(withLock, PrimaryKey) Zugriff mit PrimaryKey (ggf. mit gleichzeitiger Editier-Sperre)

• find(SqlCondition) Suche nach allen, die SQL-Bedingung erfüllen

• drop() Vergiß dieses Objekt (keine Aktualiserung mehr)

• create() Erzeuge neues Objekt auf Serverseite

• update() Aktualisiere Objekt auf Serverseite

• delete() Lösche Objekt auf Serverseite

Page 26: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

26

EsprIT Alive Business Objects III

ABO Server-Cache

• ABOs werden auf Serverseite gecached für schnellen Zugriff

• ABO-Access-ListServer weiß, welcher Client welches ABO im Zugriff hatund schickt Change-Events nur an diese Clients

• Client kann ABO "droppen" und wird dann nicht mehr informiert

• Wenn kein Client mehr zugreift wird ABO aus dem Cache gelöscht

• Cache-resistente ABOs bleiben immer im Cache

EsprIT Server

Client 1

Client 2

ABO-Cache

TrackABO

GraphABO

Page 27: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

27

EsprIT ABO-Anwendung

Anwendung bei Hydro Aluminium Hamburg

EsprIT ServerClient 1

Client 2

ABO-Cache

ca. 1000MFStateABOs

Client 1

Client 2

Datenbank

Datenbank

Vorher

NachherSQL

ABO Filter

SQL

Page 28: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

28

EsprIT Remote Tasks

Synchronisierter Ablauf zwischen lokalem und remotem Prozeß

• Client Thread startet remoten Thread (Prozeß) auf Server

• Client Thread wartet auf Events des Server-Threads• Server-Thread sendet Prozeß-typische TaskEvents:

STARTED, PROCEEDED, SUCCEEDED, CANCELLED, FAILED, FINISHED

• Das FINISHED-Event beendet auf jeden Fall den Wartezustand

• Einfache Programmierung von asynchron ablaufenden Workflows

TaskEventClient Datenbank

EsprIT Server

Lokaler Thread Remoter Thread

Fortschritts-Monitoring

Page 29: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

29

EsprIT Async Task Framework

Robust kontrollierter Ablauf asynchroner Tasks

Page 30: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

30

EsprIT Workflows

Workflows

• Kontrollierter Ablauf mehrerer asynchroner Tasks

• Incl. Remote-Tasks, File-Transfers, Stream-Downloads uva...

• Workflow Monitor zeigt geplante/laufende/erledigte Tasks

Page 31: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

31

EsprIT Server Sperren

Server Resource Sperren

• Beliebige Server-Objekte können mit Zugriffssperre belegt werdenSHARED mehrere Zugriffe erlaubt - schützt vor LöschenEXCLUSIVE nur ein Zugriff - schützt vor fremden Änderungen

Sperren sind "geleased"

• Client muss eine Sperre regelmäßig retriggernFällt Client aus, wird die Sperre automatisch aufgelöst

• Administrator kann Freigabe einer Sperre erzwingen

Beispiele

• Zugriff auf eine Server-Datei

• Zugriff auf die Datenbank

• Zugriff auf ein ABO (Alive Business Object)

Page 32: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

32

EsprIT EsprIT Client

Umfangreiches Client Framework

• GUI Framework zur Entwicklung kundenspezifischer Clients

• Dynamisches Verbinden/Trennen zum/vom EsprIT-Server

• Kommunikation mit anderen Clients

• Viele fertige GUI Komponenten und GUI Unterstützungs-Klassen

• Leistungsfähigs Async-Task Framework

Page 33: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

33

EsprIT Client Aktivitäts-Monitor

Clientseitige asynchrone Aktivität besteht aus:Agenten: Laufende Agenten

Transfers: Laufende File-Transfers/Stream-Downloads

Prozesse: Laufende lokale/remote OS-Prozesse

Commands: Laufende (empfangene) Client-Kommandos

Sperren: Vom Client belegte Sperren auf Server-Resourcen

ABOs: Vom Client zugegriffene Alive-Business-Objects

• Sämtliche asynchrone Client-Aktivität kann visuell beobachtet werden

• Benutzer kann jegliche asynchrone Aktivität jederzeit abbrechen

Asynchrone Client Aktivität auf dem Server

Verbinden/Trennen

Message LED

Request LED

Page 34: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

34

EsprIT EsprIT Admin-Client

Administrations-Client zur Kontrolle des EsprIT Servers

• Beobachtet Server-Aktivität (Parameter Profil)

• Zeigt Console-Ausgaben und Server-Events online

• Erlaubt das interaktive Auswerten der Server Logfiles

• Dynamische Konfiguration der Server Runtime-Parameter

• Beobachtet und kontrolliert Clients

• Administrator Nachrichten an Clients

Page 35: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

35

EsprIT EsprIT Server

Voll ausgestatteter Multikanal Middleware Server

• Läuft als Hintergrundprozeß

• Unabhängig von Plattform oder Datenbank (pure Java)

• Skalierbar, dynamisch konfigurierbare Thread-Pools

• Integrierter User-Manager

• Verwaltet Editier-Sperren für Server-Resourcen• Automatisches Logfile-Management

Div. Logfiles für div. Applikationen

• Leicht auf kundenspezifische Funktionalitäten zu erweiternViele fertige Server-Komponenten verfügbar...

ServerContext

MyServerContext

Eigene KomponentenEigene Komponenten

Page 36: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

36

EsprIT Server Profil

Server Aktivitäts-Profil

• Beobachtbare Server-Statistiken

Page 37: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

37

EsprIT Integrierter WebServer

Integrierter Webserver• HTML Dokumentation, Webservice, Classdownloading

Page 38: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

38

EsprIT Datenbank-Zugriff

Remote-Zugriff auf Datenbank (Volle Editier-Funktionalät)

Page 39: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

39

EsprIT Server Kaskadierung

Mehrere Server können zu einem Verbund kaskadiert werden

• Ein Server kann Client eines anderen Servers sein

• Co-Client/Co-Server Verbindungen sind ausfallsicher (monitored)

• Requests können zu einem Ziel-Server gerouted werden

• Agenten können über mehrere Server durchgereicht werden

Page 40: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

40

EsprIT Co-Clients, Co-Server

Co-Client und Co-Server Verbindungen

Dieser Server hat einen anderen Server als Co-Client

Dieser Server is Co-Client von zwei anderen Servern

3 Benutzer sind aktiv

Ein Benutzer hält eine exclusive Sperre auf einer Server Resource

Ein Benutzer führt eine Datei-Übertragung aus

Page 41: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

41

EsprIT Weitere Server Features

Weitere Server Features

• Server-Prozesse (Zeitgesteuerte Hintergrund-Jobs)

• Alarm-Benachrichtigung an Administrator über Email

• Exclusive/Shared Sperren auf Server-Resourcen

• Datenbankverbindung mit Connection-Pool (parallele Transaktionen)

• Simultane Verbindungen zu mehreren Datenbanken(Direkter Daten-Transfer zwischen unterschiedlichen DB-Systemen)

Page 42: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

42

EsprIT BGR

BGR Bundesanstalt für Geowissenschaften und Rohstoffe, Hannover

Finite Elemente Analyse geologischer Prozesse

Page 43: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

43

EsprIT Anwendungsbeispiel I

INCA Projekt, BGR Hannover

Page 44: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

44

EsprIT Anwendungsbeispiel I

INCA Projekt, BGR Hannover, TimeHistory Tool

Page 45: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

45

EsprIT Anwendungsbeispiel II

HiLocate Projekt, ISA Telematics

Page 46: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

46

EsprIT Anwendungsbeispiel III

BDE-IS Project, Hydro Aluminium Hamburg

Page 47: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

47

EsprIT Key-Vorteile

Wichtigste Vorteile der EsprIT Client/Server Technologie

Echte Sessions aus Request/Response und Message KanalClient-Aktualisierung per Nachricht, kein Server-Polling erforderlich.Echtes Model-View-Controller Prinzip (MVC) über Netz

Höchstmögliche PerformanceEinfache Datenübertragung per Java-Serialisierung, stehende TCP Verbindung.Kein Overhead durch Daten-Konvertierungen (XML oder ähnl.)

Transaktionaler File-TransferZum Austausch großer Datenmengen, ClientServer, ServerServer

Sehr flexibles Agenten KonzeptAgenten als elegante Programmier-Schnittstelle

Alive Business Objects (ABOs)Mit automatischer, dynamischer Aktualisierung auf ClientsAlle Clients haben genau eine Sicht der Welt

Server Kaskadierung Ermöglicht Aufgabenteilung, Involvierung vieler Systeme, Filetransfers uvm...

Page 48: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

48

EsprIT Key-Vorteile II

Wichtigste Vorteile der EsprIT Server Technologie

Verkettung komplexer synchroner/asynchroner Operationen mit Agenten, ClientKommandos, Tasks, FileTransfersBeispiel: Client startet CAD System und erzeugt Input-DateiInput-Datei wird automatisch zum Zentral-Server übertragenZentral-Server macht Datenbankeintrag und überträgt weiter an Compute-Server Compute-Server startet Berechung und überträgt Zwischenergebnis an Zentral-ServerZentral-Server macht Datenbankeintrag und meldet Ergebnis an wartenden ClientClient holt Ergebnisdatei von Zentral-Server abClient startet CAD-System zur Darstellung des Ergebnisses...Alles in einem automatischen Ablauf, gesteuert durch den Workflow

Unabhängig vom Datenbanksystem (pure JDBC)

Unabhängig von Hardwareplattform (pure Java)

Äußerst vielfältige Anwendungsmöglichkeiten

Page 49: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

49

EsprIT Einsatzmöglichkeiten

Wo kann man den EsprIT Server einsetzen?

Der ideale Standard-Server für Rich-Client Unterstützung Für Entwicklung hochperfomanter Client/Server Anwendungen Beste Unterstützung für Clients...

...mit komplexer Funktionalität (mit Web-Clients schwer zu realisieren),

...die kurze Antwortzeiten haben müssen,

...die stets aktuelle Daten anzeigen müssen (Meßwerte, Aktienkurse, Fahrstrecken...)

EsprIT Server kann beobachten und kontrollieren:- Ausführung/Monitoring anderer Betriebssystem-Prozesse, Sensoren etc.

- Ausführung/Monitoring zeitgesteuerter Server-Prozesse

Server-Kaskadierung kann benutzt werden......zum Ausführen verschiedener Aufgaben auf verschiedenen Rechnern

...zur Überwachung der Aktivität anderer Rechner und deren Prozesse

Page 50: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

50

EsprIT Vergleich

EsprIT-Server

+ Preisgünstig

+ Wenig Wartungsaufwand

+ Kleine Lernkurve (standard Java)

+ Server-Kaskadierung möglich

+ Leichte Programmier-API (Agent)

+ Keine Einschränkung in Funktion

+ Client Benachrichtigung inklusive

+ Bestmögliche Performance (dual TCP, keine Konvertierung)

- Kein Clustering

Applikations-Server

- Relativ Teuer

- Hoher Wartungsaufwand

- Steile und hohe Lernkurve

- Keine Server-Kaskadierung

- Komplizierter Technologie-Mix

- Eingeschränkt auf EJBs

- Keine Client-Benachrichtigung

- Eingeschränkte Performance (RMI, SOAP, XML etc...)

+ Kann im Cluster arbeiten

EsprIT-Server oder Applikations-Server?

Page 51: Esprit Network Suite Ein Java Framework für Agenten-basierende Client/Server Programmierung

51

EsprIT

Kleine Firmen bauen einer Arche

Große Firmen bauen die Titanic