WebSphere Application Server: Übersicht und Schnellstart

Machen Sie sich mit dem Programmiermodell vertraut, verschaffen Sie sich einen allgemeinen Überblick über das Produkt, und Sie können schnell mit der Arbeit beginnen.

Das in diesem Produkt implementierte Programmiermodell für Anwendungen hat folgende Aspekte:
  • Java™-Spezifikationen und andere offene Standards für die Anwendungsentwicklung
  • Erweiterungen zum WebSphere-Programmiermodell für eine verbesserte Anwendungsfunktionalität
  • Container und Services im Anwendungsserver, die von implementierten Anwendungen genutzt werden und in einigen Fällen erweitert werden können

Die Abbildung zeigt die Installation eines einzelnen Anwendungsservers. Die Komponenten des Programmiermodells werden hier erläutert. Andere Komponenten umfassen die Produktarchitektur, unabhängig von den verschiedenen vom Programmiermodell umrissenen Anwendungstypen. Weitere Informationen hierzu finden Sie im Artikel Produktübersicht.

Anwendungsserverumgebung

Komponenten von Java EE-Anwendungen

Das Produkt unterstützt Anwendungskomponenten, die den Java EE-Spezifikationen (Java Platform, Enterprise Edition) entsprechen.
Webanwendungen werden im Web-Container ausgeführt

Der Web-Container ist der Abschnitt des Anwendungsservers, in dem Komponenten von Webanwendungen ausgeführt werden. Webanwendungen bestehen aus zusammengehörigen Servlets, JSP-Dateien (JavaServer-Pages-Technologie) und HTML-Dateien (Hyper Text Markup Language), die als Einheit verwaltet werden können. Kombiniert führen sie eine Geschäftslogikfunktion aus.

Der Web-Container verarbeitet Servlets, JSP-Dateien und andere Arten von Server Side Includes. Jede Anwendungsserverlaufzeit hat einen logischen Web-Container, der geändert, aber nicht erstellt oder entfernt werden kann. Jeder Web-Container bietet die folgende Funktionalität:
Web-Container-Transportketten
Anforderungen werden mit der Transportkette für eingehende Anforderungen an den Web-Container geleitet. Die Kette besteht aus einem TCP-Kanal für eingehende Anforderungen, der die Verbindung zum Netz bereitstellt, einem HTTP-Kanal für eingehende Anforderungen, der HTTP-Anforderungen bedient, und einem Web-Container-Kanal, über den Anforderungen, die sich auf Servlets und JSP-Dateien beziehen, zur Verarbeitung an den Web-Container gesendet werden.
Servletverarbeitung
Bei der Handhabung von Servlets erstellt der Web-Container ein Anforderungsobjekt und ein Antwortobjekt und ruft dann die Servlet-Servicemethode auf. Der Web-Container ruft dann die destroy-Methode des Servlets auf und entlädt das Servlet, anschließend führt die JVM die Garbage-Collection durch.

Servlets können Tasks wie die Unterstützung von dynamischen Webseiteninhalten ausführen, Datenbankzugriff bereitstellen, mehrere Clients gleichzeitig bedienen und Daten filtern.

Mit JSP-Dateien kann der HTML-Code von der Geschäftslogik auf Webseiten getrennt werden. IBM® Erweiterungen zur JSP-Spezifikation erleichtern HTML-Autoren, die keine Fachleute für Java-Programmierung sind, das Hinzufügen von Java-Technologie zu Webseiten.

Verarbeitung von HTML und anderen statischen Inhalten
Anforderungen nach HTML und anderen statischen Inhalten, die an den Web-Container geleitet werden, werden von der Kette für eingehende Anforderungen des Web-Containers bedient. In den meisten Fällen ist jedoch die Verwendung eines externen Web-Servers und Web-Server-Plug-ins als Front-End für den Web-Container besser für eine Produktionsumgebung geeignet.
Sitzungsverwaltung
Die Schnittstelle "javax.servlet.http.HttpSession" wird gemäß Beschreibung in der Servlet-API-Spezifikation unterstützt.

Eine HTTP-Sitzung besteht aus einer Reihe von Anforderungen, die ein Benutzer mit einem Browser an ein Servlet richtet. Mit Hilfe von Sitzungen können Anwendungen, die in einem Web-Container ausgeführt werden, Angaben zu einzelnen Benutzern protokollieren. Viele Webanwendungen ermöglichen Benutzern beispielsweise, beim Navigieren durch die Site ausgehend von Optionen, die sie auf besuchten Seiten auswählen, dynamisch Daten zu erfassen. Die vom Benutzer auf der Site ausgewählten Optionen können Einfluss darauf haben, welche Seite als nächste aufgerufen wird oder was als Nächstes auf der Site angezeigt wird. Die Anwendung speichert diese Daten zu Verwaltungszwecken in einer "Sitzung".

SIP-Anwendungen und ihr Container

SIP-Anwendungen sind Java-Programme, die mindestens ein SIP-Servlet (Session Initiation Protocol) verwenden. SIP wird verwendet, um Multimedia-IP-Sitzungen einschließlich IP-Telefonie, Präsenz und Instant Messaging zu erstellen, ändern und beenden.

