Entering content frame

Component documentation General Architecture Locate the document in its SAP Library structure

Purpose

In SAP J2EE Engine 6.20, every session bean that existed on the server was a Web service. It was not possible to specify a particular enterprise bean and enable only this bean as a Web service. Unlike 6.20, from the following 6.30 version there is a strong definition of the contents and scope of the Web service. There are several required entities that describe it. All of them are generated by the SAP NetWeaver Developer Studio. There are only a few scenarios where you would need to edit one of these descriptors, but there is plenty of information provided how to do this.

Features

Web Service Implementation

This entity is the actual logic behind each Web service. The supported implementation types are enterprise session beans, Java classes, and Enterprise Portal services.

Web Service Interface Part

The interface part is the abstract information required for a Web service. It does not depend on the underlying transport, transport binding or protocol implementations. The two entities that enable this abstraction are the Virtual Interface (VI) and Web Service Definition (WSD). Based on them, the WSDL interface part (types, message and port-type sections) can be generated and published in a UDDI. Both entities are defined by the Web service developer, since he or she is aware of the implementation logic, but does not care about the actual binding information, required for exposing the Web service.

Virtual Interface

The VI is an abstract interface defined over the original endpoint interface (remote interface, in the case of session beans). The value added by this entity is:

·        Inclusion and/or exclusion of operations

·        Modifying operation names

·        Modifying parameter names

·        Inclusion and/or exclusion of parameters and adding default values for excluded parameters

·        Modifying parameter types

·        Providing additional information for the XML representation of the types

It is possible to have several VIsfor the same session bean. In this way it is possible to define several views of the same component for different customers.

Web Service Definition (WSD)

The WSD is an abstract definition of the capabilities and requirements of the Web service. The Web service developer describes them in terms of features and properties. During the Web service configuration, the Web service deployer has to map these abstract (also called design-time) features to real (deploy-time or runtime) features. These features, and the runtime features mapped to them, are the basis for a Web service client. Based on them, the framework knows what protocols will be required by the client to invoke a given Web service. Each WSD references a virtual interface and there may be multiple WSDs for each VI.

Web Service Binding Part

This part binds an abstract Web service to particular transports, bindings and protocols. Defining it is a responsibility of the Web service deployer. He or she has knowledge of the system landscape where this concrete Web service is to be deployed and needs to define the actual connection to it. The entities that make up the binding part are the Web service and the Web service configuration. Using these two entities, the WSDL binding and the service parts are generated.

Web Service

The Web service entity does not have a lot of definition content or many requirements. It references a WSD, and is a container for the Web service configurations. Multiple Web services can be defined for each WSD.

Web Service Configuration

This entity defines the following issues:

·        Which transport binding will be used

·        Which design time feature will be mapped to which runtime feature. Runtime features are implemented by the transport binding and the protocols, so this mapping depends on the actual selected transport binding (if some feature is supported by the transport binding, then a protocol is not needed to support it)

·        Security configuration

·        Target address

·        Documentation for the operations in this configuration

Each configuration is mapped to a WSDL binding. If it has a target address, then also a WSDL port is exposed in the WSDL service element.

 

See also:

 

·        Server-Side General Architecture

·        Client-Side General Architecture

Leaving content frame