# WebSphere

WebSphere ist eine Produktlinie des Unternehmens IBM, die unterschiedliche Software für Anwendungsintegration, Infrastruktur (z. B. Transaktionen und Warteschlangen) und eine integrierte Entwicklungsumgebung umfasst.
Bekannte WebSphere-Produkte sind unter anderem:
* WebSphere Application Server
* WebSphere Portal Server (siehe auch → Portlet)
* Web Experience Factory (früher WebSphere Portlet Factory)
* WebSphere MQ (früher MQSeries)
* WebSphere Studio Application Developer
* WebSphere Process Server
* WebSphere Integration Developer
* WebSphere Service Registry und Repository

## WebSphere Application Server

Sehr oft wird der WebSphere Application Server (WAS) auch einfach mit WebSphere bezeichnet. Bei diesem Application Server handelt es sich um eine Laufzeitumgebung für Jakarta-EE-Anwendungen (damals Java Enterprise Edition). Üblicherweise werden diese als EAR (Enterprise Application Archive) bzw. WAR (Web Application Archive) gepackt. EAR- und WAR-Dateien sind mit dem Werkzeug „jar“ (Java Archive) gepackte Dateien, die zum Beispiel Folgendes enthalten.
* in Bytecode übersetzte Java-Klassen (erkennbar an der Dateiendung „*.class“),
* JSP (Java Server Pages), das sind HTML-ähnliche Dateien, die Servlets erzeugen,
* Metadaten (zum Beispiel Konfigurationsdateien) und
* sogenannte Deployment-Descriptoren, das sind in XML geschriebene Konfigurationsdateien.
Diese Komponenten werden in einer definierten Verzeichnisstruktur mehrfach ineinander verpackt. Die EAR-Datei wird im Applikationsserver „entfaltet“ (deployed), eine Art von Installation der Anwendung.
Websphere unterstützt das von IBM entwickelte Protokoll Lightweight Third-Party Authentication für Single Sign-on.
Das Command Line Interface für automatisierte Konfigurations- und Deploymentvorgänge (wsadmin) kann mit den Sprachen Jython oder JACL bedient werden.

### Versionen

Neben den Unterscheidungen in der Versionsnummer, die hauptsächlich die Implementierungen von höheren Jakarta EE oder JDK kennzeichnen, werden auch zusätzliche Unterscheidungen im Funktionsumfang durch den Namen gekennzeichnet. So existierten in der Version 4 eine Standard, eine Advanced und eine Enterprise Edition. In der Version 5 wurde zwischen WAS Express, WAS (ohne Namenszusatz), WAS ND und WAS Enterprise unterschieden. Abgesehen von der Express Ausgabe, die keinen EJB-Container implementiert hat, beziehen sich die sonstigen Unterschiede größtenteils auf die Skalierbarkeit. Von November 2005 bis 2013 bot IBM zusätzlich eine Community Edition an, die auf dem Apache Geronimo Server aufsetzte. Seit 2017 ist WebSphere Liberty die kommerzielle Version des freien Open Liberty.

#### WebSphere Application Server 3.5 (seit August 2000)

    Bis einschließlich 3.5 war WebSphere noch weit vom J2EE-Standard entfernt. Beispielsweise war es notwendig, vor dem eigentlichen Deployment die EAR-Datei mit einem Werkzeug namens „jetace“ zu bearbeiten. Außerdem wurden die Deployment-Deskriptoren von WebSphere größtenteils ignoriert. WAS 3.5 implementiert erstmals eine produktiv einsetzbare Lastverteilung. Die Serverprozesse werden „Clones“ genannt und im „Servermodel“ zusammengefasst.

#### WebSphere Application Server 4.0 (seit August 2001)

    Der erste WebSphere, der die Spezifikation Jakarta EE erfüllt. Die Administration erfolgte immer noch über eine Swing-Anwendung, die mit der Serverkomponente über CORBA kommuniziert. Das „Servermodel“ wurde in „Servergroup“ umbenannt. Sessionpersistenz wird nur bei Anbindung einer Datenbank angeboten.

#### WebSphere Application Server 5.0 (seit Januar 2003)

    Basiert auf J2EE 1.3 und JDK 1.3. Die Architektur von WAS 5.0 ist mittlerweile sehr komplex. Man unterscheidet zum Beispiel zwischen den Verwaltungsprozessen namens „Deploymentmanager“ und „Nodeagent“ sowie den eigentlichen Serverprozessen, in denen die Anwendungen laufen. Die „Servergroup“ heißt nun „Server Cluster“. Sessionpersistenz wird nun auch über TCP/IP-Kommunikation ermöglicht. Die Administration erfolgt nun über eine Webanwendung.

#### WebSphere Application Server 5.1 (seit Januar 2004)

    Basiert auf J2EE 1.3 und JDK 1.4.

#### WebSphere Application Server 6.0 (seit Februar 2005)

    Basiert auf J2EE 1.4 und JDK 1.4.