Portletanwendungen und ihr Container

Portletanwendungen sind spezielle wiederverwendbare Java-Servlets, die als definierte Bereiche auf Portalseiten erscheinen. Portlets bieten Zugriff auf viele verschiedene Anwendungen, Services und Webinhalte.

EJB-Anwendungen, die im EJB-Container ausgeführt werden

Der EJB-Container, der alle für die Implementierung und Verwaltung von Enterprise-Beans erforderlichen Laufzeitservices bereitstellt. Er ist ein Serverprozess, der Anforderungen bezüglich Session- und Entity-Beans handhabt.

Enterprise-Beans sind Java-Komponenten, die in der Regel die Geschäftslogik von Java EE-Anwendungen implementieren und auf Daten zugreifen. Die Enterprise-Beans, die in EJB-Modulen gepackt und auf einem Anwendungsserver installiert sind, kommunizieren nicht direkt mit dem Server. Der EJB-Container ist eine Schnittstelle zwischen EJB-Komponenten und dem Anwendungsserver. Zusammen stellen der Container und der Server die Laufzeitumgebung von Enterprise-Beans bereit.

Der Container stellt zahlreiche untergeordnete Services bereit, zu denen unter anderem Threading- und Transaktionsunterstützung gehören. Aus Sicht der Verwaltung ist der Container für den Datenzugriff der enthaltenen Beans zuständig. Ein einzelner Container kann mehrere EJB-JAR-Dateien enthalten.

Clientanwendungen und andere Clienttypen

In einer Client/Server-Umgebung kommunizieren Clients mit Anwendungen, die auf dem Server ausgeführt werden. Der Begriff Clientanwendungen oder Anwendungsclients bezieht sich im Allgemeinen auf Clients, die gemäß einer bestimmten Gruppe von Java-Spezifikationen implementiert wurden und im Clientcontainer eines Java EE-konformen Anwendungsservers ausgeführt werden. Weitere Clients in der Umgebung von WebSphere Application Server sind Clients, die als Webanwendungen (Web-Clients), Clients von Web-Service-Programmen (Web-Service-Clients) und Clients der Produktsystemadministration (Verwaltungsclients) implementiert wurden.
Clientanwendungen und ihr Container
Der Clientcontainer wird separat vom Anwendungsserver auf der Clientmaschine installiert. Der Container ermöglicht dem Client, Anwendungen in einer EJB-kompatiblen Java EE-Umgebung auszuführen. Die Abbildung zeigt einen Java-Client, der im Clientcontainer ausgeführt wird.

Dieses Produkt bietet das praktische Tool "launchClient" zum Starten des Anwendungsclients, zusammen mit der Laufzeit des Clientcontainers.

Je nach der Quelle der technischen Informationen könnten Clientanwendungen auch als Anwendungsclients bezeichnet werden. In dieser Dokumentation sind die zwei Begriffe synonym.

Web-Clients (Web-Browser-Client)
Die Abbildung zeigt einen Web-Browser-Client, der auch einfach als Web-Client bezeichnet wird, der eine Anforderung an den Web-Container des Anwendungsservers stellt. Ein Web-Client oder Web-Browser-Client wird in einem Web-Browser ausgeführt und ist normalerweise eine Webanwendung.
Web-Service-Clients
Web-Service-Clients sind ein anderer Clienttyp, der in Ihrer Anwendungsserverumgebung vorhanden sein kann. Die Abbildung zeigt keinen Web-Service-Client. Die Web-Service-Informationen beinhalten Informationen zu diesem Clienttyp.
Verwaltungsclients
Das Diagramm zeigt zwei Arten von Verwaltungsclients: einen Scripting-Client und die Administrationskonsole, die die grafische Benutzerschnittstelle für die Verwaltung dieses Produkts darstellt. Beide greifen auf Teile der Infrastruktur für Systemverwaltung zu. Verwaltungsclients sind in dem Sinne, dass sie unabhängig von den auf dem Server installierten Anwendungsarten grundlegend gleich sind, Teil der Produktarchitektur. Da jedoch viele dieser Clients Programme sind, die Sie erstellen, werden sie der Vollständigkeit halber als Teil des Programmiermodells erläutert.

Weitere Informationen hierzu finden Sie im Artikel Verwaltungsclients verwenden.

Web-Services

Web-Services
Die Abbildung zeigt die Web-Service-Engine, die Teil der Web-Service-Unterstützung in der Laufzeit des Anwendungsservers ist. Web-Services sind eigenständige modulare Anwendungen, die über ein Netz beschrieben, veröffentlicht, gesucht und aufgerufen werden können. Sie implementieren eine serviceorientierte Architektur (SOA), die eine flexible und standardisierte Verbindung bzw. gemeinsame Nutzung von Ressourcen und Daten unterstützt. Services sind so beschrieben und organisiert, dass sie dynamisch und automatisiert erkannt und wiederverwendet werden können.

Das Produkt agiert als Web-Service-Provider und als Anforderer. Als Provider beinhaltet es Web-Services, die für Clients veröffentlicht werden. Als Anforderer beinhaltet es Anwendungen, die Web-Services von anderen Positionen aufrufen. Die Abbildung zeigt die Web-Service-Engine in dieser Eigenschaft, wie sie eine Verbindung zu einem Web-Service-Provider oder -Gateway herstellt.

