Ein Application Server (Applikationsserver) ist ein Server für Anwendungsprogramme (Applikationen).
- Dies kann ein Server im LAN sein, der (statt reinen Fileserver-Diensten) von vielen Clients benutzte Anwendungen ausführt.
- Oder er führt in einer Three-Tier-Architektur (Drei-Schichten-Modell) die Anwendungslogik/Geschäftslogik eines Programms aus (z.B. SAP R/3®), vermittelt zu Datenbankservern und erlaubt den Anschluss vieler Clients.
- Oder es ist ein Web Application Server (WAS) für Webanwendungen, der für eine Internet- oder Intranet-Anbindung dynamisch HTML-Seiten erzeugt (oder Web Services per SOAP anbietet).
Web Services sind automatisierbare Dienste per Internet (oder Intranet),
die auffindbar, interpretierbar und benutzbar über allgemein akzeptierte und standardisierte Verfahren sind.
Inhalt
- Applikationsserver
- Applikationsserver-Erweiterungen
- Web Services mit SOAP
- Anwendungs-Szenario für Web Services mit SOAP
- Warum Java für Applikationsserver
- Weitere Informationen
Applikationsserver
- Anwendungen auf einem zentralen Application Server sind leichter wartbar
- Bei den Anwendern muss keine Software installiert werden, ein einfacher Webbrowser reicht
- Bei individuellen Lösungen kann anders als bei Standardsoftware das Benutzerinterface übersichtlicher gestaltet und genauer an die Aufgabe angepasst werden
- Zugriffe auf Datenbankinhalte und andere Informationen sind möglich, inklusive übersichtlicher Aufbereitung und grafischer Visualisierung
- Die Anwendungen sind netzwerkfähig, viele Benutzer können gleichzeitig arbeiten
- Die Benutzung kann auf bestimmte Anwendergruppen eingeschränkt werden
- Die Benutzung kann für bestimmte Anwender auch über das Internet oder mobil ermöglicht werden
- Die Realisierung ist sowohl mit kommerziellen als auch mit frei verfügbaren Open-Source-Produkten möglich
Applikationsserver-Erweiterungen
- Integration mit vorhandenen Legacy- oder ERP-Systemen, zum Beispiel SAP R/3® und mySAP®, wird erleichtert
- Der Applikationsserver kann mit allen üblichen Datenbanken verbunden werden,
die Informationen mehrerer Datenbanken können verknüpft werden
- Über eine Internetverbindung ist die Benutzung aus der Ferne möglich, auch für mobile Anwender; Zum Beispiel kann der Vertriebsmitarbeiter beim Kunden vor Ort exakte Angebote und Kalkulationen inklusive Lieferzeit erstellen und mit der Zentrale abgleichen
- Als Endgerät sind PC, Laptop, PDA, Smartphone und Handy möglich
- Auch größere verteilte Enterprise-Systeme mit Transaktionsmanagement, Sicherheitsmechanismen, Skalierung durch Load Balancing und Ausfallsicherheit per Failover sind realisierbar
Web Services mit SOAP
- Web Services sind automatisierbare Dienste per Internet (oder Intranet)
- Dabei kommunizieren Applikationen, es werden also nicht HTML-Seiten zu einem Webbrowser geschickt, die von einem Menschen betrachtet werden, sondern Programme tauschen Daten und starten auf entfernten Rechnern Funktionen
- Die weltgrößten Softwarehersteller haben sich auf Prozeduren und Protokolle für Web Services geeinigt, nämlich:
SOAP (Simple Object Access Protocol)
WSDL (Web Services Description Language)
UDDI (Universal Description, Discovery, and Integration)
- Dadurch wird standardisiert, wie auf entfernten Rechnern Funktionen aufgerufen werden und wie automatisierbarer Datenaustausch erfolgt
- Das Besondere an SOAP Web Services ist die allgemeine Akzeptanz,
Kommunikation ist sogar zwischen den beiden konträren Plattformen Sun / Java und Microsoft / .NET möglich
- Anwendungen mit SOAP-Schnittstelle lassen sich viel leichter kombinieren, als dies früher möglich war
- Kosten für Integrations-Middleware und EAI (Enterprise Application Integration) werden gesenkt
- Viele Web Services per SOAP werden bereits heute im Internet angeboten
- Viele große Anwendungen, wie zum Beispiel mySAP®, aber auch viele Office-Programme, wie zum Beispiel Microsoft Project 2002,
werden demnächst Web Services per SOAP unterstützen
- Per Web Services als Dienste angebotene Geschäftsprozesse sind Voraussetzung für moderne IT-Konzepte,
die zur Realisierung des agilen RTE (Real-time Enterprise) eine flexible
SOA (Service Oriented Architecture)
benötigen
- Problemlose Erweiterung zu anspruchsvollen Systemen mit:
+ HTTP-Load-Balancing zur Performancesteigerung und Skalierung
+ leistungsfähigem Web Server (z.B. Apache oder IIS) für bewährte Sicherheitsmechanismen
+ einem Directory Service zur Authentifizierung und Autorisierung, zum Beispiel
OpenLDAP (mit dem standardisierten Lightweight Directory Access Protocol),
Microsoft NT Domains bzw. Active Directory Service oder
Novell eDirectory
Anwendungs-Szenarios für Web Services mit SOAP
Beispiel Onlineshop
Ein Kunde möchte in einem Onlineshop Artikel bestellen.
Der Onlineshop ist in einen Applikationsserver realisiert.
Dieser Applikationsserver
- überprüft über den SOAP Web Service des Servers A, ob die angegebene Adresse gültig ist,
- verifiziert über den SOAP-Dienst B die Kreditkartennummer,
- ermittelt über den SOAP-Dienst C die für das jeweilige Land zu berechnenden Steuern (Umsatzsteuer, Luxussteuer, ...),
- erfragt beim SOAP-Dienst D tagesaktuelle Währungsumrechnungskurse, um den Endpreis korrekt berechnen zu können und
- zeigt dem Benutzer alle Ergebnisse gesammelt im Webbrowser an.
Beispiel Reisebüro-Applikationsserver
Der Reisebüroberater oder auch der Endkunde möchte eine Reise buchen.
Um nicht auf mehreren Websites die benötigten Informationen zusammensuchen zu müssen,
koordiniert dies ein Applikationsserver, den der Reisebüroberater oder der Endkunde direkt per Webbrowser befragen.
Der Applikationsserver
- fragt beim SOAP Web Service des Servers A, ob und bei welcher Fluggesellschaft ein Flug zu welchen Konditionen frei ist,
- erkundigt sich beim SOAP-Dienst B nach freien Hotelkapazitäten,
- bestellt beim SOAP-Dienst C einen Mietwagen am Urlaubsort,
- erfragt beim SOAP-Dienst D tagesaktuelle Währungsumrechnungskurse, um den Endpreis korrekt berechnen zu können und
- zeigt dem Benutzer alle Ergebnisse gesammelt im Webbrowser an.
Beispiel Integration
Immer wieder müssen müssen unterschiedliche Applikationen verbunden werden.
SAP R/3® und mySAP® wird per BAPI®, RFC und IDoc eingebunden, Microsoft Exchange und Office per COM und DCOM, viele Unix-Applikationen per CORBA und Enterprise JavaBeans per RMI.
In Zukunft können diese komplexen Integrationen mit Hilfe von standardisierten SOAP Web Services erheblich vereinfacht werden.
SOAP Web Services bieten auch optimale Voraussetzungen, wenn statt vieler einzelner Punkt-zu-Punkt-Verbindungen
EAI-Middleware (Enterprise Application Integration) geplant ist (siehe dazu EAI).
Warum Java für Applikationsserver
- Viele große Softwarehersteller bevorzugen Java, wie zum Beispiel IBM, Sun, Oracle und SAP®.
- Mit Java begibt man sich nicht in die Abhängigkeit von einem einzelnen Hersteller.
- Java wurde von vornherein für moderne Netzwerkanwendungen mit hohen Sicherheitsanforderungen konzipiert.
- Sowohl beim Kompilieren als auch beim Ausführen finden viele Überprüfungen statt, um stabilen Code zu gewährleisten.
Anders als bei anderen Programmiersprachen lassen sich diese Überprüfungen nicht einfach durch bestimmte Schlüsselworte umgehen.
- Zu vielen modernen Softwarekonzepten, wie etwa Web Services mit SOAP, gibt es in Java frühzeitig frei verfügbare Referenzimplementationen.
- Java ist nicht nur eine Programmiersprache, sondern definiert auch Plattformen und Laufzeitumgebungen.
Dadurch sind Anwendungen wirklich portabel und unverändert auf verschiedenen Betriebssystemen und Rechnerarchitekturen lauffähig.
- Java ist äußerst flexibel. Der Entwickler braucht nicht für jede Anwendung eine andere Programmiersprache zu lernen.
Java kann sowohl für Server-/Host-seitige Applikationen als auch für im Webbrowser ausgeführte Java-Applets verwendet werden.
Es ist (z.B. mit EJB, Enterprise JavaBeans) für große Enterprise-Applikationen ebenso wie (mit J2ME, Java 2 Micro Edition) für Handys und embedded Logik in kleinen Geräten geeignet.
- Java hat seine Kinderkrankheiten überstanden. Viel für Unternehmen kritische Geschäftslogik basiert bereits auf Java.
Weitere Informationen
Weitere Informationen zu den angesprochenen Themen:
Weitere Themen: andere TechDocs
| Webanwendungen
| SOAP
© 1998-2007 Torsten Horn, Aachen