# SAP NetWeaver Application Server

Der SAP NetWeaver Application Server (früher auch SAP Web Application Server) ist Teil von SAP NetWeaver und stellt die Basis der meisten SAP-Produkte dar. Er unterteilt sich in einen ABAP- (früher SAP R/3-Basis) und einen Jakarta EE-Applikationsserver. Beide Teile (Stacks) sind sowohl einzeln als auch gemeinsam installierbar. Im Falle einer integrierten Installation (ABAP und Java, auch Dual-Stack genannt) verwendet der Java-Stack das Benutzermanagement des ABAP-Stacks. Außerdem werden automatisch Kommunikationsverbindungen zwischen den Stacks erstellt. Hier spricht man von Java Connector, abgekürzt JCo.
Allerdings sind Dual-Stack (ABAP und Java mit einer SID) Installationen bis auf einige Ausnahmen (z. B. SAP Solution Manager bis Version 7.1, SAP Process Integration) nicht mehr von SAP unterstützt. SAP bietet für aktuelle Dual-Stack-Installationen ein Splitting-Tool an, mit welchem man solche Instanzen (z. B. für ein Upgrade) trennen kann.
Der Anwendungsserver stellt eine Laufzeitumgebung und Middleware für die entsprechende Programmierumgebung ABAP oder Java dar, die unter anderem die Zugriffe auf die Datenbank und das Betriebssystem übernimmt. So läuft ein ABAP- oder Java-/NetWeaver-Programm unabhängig von der Datenbank oder dem Betriebssystem.

## Geschichte der Namen

* SAP-BASIS (bis 4.6D)
* SAP Web Application Server 6.20
* SAP Web Application Server 6.30 (ABAP + J2EE, Neuerung: eigenes DB-Schema für die J2EE-Instanz), nicht ausgeliefert
* SAP Web Application Server 6.40 (ABAP, Java)
* SAP NetWeaver Application Server 7.00 (ABAP, Java)
* SAP NetWeaver Application Server 7.10 (ABAP, Java)
* SAP NetWeaver Application Server 7.20 (nur Java)
* SAP NetWeaver Application Server 7.30 (ABAP, Java)
* SAP NetWeaver Application Server 7.4 (ABAP, Java)
* SAP NetWeaver Application Server 7.5 (ABAP, Java)
* SAP NetWeaver Application Server for ABAP 7.51 Innovation package
* SAP NetWeaver Application Server for ABAP 7.52

## SAP Web Application Server für Java / SAP NetWeaver Application Server Java

Der SAP Web Application Server Java bzw. NetWeaver Application Server Java basiert auf und unterstützt das Java-Referenzmodell (J2EE) je nach Version (das JAVA JDK wird mittlerweile von SAP direkt ausgeliefert, es kommen keine Versionen mehr von Oracle oder IBM zum Einsatz):
| SAP Version | unterstützte Java Version |
| 6.20 | 1.3 |
| 6.40 | 1.3 |
| 7.0 | 1.4 (SAP JVM 4.1) |
| 7.1 | 5 (SAP JVM 5) |
| 7.2 | 5 (SAP JVM 5) |
| 7.30 | 6 (SAP JVM 6) |
| 7.4 entspricht 7.3.1.9 | 6 (SAP JVM 6) |
| 7.5 | 8 (SAP JVM 8.1) |
Darin enthalten ist auch die Web-Dynpro-Technologie zur Erstellung von Web-Frontends sowie das SAP proprietäre OpenSQL for Java. Entwickler können damit SQL-Statements unabhängig von dem SAP Web Application Server zugrundeliegenden Datenbanksysteme (bzw. der einzelnen Datenbankschemata) schreiben.
SAP liefert außerdem das SAP NetWeaver Developer Studio, eine auf Eclipse basierende integrierte Entwicklungsumgebung und Basis für viele Java-basierte Anwendungen der SAP (z. B. SAP NetWeaver Portal).
Zur Verwaltung von Entwicklungsumgebungen dient die NetWeaver Development Infrastructure (NWDI), die aus den Komponenten Design Time Repository (Verwaltung der Quellcodes), Component Build Service (zentraler Buildservice) und Change Management Service (Transport von Entwicklungen innerhalb eines sog. Development-Tracks) besteht.
Weiterhin wird mit dem System Landscape Directory die technische Systemlandschaft unter anderem durch einen Softwarekatalog verwaltet.

## SAP Web Application Server ABAP / SAP NetWeaver Application Server ABAP