Datenzugriff, Messaging und Java EE-Ressourcen

Datenzugriffsressourcen
Das Verbindungsmanagement für den Zugriff auf EIS (Enterprise Information Systems) im Anwendungsserver basiert auf der JCA-Spezifikation (Java EE Connector Architecture). Das Diagramm zeigt JCA-Services, die einer Anwendung beim Zugriff auf eine Datenbank helfen, in der die Anwendung Daten abruft und persistent speichert.

Die Verbindung zwischen der Unternehmensanwendung und dem EIS wird über Ressourcenadapter hergestellt, die vom EIS bereitgestellt werden und als Plug-ins in den Anwendungsserver integriert sind. Die Architektur spezifiziert das Verbindungsmanagement, das Transaktionsmanagement und die Sicherheitskontrakte zwischen dem Anwendungsserver und dem EIS.

Der Verbindungsmanager im Anwendungsserver (nicht dargestellt) erstellt Verbindungspools und verwaltet Verbindungen. Er kann Verbindungen verwalten, die über Ressourcenadapter (gemäß JCA-Spezifikation) und Datenquellen (gemäß Spezifikation JDBC 2.0 Extensions) hergestellt werden.

JDBC-Ressourcen (JDBC-Provider und -Datenquellen) sind Java EE-Ressourcen, die Anwendungen für den Datenzugriff nutzen. Für den Datenzugriff spielen zwar nicht nur JDBC-Ressourcen eine Rolle, in dieser Dokumentation wird der Datenzugriff zur Vereinfachung jedoch häufig in den Abschnitten zu Java EE-Ressourcen beschrieben.

JCA-Ressourcenadapter sind eine andere Art von Java EE-Ressourcen, die von Anwendungen verwendet werden. JCA definiert die Standardarchitektur für die Verbindung der Java EE-Plattform mit heterogenen EIS (Enterprise Information System). Nehmen Sie folgende Bedingungen an: ERP, Transaktionsverarbeitung auf Großrechnern, Datenbanksysteme und traditionelle Anwendungen, die nicht in der Programmiersprache Java geschrieben sind.

Der JCA-Ressourcenadapter ist ein Softwaretreiber auf Systemebene, der von EIS-Anbietern oder anderen Drittanbietern bereitgestellt wird. Er stellt die Konnektivität zwischen Java EE-Anwendungsservern oder -clients und einem EIS bereit. Wenn Sie einen Ressourcenadapter verwenden möchten, müssen Sie den Ressourcenadaptercode installieren und Konfigurationen erstellen, die diesen Adapter verwenden. Das Produkt stellt Ihnen einen relationalen Ressourcenadapter zur Verfügung.

Messaging-Ressourcen und Messaging-Engines
Durch die JMS-Unterstützung können Anwendungen JMS-Ziele (Warteschlangen oder Topics) verwenden, um Nachrichten asynchron mit anderen JMS-Clients auszutauschen. Mit nachrichtengesteuerten Beans können Anwendungen automatisch Nachrichten von JMS-Zielen und JCA-Endpunkten empfangen, ohne diese explizit abfragen zu müssen.

Für eingehende Anforderungen, die keine JMS-Anforderungen sind, verwenden nachrichtengesteuerte Beans einen für diesen Zweck geschriebenen JCA-1.5-Ressourcenadapter. Für das JMS-Messaging können nachrichtengesteuerte Beans einen JCA-Messaging-Provider verwenden, z. B. den Standard-Messaging-Provider des Produkts.

Die Messaging-Engine unterstützt die folgenden Typen von Nachrichtenprovidern.
Standard-Messaging-Provider (Service Integration Bus)
Der Standard-Messaging-Provider verwendet den Service Integration Bus für den Transport. Er stellt Punkt-zu-Punkt-Funktionen und Publish/Subscribe-Funktionen bereit. Innerhalb dieses Providers definieren Sie JMS-Verbindungsfactorys, die SIB-Zielen entsprechen.
IBM MQ-Provider
Sie können IBM MQ als externen JMS-Provider verwenden. Der Anwendungsserver stellt die JMS-Clientklassen und die Verwaltungsschnittstelle bereit, während IBM MQ das warteschlangenbasierte Messaging-System bereitstellt.
Generischer JMS-Provider
Sie können einen anderen Messaging-Provider verwenden, vorausgesetzt, er implementiert die ASF-Komponente der Spezifikation JMS 1.0.2. JMS-Ressourcen für diesen Provider können nicht mit der Administrationskonsole konfiguriert werden.
Übergang: Version 6 ersetzt das Konzept eines JMS-Servers der Version 5 durch eine in den Anwendungsserver integrierte Messaging-Engine und stellt die verschiedenen Providertypen, die zuvor erwähnt wurden, bereit. Der Messaging-Provider der Version 5 wird für die Konfiguration von Ressourcen bereitgestellt, die mit dem Feature Embedded Messaging der Version 5 verwendet werden sollen. Sie können den Standard-Messaging-Provider der Version 5 auch mit einem Service Integration Bus verwenden.