#### WebSphere Application Server 6.1 (seit Juni 2006)

    Basiert auf J2EE 1.4 und JDK 5.

#### WebSphere Application Server 7 (seit September 2008)

    Basiert auf Java EE 5 und JDK 6.

#### WebSphere Application Server 8 (seit Juni 2011)

    Basiert auf Java EE 6 und unterstützt OSGi.

#### WebSphere Application Server 9 (seit Juni 2016)

    Basiert auf Java EE 7 und Java SE 8

## WebSphere Portal Server

Der WebSphere Portal Server (kurz WPS; oder WP, falls man die Mehrdeutigkeit mit dem WebSphere Process Server vermeiden will) ist IBMs Portal-Lösung. Dabei handelt es sich um ein Web-basiertes User-Interface, das flexibel angepasst und personalisiert werden kann. Es ist dafür gedacht, ein einheitliches Frontend mit flexibler Anbindung von verschiedensten Backend-Systemen schnell herzustellen (Serviceorientierte Architektur, kurz SOA). IBM hat maßgeblich die beiden im Portal-Umfeld relevanten Standards, den Java Portlet Standard, JSR 168, sowie WebServices for remote Portlets, WSRP, initiiert. Im Jahr 2008 sind von beiden Standards neue Versionen vollendet worden, JSR 286 sowie WSRP 2.0.
Das WebSphere Portal, Version 6.0, gibt es in verschiedenen Versionen
* als Portal Express für kleinere bis mittlere Unternehmen, Abteilungsserver und ähnliches,
* als Portal Server, die skalierbare Basis-Version,
* als Portal Enable mit einigen Erweiterungen wie WebContent Management, RAD etc. (eingeschränkte Lizenzen)
* sowie Portal Extend, das den gesamten Funktionsumfang durch Bundling verschiedener weiterer Produkte zulässt, wie Sametime, Domino, Forms und andere.
Mitte 2008 wurde die Version 6.1 fertiggestellt. Es gibt mehrere Verbesserungen und Änderungen, wobei ein wesentlicher Punkt die erweiterten Web-2.0-Fähigkeiten zur einfachen Erstellung von Benutzerschnittstellen dafür war. Dazu gibt es die WebSphere Portlet Factory, mit der man aus Portlets integrierte Anwendungen auf dem Portal Server erstellen kann. Für die Verwaltung von Webinhalten, das Content-Management, gibt es einen WebContent Manager.
Auch die verfügbaren Softwarepakete ums Portal herum haben sich geändert, es werden jetzt auch industriespezifische Beschleuniger (Accelerators) angeboten, die für bestimmte Einsatzzwecke und Fähigkeiten vorkonfektioniert sind.
Der IBM WebSphere Portal Server gehört zur IBM-Lotus-Sparte (Lotus Software), die sich innerhalb der IBM auf den Endbenutzerbereich fokussiert. Er bleibt aber weiterhin Teil der Websphere-Produktfamilie, die für Integration und Middleware steht, weil das Portal in beide Kategorien fällt.

## WebSphere MQ

WebSphere MQ ist das Nachfolgeprodukt von MQSeries. Es handelt sich dabei um eine Message Oriented Middleware, die die üblichen Middlewarefunktionalitäten implementiert, zum Beispiel Transaktionen. In der Praxis wird MQ dazu eingesetzt, asynchron über Systemgrenzen hinweg zu kommunizieren. Es dient dabei zur Lastverteilung und erlaubt es, Systeme anzusprechen, die nicht direkt per RPC/SOAP etc. aufgerufen werden können. Dabei bietet MQ die Möglichkeit, transaktional und gesichert zu kommunizieren („push and forget“). Der MQ-Client ist für fast alle marktüblichen Betriebssysteme verfügbar (Solaris, AIX, z/OS, Windows, Linux, …).

## WebSphere Process Server

Der WebSphere Process Server (kurz WPS) ist ein transaktionales Workflow-Management-System, das von IBM für die Implementierung Serviceorientierter Architekturen (SOA) angeboten wird.

## WebSphere Studio Application Developer (WSAD)

WSAD ist das Nachfolgeprodukt von IBM Visual Age for Java. WSAD basiert auf Eclipse und bietet vor allem spezielle Erweiterungen für den WebSphere Application Server. Zu erwähnen ist die lokale Testumgebung für den Entwickler. Diese erlaubt das übliche Debugging innerhalb der implementierten Serverprozesse. Außerdem wird WSAD mit einem kleinen Profiler ausgeliefert und es gibt Wizards zum Beispiel für das Paketieren der fertigen EAR-Dateien, für das Editieren von JavaServer Pages, für die Erstellung von Enterprise JavaBeans (EJB) und vieles mehr. Viele Eclipse-Plugins sind ebenfalls in WSAD lauffähig. Ab Version 6.0 entwickelt IBM den WSAD unter dem Namen Rational Application Developer (RAD) weiter.