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

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Be.as WEB Technologie
Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
Einer der Dienste im Internet
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Multi-Server Shutdown
Datenbankzugriff im WWW (Kommerzielle Systeme)
SAP R/3 - Speichermanagement
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
JAVA RMI.
Introducing the .NET Framework
Projekt Web Engineering
Einführung MySQL mit PHP
Web-Anwendungsentwicklung à la MVC. Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
FQTQ ShowCase Prototyp einer Applikation zur Beratungsunterstützung.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
von Julia Pfander und Katja Holzapfel E 12/2
Entwicklung verteilter eingebetteter Systeme - Einführung
20:00.
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
PSI - Überblick und Szenarien
Warum brauche ich ein CMS – Content Management System?
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Systemaufbau / Komponenten
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
EsprIT 1 Übersicht in Bildern Framework zur Entwickung von Java Applikationen Client/Server, GUIs, Datenbank,
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Tools und Verfahren Steffen Krause Technologieberater Microsoft Deutschland GmbH
TWS/Graph HORIZONT Produktionsüberwachung für “TWS for z/OS”
Grundlagen: Client-Server-Modell
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
CGI (Common Gateway Interface)
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
PROCAM Score Alter (Jahre)
Management- und Web Services- Architekturen
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Esprit Database Suite Eine leistungsfähige Java-Persistzenzschicht zur einfachen Programmierung von Datenbankapplikation.
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
Das IT - Informationssystem
Datenanbindung in Webapplikationen
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Client-Server-Modell
SiLeBAT Sicherstellung der Futter- und Lebensmittelwarenkette bei bio- und agro-terroristischen (BAT)-Schadenslagen.
Enhydra Shark Workflow-Management Frank Aurich Markus Reisch.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Musterlösung IT-Struktur an Schulen © Zentrale Planungsgruppe Netze am Kultusministerium Baden-Württemberg Software-Verteilung mit ZENworks 4 Regionale.
->Prinzip ->Systeme ->Peer – to – Peer
Das IT - Informationssystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
ArcView als SDE - Client SDE Client inklusive! ArcViewGIS: ArcView GIS: Michael Jacobi ESRI GmbH ESRI EUROPEAN USER CONFERENCE.
Datenbanken im Web 1.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
EJB Architektur für große Web - Applikationen Gerald Weber
Mailserver IT-Zertifikat der Phil.-Fak.: Advanced IT Basics
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Web-Interface for Multi-FPGA Board Pamette
1.
 Präsentation transkript:

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

Deine Taten sind sinnlos wenn niemand davon erfährt 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 MVC & Alive Business Objects Workflows Esprit Client Funktionen Esprit Server Funktionen Server Kaskadierung Server Datenbankanbindung Key-Vorteile, Vergleich

Welt-Netzwerk

Web- oder Fat-Client? Web Server EsprIT Server Servlet JSPs JSF Struts Spring Html XML Taglibs PHP ASP PEARL CGI Web-Browser HTTP/HTML Web Server Web Client stateless unidirektional Was der Web-Server für Web-Clients... Java VM Java Objekt- Serialisierung EsprIT Server Rich Client Pure Java Agenten Alive Business Objects statefull bidirektional ...ist der EsprIT Server für Rich-Clients

Rückkehr der Rich-Clients Vorteile/Nachteile Web/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

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

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 Request EsprIT Server Client Datenbank Response

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 Client registriert sich für bestimmte Messages Message EsprIT Server Client Datenbank

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 transaktionale Up/Downloads von Dateien EsprIT Server Transfer Kanal Client Datenbank

Web Web Kanal - Integrierter Web-Server Zugriff auf HTML Dokumente, Bilder, etc. Client SW-Installation/SW-Aktualisierung per Java-Web-Start Web Bereich HTTP Request EsprIT Server Web Kanal Client Datenbank Html Bilder etc...

Runtime-Umgebung Austausch-Objekte (Agenten) ClientContext ServerContext

Ausführung executeOnServer() Agenten Lebenszyklus Agent als zwei-Welten Objekt Instantiierung im Client (ClientContext ctx) Transfer zum Server und Ausführung (ServerContext) Rücktransfer zum Client und Ergebnis-Verarbeitung MyAgent agent = new MyAgent(ctx); agent = agent.sendForExecution(); Result result = agent.getResult(); ClientContext ServerContext sendForExecution() Erzeugung new MyAgent(ctx) doBeforeSend() Ausführung executeOnServer() Ergebnis doOnResponseReceived() doOnMessageReceived()

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) Request Sync Client Datenbank Response

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 Request Client Datenbank Async Message

Parallel-Ausführung Parallel-Ausführung von Agenten auf Client und Server Asynchroner Agent wird teilw. synchron auf Server ausgeführt und sofort in Response zum Client geschickt (mit Teilergebnissen) Server startet asynchrone Ausführung des Agenten Client startet Postprozessing des Response-Agenten Server sendet fertigen Agenten in Message (mit Vollergebnis) Client postprozesst den erhaltenen Message-Agenten So findet gleichzeitiges Prozessing auf Server und Client statt Request Sync Client Datenbank Response Async Message

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 Request Client Datenbank Async Async Async Sequenz von Messages

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 kontrollieren Beispiel: Erzwungenes Beenden eines Clients Benutzer können Client-Kommandos zu anderen Clients schicken Client- Kommando Datenbank EsprIT Server Client