EJB 2.1 führt eine ActivationSpec für die Verbindung von Message-driven Beans und Zielen ein. Für die Kompatibilität mit Version 5 können Sie nachrichtengesteuerte JMS-Beans (EJB 2.0) für einen Listener-Port konfigurieren. Für diese Message-driven Beans stellt der Listener Service einen Listener Manager bereit, der einen oder mehrere JMS-Listener steuert und überwacht, die ein JMS-Ziel für eine implementierte MDBs überwachen.

Service Integration Bus

Der Service Integration Bus bietet eine einheitliche Kommunikationsinfrastruktur für Messaging- und serviceorientierte Anwendungen. Der Service Integration Bus ist ein JMS-Provider, der einen zuverlässigen Nachrichtentransport bietet und temporäre Logik verwendet, um den Nachrichtenfluss intelligent in das Netz einzupassen. Er unterstützt die Zuordnung von Web-Service-Anforderern und -Providern. Seine Funktionalität ist vollständig in die Produktarchitektur integriert, einschließlich Sicherheit, Sicherheitsverwaltung, Überwachung und Subsysteme zur Fehlerbestimmung.

Der Service Integration Bus wird oft einfach als Bus bezeichnet. Er wird auch als Messaging-Bus bezeichnet, wenn JMS-Anwendungen sich in ihm befinden. Er besteht aus den folgenden Komponenten (die bei diesem Detaillierungsgrad nicht im Diagramm angezeigt sind):
Busmember
Anwendungsserver, die zum Bus hinzugefügt werden.
Messaging-Engine
Die Komponente, die Busressourcen verwaltet. Sie stellt einen Verbindungspunkt für Clients bereit, über den sie Nachrichten produzieren oder konsumieren können.
Ziele
Der Bereich im Bus, an den Anwendungen angeschlossen werden, um Nachrichten auszutauschen. Ziele können Web-Service-Endpunkte, Punkt-zu-Punkt-Warteschlangen für Messaging oder Publish/Subscribe-Topics für Messaging sein. Sie werden in einem Bus erstellt und befindet sich in einer Messaging-Engine.
Nachrichtenspeicher
Jede Messaging-Engine verwendet eine Gruppe von Tabellen in einem unterstützten Datenspeicher (z. B. in einer JDBC-Datenbank), um Informationen wie Nachrichten, Subskriptionsdaten und Transaktionsstatus zu speichern.
Bei Aktivierung der SIB-Web-Services können Sie folgende Aktionen ausführen:
  • Einen an einem Serviceziel verfügbaren internen Service als Web-Service bereitstellen
  • Einen externen Web-Service an einem Serviceziel bereitstellen
  • Das Web-Service-Gateway verwenden, um einen vorhandenen Service, einen internen Service oder einen externen Web-Service einem neuen Web-Service zuzuordnen, der vom Gateway bereitgestellt zu werden scheint.
Parallelität (Concurrency), E-Mail, URLs und andere Java EE-Ressourcen
Die folgenden Java EE-Ressourcen werden von Anwendungen genutzt, die von Anwendungen auf einem J2EE-konformen Anwendungsserver implementiert werden.
  • JDBC-Ressourcen und andere Technologien für Datenzugriff (wie oben beschrieben)
  • JCA-Ressourcenadapter (wie oben beschrieben)
  • JMS-Ressourcen und andere Formen der Messaging-Unterstützung (wie oben beschrieben)
  • Parallelitätsressourcen zum Übergeben oder Planen von Tasks, die parallel ausgeführt werden, zum Erstellen von Threads, die Java EE-Kontext erben und zum Übertragen von Java EE-Kontext an Schnittstellenaufrufe wie z. B. asynchrone Callbacks
  • JavaMail-Unterstützung, damit Anwendungen Internet-Mails verschicken können

    Die JavaMail-APIs bieten eine Plattform und ein protokollunabhängiges Framework für die Erstellung Java-basierter Mail-Clientanwendungen. Sie erfordern Service-Provider, die als Protokollprovider bezeichnet werden, um mit den Mail-Servern zu interagieren, die mit diesen Protokollen arbeiten.

    Ein Mail-Provider kapselt eine Sammlung von Protokollprovidern einschließlich SMTP (Simple Mail Transfer Protocol) für das Senden von Mails, POP (Post Office Protocol) für das Empfangen von Mails und IMAP (Internet Message Access Protocol) als weitere Option für das Empfangen von Mails. Zur Verwendung eines anderen Protokolls müssen Sie den entsprechenden Service-Provider für das Protokoll installieren.

    Zusätzlich zu Service-Providern erfordert JavaMail das JavaBeans Activation Framework (JAF) für die Bearbeitung komplexer Datentypen, die nicht ausschließlich aus Text bestehen, wie z. B. MIME (Multipurpose Internet Mail Extensions), URL-Seiten und Dateianhänge.

  • URLs zum Beschreiben logischer Speicherpositionen

    URL-Provider implementieren die Funktionalität für ein bestimmtes URL-Protokoll, z. B. HTTP, um die Kommunikation zwischen der Anwendung und einer von einem bestimmten Protokoll bereitgestellten URL-Ressource zu ermöglichen. Für alle URL-Ressourcen mit Protokollen, die auf der unterstützten Spezifikation Java Platform, Standard Edition (Java SE) basieren, wird ein Standard-URL-Provider wie HTTP, FTP oder File bereitgestellt. Sie können auch Ihre eigenen URL-Provider einbinden, die zusätzliche Protokolle implementieren.

  • Ressourcenumgebungseinträge für die Zuordnung logischer Namen zu physischen Namen

    Die java:comp/env-Umgebung bietet einen einzelnes Verfahren, mit dem sowohl JNDI-Namespace-Objekte als auch Objekte der lokalen Anwendungsumgebung lokalisiert werden können. Das Produkt bietet standardmäßig verschiedene lokale Umgebungseinträge.

    Die Java EE-Spezifikation stellt auch ein Verfahren für die Definition von Kundenumgebungseinträgen bereit, indem sie Einträge im Standardimplementierungsdeskriptor einer Anwendung definiert. Die Java EE-Spezifikation verwendet die folgenden Methoden, um die Definition des Ressourcenumgebungseintrags von der Anwendung zu trennen.
    • Den Anwendungsserver anweisen, ein Verfahren für die Definition gesonderter Verwaltungsobjekte bereitzustellen, die einen Ressourcenumgebungseintrag einbinden. Die Verwaltungsobjekte sind über JNDI im lokalen Namespace des Anwendungsservers verfügbar (java:comp/env).
    • Den JNDI-Lookup-Namen des Verwaltungsobjekts und den erwarteten Rückgabetyp angeben. Diese Spezifikation wird im oben genannten Ressourcenumgebungseintrag im Implementierungsdeskriptor umgesetzt.
    Das Produkt unterstützt die Verwendung von Ressourcenumgebungseinträgen mit den folgenden Verwaltungskonzepten.
    • Ein Ressourcenumgebungseintrag definiert das Bindungsziel (JNDI-Name), die Factoryklasse und den Typ des Rückgabeobjekts (über den Link zu einem referenzierbaren Objekt) des Ressourcenumgebungseintrags.
    • Ein referenzierbares Objekt definiert den Klassennamen der Factory, die Objektinstanzen, die eine Java-Schnittstelle implementieren, zurückgeben.
    • Ein Ressourcenumgebungsprovider fasst das referenzierbare Objekt, die Ressourcenumgebungseinträge und alle erforderlichen angepassten Eigenschaften zusammen.