Der SAP Web Application Server ABAP bzw. NetWeaver Application Server ABAP ist der Applikationsserver (und damit Ablauf- und Entwicklungsumgebung) für die SAP-eigene Programmiersprache ABAP und die darin geschriebenen Anwendungen. Der Server ist direkter Nachkomme der SAP Basis, die wiederum den abgetrennten technischen Anteilen (Abstraktion von Datenbanksystem, Betriebssystem und Netzwerk; Entwicklungsumgebung, Transportwesen usw.) des SAP R/3 entspricht (genau genommen: zuzüglich der modulübergreifenden Funktionsanteile, wie sie im R/3 zu finden sind). Daher ist er Grundlage für viele SAP Applikationen (z. B. SAP ERP, speziell der Komponente SAP ECC). Es gibt eine Unterstützung für Web-Services, insbesondere durch Integration des ITS. Weiterhin gibt es Support für Adobe Print Forms und Adobe Offline Forms.
Beide Server verwenden den Enqueue-Server zur zentralen Verwaltung von logischen Sperren, während der Ausführung von Transaktionen und den Message-Server für die Cluster-Verwaltung und Verteilung von Anfragen.

## Administration

* Transaktionen via SAP GUI (nur ABAP)
* Profildateien (ABAP und Java)
* Datenbankadministration (ABAP und Java), Datenbanksystem-abhängig
* Visual Administrator (Java, bei gestartetem Applikationsserver bis Version 7.1)
* Configtool (Java, auch bei gestopptem Applikationsserver)
* Netweaver Administrator (Java, Administrations-Weboberfläche seit NW04 SPS12, statt Visual Administrator ab 7.2)
* System Landscape Directory (u. a. zur Pflege von verbundenen Systemen, Softwarekomponenten und Namensräumen)
* JCo – zur Verbindung von Web-Dynpro-Anwendungen mit SAP R/3 Systemen
* CMS (Java, Einrichtung der Transportlandschaft für Entwicklungen)
* SAP Solution Manager (separates System zur Verwaltung)

## Funktionsweise (Web-Zugriffe)

Anfragen (Requests) an den SAP Web Application Server können von HTML-basierten Seiten, die mit Hilfe von Web Dynpro erstellt wurden, XML-basierten Messages, Webservices oder einer Reihe weiterer Quellen eingehen.
SAP Application Server akzeptiert die Informationen aus diesen Anfragen und übergibt sie an Java- oder ABAP-basierte Programme die innerhalb des Servers laufen. Diese Programme können dann die empfangenen Daten verarbeiten. Dabei können Werkzeuge und Komponenten verwendet werden, die spezielle Funktionen unterstützen wie z. B. Workflows, Archivierung u. a. Der Application Server fragt und legt Daten mit Hilfe von OpenSQL ab. Dies ermöglicht die einmalige Entwicklung von Software, die alle großen Datenbank-Hersteller gleichermaßen unterstützt.
Des Weiteren bietet der SAP Netweaver Application Server ab Version 6.40 die Möglichkeit über den SOA-Manager Daten über Webservices bereitzustellen oder zu konsumieren. Dies war in vorherigen SAP Versionen nur über das SAP proprietäre IDoc Protokoll möglich.

## Voraussetzungen

Der SAP Web AS kann auf einer großen Anzahl von Plattformen (Kombination aus Datenbanksystem und Betriebssystem) betrieben werden.
Datenbanken:
* Oracle
* DB2
* MaxDB
* MS SQL-Server
* Informix (nur ABAP, Unterstützung auslaufend)
* Sybase
* HANA
Betriebssysteme:
* die Unix-Derivate AIX, HP-UX, Linux (verschiedene CPU-Plattformen), Solaris und Tru64 UNIX
* Windows 2000 Server und dessen Nachfolger
* IBM System i5, eServer i5, eServer iSeries
* z/OS für IBM-Großrechner

## Lizenzen

Der SAP Web AS ist eine zentrale Komponente in diversen SAP-Systemtypen, die im Rahmen von Komplett-Paketen an Unternehmen verkauft werden. Für Privatpersonen sind diese Pakete nicht erhältlich.
Einige Ausgaben (unter Namen wie Mini-WAS oder Mini-Web-AS) wurden unter anderem als Buch-Beigabe (und damit zu geringen Kosten) verteilt. Diese können für bestimmte Zwecke genutzt werden, jedoch ohne die üblichen Wartungs- und Support-Ansprüche. Eine Alternative zu den ABAP-Buchbeigaben ist eine kostenlose Anmeldung im SDN (SAP Developer Network). Im Download-Bereich gibt es kostenlose SAP-Entwicklungsumgebungen vom ABAP-Stack bis zur Java-Standalone-Umgebung zum Testen. Diese Umgebungen sind sechs Wochen gültig und können anschließend verlängert werden.