SAP NetWeaver Application Server

SAP NetWeaver Application Server or SAP Web Application Server is a component of SAP NetWeaver which works as a web application server for SAP products.
All ABAP application servers including the message server represent the application layer of the multitier architecture of an ABAP-based SAP system. These application servers execute ABAP applications and communicate with the presentation components, the database, and also with each other, using the message server.

Architecture
The architecture of SAP Web Application Server can be separated into 5 areas:
 Presentation layer  In the presentation layer, the user interface can be developed with JavaServer Pages (JSP), Business Server Pages (BSP), or with Web Dynpro technology. The underlying business layer provides the business content in Java or ABAP.
 Business layer  The business layer consists of a J2EE certified run-time environment that processes the requests passed from the Internet Communication Manager (ICM) and dynamically generates the responses. The business logic can be written either in ABAP or in Java based on the J2EE standard. Developers can implement business logic and persistence with Enterprise JavaBeans (EJB) using the J2EE environment. Developers can also access the business objects of applications running in the ABAP environment to benefit from their business logic and persistence.
 Integration layer  The local integration engine is an integral part of SAP Web AS and allows instant connection to SAP NetWeaver Process Integration (SAP PI; formerly called SAP Exchange Infrastructure). The local integration engine provides messaging services that exchange messages between the components that are connected in SAP PI.
 Connectivity layer  The Internet Communication Manager (ICM) dispatches user interface requests to the presentation layer and provides a single framework for connectivity using various communication protocols. Currently, modules are available for Hypertext Transfer Protocol (HTTP), HTTPS (extension of HTTP running under the Secure Sockets Layer (SSL)), Simple Mail Transfer Protocol (SMTP), Simple Object Access Protocol (SOAP), and Fast Common Gateway Interface (FastCGI).
 Persistence layer  The persistence layer supports database independence and scalable transaction handling. Business logic can be developed completely independent of the underlying database and operating system. Database independence is also made possible by support for open standards. The database interface ensures optimized data access from within the ABAP environment through Open SQL. SAP propagates the outstanding capabilities of Open SQL for ABAP to Open SQL for Java and offers a variety of standard Application Programming Interfaces (APIs) to application programmers, such as SQLJ. Other technologies, such as Java Data Objects (JDO) and Container-Managed Persistence (CMP) for EJB, or the direct use of the Java Database Connectivity (JDBC) API, are also supported.

Security

Authentication
The SAP NetWeaver AS can accept multiple forms of authentication:
 SAP Logon Ticket with appropriate configuration.
 Other single sign-on technology that utilizes x.509 certificates and the combination of Secure Network Communications (SNC) and Secure Sockets Layer (SSL) for one standardize authentication platform.

Communications
The SAP NetWeaver Application Server's connectivity layer supports HTTPS which is required for encrypted communications via Secure Sockets Layer. It is possible to enable SSL using the SAP Cryptographic Library. If a company is running with traditional SAP systems that only uses RFC and DIAG protocols, Secure Network Communications is required for encrypted communications as well

See also
 Comparison of application servers
 Secure Network Communications
 Secure Sockets Layer
 x.509
 Single Sign-On

References

External links
 ABAP Development discussions, blogs, documents and videos on the SAP Community Network (SCN)
 SAP Netweaver Capabilities - Java Development discussions, blogs, documents and videos on the SAP Community Network (SCN)

Application Server
Web server software
Web server software programmed in Java