
In today's world of Service-Oriented Architecture (SOA), companies need to quickly build up new, standardized, flexible, and innovative business processes that are easy to adapt to specific business situations and requirements. For this purpose, they need to define and to implement services that ensure reusability of business functionality and thus support enhanced agility in responding to market changes.
Enterprise services meet these requirements due to their characteristics. Up to now, companies have created and implemented not standardized services, one by one in a sophisticated development process. The implementation of such services was time-consuming and costly.
Service Implementation Workbench (SIW) enables you to create, implement, and re-create enterprise services quickly and easily in a semi-automated and guided process. It offers you a single point of entry for your service development. Thanks to systematic and simplified monitoring and guided mapping support it helps you to avoid additional monitoring overhead and recurring manual tasks during the whole development process and after implementation. By using standardized templates and reusable coding, it improves quality, speed, and harmonization of service implementations.
You can use SIW also with older SAP NetWeaver releases. To do so, you need special adapters for remote service generation. For more information, see note 1503479 (SIW-Adapter: Generate SIW Objects Remotely).
SIW supports different types of service creation processes, the outside-in approach (proxy-based service creation type Proxy-based) and the inside-out approach (API-based service creation type). For more information, see Services within SIW. The tool uses projects to organize the service implementation process. A project is based on a configuration and contains the specific data of this service.
To use SIW, you must ensure the following:
For each required service creation type, a corresponding configuration class must exist. Each configuration defines describes which objects are generated and describes them directly or by using code templates. You can check their availability in Customizing activity Define Configurations. You find this activity in Customizing in SAP NetWeaver Implementation Guide under or in the dialog of Service Implementation Workbench (transaction SIW) under . For more information, see under Dialog below in this document.
We deliver example configuration classes and the related code templates for SAP Business Suite.
You need development authorization to edit SIW projects and generate objects. The system checks the authorization object S_SIW_CFG. For more information, see its system documentation in transaction SU21.
We recommend to you to assign to the service implementation developer role of SIW (SAP_BC_SIW_DEV). For more information, see Roles within SIW.
For API-based service development
To use SIW for the creation of enterprise services, you must have established a remote function call (RFC) connection from your SIW system to the system where the ES Repository is located in.
In addition, you must have registered an RFC-connection in Customizing, if your backend system is different from the system in which SIW is located in.
You do both in Customizing activity Define Landscapes, which you find in Customizing in SAP NetWeaver Implementation Guide under or in Service Implementation Workbench (transaction SIW) under . For more information, see under Dialog below in this document.
To use SIW for the creation of enterprise services, you need the Enterprise Services Repository.
Depending on the service creation type, SIW supports you either during the whole process from service definition to service implementation and administration or only in some parts, as follows:
API-based Service Creation and Implementation (with ES Repository)
For this service creation type, SIW provides the following features:
Definition of the service signature
The service signature is based on an existing application programming interface (API) method that executes the business operation (for example a function module). The definition includes the generation of a draft signature and its manual refinement (mapping).
Generation of the service in the ES Repository System
This includes the creation of intermediate data types (IDTs), message types, service operations, and service interfaces.
Creation of ABAP proxies (including all proxy types) in the ABAP backend system
Guided mapping
SIW supports you to map ABAP Data Dictionary (DDIC) types to global data types (GDTs) and intermediate data types (IDTs). It offers name proposals for the ABAP proxy types for the mapping between the proxies and the data repository of the backend system (DDIC structures).
Generation of objects for service implementation in the ABAP Repository
Integrated Navigation to ES Repository
Integrated Navigation to the SPROXY transaction
You can use the SPROXY transaction also for testing your generated services.
For more information about the whole process of this service creation type, see Service Creation and Implementation (API-based).
Proxy-based Service Creation and Implementation
For this service creation type, SIW provides the following features:
Generation of objects for the service implementation
These objects are based on existing ABAP proxies.
Reading of service metadata
Integrated Navigation to SPROXY transaction
Integrated Navigation to the ES Repository
For more information about the process, see Service Creation and Implementation (Proxy-based)
Dialog
You can either edit your projects in the dialog or by using Application Programming Interfaces.
In the dialog all projects are organized in the project tree. For more information, see The Project Tree.
In the dialog, SIW offers you the following transactions:
Service Implementation Workbench (SIW) Transaction
Using this transaction you can do the following:
The Service Implementation Workbench transaction also offers you two different overviews:
Object Preview
SIW displays the information, which objects are to be generated within the corresponding project in the Object Preview.
Overview of all Generated Objects
SIW displays the information, which objects are already generated in the Generated Objects list.
SIW_Monitor Transaction
Using this transaction you can do the following:
Search for Projects or Objects by Attributes, ID or Name
The SIW Monitor transaction helps you to find projects on the basis of their objects, their attributes, and their project context variables.
Mass Monitoring
The SIW Monitor transaction enables you to monitor the current status of services (mapping status, overall status of the project, Unit test status) and to regenerate your service implementations for all service variants if you want to post-update them. You can either regenerate objects one by one or in a mass update, either in the dialog or by integrating the SIW Monitor report into your background processing.
Unit Tests
The SIW Monitor transaction executes ABAP unit tests if such checks are element of generated objects.
Automated Service Generation
The SIW Monitor report automatically generates services that do not have the status up to date, if you integrate it into your background jobs. This includes the creation of various types of ABAP repository objects, which coding slots you can manually implement afterwards. These adaptations are not overwritten by later regenerations. The system does not overwrite either new methods that you add to already generated classes.
If you delete a generated method and restart the generation of the corresponding project, the system creates this method again. Thus, it overwrites the deletion when you start the regeneration.
Customizing
Define Landscape
In this Customizing activity, you determine the names of the RFC destinations relevant to your landscape. You need to do this, if you want to perform remote service generation using Service Implementation Workbench. That is the case, if your backend system is different from the Service Implementation Workbench host system. For API-based services, you also need this Customizing activity to establish the connection to the ES Repository, also when working locally.
If you use remote function calls for your service generation, you can use the Check Landscapes report to check and to validate the RFC-connections of the selected landscape ID. The report checks the RFC connections between the Service Implementation Workbench (SIW) system and the corresponding backend systems of a project. The check comprises the RFC connection to Enterprise Services Repository (ES Repository), the main RFC connection for implementation, and the alternative RFC connection for implementation. You can start the Check Landscapes report in the menu tab of the Service Implementation Workbench (SIW) transaction under .
Define Configurations
In this Customizing activity, you determine configurations for your Service Implementation Workbench projects by entering a configuration ID and description, a configuration class, and the relevant landscape ID. The landscape ID is essential for remote generation.
Application Programming Interfaces (APIs)
In addition to the dialog transactions, SIW offers you two application programming interfaces to edit projects:
The IF_SIW_PROJECT_API interface allows you to handle multiple SIW projects and frameworks at the same time.
The IF_SIW_SERVICE_API interface allows you the complete automated maintenance of enterprise services.
For API-based services, you can only use these APIs, if a mapping populator is available and if the mapping is complete.
Transport
SIW automatically writes transport entries for the created service proxies or virtual interfaces, and for all generated or regenerated objects. If necessary, you can also transport whole SIW projects without the generated objects by using the SIW Monitor transaction.
With SIW you can define and implement services of the API-based service creation type. You cannot define enterprise services of the proxy-based service creation type within SIW. You must do this before outside SIW in the ES Repository or in another external tool.
For more information about Service-Oriented Architecture, see SAP Developer Network (SDN)
https://www.sdn.sap.com/irj/sdn/soa
.