Sicherheit

Programmiermodell und Infrastruktur für Sicherheit
Das Produkt stellt eine Sicherheitsinfrastruktur und Sicherheitsmechanismen für den Schutz sensibler Java EE-Ressourcen und Verwaltungsressourcen sowie für die End-to-End-Sicherheitsanforderungen von Unternehmen an die Authentifizierung, die Steuerung des Ressourcenzugriffs, die Datenintegrität, die Vertraulichkeit, den Datenschutz und die sichere Interoperabilität bereit.

Die Sicherheitsinfrastruktur und Sicherheitsmechanismen schützen, abgestimmt auf die Sicherheitsanforderungen Ihres Unternehmens, Java EE- und Verwaltungsressourcen. Im Gegenzug arbeitet die Sicherheitsinfrastruktur dieses Produkts mit der vorhandenen Sicherheitsinfrastruktur des mehrschichtigen Gerüsts für Enterprise-Datenverarbeitung. Basierend auf einer offenen Architektur bietet das Produkt zur Gewährleistung einer durchgängigen Sicherheit zahlreiche Plug-in-Punkte für die Integration von Enterprise-Softwarekomponenten.

Die Sicherheitsinfrastruktur beinhaltet ein Programmiermodell und Elemente der Produktarchitektur, die vom Anwendungstyp unabhängig sind.

Zusätzliche Services für Anwendungen

Benennung und Verzeichnis
Jeder Anwendungsserver stellt einen Namensservice bereit, der seinerseits einen JNDI-Namespace (Java Naming and Directory Interface) bereitstellt. Der Namensservice registriert Ressourcen, die sich auf dem Anwendungsserver befinden. Die JNDI-Implementierung basiert auf einem CORBA-Namensservice (CosNaming).

JNDI gewährleistet den clientseitigen Zugriff auf den Namensservice und stellt das von Anwendungsentwicklern verwendete Programmiermodell dar. CosNaming ermöglicht die serverseitige Implementierung und ist die eigentliche Speicherposition für den Namespace. JNDI stellt im Wesentlichen einen clientseitigen Wrapper des in CosNaming gespeicherten Namespace bereit und interagiert für den Client mit dem CosNaming-Server.

Clients des Anwendungsservers rufen über die Naming-Architektur Referenzen auf Objekte mit Bezug zu diesen Anwendungen ab. Die Objekte werden in eine größtenteils hierarchische Struktur eingebunden, die als Namespace bezeichnet wird. Der Namespace besteht aus einer Reihe von Namensbindungen. Diese Namensbindungen sind Namen mit Bezug zu einem bestimmten Kontext und zu dem mit diesem Namen eingebundenen Objekt. Ein Name-Server kann auf den Namespace zugreifen und diesen manipulieren.