Fortschritts-Monitoring 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 Lokaler Thread Remote Thread Datenbank TaskEvent EsprIT Server Client Fortschritts-Monitoring

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 Client 1 Client-Nachricht EsprIT Server Client 2 Client 3 Integriertes Client Chat-Tool

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

Anwendungen schreiben II Programmierung von Anwendungen MyAgentXY ClientContext MyClientContext Custom Components ServerContext MyServerContext Eigene Komponenten Custom Components

MVC über Netz

Alive Business Objects "Lebende" Business Objekte, global zugreifbare Server-Objekte mit dynamischer Aktualiserung auf allen Clients - ohne deren Zutun Tank ... Datenbank Tank 5 EsprIT Server Tank 4 Ein Client modifiziert das Business-Objekt Alle Clients werden benachrichtigt und aktualisieren ihre Darstellung

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

Alive Business Objects III ABO Server-Cache ABOs werden auf Serverseite gecached für schnellen Zugriff ABO-Access-List Server weiß, welcher Client welches ABO im Zugriff hat und 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 ABO-Cache TrackABO GraphABO Client 2

ABO-Anwendung Anwendung bei Hydro Aluminium Hamburg Datenbank Client 1 Datenbank Vorher SQL Client 2 ABO Filter EsprIT Server Client 1 ABO-Cache Nachher Datenbank SQL ca. 1000 MFStateABOs Client 2

Fortschritts-Monitoring 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 Lokaler Thread Remoter Thread Datenbank TaskEvent EsprIT Server Client Fortschritts-Monitoring

Async Task Framework Robust kontrollierter Ablauf asynchroner Tasks

Workflows Workflows Kontrollierter Ablauf mehrerer asynchroner Tasks Incl. Remote-Tasks, File-Transfers, Stream-Downloads uva... Workflow Monitor zeigt geplante/laufende/erledigte Tasks

Server Sperren Server Resource Sperren Beliebige Server-Objekte können mit Zugriffssperre belegt werden SHARED mehrere Zugriffe erlaubt - schützt vor Löschen EXCLUSIVE nur ein Zugriff - schützt vor fremden Änderungen Sperren sind "geleased" Client muss eine Sperre regelmäßig retriggern Fä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)

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

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 Verbinden/Trennen Message LED Request LED Asynchrone Client Aktivität auf dem Server

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

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 erweitern Viele fertige Server-Komponenten verfügbar... ServerContext MyServerContext Eigene Komponenten

Server Profil Server Aktivitäts-Profil Beobachtbare Server-Statistiken

Integrierter WebServer HTML Dokumentation, Webservice, Classdownloading

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

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

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

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)

Finite Elemente Analyse geologischer Prozesse BGR BGR Bundesanstalt für Geowissenschaften und Rohstoffe, Hannover Finite Elemente Analyse geologischer Prozesse

Anwendungsbeispiel I INCA Projekt, BGR Hannover

Anwendungsbeispiel I INCA Projekt, BGR Hannover, TimeHistory Tool

Anwendungsbeispiel II HiLocate Projekt, ISA Telematics

Anwendungsbeispiel III BDE-IS Project, Hydro Aluminium Hamburg

Key-Vorteile Wichtigste Vorteile der EsprIT Client/Server Technologie Echte Sessions aus Request/Response und Message Kanal Client-Aktualisierung per Nachricht, kein Server-Polling erforderlich. Echtes Model-View-Controller Prinzip (MVC) über Netz Höchstmögliche Performance Einfache Datenübertragung per Java-Serialisierung, stehende TCP Verbindung. Kein Overhead durch Daten-Konvertierungen (XML oder ähnl.) Transaktionaler File-Transfer Zum Austausch großer Datenmengen, ClientServer, ServerServer Sehr flexibles Agenten Konzept Agenten als elegante Programmier-Schnittstelle Alive Business Objects (ABOs) Mit automatischer, dynamischer Aktualisierung auf Clients Alle Clients haben genau eine Sicht der Welt Server Kaskadierung Ermöglicht Aufgabenteilung, Involvierung vieler Systeme, Filetransfers uvm...

Key-Vorteile II Wichtigste Vorteile der EsprIT Server Technologie Verkettung komplexer synchroner/asynchroner Operationen mit Agenten, ClientKommandos, Tasks, FileTransfers Beispiel: Client startet CAD System und erzeugt Input-Datei Input-Datei wird automatisch zum Zentral-Server übertragen Zentral-Server macht Datenbankeintrag und überträgt weiter an Compute-Server Compute-Server startet Berechung und überträgt Zwischenergebnis an Zentral-Server Zentral-Server macht Datenbankeintrag und meldet Ergebnis an wartenden Client Client holt Ergebnisdatei von Zentral-Server ab Client 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

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

EsprIT-Server oder Applikations-Server? Vergleich EsprIT-Server oder Applikations-Server? 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

Kleine Firmen bauen einer Arche Große Firmen bauen die Titanic