!--a11y-->
Implementing the Server Abstraction
Layer 
The server abstraction layer describes – as the name suggests - the Web Dynpro runtime services on an abstract level. This makes it possible to also provide different server platform implementations.
Web Dynpro supports a server abstraction layer implementation that is based on the J2EE Engine and the Web Dynpro container as the underlying server technology. The Web Dynpro container is a service of the J2EE Engine, which supports the deployment of the Web Dynpro applications and in which Web Dynpro applications and Web Dynpro components are executed at runtime. The J2EE Engine provides a service interface that enables you to bind a new J2EE service to the J2EE Engine as a plug-in. The following paragraph explains the archive structure of a Web Dynpro archive and the deployment descriptor of a Web Dynpro application, which is deployed in the Web Dynpro container.
A Web Dynpro application is deployed as a Web Dynpro archive. A Web Dynpro archive is a zipped file with the extension .wda, which represents a specific internal structure that is defined by the Web Dynpro container. The Software Deployment Manager (SDM) can only deploy a Web Dynpro applicaiton if its WDA file is packed into an EAR file.
A Web Dynpro archive comprises the following content:
·
Public Web resources
Web resources are public for the J2EE Engine – that means that they can
be addressed by a URL. In the Web-Dynpro archive, all contents that are not
located in the directory PORTAL-INF are defined as Web
resources.
·
Private Resources
Private resources of a Web Dynpro application are data such as metadata
information about the application, configuraiton files, the deployment
descriptor, or the binary code of the application and imported libraries. In
the Web-Dynpro archive, all contents that are not located in the directory
PORTAL-INF are defined as Web resources.
The Web Dynpro contents (metadata, configuration data, etc.) are stored in the
directory PORTAL-INF/webdynpro. The binary code of
the application is located in PORTAL-INF\classes. Additional libraries,
which can be imported into a Web Dynpro project as JAR files, can be found
under PORTAL-INF/lib.
The public and the private resources of the Web Dynpro contents are subdivided into different areas within Web Dynpro.
·
Application area
The resources for this area are located in the relative directory
Applications.
·
Component area
The resources for this area are located in the relative directory
Components.
·
Configuration area
The resources for this area are located in the relative directory
Configurations.
·
Component interface
area
The resources for this area are located in the relative directory
Interfaces.
·
Area of deployable
objects
Resources within the deployable object area are all resources that are not
located in any of the four areas mentioned.
The deployment descriptor is located in the Web-Dynpro archive under PORTAL-INF/portalapp.xml. It lists the applications, components, component interfaces, and configurations in the WDA file. The deployment descriptor also defines all references that are required for the execution of the Web Dynpro application. These references refer to resources that were not deployed within the Web Dynpro application. The J2EE Engine recognizes various types of deployable entities, such as services, libraries, interfaces and applications. A Web Dynpro application can also define the following types of references, depending on the above types:
·
Services
The ServicesReference
entry specifies the
reference to a service of the J2EE Engine.
The name specified here must be a
valid service that can be deployed on the J2EE Engine. If the specified
service is not known on the J2EE Engine, the Web Dynpro application cannot be
started after deployment. This is the case if a defined reference cannot be
triggered at runtime.
·
Applications
The SharingReference
entry specifies the
reference to a J2EE application and applications that contain EJBs or portal
applications and portal services. The entry must begin with the prefix
PORTAL: for referenced portal applications and services,
for example SharingReference=PORTAL:<Name of the portal
application>.
As for ServiceReferences, the name specified under SharingReference must be a valid application that is deployed on the
J2EE Engine. If the J2EE Engine does not know the specified application, you
cannot start the referencing Web Dynpro application after deployment. This is
the case if a defined reference cannot be triggered at runtime.
·
Libraries
The LibrariesReference entry specifies the reference to a library in the
J2EE Engine. As for ServiceReferences, the name specified under LibrariesReference must be a valid library that is deployed on the
J2EE Engine. If the J2EE Engine does not know the specified library, you
cannot start the referencing Web Dynpro application after deployment. This is
the case if a defined reference cannot be triggered at runtime.
·
Interfaces
The InterfacesReference
entry specifies the
reference to an interface of the J2EE Engine. As for ServiceReferences, the name specified under InterfacesReference must be a valid interface that is deployed on the
J2EE Engine. If the J2EE Engine does not know the specified interface, you
cannot start the referencing Web Dynpro application after deployment. This is
the case if a defined reference cannot be triggered at runtime.
·
JCo clients
The JCOReference entry specifies which JCo clients are to be used.
The JCo clients must be maintained in the configured SLD.
SAPNetWeaver Developer Studio provides an editor for defining these references. You can call the editor by right-clicking a Web Dynpro project and choosing the context menu item Properties.

You can use this editor to define the corresponding name value pairs.

Note that the specified names of the references must correspond to the names of the deployed entities on the J2EE Engine. If the references cannot be resolved at runtime, the application cannot be started.
When the Web Dynpro archive is created (for example by calling Create Archive in the SAP NetWeaver Developer Studio), the deployment descriptor portalapp.xml is automatically generated by the SAP NetWeaver Developer Studio.
The deployment descriptor portalapp.xml is located in the directory structure of the Package Explorer under /gen_wdp.
The Software Delivery Manager (SDM) allows the deployment of a Web Dynpro application. Since the Software Delivery Manager does not directly support the deployment of a Web Dynpro archive – that is, a WDA file -, the WDA file must be packed in an EAR file at first. The SAP NetWeaver Developer Studio selects Create Archive.
For further information about deployment, refer to Deployment: Putting It All Together.
You can use the following address
http://<server>:<port>/webdynpro/dispatcher/<name of the deployable object>/<name of the Web Dynpro application>
to call the Web Dynpro application in the browser and then execute it.