Das Produkt stellt die folgenden Naming- und Verzeichnis-Features bereit:
  • verteilter Namespace für zusätzliche Skalierbarkeit
  • temporäre und persistente Partitionen für Bindungen in verschiedenen Geltungsbereichen
  • Namespacestruktur, die sich auf mehrere Server erstreckt
  • konfigurierte Bindungen für das Definieren von Bindungen durch das System beim Serverstart
  • Unterstützung für URLs von CORBA-INS-Objekten (Interoperable Naming Service)

Beachten Sie, dass das Produkt mit dem Virtual Member Manager, der hinzugefügt wurde, um eingebundene Repositorys zwecks Produktsicherheit zu unterstützen, jetzt umfassendere und höher entwickelte Funktionen zur Identitätsverwaltung bietet als vorher, insbesondere in Kombination mit anderen WebSphere- und Tivoli-Produkten.

ORB (Object Request Broker)
Das Produkt verwendet für das Management der Interaktion zwischen Client- und Serveranwendungen sowie zwischen Produktkomponenten einen ORB. Ein ORB verwendet IIOP, um Clients zu ermöglichen, in einer verteilten Netzumgebung Anforderungen abzusetzen und von Servern zu empfangen.

Der ORB stellt ein Gerüst bereit, mit dem Clients Objekte im Netz finden und Operationen für diese Objekte aufrufen können, als würden sich die fernen Objekte in demselben aktiven Prozess wie der Client befinden. Der ORB bietet somit Positionstransparenz.

Obwohl nicht im Diagramm dargestellt, wird der ORB an dem Punkt eingesetzt, wo der Clientcontainer den EJB-Container für einen Java-Client kontaktiert.

Transaktionen
Teil des Anwendungsservers ist der Transaktionsservice. Das Produkt bietet hoch entwickelte Transaktionsfunktionen an, die Anwendungsentwicklern helfen, selbst definierte Codierungen zu vermeiden. Es bietet Unterstützung für die vielen Herausforderungen, die mit der Integration vorhandener Softwareressourcen in eine Java EE-Umgebung verbunden sind. Zu dieser Unterstützung gehören unter anderem ActivitySessions.

Im Server ausgeführte Anwendungen können mit Transaktionen mehrere Ressourcenaktualisierungen so als eine Arbeitseinheit koordinieren, dass alle Aktualisierungen permanent ausgeführt werden oder keine der Aktualisierungen permanent ausgeführt wird. Transaktionen werden von Anwendungen oder von dem Container, in dem die Anwendungen implementiert sind, gestartet und beendet.

Der Anwendungsserver ist ein Transaktionsmanager, der die Koordinierung von Ressourcenmanagern unterstützt und sich an verteilten globalen Transaktionen anderer konformer Transaktionsmanager beteiligt.

Wenn keine Unterstützung für verteilte Transaktionen erforderlich ist, kann der Server für die Interaktion mit Datenbanken, JMS-Warteschlangen und JCA-Connector über deren lokale Transaktionsunterstützung konfiguriert werden.

Wie Anwendungen Transaktionen verwenden, hängt wie folgt vom Typ der Anwendungskomponente ab:
  • Eine Session-Bean kann ihre Transaktionen selbst verwalten oder die Verwaltung von Transaktionen an den Container delegieren.
  • Entity-Beans verwenden containergesteuerte Transaktionen.
  • Webkomponenten, z. B. Servlets, verwenden Bean-gesteuerte Transaktionen.
Das Produkt führt Transaktionen mit den folgenden Komponenten aus.
  • Ein Transaktionsmanager unterstützt die Auflistung wiederherstellbarer XA-Ressourcen und stellt sicher, dass alle diese Ressourcen am Ende einer Transaktion oder nach einem Ausfall und Neustart des Anwendungsservers konsistent sind.
  • Ein Container verwaltet die Auflistung von XA-Ressourcen für implementierte Anwendungen, wenn er transaktionsorientierte Ressourcenmanager (z. B. Datenbanken) aktualisiert. Optional kann der Container die Transaktionsgrenzen von EJB-Anwendungen, für die Enterprise-Beans für containergesteuerte Transaktionen konfiguriert sind, steuern.
  • Eine API führt Bean-gesteuerte Enterprise-Beans und Servlets aus und erlaubt diesen Anwendungskomponenten, die Begrenzung ihrer eigenen Transaktionen zu steuern.

WebSphere-Erweiterungen

WebSphere-Erweiterungen sind die Vorteile des Programmiermodells, von denen Sie beim Kauf dieses Produkts profitieren können. Die Erweiterungen repräsentieren führende Technologien für die Verbesserung der Anwendungsfunktionalität und -leistung. Darüber hinaus beschleunigen sie die Programmierung und die Implementierung und machen diese produktiver.

Außerdem können Ihre Anwendungen auch das Eclipse Extension Framework nutzen. Ihre Anwendungen sind erweiterbar, sobald Sie einen Erweiterungspunkt definieren und Code für die Verarbeitung von Erweiterungen für den erweiterbaren Bereich der Anwendung bereitstellen. Sie können auch eine Anwendung in eine andere erweiterbare Anwendung integrieren, indem Sie eine Erweiterung definieren, die die Anforderungen des Zielerweiterungspunkts berücksichtigt. Der Erweiterungspunkt kann die neu hinzugefügte Erweiterung dynamisch ermitteln, und die neue Funktion wird nahtlos in die vorhandene Anwendung eingefügt. Sie basiert auf einem Cross-Java EE-Modul (Java Platform Enterprise Edition). Die Registry für Anwendungserweiterungen verwendet das Format des Eclipse-Plug-in-Deskriptors und APIs (Anwendungsprogrammierschnittstellen) als Standarderweiterungsmethode für WebSphere-Anwendungen. Entwickler, die WebSphere-Anwendungsmodule erstellen, können mit Erweiterungen von WebSphere Application Server Eclipse-Tools implementieren und Plug-in-Module bereitstellen, die Funktionalität an vordefinierten Erweiterungspunkten in der WebSphere-Anwendung, z. B. Aktionen, Tasks, Menüpunkte und Links, beisteuern. Weitere Informationen zu diesem Feature finden Sie im Artikel Registry für Anwendungserweiterungen.

Die verschiedenen WebSphere-Erweiterungen und die Application Services, die diese Erweiterungen in der Laufzeit des Anwendungsservers unterstützen, können in drei Gruppen unterteilt werden: Erweiterungen für das Geschäftsobjektmodell, Erweiterungen für das Geschäftsprozessmodell und Erweiterungen für die Erstellung von Anwendungen der nächsten Generation.

Erweiterungen für das Geschäftsobjektmodell

Erweiterungen zum Geschäftsobjektmodell arbeiten mit Geschäftsobjekten, z. B. mit EJB-Anwendungen.
Erstellung von Anwendungsprofilen
Die Erstellung von Anwendungsprofilen ist eine WebSphere-Erweiterung für das Definieren von Strategien für eine dynamische Steuerung von Parallelität, Vorabzugriff und Vorauslesen.

Der Service für die Erstellung von Anwendungsprofilen und Zugriffsarten (Application Profiling) bietet eine flexible Methode für die Optimierung des Anwendungsdurchsatzes bei Enterprise-Beans, ohne dass dies Auswirkungen auf Quellcode hat. Verschiedene Enterprise-Beans und selbst verschiedene Methoden in einer Enterprise-Bean können eine eigene Zugriffsart für Ressourcen haben. Die Profilerstellung für Komponenten auf der Basis der Zugriffsart erhöht den Durchsatz in der Laufzeit des Anwendungsservers.

Dynamische Abfrage
Die dynamische Abfrage ist eine WebSphere-Programmierungserweiterung für eine bisher unerreichte Anwendungsflexibilität. Mit dieser Erweiterung können Sie dynamisch Abfragen erstellen und übergeben, die in der Laufzeit Berechnungen für Anwendungsdaten auswählen, sortieren, verknüpfen und ausführen. Der dynamische Anfrageservice bietet die Möglichkeit, Abfragen in EJB-Abfragesprache in der Laufzeit zu übergeben. Dadurch kann das feste Codieren der erforderlichen Abfragen in Implementierungsdeskriptoren während der Anwendungsentwicklung entfallen.

Die dynamische Abfrage stellt eine Verbesserung für Enterprise-Beans dar, da der Client in der Laufzeit angepasste Abfragen zu EJB-Komponenten ausführen kann. Bis jetzt wurden während der Entwicklung EJB Lookups und Feldzuordnungen implementiert, deren Änderung weitere Entwicklungsschritte und eine erneute Assemblierung erforderte.

Dynamischer Cache
Der dynamische Cache-Service verbessert den Durchsatz durch das Zwischenspeichern der Ausgaben von Servlets, Befehlen und JSP-Dateien. Dieser Service innerhalb des Anwendungsservers fängt Aufrufe an zwischenspeicherbare Objekte ab und speichert die Ausgabe des Objekts oder stellt den Inhalt des Objekts aus dem dynamischen Cache bereit.

Java EE-Anwendungen haben ein hohes Aufkommen an Lese- und Schreibvorgängen und können im Datenfluss nur kurze Latenzzeiten tolerieren. Der dynamische Cache schafft hier die Möglichkeit einer deutlichen Verbesserung der Serverantwortzeit, des Durchsatzes und der Skalierbarkeit.

Zu den Features gehören unter anderem die Cachereplikation zwischen Clustern, die Cacheauslagerung auf Platte, ESI-Caching sowie externes Caching (die Fähigkeit, Caches außerhalb des Anwendungsservers zu steuern, z. B. den Cache Ihres Web-Servers).

Erweiterungen für das Geschäftsprozessmodell

Die Erweiterungen für das Geschäftsprozessmodell stellen Verarbeitungs- und Ablauffunktionen sowie Services für den Anwendungsserver bereit. Nutzen Sie diese Erweiterungen zusammen mit der Geschäftsintegrationsunktionalität.
ActivitySessions
ActivitySessions sind eine WebSphere-Erweiterung, die die Handhabung von Regeln für das Festschreiben und von Einschränkungen für Ressourcen mit einphasiger Festschreibung weniger komplex gestaltet.

ActivitySessions können den Geltungsbereich mehrerer lokaler Transaktionen erweitern und diese Transaktionen gruppieren. So können sie ausgehend von Implementierungskriterien oder über explizite Programmlogik festgeschrieben werden.

Web-Services
Web-Services sind eigenständige modulare Anwendungen, die über ein Netz beschrieben, veröffentlicht, gesucht und aufgerufen werden können. Sie implementieren eine serviceorientierte Architektur (SOA), die eine sehr flexible und standardisierte Verbindung oder gemeinsame Nutzung von Ressourcen und Daten unterstützt. Services sind so beschrieben und organisiert, dass sie dynamisch und automatisiert erkannt und wiederverwendet werden können.

Erweiterungen für das Erstellen von Anwendungen der nächsten Generation

Erweiterungen der nächsten Generation können in Anwendungen genutzt werden, die spezifische Erweiterungen erfordern. Diese Erweiterungen ermöglichen die Entwicklung der nächsten Generation durch Einsatz von Innovationen zu den aktuellen Java EE-Standards. Dadurch kann die Steuerung der Anwendungsentwicklung, der Ausführung von Anwendungen und des Anwendungsdurchsatzes in bisher nicht für möglich gehaltenem Maße verbessert werden.
Asynchrone Beans
Asynchrone Beans werden nicht weiter unterstützt und werden durch Concurrency Utilities for Java EE ersetzt.

Asynchrone Beans ermöglichen die gemeinsame Ausführung von Einzeltasks und so Durchsatzverbesserungen bei ressourcenintensiven Tasks. Mit den asynchronen Zeitplanungsfunktionen können Parallelverarbeitungsanforderungen zu einem festgelegten Zeitpunkt im "Stapelbetrieb" verarbeitet werden. Das Produkt bietet volle Unterstützung für die asynchrone Ausführung und das asynchrone Aufrufen von Threads und Komponenten innerhalb des Anwendungsservers. Der Anwendungsserver stellt den Ausführungs- und Sicherheitskontext für die Komponenten bereit und macht diese so zu einem integralen Bestandteil der Anwendung.

Startup-Beans
Startup-Beans erlauben die automatische Ausführung von Geschäftslogik beim Starten oder Stoppen des Anwendungsservers. Diese Beans können beispielsweise genutzt werden, um anwendungsspezifische Caches vorab zu füllen, Verbindungspools auf Anwendungsebene zu initialisieren oder andere anwendungsspezifische Initialisierungs- und Abschlussprozeduren auszuführen.
Objektpools
Objektpools sind ein effektives Mittel für die Verbesserung des Anwendungsdurchsatzes in der Laufzeit, da sie die Wiederverwendung mehrerer Instanzen von Objekten ermöglichen. Diese Wiederverwendung reduziert den Systemaufwand, der mit der Instanziierung, Initialisierung und Garbage Collection von Objekten verbunden ist. Wenn ein Objektpool erstellt wird, kann eine Anwendung eine Instanz eines Java-Objekts abrufen und diese Instanz in den Pool zurückstellen, wenn sie nicht mehr benötigt wird.
Internationalisierung
Der Service zur Internationalisierung (Internationalization Service) ist eine WebSphere-Erweiterung zur Verbesserung der Produktivität von Entwicklern. Mit diesem Service können Sie automatisch die Zeitzone und die landesspezifischen Einstellungen des aufrufenden Clients erkennen, so dass Ihre Anwendung entsprechend reagieren kann. Mit Hilfe dieser Technologie können Sie jedem Benutzer weltweit Daten mit korrekter Datums- und Zeitangabe, mit den entsprechenden Währungs- und Sprachinformationen sowie dem korrekten Datums- und Dezimalformat bereitstellen.
Scheduler
Der Scheduler-Service ist eine Erweiterung für die WebSphere-Programmierung, mit der Aktionen zu bestimmten Zeiten oder in bestimmten Zeitabständen gestartet werden. Dieser Service hilft Ihnen, die IT-Kosten zu senken und durch maximale Auslastung vorhandener IT-Ressourcen die Geschwindigkeit und Reaktionsfähigkeit von Anwendungen zu verbessern. Der Scheduler Service ermöglicht eine Parallelverarbeitung von Arbeitslasten, das Definieren von bestimmten Transaktionen mit hoher Priorität und die Verlegung weniger zeitkritischer Tasks in belastungsarme Zeiten nach Geschäftsschluss.
Arbeitsbereiche
Arbeitsbereiche sind eine WebSphere-Erweiterung zur Verbesserung der Produktivität von Entwicklern. Die Funktionalität von Arbeitsbereichen ist mit der von "globalen Variablen" vergleichbar, die eine Lösung für die Über- und Weitergabe von Kontextinformationen zwischen Anwendungskomponenten bieten.

Arbeitsbereiche ermöglichen eine effiziente gemeinsame Nutzung von Informationen über eine verteilte Anwendung. Es könnte beispielsweise sinnvoll sein, Profildaten hinzuzufügen, sobald ein Kunde Ihre Anwendung aufruft. Wenn Sie diese Daten in einen Arbeitsbereich stellen, stehen sie in der gesamten Anwendung zur Verfügung. Eine Datenbanklösung oder das Lesen und Schreiben von Datenbankdaten muss somit nicht mehr manuell codiert werden.


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=welc6productov
Dateiname:welc6productov.html